一.变量分箱 变量分箱常见于逻辑回归评分卡的制作中,在入模前,需要对原始变量值通过分箱映射成woe值.举例来说,如"年龄"这一变量,我们需要找到合适的切分点,将连续的年龄打散到不同的"箱"中,并按年龄落入的"箱"对变量进行编码. 关于变量分箱的作用,相关资料中的解释有很多,我认为变量分箱最主要有三个作用: 归一化:分箱且woe编码映射后的变量,可以将变量归一到近似尺度上: 引入非线性:对于逻辑回归这类线性模型,引入变量分箱可以增强模型的拟合能力:…
转载:https://zhuanlan.zhihu.com/p/38440477 转载:https://blog.csdn.net/starzhou/article/details/78930490 转载:https://www.cnblogs.com/wzdLY/p/9649101.html 1.离散的优势: (1)离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0.如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰: (2)逻辑回归属于广义线性模…
变量的KS值 KS(Kolmogorov-Smirnov)用于模型风险区分能力进行评估,指标衡量的是好坏样本累计部分之间的差距 .KS值越大,表示该变量越能将正,负客户的区分程度越大.通常来说,KS>0.2即表示特征有较好的准确率.强调一下,这里的KS值是变量的KS值,而不是模型的KS值.(后面的模型评估里会重点讲解模型的KS值).KS的计算方式: 计算每个评分区间的好坏账户数. 计算各每个评分区间的累计好账户数占总好账户数比率(good%)和累计坏账户数占总坏账户数比率(bad%). 计算每个…
转自:https://zhuanlan.zhihu.com/p/78809853 1.IV值的用途 IV,即信息价值(Information Value),也称信息量. 目前还只是在对LR建模时用到过这两个关键指标,当我们使用决策树时可以通过限制树的深度间接筛选掉一些对于当前任务贡献比较小的变量, 而LR则是给多少变量就使用多少变量(L2正则下).通常我们为了保证模型的有效性以及数据的全面性,在特征工程中会尽可能多的提供特征变量,包括衍生变量,这些衍生变量不会全部进入模型进行训练,否则模型会因为…
1.IV的用途 IV的全称是Information Value,中文意思是信息价值,或者信息量. 我们在用逻辑回归.决策树等模型方法构建分类模型时,经常需要对自变量进行筛选.比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表.那么我们怎么去挑选入模变量呢? 挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和…
整理一下这几个量的计算公式,便于记忆 采用信息增益率可以解决ID3算法中存在的问题,因此将采用信息增益率作为判定划分属性好坏的方法称为C4.5.需要注意的是,增益率准则对属性取值较少的时候会有偏好,为了解决这个问题,C4.5并不是直接选择增益率最大的属性作为划分属性,而是之前先通过一遍筛选,先把信息增益低于平均水平的属性剔除掉,之后从剩下的属性中选择信息增益率最高的,这样的话,相当于两方面都得到了兼顾.参考资料:信息熵.信息增益.信息增益率 woe和iv的计算 多重共线性:多重共线性是指多变量线…
对数据集分箱的方式三种,等宽等频最优,下面介绍对数据集进行最优分箱,分箱的其他介绍可以查看其他的博文,具体在这就不细说了: 大体步骤: 加载数据: 遍历所有的feature, 分别处理离散和连续特征: 得到IV树: 递归遍历IV树,得到分割点构成的列表: 去掉不符合条件的分割点,得到最优分割点列表: 遍历最优分割点列表,将最优分割点信息注入到InfoValue对象中: 将每个特征构成的对象放到规则集中(是一个列表): 通过规则集对test进行WOE转换: 将规则集存一份到csv中,可以直观的查看…
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本内容来源于CDA-DSC课程内容,原内容为<第16讲 汽车金融信用违约预测模型案例>. 建立违约预测模型的过程中,变量的筛选尤为重要.需要经历多次的筛选,在课程案例中通过了随机森林进行变量的粗筛,通过WOE转化+决策树模型进行变量细筛. 一.变量粗筛--随机森林模型 与randomForest包不同之处在于,party可以处理缺失值,而这个…
作者:个推高级数据工程师 晓骏 众所周知,金融是数据化程度最高的行业之一,也是人工智能和大数据技术重要的应用领域.随着大数据收集.存储.分析和模型技术日益成熟,大数据技术逐渐应用到金融风控的各个环节.个推作为专业的数据智能服务商,拥有海量数据资源,在智慧金融领域也推出了相应的数据解决方案-个真,为金融客户提供智能反欺诈.多维信贷风险评估和高意愿用户智能筛选等全流程的数据服务,助力各金融机构全面提升风控能力.本文将围绕大数据风控,结合个推实践,介绍金融风控机器学习的基本流程.算法实践和产品化建设等…
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 分箱法在实际案例操作过程中较为常见,能够将一些数据离散化,等级化,比如年龄段,我们并不想知道确切的几岁,于是乎可以将其分组.分段. 基础函数中cut能够进行简单分组,并且可以用于等宽分箱法. cut函数:cut(x, n):将连续型变量x分割为有着n个水平的因子.(参考来自: R语言︱数据集分组.筛选) [plain] view plain c…
1.聚合统计 1.1描述统计 #df.describe(),对数据的总体特征进行描述 df.groupby('team').describe() df.groupby('team').describe().T #列数太多,进行转置 1.2统计函数 #对分组对象直接使用统计函数,分组内数据进行计算,返回df形式的数据 #计算平均数 df.groupby('team').mean() #相关性系数 df.groupby('team').corr() #每组的累计最大值 df.groupby('tea…
转自:https://zhuanlan.zhihu.com/p/79934510 风控业务背景 在风控中,我们常用KS指标来评估模型的区分度(discrimination).这也是风控模型同学最为追求的指标之一.那么,有多少人真正理解KS背后的内涵?本文将从区分度的概念.KS的计算方法.业务指导意义.几何解释.数学思想等多个维度展开分析,以期对KS指标有更为深入的理解认知. 目录Part 1. 直观理解区分度的概念Part 2. KS统计量的定义Part 3. KS的计算过程及业务分析Part…
信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后运用logistic回归模型进行的一种二分类变量的广义线性模型. 本文重点介绍模型变量WOE以及IV原理,为表述方便,本文将模型目标标量为1记为违约用户,对于目标变量为0记为正常用户: 则WOE(weight of Evidence 证据权重)其实就是自变量取某个值的时候对违约比例的一种影响, 怎么理解这句话呢?我下面通过一个图标来进行说明. Woe…
woe全称是"Weight of Evidence",即证据权重,是对原始自变量的一种编码形式. 进行WOE编码前,需要先把这个变量进行分组处理(离散化) 其中,pyi是这个组中响应客户(即模型中预测变量取值为"是"或1的个体,也叫坏样本)占所有样本中所有响应客户的比例,pni是这个组中未响应客户(也叫好样本)占样本中所有未响应客户的比例: #yi是这个组中响应客户的数量,#ni是这个组中未响应客户的数量,#yT是样本中所有响应客户的数量,#nT是样本中所有未响应客…
我们在OC中定义变量,可以自己来定义变量的setter方法来设置变量值,用getter方法来获取变量值.但是当变量数量增多时,还采用手动添加setter/getter方法来操作变量,就会使得程序代码量大大增加.幸好从OC 2.0开始,我们能让系统自动生成设置变量值的方法或获取变量值的方法,即系统会自动为我们生成setter/getter方法.这中功能减少了代码量,让我们有更多的精力放在程序的业务逻辑上.为了使设置变量值的功能更加完善,OC使用@property来标识属性.例如变量可分为只读变量,…
1135: 零起点学算法42--多组测试数据(求和)IV Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 2439  Accepted: 1277[Submit][Status][Web Board] Description 还有一些输入是以上几种情况的组合,具体根据题目对前面几种情况进行组合 比如题目要求是多组测试数据 每组测试数据首先输入一个整数n(如果n=0就表示结束) 然后再输入n个整数 这…
Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇也就够了,不过我也尽量陈述的很详细 一.指针 要说指针,其实通俗易懂的话来说,他应该是保存内存地址的一个变量,我们来看一下小例子 #include <stdio.h> #include <stdlib.h> main(){ //int 变量 int i ; i = 5; //打印i的值…
eclipse自动生成变量名声明(按方法返回值为本地变量赋值) ctrl+2+L 这个快捷键可自动补全代码,极大提升编码效率! 注:ctrl和2同时按完以后释放,再快速按L.不能同时按! 比如写这句代码: Graphics g = image.getGraphics(); 只需要先写方法image.getGraphics() 然后按ctrl+2+L就可以自动补全代码为: Graphics graphics = image.getGraphics(); 这时我们可以根据需要修改这个变量的名字,比自…
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QCryptographicHash实现哈希值计算,支持多种算法     本文地址:http://techieliang.com/2017/12/668/ 文章目录 1. 介绍  1.1. 支持的算法  1.2. 提供的接口 2. 范例 1. 介绍 多看看Qt core模块会发现很多惊喜呀,里面包含的类很多涉及到很多方面的功能实现 先附上所有core类:Qt Core,再直接给出QCrypt…
md5是哈希算法的改进加强,因为不同原始值可能hash结果一样,但md5则改善了用于验证消息完整性,不同md5值原始值也必将不一样…
前言: 什么叫做:声明变量是求值过程?请看下面的声明, int i; 很简单,声明了个整型变量i,再看如下声明, int *p; 也很简单,立刻反应出来它是指向整型的指针,但是具体如何推倒出来的呢?其实在C语言中,变量的声明就是一种求值过程,把*p这部分声明看成表达式,对这个表达式的求值的结果是int类型,这样就可以倒推出p是指针整型的指针了,因为只有对指向整型的指针进行解引用操作才是整型类型!还有很多复杂的声明,都可以使用这种方法求其具体的类型. 下面让我们来验证typedef定义的新类型和普…
js变量作为数组对象的键值方法,变量键值获取数组值 js也可以像php的数组一样用下标获取数组的值,方法是: var arr = {'key':'abc'}; var key = 'key'; console.log(arr[key]);…
最近有一个项目,其中某个功能单表数据在可预估的未来达到了亿级,初步估算在90亿左右.与同事详细讨论后,决定采用一致性Hash算法来完成数据库的自动扩容和数据迁移.整个程序细节由我同事完成,我只是将其理解并成文,供有相同问题的同行参考. 参看此文的兄弟,默认各位已经熟悉一致性hash算法了.此文仅仅阐述代码细节,实现语言为Java. 项目背景 项目是一个实验室项目 其中有一个表叫做试验表,用于存储车型的试验数据,每个试验大概有6000条数据 总计初期约有2万个车型,每个车型初期包含超过50个试验.…
题目名称:Dijkstra算法 题目要求:课上给出相关附图,求解附图顶点A的单源最短路径. 附图: 做题过程 1.了解Dijkstra算法的相关知识,包括定义以及使用方法. 定义:Dijkstra算法是很有代表性的算法.Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式.注意该算法要求图中不存在负权边.具体的定义如下:Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的…
目录 1 问题描述 2 解决方案 2.1 蛮力法 2.2 分治法(归并排序)   1 问题描述 给定一个随机数数组,求取这个数组中的逆序对总个数.要求时间效率尽可能高. 那么,何为逆序对? 引用自百度百科: 设 A 为一个有 n 个数字的有序集 (n>1),其中所有数字各不相同. 如果存在正整数 i, j 使得 1 ≤ i < j ≤ n 而且 A[i] > A[j],则 <A[i], A[j]> 这个有序对称为 A 的一个逆序对,也称作逆序数. 例如,数组(3,1,4,5,…
问题描述 秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分.这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果.第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一份,最后把剩下的苹果重新合在一起.这些猴子依次悄悄来到山洞,都做同样的操作,恰好每次都剩下了m个苹果.第二天,这些猴子来到山洞,把剩下的苹果分成n分,巧了,还是剩下了m个.问,原来这些猴子至少采了多少个苹果. 输入格式 两个整数,n m 输出格式 一个整数,表示原来苹果的数目 样例输入 5 1 样例…
代码: script_name parameter1 parameter2 parameter3 ...我們很容易就能猜出 $0 就是代表 shell script 名称(路径)本身,而 $1 就是其后的第一个参数, 依次类推.... 須得留意的是 IFS 的作用,也就是, 若 IFS 被 quoting 處理後, 那麼 positional parameter 也會改變. 如下例: 代码: my.sh p1 "p2 p3" p4fucntion 時, 我不是說過它是 script 中…
在本人的博客里,分享了有关中值模糊的O(1)算法,详见:任意半径中值滤波(扩展至百分比滤波器)O(1)时间复杂度算法的原理.实现及效果 ,这里的算法的执行时间和参数是无关的.整体来说,虽然速度也很快,但是在某些特殊情况下我们还是需要更快的速度.特别是对于小半径的中值,我们有理由去对其进一步的优化的.本文我们进一步探讨这个问题. 一.3*3中值模糊 首先我们来看看半径为1的中值,此时涉及到的领域为3*3,共9个像素,那么最传统的实现方式就是对9个像素直接进行排序,这里我们直接使用系统的排序函数qs…
迪卡算法求积(n * n) 使用 array.reduce 的方式实现 笛卡尔积算法 const arr = [ ['黑色', '白色', '蓝色'], ['1.2KG', '2.0KG', '3.0KG'], ['a', 'b'], ['aa', 'bb'] ]; function descartes(array){ if( array.length < 2 ) return array[0] || []; return array.reduce((pre, cur, index) => {…
CONST(C中的CONST) const是一个C语言(ANSI C)的关键字,它限定一个变量不允许被改变,产生静态作用.使用const在一定程度上可以提高程序的安全性和可靠性.另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助.另外CONST在其他编程语言中也有出现,如A++.PHP5.B#.net.HC08 C.C#. 中文名 C语言的关键字 外文名 const 所属领域 计算机 格    式 C++.PHP5 目录 1 定义 2 目的 3 主要作用 4 …