有监督的数据挖掘算法-分类

  1. 回归:在建模的过程中需同时具备自变量x和因变量y,属于有监督的学习算法。输出变量为离散型。
  2. 主要介绍:Logistic,决策树,随机森林,KNN,朴素贝叶斯
  3. tips:决策树,随机森林,KNN也可用于连续型变量的预测。

Logistic回归:

  1. 思想:前边的线性,岭回归,LASSO等均是预测连续型因变量,如根据价格,广告力度,销售渠道等因素预测利润高低。Logistic针对离散型因变量的判别,如客户是否优质,客户的流失率概率等。在这里插入图片描述
    在这里插入图片描述
    将线性回归的预测值经过非线性的Logit函数转换为[0,1]之间的概率值。参数求解:结合迭代对每一个未知的参数做梯度下降,学习率的步长通常可以取0.1,0.05,0.01,太小时需要迭代太多次收敛速度过慢,过大时难以得到理想的值可能只是局部最小。参数解释:优势比/发生比之比,如肿瘤体积每增加一个单位,将会使癌症发生比变化e参数次倍。
  2. PYTHON的实现:sklearn.linear_model.LogisticRegression。
  3. 重要:分类模型的评估方法:混淆矩阵;ROC曲线:
    混淆矩阵:pandas.crosstab/sklearn.metrics.confusion_matrix,一般会选择准确率Accuracy,正例覆盖率Sensitivity,负例覆盖率Specificity这三个作为评估模型的指标。结合heat map。
    ROC曲线:x轴为1-Specificity负例错判率,y轴为Sensitivity正例覆盖率。面积为AUC。sklearn.roc_curve。

决策树:

  1. 思想:可用于数值型因变量的预测和离散型因变量的分类。熵的概念。
    经验信息熵:
    在这里插入图片描述
    条件熵:
    在这里插入图片描述
    信息增益:
    在这里插入图片描述
    信息增益率:
    在这里插入图片描述
    基尼系数(二分类):
    在这里插入图片描述
    PYTHON中选择了用基尼系数的CART算法,对于离散型的分类问题,叶节点中哪一类样本多,该叶节点就代表哪一类,对于数值型的预测问题,将叶节点的样本均值作为该节点的预测值。

  2. PYTHON的实现:sklearn.tree.DecisionTreeClassifier;sklearn.tree.DrcisionTreeRegressor。

  3. 重要:sklearn.model_selection.GridSearchCV,得到最佳的树生长深度,能继续分支的最小样本量,叶节点的最小样本量。

  4. 决策树的减枝:误差降低剪枝;悲观剪枝;代价复杂度剪枝等,不过没有实现的模块。分类问题,依旧可用混淆矩阵和ROC判定模型的好坏。预测问题,MSE/RMSE。

随机森林:

  1. 思想:利用Bootstrap从原始数据中生成k个数据集,每个数据集有N个观测值,P个自变量;每个数据集构造一颗CART决策树,字段随机选择p个;充分生长不剪枝;对于分类问题用投票法,最高得票的类别用于最终的判断结果,回归问题则利用均值法。运行速度快,预测准确率高。
  2. PYTHON的实现:sklearn.ensemble.RandomForestClassifier;sklearn.ensemble.RandomForestRef=gressor。

KNN:

  1. 思想:K最近邻算法,搜寻最近的k个已知类别样本用于未知类别样本的预测。确定未知样本近邻的个数k值;根据样本间的度量指标(如欧式距离)将每一个未知类别样本的最近k个样本搜寻出来,形成一个簇;对搜寻出来的已知样本进行投票,将各簇内的类别最多的分类用于未知样本点的预测。

  2. PYTHON的实现:sklearn.neighbors.KNeighborsClassifier;sklearn.neighbors.KNeighborsRegressor。

  3. 最佳K值:K过小,未知样本由最近的已知样本决定,训练效果好,测试不好,过拟合;K过大,由已知样本的最高频数类别决定,欠拟合。A:设置投票权重,B:采用多重交叉验证(model_selection.cross_val_score)在这里插入图片描述
    相似度的度量方法:欧式距离;曼哈顿距离;余弦相似度;杰卡德相似度。
    近邻搜索法:暴力搜寻法;KD树搜寻(方差)和球树搜寻(球心的寻找和半径的计算)。

  4. 分类问题,依旧可用混淆矩阵和ROC判定模型的好坏。预测问题,MSE/RMSE。

朴素贝叶斯:

  1. 思想:专门用于解决分类问题,如垃圾邮件的识别,手字体的识别,广告技术中的推荐系统等。
    条件概率:
    在这里插入图片描述
    全概率:
    在这里插入图片描述
    最大概率值对应的类别作为样本的最终分类:
    在这里插入图片描述
    假设自变量是独立的(自变量间的独立性越强,贝叶斯的分类器效果越好):
    在这里插入图片描述

  2. PYTHON的实现:数值型,sklearn.naive_bayes.GaussianNB;离散型,sklearn.naive_bayes.MultinatioanalNB;0-1型,sklearn.naive_bayes.BernoulliNB。

  3. 重要:
    高斯分类器:
    在这里插入图片描述
    多项式分类器:
    在这里插入图片描述
    伯努利分类器:
    在这里插入图片描述

  4. 分类问题,依旧可用混淆矩阵和ROC判定模型的好坏。

猜你喜欢

转载自blog.csdn.net/weixin_43962871/article/details/87517602