4个超棒技巧,帮你搞定数据预处理与特征工程

本文介绍了4个数据预处理和特征工程的实用技巧:1)使用SMOTE过采样处理不平衡数据;2)利用Deep Feature Synthesis自动生成新特征;3)运用IterativeImputer估算缺失值;4)应用Isolation Forest检测异常值。这些方法有助于提升机器学习模型的性能和预测能力。
摘要由CSDN通过智能技术生成

全文共4514字,预计学习时长9分钟

开发机器学习模型最重要的两个步骤就是特征工程和预处理。特征工程包括特征的设计,而预处理则涉及数据清理。

我们经常花费大量时间,对数据进行精加工以用于建模。为使这一过程更加高效,本文将分享4个技巧,帮助你进行特征设计与预处理。

这些技巧可用于创建新特征、检测异常值、处理不平衡数据以及估算缺失值。

领域知识可能是设计特征期间最重要的几件事情之一。更好地了解你使用的特征,可以防止出现欠拟合和过拟合的情况。

1. 重新采样不平衡数据

实际上,你经常会遇到不平衡的数据。如果你的目标只是轻微的不平衡,那么这种不平衡当然不成问题。使用合适方式,例如平衡精确度、Precision-Recall 曲线或F1分数验证数据,就可解决这一问题。

不幸的是,情况并非总是如此,你的目标变量可能非常不平衡(例如,10:1)。那么,你可以对少数目标进行过采样,使用被称为SMOTE的技术引入平衡。

SMOTE

SMOTE全称为Synthetic Minority Oversampling Technique,是一种过采样技术,用于增加少数类的样本。

通过查看目标的特征空间、检测相邻目标,它能生成新样本。然后,仅选择相似样本,在相邻样本的特征空间内随机改变一列。

实现SMOTE的模块位于imbalanced-learn 文件夹中。你只需导入文件夹,应用fit_transform即可:

import pandas as pd
from imblearn.over_sampling import SMOTE

# Import data and create X, y
df = pd.read_csv('creditcard_small.csv')
X = df.iloc[:,:-1]
y = df.iloc[:,-1].map({1:'Fraud', 0:'No Fraud'})

# Resample data
X_resampled, y_resampled = SMOTE(sampling_strategy=
{"Fraud":1000}).fit_resample(X, y)
X_resampled = pd.DataFrame(X_resampled, columns=X.columns)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值