🔧
TT's Learning
← 返回首页
🔧

特征工程

学习特征工程的核心技术,包括特征提取、特征编码、特征选择和特征缩放等方法。

进阶 30分钟 📁 features_data.csv
学习进度
0%
0/4
已学习
0/5
练习
0
得分
第一章 特征工程基础

1.1 什么是特征工程

特征工程是将原始数据转换为特征的过程,这些特征能够更好地表示预测模型的潜在问题。

  • 特征提取:从原始数据中提取有用信息
  • 特征转换:对特征进行数学变换
  • 特征选择:选择最有信息量的特征
  • 特征创建:创建新的衍生特征

💡 特征工程是机器学习中最重要的环节之一,好的特征可以大幅提升模型性能。

第二章 特征编码

2.1 类别特征编码

将类别特征转换为数值特征是特征工程的重要步骤。

import pandas as pd

# 创建数据
data = {
    'category': ['A', 'B', 'C', 'A', 'B', 'C'],
    'value': [10, 20, 30, 15, 25, 35]
}
df = pd.DataFrame(data)

# 独热编码
one_hot = pd.get_dummies(df['category'], prefix='category')
df_encoded = pd.concat([df, one_hot], axis=1)

print("独热编码结果:")
print(df_encoded)

2.2 标签编码

将类别特征转换为整数标签。

from sklearn.preprocessing import LabelEncoder

# 创建数据
data = {'color': ['红色', '蓝色', '绿色', '红色', '蓝色']}
df = pd.DataFrame(data)

# 标签编码
encoder = LabelEncoder()
df['color_encoded'] = encoder.fit_transform(df['color'])

print("标签编码结果:")
print(df)
print(f"类别映射: {dict(zip(encoder.classes_, encoder.transform(encoder.classes_)))}")
第三章 特征缩放

3.1 标准化与归一化

特征缩放确保不同特征具有相似的尺度。

from sklearn.preprocessing import StandardScaler, MinMaxScaler

# 创建数据
data = {'age': [25, 30, 35, 40, 45], 'income': [50000, 70000, 90000, 110000, 130000]}
df = pd.DataFrame(data)

# 标准化(Z-score标准化)
scaler = StandardScaler()
df_standardized = scaler.fit_transform(df)
print("标准化结果:")
print(pd.DataFrame(df_standardized, columns=['age', 'income']))

# 归一化(Min-Max缩放)
scaler = MinMaxScaler()
df_normalized = scaler.fit_transform(df)
print("\n归一化结果:")
print(pd.DataFrame(df_normalized, columns=['age', 'income']))
第四章 特征选择

4.1 特征选择方法

选择最有信息量的特征可以提高模型效率和性能。

💻 在线代码编辑器
练习题(共5题)

练习 1:独热编码

对类别特征进行独热编码。

练习 2:标签编码

使用LabelEncoder对类别特征进行编码。

练习 3:标准化

对数据进行标准化处理。

练习 4:归一化

对数据进行Min-Max归一化。

练习 5:特征选择

使用SelectKBest选择最佳特征。

测试题(共 5 题,满分 100 分)

1. 独热编码适合处理哪种类型的特征?

2. StandardScaler的作用是什么?

3. LabelEncoder适用于哪种情况?

4. MinMaxScaler将数据缩放到什么范围?

5. 特征选择的主要目的是什么?

🎉

测试完成!

0分

太棒了!继续努力!

返回首页 →
作业提交

📝 特征工程作业

请完成以下任务:

  • 创建包含类别特征和数值特征的数据集
  • 对类别特征进行独热编码
  • 对数值特征进行标准化
  • 使用特征选择方法选择重要特征
💻 作业代码提交