LogisticRegression中文叫做逻辑回归,是一种基础、常用的分类方法。
2018年8月24日笔记
1.数据集
Iris(鸢尾花)数据集是多重变量分析的数据集。
数据集包含150行数据,分为3类,每类50行数据。
每行数据包括4个属性:Sepal Length(花萼长度)、Sepal Width(花萼宽度)、Petal Length(花瓣长度)、Petal Width(花瓣宽度)。可通过这4个属性预测鸢尾花属于3个种类的哪一类。
样本数据局部截图:
获取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
网页中内容如下图所示:
查看数据集对象的属性和方法,代码如下:
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)
与上图中文文档的图对照阅读,可以加强对数据集的理解。
上面一段代码的运行结果如下图所示:
将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()
上面一段代码的运行结果如下图所示: