scikit-learn:Python 机器学习的标配工具库

文章目录

  • scikit-learn:Python 机器学习的标配工具库
    • 1、 能做什么
    • 2、 为什么用它
    • 3、 安装和上手
    • 4、 谁在用

scikit-learn:Python 机器学习的标配工具库

scikit-learn 在 GitHub 上拿到了 66,305 个 Star。

做机器学习的 Python 开发者,十有八九用过它。分类、回归、聚类、降维、模型选择、数据预处理,sklearn 把这些做进了同一个库里,API 统一,上手快。

1、 能做什么

sklearn 覆盖的算法很全。分类有 SVM、随机森林、梯度提升、逻辑回归;回归有线性回归、岭回归、Lasso;聚类有 K-Means、DBSCAN、层次聚类。常用的降维方法 PCA、t-SNE 也都在。

算法之外,数据预处理 pipeline、特征选择、模型评估、超参数调优这些工程化的活儿,它一并做了。cross-validation、grid search、各种评估指标,调几个参数就能跑。

2、 为什么用它

Python 机器学习生态里,NumPy 管数组运算,SciPy 管科学计算,pandas 管表格数据。sklearn 在这三层之上,把机器学习的工作流封装好了。

它要求的依赖很明确:Python >= 3.11、NumPy >= 1.24.1、SciPy >= 1.10.0,再加上 joblib 做并行、threadpoolctl 做线程控制。依赖链不长,装起来干净。

3、 安装和上手

装的话一行命令:

pipinstall-Uscikit-learn

或者用 conda:

condainstall-cconda-forge scikit-learn

跑一个分类任务大概长这样:

fromsklearn.datasetsimportload_irisfromsklearn.ensembleimportRandomForestClassifierfromsklearn.model_selectionimporttrain_test_split X,y=load_iris(return_X_y=True)X_train,X_test,y_train,y_test=train_test_split(X,y)clf=RandomForestClassifier()clf.fit(X_train,y_train)print(clf.score(X_test,y_test))

fit、predict、score,所有模型都是这个套路,换算法只需改一行导入。

4、 谁在用

数据科学家拿它做模型原型验证,工程师拿它做线上推理,高校拿它教机器学习课。2007 年由 David Cournapeau 作为 Google Summer of Code 项目启动,至今由志愿者团队维护。文档有英文和中文两个版本,社区活跃,Stack Overflow 上的相关讨论超过 17 万条。

如果你在做数据分析或机器学习相关的工作,sklearn 基本是绕不开的。

ow 上的相关讨论超过 17 万条。

如果你在做数据分析或机器学习相关的工作,sklearn 基本是绕不开的。