Skip to main content

自动特征工程和选择线性预测模型

项目描述

autofeat图书馆

具有自动特征工程和选择的线性预测模型

该库包含AutoFeatRegressorAutoFeatClassifier具有与模型类似的接口的scikit-learn模型:

  • fit()拟合模型参数的函数
  • predict()给定输入预测目标变量的函数
  • score()计算拟合优度的函数(R^2/准确度)
  • fit_transform()transform()函数,通过模型设计和选择的附加特征扩展给定数据

调用该fit()函数时,将在内部调用该函数fit_transform(),因此如果您打算调用transform()相同的数据,请fit_transform()立即调用。transform()如果您已将数据拆分为训练数据和测试数据并且没有调用fit_transform()整个数据集,则该方法最有用。和函数可以以调用/时使用的原始数据帧的格式提供数据predict(),也可以给它们一个已经转换的数据帧。score()fit()fit_transform()

此外,模型中也只有特征选择部分FeatureSelector

AutoFeatLight此外(从 2.0.0 版开始),模型中还提供最小特征选择(去除零方差和冗余特征)、工程(简单乘积和特征比率)和缩放(功率变换以使特征更正态分布).

、和模型需要适合没有 NaN 的数据AutoFeatRegressor,因为它们在内部调用 sklearn模型,它不能处理 NaN。调用 时,NaN(但不是)是可以的。AutoFeatClassifierFeatureSelectorLassoLarsCVtransform()np.inf

autofeat示例笔记本包含一个简单的使用示例 - 试试吧!:) 其他示例可以在回归的 autofeat 基准笔记本中找到(其中还包含从下面提到的论文中重现结果的代码)和分类,以及测试脚本。

请记住,由于AutoFeatRegressorAutoFeatClassifier模型可以生成非常复杂的特征,它们可能会过度拟合数据集中的噪声,即,找到一些新特征会导致对训练集的良好预测,但会导致在新测试样本上的表现不佳。虽然这通常只发生在样本很少的数据集上,但我们建议您仔细检查发现的特征,autofeat并使用对您有意义的特征来训练自己的模型。

根据feateng_steps输入特征的数量(默认为 2)和数量,autofeat可以生成一个非常巨大的特征矩阵(在从这个庞大的特征池中选择最合适的特征之前)。通过在feateng_cols那些列中指定您希望在特征工程部分中最有价值的列,可以大大减少特征的数量。此外,transformations可以仅限于那些对您的数据有意义的特征转换。最后但同样重要的是,您可以对用于训练模型的数据进行二次抽样以限制内存需求。模型拟合后,您可以调用transform()整个数据集以仅生成在fit()/期间选择的少数特征fit_transform()

安装

您可以从此处下载代码并将 autofeat 文件夹包含在您的$PYTHONPATH或通过 pip 安装(仅限库组件):

$ pip install autofeat

该库需要 Python 3!其他依赖项:numpy, pandas, scikit-learn, sympy, joblib,pintnumba.

有关模型和实现的更多详细信息,请参阅论文 ——当然,如果此代码中的任何一个对您的研究有帮助,请考虑引用它:

@inproceedings{horn2019autofeat,
  title={The autofeat Python Library for Automated Feature Engineering and Selection},
  author={Horn, Franziska and Pack, Robert and Rieger, Michael},
  booktitle={Joint European Conference on Machine Learning and Knowledge Discovery in Databases},
  pages={111--120},
  year={2019},
  organization={Springer}
}

如果你不喜欢阅读,你也可以观看我在 PyData 会议上关于自动化特征工程和选择的演讲视频autofeat

该代码旨在用于研究目的。

如果您有任何问题,请随时给我发送电子邮件,当然,如果您发现任何错误或想贡献其他改进,非常欢迎拉取请求!

致谢

得益于巴斯夫的支持,该项目得以实现。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

autofeat-2.0.10.tar.gz (25.6 kB 查看哈希

已上传 source

内置分布

autofeat-2.0.10-py3-none-any.whl (24.8 kB 查看哈希)

已上传 py3