从数据加载到特征标准化:Python机器学习预处理完整指南

引言

在机器学习项目中,数据预处理是决定模型性能的关键环节。本文将完整展示从原始数据加载到特征标准化的全流程,通过Python代码逐步实现每个关键步骤。


1. 数据加载与初步探索

首先加载数据集并进行初步分析:

import pandas as pd
import numpy as np

# 加载数据集(以Iris为例)
data = pd.read_csv('iris.csv')
print("数据维度:", data.shape)
print("\n前5行数据:")
print(data.head())

# 检查数据类型
print("\n数据类型:")
print(data.dtypes)


2. 数据清洗与缺失值处理

处理缺失值和异常数据:

# 检查缺失值
print("缺失值统计:")
print(data.isnull().sum())

# 填充缺失值(以均值填充为例)
from sklearn.impute import SimpleImputer

imputer = SimpleImputer(strategy='mean')
numeric_cols = data.select_dtypes(include=np.number).columns
data[numeric_cols] = imputer.fit_transform(data[numeric_cols])


3. 特征工程处理
3.1 分类变量编码
from sklearn.preprocessing import LabelEncoder

# 对分类变量编码
label_encoder = LabelEncoder()
data['species'] = label_encoder.fit_transform(data['species'])

3.2 特征创建
# 创建新特征(花瓣长宽比)
data['petal_ratio'] = data['petal_length'] / data['petal_width']


4. 特征标准化

实现两种常用标准化方法:

4.1 Z-Score标准化

$$ z = \frac{x - \mu}{\sigma} $$

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
scaled_data = scaler.fit_transform(data[numeric_cols])

4.2 Min-Max归一化

$$ x_{\text{norm}} = \frac{x - x_{\min}}{x_{\max} - x_{\min}} $$

from sklearn.preprocessing import MinMaxScaler

minmax_scaler = MinMaxScaler(feature_range=(0, 1))
normalized_data = minmax_scaler.fit_transform(data[numeric_cols])


5. 完整预处理流水线

整合所有步骤的完整代码:

from sklearn.pipeline import Pipeline
from sklearn.compose import ColumnTransformer

# 定义预处理步骤
preprocessor = ColumnTransformer(
    transformers=[
        ('num', StandardScaler(), numeric_cols),
        ('cat', LabelEncoder(), ['species'])
    ])

# 创建流水线
pipeline = Pipeline(steps=[
    ('imputer', SimpleImputer(strategy='mean')),
    ('preprocessor', preprocessor)
])

# 执行预处理
processed_data = pipeline.fit_transform(data)


结语

本文完整展示了机器学习数据预处理的六大关键步骤:

  1. 数据加载与探索
  2. 缺失值处理
  3. 分类变量编码
  4. 特征工程
  5. 特征标准化
  6. 流水线整合

通过系统化的预处理流程,可显著提升后续建模效果。实际应用中建议根据具体数据特性调整处理策略,例如对偏态分布数据采用对数变换等补充处理。

完整代码可在[示例仓库]获取(需替换为实际仓库链接)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