使用skflow内置的LR,DNN,Scikit-learn中的集成回归模型对“美国波士顿房价”进行预测

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/King_key/article/details/79314102

话不多说,直接上代码

1 代码实现及结果截图、

#coding:utf-8
#使用skflow内置的LR,DNN,Scikit-learn中的集成回归模型对“美国波士顿房价”进行预测
from sklearn import datasets,metrics,preprocessing,cross_validation
#读取数据
boston=datasets.load_boston()
#获取房价数据特征及对应房价
x,y=boston.data,boston.target
#数据分割,25%做测试
x_train,x_test,y_train,y_test=cross_validation.train_test_split(x,y,test_size=0.25,random_state=33)
#对数据特征进行标准化处理
scaler=preprocessing.StandardScaler()
x_train=scaler.fit_transform(x_train)
x_test=scaler.transform(x_test)

import skflow
tf_lr=skflow.TensorFlowLinearRegressor(steps=10000,learning_rate=0.01,batch_size=50)
tf_lr.fit(x_train, y_train)
tf_lr_y_predict=tf_lr.predict(x_test)
#输出性能
print 'LR'
print 'absoluate:',metrics.mean_absolute_error(tf_lr_y_predict, y_test)
print 'squared:',metrics.mean_squared_error(tf_lr_y_predict, y_test)
print 'R-squared:',metrics.r2_score(tf_lr_y_predict, y_test)


tf_dnn_regressor=skflow.TensorFlowDNNRegressor(hidden_units=[100,40],steps=10000,learning_rate=0.01,batch_size=50)
tf_dnn_regressor.fit(x_train, y_train)
tf_dnn_regressor_y_predict=tf_dnn_regressor.predict(x_test)
print 'DNN'
print 'absoluate:',metrics.mean_absolute_error(tf_dnn_regressor_y_predict, y_test)
print 'squared:',metrics.mean_squared_error(tf_dnn_regressor_y_predict, y_test)

print 'R-squared:',metrics.r2_score(tf_dnn_regressor_y_predict, y_test)




from sklearn.ensemble import RandomForestRegressor
rfr=RandomForestRegressor()
rfr.fit(x_train,y_train)
rfr_y_predict=rfr.predict(x_test)
print 'Scikit-learn'
print 'absoluate:',metrics.mean_absolute_error(rfr_y_predict, y_test)
print 'squared:',metrics.mean_squared_error(rfr_y_predict, y_test)

print 'R-squared:',metrics.r2_score(rfr_y_predict, y_test)



猜你喜欢

转载自blog.csdn.net/King_key/article/details/79314102
今日推荐