如果你是一名 Python 程序员,或者你正在寻找一个强大的工具包来将机器学习引入生产系统,那么 Scikit-learn 是一个你需要检查的库。
Scikit-learn 文档齐全且易于使用,无论您是机器学习新手、想要快速启动和运行,还是想要使用最新的 ML 研究工具。
它允许您仅用几行代码构建预测数据模型,然后使用该模型作为高级库来适应您的数据。 它很灵活,可以与其他人很好地配合使用 Python库 例如用于图表的 Matplotlib、用于数组矢量化的 NumPy 和用于数据可视化的 pandas。
在本指南中,您将了解它是什么、如何使用它以及它的优缺点。
什么是 Scikit学习?
Scikit-learn(也称为 sklearn)提供了一组多样化的统计模型和机器学习。 与大多数模块不同,sklearn 是用 Python 而不是 C 开发的。尽管是用 Python 开发的,但 sklearn 的效率归功于它使用 NumPy 进行高性能线性代数和数组运算。
Scikit-Learn 是作为 Google Summer of Code 项目的一部分创建的,此后让全球数百万以 Python 为中心的数据科学家的生活变得更加简单。 本系列的这一部分重点介绍库并关注一个元素 - 数据集转换,这是开发预测模型之前要采取的关键且至关重要的步骤。
该库基于 SciPy(科学 Python),必须先安装它才能使用 scikit-learn。 此堆栈包含以下项目:
- NumPy:Python 的标准 n 维数组包
- SciPy:它是科学计算的基础包
- Pandas:数据结构和分析
- Matplotlib:它是一个强大的 2D/3D 绘图库
- Sympy:符号数学
- IPython:改进的交互式控制台
Scikit-learn 库的应用
Scikit-learn 是一个开源 Python 包,具有复杂的数据分析和挖掘功能。 它带有大量内置算法,可帮助您充分利用数据科学项目。 Scikit-learn 库的使用方式如下。
1。 回归
回归分析是一种统计技术,用于分析和理解两个或多个变量之间的联系。 用于进行回归分析的方法有助于确定哪些元素是相关的,哪些可以忽略,以及它们如何相互作用。 例如,回归技术可用于更好地理解股票价格的行为。
回归算法包括:
- 线性回归
- 岭回归
- 套索回归
- 决策树回归
- 随机森林
- 支持向量机(SVM)
2。 分类
分类方法是一种监督学习方法,它使用训练数据来识别新观察的类别。 分类中的算法从给定的 数据集 或观察,然后将其他观察分类到许多类或分组中的一个。 例如,它们可用于将电子邮件通信分类为垃圾邮件或非垃圾邮件。
分类算法包括以下内容:
- Logistic回归
- K-最近邻
- 支持向量机
- 决策树
- 随机森林
3. 聚类
Scikit-learn 中的聚类算法用于自动将具有相似属性的数据排列到集合中。 聚类是对一组项目进行分组的过程,以便同一组中的项目与其他组中的项目更相似。 例如,客户数据可能会根据其位置进行分离。
聚类算法包括以下内容:
- 数据库扫描
- K均值
- 小批量 K 均值
- 光谱聚类
4. 模型选择
模型选择算法提供了用于比较、验证和选择用于数据科学计划的最佳参数和模型的方法。 给定数据,模型选择是从一组候选模型中选择一个统计模型的问题。 在最基本的情况下,会考虑预先存在的数据集合。 但是,该任务还可能包括实验设计,以便获得的数据非常适合模型选择问题。
可以通过调整参数来提高精度的选型模块包括:
- 交叉验证
- 网格搜索
- 指标
5. 降维
将数据从高维空间转移到低维空间以使低维表示保留原始数据的某些重要方面,理想情况下接近其固有维度,称为降维。 当维度减少时,用于分析的随机变量的数量会减少。 例如,外围数据可能不会被视为提高可视化效率。
降维算法包括以下内容:
- 功能选择
- 主成分分析(PCA)
安装 Scikit-learn
在使用 Scikit-learn 之前,需要安装 NumPy、SciPy、Matplotlib、IPython、Sympy 和 Pandas。 让我们从控制台使用 pip 安装它们(仅适用于 Windows)。
现在我们已经安装了所需的库,让我们安装 Scikit-learn。
特征
Scikit-learn,有时也称为 sklearn,是一个用于实现机器学习模型和统计建模的 Python 工具包。 我们可以使用它来创建用于回归、分类和聚类的多个机器学习模型,以及用于评估这些模型的统计工具。 它还包括降维、特征选择、特征提取、集成方法和内置数据集。 我们将一次一个地研究这些品质中的每一个。
1. 导入数据集
Scikit-learn 包括许多预建的数据集,例如鸢尾花数据集、房价数据集、泰坦尼克数据集等。 这些数据集的主要优点是它们易于掌握,可用于立即开发 ML 模型。 这些数据集适合新手。 同样,您可以使用 sklearn 导入其他数据集。 同样,您可以使用它来导入其他数据集。
2. 拆分数据集进行训练和测试
Sklearn 包括将数据集划分为训练和测试段的能力。 为了对预测性能进行公正的评估,需要拆分数据集。 我们可以指定训练和测试数据集中应包含多少数据。 我们使用训练测试拆分来划分数据集,使得训练集包含 80% 的数据,测试集包含 20%。 数据集可以划分如下:
3. 线性回归
线性回归是一种基于监督学习的机器学习技术。 它执行回归工作。 基于自变量,回归对目标预测值进行建模。 它主要用于确定变量和预测之间的联系。 不同的回归模型在它们评估因变量和自变量之间的连接类型以及使用的自变量数量方面有所不同。 我们可以使用 sklearn 简单地创建线性回归模型,如下所示:
4.逻辑回归
一种常见的分类方法是逻辑回归。 它与多项式和线性回归属于同一家族,属于线性分类器家族。 逻辑回归的结果易于理解并且可以快速计算。 与线性回归一样,逻辑回归是一种监督回归技术。 输出变量是分类的,所以这是唯一的区别。 它可以确定患者是否患有心脏病。
可以使用逻辑回归解决各种分类问题,例如垃圾邮件检测。 糖尿病预测,确定消费者是否会购买特定产品或转向竞争对手,确定用户是否会点击特定营销链接,以及更多场景只是其中的几个例子。
5. 决策树
最强大和最广泛使用的分类和预测技术是决策树。 决策树是一种看起来像流程图的树结构,每个内部节点代表对属性的测试,每个分支代表测试的结论,每个叶节点(终端节点)都持有一个类标签。
当因变量与自变量没有线性关系时,即当线性回归没有产生正确的结果时,决策树是有益的。 可以以类似的方式使用 DecisionTreeRegression() 对象来利用决策树进行回归。
6. 随机森林
随机森林是 机器学习 解决回归和分类问题的方法。 它利用集成学习,这是一种结合多个分类器来解决复杂问题的技术。 随机森林方法由大量决策树组成。 它可用于对贷款申请进行分类、检测欺诈行为和预测疾病爆发。
7. 混淆矩阵
混淆矩阵是用于描述分类模型性能的表格。 以下四个词用于检查混淆矩阵:
- 真阳性:表示模型预测出有利的结果并且是正确的。
- True Negative:表示模型预测的结果不好并且是正确的。
- 误报:这表示模型预期一个有利的结果,但实际上是一个负面的结果。
- 假阴性:这表示模型预期的结果是负面的,而结果确实是正面的。
混淆矩阵实现:
优点
- 使用起来很简单。
- Scikit-learn 包具有极强的适应性和实用性,服务于现实世界的目标,例如消费者行为预测、神经图像开发等。
- 希望将算法与其平台连接的用户可以在 Scikit-learn 网站上找到详细的 API 文档。
- 众多作者、合作者和大型全球在线社区支持并使 Scikit-learn 保持最新。
缺点
- 这不是深入研究的理想选择。
结论
Scikit-learn 是每个数据科学家都必须掌握并拥有一定经验的关键软件包。 本指南应该可以帮助您使用 sklearn 进行数据操作。 随着您在数据科学冒险中的进展,您会发现 Scikit-learn 的更多功能。 在评论区分享你的观点。
发表评论