编程实现对率回归,并给出西瓜数据3.0α上的结果
首先,我们要构造跃阶函数,也就是sigmoid函数,书中给的函数是:
由这个跃阶函数来处理二分类问题。
这个跃阶函数的代码构造如下,需要用到numpy库中的exp(注意不是math.exp):
但是,这个跃阶函数的效果不是太好,亲自试验过,发现效果不是一般的差。一般都是用
这个公式来计算,也就是上图注释掉的代码。
之后就开始循环训练了。
以上代码为训练代码,其中data.T在这里也可以用data.transpose()来代替,data.transpose()功能比.T转置要更多功能。
执行并用图输出:
附上训练数据:
训练后的参数可视化:
效果还不错。
附上好的対率回归的博客:https://blog.csdn.net/achuo/article/details/51160101