Python机器学习教程_逻辑回归.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python机器学习教程_逻辑回归.docx

Python机器学习教程——逻辑回归本教程介绍如何用Python的机器学习库scikit-learn去编写逻辑回归分类器。首先介绍一下IRIS,IRIS数据集包含了150条花的数据,前4列是花的4个特征(feature),第五列是花的类别(label),下图展示了IRIS的特性,可以看出,选任意2个特征看(每个小图),都很难直接用简单的IF-ELSE语句用人工规则根据feature判断label。下面介绍如何用Python机器学习库scikit-learn(sklearn)利用逻辑回归对IRIS进行分类。在介绍代码前先介绍一些基础知识,以便顺利地运行或阅读代码:1.本代码需要依赖的第三方Python库有scikit-learn、requests和matplotlib,其中一些库使用pip安装会特别麻烦(尤其在Windows上)。对于Ubuntu:sudo apt-get install python-scipysudo apt-get install python-matplotlibsudo pip install scikit-learnsudo pip install requests1234对于Windows:安装Anaconda进入Anaconda Prompt,使用conda create -n scipy python=2.7新建一个conda环境(以后就不需要运行这个命令了)进入Anaconda Prompt,使用activate scipy激活Python环境,执行命令:conda install scikit-learn?conda install matplotlib?pip install requests?2.在训练分类器时,往往选择数据集的80%作为训练集,20%作为测试集。测试时不在80%的训练集上进行,只在20%的测试集上进行,这是为了检测算法是否过拟合。3.教程代码中用到了map语法,即将一个数组的每个元素进行相同的变换,映射为另一个数组。如有一个数组x = [2,3,4,5,6],语句[ v + 1 for v in x]会返回一个新数组[3,4,5,6,7],x自身不会变化。4.教程代码中将原始的字符串label(3种)转换为了3个label_id(整数型,0,1,2)。代码:#coding=utf-81import requestsimport random#下载IRIS数据集data_url = /CrawlScript/Tensorflow-AutoEncoder/master/tutorial_datasets/iris/iris.dataraw_data = requests.get(data_url).textfeatures_list = [] #用于存放所有特征label_list = [] #用于存放所有labellabel_dict = {} #字典,用于存放label名和label id的映射last_label_id = -1#输入label名,获取label id#如果label_dict中已经包含了label_name,直接获取其中的label_name#如果label_dict不包含label_name, 用当前最大的label id加1作为label id,并将其加入label_dictdefconvert_label(label_name):globallast_label_idiflabel_nameinlabel_dict:returnlabel_dict[label_name]else:last_label_id += 1label_dict[label_name] = last_label_idreturnlast_label_idline_list = raw_data.split() #把数据按行切分random.shuffle(line_list) #打乱数据#将每行数据转换为features和labelfor line inline_list: values = line.split(,) features = [float(value) for value in values[:-1]] #从每行提取特征features_list.append(features)label_id = convert_label(values[-1])label_list.append(label_id)12345678910111213141516171819202122232425262728293031323334total_size = len(label_list) # 计算总数据量split_size = total_size *

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档