面向初学者的顶级 Python 机器学习项目 [2022]
已发表: 2021-01-03如果你想成为一名机器学习专业人士,你必须获得使用其技术的经验。 最好的方法是完成项目。 这就是为什么在本文中,我们将分享多个 Python 机器学习项目,以便您可以快速开始测试您的技能并获得宝贵的经验。
但是,在开始之前,请确保您熟悉机器学习及其算法。 如果您之前没有做过项目,请不要担心,因为我们还分享了一个项目的详细教程:
目录
鸢尾花数据集:初学者
Iris 数据集很容易成为 Python 中最受欢迎的机器学习项目之一。 它相对较小,但其简单和紧凑的尺寸使其非常适合初学者。 如果你没有在 Python 中从事过任何机器学习项目,你应该从它开始。 鸢尾花数据集是花萼片和鸢尾花花瓣大小的集合。 它有三个类,每个类都有 50 个实例。
我们在不同的地方提供了示例代码,但您应该只使用它来了解它是如何工作的。 在不理解代码的情况下实现代码将无法完成项目的前提。 所以在实现之前一定要好好理解代码。
第 1 步:导入库
任何机器学习项目的第一步都是导入库。 Python 如此通用的一个主要原因是其强大的库。 我们在这个项目中需要的库是:
- 熊猫
- Matplotlib
- 学习
- 科学派
- 数字货币
将库导入系统有多种方法,您应该使用特定的方式来导入所有库。 它将确保一致性并帮助您避免任何混淆。 请注意,安装因设备的操作系统而异,因此在导入库时请记住这一点。

代码:
# 加载库
从熊猫导入 read_csv
从 pandas.plotting 导入 scatter_matrix
从 matplotlib 导入 pyplot
从 sklearn.model_selection 导入 train_test_split
从 sklearn.model_selection 导入 cross_val_score
从 sklearn.model_selection 导入 StratifiedKFold
从 sklearn.metrics 导入分类报告
从 sklearn.metrics 导入混淆矩阵
从 sklearn.metrics 导入 accuracy_score
从 sklearn.linear_model 导入 LogisticRegression
从 sklearn.tree 导入 DecisionTreeClassifier
从 sklearn.neighbors 导入 KNeighborsClassifier
从 sklearn.discriminant_analysis 导入 LinearDiscriminantAnalysis
从 sklearn.naive_bayes 导入 GaussianNB
从 sklearn.svm 导入 SVC
阅读:面向初学者的 10 大机器学习数据集项目创意
第 2 步:加载数据集
导入库后,是时候加载数据集了。 正如我们所讨论的,我们将在这个项目中使用 Iris 数据集。 你可以从这里下载。
确保在加载数据时指定每列的名称,这将在以后的项目中为您提供帮助。 我们建议下载数据集,因此即使您遇到连接问题,您的项目也不会受到影响。
代码:
# 加载数据集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名称= ['萼片长度','萼片宽度','花瓣长度','花瓣宽度','类']
数据集 = read_csv(网址,名称=名称)
第三步:总结
在我们开始使用数据集之前,我们必须首先查看其中存在的数据。 我们将首先检查数据集的维度,这表明数据集有五个属性和 150 个实例。
检查维度后,您应该查看数据集的几行和几列,以大致了解其内容。 然后,您应该查看数据集的统计摘要,并查看哪些指标在同一数据集中最普遍。
最后,您应该检查数据集中的类分布。 这意味着您必须检查每个类下有多少实例。 这是总结我们的数据集的代码:
# 汇总数据
从熊猫导入 read_csv
# 加载数据集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名称= ['萼片长度','萼片宽度','花瓣长度','花瓣宽度','类']
数据集 = read_csv(网址,名称=名称)
# 形状
打印(数据集。形状)
# 头
打印(dataset.head(20))
# 描述
打印(数据集。描述())
# 类分布
打印(dataset.groupby('class').size())
第 4 步:可视化数据
汇总数据集后,您应该将其可视化以便更好地理解和分析。 您可以使用单变量图详细分析每个属性,使用多变量图来研究每个要素的关系。 数据可视化是机器学习项目的一个重要方面,因为它有助于找到数据集中存在的基本信息。
第 5 步:算法评估
可视化数据后,我们将评估几种算法以找到适合我们项目的最佳模型。 首先,我们将创建一个验证数据集,我们将从原始数据集中取出该数据集。 然后我们将使用 10 折交叉验证并创建各种模型。 如前所述,我们的目标是通过测量花朵来预测物种。 您应该使用不同类型的算法,并挑选出产生最佳结果的算法。 您可以测试 SVM(支持向量机)、KNN(K-最近邻)、LR(逻辑回归)等。
在我们的实现中,我们发现 SVM 是最好的模型。 这是代码:
从熊猫导入 read_csv
从 matplotlib 导入 pyplot
从 sklearn.model_selection 导入 train_test_split
从 sklearn.model_selection 导入 cross_val_score
从 sklearn.model_selection 导入 StratifiedKFold
从 sklearn.linear_model 导入 LogisticRegression
从 sklearn.tree 导入 DecisionTreeClassifier
从 sklearn.neighbors 导入 KNeighborsClassifier
从 sklearn.discriminant_analysis 导入 LinearDiscriminantAnalysis
从 sklearn.naive_bayes 导入 GaussianNB
从 sklearn.svm 导入 SVC
# 加载数据集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名称= ['萼片长度','萼片宽度','花瓣长度','花瓣宽度','类']
数据集 = read_csv(网址,名称=名称)
# 拆分验证数据集
数组 = 数据集.值
X = 数组[:,0:4]
y = 数组[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

# 抽查算法
型号= []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('CART', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC(gamma='auto')))
# 依次评估每个模型
结果 = []
名称 = []
对于名称,模型中的模型:
kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)
cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, score='accuracy')
结果.append(cv_results)
名称.附加(名称)
print('%s: %f (%f)' % (name, cv_results.mean(), cv_results.std()))
# 比较算法
pyplot.boxplot(结果,标签=名称)
pyplot.title('算法比较')
pyplot.show()
第 6 步:预测
在您评估了不同的算法并选择了最好的算法之后,就该预测结果了。 我们将首先在验证数据集上使用我们的模型来测试它的准确性。 之后,我们将在整个数据集上对其进行测试。
这是在数据集上运行我们的模型的代码:
# 作出预测
从熊猫导入 read_csv
从 sklearn.model_selection 导入 train_test_split
从 sklearn.metrics 导入分类报告
从 sklearn.metrics 导入混淆矩阵
从 sklearn.metrics 导入 accuracy_score
从 sklearn.svm 导入 SVC
# 加载数据集
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
名称= ['萼片长度','萼片宽度','花瓣长度','花瓣宽度','类']
数据集 = read_csv(网址,名称=名称)
# 拆分验证数据集
数组 = 数据集.值
X = 数组[:,0:4]
y = 数组[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1)
# 对验证数据集进行预测
模型= SVC(伽玛='自动')
model.fit(X_train, Y_train)
预测 = model.predict(X_validation)
# 评估预测
打印(accuracy_score(Y_validation,预测))
打印(混淆矩阵(Y_validation,预测))
打印(分类报告(Y_validation,预测))
而已。 您现在已经使用 Iris 数据集在 Python 中完成了一个机器学习项目。
Python 中的其他机器学习项目
Iris 数据集主要面向初学者。 如果你有一些在 Python 中从事机器学习项目的经验,你应该看看下面的项目:
1. 使用机器学习预测股票价格
股票市场是应用机器学习算法的绝佳场所。 公司使用 AI 算法和基于 ML 的技术进行技术分析已经有一段时间了。 您还可以构建预测股票价格的 ML 模型。
但是,要处理这个项目,您必须使用多种技术,包括回归分析、预测分析、统计建模和行动分析。 您可以从证券交易所的官方网站获取必要的数据。 他们共享有关股票过去表现的数据。 您可以使用这些数据来训练和测试您的模型。
作为初学者,您可以专注于一家特定的公司并预测其三个月的股票价值。 同样,如果您想让项目具有挑战性,您可以使用多家公司并延长您的预测时间表。
你将从这个项目中学到什么:
本项目将使您熟悉人工智能和机器学习在金融行业的应用。 你也可以通过这个项目学习预测分析,尝试不同的算法。
2. 从零开始编写机器学习算法
如果你是初学者并且没有在 Python 中从事过任何机器学习项目,你也可以从这个开始。 在这个项目中,您必须从头开始构建 ML 算法。 做这个项目将帮助您了解算法功能的所有基础知识,同时还教您将数学公式转换为机器学习代码。
知道如何将数学概念转换为 ML 代码至关重要,因为您将来必须多次实现它。 当您要解决更高级的问题时,您将不得不依赖这项技能。 您可以根据自己对概念的熟悉程度来选择任何算法。 如果您缺乏经验,最好从简单的算法开始。
你将从这个项目中学到什么:
您将熟悉人工智能和机器学习的数学概念。
3. 创建手写阅读器
这是一个计算机视觉项目。 计算机视觉是与图像分析相关的人工智能领域。 在此项目中,您将创建一个可以读取手写内容的 ML 模型。 阅读意味着模型应该能够识别纸上写的内容。 您必须在此项目中使用神经网络才能熟悉深度学习及其相关概念。
您首先必须对图像进行预处理并删除不必要的部分; 换句话说,为了清晰起见,对图像进行数据清理。 之后,您必须对图像进行分割和调整大小,以便算法可以正确读取字符。 完成预处理和分割后,您可以进入下一步,分类。 分类算法将区分文本中存在的字符并将它们放入各自的类别中。
您可以使用 log sigmoid 激活来为此项目训练您的 ML 算法。
你将从这个项目中学到什么:
您将学习计算机视觉和神经网络。 完成这个项目也会让你熟悉图像识别和分析。
4. 销售预测者
零售业有许多人工智能和机器学习应用。 在这个项目中,您会发现一个这样的应用程序,即预测产品的销售量。
机器学习爱好者中流行的数据集是 BigMart 销售数据集。 它在 10 个城市的各个门店拥有超过 1559 种产品。 您可以使用数据集构建回归模型。 根据网点,您的模型必须预测来年特定产品的潜在销售量。 该数据集具有每个出口和产品的特定属性,以快速了解它们的属性以及两者之间的关系。
你将从这个项目中学到什么:

从事这个项目将使您熟悉回归模型和预测分析。 您还将了解机器学习在零售领域的应用。
了解有关机器学习和 Python 的更多信息
我们希望您发现这份 Python 机器学习项目列表对您有用。 如果您有任何问题或想法,请通过评论部分告诉我们。 我们很乐意回答您的疑问。
学习世界顶尖大学的数据科学课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
这里有一些额外的资源来学习机器学习和 Python。
- Python 教程
- 机器学习与。 深度学习
- 机器学习应用
另一方面,如果您想获得更个性化的学习体验,您可以参加 AI 和 ML 课程。 您将通过视频、作业和项目向行业专家学习。
机器学习是一个好的职业选择吗?
如果您热衷于新兴技术和相关新闻,那么您一定已经听说过机器学习技术带来的第四次工业革命。 据报道,到 2023 年,全球机器学习市场的价值预计将达到 5430 亿印度卢比。然而,精通机器学习专业人员的供需缺口已扩大到近 125%。 这表明,对于具有正确技能组合的机器学习专业人员来说,就业市场有很多希望。 无论您渴望成为机器学习工程师、研究工程师还是研究科学家,这无疑将是您丰富的职业。
新人可以包机器学习工作吗?
尽管当今大多数机器学习工作都需要经验丰富的专业人员,但由于市场需求巨大,应届生的选择也在增加。 对于初学者来说可能很难,但获得一份机器学习工作肯定不是不可能的。 如果您能够掌握所需的技能,计划如何表现出色,并快速向场上经验丰富的球员学习,那么您也可以完成梦想中的工作。 您可以考虑获得相关认证以增加更多价值、在可靠平台上注册机器学习课程、尝试一些动手项目、关注最新的技术新闻和趋势以及加入在线社区等选项。
机器学习工程师能挣多少钱?
根据 glassdoor.in 的数据,印度机器学习工程师的平均年薪约为 82 万印度卢比。 现在,平均收入取决于几个因素,如技能、证书、经验、位置等等。 但是随着更多的工作经验,您可以期望增加您的收入。 例如,高级机器学习工程师的平均收入在 13 到 150 万印度卢比之间。