#波士頓房價分析
from sklearn import datasets
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
dataset=datasets.load_boston()
x=dataset.data
Y=dataset.target
seed=7
np.random.seed(seed)
def create_model(units_list=[13],optimizer='adam',init='normal'):
#構建模型
model=Sequential()
#構建第一個隱藏層和輸入層
units=units_list[0]
model.add(Dense(units=units,activation='relu',input_dim=13,kernel_initializer=init))
#構建更多的隱藏層
for units in units_list[1:]:
model.add(Dense(units=units,activation='relu',kernel_initializer=init))
model.add(Dense(units=1,kernel_initializer=init))
#編譯模型
model.compile(loss='mean_squared_error',optimizer=optimizer)
return model
model=KerasRegressor(build_fn=create_model,epochs=200,batch_size=5,verbose=0)
#設置算法評估基準
kfold=KFold(n_splits=10,shuffle=True,random_state=seed)
results=cross_val_score(model,x,Y,cv=kfold)
print('Baseline:%.2f(%.2f)MSE'%(results.mean(),results.std()))
steps=[]
steps.append(('standardize',StandardScaler()))
steps.append(('mlp',model))
pipeline=Pipeline(steps)
kfold=KFold(n_splits=10,shuffle=True,random_state=seed)
results=cross_val_score(pipeline,x,Y,cv=kfold)
print('Standize:%.2f(%.2f)MSE'%(results.mean(),results.std()))
【四二學堂】深度學習案例一-波士頓房價預測
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.