“Python 中的监督学习”Datacamp 课程回顾
“Python 中的监督学习”Datacamp 课程回顾
这是我刚刚参加的课程的回顾。这篇评论作为学习辅助:帮助我在第一次学习后综合信息,并希望将内容保留更长时间。这篇文章还提供了对该课程的个人评估,以及该课程是否有效地教授该主题。
本课程首先描述一般机器学习,以及两个主要类别之间的区别:无监督学习和监督学习。那么对于本课程的重点,监督学习,有两种类型:
1.分类,用于分类目标变量
2. 回归,用于连续目标变量。
在整个课程中,大部分 python 代码都遵循这个方案:
- 导入 ML 模型
- 实例化 ML 模型
- 使模型适合训练数据。 model.fit(X_train, y_train)
- 使用最近训练的模型进行预测。
- (可选)评估模型的性能
- 另一种选择是调整模型的超参数
Scikit learn syntax
Diagram for explaining data split for ML processes
本课程教授的模型有:
- k-最近邻
- 线性回归
- 岭回归或套索回归,经典线性回归的替代品
- 逻辑回归
Sklearn 交叉验证 (CV)
交叉验证是一种评估 ML 模型的方法,方法是向其提供相同训练数据的不同随机化拆分,以防止过度拟合。这是为了缓解使用狭窄数据集训练模型可能导致对一个特定数据集过度拟合的问题,而不是可以准确预测更多变化数据的更优选的广义拟合。这似乎是使用 ML 模型的标准做法。
Illustration of sklearn cross-validation scheme.
sklearn 的交叉验证是这样实现的
绘制 ROC(代表接收器操作特性)曲线以确定适合的性质。目标是最大化 ROC 中的曲线下面积 (AUC)。欲了解更多信息 https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_curve.html
ROC curve for assessing logistic regression
评估模型性能的另一种方法是混淆矩阵。
超参数调整 (HPT)
在课程的后半部分讲授了使用 ML 模型的方面。超参数是 ML 模型中的可调参数。如果您只是调用您的模型,它们将使用默认值。但是,默认参数可能不是最佳的。看来,如果您认真考虑优化 ML 预测的准确性,那么您必须结合交叉验证进行超参数调整。如何执行 HPT 的详细信息取决于您:要调整的参数数量、CV 中的折叠数量。 GridSearchCV 扫描整个参数空间和 CV 折叠。如果等待时间过长,那么 RandomizedSearchCV 会做同样的事情,但会随机选择定义的参数空间。
课程回顾
本课程试图以有组织的方式呈现主题。不管课程有多好,第一次看到这种材料可能会有点混乱。讲座并没有以特别有趣的方式呈现。我发现自己睡着了,不得不回去重新听讲座。
编码练习也有点无聊而且不有趣。感觉就像是从讲座幻灯片中复制、粘贴和修改的游戏,没有批判性地思考如何应用机器学习概念。但是,在完成课程后查看内容时,我发现该材料实际上结构良好且内容丰富。我从复习课程和连接每个 ML 模型中的常见模式中学到了更多。本课程与其他 Datacamp 课程存在相同的缺点,即练习和讲座是您第一次看到材料,但不能加深理解,尤其是对于像机器学习这样复杂的东西。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明