Keras基礎自學四( sklearn交叉驗證)

2021-10-02 10:25:07 字數 1353 閱讀 1614

from keras.models import sequential

from keras.layers import dense

import numpy as np

from sklearn.model_selection import cross_val_score

from sklearn.model_selection import stratifiedkfold

# 構建模型

def create_model():

# 構建模型

model = sequential()#順序模型

model.add(dense(units=12, input_dim=8, activation='relu'))#輸入層8個節點,隱藏層12個,啟用函式relu

model.add(dense(units=8, activation='relu'))#隱藏層8個,啟用函式relu

model.add(dense(units=1, activation='sigmoid'))#輸出層1個,啟用函式sigmoid

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # 編譯模型

return model

seed = 7

np.random.seed(seed)# 設定隨機數種子

# 匯入資料

dataset = np.loadtxt('d:\example\keras\pima-indians-diabetes.csv', delimiter=',')

# 分割輸入x和輸出y,x是已知x,y是標準答案

x = dataset[:, 0 : 8]#取二維陣列中第1(m)維到7維(第n-1維)的所有資料,相當於取第1(m)列到第七(n-1)列的所有資料

y = dataset[:, 8]#取二維陣列中第9維的所有資料,相當於取第9列的所有資料

#建立模型 for scikit-learn

model = kerasclassifier(build_fn=create_model, epochs=15, batch_size=10, verbose=0)

# 10折交叉驗證

kfold = stratifiedkfold(n_splits=10, shuffle=true, random_state=seed)

results = cross_val_score(model, x, y, cv=kfold)

print(results.mean())

'''verbose = 0 為不在標準輸出流輸出日誌資訊

'''

Keras深度學習(四)

今天測試前幾天所提到的演算法 1.使用keras定義簡單的神經網路 from future import print function import numpy as np from keras.datasets import mnist from keras.models import seque...

深度學習 實驗四 Keras基礎與簡單應用

搭建keras開發環境,掌握基於tensorflow的高階api框架keras的基本用法,通過mnist手寫數字體資料集,搭建基於keras api的神經網路,並用來識別手寫數字體。1.匯入模組 匯入實驗所需的相關模組 datasets模組中匯入資料集mnist模組 layer.core模組匯入de...

寒假自學 四

希望所有溫柔又可愛的人最後都能幸福 今日總結 量200行 部落格量一篇 所學時間 4小時左右 了解到的知識點 python物件導向基礎 明日計畫 早上python物件導向封裝 下午python物件導向封裝晚上無 具體內容 物件導向 opp 過程和函式 面向過程的特點 注重步驟與過程,不注重職責分工 ...