1. 针对 "common_ts" 的数据处理:
common_ts 是 “时间戳” 格式的特征列信息,挖掘数据语义:
① 拆分:针对年、月、日等更小的时间梯度进行新的特征划分,并将其加入特征内部;
② 挖掘数据内涵:时间信息是否具备更深层、更实际的时间语义:如:时间戳数据 是否集中在特定的星期几;
③ 连续性特征:时间信息特征不同于其他普通信息,其连续性不可忽视,通过:滑动窗口等技术可挖掘。
2. 针对 "udmp" 的数据处理:
# 预处理数据:拆分,并转化为独热编码
def udmap_onethot(d):
v = [0] * 9
if d == 'unknown':
return v
d = eval(d)
for i in range(1, 10):
if 'key' + str(i) in d:
v[i - 1] = d['key' + str(i)]
return v
udmap_train = pd.DataFrame(train_data['udmap'].apply(udmap_onethot).tolist(), columns=[f'key{i}' for i in range(1, 10)])
train_data = pd.concat([train_data, udmap_train], axis=1)
udmap_test = pd.DataFrame(test_data['udmap'].apply(udmap_onethot).tolist(), columns=[f'key{i}' for i in range(1, 10)])
test_data = pd.concat([test_data, udmap_test], axis=1)
3. 针对 “数值类” 特征的数据处理:
可以通过寻求最值、频率等方式补充特征;另外值得说明的是,不要忽略一些统计学特征:如中位数,方差等。
4. 特征缩放、标准化、归一化:
① 特征缩放:在本次项目实践中,我运用到 “特征缩放” 的工程技巧,这帮助我取得了一些提升:
代码举例:
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_val_scaled = scaler.transform(X_val)
X_test_scaled = scaler.transform(X_test)
标签:总结,特征,udmap,train,key,test,data From: https://www.cnblogs.com/lipengyucode/p/17658147.html