开始使用免费开始使用

带正则化的逻辑回归

在第 1 章中,您对手写数字数据集使用过逻辑回归。这里,我们将探索 L2 正则化的影响。

手写数字数据集已加载、划分,并存放在变量 X_trainy_trainX_validy_valid 中。变量 train_errsvalid_errs 已初始化为空列表。

本练习是课程的一部分

Python 中的线性分类器

查看课程

练习说明

  • 遍历不同的 C_value,每次创建并拟合一个 LogisticRegression 模型。
  • 对于每个模型,保存其在训练集和验证集上的错误率。
  • 绘制关于正则化参数 C 的训练误差与测试误差曲线。
  • 观察图像,C 的最佳取值是多少?

交互式实操练习

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

# Train and validaton errors initialized as empty list
train_errs = list()
valid_errs = list()

# Loop over values of C_value
for C_value in [0.001, 0.01, 0.1, 1, 10, 100, 1000]:
    # Create LogisticRegression object and fit
    lr = ____
    lr.fit(____)
    
    # Evaluate error rates and append to lists
    train_errs.append( 1.0 - lr.score(____) )
    valid_errs.append( 1.0 - lr.score(____) )
    
# Plot results
plt.semilogx(C_values, train_errs, C_values, valid_errs)
plt.legend(("train", "validation"))
plt.show()
编辑并运行代码