mahout:0.9 ;
首先说明一点:logistic regression不支持并行,也就是mahout实现的也是单机的,运行在hadoop上面也没有意义(个人观点)。其次,建模得到那个公式太复杂了,所以TrainLogistic不分析了,只分析RunLogistic,即分析如何通过那个公式得到预测值。(最近感觉心很浮躁,静不下来,完全不在状态。。。哎。。。)
通过TrainLogistic可以得到一个公式,例如下面的样子:
-0.149*Intercept Term + -0.701*x + -0.427*y
先解释下Intercept Term吧,这个就是一个常量,在mahout里面实现的算法里面,其值为1.
其实本来我就是用测试的值,比如[0.97073650965467,0.989339149091393],对应于[x,y]然后使用1作为常量,相加,这样得到的值是:-1.25253208955095,和最后的结果0,0.222,-0.251366,的0.222相差很多,那么到底通过-1.25253208955095如何得到0.222呢?
RunLogistic的预测代码:
while (line != null) {
Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
int target