机器学习笔记(通俗易懂) | 您所在的位置:网站首页 › 鸢尾花科普作文1000字 › 机器学习笔记(通俗易懂) |
机器学习笔记—第一个应用:鸢尾花数据集分类(1)—附完整代码
以下都是本人在学习机器学习过程中的一些心得和笔记,仅供参考。 首先我们将完成一个简单的机器学习应用——鸢尾花数据集分类,并构建第一个模型。与此同时,介绍一些核心概念和术语。 话不多说,我们首先来看一下,鸢尾花到底是何方神圣! 假设有一名植物学爱好者对她所发现的鸢尾花的品种很感兴趣。她收集了每多鸢尾花的一些测量数据。 花瓣 花瓣的长度 花瓣的宽度 花萼 花萼的长度 花萼的宽度 PS:所有的测量结果的单位都是厘米这些鸢尾花已经被植物学专家鉴定为属于setosa,versicolor,virginica三个品种之一。 假设: 通过这些测量数据,她可以确定每朵鸢尾花所属的品种。 我们假设这位植物学爱好者在野外只会遇到这三种鸢尾花。目标: 我们的目标是构建一个机器学习模型,可以从这些已知品种的鸢尾花测量数据中进行学习,从而能够预测新的鸢尾花的品种。分析: 因为我们已经有已知品种的鸢尾花的测量数据,所以这是一个监督学习的模型。 我们要在多个选项中预测其中一个鸢尾花品种,因此这是一个**分类(classification)**问题。 可能输出的鸢尾花的不同品种叫做类别(class)。 数据集中的每朵鸢尾花都属于三个类别之一,所以这是一个三分类问题。 单个数据点(一朵鸢尾花)的预期输出是这朵花的品种。 对于一个数据点来说,它的品种叫做标签(label)。 2.了解数据 2.1读取数据首先我们将利用鸢尾花(Iris)数据集,这是机器学习和统计学中一个经典的数据集。它包含在scikit-learn的datasets模块中。我们可以调用load_iris函数来加载数据: In[1]: from sklearn.datasets import load_iris #导入sklearn包的datass模块 iris_dataset=load_iris() #调用load_iris函数来读取数据load_iris返回的iris对象是一个Bunch对象,与字典非常相似,里面包含了键和值: In[2]: print("Keys of iris_dataset:\n{}".format(iris_dataset.keys()))Out[2]: Keys of iris_dataset: dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename']) 2.2查看数据可以看见有六个键,我们其实可以通过名字就能猜到每个键对应的值是什么。好比feature_names’一看就知道是特点的名字,也就是特征呗。所以有时候不需要我们每一个键都运行查看一下。 接下来,既然是学习,那么还是让我们看一下每一个键分别存储了哪些值吧。 DESCR键对应的值是数据集的简要说明,由于过多只给出开头部分。In[3]: print(iris_dataset['DESCR'][:193]+"\n...")Out[3]: .. _iris_dataset: Iris plants dataset -------------------- **Data Set Characteristics:** :Number of Instances: 150 (50 in each of three classes) :Number of Attributes: 4 numeric, pre ... target_names键对应的值是一个字符串数组,里面包含我们要预测的花的品种:In[4]: print("Target names:", iris_dataset['target_names'])Out[4]: Target names: ['setosa' 'versicolor' 'virginica'] feature_names键对应的值是一个字符串列表,对每一个特征进行了说明:In[5]: print("Feature names:\n", iris_dataset['feature_names'])Out[5]: Feature names: ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']数据包含在target和data字段中。data里面是花萼长度,花萼宽度,花瓣长度,花瓣宽度的测量数据,格式为NumPy数组: In[6]: print("Type of data:", type(iris_dataset['data']))Out[6]: Type of data:data数组的每一行对应一朵花,列代表每朵花的四个测量数据: In[7]: print("Shape of data:", iris_dataset['data'].shape)Out[7]: Shape of data: (150, 4)可以得出,数组中包含150朵不同的花的测量数据。 下面给出前5个样本的特征数值: In[8]: print("First five rows of data:\n", iris_dataset['data'][ |
CopyRight 2018-2019 实验室设备网 版权所有 |