首页 > 编程语言 >Python 机器学习 数据集分布可视化

Python 机器学习 数据集分布可视化

时间:2024-02-04 23:12:38浏览次数:35  
标签:iris 机器 变量 Python 可视化 names 鸢尾花 数据

 

 Python 的机器学习项目中,可视化是理解数据、模型和预测结果的重要工具。通过可视化可以观察数据集的分布情况,了解数据的特征和规律,可以评估模型的性能,发现模型的优缺点,分析预测结果,解释模型的预测过程。可视化数据集的分布和预测结果是整个过程中一个重要的步骤。通常可视化可以用Seaborn实现,它是基于 Matplotlib 的高级绘图库,提供了一些更高级的绘图功能。

参考文档:Python 机器学习 数据集分布可视化-CJavaPy

1、加载数据集

load_iris()是scikit-learn库中的一个函数,用于加载一个著名的数据集,即鸢尾花(Iris)数据集。数据集通常用于机器学习和统计分类技术的示例、测试和实验。鸢尾花数据集包含了三种鸢尾花(Iris setosa、Iris virginica和Iris versicolor)的150个样本。每个样本有四个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度,这些特征的单位都是厘米。目标变量是花的种类。数据集常用于分类算法的教学和测试,特别是对于新手来说,它是理解机器学习概念的一个很好的入门数据集。可以用于各种分类算法,包括最简单的如K-近邻(KNN)算法,以及更复杂的如支持向量机(SVM)和神经网络。

from sklearn.datasets import load_iris

# 加载数据集
iris = load_iris()

# 特征矩阵,iris.data包含了150个样本的四个特征值
x = iris.data
print(x)

# 目标向量,iris.target包含了相应的种类标签(0, 1, 2分别代表三种不同的鸢尾花)。
y = iris.target
print(y)

# 特征名称
feature_names = iris.feature_names
print(feature_names)

# 目标名称(花的种类)
target_names = iris.target_names
print(target_names)

2、seaborn.lmplot()的使用

Seaborn 的 lmplot() 函数是用于绘制线性回归模型的强大工具,它结合了 regplot() 和 FacetGrid。这个函数适用于绘制数据集中变量间线性关系的图形,尤其是探索两个连续变量(或一个连续和一个分类变量)之间的关系。lmplot() 是一个功能强大的工具,适用于探索和呈现变量间的线性关系,特别是在数据集包含分类变量时。常用参数如下,

参数

描述

x

数据框架中的变量名称,将在 x 轴上绘制。

y

数据框架中的变量名称,将在 y 轴上绘制。

hue

数据框架中的分类变量,不同类别以不同颜色显示。

data

数据源,通常是 Pandas 的 DataFrame。

palette

设置不同类别的颜色。

col

用于在不同列展示数据框架中一个额外分类变量的不同级别。

row

用于在不同行展示数据框架中一个额外分类变量的不同级别。

markers

指定不同类别的数据点的标记类型。

fit_reg

布尔值,控制是否绘制回归模型

(对于 KNN,通常为 False)。

scatter_kws

传递额外的关键字参数到底层 Matplotlib 函数,

控制散点的样式。

line_kws

传递额外的关键字参数到底层 Matplotlib 函数,

控制线条的样式。

height

每个面板的高度大小。

aspect

每个面板的宽高比。

使用代码:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.datasets import load_iris


# 加载鸢尾花数据集
#iris = sns.load_dataset('iris') #加载报错,可以直接使用sklearn.datasets的load_iris来加载数据集


# 加载鸢尾花数据集
iris = load_iris()

# 创建DataFrame
iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
iris_df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)


# 使用 lmplot() 函数绘制图表
sns.lmplot(
    x="sepal length (cm)",  # x 轴变量
    y="petal length (cm)",  # y 轴变量
    hue="species",     # 数据分类变量
    data=iris_df,         # 数据源
    palette="Set1",    # 为不同的 species 设置不同的颜色
    markers=["o", "s", "D"],  # 为不同的 species 设置不同的标记
    height=5,          # 图表高度
    aspect=1.5,        # 图表宽高比
    fit_reg=False,     # 关闭线性回归拟合线,因为我们更关注数据分布
    scatter_kws={"s": 50, "alpha": 0.8}  # 设置散点的大小和透明度
)

# 添加标题
plt.title("cjavapy")
plt.draw()

# 显示图形
plt.show()

3、数据集分布可视化

使用 Seaborn 的 lmplot() 创建的鸢尾花数据集的散点图。展示数据的分布而非探究变量间的线性关系。可视化是理解数据、模型和预测结果的重要工具。散点图用于展示数据点的分布情况,适用于数值型数据。

使用示例:Python 机器学习 数据集分布可视化-CJavaPy

标签:iris,机器,变量,Python,可视化,names,鸢尾花,数据
From: https://www.cnblogs.com/tinyblog/p/18007195

相关文章

  • R语言Kmeans聚类、PAM、DBSCAN、AGNES、FDP、PSO粒子群聚类分析iris数据结果可视化比
    全文链接:http://tecdat.cn/?p=32007原文出处:拓端数据部落公众号本文以iris数据和模拟数据为例,帮助客户了比较R语言Kmeans聚类算法、PAM聚类算法、DBSCAN聚类算法、AGNES聚类算法、FDP聚类算法、PSO粒子群聚类算法在iris数据结果可视化分析中的优缺点。结果:聚类算法的聚类结......
  • r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据
    原文链接:http://tecdat.cn/?p=23825最近我们被客户要求撰写关于有限正态混合模型EM算法的研究报告,包括一些图形和统计输出。简介本文介绍了基于有限正态混合模型在r软件中的实现,用于基于模型的聚类、分类和密度估计。提供了通过EM算法对具有各种协方差结构的正态混合模型进行参......
  • 工作安排-od-python
    题目:小明每周上班都会拿到自己的工作清单,工作清单内包含n项工作,每项工作都有对应的耗时时长(单位h)和报酬,工作的总报酬为所有已完成工作的报酬之和。那么请你帮小明安排一下工作,保证小明在指定的工作时间内工作收入最大化。输入描述:输入的第一行为两个正整数T,n。T代表工作时长(单......
  • redis+python练习小问题
     1、“cannot import name 'Redis' from 'redis'"//python文件名用了“redis.py”,改成其他的就好了。这个一定要注意,很容易犯这种错,想要做什么功能,就用这个功能命名。2、NameError:name 'redis' is not defined//我开始是fromredisimportRedis,改成importredis,......
  • python 决策曲线 DCA
    importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.metricsimportconfusion_matrixdefcalculate_net_benefit_model(thresh_group,y_pred_score,y_label):net_benefit_model=np.array([])forthreshinthresh_group:y_pred_lab......
  • Python实现给视频添加字幕
    主要思路:1.用moviepy库处理视频文件;用pysrt库处理字幕。2.由于moviepy依赖名为ImageMagick免费开源图片编辑软件,所以要先安装ImageMagick开始:1.安装ImageMagick到官网 https://www.imagemagick.org/script/download.php#windows下载我这里选择ImageMagick-7.1.1-27-Q16-......
  • 11 - 初步了解Python
    初步了解Python参考资料:菜鸟教程:Python3基础语法PEP8:StyleGuideforPythonCodePythonDocs:SourceCodeEncoding菜鸟教程:Python3命令行参数PythonDocs:ExecutablePythonScripts知乎:#!/usr/bin/envpython有什么用?编程规范:PEP8在没有额外编程规范的前提下,建议翻阅并......
  • Yield Keyword, classmethod and static method, and Property Method in Python
    ReferenceWhatisYieldKeywordinPythonPython'syieldkeywordislikeanotheroneweusetoreturnanexpressionorobject,typicallyinfunctions,calledreturn.Thereisasmallamountoffluctuation,though.Theyieldstatementofafunctionre......
  • 探索3D可视化在航空领域的无限可能
    随着科技的日新月异,我们生活的方方面面都在发生着深刻的变化。而在航空领域,3D可视化技术正在引领新的革命。它不仅为飞行员提供了一种全新的视角,更在保障飞行安全、提高飞行效率方面发挥着不可替代的作用。 在传统的空中加油中,飞行员与加油机员之间的沟通主要依靠手势和无线电......
  • Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)
    原文:Hands-OnMachineLearningwithScikit-Learn,Keras,andTensorFlow译者:飞龙协议:CCBY-NC-SA4.0第十六章:使用RNN和注意力进行自然语言处理当艾伦·图灵在1950年想象他著名的Turing测试时,他提出了一种评估机器匹配人类智能能力的方法。他本可以测试许多事情,比如......