CodeGeeX插件可直接根据自然语言描述生成sklearn预处理代码:支持标准化/归一化、缺失值填充、OneHot编码、PCA降维、Tfidf+特征选择等,自动生成含ColumnTransformer和Pipeline的完整可运行代码,并确保fit_transform仅用于训练集。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在 PyCharm 中快速把原始数据变成模型可训练的格式,比如标准化、编码分类变量、处理缺失值,但每次都要翻文档查 sklearn 参数、写 pipeline、反复调试 fit/transform 顺序——CodeGeeX 能直接根据你的自然语言描述生成可运行的预处理代码。
安装并激活 CodeGeeX 插件
打开 PyCharm → File → Settings → Plugins → Marketplace 搜索 【CodeGeeX】 → 点击 Install → 安装完成后重启 IDE。
重启后右下角出现 CodeGeeX 图标且状态为绿色,表示插件已就绪;若图标灰显,需点击登录并绑定账号(未注册则跳转 codegeex.cn 完成注册)。
用注释触发标准化与归一化代码生成
在 Python 文件中新建空函数,光标置于函数体内,输入以下注释:
# 对数值特征['age', 'income', 'score']做Z-score标准化;对['salary_range', 'education_level']做Min-Max归一化到[0,1]区间;保留原始DataFrame结构,不修改列名
按下 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(Mac) 触发生成。等待右下角图标停止旋转,灰色代码块出现后按 Tab 键插入。
生成代码会自动导入 StandardScaler 和 MinMaxScaler,并使用 ColumnTransformer 分别作用于不同列组——这一步不能手动拼接两个 scaler,否则 transform 时会报错“n_features_in_ mismatch”。
一键生成带缺失值策略的完整预处理 Pipeline
方法一:自然语言指令直出
在空行输入:# 构建sklearn Pipeline:先用SimpleImputer(strategy='most_frequent')填充类别列缺失值,再用OneHotEncoder(drop='first')编码;对数值列用median填充后StandardScaler;最后用PCA(n_components=0.95)降维
触发生成后,检查是否包含 Pipeline、ColumnTransformer、make_column_selector 的组合调用;若生成代码中 PCA 前缺少 scaler,说明提示词未强调“数值列先缩放再降维”,需补全“PCA 必须作用于已标准化的数据”再次生成。
方法二:基于已有 DataFrame 补全
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
确保当前文件中已定义 df = pd.read_csv("data.csv"),且列名清晰可见。选中该行 → 右键 → CodeGeeX → “Generate Preprocessing Code for This DataFrame” → 在弹出框中追加:“目标是用于后续 LogisticRegression 训练,要求输出 X_train, X_test, y_train, y_test 划分结果”。
生成代码将自动注入 train_test_split,并对 X 做完整预处理、y 做 LabelEncoder ——注意它不会擅自修改原始 df,所有操作都在副本上进行。
处理文本特征:Tfidf + 特征选择联动生成
第一步:明确输入结构
在代码中先写好基础读取逻辑:df = pd.read_csv("reviews.csv"); text_col = "review_text"; label_col = "sentiment"
第二步:输入精准提示
# 对 review_text 列提取 Tfidf 特征(max_features=5000, ngram_range=(1,2)),然后用 SelectKBest(chi2, k=1000) 筛选最具区分度的词项,最终与数值列 ['rating', 'helpful_votes'] 拼接成完整特征矩阵
第三步:执行生成并验证关键点
生成代码必须包含 FeatureUnion 或 ColumnTransformer 将文本与数值特征合并;若只返回了 TfidfVectorizer 单独调用,说明提示词中“拼接”一词未被识别,应改为“horizontal stack with numerical columns”重新触发。
第四步:检查 fit_transform 调用位置
【必须仅对训练集调用 fit_transform,测试集只能用 transform】 ——生成代码若在 test 部分也写了 fit_transform,会引发 Data Leakage,需手动删掉 test 部分的 fit_ 前缀。

















