Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🤖机器学习实战🤖:决策树、随机森林线性回归、逻辑回归、贝叶斯、kNN等

Notifications You must be signed in to change notification settings

teamowu/Machine-Learning

Repository files navigation

机器学习(Machine Learning)

  • 监督学习(Supervised Learning):训练样本带有信息标记(y值),利用已有的训练样本信息学习数据的规律预测未知的新样本标签。
    • 回归分析(Regression)
    • 分类(Classification)
  • 无监督学习(Unsupervised Learning):训练样本的标记信息时未知的,目测是为了揭露训练样本的内在数学,结构和信息,为进一步的数据挖掘提供基础。
    • 聚类(Clustering)

1 回归

回归是研究自变量x对因变量y影响的一种数据分析方法。主要应用场景是进行预测和空值,例如,计划制定、KPI制定、目标制定等;也可以基于预测的数据与实际数据进行比对和分析,确定事件发展程度并给未来行动提供方向性指导。

回归分析可应用于分析自变量和因变量的影响关系(已知x,求y),也可以分析自变量对因变量的影响方向(正向or反向影响)。

常用的回归算法包括:

  • 线性回归
  • 二项式回归
  • 对数回归
  • 指数回归
  • 核SVM
  • 岭回归
  • Lasso

优点:

  • 数据模式和结果便于理解,如线性回归用y=ax+b的形式表达
  • 基于函数公式的业务应用中,可直接代入法求解,应用起来容易。

缺点:

  • 只能分析少量变量间相互关系,无法处理海量变量间的相互作用关系,尤其是变量共同因素对因变量的影响程度。

1.1 注意回归变量之间的共线性问题

检验共线性的三个指标:

  • 容忍度:[0,1],每个自变量(x)作为因变量(y)进行回归建模得到的残差比例。值越小,说明共线性问题的可能性越大。
  • 方差膨胀因子:容忍度的倒数,值越大则共线性问题越明显,通常以10作为判断边界。VIF<10,不存在多重共线性;10<=VIF<=100,存在较强的多重共线性;VIF>=100,存在严重多重共线性
  • 特征值:对自变量进行主成分分析,如果多个维度的特征值等于0,则可能存在比较严重的共线性。
  • 相关系数:R>0.8:可能存在较强的相关性。

解决共线性的5种常用方法:

  • 增大样本量
  • 岭回归法
  • 逐步回归法
  • 主成分回归
  • 人工去除

1.2 相关系数、判定系数和回归系数之间的关系

假设一回归方程:y = 42.738x + 169.94,其中R的平方 = 0.5252,如果对这两个变量作相关性分析,还会得到相关系数R=0.72468551874050.

回归系数:42.738,自变量x的回归系数;0.5252是该方程的判定系数;0.724....是两个变量的相关性系数

  • 判定系数:自变量对因变量的方差解释程度的值;计算公式为:回归平方和与总离差平方和之比值
  • 相关系数:又称为解释系数,是衡量变量间的相关程度或密切程度的值,本质是线性相关性的判断。

三者间的关系:

  • 判定系数是所有参与模型中自变量的对因变量联合影响程度,而非某个自变量的影响程度。
  • 回归系数与相关系数的关系:回归系数>0,相关系数取值为(0,1)。说明两者正相关;如果系数小于0,相关系数取值为(-1,0),说明两者负相关。

2 分类算法

  • 一种对离散型随机变量建模或预测的监督学习算法。
  • 使用案例包括邮件过滤、金融欺诈和预测雇员异动等输出为类别的任务。
  • 分类算法通常适用于预测一个类别(或类别的概率)而不是连续的数值。

2.1 分类算法的应用

  • 预测
  • 提炼应用规则
  • 提取变量特征
  • 处理缺失值

2.2 (基础)决策树 Decision Tree

决策树是一个树结构(可以是二叉树或非二叉树)。

其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。

使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,知道到达叶子节点,将叶子节点存放的类别作为决策结果。

优点:

  • 适用任何类型的数据(类别变量更普遍)
  • 直观、决策树可以提供可视化,便于理解
  • 模型预测出的结果简单,可解释性强
  • 适用于小规模数据

缺点:

  • 当数据中存在连续变量的属性时,决策树表现并不是很好
  • 不稳定性,一点点的扰动或者改动都可能改动整棵树
  • 特殊属性增加时,错误增加的比较快
  • 很容易在训练数据中生成复杂的树结构,造成过拟合。

2.3 随机森林 Random Forest

image

优点:

  • 随机森林不容易限于过拟合
  • 具有很好的抗噪声能力
  • 处理很高维度(feature多)的数据,并且不用做特征选择
  • 训练速度快

3 聚类

  • 一种无监督式机器学习(即数据没有标注)
  • 算法基于数据的内部结构寻找观察样本的自然族群(即集群)
  • 使用案例包括客户细分,新闻聚类,文章推荐等等。

用于衡量相似性的几个指标:

  • 欧式距离 Euclidean distance
    • 定义:指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)
    • 用途:

image

  • 曼哈顿距离 Manhattan distance
    • 定义:就是表示两个点在标准坐标系上的绝对轴距之和。
    • 用途:

image

  • 余弦相似性 cosine
    • 定义:通过计算两个向量的夹角余弦值来评估他们的相似度。
    • 用途:新闻分类

image

  • Jaccard系数
    • 定义:给定两个集合A,B,Jaccard 系数定义为A与B交集的大小与A与B并集的大小的比值。
    • 用途:用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。

image

3.1 层次聚类 Hierarchical Cluster Analysis(HCA)

层次聚类是一系列基于以下概念的聚类算法:

  • 最开始由一个数据点作为一个集群
  • 对于每个集群,基于相同的标准合并集群
  • 重复这一过程直到只留下一个集群,因此就得到了集群的层次结构。

3.2 K均值聚类 K-means Clustering Algorithm

  • 聚类的度量基于样本点之间的几何距离(即在坐标平面中的距离)
  • 集群是围绕在聚类中心的族群,而集群呈现出类球状并具有相似的大小
  • 对于给定的k值,算法先给出一个初始的分组方法,然后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案较前一次好

3.3 DBSCAN

  • 基于密度的算法,它将样本点的密度区域组成一个集群
  • DBSCAN不需要假设集群为球状,并且它的性能是可拓展的
  • 不需要每个点都被分配到一个集群中,这降低了集群的异常数据。

About

🤖机器学习实战🤖:决策树、随机森林线性回归、逻辑回归、贝叶斯、kNN等

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /