← 返回题库
初级

Boston数据集决策树回归

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import GridSearchCV, 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)
param_grid = {'max_depth': range(1, 11)}
tree = DecisionTreeRegressor(random_state=1)
grid = GridSearchCV(tree, param_grid, cv=5, scoring='neg_mean_squared_error')
grid.fit(X_train, y_train)
print('最优max_depth:', grid.best_params_['max_depth'])
print('最优模型测试MSE:', mean_squared_error(y_test, grid.predict(X_test)))

示例

输入
solve()
期望输出
最优max_depth: 5
最优模型测试MSE: 20.39690995157865
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码