1. sklearn 基础
- scikit-learn 是常用机器学习库
- 基本流程:导包 -> 准备数据 -> 创建模型 -> fit() 训练 -> predict() 预测
- 常见模块:
- sklearn.neighbors:KNN
- sklearn.preprocessing:归一化、标准化
- sklearn.linear_model:线性回归、逻辑回归
- sklearn.cluster:KMeans
2. KNN
- KNN分类:看最近的 K 个邻居,按多数投票决定类别
- KNN回归:看最近的 K 个邻居,取平均预测数值
- 特点:
- 训练过程简单
- 预测时计算量较大
- 对距离敏感,所以常配合特征缩放
3. 特征归一化和标准化
- 归一化:把数据缩放到 [0, 1]
- 常用:MinMaxScaler
- 标准化:把数据变成均值 0、标准差 1
- 常用:StandardScaler
- 作用:
- 消除不同特征量纲差异
- 提升距离类模型效果
- 规则:
- 训练集用 fit_transform()
- 测试集只用 transform()
4. 线性回归
- 用来做回归任务,预测具体数值
- 核心思想:找一条最合适的直线
- 公式:
- 单特征:y = kx + b
- 多特征:y = w1x1 + w2x2 + ... + b
- 常见方法:
- LinearRegression()
- SGDRegressor()
- 常见流程:
- 准备特征和标签
- 切分训练集/测试集
- 标准化
- 训练模型
- 预测
- 用误差评估
- 常见误差指标:
- MAE:平均绝对误差
- MSE:均方误差
- RMSE:均方根误差
5. 逻辑回归
- 名字里有“回归”,实际主要用于分类
- 常用于二分类:如是否患病、是否垃圾邮件
- 核心思想:
- 先算概率
- 再根据概率判断类别
- 常见流程:
- 读数据
- 处理缺失值
- 拆分 x 和 y
- 切分训练集/测试集
- 标准化
- 创建 LogisticRegression()
- 训练与预测
- 常见评估指标:
- accuracy:准确率
- precision:精确率
- recall:召回率
- F1:综合指标
- confusion_matrix:混淆矩阵
6. 随机种子
- 用来固定随机结果,保证可复现
- 常见写法:
- np.random.seed(n)
- train_test_split(..., random_state=n)
7. KMeans 聚类
- 属于无监督学习
- 不需要标签 y
- 作用:把相似样本自动分成几类
- 参数:
- n_clusters=K:分成 K 类
- 常见方法:
- fit_predict(x):训练并输出簇编号
- 结果说明:
- 输出的类别编号只是“分组标记”
- 不代表真实标签含义
- 过程理解:
- 随机选中心
- 样本归类到最近中心
- 更新中心
- 重复直到稳定
8. 总结对比
- KNN分类:看邻居,预测类别
- KNN回归:看邻居,预测数值
- 线性回归:找公式,预测数值
- 逻辑回归:算概率,做分类
- KMeans:无标签,自动分组