【四二學堂】深度學習案例一-波士頓房價預測

在這裏插入圖片描述

#波士頓房價分析

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()))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章