Sklearn学习-iris数据集学习

这篇具有很好参考价值的文章主要介绍了Sklearn学习-iris数据集学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用load_iris加载数据集,查看包含的keys

知识点
sklearn的数据集在datasets模块,自带的数据集以"load_"开头
加载的iris数据集是可以字典类型使用
对应的Keys包含 [‘data’, ‘target’, ‘frame’, ‘target_names’, ‘DESCR’, ‘feature_names’, ‘filename’]

from sklearn.datasets import load_iris

# 1-load_iris加载数据集
iris = load_iris()

# 查看包含的keys
iris.keys()
dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename'])
iris['filename']
'D:\\Anaconda3\\lib\\site-packages\\sklearn\\datasets\\data\\iris.csv'

查看数据的列名,分类目标的名称

“feature_names”:表示数据data每列的特征值的名称
“target_names”:分类目标对应的名称

# 查看数据的列名,分类目标的名称
iris['feature_names']
['sepal length (cm)',
 'sepal width (cm)',
 'petal length (cm)',
 'petal width (cm)']
# DataFrame
import pandas as pd

pd.DataFrame(data=iris['data'],columns=iris['feature_names'])
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
... ... ... ... ...
145 6.7 3.0 5.2 2.3
146 6.3 2.5 5.0 1.9
147 6.5 3.0 5.2 2.0
148 6.2 3.4 5.4 2.3
149 5.9 3.0 5.1 1.8

获取data和target,并打印各自的shape

通过字典的键值可以直接获取到对应的数据
data和target对应的数据类型是numpy的ndarry类型,可以用shape获取其大小

# 分类目标的名称
iris['target_names']
array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
# 获取data和target,并打印各自的shape

data = iris['data']
print(type(data),data.shape)
target = iris['target']
print(type(target),target.shape)
<class 'numpy.ndarray'> (150, 4)
<class 'numpy.ndarray'> (150,)

拆分训练集和测试集

在model_selection模块中使用train_test_split对数据集进行训练集和测试集的划分

from sklearn.model_selection import train_test_split
'''
第一个参数:数据集
第二个参数:目标集
第三个参数:测试集所占比例
'''
data_train,data_test,target_train,target_test = \
train_test_split(data,target,test_size=0.3)
data_train.shape
(105, 4)

使用逻辑回归训练。在测试集上计算准确率

使用模型:linear_modeld的LogisticRegression
步骤:

  • 导入模块linear_modeld.LogisticRegression
  • 初始化模型 LogisticRegression()
  • 训练fit()
  • 查看分数(效果)score()
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(max_iter=1000) # 定义最大迭代次数
model.fit(data_train,target_train) # 进行训练
LogisticRegression(max_iter=1000)
# 查看在训练集上评分
model.score(data_train,target_train)
0.9619047619047619
# 查看在测试集上的评分
model.score(data_test,target_test)
0.9555555555555556

在测试集上实现预测

预测,使用模型提供的predict方法执行预测

LogisticRegression(max_iter=1000)
target_predict = model.predict(data_test)

import pandas as pd
df = pd.DataFrame(target_predict,columns=["预测结果"])

df['实际结果'] = target_test
df.shape #(45, 2)

输出和理解混淆矩阵

衡量预测结果的好坏
使用metrics.confusion_matrix

from sklearn.metrics import confusion_matrix
# 输出混淆矩阵
confusion_matrix(target_test,target_predict)
array([[13,  0,  0],
       [ 0, 14,  1],
       [ 0,  1, 16]], dtype=int64)
# 查看分类错误的数据
df.loc[df['实际结果']==0]
预测结果 实际结果
0 0 0
2 0 0
11 0 0
13 0 0
18 0 0
20 0 0
22 0 0
25 0 0
31 0 0
33 0 0
39 0 0
40 0 0
44 0 0

输出和理解分类报告

from sklearn.metrics import classification_report
# 输出混淆矩阵
print(classification_report(target_test,target_predict,
                            target_names=iris['target_names']))
              precision    recall  f1-score   support

      setosa       1.00      1.00      1.00        13
  versicolor       0.93      0.93      0.93        15
   virginica       0.94      0.94      0.94        17

    accuracy                           0.96        45
   macro avg       0.96      0.96      0.96        45
weighted avg       0.96      0.96      0.96        45

文章来源地址https://www.toymoban.com/news/detail-625607.html

到了这里,关于Sklearn学习-iris数据集学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能数据应用在人工智能与机器学习中的应用

    人工智能(Artificial Intelligence,AI)和机器学习(Machine Learning,ML)是当今最热门的技术领域之一。它们的核心是智能数据应用,即利用大量数据和高效算法来模拟、自动化和优化复杂任务。智能数据应用在各个领域都有广泛的应用,如自然语言处理、计算机视觉、推荐系统、

    2024年01月22日
    浏览(46)
  • 【Python机器学习】sklearn.datasets分类任务数据集

    如何选择合适的数据集进行机器学习的分类任务? 选择合适的数据集是进行任何机器学习项目的第一步,特别是分类任务。数据集是机器学习任务成功的基础。没有数据,最先进的算法也无从谈起。 本文将专注于 sklearn.datasets 模块中用于分类任务的数据集。这些数据集覆盖

    2024年02月07日
    浏览(40)
  • 【Python机器学习】sklearn.datasets回归任务数据集

    为什么回归分析在数据科学中如此重要,而 sklearn.datasets 如何助力这一过程? 回归分析是数据科学中不可或缺的一部分,用于预测或解释数值型目标变量(因变量)和一个或多个预测变量(自变量)之间的关系。 sklearn.datasets 模块提供了多种用于回归分析的数据集,这些数据

    2024年02月07日
    浏览(51)
  • 【机器学习】sklearn数据集的使用,数据集的获取和划分

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 json_decode() 可以对JSON字符串 「解码」 ,并转换为PHP变量。 语法 参数 $json

    2024年02月10日
    浏览(37)
  • 数据分析的未来:机器学习和人工智能的革命

    数据分析是现代科学和工业的核心技术,它涉及到大量的数据收集、存储、处理和分析。随着数据的增长和复杂性,传统的数据分析方法已经不能满足需求。机器学习和人工智能技术正在革命化数据分析领域,为我们提供了更高效、准确和智能的解决方案。 在本文中,我们将

    2024年02月20日
    浏览(143)
  • 数据预处理与模型评估【机器学习、人工智能、实际事例】

    在机器学习领域,数据预处理和模型评估是两个至关重要的步骤。它们确保我们构建的机器学习模型能够从数据中有效地学习并做出准确的预测。本文将详细介绍数据预处理和模型评估的概念,并通过现实中的例子来阐述它们之间的密切关系。 什么是数据预处理? 数据预处

    2024年02月07日
    浏览(64)
  • 《人工智能-机器学习》数据预处理和机器学习算法(以企鹅penguins数据集为例)

    本项目使用到的数据集链接: https://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/6tree/penguins_raw.csv 加载给定或者自行选定的数据集,对数据进行查看和理解,例如样本数量,各特征数据类型、分布、特征和标签所表达的含义等,然后对其进行数据预处理工作,包括但不限于对敏感数据

    2024年02月10日
    浏览(58)
  • 数据分析师在人工智能与机器学习领域的重要作用

    人工智能(Artificial Intelligence, AI)和机器学习(Machine Learning, ML)是当今最热门的技术领域之一,它们正在驱动我们进入第四次工业革命。这些技术正在改变我们的生活方式、工作方式和社会结构。数据分析师在这个领域的作用非常重要,因为他们是在这个领域中的核心组成部分。

    2024年02月19日
    浏览(44)
  • 数据预处理的人工智能与深度学习:如何提高模型性能

    数据预处理是人工智能(AI)和深度学习(DL)领域中的一个关键环节,它涉及到数据清洗、数据转换、数据归一化、数据增强等多种操作,以提高模型性能。在过去的几年里,随着数据规模的增加和复杂性的提高,数据预处理的重要性得到了广泛认识。本文将从以下几个方面进行

    2024年02月19日
    浏览(75)
  • 数据一致性在人工智能与机器学习中的应用

    数据一致性是指在分布式系统中,当多个节点或进程访问和修改共享数据时,确保所有节点或进程看到的数据都是一致的状态。在人工智能(AI)和机器学习(ML)领域,数据一致性是一个重要且复杂的问题。随着数据规模的增加,分布式计算变得越来越普遍,这使得数据一致性问

    2024年02月21日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包