P3 keras二分類邏輯回顧範例

2021-09-29 16:35:50 字數 2960 閱讀 8633

今天內容包括建立乙個二分類邏輯回歸神經網路,並將損失函式和準確度進行視覺化

import tensorflow as tf

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

data = pd.read_csv(

'credit_a.csv'

, header=

none

)# 因為沒有表頭所以加入header=none

# print(data)

x = data.iloc[:,

:-1]

y = data.iloc[:,

[-1]

].replace(-1

,0)model = tf.keras.sequential(

)model.add(tf.keras.layers.dense(

4, input_shape=(15

,), activation=

'relu'))

model.add(tf.keras.layers.dense(

4, activation=

'relu'))

# 第二層開始不寫輸入引數shape,因為系統會根據上一層自動推斷

model.add(tf.keras.layers.dense(

1, activation=

'sigmoid'))

# model.summary()

model.

compile

(optimizer=

'adam'

, loss=

'binary_crossentropy'

, metrics=

['acc'])

history = model.fit(x, y, epochs=

100)

# print(history.history.keys())

plt.plot(history.epoch, history.history.get(

'loss'))

plt.show(

)plt.plot(history.epoch, history.history.get(

'acc'))

plt.show(

)

data = pd.read_csv(

'credit_a.csv'

, header=

none

)# 因為沒有表頭所以加入header=none

# 第二層開始不寫輸入引數shape,因為系統會根據上一層自動推斷

model.add(tf.keras.layers.dense(

1, activation=

'sigmoid'))

model.summary(

)#顯示神經網路

這次建立乙個兩層隱藏層的神經網路,每一次4個神經元,因為是邏輯回歸,所以最後一層的啟用函式用的是sigmoid

開始訓練了

因為是二分類邏輯回歸,所以損失函式選擇loss=『binary_crossentropy』

metrics=[『acc』]加入這個函式,可以顯示準確度

最後的訓練結果,hahah這麼低,畢竟只有10個資料

print

(history.history.keys(

))

訓練過程history.history是乙個字典變數,用keys()得到它的keys,可以看到有loss和acc

將損失函式視覺化

將準確度視覺化,hahha不要在意結果

NG 邏輯回歸 二分類

import time import numpy as np import pandas as pd import matplotlib.pyplot as plt a pd.read table 01.txt header none,usecols 0,1,2 插入一列 1 a.insert 0,...

應用廣泛的二分類演算法 邏輯回歸

對問題劃分層次,並利用非線性變換和線性模型的組合,將未知的複雜問題分解為已知的簡單問題。其原理是將樣本的特徵和樣本發生的概率聯絡起來,即,的是樣本發生的概率是多少。由於概率是乙個數,因此被叫做 邏輯回歸 在回歸問題上再多做一步,就可以作為分類演算法來使用了。邏輯回歸只能解決二分類問題,如果是多分類問...

2 簡單的二分類問題 邏輯回歸

1 資料的分類 結構化資料,可以用 表達描述的資料,計算機對於結構化資料有遠超人類的計算能力 非結構化資料 例如影象,聲音 文字序列等無法直接描述的資料,人類對於非結構化資料天生具有超強的理解能力 2 sigmoid函式 二分類問題分類結果的表達,一般輸出為屬於某一類的概率。在神經網路中,我們不能保...