• 深度特征合成与遗传特征生成,两种自动特征生成策略的比较


    特征工程是从现有特征创建新特征的过程,通过特征工程可以捕获原始特征不具有的与目标列的额外关系。这个过程对于提高机器学习算法的性能非常重要。尽管当数据科学家将特定的领域知识应用特定的转换时,特征工程效果最好,但有一些方法可以以自动化的方式完成,而无需先验领域知识。

    在本文中,我们将通过一个示例介绍如何使用 ATOM 包来快速比较两种自动特征生成算法:深度特征合成 (Deep feature Synthesis, DFS) 和遗传特征生成 (Genetic feature generation, GFG)。ATOM 是一个开源 Python 包,可以帮助数据科学家加快对机器学习管道的探索。

    基线模型

    为了进行对比,作为对比的基线只使用初始特征来训练模型。这里使用的数据是来自 Kaggle的澳大利亚天气数据集的变体。该数据集的目标是预测明天是否会下雨,在目标列 RainTomorrow 上训练一个二元分类器。

    1. import pandas as pd
    2. from atom import ATOMClassifier
    3. # Load the data and have a look
    4. X = pd.read_csv("./datasets/weatherAUS.csv")
    5. X.head()

    初始化实例并准备建模数据。这里仅使用数据集的一个子集(1000 行)进行演示。下面的代码估算缺失值并对分类特征进行编码。

    1. atom = ATOMClassifier(X, y="RainTomorrow", n_rows=1e3, verbose=2)
    2. atom.impute()
    3. atom.encode()

    输出如下所示。

    可以使用 dataset 属性快速检查数据转换后的样子。

    1. atom.dataset.head()

    数据现在已准备好。本文将使用 LightGBM 模型进行预测。使用 atom 训练和评估模型非常简单:

    1. atom.run(models="LGB", metric="accuracy")

    可以看到测试集上达到了 0.8471 的准确率。下面看看自动特征生成是否可以改善这一点。

     完整文章:

    https://www.overfit.cn/post/389b1d229dae4d0fb7b584cb37a350de

  • 相关阅读:
    理解和驾驭软件开发的那些事儿
    Dubbo 泛化调用的参数解析问题及一个强大的参数解析工具 PojoUtils
    HBase指定大量列集合的场景下并发拉取数据时卡住的问题排查
    阅读的收获
    碎碎念集萃二十
    《深度工作》学习笔记
    系统思考学习笔记
    思考力笔记
    碎碎念集萃十九
    设计方案考量的准则与细则
  • 原文地址:https://www.cnblogs.com/deephub/p/15944552.html
Copyright © 2020-2023  润新知