编程实现对率回归,并给出西瓜数据3.0α上的结果

首先,我们要构造跃阶函数,也就是sigmoid函数,书中给的函数是:

                                                                                          

由这个跃阶函数来处理二分类问题。

这个跃阶函数的代码构造如下,需要用到numpy库中的exp(注意不是math.exp):

但是,这个跃阶函数的效果不是太好,亲自试验过,发现效果不是一般的差。一般都是用

                                                                                             

这个公式来计算,也就是上图注释掉的代码。

之后就开始循环训练了。

以上代码为训练代码,其中data.T在这里也可以用data.transpose()来代替,data.transpose()功能比.T转置要更多功能。

执行并用图输出:

附上训练数据:

训练后的参数可视化:

效果还不错。

附上好的対率回归的博客:https://blog.csdn.net/achuo/article/details/51160101

posted @ 2019-04-26 09:36  caxi  阅读(1757)  评论(0编辑  收藏  举报