机器学习入门之机器学习实战 logistic回归 python代码
小标 2018-10-15 来源 : 阅读 1407 评论 0

摘要:本文主要向大家介绍了机器学习入门之机器学习实战 logistic回归 python代码,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

本文主要向大家介绍了机器学习入门之机器学习实战 logistic回归 python代码,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

       

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 06 15:57:18 2017

@author: mdz
"""
‘‘‘//blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=9162199&id=4223505‘‘‘
import numpy as np
#读取数据
def loadDataSet():
    dataList=[];labelList=[]
    fr=open(‘testSet.txt‘)
    for line in fr.readlines():
        lineArr=line.strip().split()
        dataList.append([1.0,float(lineArr[0]),float(lineArr[1])])
        labelList.append(int(lineArr[2]))
    return dataList,labelList
#引入Logistic函数
def sigmoid(inx):
    return 1.0/(1+np.exp(-inx))
#梯度下降法拟合回归系数
def gradAscent(dataList,labelList):
    dataMat=np.mat(dataList)
    labelMat=np.mat(labelList).transpose()
    m,n=np.shape(dataMat)
    alpha=0.001
    maxCycles=500
    weights=np.ones((n,1))
    for k in range (maxCycles):
        h=sigmoid(dataMat*weights)
        error=(labelMat-h)
        weights=weights+alpha*dataMat.transpose()*error
    return weights 
#画图呈现分类效果
def plotBestFit(weights,dataList,labelList):
    import matplotlib.pyplot as plt
    weights=weights.getA()#返回narray
    dataArr=np.array(dataList)
    n=np.shape(dataArr)[0]
    xcord1=[];ycord1=[]
    xcord2=[];ycord2=[]
    for i in range(n):
        if int (labelList[i])==1:
            xcord1.append(dataArr[i][1]);ycord1.append(dataArr[i][2])
        else:
            xcord2.append(dataArr[i][1]);ycord2.append(dataArr[i][2])
    fig=plt.figure()
    ax=fig.add_subplot(111)
    ax.scatter(xcord1,ycord1,s=100,c=‘red‘,marker=‘s‘)
    ax.scatter(xcord2,ycord2,s=100,c=‘green‘,marker=‘o‘)
    x=np.arange(-3.0,3.0,0.1)
    y=(-weights[0]-weights[1]*x)/weights[2]
    ax.plot(x,y)
    plt.xlabel(‘X1‘)
    plt.ylabel(‘X2‘)
    plt.show()
    
#脚本
‘‘‘import temp
dataList,labelList=temp.loadDataSet()
weights=temp.gradAscent(dataList,labelList)
temp.plotBestFit(weights,dataList,labelList)‘‘‘testSet.txt‘‘‘
-0.017612 14.053064 0 -1.395634   4.662541    1  -0.752157   6.538620    0  -1.322371   7.152853    0  0.423363    11.054677   0  0.406704    7.067335    1  0.667394    12.741452   0  -2.460150   6.866805    1  0.569411    9.548755    0  -0.026632   10.427743   0  0.850433    6.920334    1  1.347183    13.175500   0  1.176813    3.167020    1  -1.781871   9.097953    0  -0.566606   5.749003    1  0.931635    1.589505    1  -0.024205   6.151823    1  -0.036453   2.690988    1  -0.196949   0.444165    1  1.014459    5.754399    1  1.985298    3.230619    1  -1.693453   -0.557540   1  -0.576525   11.778922   0  -0.346811   -1.678730   1  -2.124484   2.672471    1  1.217916    9.597015    0  -0.733928   9.098687    0  -3.642001   -1.618087   1  0.315985    3.523953    1  1.416614    9.619232    0  -0.386323   3.989286    1  0.556921    8.294984    1  1.224863    11.587360   0  -1.347803   -2.406051   1  1.196604    4.951851    1  0.275221    9.543647    0  0.470575    9.332488    0  -1.889567   9.542662    0  -1.527893   12.150579   0  -1.185247   11.309318   0  -0.445678   3.297303    1  1.042222    6.105155    1  -0.618787   10.320986   0  1.152083    0.548467    1  0.828534    2.676045    1  -1.237728   10.549033   0  -0.683565   -2.166125   1  0.229456    5.921938    1  -0.959885   11.555336   0  0.492911    10.993324   0  0.184992    8.721488    0  -0.355715   10.325976   0  -0.397822   8.058397    0  0.824839    13.730343   0  1.507278    5.027866    1  0.099671    6.835839    1  -0.344008   10.717485   0  1.785928    7.718645    1  -0.918801   11.560217   0  -0.364009   4.747300    1  -0.841722   4.119083    1  0.490426    1.960539    1  -0.007194   9.075792    0  0.356107    12.447863   0  0.342578    12.281162   0  -0.810823   -1.466018   1  2.530777    6.476801    1  1.296683    11.607559   0  0.475487    12.040035   0  -0.783277   11.009725   0  0.074798    11.023650   0  -1.337472   0.468339    1  -0.102781   13.763651   0  -0.147324   2.874846    1  0.518389    9.887035    0  1.015399    7.571882    0  -1.658086   -0.027255   1  1.319944    2.171228    1  2.056216    5.019981    1  -0.851633   4.375691    1  -1.510047   6.061992    0  -1.076637   -3.181888   1  1.821096    10.283990   0  3.010150    8.401766    1  -1.099458   1.688274    1  -0.834872   -1.733869   1  -0.846637   3.849075    1  1.400102    12.628781   0  1.752842    5.468166    1  0.078557    0.059736    1  0.089392    -0.715300   1  1.825662    12.693808   0  0.197445    9.744638    0  0.126117    0.922311    1  -0.679797   1.220530    1  0.677983    2.556666    1  0.761349    10.693862   0  -2.168791   0.143632    1  1.388610    9.341997    0  0.317029    14.739025   0 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved