1,数据分析与可视化
(1)导入库
Matplotlib是画图库,Seaborn是一个建立在Matplotlib之上的高级数据可视化库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
(2)读取文件
train_data = pd.read_csv('用户新增预测挑战赛公开数据/train.csv')
test_data = pd.read_csv('用户新增预测挑战赛公开数据/test.csv')
(3)绘制图像
sns.heatmap(train_data.corr().abs(), cmap='YlOrRd')
sns.barplot(x='x7', y='target', data=train_data)
输出图像得到:
2,模型交叉验证
- 导入库:导入了必要的Python库,包括Pandas(用于数据处理)、NumPy(用于数值计算)、以及Scikit-learn(用于机器学习)。
- 读取训练集和测试集文件:从CSV文件中读取了训练集和测试集的数据。
- 提取udmap特征,人工进行onehot:对'udmap'列进行one-hot编码。在这个过程中,如果'udmap'的值是'unknown',那么会返回一个全0的向量。否则,会将'udmap'列中每个键值对的键作为索引,对应的值作为该位置的值。
- 编码udmap是否为空:将'udmap'列是否为'unknown'的情况转换为整数(0表示不是,1表示是)。
- udmap特征和原始数据拼接:将经过one-hot编码的udmap特征与原始数据拼接在一起。
- 提取eid的频次特征:计算每个用户ID('eid')出现的频率。
- 提取eid的标签特征:根据每个用户ID的目标值('target')的平均值计算标签特征。
- 提取时间戳:将'common_ts'列转换为datetime对象,并提取小时信息。
- 导入模型:从Scikit-learn导入了四种常用的分类器