国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

TensorFlow實現Logistic回歸

2020-02-15 22:54:58
字體:
來源:轉載
供稿:網友

本文實例為大家分享了TensorFlow實現Logistic回歸的具體代碼,供大家參考,具體內容如下

1.導入模塊

import numpy as npimport pandas as pdfrom pandas import Series,DataFramefrom matplotlib import pyplot as plt%matplotlib inline#導入tensorflowimport tensorflow as tf#導入MNIST(手寫數字數據集)from tensorflow.examples.tutorials.mnist import input_data

2.獲取訓練數據和測試數據

import ssl ssl._create_default_https_context = ssl._create_unverified_contextmnist = input_data.read_data_sets('./TensorFlow',one_hot=True)test = mnist.testtest_images = test.imagestrain = mnist.trainimages = train.images

3.模擬線性方程

#創建占矩陣位符X,YX = tf.placeholder(tf.float32,shape=[None,784])Y = tf.placeholder(tf.float32,shape=[None,10])#隨機生成斜率W和截距bW = tf.Variable(tf.zeros([784,10]))b = tf.Variable(tf.zeros([10]))#根據模擬線性方程得出預測值y_pre = tf.matmul(X,W)+b#將預測值結果概率化y_pre_r = tf.nn.softmax(y_pre)

4.構造損失函數

# -y*tf.log(y_pre_r) --->-Pi*log(Pi)  信息熵公式cost = tf.reduce_mean(-tf.reduce_sum(Y*tf.log(y_pre_r),axis=1))

5.實現梯度下降,獲取最小損失函數

#learning_rate:學習率,是進行訓練時在最陡的梯度方向上所采取的「步」長;learning_rate = 0.01optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

6.TensorFlow初始化,并進行訓練

#定義相關參數#訓練循環次數training_epochs = 25#batch 一批,每次訓練給算法10個數據batch_size = 10#每隔5次,打印輸出運算的結果display_step = 5#預定義初始化init = tf.global_variables_initializer()#開始訓練with tf.Session() as sess:  #初始化  sess.run(init)  #循環訓練次數  for epoch in range(training_epochs):    avg_cost = 0.    #總訓練批次total_batch =訓練總樣本量/每批次樣本數量    total_batch = int(train.num_examples/batch_size)    for i in range(total_batch):      #每次取出100個數據作為訓練數據      batch_xs,batch_ys = mnist.train.next_batch(batch_size)      _, c = sess.run([optimizer,cost],feed_dict={X:batch_xs,Y:batch_ys})      avg_cost +=c/total_batch    if(epoch+1)%display_step == 0:      print(batch_xs.shape,batch_ys.shape)      print('epoch:','%04d'%(epoch+1),'cost=','{:.9f}'.format(avg_cost))  print('Optimization Finished!')  #7.評估效果  # Test model  correct_prediction = tf.equal(tf.argmax(y_pre_r,1),tf.argmax(Y,1))  # Calculate accuracy for 3000 examples  # tf.cast類型轉換  accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))  print("Accuracy:",accuracy.eval({X: mnist.test.images[:3000], Y: mnist.test.labels[:3000]}))

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新晃| 揭阳市| 甘孜| 富源县| 交城县| 天台县| 宁津县| 光泽县| 正宁县| 江都市| 汝南县| 吉木乃县| 岱山县| 诏安县| 新安县| 霞浦县| 山西省| 青海省| 景泰县| 萨嘎县| 九龙坡区| 五指山市| 双鸭山市| 阜南县| 武功县| 弥渡县| 盐源县| 屏东市| 绥芬河市| 来安县| 崇信县| 化隆| 衡水市| 辽宁省| 肥东县| 景谷| 无极县| 林周县| 罗城| 呼玛县| 杨浦区|