相关项目#
鼓励实施scikit-learn估计器API的项目使用 scikit-learn-contrib template 这促进了测试和记录估计量的最佳实践。的 scikit-learn-contrib GitHub organization 还接受符合此模板的存储库的高质量贡献。
下面是姐妹项目、扩展和特定领域包的列表。
互操作性和框架增强#
这些工具调整scikit-learn以与其他技术一起使用,或者以其他方式增强scikit-learn估计器的功能。
Auto-ML
auto-sklearn 自动机器学习工具包和scikit-learn估计器的直接替代品
autoviml 使用一行代码自动构建多个机器学习模型。旨在提供一种更快的方式来使用scikit-learn模型,而无需预处理数据。
TPOT 一个自动化机器学习工具包,可优化一系列scikit-learn操作符以设计机器学习管道,包括数据和特征预处理器以及估计器。用作scikit-learn估计器的直接替代品。
Featuretools 执行自动化特征工程的框架。它可用于将时态和关系数据集转换为特征矩阵以进行机器学习。
EvalML AutoML库,使用特定领域的目标函数构建、优化和评估机器学习管道。它在一个API下集成了多个建模库,EvalML创建的对象使用sklearn兼容的API。
MLJAR AutoML 一个用于表格数据AutoML的Python包,具有特征工程、超参数调优、简化和自动文档。
Experimentation and model registry frameworks
MLFlow 管理ML生命周期的开源平台,包括实验、再现性、部署和中央模型注册表。
Neptune MLOps的元数据存储,为运行大量实验的团队构建。它为您提供了一个单独的位置来记录、存储、显示、组织、比较和查询所有模型构建元数据。
Sacred 一个帮助您配置、组织、记录和复制实验的工具
Scikit-Learn Laboratory 围绕scikit-learn的命令行包装器,可以轻松地运行具有多个学习器和大型功能集的机器学习实验。
Model inspection and visualization
dtreeviz 用于决策树可视化和模型解释的Python库。
model-diagnostics 用于诊断和评估(机器学习)模型的工具(Python)。
sklearn-evaluation 机器学习模型评估变得简单:绘图、表格、HTML报告、实验跟踪和Inbox笔记本分析。视觉分析、模型选择、评估和诊断。
yellowbrick 一套自定义matplotlib可视化工具,用于scikit-learn估计器,以支持视觉特征分析,模型选择,评估和诊断。
Model export for production
sklearn-onnx 许多Scikit-learn管道的系列化, ONNX 用于交换和预测。
skops.io 比泡菜更安全的持久性模型,在大多数常见情况下可以代替泡菜使用。
sklearn2pmml 在帮助下,将各种scikit-learn估计器和转换器序列化为PMML JPMML-SkLearn 图书馆
treelite 将基于树的集成模型编译为C代码,以最大限度地减少预测延迟。
emlearn 在C99中为嵌入式设备和微控制器实现scikit-learn估计器。支持多种分类器、回归和离群值检测模型。
Model throughput
Intel(R) Extension for scikit-learn 主要在高端英特尔(R)硬件上,在某些情况下加速一些scikit-learning模型,用于训练和推理。该项目由Intel(R)维护,scikit-learn的维护人员不参与该项目的开发。另请注意,在某些情况下,使用下的工具和估计器
scikit-learn-intelex
会给出不同的结果scikit-learn
本身如果您在使用此项目时遇到问题,请确保在各自的存储库中报告潜在问题。
Interface to R with genomic applications
BiocSklearn 公开了少量的降维工具,作为Python与R接口的蛇怪协议的说明。旨在作为更完整互操作的跳板。
其他估计器和任务#
并非所有东西都属于或足够成熟地适合中央scikit-learn项目。以下是为其他学习算法、基础设施和任务提供类似于scikit-learn的界面的项目。
Time series and forecasting
Darts 一个Python库,用于对时间序列进行用户友好的预测和异常检测。它包含多种模型,从ARIMA等经典模型到深度神经网络。预测模型都可以以相同的方式使用,使用fit()和predict()函数,类似于scikit-learn。
sktime 一个scikit-learn兼容的工具箱,用于时间序列机器学习,包括时间序列分类/回归和(监督/面板)预测。
skforecast 一个Python库,可以简化使用scikit-learn回归器作为多步预测器。它也适用于任何与scikit-learn API兼容的回归器。
tslearn 一个针对时间序列的机器学习库,提供预处理和特征提取工具以及用于集群、分类和回归的专用模型。
Gradient (tree) boosting
注意scikit-learn自己的现代梯度增强估计器 HistGradientBoostingClassifier
和 HistGradientBoostingRegressor
.
Structured learning
HMMLearn 隐藏马尔科夫模型的实现,该模型以前是scikit-learn的一部分。
pomegranate Python的概率建模,重点是隐马尔可夫模型。
Deep neural networks etc.
skorch 一个包含PyTorch的scikit-learn兼容神经网络库。
scikeras 提供了Keras的包装器来将其与scikit-learn连接。SciKeras是
tf.keras.wrappers.scikit_learn
.
Federated Learning
Flower 一个友好的联邦学习框架,采用统一的方法,可以联邦任何工作负载、任何ML框架和任何编程语言。
Privacy Preserving Machine Learning
Concrete ML 一个基于隐私保护ML框架 Concrete ,由于完全同质加密,绑定到传统ML框架。所谓的Concrete ML内置模型的API非常接近scikit-learn API。
Broad scope
mlxtend 包括许多额外的估计器以及模型可视化实用程序。
scikit-lego 许多scikit-learn兼容的定制变形器、模型和指标,专注于解决实际的行业任务。
Other regression and classification
gplearn 符号回归任务的遗传编程。
scikit-multilearn 多标签分类,专注于标签空间操作。
Decomposition and clustering
lda: 在Cython中快速实现潜在Dirichlet分配 Gibbs sampling 从真实的后验分布中进行抽样。(scikit-learn的
LatentDirichletAllocation
实现使用 variational inference 从主题模型的后验分布的易于处理的逼近中进行采样。)kmodes 类别数据的k模式集群算法及其几种变体。
hdbscan HDSCAN和鲁棒单链接集群算法,用于鲁棒变密度集群。截至scikit-learn版本1.3.0,有
HDBSCAN
.
Pre-processing
categorical-encoding sklearn兼容的类别变量编码器库。截至scikit-learn版本1.3.0,有
TargetEncoder
.skrub :通过sklearn兼容的编码器(类别、日期、字符串)等,促进在收件箱上的学习。
imbalanced-learn 对数据集进行不足和过度抽样的各种方法。
Feature-engine sklearn兼容的转换器库,用于缺失数据插补、类别编码、变量转换、离散化、异常值处理等。配置引擎允许将预处理步骤应用于选定的变量组,并且它与Scikit-learn Pipeline完全兼容。
Topological Data Analysis
giotto-tda 的库 Topological Data Analysis 旨在提供一个scikit-learn兼容的API。它提供了将数据输入(点云、图形、时间序列、图像)转换为适合计算拓学摘要的形式的工具,以及专门用于提取拓学起源的纯量特征集的组件,这些特征可以与scikit-learn中的其他特征提取方法一起使用。
用Python学习统计#
其他对数据分析和机器学习有用的包。
Pandas 用于处理异类和列数据、关系查询、时间序列和基本统计数据的工具。
statsmodels 估计和分析统计模型。与scikit-learn相比,更注重统计测试,较少注重预测。
PyMC Bayesian统计模型和匹配算法。
Seaborn 基于matplotlib的可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。
scikit-survival 一个实施模型以从审查的事件时间数据中学习的图书馆(也称为生存分析)。模型与scikit-learn完全兼容。
推荐引擎包#
implicit <https://github.com/benfred/implicit>
_,隐式反馈数据集库。lightfm 混合推荐系统的Python/Cython实现。
Surprise Lib 显式反馈数据集库。
域名特定包#
scikit-network 图形上的机器学习。
scikit-image Python中的图像处理和计算机视觉。
Natural language toolkit (nltk) 自然语言处理和一些机器学习。
gensim A library for topic modelling, document indexing and similarity retrieval
NiLearn 神经成像的机器学习。
AstroML 天文学的机器学习。
scikit-learn文档的翻译#
翻译的目的是简化英语以外语言的阅读和理解。其目的是帮助那些不懂英语或对其解释有疑问的人。此外,有些人更喜欢阅读母语的文档,但请记住,唯一的官方文档是英语文档 [1].
这些翻译工作是社区举措,我们无法控制它们。如果您想贡献或报告翻译的问题,请联系翻译的作者。一些可用的翻译在此处链接,以改善其传播并促进社区努力。
脚注