Scikit-learn

Scikit-learn（曾叫做scikits.learn与sklearn）是用于Python编程语言的自由并开源的机器学习库。它包含了各种分类、回归和聚类算法，包括多层感知器、支持向量机、随机森林、梯度提升、k-平均聚类和DBSCAN，它被设计协同于Python数值库NumPy和和科学库SciPy。

概述
scikit-learn计划开始于scikits.learn，它是的Google编程之夏计划。它的名字来源自成为“SciKit”（SciPy工具箱）的想法，即一个独立开发和发行的第三方SciPy扩展。最初的代码库被其他开发者重写了。在2010年，来自法国罗康库尔的法国国家信息与自动化研究所的Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort和Vincent Michel，领导了这个项目并在2010年2月1日进行了首次公开发行。在各种scikit中，scikit-learn和是“良好维护和流行的”。Scikit-learn是在GitHub上最流行的机器学习库之一。

 特征 

 聚成大型目录的成熟的机器学习算法和数据预处理方法（比如特征工程）。
 常见数据科学任务的实用方法，比如将数据分裂成训练集和测试集、交叉验证和网格搜索。
 运行机器学习模型的一致方式（和），模型库可以实现它们。
 构造数据科学处理过程的声明式方式（），包括数据预处理和模型拟合。

 例子 
拟合一个随机森林分类器：
>>> from sklearn.ensemble import RandomForestClassifier
>>> classifier = RandomForestClassifier(random_state=0)
>>> X = [[ 1,  2,  3],  # 2 samples, 3 features
...      [11, 12, 13]]
>>> y = [0, 1]  # classes of each sample
>>> classifier.fit(X, y)
RandomForestClassifier(random_state=0)

实现
Scikit-learn主要用Python编写的，并广泛使用NumPy进行高性能线性代数和数组运算。此外，一些核心算法用Cython书写来以提高性能。在某些情况下，用Python扩展出特定方法是不可能的；比如支持向量机，是通过用Cython包装实现；逻辑斯谛回归和线性支持向量机，是通过对的类似的包装实现的。

Scikit-learn与很多其他Python库可以良好的集成起来，比如用于绘图的matplotlib和，用于阵列向量化的NumPy，用于数据帧的pandas，用于科学计算的SciPy等等。

有关工具
sklearn-onnx是将scikit-learn模型转换成ONNX的工具。
SciKeras是对Keras模块的scikit-learn兼容的包装器。
skorch是包装了PyTorch的scikit-learn兼容的神经网络库。

参见




 PyTorch
 TensorFlow

 数值分析软件

引用

外部链接


Category:数据挖掘和机器学习软件
Category:自由统计软件
Category:Python科学库
Category:使用BSD许可证的软件