ML预测半导体良品率——样本缺失值模式分析(Python+Pandas+Matplotlib)


学习过程中的有疑问:plt.什么意思?EDA什么意思
一、plt 是什么意思?
很多初学者看到:
plt.show()
plt.plot()
plt.savefig()
plt.subplots()
都会问:
为什么都是 plt?
其实:
plt
不是 Python 关键字,也不是固定语法。
它只是一个变量名(别名,alias)。
它来自哪里?
一般在代码最前面都会有:
import matplotlib.pyplot as plt
把它拆开来看:
import
表示:
导入一个库。
matplotlib
表示:
Python 最经典的画图库。
pyplot
表示:
matplotlib 里面专门负责画图的模块(module)。
可以理解成:
matplotlib(一本书)
├── pyplot(画图)
├── animation(动画)
├── colors(颜色)
├── patches(图形)
...
最后:
as plt
表示:
给
matplotlib.pyplot起一个更短的名字。
就像:
你的名字:
张三
别人平时叫:
小张
所以:
import matplotlib.pyplot as plt
实际上就是:
以后别叫 matplotlib.pyplot 这么长了,
直接叫 plt 就行。
举个例子
原本应该写:
matplotlib.pyplot.show()
太长。
于是:
import matplotlib.pyplot as plt
以后就可以写:
plt.show()
简单很多。
所以:
plt.show()
真正完整写法其实是:
matplotlib.pyplot.show()
plt. 后面的点(.)是什么意思?
很多初学者都会问:
plt.show()
为什么有个:
.
这个点叫:
成员访问符(dot operator)
意思是:
调用这个对象里面的东西。
例如:
plt.show()
意思就是:
调用 pyplot 模块里的 show() 函数。
同样:
plt.savefig()
就是:
调用 pyplot 模块里的 savefig() 函数。
所以:
plt 就像一个工具箱。
show()
savefig()
plot()
hist()
都是工具箱里的工具。
为什么叫 pyplot?
因为它最早就是模仿 MATLAB 的画图方式。
所以:
plt.plot()
非常像 MATLAB。
常见的 plt 函数
| 代码 | 作用 |
|---|---|
plt.plot() |
折线图 |
plt.scatter() |
散点图 |
plt.hist() |
直方图 |
plt.bar() |
柱状图 |
plt.boxplot() |
箱线图 |
plt.subplots() |
创建画布 |
plt.show() |
显示图片 |
plt.savefig() |
保存图片 |
plt.tight_layout() |
自动调整布局 |
二、EDA 是什么意思?
EDA 是:
Exploratory Data Analysis
中文:
探索性数据分析
为什么叫探索?
因为:
刚拿到数据的时候,
你什么都不知道。
例如:
半导体数据:
590个传感器
1567片晶圆
你不知道:
哪些传感器坏了?
哪些数据缺失?
哪些特征最重要?
数据是不是平衡?
有没有异常值?
是不是重复数据?
所以:
第一步不是训练模型。
而是:
探索(Explore)数据。
这就是:
EDA。
为什么要做 EDA?
举个例子。
假设老板给你:
100万条数据
你直接:
RandomForest.fit()
可能:
准确率:
99%
结果:
后来发现:
90%的数据都是空值。
模型:
根本不可信。
所以:
EDA 就像:
医生看病:
先检查
↓
再开药
而不是:
直接吃药。
EDA 一般做什么?
通常包括下面几项。
① 数据长什么样?
例如:
features.shape
输出:
1567 × 590
说明:
1567个样本
590个特征
② 缺失值分析
例如:
features.isna().sum()
看:
哪些传感器缺失最多?
③ 类别比例
例如:
labels.value_counts()
看:
Pass
1463
Fail
104
是不是:
类别不平衡。
④ 特征分布
例如:
hist()
boxplot()
看:
数据是不是:
正态?
偏态?
⑤ 异常值
例如:
100
101
99
100
10000
最后:
10000
就是:
异常值。
⑥ 特征之间关系
例如:
相关性:
Feature A
Feature B
0.99
说明:
高度相关。
可能:
后面:
做:
PCA
SelectKBest
⑦ 数据质量
例如:
重复数据:
有没有?
空数据?
重复样本?
EDA 的最终目的
很多人以为:
EDA:
就是:
画图。
其实:
不是。
真正目的只有一句话:
了解数据,发现问题,为后续的数据清洗、特征工程和模型训练提供依据。
在你的 SECOM 项目里
EDA 就是:
读取数据
↓
统计样本数量
↓
统计Pass/Fail比例
↓
统计缺失值
↓
画缺失值图
↓
画类别分布
↓
分析异常值
↓
分析相关性
↓
决定下一步怎么清洗数据
所以:
你现在做的:
01_data_exploration.ipynb
就是:
整个项目的:
EDA(探索性数据分析)阶段。
最后送你一个 AI 项目通用流程(以后所有 GitHub 项目几乎都遵循)
数据集
│
▼
EDA(探索数据)
│
├── 数据规模
├── 缺失值
├── 类别比例
├── 特征分布
├── 异常值
└── 相关性
│
▼
数据清洗(Cleaning)
│
▼
特征工程(Feature Engineering)
│
▼
模型训练(Model Training)
│
▼
模型评估(Evaluation)
│
▼
模型解释(SHAP / LIME)
│
▼
部署(Deployment)
你现在正处在第一步 EDA。这一步看似没有训练模型,但它决定了后面所有步骤是否建立在可靠的数据基础上。在工业场景(半导体、材料、新能源)中,很多项目花在 EDA 和数据清洗上的时间往往比训练模型还要多。
更多推荐


所有评论(0)