机器学习实战练习———logistic回归:疝气病预测病马死亡概率

编程入门 行业动态 更新时间:2024-10-22 14:37:56

机器学习实战练习———logistic回归:<a href=https://www.elefans.com/category/jswz/34/1689665.html style=疝气病预测病马死亡概率"/>

机器学习实战练习———logistic回归:疝气病预测病马死亡概率

参考:

import numpy as np
import random'''
sigmoid()函数定义
'''
def sigmoid(inX):return 1.0/(1 + np.exp(-inX))'''
梯度上升算法
'''
def gradAscent(dataSet,classLabels):                                            #数据集和数据标签dataMatrix = np.mat(dataSet)                                                 #转换为nump matlabelMat = np.mat(classLabels).transpose()m,n=np.shape(dataMatrix)alpha = 0.01                                                                #学习速率maxCycle = 500                                                              #迭代次数weights = np.ones((n,1))                                                     #初始化权重系数全为1print(weights)for k in range(maxCycle):h = sigmoid(dataMatrix*weights)error = labelMat - hweights = weights + alpha*dataMatrix.transpose()*errorreturn weights.getA()def colicTest():frTrain = open('G:\MLiA_SourceCode\machinelearninginaction\Ch05\horseColicTraining.txt')frTest = open('G:\MLiA_SourceCode\machinelearninginaction\Ch05\horseColicTest.txt')trainingSet = [];trainingLabels = []for line in frTrain.readlines():currLine = line.strip().split('\t')lineArr = []for i in range(len(currLine)-1):lineArr.append(float(currLine[i]))trainingSet.append(lineArr)trainingLabels.append(float(currLine[-1]))trainingWeights = gradAscent(np.array(trainingSet),trainingLabels)errorCount = 0; numTestVec = 0.0for line in frTest.readlines():numTestVec += 1.0currLine = line.strip().split('\t')lineArr = []for i in range(len(currLine)-1):lineArr.append(float(currLine[i]))if int(classifyVector(np.array(lineArr),trainingWeights[:,0]))!= int(currLine[-1]):errorCount += 1errorRate = (float(errorCount)/numTestVec)*100print("测试集错误率为:%.2f%%" % errorRate)def classifyVector(inX, weights):prob = sigmoid(sum(inX*weights))if prob > 0.5: return 1.0else: return 0.0if __name__ == '__main__':colicTest()

更多推荐

机器学习实战练习———logistic回归:疝气病预测病马死亡概率

本文发布于:2024-02-12 22:29:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689661.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:疝气   概率   实战   机器   logistic

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!