让 AI 理解"我要清洗 CSV,做 one-hot 编码"#
ML 的数据预处理包含很多步骤:缺失值填充、分类变量编码、数值缩放。这些步骤有先后依赖关系。我的提示词:
数据配置面板应该有模型参数的配置,比如训练集测试集比例、optuna 优化参数等。ml_utils.py 中可以设置的参数都应该让用户可以修改且有默认值。
AI 的实现方案#
AI 不是简单地把所有参数暴露到前端,而是 按训练模式分组:
- 测试集比例(默认 0.2)
- 特征选择方法(F 检验 / 互信息)
- p 值阈值(默认 0.05)
- Optuna 试验次数(默认 10)
- 交叉验证折数(默认 3)
- 随机种子
- 聚类数 K
- K 搜索范围(如 2-10)
- 是否降维
- 随机种子
切换训练模式时,前端 JS 动态显示/隐藏对应参数面板。
我的调整:一键全选特征#
原始设计中用户要逐个点击列名选特征,20 列数据要点 20 次。我额外要求:
选择特征时增加一个选项,可以一键选择所有特征
AI 在列标题下方加了"全选特征"和"取消全选"两个按钮,全选时自动排除已选为目标列的那一列。
关于特征重要性图的困惑#
训练完成后,有些数据集有特征重要性图,有些没有。我的提问:
为什么有的数据集没有特征重要性分析图?
AI 的解释非常清晰:
| 最佳模型 | 有特征重要性? | 原因 |
|---|---|---|
| RandomForest / DecisionTree 等 | ✓ 有 feature_importances_ | 树模型自带 |
| Ridge / Lasso / LogisticRegression | ✓ 有 coef_ | 线性模型用系数绝对值 |
| SVR / KNN / GaussianProcess | ✗ 没有 | 既无 feature_importances_ 也无 coef_ |
AI 还主动建议可以用
permutation_importance作为回退方案覆盖所有模型,我暂时没有采用(因为这正是不同模型的特点,只有类似树模型自带有特征重要性分析)。

提示词工程心得:问"为什么"比问"怎么做"更有价值#
当你不理解某个现象时,直接问"为什么 X 没有 Y",AI 会给你解释底层原理。这比直接说"给我加上 Y"更有助于你做决策。