本人笔记方便复习
- onehot编码时只接受str输入,因为要进行离散值分类,因此需要对完整的数据进行分割,分为数值型,字符型;
- 利用sklearn可以直接读txt形成numpy.array格式数据,但是onehot好像只接受list输入,所以对数据array转换为list输入,编码完成后输出时csr_martix,显然又需要转换为array才可以使用。转化方法是(.A)
- 字符数据经过独热编码后,需要与数值数据拼接形成完整的训练集数据,这时由于数据格式都是numpy.array,可以直接使用已有方法,numpy提供了hstack和vstack方法可以直接横向拼接或竖向拼接。
- 还有一点,svm模型构建的时候可以根据数据类别不平衡性设置权重,但是我发现你的训练集比例必须和权重参数值是一样的,否则就报错了。
展示一下我用一个简单的数据集跑出来的结果~~