Skip to content

智慧交通中燃油效率模型的数据清洗和标注流程设计

1.导入库

python
import pandas as pd
  • 导入 pandas 库,⽤于数据处理和分析,通常别名为 pd

2.加载数据集

python
data = pd.read_csv('auto-mpg.csv')
print("数据集的前五行:")
print(data.head())
  • 使用 pandasread_csv 函数读取名为 ''auto-mpg.csv' 的 CSV ⽂件
  • data.head() : 显示数据框的前5行
  • 功能:加载数据集并预览前5行数据

3.检查数据类型

python
print(data.dtypes)
  • data.dtypes : 显示每一列的数据类型
  • 功能:了解各列的数据类型

4.检查和处理缺失值

python
print("\n检查缺失值:")
print(data.isnull().sum())
data = data.dropna()
  • data.isnull().sum() : 统计每列的缺失值数量

  • data.dropna() : 删除包含缺失值的行

    • 默认删除任何包含NaN的行
  • 功能:检查并删除缺失值

5.转换horsepower列

python
data['horsepower'] = pd.to_numeric(data['horsepower'], errors='coerce')
data = data.dropna(subset=['horsepower'])
  • pd.to_numeric() : 将列转换为数值类型

    • errors='coerce' : 将无法转换的值设为NaN
  • dropna(subset=['horsepower']) : 只删除horsepower列中的缺失值

  • 功能:处理horsepower列中的非数值数据

6.再次检查数据类型

python
print(data.horsepower.dtypes)
  • 检查horsepower列的数据类型是否已转换为数值型

7.检查清洗后的缺失值

python
print("\n检查清洗后的缺失值:")
print(data.isnull().sum())

8.数据标准化

python
from sklearn.preprocessing import StandardScaler
numerical_features = ['displacement', 'horsepower', 'weight', 'acceleration']
scaler = StandardScaler()
data[numerical_features] = scaler.fit_transform(data[numerical_features])
  • StandardScaler() : 创建标准化对象
    • 标准化公式:(x - mean) / std
  • fit_transform() : 计算均值和标准差并应用转换
  • 功能:对数值特征进行标准化处理

9.划分特征和目标变量

python
from sklearn.model_selection import train_test_split
selected_features = ['cylinders','displacement','horsepower','weight','acceleration','modelyear','origin']
X = data[selected_features]
y = data['mpg']
  • X : 特征矩阵(自变量)
  • y : 目标变量(mpg,因变量)
  • 功能:选择建模使用的特征和目标

10.划分训练集和测试集

python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  • train_test_split() : 划分数据集
    • test_size=0.2 : 测试集占20%
    • random_state=42 : 随机种子(保证可重复性)
  • 功能:将数据划分为训练集和测试集

11.合并特征和目标变量

python
cleaned_data = X.copy()
cleaned_data['mpg'] = y
  • 将处理后的特征和目标合并到一个DataFrame中

12.保存清洗后的数据

python
cleaned_data.to_csv('2.1.1_cleaned_data.csv', index=False)
print("\n清洗后的数据已保存到 2.1.1_cleaned_data.csv")
  • to_csv() : 保存DataFrame为CSV文件

    • index=False : 不保存行索引
  • 功能:保存处理后的数据

制定数据清洗规范

1. 数据加载:使用 pandas 库加载数据集,检查数据的基本结构和类型。
2. 检查缺失值:统计每列的缺失值数量,并删除包含缺失值的行以确保数据完整性。
3. 转换与处理异常值: 将数值列(如“horsepower”)转换为数值类型,并处理无法转换的值(例如,将其变为缺失值)。
4. 数据标准化: 对数值型数据进行标准化,以消除量纲影响,使用标准化方法。
5. 保存清洗后的数据: 将经过清洗和处理后的数据保存为新的 CSV 文件,以便后续使用。

制定数据标注规范

1. 数据来源:标注数据的来源,包括数据集的名称、获取日期和数据提供者。
2. 数据描述:提供详细的数据描述,包括每列数据的含义、单位和可能的取值范围。
3. 特征选择: 确定对目标变量预测最有用的特征。
4. 目标变量设定: 将数据集中用于预测的目标变量定义为“mpg”(燃油效率)。
5. 数据划分: 将数据分为训练集和测试集,通常采用 80/20 的比例,以便于模型的训练和评估。
6. 保存处理后的数据:保存处理后的数据,并记录保存文件的路径和文件名。
7. 数据清洗和标注规范文档