scikit-lego

scikit-lego

为scikit-learn提供自定义扩展的开源库

scikit-lego是一个开源Python库,为scikit-learn提供自定义转换器、指标和模型。该项目最初由荷兰多家公司合作开发,现已获得全球贡献。scikit-lego严格遵循scikit-learn标准,提供高质量代码和测试。它包含多种新特性,如自定义数据集、pandas工具、线性模型、朴素贝叶斯、混合模型、元估计器、预处理工具、模型选择方法和评估指标,旨在增强机器学习工作流程的灵活性和功能性。

scikit-lego机器学习Python库数据科学开源项目Github

下载量 版本 Conda版本 Ruff DOI

scikit-lego

<a href="https://koaning.github.io/scikit-lego/"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/c62743e4-d9c4-457a-a093-152380ea41d8.png" width="35%" height="35%" align="right" /></a>

我们热爱scikit-learn,但经常发现自己在编写自定义的转换器、指标和模型。这个项目的目标是尝试将这些整合到一个提供代码质量/测试的包中。该项目最初是荷兰多家公司之间的合作,但此后收到了来自全球的贡献。它由Matthijs BrounsVincent D. Warmerdam发起,作为教人们如何为开源项目做贡献的工具。

请注意,我们与scikit-learn项目没有正式关联,但我们严格遵守他们的标准。

同样适用于乐高。LEGO®是乐高集团公司的商标,该公司不赞助、授权或认可本项目。

安装

通过pip安装scikit-lego

python -m pip install scikit-lego

通过conda安装:

conda install -c conda-forge scikit-lego

或者,如果要编辑和贡献,你可以fork/clone并运行:

python -m pip install -e ".[dev]" python setup.py develop

文档

文档可以在这里找到。

使用

我们提供自定义的指标、模型和转换器。你可以像在scikit-learn中一样导入它们。

# 我们喜爱的scikit-learn内容 from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline # 从scikit-lego中添加的内容 from sklego.preprocessing import RandomAdder from sklego.mixture import GMMClassifier ... mod = Pipeline([ ("scale", StandardScaler()), ("random_noise", RandomAdder()), ("model", GMMClassifier()) ]) ...

功能

以下是该库当前提供的功能列表:

  • sklego.datasets.load_abalone 加载鲍鱼数据集
  • sklego.datasets.load_arrests 加载一个涉及公平性问题的数据集
  • sklego.datasets.load_chicken 加载令人愉悦的鸡重量数据集
  • sklego.datasets.load_heroes 加载风暴英雄数据集
  • sklego.datasets.load_hearts 加载一个关于心脏的数据集
  • sklego.datasets.load_penguins 加载一个可爱的企鹅数据集
  • sklego.datasets.fetch_creditcard 从openml获取欺诈数据集
  • sklego.datasets.make_simpleseries 生成模拟时间序列
  • sklego.pandas_utils.add_lags 在pandas数据框中添加滞后值
  • sklego.pandas_utils.log_step 一个用于记录管道步骤的有用装饰器
  • sklego.dummy.RandomRegressor 预测随机值的虚拟基准
  • sklego.linear_model.DeadZoneRegressor 具有成本函数死区的实验性特征
  • sklego.linear_model.DemographicParityClassifier 受人口平等约束的逻辑分类器
  • sklego.linear_model.EqualOpportunityClassifier 受平等机会约束的逻辑分类器
  • sklego.linear_model.ProbWeightRegression 将系数视为概率权重的线性模型
  • sklego.linear_model.LowessRegression 局部加权线性回归
  • sklego.linear_model.LADRegression 最小绝对偏差回归
  • sklego.linear_model.QuantileRegression 线性分位数回归,LADRegression的泛化
  • sklego.linear_model.ImbalancedLinearRegression 直接惩罚模型的过度/欠估计
  • sklego.naive_bayes.GaussianMixtureNB 通过为每个类的每列训练1D GMM进行分类
  • sklego.naive_bayes.BayesianGaussianMixtureNB 通过为每个类训练贝叶斯1D GMM进行分类
  • sklego.mixture.BayesianGMMClassifier 通过为每个类训练贝叶斯GMM进行分类
  • sklego.mixture.BayesianGMMOutlierDetector 基于训练好的贝叶斯GMM检测异常值
  • sklego.mixture.GMMClassifier 通过为每个类训练GMM进行分类
  • sklego.mixture.GMMOutlierDetector 基于训练好的GMM检测异常值
  • sklego.meta.ConfusionBalancer 允许平衡混淆矩阵的实验性特征
  • sklego.meta.DecayEstimator 为模型接受的sample_weight添加衰减
  • sklego.meta.EstimatorTransformer 将模型输出作为特征添加
  • sklego.meta.OutlierClassifier 将异常值模型转换为分类器以进行网格搜索
  • sklego.meta.GroupedPredictor 可以将数据分割成多个运行并在每个运行上运行模型
  • sklego.meta.GroupedTransformer 可以将数据分割成多个运行并在每个运行上运行转换器
  • sklego.meta.SubjectiveClassifier 为分类器添加先验的实验性特征
  • sklego.meta.Thresholder 允许对阈值进行网格搜索的元模型
  • sklego.meta.RegressionOutlierDetector 通过在回归中添加阈值来查找异常值的元模型
  • sklego.meta.ZeroInflatedRegressor 基于分类器预测零或应用回归
  • sklego.preprocessing.ColumnCapper 限制模型特征的极端值
  • sklego.preprocessing.ColumnDropper 从pandas中删除列
  • sklego.preprocessing.ColumnSelector 基于列名选择列
  • sklego.preprocessing.InformationFilter 可以去相关特征的转换器
  • sklego.preprocessing.IdentityTransformer 返回相同的数据,允许连接管道
  • sklego.preprocessing.OrthogonalTransformer 使所有特征线性独立
  • sklego.preprocessing.TypeSelector 基于类型选择列
  • sklego.preprocessing.RandomAdder 在训练中添加随机性
  • sklego.preprocessing.RepeatingBasisFunction 重复特征工程,适用于时间序列
  • sklego.preprocessing.DictMapper 为分类列分配数值
  • sklego.preprocessing.OutlierRemover 在训练期间移除异常值的实验方法
  • sklego.model_selection.GroupTimeSeriesSplit 用于每组观察数不同的组的时间序列K折交叉验证
  • sklego.model_selection.KlusterFoldValidation 基于聚类进行K折交叉验证的实验性特征
  • sklego.model_selection.TimeGapSplit 训练/测试之间有间隔的时间序列K折交叉验证
  • sklego.pipeline.DebugPipeline 添加调试信息以便于调试
  • sklego.pipeline.make_debug_pipeline 创建可调试管道的快捷函数
  • sklego.metrics.correlation_score 计算模型输出与特征之间的相关性
  • sklego.metrics.equal_opportunity_score 计算平等机会指标
  • sklego.metrics.p_percent_score 模型公平性对敏感属性的代理
  • sklego.metrics.subset_score 在数据子集上计算得分(用于公平性跟踪)

新功能

我们在接受新功能方面相当开放,但在添加到项目之前,我们要求满足三个条件:

  1. 任何新功能都要对可演示的现实世界用例有所贡献
  2. 任何新功能都要通过标准单元测试(我们使用scikit-learn的测试)
  3. 该功能事先已在问题列表中讨论过

我们自动化所有测试,并使用预提交钩子来保持代码正常工作。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多