同样的事理,这里我们采取recall来计算模型的短长,也就是说那些异常的样本我们的检测到了若干,这也是咱们最初的目标!这里平日用混淆矩阵来展示。
这个图就异常漂亮了!(并不是说画的好而是展示的很直接)大年夜图中可以清楚的看到原始数据中样本的分布以及我们的模型的猜测结不雅,那么recall是怎么算出来的呢?就是用我们的检测到的个数(137)去除以总共异常样本的个数(10+137),用这个数值往来交往评估我们的模型。应用混淆矩阵我们可以很直不雅的考察模型的精度以及recall,也是异常推荐大年夜家在评估模型的时刻不妨把这个图亮出来可以赞助咱们很直不雅的看清跋扈如今模型的效不雅以及存在的问题。
这可还木有完事,我们刚才只是鄙人采样的数据集中去进行测试的,那么这份测试还不克不及完全可托,因为它并不是原始的测试集,我们须要在原始的,大年夜量的测试集中再次去衡量当前模型的效不雅。可以看到效不雅其实还不错,然则哪块有些问题呢,是不是我们误杀了很多呀,有些样本并不是异常的,然则并我们缺点的当成了异常的,这个现象其实就是下采样策略本身的一个缺点。
对于逻辑回归算法来说,我们还可以指定则样一个阈值,也就是说最终结不雅的概率是大年夜于若干我们把它当成是正或者负样本。不消的阈值会对结不雅产生很大年夜的影响。
上图中我们可以看到不消的阈值产生的影响照样蛮大年夜的,阈值较小,意味着我们的模型异常严格宁可错杀也不肯放过,如许会使得绝大年夜多半样本都被当成了异常的样本,recall很高,精度稍低 当阈值较大年夜的时刻我们的模型就稍微宽松些啦,这个时刻会导致recall很低,精度稍高,综上当我们应用逻辑回归算法的时刻,还须要根据实际的应用处景来选择一个最恰当的阈值!
说完了下采样策略,我们持续唠一下过采样策略,跟下采样相反,如今咱们的策略是要让class为0和1的样本一样多,也就是我们须要去进行数据的生成啦。
SMOTE算法是用的异常广泛的数据生成策略,流程可以参考上图,照样异常简单的,下面我们应用现成的库来赞助我们完成过采样数据生成策略。
在练习逻辑回归的模型中做了一件非经惯例的工作,就是对于一个模型,咱们再选择一个算法的时刻伴跟着很多的参数要调节,那么若何找到最合适的参数可不是一件简单的事,依附经验值并不是十分靠谱,平日情况下我们须要大年夜量的实验也就是赓续去测验测验最终得出这些合适的参数。
很简单的几步操作我们就完成过采样策略,那么如今正负样本就是一样多的啦,都有那么20多W个,如今我们再经由过程混淆矩阵来看一下,逻辑回归应用于过采样样本的效不雅。数据加强的应用面已经异常广了,对于很多机械进修或者深度进修问题,这已经成为了一个惯例套路啦!
我们比较一下下采样和过采样的效不雅,可以说recall的效不雅都不错,都可以检测到异常样本,然则下采样是不是误杀的比较少呀,所以如不雅我们可以进行数据生成,那么在处理样本数据不均衡的情况下,过采样是一个可以测验测验的筹划!
总结:对于一个机械进修案例来说,一份数据肯定伴跟着很多的挑衅和问题,那么最为重要的就是我们该怎么解决这一系列的问题,大年夜牛们不见得代码写的比咱们强然则他们却很清跋假使何去解决问题。今天咱们讲述了一个以检测义务为背景的案例,个中涉及到若何处理样本不均衡问题,以及模型评估选择的办法,最后给出了逻辑回归在不祛除值下的结不雅。这里也是欲望同窗们可以经由过程案例多多积攒经验,早日成为大年夜牛。
【编辑推荐】
- Python中Requests库的高等用法
- 懂得Python装潢器看这一篇就够了
- Python编码为什么那么蛋疼?
- 每个Python高手都应当知道的内置函数
- Python趣味代码整合之晋升编程兴趣
推荐阅读
人工智能火了相当长一阵子,很多本钱、创颐魅者、大年夜小公司似乎都在追逐这可贵的风口,特别是李开复师长教师在多个公共场所宣传人工智能概念之后,到处可见的都是关于人工智能的报道和>>>详细阅读
本文标题:Python机器学习实战:信用卡欺诈检测
地址:http://www.17bianji.com/lsqh/34721.html
1/2 1