Skip to content

Latest commit

 

History

History
361 lines (181 loc) · 25.4 KB

20-machine-learning-projects-hired.md

File metadata and controls

361 lines (181 loc) · 25.4 KB

20 个能让你获得工作的机器学习项目

原文:www.kdnuggets.com/2021/09/20-machine-learning-projects-hired.html

评论

作者:Khushbu Shah,ProjectPro 内容经理

AI 和机器学习行业正以前所未有的速度蓬勃发展。截至 2021 年,AI 在企业中的使用将创造 2.9 万亿美元的商业价值。AI 已经自动化了全球许多行业,并改变了它们的运作方式。大多数大型公司都采用 AI 来最大化工作流程中的生产力,而像营销和医疗等行业也因为 AI 的整合而发生了范式转变。

图片来源: Unsplash

因此,近年来对 AI 专业人才的需求不断增长。从 2015 年到 2018 年,AI 和机器学习相关职位的发布量几乎增长了 100%。这个数字一直在增长,并预计在 2021 年还会增加。

如果你希望进入机器学习行业,好消息是目前工作机会充足。公司需要有才华的团队来引领机器学习的变革。然而,数据行业的竞争激烈,因为许多人也想进入这一领域。由于没有专门针对想学习机器学习的学生的学位课程,许多有志于机器学习的从业者都是自学的。

有超过 400 万学生注册了 Andrew Ng 的机器学习在线课程。

不幸的是,虽然注册在线课程或参加机器学习 Bootcamp 可以帮助你学习理论概念,但并不能为你准备好行业中的工作。学习理论之后,还有大量的实践工作需要完成。假设你了解机器学习算法的基础知识——你理解回归和分类模型的工作原理,并知道不同类型的聚类方法。

你将如何实践你学到的技能以解决实际问题?简单的答案是:练习、练习、再练习各种machine learning projects

一旦你完成了理论概念的学习,你应该开始从事 AI 和机器学习项目。这些项目将提供必要的实践,以提高你在该领域的技能,同时也是你机器学习作品集的宝贵补充。

不废话,我们来探索一些机器学习项目创意,这些项目不仅能让你的作品集看起来更出色,还会显著提升你的机器学习技能。这是一个为学生、渴望成为机器学习从业者的人员以及非技术领域个体量身定制的最佳机器学习项目列表。你可以根据自己的背景参与这些项目,只要你具备一定的编码能力和机器学习知识。这是一个包含初级和高级机器学习项目的列表。

如果你是数据行业的新手,且在实际项目中经验有限,建议先从初级机器学习项目入手,然后再挑战更复杂的项目。

初学者的机器学习项目

1. Kaggle 泰坦尼克号预测

这个列表上的第一个项目是你可以从事的最简单的机器学习项目之一。这个项目推荐给数据行业的初学者。泰坦尼克号数据集可以在 Kaggle 上获得,下载链接如下。

这个数据集包含了在泰坦尼克号上旅行的乘客的信息。它包括乘客年龄、票价、舱位和性别等细节。根据这些信息,你需要预测这些乘客是否生还。

这是一个简单的二分类问题,你需要做的就是预测某个乘客是否生还。这个数据集的最佳之处在于所有预处理工作已经为你完成,你可以使用一个干净的数据集来训练你的机器学习模型。

由于这是一个分类问题,你可以选择使用逻辑回归、决策树和随机森林等算法来构建预测模型。你也可以选择像 XGBoost 分类器这样的梯度提升模型来获得更好的结果。

数据集:Kaggle Titanic Dataset

2. 房价预测

如果你是机器学习初学者,房价数据也是一个很好的起点。这个项目将使用 Kaggle 上的房价数据集。数据集中的目标变量是某个房子的价格,你需要使用房屋面积、卧室数量、浴室数量和其他设施等信息来预测这个价格。

这是一个回归问题,你可以使用线性回归等技术来构建模型。你也可以采取更高级的方法,使用随机森林回归器或梯度提升来预测房价。

这个数据集有 80 列,不包括目标变量。你需要使用一些降维技术来挑选特征,因为添加过多变量可能会导致模型性能下降。

数据集中还有许多类别变量,因此你需要使用像独热编码或标签编码这样的技术来正确处理它们。

在构建模型后,你可以将你的预测提交到 Kaggle 的房价竞赛中,因为它仍然开放。竞争者所取得的最佳 RMSE 是 0,许多人通过回归和梯度提升技术取得了 0.15 等良好结果。

数据集: Kaggle 房价预测数据集

3. 葡萄酒质量预测

葡萄酒质量预测数据集在数据行业的初学者中也非常受欢迎。在这个项目中,你将使用固定酸度、挥发酸度、酒精和密度来预测红酒的质量。

这可以被视为分类或回归问题。数据集中你需要预测的葡萄酒质量变量范围从 0 到 10,因此你可以建立回归模型进行预测。另一种方法是将值(0 到 10)拆分为离散区间并转换为分类变量。例如,你可以创建三个类别——低、中

然后,你可以构建决策树分类器或任何分类模型来进行预测。这是一个相对干净和直接的数据集,可以用来练习你的回归和分类机器学习技能。

数据集: Kaggle 红酒质量数据集

4. 心脏病预测

如果你想探索医疗行业的数据集,这是一个很好的初学者级数据集。该数据集用于预测 10 年 CHD(冠心病)的风险。数据集中的因变量是心脏病的风险因素,包括糖尿病、吸烟、高血压和高胆固醇水平。

自变量是 10 年 CHD 的风险。这是一个二分类问题,目标变量为 0 或 1——0 表示从未发生心脏病的患者,1 表示发生了心脏病的患者。你可以对这个数据集进行一些特征选择,以识别出对心脏风险贡献最大的特征。然后,你可以将分类模型拟合到自变量上。

由于该数据集中许多患者没有发展心脏病,所以数据集严重不平衡。处理不平衡数据集需要使用正确的特征工程技术,如过采样、权重调整或欠采样。如果处理不当,你将得到一个只预测大多数类别的模型,无法识别已经发展心脏病的患者。这是一个很好的数据集,可以用来练习你的特征工程和机器学习技能。

数据集: Kaggle 心脏病数据集

5. MNIST 数字分类

MNIST 数据集是你进入深度学习领域的垫脚石。这个数据集包含了从 0 到 9 的手写数字的灰度图像。你的任务是使用深度学习算法识别这些数字。这是一个多类别分类问题,有十个可能的输出类别。你可以使用 CNN(卷积神经网络)来执行这个分类。

MNIST 数据集是在 Python 的 Keras 库中构建的。你只需安装 Keras,导入库,并加载数据集。这个数据集有大约 60,000 张图像,因此你可以将其中大约 80% 用于训练,另外 20% 用于测试。

数据集: Kaggle Digit Recognizer Dataset

6. Twitter 数据的情感分析

Kaggle 上有许多 Twitter 情感分析数据集。其中一个最受欢迎的数据集叫做 sentiment140,包含 160 万条预处理的推文。如果你是情感分析的新手,这是一个很好的数据集来开始。

这些推文已经被标注,目标变量是情感。这一列中的唯一值是 0(负面)、2(中性)和 4(正面)。

在对这些推文进行预处理并将其转换为向量后,你可以使用分类模型对其进行训练,结合其相关的情感。你可以使用逻辑回归、决策树分类器或 XGBoost 分类器等算法来完成这项任务。

另一种选择是使用深度学习模型,如 LSTM 来进行情感预测。然而,这是一种略微更具挑战性的方式,并且属于高级项目类别。

你还可以使用这个标记的数据集作为未来情感分析任务的基础。

如果你有任何推文想要收集并进行情感分析,你可以使用已经在 sentiment140 上训练过的模型进行未来的预测。

数据集: Kaggle Sentiment140 Dataset

7. Pima 印第安糖尿病预测

Pima 印第安糖尿病数据集用于预测患者是否患有糖尿病,基于诊断测量结果。

基于 BMI、年龄和胰岛素等变量,模型将预测患者是否患有糖尿病。这个数据集有九个变量——八个独立变量和一个目标变量。

目标变量是‘糖尿病’,所以你将预测糖尿病的存在(1)或不存在(0)。

这是一个分类问题,可以用来尝试模型,如逻辑回归、决策树分类器或随机森林分类器。

这个数据集中的所有独立变量都是数字型的,所以如果你有较少的特征工程经验,这是一个很好的数据集来开始。

这是一个对初学者开放的 Kaggle 数据集。网上有许多教程可以指导你用 Python 和 R 编写解决方案。这些笔记本教程是学习并动手实践的绝佳方式,使你能够进入更复杂的项目。

数据集:Kaggle Pima 印第安糖尿病数据集

8. 乳腺癌分类

Kaggle 上的乳腺癌分类数据集是另一个练习机器学习和 AI 技能的优秀方式。

现实世界中的大多数监督学习问题都是像这样分类问题。乳腺癌识别中的一个关键挑战是无法区分良性(非癌性)和恶性(癌性)肿瘤。数据集中有“radius_mean”和“area_mean”等变量,你需要根据这些特征对肿瘤是否癌性进行分类。由于不需要进行重大数据预处理,这个数据集相对容易处理。它也是一个平衡的数据集,使你的任务更容易管理,因为你不需要进行大量特征工程。

在这个数据集上训练一个简单的逻辑回归分类器可以达到高达 0.90 的准确率。

数据集:Kaggle 乳腺癌分类数据集

9. TMDB 票房预测

这个 Kaggle 数据集是练习回归技能的绝佳方式。它包含大约 7000 部电影,你需要使用数据集中提供的变量来预测电影的收入。

数据点包括演员、工作人员、预算、语言和发布日期。数据集中有 23 个变量,其中之一是目标变量。

一个基本的线性回归模型可以提供超过 0.60 的 R 平方值,因此你可以将其作为基线预测模型。尝试使用 XGBoost 回归或 Light GBM 等技术来超越这个分数。

这个数据集比之前的稍微复杂一些,因为某些列的数据存在于嵌套字典中。你需要进行一些额外的预处理,以提取这些数据并以可用的格式进行模型训练。

收入预测是一个很好的项目,可以展示在你的作品集上,因为它为电影行业之外的各种领域提供了商业价值。

数据集:Kaggle TMDB 票房预测数据集

10. Python 中的客户细分

Kaggle 上的客户细分数据集是开始无监督机器学习的好方法。这个数据集包含了客户的详细信息,如年龄、性别、年收入和消费评分。

你需要使用这些变量来构建客户群体。相似的客户应该被分组到类似的簇中。你可以使用像 K-Means 聚类或层次聚类这样的算法来完成这项任务。客户细分模型可以提供商业价值。

公司通常希望将客户进行分类,以为每种客户类型制定不同的营销策略。

这个数据集的主要目标包括:

  • 利用机器学习技术实现客户细分

  • 确定不同营销策略的目标客户

  • 了解营销策略在现实世界中的运作方式

为这个任务构建一个聚类模型可以使你的作品集脱颖而出,且分割技术是一个很棒的技能,如果你希望在营销行业找到与 AI 相关的工作,这会非常有用。

数据集: Kaggle 商城客户细分数据集

为简历准备的中级/高级机器学习项目

一旦你完成了像上述这些简单的机器学习项目,就可以转向更具挑战性的项目。

1. 销售预测

时间序列预测是一种在行业中非常常用的机器学习技术。利用过去的数据来预测未来的销售有很多商业应用。Kaggle 需求预测数据集可以用来练习这个项目。

这个数据集包含了 5 年的销售数据,你需要预测未来三个月的销售情况。数据集中列出了十家不同的商店,每家商店有 50 种商品。

为了预测销售,你可以尝试各种方法 — ARIMA、向量自回归,或者深度学习。你可以使用的一种方法是测量每个月销售额的增长并记录下来。然后,基于前一个月和当前月的销售额差异建立模型。考虑节假日和季节性因素可以提高你的机器学习模型的表现。

数据集: Kaggle 商店商品需求预测

2. 客户服务聊天机器人

客户服务聊天机器人使用 AI 和机器学习技术来回复客户,扮演人类代表的角色。聊天机器人应能够回答简单问题以满足客户需求。

目前你可以构建三种类型的聊天机器人:

  • 基于规则的聊天机器人 — 这些聊天机器人并不智能。它们依赖一组预定义的规则,只根据这些规则回复用户。一些聊天机器人还被提供了一组预定义的问题和答案,不能回答超出这些领域的查询。

  • 独立聊天机器人 — 独立聊天机器人利用机器学习来处理和分析用户的请求,并提供相应的回复。

  • NLP 聊天机器人 — 这些聊天机器人能够理解词语中的模式,并区分不同的词语组合。它们是三种聊天机器人类型中最先进的,因为它们可以根据训练时学习到的词语模式来生成接下来的回复。

