多層感知器是最簡單的神經網路模型,用於處理機器學習中的分類與回歸問題。
第乙個案例:印第安人糖尿病診斷
#匯入必需的包
import tensorflow
import keras
from keras.models import sequential
from keras.layers import dense
import numpy as np
#使用固定隨機數種子初始化隨機數生成器
np.random.seed(7)
(1) 匯入資料
#匯入資料
dataset = np.loadtxt('pima-indians-diabetes.csv',delimiter=',')
#分割輸入變數x和輸出變數y
x = dataset[:,0:8]
y = dataset[:,8]
(2) 定義模型
#建立模型
model = sequential()
#可視層,8個輸入變數,與資料的維度一致
#dense類定義完全連線層
#通常採用sigmoid和tanh作為啟用函式,這是構建所有層的首選。現在的研究表明,使用relu作為啟用函式,可以得到更好的效能
#第乙個隱藏層有12個神經元
model.add(dense(12,input_dim=8,activation='relu'))
#第二個隱藏層有8個神經元
model.add(dense(8,activation='relu'))
#最後輸出層有1個神經元**資料結構。二分類的輸出層採用sigmoid作為啟用函式
model.add(dense(1,activation='sigmoid'))
(3) 編譯模型
#編譯模型
#對於二進位制分類問題的對數損失被定義為二進位制交叉熵
#使用有效的梯度下降演算法adam作為優化器
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
(4) 訓練模型
#訓練模型
#引數可以通過試驗和錯誤實驗來選擇合適的值
model.fit(x=x,y=y,epochs=150,batch_size=10)
(5) 評估模型
#評估模型
scores = model.evaluate(x=x,y=y)
print('\n%s:%.2f%%' %(model.metrics_names[1],scores[1]*100))
目標函式的常見選項:
mse:**值和真實值之間的均方誤差。
binary cross-entropy:二分對數損失。
categorical cross-entropy:多分類對數損失
該目標函式適用於多分類標籤**。它也是與啟用函式softmax關聯的預設選擇。
常見的效能評估指標:
accuracy:準確率,針對**目標的**正確的比例。
precision:查準率,衡量多分類問題中多少選擇項是關聯正確的。
recall:查全率,衡量多分類問題中多少關聯正確的資料被選出。
第乙個Spring AOP例項
1.介面 package aop2 public inte ce waiter2.target package aop2 author administrator public class waiter implements waiter override public void serveto s...
第乙個Spring AOP例項
1.新增spring core 和 aop jar包 2.新建student類 package com.chen public class student public void setname string name public void sayhello string name public ...
Zend Framwork 第乙個例項
建立 zf.bat create project d phpback zftest d phpback為全路徑 zftest 為專案名 將zend framwork libery 資料夾複製到專案的libery 中 其他配置完成後 開啟頁面 就可以看到zf的歡迎介面 連線資料庫 mysql db.a...