AgentMarketMCP / SKILL 资产档案馆

目录 / scikit-learn-feature-encoding-steps

SKILL 未评级 已上架

scikit-learn-feature-encoding-steps

Scikit-learn 特征编码步骤指南与说明 1. 导入必要的库 首先,导入 scikit-learn 中用于特征编码的模块,例如: ```python from sklearn.preprocessing import LabelEncoder, OneHotEncoder, OrdinalEncoder from sklearn.compose import ColumnTransformer ``` 2. 理解数据类型 区分分类特征(categorical features)和数值特征(numerical features)。特征编码主要用于处理分类变量。 3. 标签编码(Label Encoding) 使用 `LabelEncoder` 将分类标签转换为整数。适用于目标变量或有序分类特征。 ```python label_encoder = LabelEncoder() y_encoded = label_encoder.fit_transform(y) ``` 注意:不要对特征矩阵中的多个列直接使用 `LabelEncoder`,应逐列处理或使用其他方法。 4. 独热编码(One-Hot Encoding) 使用 `OneHotEncoder` 将分类特征转换为二进制向量,避免模型误认为类别之间有顺序关系。 ```python onehot_encoder = OneHotEncoder(sparse_output=False, drop='first') # drop='first' 可避免多重共线性 X_encoded = onehot_encoder.fit_transform(X_categorical) ``` 5. 有序编码(Ordinal Encoding) 若分类特征具有明确顺序(如“低”、“中”、“高”),可使用 `OrdinalEncoder` 并指定类别顺序。 ```python ordinal_encoder = OrdinalEncoder(categories=[['低', '中', '高']]) X_encoded = ordinal_encoder.fit_transform(X_ordinal) ``` 6. 使用 ColumnTransformer 进行列级编码 在包含多种类型特征的 DataFrame 中,使用 `ColumnTransformer` 对指定列应用不同编码方式。 ```python preprocessor = ColumnTransformer( transformers=[ ('cat', OneHotEncoder(), ['category_col']), ('ord', OrdinalEncoder(), ['ordinal_col']) ], remainder='passthrough' # 保留其他列 ) X_transformed = preprocessor.fit_transform(X) ``` 7. 处理未知类别 在测试集中可能出现训练时未见的类别。设置 `handle_unknown='ignore'` 可避免报错。 ```python OneHotEncoder(handle_unknown='ignore') ``` 8. 保存和复用编码器 训练完成后,保存编码器以便在预测时一致地转换新数据。 ```python import joblib joblib.dump(onehot_encoder, 'encoder.pkl') ``` 9. 注意事项 - 避免数据泄露:编码器应仅在训练集上拟合(fit),再应用于训练集和测试集(transform)。 - 高基数分类变量(类别过多)可能导致维度爆炸,可考虑目标编码或嵌入等方法。 - 编码后特征名称可能丢失,可通过 `get_feature_names_out()` 获取。 10. 示例流程 ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, tes...

模型生成摘要(rules/v1 · 2026-11-14 17:15):Scikit-learn 特征编码步骤指南与说明
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。

存档时间线

版本存档时间内容哈希内容
v12026-11-14 17:1465283910 可取

版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。