机器学习


  • 获取数据的方式有哪些?
    • 爬虫
    • 已有数据
    • 网上获取相关数据
  • 特征工程有哪些内容?
    • 特征获取
    • 特征预处理
      • 归一化
        • 定义
          • 是将值通过线性变换映射(0,1)的范围内
        • API
          • MinMaxScaler()
      • 标准化
        • 定义
          • 是将值映射到均值为0,标准差为1的标准正态分布上
        • API
          • StandardScaler()
      • 异常值处理
    • 特征组合
      • 将几个特征组合形成一个新的特征
    • 特征选择
      • 选择有意义的特征
    • 特征降维
      • 定义
        • 降低数据特征的个数
      • 分类
        • 低方差过滤法
          • 定义
            • 删除方差低于threshold(阈值)的所有特征(删除方差低于某个阈值的所有特征)
          • API
            • VarianceThreshold(threshold)
        • 主成分分析(PCA)
          • 定义
            • 压缩数据的维数,尽可能降低原数据的维数,损失少量数据
          • API
            • PCA(n_components)
              • n_components:为小数时,指降低到原来的百分之多少,为整数时,指降低到多少
        • 相关系数
          • 定义
            • 反映特征之间的密切相关程度的统计指标
            • 核心是:找相似特征→踢掉多余的→留下核心的
            • 相关系数的值r介于 [-1,1] 之间
            • r>0时,表示两变量成正相关;r<0,表示成负相关
            • | r | = 0 ,表示完全不相关,| r |= 1,表示完全相关
            • 0< | r |<1 ,表示一定程度上的相关,具体划分为:
              • 0< | r | <0.4:低程度相关
              • 0.4< | r | <0.7:显著性相关
              • | r |>0.7:高度线性相关
          • 分类
            • 皮尔逊相关系数
              • 定义
                • 计算数据的协方差
              • API
                • pearsonr()
            • 斯皮尔曼相关系数
              • 定义
                • 根据数据在总数据中的等级(排名)
              • API
                • spearmanr()
  • 特征预处理的方法有哪些?
    • 归一化
      • 通过线性变换将数值映射到某个范围内,一般是(0,1),(x-min/max-min)
    • 标准化
      • 将数值映射到均值为0,标准差为1的标准正态分布上
  • 特征降维的方式有哪些?
    • 低方差过滤法
      • 删除方差低于某个阈值的所有特征
    • 主成分分析(PCA)
      • 通过压缩数据的维数,尽可能的保留数据
    • 相关系数
      • 皮尔逊相关系数
        • 通过计算数据的协方差
      • 斯皮尔曼相关系数
        • 通过计算数据在总数据中的等级(排名)
  • 什么叫特征组合?
    • 将几个特征组合形成一个新的特征
  • 学过哪些算法?
    • 有监督学习
      • 线性回归
        • 定义
          • 利用回归方程(函数)对特征值行和目标值之间的关系进行建模的一种方式
        • 分类
          • 一元线性回归
          • 多元线性回归
        • API
          • LinearRegression()
      • K近邻(KNN)
        • 定义
          • 一个样本中K个最相似的样本中大多数属于一个类别,则该样本也属于这个类别
        • 分类问题
          • 思想
            • 先计算该样本到所有样本的距离,排序,然后选取最近的K个值,进行多数表决投票确定该样本的目标值
          • API
            • KNeighborsClassifier(n_neighbors)
        • 回归问题
          • 思想
            • 先计算样本到所有样本间的距离,排序,选取k个最近的计算平均值为该样本的目标值
          • API
            • KNeighborsRegressor(n_neighbors)
      • 逻辑回归(LR)
        • 定义
          • 用于解决二分类问题,是一种分类模型
        • API
          • LogisticRegression()
      • 拉索回归(L1正则化)
        • 定义
          • 会将高次项系数变为0
        • API
          • Lasso()
      • 岭回归(L2正则化)
        • 定义
          • 把高次项前面的系数变得很小,但不为0
        • API
          • Ridge()
      • 决策树
        • 定义
          • 是一种树形结构
          • 每一个内部节点表示一个特征,每一个分支代表一个判断结果的输出,每一个叶子结点表示一个分类的结果
        • 方法
          • ID3
            • 核心:用信息增益指标选择特征
            • 信息增益越大,优先选择该特征
            • 信息熵
            • 条件熵
            • 信息增益
              • 信息熵-条件熵
            • 缺点
              • 倾向于选择种类多的特征作为分裂依据
          • C4.5
            • 核心:使用信息增益率选择特征
            • 信息增益率越大,优先选择该特征
            • 作用:增加了一个惩罚系数,缓解了ID3中存在的不足
            • 特征熵
              • 这里指的就是信息熵
            • 信息增益率
              • 信息增益/特征熵
          • CART
            • CART分类
              • API
                • DecisionTreeClassifier()
              • 核心:使用基尼指数选择特征
              • 基尼指数越小越好,优先选择该特征
            • CART回归
              • API
                • DecisionTreeRegressor()
              • 核心:使用均方误差选择特征
              • 均方误差越小越好,优先选择该特征
        • 剪枝
          • 定义
            • 是一种防止决策树过拟合化的一种方法
          • 分类
            • 预剪枝
            • 后剪枝
      • 集成学习
        • Bagging
          • 随机森林
        • Boosting
          • Adaboost
          • GDBT
          • XGBoost
      • 朴素贝叶斯
        • MultinomialNB
      • 支持向量机
        • 定义
          • 找到一个最大间隔的超平面将样本分为两类
        • 最大间隔
          • 硬间隔
            • 如果样本线性可分,在所有样本都分类正确的情况下,寻找最大间隔,这就是硬间隔
          • 软间隔
            • 如果样线性不可分,或者出现异常值硬间隔没办法分类
            • 软间隔允许部分样本出现在最大间隔之内,或者是错误的一边,寻找最大间隔
            • 目标:保持最大宽度和限制违例之间找到良好的平衡
            • 用惩罚系数来衡量,惩罚系数C,C越大
    • 无监督学习
      • 无监督学习一般没有分类和回归的概念,因为无监督学习没有标签值
      • 聚类
        • 定义
          • 计算样本之间的相似性或者距离,将没有类别标签的数据划分为不重叠的几个簇
        • 算法分类
          • 粗聚类
          • 细聚类
        • 实现方法
          • K-means聚类
      • 降维
        • 三种均属于无监督,且只对特征做预处理,自身不预测
        • 低方差过滤法
        • PCA主成分分析
        • 相关系数
  • 有监督学习的算法有哪些?
    • 线性回归,KNN,决策树,逻辑回归,拉索回归,岭回归,集成学习(随机森林,AdaBoost,GDBT,XGBoost)
  • 无监督算法有哪些?
    • 聚类(KMeans)
    • 降维(PCA)
  • 如何评估模型?线性回归的?分类的?
    • 分类问题
      • 定义
        • 类别判得对不对
      • 方法
        • 混淆矩阵
        • 精确率
        • 召回率
        • F1分数
        • AUC指标
        • ROC曲线
    • 回归问题
      • 定义
        • 数值预测准不准
      • 方法
        • 均方误差(MSE)
        • 平均绝对误差(MAE)
        • 均方根误差(RMSE)
  • 过拟合怎么办?
    • 清洗数据
    • 增加数据量
  • 欠拟合怎么产生?怎么处理?
    • 训练集的特征比较少,模型太简单
    • 增加数据量,增加数据特征,换用复杂的模型
  • 距离的度量方式有哪些?
    • 曼哈顿距离
    • 欧氏距离
    • 切比雪夫距离
    • 闵可夫斯基距离
  • 集成学习中的两种算法分类?
    • Bagging
      • 随机森林
    • Boosting
      • AdaBoost
        • 逐步提高在前一次模型中被分类错误的权重来训练模型
      • GDBT
        • 梯度提升树,不在像提升术拟合残差,而是利用损失函数中的负梯度作为拟合残差的近似值
      • XGBoost
        • 极端梯度提升树,就是在损失函数中加入正则化项
  • 有监督学习如何评估模型好坏?
    • 对于分类问题,采用混淆矩阵,精确率,召回率,F1分数,ROC曲线,AUC面积
    • 对于回归问题,一般使用均方误差(MSE),平均绝对误差(MAE)、均方根误差(RMSE)
  • 什么是支持向量机SVM?
    • 找到一个最大的超平面将样本分为两类,且间隔最大
  • 逻辑回归的算法的原理是啥? 逻辑回归有损失函数
    • 将线性回归的输出当做逻辑回归的输入,将其映射到sigmoid函数上,值在(0,1)之间
  • KNN算法的核心思想是啥?
    • 对于分类问题,先计算待测样本到所有样本之间的距离,按照升序排序,取K个距离最近的样本,进行多数表决
    • 对于回归问题,先计算待测样本到所有样本之间的距离,按照升序排序,取k个最近的样本求平均值
  • 什么叫归一化
    • 通过线性变换将数据映射到某个范围内,默认是(0,1),对异常点敏感
  • 什么叫标准化
    • 将数据映射到均值为0,标准差为1的标准正态分布上,数据量大时,对异常点不敏感
  • 什么是梯度下降?
    • 沿着梯度下降的方向求解极小值
  • 梯度下降方法有哪些?
    • 全梯度下降算法(FGD)
    • 随机梯度下降算法(SGD)
    • 小批量梯度下降算法(mini-bantch)
    • 随机平均梯度下降算法(SAG)
  • 梯度下降是用来做什么的?(找损失函数的最小值)
    • 用来求解损失函数的最小值,也就是线性回归模型w和b的最优值
  • 什么是损失函数?
    • 用来衡量预测值和真实值之间的误差
  • 常见的损失函数有哪些?
    • 均方误差(MSE)
    • 平均绝对误差(MAE)
    • 最小二乘法
  • 线性回归
    • 定义
      • 利用回归方程(函数)对特征值和目标值之间的关系进行建模
    • API
      • LinearRegression()
  • 过拟合解决方案
    • 增加数据集的数量
    • 增加数据集的特征值
    • 决策树:剪枝
  • ROC曲线和AUC指标 评估模型的性能
    • ROC曲线
      • 以模型的假正率(FPR)为x轴,真正率(TPR)为y轴,将模型在不同阈值的下的表现以曲线的形式表现出来
    • AUC指标
      • 指的是ROC曲线下的面积
      • 面积越大,分类器性能越好
  • 什么是正则化?如何理解正则化?
    • 解决模型的过拟合问题
    • 给机器学习的模型增加限制,避免模型复杂度过高而过拟合
  • 为何要常对数据做归一化?
    • 消除特征值之间的差异
  • 归一化的种类
    • MinMaxScaler()
  • 基尼指数(Gini)存在的问题?
    • 基尼值
      • 从数据集中随机抽取两个样本,其类别标记不一致的概率,基尼值越小,数据集的纯度越高
      • 衡量单个数据集的纯度
    • 基尼指数
      • 选择使划分后基尼系数最小的属性作为最优划分属性
      • 选择最优划分特征
    • 偏向特征取值比较多的
  • 决策树怎么剪枝?
    • 预剪枝
    • 后剪枝
  • SVM的原理是什么?
    • 找到一个最大间隔的超平面,将样本分为两类
  • 简单描述Bagging vs Boosting
    • Bagging
      • 随机取样
      • 平权投票
      • 并行
    • Boosting
      • 取全部样本
      • 加权投票
      • 串行
  • k-means算法的k值如何选取
    • 肘方法
      • 观察下降趋势,拐点处为最优
    • 轮廓系数法(FC)
      • 衡量簇内紧密度和簇外的分离度
    • CH
      • 衡量簇内紧密度和簇外的分离度和质心
  • 讲一讲PCA(主成分分析)
    • 主成分分析法是通过对特征进行压缩,降低特征的维数,尽可能的保留特征,是一种对特征降维的处理方法
  • 朴素贝叶斯的优缺点?
    • 优点
      • 对小规模数据很友好,能处理多分类问题
    • 缺点
      • 特征独立条件假设在实际中往往不存在