常见机器学习算法简介:回归、分类与聚类

机器学习说到底,不就三件事:

  1. 预测一个数 ------ 回归

  2. 判断归属哪个类 ------ 分类

  3. 自动把数据分组 ------ 聚类

别背术语,别管定义,先看问题怎么解决。


一、回归(Regression)

干嘛的?

模型输出一个连续数值。你丢个样本进去,它告诉你大概是多少。

应用场景:

  • 房价预测

  • 股票波动估计

  • 广告点击率预估

  • 医疗中的风险评分

代码风格示例:

python 复制代码
from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

注意点:

  • 特征别有太强的共线性(会影响权重估计)

  • 数据别有太多离群值(容易拉偏模型)

模型选择建议:

  • 数据线性关系明显 → 线性回归

  • 数据维度不大但噪音多 → 决策树回归

  • 数据量大 / 精度要求高 → XGBoost、LightGBM

  • 想搞深一点 / 多变量复杂依赖 → 神经网络回归(Keras / PyTorch)


二、分类(Classification)

干嘛的?

模型判断输入属于哪个"类",就像做选择题一样,A、B、C三选一。

应用场景:

  • 是否信用违约(0/1)

  • 邮件是否垃圾

  • 图像识别(猫狗车人)

  • 医疗诊断分类

代码风格示例:

python 复制代码
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

注意点:

  • 类别不均衡要处理,比如加权或采样

  • 二分类别做One-Hot?不用,直接0/1即可

  • 多分类别需换 loss(如 softmax)

模型选择建议:

  • 简单快速:逻辑回归

  • 可解释性强:决策树 / RandomForest

  • 对精度要求高:XGBoost / CatBoost

  • 有深度需求:CNN / Transformer


三、聚类(Clustering)

干嘛的?

模型自己发现数据结构,把相似的放一堆,没标签也能干。

应用场景:

  • 用户分群

  • 异常检测(异常就是被分到边角落的那类)

  • 文本聚类(比如舆情分析)

代码风格示例:

python 复制代码
from sklearn.cluster import KMeans

model = KMeans(n_clusters=3)
model.fit(X)
labels = model.labels_

注意点:

  • 特征归一化很重要(不然按维度权重大错特错)

  • K 值别瞎定,用肘部法则或者 silhouette score 找

模型选择建议:

  • 快速尝试:KMeans(80%的场景够用)

  • 空间不规则:DBSCAN

  • 层级结构:Agglomerative Clustering


工程建议(务实路线)

任务 类型 模型建议
价格预测 回归 XGBoost / LGBM
风控审核 分类 Logistic / RF / XGB
用户打标签 聚类 KMeans / DBSCAN
图片识别 分类 CNN
文本相似度分类 分类 BERT / SVM

别学偏了:

学机器学习不是看你会几个模型,而是看你知道什么时候用哪个模型,用什么数据喂进去。


下一篇我接着写《模型评估指标怎么选?怎么解释?》,这一步你要是乱选,模型再准也白搭。

相关推荐
松涛和鸣24 分钟前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
2501_941111242 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_941111692 小时前
C++中的枚举类高级用法
开发语言·c++·算法
jz_ddk2 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems3 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编3 小时前
小红的好矩形
c++·算法
小白程序员成长日记3 小时前
2025.11.12 力扣每日一题
算法·leetcode·职场和发展
Alex艾力的IT数字空间3 小时前
设计既保持高性能又兼顾可移植性的跨平台数据结构
数据结构·分布式·算法·微服务·中间件·架构·动态规划
leoufung3 小时前
贪心算法核心定理与应用——以 Gas Station 问题为例
算法·贪心算法
2501_941111463 小时前
C++与硬件交互编程
开发语言·c++·算法