初级
Boston数据集Boosting回归
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
import pandas as pd
import numpy as np
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
data_url = "http://lib.stat.cmu.edu/datasets/boston"
raw_df = pd.read_csv(data_url, sep="\\s+", skiprows=22, header=None)
data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
target = raw_df.values[1::2, 2]
boston = pd.DataFrame(data, columns=['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT'])
boston['MEDV'] = target
X = boston.drop('MEDV', axis=1)
y = boston['MEDV']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=1)
for lr in [0.001, 0.01, 0.1, 0.5]:
gb = GradientBoostingRegressor(learning_rate=lr, n_estimators=100, random_state=1)
gb.fit(X_train, y_train)
mse = mean_squared_error(y_test, gb.predict(X_test))
print(f'学习率={lr}的测试MSE: {mse:.2f}')
示例
输入
solve()
期望输出
学习率=0.001的测试MSE: 77.00 学习率=0.01的测试MSE: 27.49 学习率=0.1的测试MSE: 10.63 学习率=0.5的测试MSE: 11.13
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199