肯定有人要說什麼多層感知機,不就是幾個隱藏層連線在一起的嗎。話是這麼說,但是我覺得我們首先要自己承認自己高階,不然怎麼去說服(hu nong)別人呢
from keras.models importview codesequential
from keras.layers import
dense
import
numpy as np
#設定隨機種子,使得每次結果都是一致的
np.random.seed(7)
import
pandas as pd
dataframe = pd.read_csv("
e:/資料集/pimaindians.csv")
(dataframe.head())
(dataframe.keys())
#匯入資料
#dataset = np.loadtxt("e:/資料集/pimaindians.csv",delimiter=",")
#分割輸入變數和輸出變數
#選擇前8列作為輸入,最有一列作為輸出
x = dataframe.ix[:,list(range(8))]
y = dataframe.ix[:,[8]]
(x.head())
(y.head())
#將其轉換成np陣列,以輸入到keras模型中去
x =x.values
y=y.values
(type(x),x.shape)
#建立模型
model =sequential()
#新增幾個隱藏層
model.add(dense(12,input_dim=8,activation='
relu'))
model.add(dense(8,activation='
relu'))
model.add(dense(1,activation='
sigmoid'))
#編譯模型
model.compile(loss='
binary_crossentropy
',optimizer='
adam
',metrics=['
accuracy'])
#訓練模型
model.fit(x=x,y=y,epochs=150,batch_size=10,validation_split=0.2)
#評估模型
scores=model.evaluate(x=x,y=y)
print('
\n%s:%.2f%%
'%(model.metrics_names[1],scores[1]*100))
畫幾個知識點:
1、pandans按列切片:
#2、dataframe轉換成numpy陣列分割輸入變數和輸出變數
#選擇前8列作為輸入,最有一列作為輸出
x = dataframe.ix[:,list(range(8))]
y = dataframe.ix[:,[8]]
#3、keras自動切分資料集將其轉換成np陣列,以輸入到keras模型中去
x =x.values
y=y.values
#訓練模型
model.fit(x=x,y=y,epochs=150,batch_size=10,validation_split=0.2)
多層感知機MLP
關於感知機 1.什麼是感知機 perceptron 感知機是最簡單的神經網路,具備神經網路的必備要素。感知機也稱為感知器,是一種雙層神經網路,即只有輸入層和輸出層而沒有隱層的神經網路。感知機是一種二類分類的線性分類器,其輸入為例項的特徵向量,輸出為例項的類別,感知機屬於判別模型,旨在求出將訓練資料進...
MLP 多層感知機網路
反向傳播神經網路是對非線性可微分函式進行權值訓練的多層網路,是前向神經網路的一種。比如,乙個三層bpn結構如下 由輸入層 隱含層和輸出層三層組成。其中每一層的單元與之相鄰層的所有單元連線,同一層的單元之間沒有連線。當一對學習樣本提供給網路後,神經元的啟用值從輸入層經各中間層向輸出層傳播,在輸出層的各...
多層感知機(MLP)原理簡介
多層感知機 mlp,multilayer perceptron 也叫人工神經網路 ann,artificial neural network 除了輸入輸出層,它中間可以有多個隱層,最簡單的mlp只含乙個隱層,即三層的結構,如下圖 輸入層沒什麼好說,你輸入什麼就是什麼,比如輸入是乙個n維向量,就有n個...