用pandas,numpy,matplotlib来进行分析和建模的工作。
0 正常 1异常 做一个分类的任务
逻辑回归相当于一个分类问题。通过一个阈值,把一个得分值映射成一个概率值。通过概率值跟阈值进行一个比较。>0.5取1这个类别,<0.5取0这个类别。接下来用逻辑回归进行建模进行分类这样一个任务。
考虑实际,银行中可能99%都是正常数据信用卡,只有极少数诈骗数据。绝大多数是正样本,只有极少数是负样本。检验一下我们的数据是否是这种分布,是否均衡。x当作输入特征数据,y看成label 数据。对class来说,就是y。用pandas来检验样本的分布。pd.value_counts用来看class这一类有多少不同的属性值,每个属性的个数,用图表直观的表示出来。这里用pandas直接画图,当然matplot也可以话,pandas用来画一些简单的图。对count_classes.plot 传进来kind=bar,表示直方图。0样本很多,1异常样本极少,所以得到了我们拥有数据的一个大致分布的了解。0样本28万多,1是500个,样本分布极度不均衡。
*如何解决呢?*面对样本不均衡最常用的两种方法:过采样和下采样。
下采样:让0和1一样小,0有28万个,1有500个,在0样本中选出和1一样多的样本组合在一起,让她和1一样多,样本均衡。即让样本同样少。
过采样:1样本少,对1号样本进行一个生成策略,与0的一样多。即过采样对应着同样多。 哪种方案好呢???
让每个特征重要程度相当
保证特征之间的分布差异