,除了部分指标主观和难以测量外,该数据还存在一个问题,数据集中有

30%的值是缺失的。下面将首先介绍如何处理数据集中的数据缺失问题,然 后 再 利 用 Logistic回 归

和随机梯度上升算法来预测病马的生死。

准备数据:处理被据中的缺失值

因为有时候数据相当昂贵,扔掉和重新获取

都是不可取的,所以必须采用一些方法来解决这个问题。

下面给出了一些可选的做法:

这里选择实数0来替换所有缺失值,恰好能适用于Logistic回归。这样做的直觉在

于 ,我们需要的是一个在更新时不会影响系数的值。回归系数的更新公式如下:

使 用 Logistic

回归方法进行分类并不需要做很多工作,所需做的只是把测试集上每个特征向量乘以最优化方法

得来的回归系数,再将该乘积结果求和,最后输人到sigmoid 函数中即可0 如果对应的sigmoid值

大于0.5就预测类别标签为1,否则为0。

defclassifyVector(inX, weights):

prob= sigmoid(sum(inX*weights))if prob > 0.5:return 1.0

else:return 0.0

defcolicTest():

frTrain= open('F:\\machinelearninginaction\\Ch05\\horseColicTraining.txt')

frTest= open('F:\\machinelearninginaction\\Ch05\\horseColicTest.txt')

trainingSet=[]

trainingLabels=[]for line infrTrain.readlines():

currLine= line.strip().split('\t')

lineArr=[]for i in range(21):

lineArr.append(float(currLine[i]))

trainingSet.append(lineArr)

trainingLabels.append(float(currLine[21]))

trainWeights= stocGradAscent1(array(trainingSet), trainingLabels, 1000)

errorCount= 0; numTestVec = 0.0

for line infrTest.readlines():

numTestVec+= 1.0currLine= line.strip().split('\t')

lineArr=[]for i in range(21):

lineArr.append(float(currLine[i]))if int(classifyVector(array(lineArr), trainWeights))!= int(currLine[21]):

errorCount+= 1errorRate= (float(errorCount)/numTestVec)print("the error rate of this test is: %f" %errorRate)return errorRate

defmultiTest():

numTests= 10; errorSum=0.0

for k inrange(numTests):

errorSum+=colicTest()print("after %d iterations the average error rate is: %f" % (numTests, errorSum/float(numTests)))

multiTest()

小结:

python预测疾病_吴裕雄--天生自然python机器学习:使用Logistic回归从疝气病症预测病马的死亡率...相关推荐

  1. mysql 查询 系统字段 自然日_吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB...

    本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...

  2. python电商爬虫源码_吴裕雄--天生自然PYTHON爬虫:爬取某一大型电商网站的商品数据...

    由于这里的目标是获取整个自由行的产品列表,因此还需要获取出发站点的列表,从不同的城市出发,会有不用的产品. 返回自由行的首页,单击搜索框左侧的出发站点,如下图: 切换到Headers界面: 可以看到此 ...

  3. Logistic回归实战---疝气病症预测病马的死亡率

    Logistic回归实现预测HorseColic 使用Logistic回归来预测患疝气病的马的存活问题(从疝气病症预测病马的死亡率) 一.环境准备 原始数据集下载及说明:http://archive. ...

  4. 吴裕雄--天生自然 人工智能机器学习实战代码:线性判断分析LINEARDISCRIMINANTANALYSIS...

    import numpy as np import matplotlib.pyplot as pltfrom matplotlib import cm from mpl_toolkits.mplot3 ...

  5. python医疗系统设计_吴裕雄 python 人工智能——智能医疗系统后台用户复诊模块简约版代码展示...

    #复诊 importsysimportosimporttimeimportoperatorimportcx_Oracleimportnumpy as npimportpandas as pdimpor ...

  6. 吴裕雄--天生自然 中医研究学习:入门

    中医学是研究人体生理病理,疾病诊断与防治以及摄生康复的一门医学科学,至今已有数千年的历史.中医学是"以中医药理论与实践经验为主体,研究人类生命活动中医学中健康与疾病转化规律及其预防.诊断.治 ...

  7. python识别花草_吴裕雄 python神经网络 花朵图片识别(9)

    import os import numpy as np import matplotlib.pyplot as plt from PIL import Image, ImageChops from ...

  8. 吴裕雄--天生自然 PYTHON3开发学习:输入和输出

    str = input("请输入:"); print ("你输入的内容是: ", str) # 打开一个文件 f = open("/tmp/foo.t ...

  9. 吴裕雄--天生自然 PYTHON3开发学习:字符串

    var1 = 'Hello World!' var2 = "Runoob" #!/usr/bin/python3 var1 = 'Hello World!' var2 = &quo ...

最新文章

  1. Java Scoket之java.io.EOFException解决方案
  2. nagios报警延迟的解决--flapping state
  3. caffe 练习1:training LeNet on MNIST with Caffe/ 用LeNet识别手写字符集 Mnist------by 香蕉麦乐迪
  4. 【攻防演练】蓝方值守阶段经验技巧
  5. Tecplot云图锯齿状边界解决办法
  6. python os库使用
  7. haproxy +keepalived 原创
  8. 解决Ajax请求时无法重定向的问题
  9. mysql游标 原理解说_mysql存储过程之游标(DECLARE)原理与用法详解
  10. 【多媒体封装格式详解】---MKV【3】完
  11. c语言中学生信息管理系统中删除学生信息,学生信息管理系统C语言编程
  12. pg数据库的一些问题
  13. 【坚持每日一题9.21】整数的英语表示
  14. vue2.0和3.0引入阿里字体图标库的步骤
  15. 恒生电子招聘,内含内推码
  16. Supermicro 1024US-TRT 服务器评测:1U 机箱中的 128 个内核
  17. 有谁知道iphone XR的“R”到底是什么意思?答案可能会让你们无奈
  18. 分享16个经典面试问题回答思路
  19. DOM案例练习-推荐几个DOM小案例练习有示例代码
  20. Transformer-XL

热门文章

  1. java的visitor模式_java设计模式(二十一)访问者模式(Visitor)
  2. ie浏览器速度提升设置 关闭网页多媒体方法
  3. 腾讯视频下载安装免费2020_腾讯视频app的哪里发贴
  4. jeecg t:datagrid标签 每页显示条数 扩展
  5. Spring的ApplicationEvent的使用
  6. SpringBoot——实现WebService接口服务端以及客户端开发
  7. 史上最全的五大算法总结
  8. 小米手机上安装https证书(例如pem证书,crt证书)详解
  9. 禁用当前的账户win7_系统小技巧:服务客人 开启Windows 10来宾账户
  10. c语言加密shell脚本,shell脚本加密