特征衍生有哪些方法?缺失值如何填充的?
时间: 2023-05-30 13:06:39 浏览: 149
特征衍生的方法包括:
1. 通过数学变换,如对数、指数、平方、开方等,将原始特征转换成新的特征。
2. 通过组合原始特征,如加、减、乘、除,得到新的特征。
3. 通过离散化,将连续变量转换为离散变量,得到新的特征。
4. 通过聚类或分类算法,将原始特征划分为不同的类别,得到新的特征。
缺失值的填充方法:
1. 删除缺失值较多的样本或特征。
2. 使用中位数、平均数、众数等代替缺失值。
3. 使用插值法,如线性插值、拉格朗日插值、样条插值等,预测缺失值。
4. 使用机器学习算法,如随机森林、KNN等,预测缺失值。
相关问题
二、建模 1、数据说明: (1)数据路径:/home/datasets/df_file (2)本测试所涉及数据集为df_basic.csv(客户基本信息表), df_trade.csv(过去一段时间内客户的交易流水); (3)读取df_basic.csv,并命名为df_basic; (4)读取df_trade.csv,并命名为df_trade; 2.、特征构造 交易金额为df_trade表中zmt (1)在df_basic中,根据df_trade的数据信息,衍生特征“每个客户的交易笔数”并添加至df_basic中, 命名为'trade_cnt'; (2)在df_basic中,根据df_trade的数据信息,衍生特征“每个客户的交易总金额”并添加至df_basic中, 命名为'trade_amt'; 注意 (1)对于df_basic中,有的客户可能存在无交易行为。此情况下,trade_cnt/trade_amt用NA值表示即可; (2)可接受将id设为DataFrame的index的操作; 3、缺失值填充 (1)统计各列的缺失值比例; (2)对trade_cnt、trade_amt的缺失值填充为0; (3)对字符型特征的缺失值进行众数填充; (4)对数值型特征的缺失值进行中位数填充
您的问题是关于数据建模和特征构造的,需要对数据进行一些操作和填充缺失值。下面是对您提出的问题的回答:
1. 数据路径:/home/datasets/df_file
2. 数据集包括两个文件:df_basic.csv(客户基本信息表)和df_trade.csv(客户交易流水)。
3. 首先读取df_basic.csv文件,并将其命名为df_basic。
4. 然后读取df_trade.csv文件,并将其命名为df_trade。
特征构造:
1. 在df_basic中根据df_trade的数据信息,衍生特征"每个客户的交易笔数",并将其添加至df_basic中,命名为'trade_cnt'。
2. 在df_basic中根据df_trade的数据信息,衍生特征"每个客户的交易总金额",并将其添加至df_basic中,命名为'trade_amt'。
值得注意的是:
1. 对于df_basic中可能没有交易行为的客户,可以用NA值来表示trade_cnt和trade_amt。
2. 您可以将id设为DataFrame的index。
缺失值填充:
1. 统计各列的缺失值比例。
2. 将trade_cnt和trade_amt的缺失值填充为0。
3. 对于字符型特征,使用众数进行填充。
4. 对于数值型特征,使用中位数进行填充。
特征工程构建的先后顺序
特征工程的构建先后顺序可以分为以下几个步骤:
1. 数据清洗:包括缺失值填充、异常值处理、重复值处理等。
2. 特征预处理:包括特征标准化、归一化、离散化等。
3. 特征选择:包括过滤式、包裹式和嵌入式三种方法。
4. 特征构建:包括特交叉、特征衍生等。
5. 特征降维:包括主成分分析、线性判别分析等。
需要注意的是,这些步骤并不是一成不变的,具体的构建顺序需要根据实际情况进行调整和优化。