1. 程式人生 > 實用技巧 >tensorflow2.0——程式碼實現一元邏輯迴歸

tensorflow2.0——程式碼實現一元邏輯迴歸

import tensorflow as tf
import numpy as np

x = np.array([1, 2, 3, 4])
y = np.array([0,0,1,1])
w = tf.Variable(1.)
b = tf.Variable(1.)
sigmodX = 1 / (1 + tf.exp(-(w * x + b)))                                    #   sigmod 函式
pre_result = tf.round(sigmodX)                                              #
將結果四捨五入 pre_result2 = tf.where(sigmodX < 0.9,1,0) # 閾值設定 pre_bool = tf.equal(pre_result,y) # 預測值四捨五入後與標記值對比,判斷預測是否正確 bool_int = tf.cast(pre_bool,tf.float32) # 將bool轉化為0,1 accuary = tf.reduce_mean(bool_int) #
對正確結果陣列求平均值就是準確率 loss = -(y * tf.math.log(sigmodX) + (1 - y)* tf.math.log(1 - sigmodX)) # 每個樣本的損失值 loss_sum = tf.reduce_sum(loss) # 所有樣本的損失總和 loss_mean= tf.reduce_mean(loss) # 所有樣本的的平均損失 print('sigmodX:
',sigmodX) print('pre_result:',pre_result) print('pre_result2:',pre_result2) print('pre_bool:',pre_bool) print('bool_int:',bool_int) print('accuary:',accuary) print('loss:',loss) print('loss_sum:',loss_sum) print('loss_mean:',loss_mean)