使用PySpark计算AUC,KS与PSI】的更多相关文章

根据决策值和真实标签画ROC曲线,同时计算AUC的值 步骤: 根据决策值和真实标签画ROC曲线,同时计算AUC的值: 计算算法的决策函数值deci 根据决策函数值deci对真实标签y进行降序排序,得到新的排序$roc_y$ 根据$roc_y$分别对正负类样本进行累积分布$stack_x$,$stack_y$ 根据$stack_x$,$stack_y$计算RUC的值 \[AUC = \sum_{i=2}^{n}(stack_x(i)-stack_x(i-1))*stack_y(i) \] 分别以$…
1.安装scikit-learn 1.1Scikit-learn 依赖 Python (>= 2.7 or >= 3.3), NumPy (>= 1.8.2), SciPy (>= 0.13.3). 分别查看上述三个依赖的版本, python -V        结果:Python 2.7.3 python -c 'import scipy; print scipy.version.version'    scipy版本结果:0.9.0       python -c "…
需求:使用pyspark计算相同key的最大值.最小值.平均值 说明: 最大值和最小值好计算,直接reduceByKey后使用python内置的max.min方法 平均值计算提供两种计算方法,直接先上代码和运行结果,后面有代码记录 def main(): sc = SparkContext(conf=SparkConf()) rdd1 = sc.parallelize([("a", 3), ("a", 2), ("b", 5), ("b…
AUC(Area under curve)是机器学习常用的二分类评测手段,直接含义是ROC曲线下的面积.另一种解释是:随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率. 在有M个正样本,N个负样本的数据集里,利用公式求解: \[ AUC=\frac{\sum_{i \in positiveClass} rank_i-\frac{M(1+M)}{2}}{M*N} \] 在python实现中,相当于使用了计数排序,因为…
AUC = sum( (Y(2:end)+Y(1:end-1))/2 .* (X(2:end) - X(1:end-1)) X 和 Y 均是向量: Y(2:end) - Y(1:end-1),是 Y(2) - Y(1), Y(3) - Y(2), Y(4) - Y(3) -., 得到还是一个向量,长度少 1 而已: Y .* X,这是向量的按位相乘:…
KS,AUC 和 PSI 是风控算法中最常计算的几个指标,本文记录了多种工具计算这些指标的方法. 生成本文的测试数据: import pandas as pd import numpy as np import pyspark.sql.functions as F from pyspark.sql.window import Window from pyspark.sql.types import StringType, DoubleType from pyspark.sql import Sp…
1. 混淆矩阵 确定截断点后,评价学习器性能 假设训练之初以及预测后,一个样本是正例还是反例是已经确定的,这个时候,样本应该有两个类别值,一个是真实的0/1,一个是预测的0/1 TP(实际为正预测为正),FP(实际为负但预测为正),TN(实际为负预测为负),FN(实际为正但预测为负) 通过混淆矩阵我们可以给出各指标的值:查全率(召回率,recall):样本中的正例有多少被预测准确了,衡量的是查全率,预测对的正例数占真正的正例数的比率: 查全率=检索出的相关信息量 / 系统中的相关信息总量 = T…
tensorflow可以很方便的添加用户自定义的operator(如果不添加也可以采用sklearn的auc计算函数或者自己写一个 但是会在python执行,这里希望在graph中也就是c++端执行这个计算) 这里根据工作需要添加一个计算auc的operator,只给出最简单实现,后续高级功能还是参考官方wiki https://www.tensorflow.org/versions/r0.7/how_tos/adding_an_op/index.html 注意tensorflow现在和最初的官…
首先AUC值是一个概率值,当你随机挑选一个正样本以及负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值,AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类. AUC计算 最直观的,根据AUC这个名称,我们知道,计算出ROC曲线下面的面积,就是AUC的值.事实上,这也是在早期 Machine Learning文献中常见的AUC计算方法.由于我们的测试样本是有限的.我们得到的AUC曲线必然是一个阶梯状的.因此,计算的AUC也就是这些…
2017-07-10 14:38:24 理论参考: 评估分类器性能的度量,像混淆矩阵.ROC.AUC等 http://www.cnblogs.com/suanec/p/5941630.html ROC全称:receiver operation characters,适用于二分类. 同理可得由ROC曲线计算的AUC,适用于二分类. 计算AUC需要知道这个表格:   实际正样本 实际负样本 预测正样本 正样本正确数 正样本错误数 预测负样本 负样本错误数 负样本正确数 其中实际正样本常被成为Posi…