python实现集成回归算法,包括随机森林,极端随机森林,梯度boosting算法

来源:互联网 发布:淘宝可以参加聚划算吗 编辑:程序博客网 时间:2024/06/10 01:33
from sklearn.datasets import load_bostonboston = load_boston()from sklearn.cross_validation import train_test_splitimport numpy as np;X = boston.datay = boston.targetX_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 33, test_size = 0.25)print 'The max target value is: ', np.max(boston.target)print 'The min target value is: ', np.min(boston.target)print 'The average terget value is: ', np.mean(boston.target)from sklearn.preprocessing import StandardScalerss_X = StandardScaler()ss_y = StandardScaler()X_train = ss_X.fit_transform(X_train)X_test = ss_X.transform(X_test)y_train = ss_y.fit_transform(y_train)y_test = ss_y.transform(y_test)from sklearn.ensemble import RandomForestRegressor, ExtraTreesRegressor, GradientBoostingRegressorrfr = RandomForestRegressor()rfr.fit(X_test, y_test)rfr_y_predict = rfr.predict(X_test)etr = ExtraTreesRegressor()etr.fit(X_train, y_train)etr_y_predict = etr.predict(X_test)gbr = GradientBoostingRegressor()gbr.fit(X_train, y_train)gbr_y_predict = gbr.predict(X_test)from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_errorprint 'R-squared value of RandomForestRegressor is: ', rfr.score(X_test, y_test)print 'The mean squared error of RandomForestRegressor is: ', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(rfr_y_predict))print 'The mean absolute error of RandomForestRegressor is: ', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(rfr_y_predict))print 'R-squared of ExtraTreesRegressor is: ', etr.score(X_test, y_test)print 'the value of mean squared error of ExtraTreesRegressor is: ', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(etr_y_predict))print 'the value of mean ssbsolute error of ExtraTreesRegressor is: ', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(etr_y_predict))print 'R-squared of GradientBoostingRegressor is: ', gbr.score(X_test, y_test)print 'the value of mean squared error of GradientBoostingRegressor is: ', mean_squared_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(gbr_y_predict))print 'the value of mean ssbsolute error of GradientBoostingRegressor is: ', mean_absolute_error(ss_y.inverse_transform(y_test), ss_y.inverse_transform(gbr_y_predict))

原创粉丝点击