今天准备做一个针对python工作选择城市的分类算法
数据集格式:
以城市city那一列作为训练的目标值,这里把城市分为两类:
一线城市和其他,一线城市包括:北京,上海,深圳,广州,这样划分后会导致数据集不平衡:
python工作在上述一线城市的数量占到9成以上,在分类过程中,算法可能会有较好精确率,但是预测后发现算法将城市都预测为一线城市,
因此,在这里要通过召回率和准确率来评判模型的好坏。
*这里就要使用到不平衡数据集的处理方式
1.过采样:将数量较少的数据增加如smote算法等
2.欠采样:将数量多的数据减少到跟数量少的数据一个量级
3.集成分类方法:通过对较多的数据集抽样和较少数据集组成新的数据集,然后进行投票的方式进行分类
代码实现
使用sklearn的扩展库imblearn
python 直接pip install i’m’b’learn
imblearn详细使用:
函数详细介绍
过采样:
导入方法
from imblearn.over_sampling import SMOTE, ADASYN
使用
x_re