【数据挖掘】Matplotlib

Matplotlib 是 Python 最常用的 数据可视化 库之一,在数据挖掘过程中,主要用于 数据探索 (EDA)趋势分析模式识别结果展示


📌 1. Matplotlib 基础

1.1 安装 & 导入

# 如果未安装 Matplotlib,请先安装
# pip install matplotlib

import matplotlib.pyplot as plt
import numpy as np

1.2 基本绘图

x = np.linspace(0, 10, 100)  # 生成 100 个 0-10 之间的等距点
y = np.sin(x)

plt.plot(x, y)  # 画图
plt.xlabel("X 轴")  # X 轴标签
plt.ylabel("Y 轴")  # Y 轴标签
plt.title("Sine Wave")  # 图标题
plt.grid(True)  # 添加网格
plt.show()  # 显示图像

📌 输出: 绘制 正弦曲线 📈


📌 2. 常见图表类型

2.1 折线图 (Line Plot)

x = np.arange(1, 11)
y = np.random.randint(10, 100, size=10)

plt.plot(x, y, marker="o", linestyle="-", color="b", label="数据趋势")
plt.legend()
plt.show()

📌 适用场景: 用于 趋势分析时间序列数据


2.2 散点图 (Scatter Plot)

x = np.random.rand(50)
y = np.random.rand(50)

plt.scatter(x, y, color="g", alpha=0.7)  # 透明度 alpha 控制点的透明度
plt.title("Scatter Plot")
plt.show()

📌 适用场景: 适合用于 关系分析、聚类分析


2.3 柱状图 (Bar Chart)

categories = ["A", "B", "C", "D", "E"]
values = [10, 25, 15, 30, 20]

plt.bar(categories, values, color="orange")
plt.title("Bar Chart Example")
plt.show()

📌 适用场景: 适用于 类别数据分析


2.4 直方图 (Histogram)

data = np.random.randn(1000)  # 生成 1000 个随机数

plt.hist(data, bins=30, color="purple", alpha=0.75)
plt.title("Histogram Example")
plt.show()

📌 适用场景: 适合 分布分析,如 正态分布检验


2.5 盒须图 (Box Plot)

data = [np.random.rand(100) * i for i in range(1, 5)]

plt.boxplot(data, patch_artist=True)
plt.title("Box Plot Example")
plt.show()

📌 适用场景: 适合 异常值分析、数据分布分析


📌 3. 进阶绘图技巧

3.1 子图 (Subplot)

fig, axes = plt.subplots(2, 2, figsize=(10, 8))

x = np.linspace(0, 10, 100)
axes[0, 0].plot(x, np.sin(x))
axes[0, 0].set_title("Sine Wave")

axes[0, 1].scatter(np.random.rand(50), np.random.rand(50))
axes[0, 1].set_title("Scatter Plot")

axes[1, 0].bar(["A", "B", "C"], [10, 20, 30])
axes[1, 0].set_title("Bar Chart")

axes[1, 1].hist(np.random.randn(1000), bins=30)
axes[1, 1].set_title("Histogram")

plt.tight_layout()  # 自动调整子图间距
plt.show()

📌 适用场景:一个画布上同时绘制多个图表


3.2 统计相关性分析

import seaborn as sns
import pandas as pd

# 生成随机数据
df = pd.DataFrame(np.random.rand(10, 4), columns=["A", "B", "C", "D"])

# 计算相关性
correlation_matrix = df.corr()

# 相关性热图
plt.figure(figsize=(8, 6))
sns.heatmap(correlation_matrix, annot=True, cmap="coolwarm", linewidths=0.5)
plt.title("Correlation Matrix Heatmap")
plt.show()

📌 适用场景: 特征工程、变量相关性分析


3.3 动态更新数据

import time

plt.ion()  # 开启交互模式
fig, ax = plt.subplots()

x = []
y = []

for i in range(10):
    x.append(i)
    y.append(np.random.randint(1, 10))
    ax.clear()
    ax.plot(x, y, marker="o", linestyle="-", color="b")
    plt.pause(0.5)

plt.ioff()  # 关闭交互模式
plt.show()

📌 适用场景: 实时数据可视化,如股市走势


📌 4. Matplotlib 在数据挖掘中的应用

数据挖掘任务适用图表
数据探索 (EDA)直方图、盒须图、散点图
趋势分析折线图
相关性分析热图、散点图
异常值检测盒须图
分类数据分析柱状图
数据分布分析直方图

📌 5. 总结

Matplotlib 在数据挖掘中的核心作用: ✅ 数据可视化:帮助理解数据的分布、趋势、相关性
异常值检测:通过箱线图、散点图检测异常点
模式识别:发现数据中的模式或聚类结构
结果展示:清晰直观地展示数据分析和挖掘结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/980420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Java构建高效的Web服务架构

使用Java构建高效的Web服务架构 随着互联网技术的飞速发展,Web服务在现代应用中扮演着至关重要的角色。尤其是在企业级应用中,如何构建一个高效、可扩展且易维护的Web服务架构,成为了开发者和架构师面临的一项重要挑战。Java作为一种成熟、稳…

数据库MySQL,在终端输入后,提示不是内部命令等

【解决问题】mysql提示不是内部或外部命令,也不是可运行的程序 一般这种问题是因为没有在系统变量里面添加MySQL的可执行路径 以下是添加可执行路径的方法: 第一步:winR输入services.msc 然后找到MySQL,右击属性并复制MySQL的可执…

LabVIEW正弦信号处理:FFT与最小二乘拟合的参数提取

问题一:LabVIEW能否对采集的正弦力信号进行快速傅里叶变换(FFT),并得到幅值和相位结果? 答案: 可以。LabVIEW通过内置信号处理工具包提供完整的FFT分析功能,具体实现如下: FFT分析流…

Hive-05之查询 分组、排序、case when、 什么情况下Hive可以避免进行MapReduce

一、目标 掌握hive中select查询语句中的基本语法掌握hive中select查询语句的分组掌握hive中select查询语句中的join掌握hive中select查询语句中的排序 二、要点 1. 基本查询 注意 SQL 语言大小写不敏感SQL 可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行…

React:B站评论demo,实现列表渲染、删除按钮显示和功能实现、导航栏渲染切换及高亮显示、评论区的排序

功能要求: 1、渲染评论列表 2、删除评论功能:只显示自己评论的删除按钮;点击删除按钮,删除当前评论,列表中不再显示。 3、渲染导航Tab(最新 | 最热)和其 高亮实现 4、评论排序功能实现&…

ST表解决RMQ问题

引入 给定你一个长度为n的数组a,再给你q次询问,每次询问给定你一个区间[L,R],让你求a数组中L~R中的最大值/最小值 我们利用常规算法求时很显然会超时,以此我们需要一个数据结构——ST表来解决 ST表 ST表是一个类似于线段树的东…

[数据结构] - - - 链表

一、定义 链表:是一种常见的线性数据结构,它通过一组节点(Node)来存储数据,每个节点包含两部分:数据域和指针域。 1.1 链表的基本概念 节点(Node):链表的最小单元&#…

Linux的动态库与静态库

目录 动静态库的基本原理 认识动静态库 动静态库各自的特征 静态库 动态库 动静态库与内存 静态库的加载方式 动态库的加载方式 加载到物理内存的细节 静态库的打包与使用 打包 使用 动态库的打包与使用 打包 使用 我以前写的一篇文章中就用网吧与在宿舍自己组装电…

图漾PercipioIPTool软件使用

文章目录 前期准备1.PercipioIPTool软件1.1 更改网络适配器1.2 更改自动获取IP1.3设置静态IP 前期准备 1.一根超五类及其以上规格网线(cat5e、cat6…) 2.相机,配套网线和IO线 3.配套软件PercipioViewer或者PercipioIPTool软件(Windows环境使…

EasyRTC嵌入式WebRTC技术与AI大模型结合:从ICE框架优化到AI推理

实时通信技术在现代社会中扮演着越来越重要的角色,从视频会议到在线教育,再到远程医疗,其应用场景不断拓展。WebRTC作为一项开源项目,为浏览器和移动应用提供了便捷的实时通信能力。而EasyRTC作为基于WebRTC的嵌入式解决方案&…

《白帽子讲 Web 安全:点击劫持》

目录 摘要: 一、点击劫持概述 二、点击劫持的实现示例:诱导用户收藏指定淘宝商品 案例 构建恶意页面: 设置绝对定位和z - index: 控制透明度: 三、其他相关攻击技术 3.1图片覆盖攻击与 XSIO 3.2拖拽劫持与数据…

计算机网络---SYN Blood(洪泛攻击)

文章目录 三次握手过程SYN Flood攻击原理防御措施协议层优化网络层拦截系统配置调整 TCP协议是 TCP/IP 协议栈中一个重要的协议,平时我们使用的浏览器,APP等大多使用 TCP 协议通讯的,可见 TCP 协议在网络中扮演的角色是多么的重要。 TCP 协议…

GitCode 助力 python-office:开启 Python 自动化办公新生态

项目仓库:https://gitcode.com/CoderWanFeng1/python-office 源于需求洞察,打造 Python 办公神器 项目作者程序员晚枫在运营拥有 14w 粉丝的 B 站账号 “Python 自动化办公社区” 时,敏锐察觉到非程序员群体对 Python 学习的强烈需求。在数字…

Trae智能协作AI编程工具IDE:如何在MacBook Pro下载、安装和配置使用Trae?

Trae智能协作AI编程工具IDE:如何在MacBook Pro下载、安装和配置使用Trae? 一、为什么选择Trae智能协作IDE? 在AI编程新时代,Trae通过以下突破性功能重新定义开发体验: 双向智能增强:AI不仅提供代码补全&a…

Qt空项目代码解释

一、 背景 创建的是一个 QWidget 项目。 二、main.cpp 1、图片 2、代码解释 (1)QApplication Qt 图形化界面中一定有 QApplication (2)Widget w; 是 QWidget 的子类。 (3)w.show(); 继承父类的显示…

Codeforces Round 1007 (Div. 2)(ABCD1)

A. The Play Never Ends 翻译: 让我们来介绍一种双人游戏--乒乓球,在这种游戏中,胜负永远分明,不可能出现平局。 索赛、福福和浩海三人想用一生的时间打乒乓球。他们决定用以下方式永远打下去: 在每场比赛中&#xff…

多元数据直观表示(R语言)

一、实验目的: 通过上机试验,掌握R语言实施数据预处理及简单统计分析中的一些基本运算技巧与分析方法,进一步加深对R语言简单统计分析与图形展示的理解。 数据: 链接: https://pan.baidu.com/s/1kMdUWXuGCfZC06lklO5iXA 提取码: …

蓝桥备赛(六)- C/C++输入输出

一、OJ题目输入情况汇总 OJ(online judge) 接下来会有例题 , 根据一下题目 , 对这些情况进行分析 1.1 单组测试用例 单在 --> 程序运行一次 , 就处理一组 练习一:计算 (ab)/c 的值 B2009 计算 (ab)/c …

Immich自托管服务的本地化部署与随时随地安全便捷在线访问数据

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 小伙伴们,你们好呀!今天要给大家揭秘一个超炫的技能——如何把自家电脑变成私人云相册,并…

B/B+树与mysql索引

数据结构操作网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html B树 算法平均最差空间O(n)O(n)搜索O(log n)O(log n)插入O(log n)O(log n)删除O(log n)O(log n) B树 算法平均最差空间O(n)O(n)搜索O(log n)O(log n)插入O(log n)O(log n)删除O(…