如何在原数据集上构建相关特征 写出python代码
时间: 2024-09-18 16:14:04 浏览: 23
Vision Transformer 网络对英文手写字母的识别分类【数据集、代码】
在构建相关特征时,通常需要对原始数据集进行预处理和分析。Python中有许多库可以辅助这一过程,如Pandas用于数据处理,NumPy用于数值计算,而Scikit-learn则提供了一些高级功能。下面是一个简单的例子,假设我们有一个包含用户购买记录的数据集,我们要创建一些相关的特征:
```python
import pandas as pd
from sklearn.preprocessing import LabelEncoder
# 假设 data 是 DataFrame,包含 'user_id', 'product_id', 'category', 'quantity' 等列
# 1. 计算每个用户的购买总数量
data['total_quantity'] = data.groupby('user_id')['quantity'].transform('sum')
# 2. 用户购买频次
data['purchase_frequency'] = data.groupby('user_id').size()
# 3. 新增类别编码特征(如果类别型)
le = LabelEncoder()
data['category_encoded'] = le.fit_transform(data['category'])
# 4. 列组合特征(例如,最常购买的产品)
data['most_common_product'] = data.groupby('user_id')['product_id'].transform('mode').astype(int)
# 5. 时间序列相关特征 (如:用户在过去一段时间内的平均购买量)
time_window = 7 # 一周的时间窗口
data['rolling_avg'] = data['quantity'].rolling(time_window).mean().shift(time_window - 1)
# 这只是一个基本示例,实际特征会根据数据具体情况调整
```
阅读全文