Keras實現簡單分類神經網絡


#keras搭建神經網絡
import sklearn
from keras.models import Sequential
from keras.layers import Dense,Activation
from keras.optimizers import SGD
import numpy as np
from sklearn.datasets import load_iris
iris=load_iris()
x=iris.data
y=iris.target
print(y)
#進行結果的標簽化處理one-hot處理
from sklearn.preprocessing import LabelBinarizer
print(LabelBinarizer().fit_transform(y))
#進行數據的可視化處理
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y)
y_train1=LabelBinarizer().fit_transform(y_train)
y_test1=LabelBinarizer().fit_transform(y_test) #分類結果標簽處理
print(x.shape,x_train.shape)
print(y_train)
model=Sequential(
[
Dense(5,input_dim=4), #輸入層為4個輸入結果,隱含層為5個節點
Activation("relu"), #激活函數為relu函數
Dense(3), #輸出層為3個節點
Activation("sigmoid"), #激活函數為sigmoid函數
]
)
sgd=SGD(lr=0.01,decay=1e-6,momentum=0.9,nesterov=True) #lr因子,步長,實質因子
model.compile(optimizer=sgd,loss="categorical_crossentropy") #損失函數為cross
model.fit(x_train,y_train1,nb_epoch=300,batch_size=80) #訓練200輪,每次取40個數字
print(model.predict_classes(x_test))
y_pre=model.predict_classes(x_test)
print(sklearn.metrics.accuracy_score(y_test,y_pre))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM