5 个机器学习初学者项目(+ 数据集和解决方案)
在本教程中,我与您分享 5 个初学者机器学习项目,并为您提供解决所有这些项目的技巧。
#更多的
在本教程中,我与您分享 5 个初学者机器学习项目,并为您提供解决所有这些项目的技巧。这些项目适合完全的初学者,应该教您一些基本的机器学习概念。每个项目的难度都会增加一点,您将学习一种新的算法。
对于每个项目,我都会为您提供一个可供您使用的算法,并包含数据集的链接,以便您可以立即开始!
对于所有这些项目,我建议使用 scikit-learn 库。当涉及到机器学习时,这是 Python 中的首选库。开始使用这个库并用它实现您自己的机器学习算法非常容易。
回归与分类¶
在我们讨论这些项目之前,您应该了解机器学习任务的 2 种基本类型:回归与分类。
从根本上说,分类是关于预测标签,即具体的类值,而回归是关于预测数量,即连续值。
项目1¶
作为第一个项目,我建议从回归问题开始。对于这个问题,我建议实际上做 2 个项目。一个是一个超级简单的项目,根据经验年数来预测薪资。它只包含 2 个变量,因此您处于二维状态,这应该可以让您很好地理解模型的工作原理。之后我建议做 波士顿住房数据集。在这里,您应该根据多个不同的变量来预测房屋的价格。您应该在这里使用的算法是所谓的 线性回归 模型。这是最简单的算法之一,应该不会太难理解。
数据集¶
算法¶
项目2¶
之后,我建议解决您的第一个分类问题。数据集是 鸢尾花数据集。这可能是机器学习领域最著名的数据集,每个人都应该至少解决过一次。这里我们有来自 3 种不同花卉品种的样本,对于每个样本,我们有 4 个不同的特征来描述该花。有了这些信息,我们想要预测花的种类。作为算法,我建议使用 K 最近邻 (KNN) 算法。这是最简单的分类算法之一,但在这里效果很好。这些物种非常清晰可辨,因此您应该能够训练良好的 KNN 模型并达到 100% 正确的预测。
我知道每个人都使用 Iris 数据集作为第一个示例,因此如果您再也看不到它并且想要有替代方案,那么您可以查看 企鹅数据集 我们想根据某些特征来预测企鹅的种类。
数据集¶
算法¶
项目3¶
接下来,我建议使用 乳腺癌数据集。这是另一个著名的数据集,其有趣的任务是预测癌细胞是好还是坏(或者用医学术语来说:恶性或良性)。在这里,我们根据医学图像计算出每种癌细胞的 30 种不同特征。这肯定比之前的项目更复杂、更困难,但你仍然应该能够达到 95% 的准确率。作为算法,我建议尝试 逻辑回归 模型。这与一开始的线性回归模型类似。不要被这个名字迷惑了,因为尽管它的名字中有回归,但它实际上是用于分类任务的。 Logistic 回归算法也对连续值进行建模,但这是 0 到 1 之间的概率值,因此可用于分类。我还建议看看另一种新技术,称为 特征标准化。因为 30 个不同的特征可能具有不同范围内的值,这可能会使模型有点混乱。因此,在这里尝试一下特征标准化,看看是否可以进一步改进你的模型。 (注意:逻辑回归不需要特征标准化,但它仍然是一项重要的技术,并且对于其他分类器也很重要。)
数据集¶
算法¶
项目4¶
第四个项目很有趣,因为它是在每个人的电子邮件客户端中实现的。在这里,我们要创建一个基于以下内容的垃圾邮件过滤器: 垃圾邮件库数据集。在这个数据集中,我们有不同单词和字符的频率,因此我们计算每个单词出现的总数,并将其除以电子邮件中的单词总数。垃圾邮件比普通邮件更频繁地清楚地显示某些关键词,因此利用这些信息我们可以创建垃圾邮件分类器。作为算法,我建议看看 朴素贝叶斯 算法在这里。这里的新挑战不仅是使用该数据集并评估您的模型,而且在训练分类器后还将其应用到实际应用程序中。那么您如何处理新电子邮件呢?在将其传递给分类器之前你必须做什么?在这里,您必须以某种方式找出如何将电子邮件中的文本转换为分类器期望的相同格式。这应该可以让您更好地理解数据集是如何形成和创建的。
数据集¶
算法¶
项目5¶
我推荐的最后一个项目是 泰坦尼克号数据集。这是 Kaggle 在其网站的“入门”部分推荐的第一个初学者项目。这里我们有一份泰坦尼克号所有乘客的名单,其中包含年龄、姓名或性别等特定特征,我们想要预测该乘客是否幸存。泰坦尼克号数据集需要做更多的工作才能使用它,因为并非该数据集中的所有信息都是有用的,甚至还有缺失值。所以在这里你应该学习一些预处理技术以及如何可视化、分析和清理数据。到目前为止,我们可以立即使用数据集,但在现实世界的应用程序中,实际上几乎从来没有这种情况,因此您绝对应该学习如何分析数据集。作为算法,我建议看看 决策树,并且同样在第二种算法中, 随机森林 算法,扩展了决策树。作为另一个提示,我建议查看这里的 pandas 库。当涉及到数据可视化和预先处理数据时,这使您的生活变得更加轻松。
数据集¶
算法¶
结论¶
如果您完成了所有项目,您应该对 6 种流行的机器学习算法有很好的了解,并且您还应该对不同的数据集有感觉以及如何分析和处理数据的一些知识。
* 这些是附属链接。通过点击它,您将不会产生任何额外费用。相反,你会支持我的项目。谢谢你! 🙏