💎个人主页:星柚程
🚀精选文章:《MATLAB多目标优化》,《Kaggle:CV、Public LB 》、《我的第一次 Kaggle》、《C++构造传参》、《蛇形机械臂的模拟退火优化》
🛠️专栏建设:|深度学习|、|Python量化|、|C++学习|、|数据结构|
🎯流水不争先,争得是涛涛不绝。
这张图是 Scikit-learn 官方推荐的机器学习算法选择流程图,可以帮你快速根据任务类型、数据规模和特点,挑选合适的算法。
流程图核心解读
它把算法分成了四大类,每一类都有清晰的选择逻辑:
1. 分类任务(Classification,左上粉色区域)
核心是预测类别标签,选择逻辑:
- 先看数据规模:样本数 <100K 时优先用 LinearSVC 、 KNeighborsClassifier 等;
- 如果是文本数据,优先用 Naive Bayes ;
- 简单模型效果不好时,再尝试 SVC 、集成分类器( Ensemble Classifiers )或 SGDClassifier 。
2. 回归任务(Regression,右上蓝色区域)
核心是预测连续数值,选择逻辑:
- 数据量 <100K 时,先判断特征重要性:- 少数特征很重要 → 用 Lasso / ElasticNet ;
- 不是 → 用 RidgeRegression / SVR(linear) ;
- 简单模型效果不好时,升级到 SVR(rbf) 或 EnsembleRegressors ;
- 数据量很大时,优先用 SGDRegressor 。
3. 聚类任务(Clustering,左下紫色区域)
核心是无监督分组,选择逻辑:
- 类别数已知,样本数 <10K → 用 KMeans ;
- 类别数未知,样本数 <10K → 用 MeanShift / VBGMM ;
- 数据量大或KMeans效果差 → 尝试 MiniBatchKMeans 、 Spectral Clustering 或 GMM 。
4. 降维任务(Dimensionality Reduction,右下黄色区域)
核心是压缩数据维度,选择逻辑:
- 数据量 <10K 时,优先用 Randomized PCA ;
- PCA效果不好时,尝试 Isomap / Spectral Embedding ;
- 再不行就用 LLE 或 kernel approximation 。
使用小贴士
1. 先判断任务类型:你要解决的是分类、回归、聚类还是降维?
2. 再看数据规模:样本数、特征数会直接影响算法效率和效果;
3. 从简单到复杂尝试:优先用线性模型(如 LinearSVC 、 Ridge ),效果不好再升级到非线性或集成模型;
4. 不要死记硬背:这只是参考指南,实际效果还要结合数据分布、调参来验证。
用书指导
《阿里云天池大赛赛题解析_机器学习篇》
包含工业蒸汽量预测、天猫用户重复购买预测、O2O优惠券预测、阿里云安全恶意程序检测四个赛题。全书都按赛题理解、数据探索、特征工程、模型训练与验证、特征优化、模型融合这7步拆解。
📚 The Kaggle Book
这本被誉为“Kaggle圣经”的综合性指南旨在帮你建立竞赛的“全局观”与“方法论”:
- 硬核背书:由30余位Kaggle大师(Masters)及特级大师(Grandmasters) 合作编写,含金量极高。
- 系统全面:内容覆盖竞赛全流程(验证、特征工程)及多数据类型(表格/图像/NLP/时序)。