专栏首页Coggle数据科学李航《统计学习方法》逻辑斯蒂回归

李航《统计学习方法》逻辑斯蒂回归

Logistic regression算法

Python代码

import numpy as np

def loadData(filename):
    dataset = []; labels = []
    with open(filename) as file:
        for line in file.readlines():
            lineArr = line.strip().split()
            dataset.append([1.0, float(lineArr[0]), float(lineArr[1])])
            labels.append(int(lineArr[-1]))
   
    return  dataset, labels

def sigomid(x):
    return 1.0/(1 + np.exp(-x))

def gradient_ascent(dataset, labels, alpha, max_iter):
    dataMat = np.matrix(dataset)
    labelMat = np.matrix(labels).reshape(-1, 1)
    m,n = dataMat.shape
    w = np.ones((n,1))
    for i in range(max_iter):
        error = labelMat - sigomid(dataMat*w)
        w += alpha * dataMat.T * error
    return w

def main():
    filename = "dataset.txt"
    dataset, labels = loadData(filename)
    weights = gradient_ascent(dataset,  labels,  alpha=0.001,  max_iter=500)
    print(weights)

if __name__ == '__main__':
    main()

结果

[[ 4.12414349]
 [ 0.48007329]
 [-0.6168482 ]]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 李航《统计学习方法》决策树ID3算法实现

    机器学习算法其实很古老,作为一个码农经常会不停的敲if, else if, else,其实就已经在用到决策树的思想了。只是你有没有想过,有这么多条件,用哪个条件...

    Coggle数据科学
  • TIANCHI天池-OGeek算法挑战赛分享及完整代码(亚军)

    首先很幸运拿到本次大赛的亚军,同时非常感谢大佬队友的带飞,同时希望我的分享与总结能给大家带来些许帮助,并且一起交流学习。

    Coggle数据科学
  • 李航《统计学习方法》K近邻学习算法实现

    Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour...

    Coggle数据科学
  • Linux下搜狗输入法和快捷键Ctrl+Space冲突的解决

    把搜狗的启动快捷键给删了(如果有两个键盘【英+中】,你按Shift就可以切换了,完全没必要占着茅坑)

    逸鹏
  • 信号处理之频谱原理与python实现

    EEG信号是大脑神经元电活动的直接反应,包含着丰富的信息,但EEG信号幅值小,其中又混杂有噪声干扰,如何从EEG信号中抽取我们所感兴趣的信号是一个极为重要的问题...

    脑机接口社区
  • 问答 | 前向推理的时候 Yolov3 怎么指定 GPU?

    AI研习社
  • 自研安全工具之URL采集

    Burpsuite 是我认为的Web安全方面最优秀的一款工具了,它的功能异常强大,几乎覆盖了Web渗透的方方面面

    意大利的猫
  • 罗马数字与阿拉伯数字转换

    且“II”表示2,“III”表示3,“IV”表示4,“VI表示6”,“VII”表示7,“VIII”表示8,“IX”表示9,其余的类似。

    py3study
  • 集合系列 List(三):Vector

    Vector 的底层实现以及结构与 ArrayList 完全相同,只是在某一些细节上会有所不同。这些细节主要有:

    陈树义
  • 使用js替换数组中元素

    记得我最近刚刚做的一个项目,后端返回的一个数组对象,里面的图片的地址有问题,一个在这个ip上一个在另一个ip 上,我问他咋办,他说,你要自己把那个返回的数据重...

    我乃小神神

扫码关注云+社区

领取腾讯云代金券