-
- 特征学习*
- 关联规则为基础的特征学习
- 特征学习*
决策树对分类来说是很不错的算法,根据某个选定的字段切割数据集,如何再根据另一个字段切割剩下的数据集。
但是它一次只能考虑一个字段。一个是不好解读,一个是准确性会变低。
字段的相关性:
类别型相关性(Categorica-Type)
数值型相关性(Numerical-Type)
如果建立模型,我们能事先找到字段的相关性,那我们肯定可以使决策树变的更好
一下我们之前的案例:
如果我们不事先合并性别收入的出行会出现左侧情况,合并之后分支出去就可以产生一颗更精简的决策树,明明是两个不好的字段,却可以产生更好的结果。
如果考虑字段之间的依赖性,就可以做决策树做到更好。
相依性有3种情况:
1.类别与类别之间的依赖性
2.数值与数值之间的依赖性
3.类别与数值之间的依赖性
为了合并这3种方式:我们可以把数值型离散化就变成类别型了。之前讲过了。那就只用考虑类别型的相依性
这时我们就可以用关联规则寻找相依性。相关性是组合爆炸的问题,如果两两之间就会2的n次方减一。要考虑的实在太多了。
关联规则可以在这些内容里可以找到主要的相关性。
先把所有数值型的数据离散化变成分类型的数据,然后进行关联规则的处理,最后进行决策树等算法。关联规则是在后面机器学习的内容会说。
我们用到的是多维度的关联规则(multidimensional association)
:将表的每一笔数据看成是交易,考虑哪些值的出现会同时出现
然后选出字段了,再丢到决策树里去跑
案例:
因为income是数值型变量,我们要把它变成数值变量
我们直接给它跑决策树,50000为离散化的层次。
于是低于50000我们设定为low,高于50000的我们设定为high
于是我们就把它优数值型变为分类型。
然后我们就可以跑关联规则了。
我们可以用概念阶层,把每个字段,的每个类别编码为数字
数字代表他的类别值
简化一些。然后就可以跑关联规则:
每一个记录都看成一笔交易记录。
然后我们要设定一个阈值,(minimum support)最小出现几次才能视为频繁出现。这边设定为2次
行名代表长度,{1}{4},代表1出现4次。这边就是最少大于2次。因为有3个属性,所以至少要有3个值
进行数据一般化,要把数据提高到属性阶层。
得到的数值如下
关联规则,
我们发现出现gender和income出现次数是8,因为次数够多所以就可以合并。聚类,透过次数看,次数高的先合并。
设定试验,我们设定聚类数为3,跑一个
然后设定聚类数为2:把gender income合并
然后设定聚类数为1:把3个都合并
对比C5指标
最后我们发现
Cluster1:“gender”and“Income”
Cluster2:“State”
所以我们把gender-Income合并
然后我们在跑C5点数,就可以得到很好的结果。
-
-
- 神经网络为基础的特征学习
-
案例1:购买股票,解决T+1天大于t天就买,相等就保持,否则就买
人造数据集。
将两个字段排序,进行决策树解读
决策树:
决策树是只能切直线。切出区域。图解如下
在阴影处就会错误,决策树只能切出方正的范围。
这时我们就可以考虑用神经网络,找出数据的相关性。如果大于前一天就买,小于前一天就卖。找到有效的特征。
我们先对字段进行极值标准化(Min-Max)
正规化成0-1,
Input Nodes:2输入字段,
Hidden Nodes:隐藏层,
Out put Nodes输出层(BUY or sell),
Of Example训练次数18次
Of Training训练次数30000
Learning Rate2.0
Decrease by下降到百分之95
Lower Bound最低下降到百分之50
Momentum动量0.5(后面机器学习神经网络会说)
之后看神经网络,可以回头来再看看。产生了新的特征,坐标空间下面的。
再看看新的数据集
跑C5.0决策树规则。发现规则是
当新天数T大于-1.065625时就buy否则就卖。我们把原公式带入
我们把数据带回公式中,进行移项,我们可以发现T+1天大于T天,就BUY。
所以根据神经网络就可以找出属性的依赖性。
案例2:
这个案例是为了寻找你是否欺诈,
第一个是性别,
第二个字段是是否有共享你的phone,
第三个字段是你是否有共用你的e-mail
第四个字段是:联系人是否是同一个人
(如果同时满足,一般都会团伙欺诈。)
所以我们希望合并这3个字段,只有其中一个是满足,100,001,010
如果这个值是一,我们乘以它中间字段的负数值乘以另一个字段的值,加上绿色线的流程结果值,我们就会发现它会大于1,结果就是正数,概率大于0.5,就很可能是团伙。欺诈。只要其中一个是1,
所以要合并起来一起看,结果是这样
然后这时我们可以跑神经网络,也可以跑决策树,我们就会发现结果很好。。
总结:
类别型可以用关联型
数值型可以用神经网络
可以看后面的课程在回头来看这个。会尽快更新