码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 特征生成(特征创建)


    目录

    • 前言
    • 一、特征生成的作用
    • 二、特征生成的方法
      • 2-1、转换方式
    • 三、自动化特征生成工具FeatureTools
      • 3-1、涉及概念&安装
      • 3-2、官方小栗子
    • 四、自动化特征生成简易算法包ATOM
    • 总结


    前言

    数据决定了模型效果的上限,使用复杂模型只能逼近上限!

    一、特征生成的作用

    1、增加特征表达能力,提升模型效果。
    2、可以融入业务上的理解设计特征,增加模型的可解释性。

    二、特征生成的方法

    2-1、转换方式

    转换方式:
    1、数值类型:加减乘除等运算、排序编码、多个列统计。
    2、字符串类型:

    • 截取:当字符类型的值过多时,通常可以对字符类型变量做截取,以减少模型的过拟合。
    • 统计频次:统计字符出现的频次。
    • 统计字符长度:统计字符串出现的长度。

    3、日期类型:日期间隔、月份、周几、小时数。
    分组聚合方式:计数、求最大值、最小值、平均值、求和、方差、均差、绝对值自定义函数。

    # 
    import numpy as np
    df['c'] = np.sum(df[['a', 'b']], axis=1)
    # 其他聚合函数
    # np.var()
    # np.max()
    # np.min()
    # np.abs()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    使用决策树创造新特征

    三、自动化特征生成工具FeatureTools

    介绍:Featuretools是执行自动化特征工程的框架。它擅长将时间和关系数据集转换为用于机器学习的特征矩阵, 把常见的特征工程方法进行了自动化封装,即所谓的dfs(深度特征合成).

    3-1、涉及概念&安装

    实体:即一张表或者是一个dataframe,多张表的集合叫做实体集。一个实体可以看作是一个pandas的数据框表示,多个实体的集合称为实体集合。
    关系:表之间的关联键的定义。
    算子:指的是一些特征工程的函数。
    原理:DFS(一种特征工程方法,支持从单个或者多个数据框中构造新特征, 把常见的特征工程方法进行了自动化封装。)通过将特征算子应用于Entityset的实体关系来构建新特征。
    安装:

    pip install featuretools -i https://mirror.baidu.com/pypi/simple
    
    • 1

    3-2、官方小栗子

    导入数据集:
    data :相当于有三个数据表,包括客户、会话、事务表。

    import featuretools as ft
    data = ft.demo.load_mock_customer()
    customers_df = data["customers"]
    customers_df
    
    • 1
    • 2
    • 3
    • 4

    输出:
    在这里插入图片描述

    sessions_df = data["sessions"]
    sessions_df.sample(5)
    
    • 1
    • 2

    输出:
    在这里插入图片描述

    transactions_df = data["transactions"]
    transactions_df.sample(5)
    
    • 1
    • 2

    输出:
    在这里插入图片描述

    # 指定字典,包含数据集中所有数据表的字典,数据表与其索引列和时间索引列一起传入。
    dataframes = {
         "customers" : (customers_df, "customer_id"),
         "sessions" : (sessions_df, "session_id", "session_start"),
         "transactions" : (transactions_df, "transaction_id", "transaction_time")
    }
    # 指定数据表之间的关系
    # 当两个数据帧具有一对多关系时,我们将“一个”数据帧称为“父数据帧”。父项和子项之间的关系定义如下:
    # (parent_dataframe, parent_column, child_dataframe, child_column)
    # 创建数据表之间的关联
    relationships = [("sessions", "session_id", "transactions", "session_id"),
                     ("customers", "customer_id", "sessions", "customer_id")]
    
    # 使用深度特征合成构建特征。
    # 设置主实体为customers
    feature_matrix_customers, features_defs = ft.dfs(
        dataframes=dataframes,
        relationships=relationships,
        target_dataframe_name="customers",
    )
    feature_matrix_customers
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    输出:
    在这里插入图片描述

    四、自动化特征生成简易算法包ATOM

    参考文章:
    FeatureTools官方文档.
    featuretools完全指南.
    featuretools入门尝试.
    机器学习实战 | 自动化特征工程工具Featuretools应用.

    阿里云开发者社区:featuretools完全指南.


    总结

    自古表白多白表,常与生人道人生。
  • 相关阅读:
    GBASE 8s cpu和共享内存配置参数
    Vite创建Vue2项目中,封装svg-icon组件并使用——插件之vite-plugin-svg-icons和fast-glob
    【网络安全的神秘世界】文件上传、JBOSS、Struct漏洞复现
    柯桥电脑办公中Ctrl+Enter,你用过吗?
    10 个你必须要知道的重要JavaScript 数组方法
    决策树算法、随机森林算法
    网络编程.
    web网页渗透测试
    Dubbo的前世今生
    java计算机毕业设计高校宿舍管理系统MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/weixin_42475060/article/details/126423064
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号