← 返回题库
初级

Carseats数据集决策树剪枝

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.metrics import accuracy_score
carseats = pd.read_csv('https://liangdaima.com/static/data/statistics/Carseats.csv')
carseats['High'] = (carseats['Sales'] > 8).astype(int)
carseats = pd.get_dummies(carseats, columns=['ShelveLoc', 'Urban', 'US'], drop_first=True)
X = carseats.drop(['Sales', 'High'], axis=1)
y = carseats['High']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
param_grid = {'max_depth': range(1, 11), 'min_samples_leaf': [5, 10, 20]}
grid = GridSearchCV(DecisionTreeClassifier(random_state=1), param_grid, cv=5)
grid.fit(X_train, y_train)
print('最优参数:', grid.best_params_)
print('测试准确率:', accuracy_score(y_test, grid.predict(X_test)))

示例

输入
solve()
期望输出
最优参数: {'max_depth': 7, 'min_samples_leaf': 10}
测试准确率: 0.7416666666666667
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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