机器学习笔记(通俗易懂) 您所在的位置:网站首页 鸢尾花科普作文1000字 机器学习笔记(通俗易懂)

机器学习笔记(通俗易懂)

2023-12-27 02:33| 来源: 网络整理| 查看: 265

机器学习笔记—第一个应用:鸢尾花数据集分类(1)—附完整代码

以下都是本人在学习机器学习过程中的一些心得和笔记,仅供参考。

首先我们将完成一个简单的机器学习应用——鸢尾花数据集分类,并构建第一个模型。与此同时,介绍一些核心概念和术语。

话不多说,我们首先来看一下,鸢尾花到底是何方神圣!

在这里插入图片描述

文章目录 机器学习笔记---第一个应用:鸢尾花数据集分类(1)---附完整代码 1.明确问题 PS:所有的测量结果的单位都是厘米 2.了解数据 2.1读取数据 2.2查看数据 2.3训练数据与测试数据 2.4数据可视化 3.构建第一个模型:k近邻算法 3.1构建模型 3.2做出预测 3.3评估模型 4.代码的整合

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 实验室设备网 版权所有