NLP 聊天机器人是一个有趣的机器学习项目创意。你需要一个现有的词汇库来训练你的模型,并且你可以很容易地找到 Python 库来完成这项工作。你还可以拥有一个预定义的字典,里面包含你希望用来训练模型的问题和答案对。

3. 野生动物目标检测系统

如果你生活在一个频繁出现野生动物的地区,实施一个物体检测系统以识别这些动物的存在是很有帮助的。按照以下步骤建立这样的系统:

  • 在你想监控的区域安装摄像头。

  • 下载所有视频录像并保存。

  • 创建一个 Python 应用程序来分析传入的图像并识别野生动物。

微软利用从野生动物摄像头收集的数据构建了一个图像识别 API。他们发布了一个名为 MegaDetector 的开源预训练模型用于此目的。

你可以在你的 Python 应用程序中使用这个预训练模型来识别收集到的图像中的野生动物。它是到目前为止提到的最令人兴奋的机器学习项目之一,并且由于预训练模型的可用性,实施起来相当简单。

API: MegaDetector

4. Spotify 音乐推荐系统

Spotify 使用人工智能向用户推荐音乐。你可以尝试基于 Spotify 上公开的数据构建一个推荐系统。

Spotify 提供了一个可以用来检索音频数据的 API——你可以找到诸如发行年份、调性、流行度和艺术家等特征。要在 Python 中访问此 API,你可以使用一个名为 Spotipy 的库。

你还可以使用 Kaggle 上的 Spotify 数据集,该数据集包含大约 60 万行。使用这些数据集,你可以为每个用户的最爱音乐家推荐最佳替代品。你还可以根据每个用户喜欢的内容和流派提出歌曲推荐。

这个推荐系统可以使用 K-Means 聚类来构建——相似的数据点将被分组。你可以向最终用户推荐具有最小簇内距离的歌曲。

一旦你建立了推荐系统,你还可以将其转换为一个简单的 Python 应用并进行部署。你可以让用户输入他们在 Spotify 上喜欢的歌曲,然后在屏幕上显示与你的模型推荐的、与他们喜欢的歌曲最相似的推荐结果。

数据集: Kaggle Spotify 数据集

5. 市场篮子分析

市场篮子分析是一种零售商用来识别可以一起销售的商品的流行技术。

例如:

几年前,一位研究分析师发现了啤酒和尿布销售之间的相关性。大多数时候,只要顾客进店买啤酒,他们也会一起购买尿布。

因此,商店开始将啤酒和尿布一起放在同一个过道上,作为一种增加销售的营销策略。这种做法确实有效。

有人认为啤酒和尿布有很高的相关性,因为男性经常一起购买这两样东西。男性会走进商店买一瓶啤酒,同时还会买几件其他家庭用品(包括尿布)。 这似乎是一个相当不可能的相关性,但确实发生过。

市场篮子分析可以帮助公司识别经常一起购买的商品之间的隐藏相关性。商店可以据此将商品放置在更容易被顾客找到的位置。

你可以使用 Kaggle 上的市场篮子优化数据集来构建和训练你的模型。执行市场篮子分析最常用的算法是 Apriori 算法。

数据集: Kaggle 市场篮子优化数据集

6. 纽约市出租车行程时长

数据集包含了出租车行程的起始和结束坐标、时间和乘客数量等变量。这个机器学习项目的目标是预测行程时长,考虑到所有这些变量。这是一个回归问题。

像时间和坐标这样的变量需要适当预处理并转换为可理解的格式。这个项目并不像看起来那样简单。数据集中还有一些异常值,使得预测更加复杂,因此你需要通过特征工程技术来处理这些问题。

这个纽约市出租车行程 Kaggle 竞赛的评估标准是 RMSLE 或均方根对数误差。Kaggle 上的最佳提交得到了 0.29 的 RMSLE 分数,而 Kaggle 的基准模型的 RMSLE 为 0.89。

你可以使用任何回归算法来解决这个 Kaggle 项目,但表现最好的竞争者要么使用了梯度提升模型,要么使用了深度学习技术。

数据集: Kaggle 纽约市出租车行程时长数据集

7. 实时垃圾短信检测

在这个项目中,你可以使用机器学习技术来区分垃圾短信(不合法)和正常短信(合法)。

为了实现这一目标,你可以使用 Kaggle 的 SMS 垃圾短信数据集。这个数据集包含了大约 5K 条已标记为垃圾短信或正常短信的消息。

你可以按照以下步骤构建一个实时垃圾短信检测系统:

  • 使用 Kaggle 的 SMS 垃圾短信数据集来训练机器学习模型。

  • 使用 Python 创建一个简单的聊天服务器。

  • 将机器学习模型部署在你的聊天服务器上,并确保所有的流量都通过该模型。

  • 只允许正常短信通过。如果是垃圾短信,则返回错误信息。

为了构建机器学习模型,你首先需要对 Kaggle 的 SMS 垃圾短信数据集中存在的文本消息进行预处理。然后,将这些消息转换为词袋,以便可以轻松传递到你的分类模型中进行预测。

数据集:Kaggle 短信垃圾邮件收集数据集

8. Myers-Briggs 性格预测应用

你可以创建一个应用,根据用户所说的话预测他们的性格类型。

Myers-Briggs 类型指标将个人分类为 16 种不同的性格类型。这是世界上最受欢迎的性格测试之一。

如果你尝试在互联网上寻找你的性格类型,你会发现许多在线测验。在回答大约 20 到 30 个问题后,你会被分配到一个性格类型。

然而,在这个项目中,你可以使用机器学习仅根据一句话来预测任何人的性格类型。

以下是实现这个目标的步骤:

  • 构建一个多类别分类模型,并在 Kaggle 上的 Myers-Briggs 数据集上进行训练。这涉及数据预处理(去除停用词和不必要的字符)和一些特征工程。你可以使用浅层学习模型,如逻辑回归,或者使用深度学习模型,如 LSTM。

  • 你可以创建一个应用,允许用户输入他们选择的任何句子。

  • 保存你的机器学习模型权重,并将模型与应用集成。在最终用户输入一个单词后,在模型做出预测后,在屏幕上显示他们的性格类型。

数据集:Kaggle MBTI 类型数据集

9. 情绪识别系统 + 推荐系统

你是否曾经感到悲伤,觉得需要看一些有趣的东西来振作精神?或者你是否曾经感到沮丧,需要放松一下,看看一些令人放松的东西?

这个项目是两个较小项目的结合。

你可以构建一个应用,基于实时网络视频和用户的表情识别用户的情绪,并根据用户的表情提供电影建议。

要构建这个,你可以采取以下步骤:

  • 创建一个可以接收实时视频流的应用。

  • 使用 Python 的面部识别 API 检测视频流中的面孔和情感。

  • 在将这些情感分类到不同类别之后,开始构建推荐系统。这可以是针对每种情感的硬编码值,这意味着你不需要涉及机器学习来进行推荐。

  • 一旦你完成了应用的构建,你可以将其部署到 Heroku、Dash 或一个 web 服务器上。

API:面部识别 API

10. YouTube 评论情感分析

在这个项目中,你可以创建一个仪表板来分析流行 YouTuber 的整体情感。

超过 20 亿用户每月至少观看一次 YouTube 视频。流行的 YouTuber 通过他们的内容获得了数百亿的观看量。然而,许多这些影响者因过去的争议而受到批评,公众认知也在不断变化。

你可以构建一个情感分析模型,并创建一个仪表板来可视化关于名人的情感变化。

要构建这个,你可以采取以下步骤:

  • 抓取你想分析的 YouTuber 的视频评论。

  • 使用预训练的情感分析模型对每条评论进行预测。

  • 在仪表板上可视化模型的预测。你甚至可以使用 Dash(Python)或 Shiny(R)等库创建仪表板应用。

  • 你可以通过允许用户按时间范围、YouTuber 名称和视频类型来筛选情感,从而使仪表板具有互动性。

API: YouTube 评论抓取器

总结

机器学习行业庞大且充满机会。如果你希望在没有正式教育背景的情况下进入这个行业,展示你拥有完成工作的必要技能的最佳方式是通过项目。

上述大多数项目的机器学习方面都很简单。由于机器学习的普及,模型构建过程可以通过预训练模型和 API 轻松实现。

开源人工智能项目如 Keras 和 FastAI 也加快了模型构建的过程。这些机器学习和 数据科学项目的棘手之处在于数据的收集、预处理和部署。如果你找到一份机器学习的工作,大多数算法的构建将会相对简单。创建一个销售预测模型只需一两天时间。你将花费大部分时间在寻找合适的数据源和将模型投入生产以获取业务价值上。

原文。经许可转载。

相关:

更多相关内容