Python 中的 Scikit-learn:功能、先决条件、优缺点

已发表: 2020-06-11

如果你是 Python 编程的常客,你必须意识到拥有一个健壮的库是多么重要。 当谈到 Python 的免费机器学习库时,scikit-learn 是你能得到的最好的! Python 中的sklearn 或 scikit-learn是一个免费库,可简化在 Python中编码和应用机器学习算法的任务。

除了支持 SciPy 和 NumPy 等 Python 科学和数值库外,scikit-learn 还具有许多不同的算法,例如随机森林、支持向量机和 k 邻居。 因此,让我们了解您可以找到的基本机器学习工具之一的一些基本方面。

目录

Python 中的 sklearn 或 scikit-learn 是什么?

Python 中的 Sklearn 或 scikit-learn是迄今为止最有用的开源库之一,可用于 Python 中的机器学习。 scikit-learn 库是用于统计建模和机器学习的最有效工具的详尽集合。 其中一些工具包括回归、分类、降维和聚类。

scikit-learn 库主要用 Python 编写,并建立在 SciPy、NumPy 和 Matplotlib 之上。 该库使用统一一致的 Python 接口来实现各种预处理、机器学习、可视化和交叉验证算法。

Scikit-learn 的简史

Python中的 sklearn最初被称为 scikit-learn,是由 David Cournapeau 于 2007 年开发的,是 Google 夏季代码项目的一部分。 随后,来自法国计算机科学与自动化研究所的 Gael Varoquaux、Fabian Pedregosa、Alexandre Gramfort 和 Vincent Michel 在 2010 年公开发布了 v0.1 测试版。

从那时起,scikit-learn 的更新版本已经发布,最新版本 0.23.1 于 2020 年 5 月发布。Scikit-learn 是一个社区驱动的项目,任何人都可以为其开发做出贡献。 微软、英特尔和英伟达是该项目的顶级赞助商。

scikit-learn 的基本特性

Python 中的机器学习库 scikit-learn具有大量功能来简化机器学习。 在这里,我们将讨论其中的一些:

  • 监督学习算法:您可能听说过的任何监督机器学习算法都极有可能属于 scikit-learn 库。 scikit-learn 工具包拥有一系列此类监督学习算法,其中包括 - 广义线性模型,如线性回归、决策树、支持向量机和贝叶斯方法。
  • 无监督学习算法:该算法集合包括因子分解、聚类分析、主成分分析和无监督神经网络。
  • 特征提取:使用 scikit-learn,可以从文本和图像中提取特征。
  • 交叉验证:可以在 scikit-learn 的帮助下检查监督模型对看不见的数据的准确性和有效性。
  • 降维:使用此功能,可以减少数据中的属性数量,用于后续的可视化、汇总和特征选择。
  • 聚类:此功能允许对未标记的数据进行分组。
  • 集成方法:可以使用此功能组合多个监督模型的预测。

阅读更多:您必须了解的 6 种监督学习类型

开始 scikit-learn 的先决条件

在开始使用最新版本的 scikit-learn 之前,请确保您已安装以下库:

  • Python (>=3.5)
  • NumPy (>= 1.11.0)
  • SciPy (>= 0.17.0)li
  • 作业库 (>= 0.11)
  • Matplotlib (>= 1.5.1):这个库是 scikit-learn 绘图功能所必需的。
  • Pandas (>= 0.18.0):这是数据结构和分析所必需的。

安装 scikit-learn

您可以按照以下两种方法之一安装 scikit-learn:

  • 使用点子

– Scikit-learn 可以通过 pip 安装,命令行如下:

pip install -U scikit-learn

  • 使用康达

– Scikit-learn 也可以通过 conda 安装,使用的命令行如下:

conda 安装 scikit-learn

如果您没有安装 NumPy 和 SciPy,您可以通过 pip 或 conda 安装它们。 Anaconda 和 Canopy 是另外两个 Python 发行版,可用于学习最新的 scikit-learn 版本。

从世界顶尖大学学习数据科学课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

scikit-learn 的优缺点

优点:

  • 该库在 BSD 许可下分发,使其免费,具有最低的法律和许可限制。
  • 它很容易使用。
  • scikit-learn 库非常通用和方便,可用于实际用途,例如预测消费者行为、创建神经图像等。
  • Scikit-learn 得到了众多作者、贡献者和庞大的国际在线社区的支持和更新。
  • scikit-learn 网站为希望将算法与其平台集成的用户提供了详尽的 API 文档。

缺点:

  • 它不是深度学习的最佳选择。

了解更多:无监督机器学习如何工作?

结论

机器学习语言的增长和普及需要高效的工具,而Python 中的 sklearn 可以满足初学者以及解决监督学习问题的人的需求。 使用的效率和多功能性使 scikit-learn 成为学术和工业组织执行各种操作的主要选择之一。

Python 中的 scikit-learn 是什么?

Scikit-learn 是 Python 编程语言的免费软件库,它提供了一系列用于机器学习和数据挖掘的算法。 它具有各种分类、回归和聚类算法,包括支持向量机、随机森林、boosting、k-means 和 DBSCAN,旨在与 Python 数值和科学库 NumPy 和 SciPy 互操作。 它是在 BSD 许可证下获得许可的。

scikit learn 在 Python 中的局限性是什么?

Scikit-learn 是用于探索、转换和分类数据的绝佳工具。 但它针对学习算法进行了优化,例如支持向量机 (SVM)、逻辑回归和线性判别分析 (LDA)。 它没有针对图算法进行优化,对字符串处理也不是很擅长。 例如,scikit-learn 不提供生成简单词云的内置方法。 Scikit-learn 没有强大的线性代数库,因此使用 scipy 和 numpy。 它不包含绘图库,但它允许使用不同的绘图库。

Scikit 可以用于深度学习吗?

Scikit 只是几个库的集合。 因此,任何库都可以在其中使用。 深度学习在市场上非常流行。 Keras 和 Theano 是最流行的 Python 深度学习框架。 它们非常适合研究并提供最佳性能。 但对于生产,我们必须使用 TensorFlow、Caffe 和 DeepLearning4J 等工具。 Scikit-learn 提供了一些工具,如 RandomForest、GradientBoosting、NeuralNet 等,对初学者非常有帮助。 这些更容易编写,并且对于大多数用例来说已经足够了。