常见的分类 聚类模型及模型评价

只是为了帮助自己理解经典算法,

常见的分类算法模型

KNN
  • 找出距离目标点最近的几个样本点,用样本点的标注投票,视作目标点的标注。
  • 距离:
    • 欧氏距离 p=2
      - (|x1 - x2|^2 + |y1 - y2|^2) ^(1/2)
      - 平方和 再 开根号
    • 曼哈顿距离 p=1
      - 各个特征的绝对差的和
    • 闵可夫斯基距离
      - 各个特征的绝对差的N次方 求和 再开N次根
  • KNeighborsClassifier() 常用参数
    • n_neighbors 选择几个样本点
    • p 几阶距离
朴素贝叶斯
  • 朴素:即认为特征之间是相互独立的
  • 基于联合概率分布
    • AB同时发生:P(A)* P(B|A) = P(B)*P(A|B)
    • P(B|A) = P(B)*P(A|B)/P(A)
  • 高斯贝叶斯 GaussianNB
    • 特征是高斯分布 (正态分布)
  • 伯努利贝叶斯 BernoulliNB
    • 特征是伯努利分布 (0-1分布)
决策树
  • 在每次决策时,都优先找出最能区分这些样本点的要素,用这个要素进行样本的区分,并重复此步骤,直到所有点都决策完成,或者在决策最大深度,进行样本点投票,多数点的标注即为此样本类别的标注。
  • 怎么找:
    • Gini系数
    • 信息熵增益
    • 信息熵增益率
  • DecisionTreeClassifier 常用参数
    • criterion 怎么找:Gini/entropy
    • max_depth 最大深度
    • min_samples_split 最小样本拆分
    • min_samples_leaf 最小叶节点样本数
支持向量机
  • 试图用一条线将样本点分为两类, 如果不能分,可以通过核函数向高维空间映射,或者找到最优的解,求错误归类的程度最小。
  • SVC 参数
    • C 错误归类点的惩罚值 用来调整精度
    • kernel 核函数
    • max_iter 最大迭代次数
    • tol 运算终止的阈值
    • decision_function_shape 分类比较方法
      • ovo one vs one
      • ovr one vs rest
集成方法
  • 随机森林
    • 用多棵树进行并联的决策模型,每棵树选取若干特征, 然后均值投票。
    • 默认 10*squart(n)模型 即 10棵树每一棵根号n个特征,然后投票。
    • 参数
      • n_estimators 决策树个数
      • criterion 分叉判别方式
      • max_feature 每棵树最大特征(12个/ 80% /函数个/全部)
      • max_depth min_samples_split
      • min_samples_leaf 叶节点的最小样本数,
      • bootstrap=True 放回采样 oob_score 在放回采样中 用未采样点进行决策树评估
  • Adaboost
    • 用多个若分类器的串联进行模拟,这一次模拟中分类错的点在下一次模拟中会增加权重,满足阈值要求后,将各个模拟器进行分权投票,得到最终的模型结果。
    • 参数
      • base_estimator 规则 默认决策树
      • n_estimators 分类器个数
      • learning_rate (0-1) 分类器权值的衰减
      • algorithm
        • SAMME.R:用对样本集分类的预测概率大小作为弱学习器权重 (默认)
        • SAMME:用对样本集分类效果作为弱学习器权重
逻辑回归
  • 广义的线性回归 在线性可分时 表现较好
  • LogisticRegression 参数
    • penalty "l1" 一范式均值 或者 "L2"二范式 均方差 正则化
    • tol 算法停止的阈值
    • C c越大 正则化就越弱
    • solver
      • 小数据集 libliner
      • sag 随机梯度下降
    • max_iter 最大迭代次数
梯度提升树
  • 对连续数值的决策分类,依据不再是Gini系数,而是“方差最小化”
  • 用一阶差分值作为下一棵树的分类样本

常见的聚类算法

Kmeans
  • 基于切割的聚类

  • 算法

    • 1.随机选择 n 个样本点作为聚类中心,求各个点到这些聚类中心的距离,按照距离远近分类。
    • 2.此时将样本分成n类,求这n个聚类的聚类中心,然后按照这三个聚类中心再一次将样本点分成n类,会得到新的n个聚类和聚类中心,循环往复,直到某两次聚类的聚类中心变化不大。认为聚类完成。
  • 受异常点的影响较为明显。

DBSCAN
  • 基于密度的聚类
    • 1.指定的E邻域内,样本点书大于等于阈值的点 称为核心对象,这些E邻域内的点与核心对象直接密度可达。
    • 2.核心点- 核心点 - 核心点 - 点 ,样本点与核心点 密度可达。
    • 3.点- 核心点- 核心点 - 点 点与点之间密度相连
  • 所有密度相连的点归为一类。
  • 离群点不明显
  • 参数
    • min_samples 最小点数
    • eps E邻域范围
层次聚类
  • 1.先把距离很近的点归为一类
  • 2.再向上靠拢,把新生成的样本类视作分类对象,逐层减少分类的个数。
  • 簇间距离的算法:
    • 最短聚类
    • 最长距离
    • 平均距离
    • Ward 平方残差和, 在簇合并前后,平方残差和增加的越小,证明簇与簇之间越应该合并。
    • 聚类灵活 但是容易受离群点影响。

模型评价

模型泛化结果
  • 混淆矩阵

    • 绘制 预测结果与实际分类的矩阵

    • 混淆矩阵.png
    • TP 正确地 识别为正 图中共104个样本

    • TN 正确地 识别为负 图中共881个样本

    • FP 错误地 识别为正(样本点实际属于负类)图中共12个样本

    • FN 错误地 识别为负 图中共3个样本

  • 指标

    • 正确率 Accuracy
      • 所有识别正确的比例
    • 召回率 Recall
      • 所有实际为正类的样本中,识别为正类的比例。
    • 精准率 Precision 也叫TPR
      • 所有识别为正类的样本中,识别正确的比例。
    • 错误接收率 FPR
      • 所有识别为负类的样本中,识别错误的比例。
    • F分数
      • F分数.png
      • β=1 时 即F1分数,precision 和 Recall 同样重要,无论哪个数值很小都会使得F1分数变小。F分数评价避免了样本不均,即样本中正类负类比例相差很大时,准确率高,但模型泛化能力依然较差的情况。

  • ROC曲线 受试者工作模式曲线。

    • 横轴为TPR,纵轴为FPR。
    • 曲线越接近左上角,曲线下方的面积 AUC 越大, 模型的泛化能力越好。
    • 虚线为完全随机的二分类预测,虚线附近、虚线右下侧对应的模型没有实际应用意义。
    • ROC曲线.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容