亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

13.蜜汁代碼(6)

標簽:
機器學習
from keras.datasets import boston_housing
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import RMSprop
import numpy as np 
(train_data,train_target),(test_data,test_target) = boston_housing.load_data()

#标准化数据
mean = train_data.mean(axis = 0)
std  = train_data.std(axis = 0)

train_data = (train_data - mean)/std  #标准化训练集
test_data  = (test_data  - mean)/std  #标准化测试集
#更标准一点的操作
#应该是将train_data,test_data叠加在一起求mean,std

#构建神经网络
def build_model():
	model = Sequential()
	#input layer
	model.add(Dense(64,input_shape= (13,),activation = "relu")) 
	#hidden layer
	model.add(Dense(64,activation = "relu"))
	#output layer
	model.add(Dense(1))
	#输出的数据是连续的,不需要激活函数

	#编译模型:优化器,损失函数
	model.compile(optimizer = RMSprop(),loss = "mse",metrics = ['mae'])
	return model 

#交叉验证
#4折,404刚好可以被4整除
k = 4 
# 4 * num_val_samples = len(train_data)
num_val_samples = len(train_data) // k
#训练周期:100
num_epochs = 100
#储存每个验证集的分数
all_scores = []

#交叉验证的循环
for i in range(k):
	val_data = train_data[i * num_val_samples : (i + 1) * num_val_samples]
	val_targets = train_target[i * num_val_samples : (i + 1) * num_val_samples]

	#将离散的数据集连接在一起
	partial_train_data = np.concatenate(
			[train_data[: i * num_val_samples],
			train_data[(i + 1) * num_val_samples : ]],
			axis = 0
			#沿着横轴连接
		)

	partial_train_targets =  np.concatenate(
			[train_target[: i * num_val_samples],
			train_target[(i + 1) * num_val_samples : ]],
			axis = 0
			#沿着横轴连接
		)
	#每经过一折,都要构建一次神经网络
	model = build_model()
	#输出数据太多(100 * 101 * 4),不让它输出,所以verbose = 0
	model.fit(partial_train_data,partial_train_targets,epochs = num_epochs,batch_size = 1,verbose = 0)
	val_mse,val_mae = model.evaluate(val_data,val_targets,verbose = 0)
	all_scores.append(val_mae)
	print ("第",i+1,"折,MSE:",val_mse,"MAE:",val_mae)


np.mean(all_scores)

model = build_model()
model.fit(train_data,train_target,epochs = 80,batch_size = 16,verbose = 0)

#导入测试数据
test_mse,test_mae = model.evaluate(test_data,test_target)
	

用Keras构建多层感知器进行波士顿房价预测
该程序应用到了交叉验证

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
算法工程師
手記
粉絲
23
獲贊與收藏
45

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消