目录
特征工程决定了模型精度的上限。
特征工程是数据挖掘的主要工作内容:数据清洗、数据预处理、数据转换。
特征工程大概占据了60%-70%的时间。
数值字段

例子:
df = pd.DataFrame({
'student_id': [1,2,3,4,5,6,7],
'country': ['China', 'USA', 'UK', 'Japan', 'Korea', 'China', 'USA'],
'education': ['Master', 'Bachelor', 'Bachelor', 'Master', 'PHD', 'PHD', 'Bachelor'],
'age': [34.5, 28.9, 19.5, 23.6, 19.8, 29.8, 31.7],
'target': [1, 0, 1, 0, 1, 0, 1]
})
df.head(10)

round
# 省略小数点
df['age_round1'] = df['age'].round()
# 按照区间进行分段 (实质是缩放)
df['age_round2'] = (df['age'] / 10).astype(int)
df.head(10)

可以一定程度上忽略特殊值对模型的影响
Box/Bins
df['age_<20'] = (df['age'] <= 20).astype(int)
df['age_20-25'] = ((df['age'] > 20) & (df['age'] <=25)).astype(int)
df['age_20-25'] = ((df['age'] > 25) & (df['age'] <= 30)).astype(int)
df['age_>30'] = (df['age'] > 30).astype(int)
df.head(10)

特征工程是提升模型精度的关键,包括数值字段的round和分箱,类别字段的一热编码、标签编码、序数编码、二进制编码、频率/计数编码和目标编码,以及日期字段的处理。特征筛选通过方差、相关性和模型重要性评估来决定字段的保留。
最低0.47元/天 解锁文章
712

被折叠的 条评论
为什么被折叠?



