一,读取数据:
主要使用pandas 读取,以后考虑使用其他方法(libsvm等)
二,获取训练集和测试集:
这一步主要是划分数据集,drop()掉训练集里的预测那一列
三,处理缺失值:
可以使用fillna(value,inplace)来把缺失值补全
四:送入网络之前的处理:
1;分类信息的处理:
主要使用Keras的Tokenizer方法进行处理:1,使用Tokenizer类对训练集和测试集中的每一类进行词统计(方便embadding层),生成文档词典,以支持基于文档位序生成文本的向量表示。其中时间数据需要用pandas进行特别的处理,数值数据需要转化为数值类型。
2,连续型变量的处理:
如果不是数值型需要转化一下,如果数据的分布很广不便于处理可以使用np.log()进行处理,使其分布在一个较小区间内,对于其中的缺失值使用-1来填充。
3,文本特征:和分类特征不同的点在于文本信息要使用pad_sequences(maxlen)用0来补足。便于后续送入nlp网络
4,分别计算各种特征的长度
5, 划分训练和验证集:获取采样的索引,利用索引分别为分类数值(一块儿处理,如果分开处理需要单独分),文本信息划分训练集和测试集。
五,建立模型
六,训练
七,测试和可视化
八,调整参数