开始使用免费开始使用

自动化选择超参数

在不为成百上千个模型手写成百上千行代码的情况下找到关注的最佳超参数,是一个能显著提升效率的做法,对您今后的机器学习建模大有裨益。

对 GBM 算法而言,一个重要的超参数是学习率。对于当前问题,哪一个学习率更好?通过编写循环遍历若干候选值、汇总并查看结果,您就能找到最佳值。

可尝试的学习率包括 0.001、0.01、0.05、0.1、0.2 和 0.5。

您已经拥有 X_trainX_testy_trainy_test 数据集,且已为您导入 GradientBoostingClassifier

本练习是课程的一部分

Python 中的超参数调优

查看课程

练习说明

  • 创建一个 learning_rates 列表来存放学习率,并创建一个 results_list 来保存预测的准确率分数。
  • 编写循环:针对上述每个学习率构建一个 GBM 模型,并为每个模型生成预测。
  • 将学习率与对应的准确率分数保存到 results_list
  • 将该结果列表转换为 DataFrame 并打印输出。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Set the learning rates & results storage
learning_rates = ____
results_list = ____

# Create the for loop to evaluate model predictions for each learning rate
for learning_rate in ____:
    model = ____(learning_rate=____)
    predictions = ____.fit(____, ____).predict(____)
    # Save the learning rate and accuracy score
    results_list.append([____, accuracy_score(y_test, ____)])

# Gather everything into a DataFrame
results_df = pd.DataFrame(____, columns=['learning_rate', 'accuracy'])
print(results_df)
编辑并运行代码