基于LogisticRegression的鸢尾花分类

  1. 云栖社区>
  2. 博客>
  3. 正文

基于LogisticRegression的鸢尾花分类

潇洒坤 2018-08-24 09:05:00 浏览1608
展开阅读全文

LogisticRegression中文叫做逻辑回归,是一种基础、常用的分类方法。

2018年8月24日笔记

1.数据集

Iris(鸢尾花)数据集是多重变量分析的数据集。
数据集包含150行数据,分为3类,每类50行数据。
每行数据包括4个属性:Sepal Length(花萼长度)、Sepal Width(花萼宽度)、Petal Length(花瓣长度)、Petal Width(花瓣宽度)。可通过这4个属性预测鸢尾花属于3个种类的哪一类。
样本数据局部截图:

img_6d28d040e19ed7ed2c87d8b48d20b8c7.png
Iris.png

获取150个样本数据的3种方法:
1.完整的样本数据Iris.csv文件下载链接: https://pan.baidu.com/s/16N0ivGWFrmc73ustPLWPZA 密码: ugun
2.数据集链接:https://gist.github.com/curran/a08a1080b88344b0c8a7
3.在sklearn的skleanrn库中自带了iris数据集,可以导入sklearn库的datasets文件,调用datasets文件中的load_iris方法就可以获得iris数据集。
本文采用的是第3种方法,直接从sklearn库中获取数据。

2.观察数据

鸢尾花数据集详细中文解释链接:http://sklearn.apachecn.org/cn/0.19.0/datasets/index.html#iris
网页中内容如下图所示:

img_bc46758276b75c0deb80660f50011936.png
image.png

查看数据集对象的属性和方法,代码如下:

from sklearn.datasets import load_iris
dir(load_iris())

上面一段代码的运行结果如下:

['DESCR', 'data', 'feature_names', 'target', 'target_names']

查看数据集的描述,即打印数据集对象的DESCR属性,代码如下:

from sklearn.datasets import load_iris
print(load_iris().DESCR)

与上图中文文档的图对照阅读,可以加强对数据集的理解。
上面一段代码的运行结果如下图所示:


img_c4549b60bd49dc052be41632731a0e29.png
image.png

将150个样本4个特征组成的矩阵赋值给变量X,变量X为大写字母的原因是数学中表示矩阵使用大写字母。
将150个样本1个预测目标值组成的矩阵赋值给变量y。
载入数据集的代码如下:

from sklearn.datasets import load_iris
X = load_iris().data
y = load_iris().target

3.逻辑回归模型

利用交叉验证方法得出模型得分。
代码如下:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import ShuffleSplit

logisticRegression_model = LogisticRegression()
cv_split = ShuffleSplit(n_splits=5, train_size=0.7, test_size=0.2)
score_ndarray = cross_val_score(logisticRegression_model, X, y, cv=cv_split)
print(score_ndarray)
score_ndarray.mean()

上面一段代码的运行结果如下图所示:


img_2877de3a351b9339aa8559c03f3a7896.png
交叉验证.png

网友评论

登录后评论
0/500
评论