机器学习中另一个有名的数据集叫做Iris(鸢尾花)数据集,Iris数据集包含了来自三种不同品种:山鸢尾,变色鸢尾和弗吉尼亚鸢尾总共150朵鸢尾花的测量数据。这些测量数据包括花瓣的长度和宽度、花萼的长度和宽度,所有测量数据的计量单位为厘米。
我们的目标是构建一个机器学习模型,从这些已知品种的鸢尾花测量数据中学习而对新鸢尾花进行品种分类。
引入所须的模块,同样通过sklearn模块访问Iris数据集。
import numpy as np import cv2 from sklearn import datasets from sklearn import model_selection from sklearn import metrics import matplotlib.pyplot as plt %matplotlib inline plt.style.use('ggplot') #设置画图风格 12345678910
导入Iris数据集
iris = datasets.load_iris() 1
通过dir函数查看对象内的所有的属性和方法名称
dir(iris) #['DESCR', 'data', 'feature_names', 'filename', 'target', 'target_names'] 1
DESCR: 获取数据描述
data: 特征数据数组,<num_samples x num_features>的二维numpy.ndarray数组
feature_names: 特征名称
target: 标签数组, <num_samples x 1>的一维numpy.ndarray数组
target_names: 目标标签名
iris.data.shape #(150, 4) 1
表示数据集一共包含150个数据点,每个数据点包含4个特征。
iris.feature_names #['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] 1
查询这4个特征的名称,对应前面提到的花萼和花瓣的尺寸信息。
iris.target.shape #(150,) 1
每个数据点都有一个类别标签储存在target中。
np.unique(iris.target) #array([0, 1, 2]) 1
查询类别标签,共有三个类别(0, 1, 2)。
为简化问题,仅关注两个类别,转化为二分类问题。最简单的方式是忽略属于某个类别的所有数据点,例子通过选择那些不属于类别2的所有行来忽略类别标签2。
idx = iris.target != 2 data = iris.data[idx].astype(np.float32) target = iris.target[idx].astype(np.float32) 123
设置模型前,使用matplotlib创建一个散点图来观察数据,其中每个数据点的颜色对应其类别标签。为简化绘图,仅使用头两个特征(iris.feature_names[0]为花萼的长度,iris.feature_names[1]为花萼的宽度)。从下图中可清晰看到类有一个很好的分离。
plt.figure(figsize=(10, 6)) plt.scatter(data[:, 0], data[:, 1], c=target, cmap=plt.cm.Paired, s=100) plt.xlabel(iris.feature_names[0]) plt.ylabel(iris.feature_names[1]) 1234
设test_size参数为0.1,表示选择10%的数据用于测试。而设置随机状态random_state=42来控制随机状态,当random_state取某一个值时&#
相关知识
逻辑回归鸢尾花分类可视化
鸢尾花逻辑回归实验报告重点难点 逻辑回归鸢尾花分类
机器学习算法其一:鸢尾花数据集逻辑回归分类预测学习总结
【机器学习】利用逻辑回归对iris鸢尾花数据集进行分类
python鸢尾花数据集的分类问题 -- 逻辑回归问题研究
基于鸢尾花(iris)数据集的逻辑回归分类实践
基于Logistic回归模型对鸢尾花数据集的线性多分类
鸢尾花分类:逻辑回归实战解析
R语言使用逻辑回归Logistic、单因素方差分析anova、异常点分析和可视化分类iris鸢尾花数据集
鸢尾花数据集深度分析:机器学习的入门实践
网址: 监督学习——使用逻辑回归对鸢尾花种类进行分类 https://m.huajiangbk.com/newsview1842737.html
上一篇: 分类模型——多分类 用spss预 |
下一篇: 机器学习入门实战1:鸢尾花分类 |