文章目录
- 1 基本概念
- 2 基本流程
-
- 2.0 数据获取
- 2.1 预处理
-
- 2.1.0 认识数据
-
- 认识问题
- 2.1.1 不平衡标签的处理
-
- a.随机过采样方法 ROS,random over-sampling
- b. SMOTE synthetic minority Over-Sampling Technique
- 2.2 缺失值处理
- 2.3 数据清洗
-
- 2.3.0离散特征编码
- 2.3.1 连续特征处理
-
- 归一化
- 标准化
- 特征工程
1 基本概念
机器学习,分为 回归,分类,聚类,降维
有监督学习 回归,分类, 有特征,有标签,进行训练,然后对新数据进行预测
无监督学习 聚类,降维。
题目越多,训练越好,
2 基本流程
数据预处理—— 模型训练与评估
可以优化为 获取数据——数据预处理——EDA 分析——特征工程——模型训练——可解释性分析
2.0 数据获取
利用 kaggle, 天池 等平台的 开源 数据,
2.1 预处理
目的:
- 让数据更符合逻辑
- 让数据更容易计算
借助函数实现变换 or 运算
2.1.0 认识数据
常用 pandas 包,是 python 中一个强大的数据分析和处理库。
其可以
- 数据处理,对数据进行 清洗,转换,合并,分组等操作,处理缺失的和重复的数据。
- 数据读取和写入, 如 CSV 格式,excel, JSON, SQL 等
- 对数据进行时间序列分析,移动窗口统计等操作
** 部分常用 API **
import pandas as pd
读取数据
df = pd.read_csv(‘data.csv’)
查看数据
df.head()
显示数据集形状. (几行几列)
df.shape
查看数据集信息。 (特征的种类和标签)
Data.info
显示 data.frame 的详细信息,数据类型,每列数据类型,非空值数量
显示数据集的统计特征,
df.decribe()
count 非空值的数量
mean 均值
std 标准差
min 最小值
25% 第 25 %分位点, 就是 100组数据,25%在 25.
50%
max 最大值
unique 唯一值数量
top 出现频率最高的值
freq 最高频率出现次数
认识问题
机器学习: 特征 和 标签
说白了 输入 和 输出
工作 会称 这一对为 字段
2.1.1 不平衡标签的处理
在机器学习任务中,标签的均衡性会对模型的性能有重大影响。
主要是在 分类中。
若 各类样本的数量差异较大,则使得数据集不平衡,
会导致 数据集更偏向 多数类,从而影响少数类的预测性能。
比如说: 990张狗,10张猫
那么模型在 95%以上正确率时,可能会更偏向把猫全部认为成狗。
a.随机过采样方法 ROS,random over-sampling
就是 随机复制少数类样本,增加其数量,使各类样本区于平衡。
但是可能会导致模型过拟合,模型对少数样本的特征过于敏感。
如果数据过多,也能用 欠采样。
from imblearn.over_sampling import RandomOverSampler
# 定义随机过采样器,设置过采样倍数为 2
ros = RandomOverSampler(sampling_strategy=2, random_state=42)
# 对数据集进行过采样
X_resampled, y_resampled =