xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 12KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-06
  • 語言: Python
  • 標簽: python??二分類??

資源簡介

使用tensorflow實現的神經網絡二分類,數據集為糖尿病化驗數據,其中前八列為特征,第九列為期望結果,準準確率81.75%,內有詳細的代碼注解,適合新手學習使用

資源截圖

代碼片段和文件信息

#?-*-?coding:?utf-8?-*-
“““
Created?on?Fri?Oct?26?14:56:45?2018

@author:?Fang
“““


import?tensorflow?as?tf
import?numpy?as?np
from?sklearn.preprocessing?import?StandardScaler?#標準化
from?sklearn.preprocessing?import?scale?#按行或列標準化
from?sklearn.preprocessing?import?Normalizer
from?sklearn.preprocessing?import?MinMaxScaler

def?load_data():
????‘‘‘
????加載訓練集和測試集,并將數據轉化為矩陣
????training_data???訓練集,包含461條數據
????test_data???????測試集,包含307條數據
????‘‘‘
????file1?=?‘diabetes_data.txt‘?
????p?=?open(file1)
????lines?=?p.readlines()
????n?=?len(lines)
????datamat?=?np.zeros((n9))
????row?=?0
????for?i?in?lines:
????????i?=?i.strip().split(‘‘)
????????datamat[row:]?=?i[:]
????????row?+=?1
????training_data?=?datamat[::]
????
????file2?=?‘diabetes_test.txt‘?
????p1?=?open(file2)
????line?=?p1.readlines()
????n1?=?len(line)
????datamat2?=?np.zeros((n19))
????row1?=?0
????for?i?in?line:
????????i?=?i.strip().split(‘‘)
????????datamat2[row1:]?=?i[:]
????????row1?+=?1
????test_data?=?datamat2[::]
????return?training_datatest_data

????#定義神經網絡的參數
????learning_rate?=?0.009??#學習率
????training_step?=?7000?#訓練迭代次數
????testing_step?=?6000?#測試迭代次數
????display_step?=?1000?#每多少次迭代顯示一次損失
????#定義輸入和輸出
????x?=?tf.placeholder(tf.float32shape=(None8)name=“X_train“)
????y?=?tf.placeholder(tf.float32shape=(None1)name=“Y_train“)
????#定義模型參數
????w?=?tf.Variable(tf.random_normal([81]stddev=1.0seed=1))
????b?=?tf.Variable(tf.random_normal([1]stddev=1.0seed=1))
????#定義神經網絡的前向傳播過程
????#Model?=?tf.nn.sigmoid(tf.matmul(xw)?+?b)
????Model?=?tf.nn.tanh(tf.matmul(xw)?+?b)
????#Model?=?tf.nn.relu(tf.matmul(xw)?+?b)
????“““
????對模型進行優化,將Model的值加0.5之后進行取整,
????方便測試準確率(若Model>0.5則優化后會取整為1,反之會取整為0)
????“““
????model?=?Model?+?0.5
????model?=?tf.cast(modeltf.int32)
????y_?=?tf.cast(ytf.int32)
????#Dropout操作:用于防止模型過擬合
????keep_prob?=?tf.placeholder(tf.float32)
????Model_drop?=?tf.nn.dropout(Modelkeep_prob)
????#損失函數:交叉熵
????cross_entropy?=?-tf.reduce_mean(y?*?tf.log(tf.clip_by_value(Model1e-101.0))+(1-y)?*?tf.log(tf.clip_by_value(1-Model1e-101.0)))
????“““
????優化函數
????即反向傳播過程
????主要測試了Adam算法和梯度下降算法,Adam的效果較好
????“““
????#優化器:使用Adadelta算法作為優化函數,來保證預測值與實際值之間交叉熵最小
????#optimizer?=?tf.train.AdamOptimizer(learning_rate).minimize(cross_entropy)
????#優化器:梯度下降
????optimizer?=?tf.train.GradientDescentOptimizer(learning_rate).minimize(cross_entropy)
????#加載數據and數據預處理

????#加載
????training_datatest_data?=?load_data()
????#訓練集
????X_train?=?training_data[::8]
????Y_train?=?training_data[:8:9]
????#測試集
????X_test?=?test_data[::8]
????Y_test?=?test_data[:8:9]
????#X_test_Mn?=?StandardScaler().fit_transform(X_test)
????b?=?MinMaxScaler()
????X_test_cen?=?b.fit_transform(X_test)
????#1、標準化
????#X_train_Mn?=?StandardScaler().fit_transform(X_train)
????#2、正則化?norm為正則化方法:‘l1‘‘l2‘‘max‘
????#X_train_nor?=?Normalizer(norm=‘max‘).fit_transform(X_train)??
????#3、歸一化(centering)
????a?=?M

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-19?10:08??基于tensorflow的二分類\
?????文件???????14268??2018-10-22?22:01??基于tensorflow的二分類\diabetes_data.txt
?????文件????????9507??2018-10-23?22:00??基于tensorflow的二分類\diabetes_test.txt
?????文件????????5931??2018-11-08?18:59??基于tensorflow的二分類\tf_2.py

評論

共有 條評論