机器学习02

sklearn数据集与估计器

数据集划分
评估的模型和建立的数据不能用的一模一样
训练集 (大多数)
建立模型
测试集
评估

  占比 7 3
  占比 8 2
  占比 3/4 1/4   最佳   75%   25%

sklearn数据集接口介绍
sklearn.datasets
load* fetch* 返回的数据类型 datasets.base.Bunch(字典格式)
sklearn分类数据集
sklearn回归数据集

fit_transform(): 输入数据直接转换
fit(): 输入数据, 但不转换
eg:
计算平均值, 方差等
+ transform(): 进行数据的交换

estimator 估计器 (x:特征值 y:目标值)
训练集
测试集
1. 调用fit
fit(x_train, y_train)
2. 输入与测试集的数据
x_test, y_test
1) y_pridict = predict(x_test)
2) 预测的准确率: score(x_test, y_test)

分类算法-k近邻算法

判别依据:
  数据: 离散型
核心思想:
  相似的样本, 特征之间的值应该是相近的
距离如何求:
  1) 需要做标准化处理
  2) 欧式距离
  3) k 取值
      k 取小: 容易受异常点影响
      k 取大: 容易受k值数量波动
优点:
  无需参数估计, 无需训练, 简单, 易于理解
缺点:
  k 取值

使用场景:
  小数据场景,

k-近邻算法实例

特征值:
  x, y 坐标
    0 < x < 10
    0 < y < 10
  定位准确性
  时间戳
    sklearn 删除0
    pandas  删除1
目标值:
  入住位置的id

1) 缩小x, y
2) 时间戳进行 (年, 月, 日, 周, 时分秒)    新的特征
3) 几千~几万, 少于指定签到人数的位置删除

分类模型的评估

混淆矩阵
  二分类
    精确率
    召回率

分类算法-朴素贝叶斯算法

1) 概率基础
  联合概率
    P(A,B) = P(A) * P(B)
  条件概率 (A1,A2 相互独立)
    P(A1,A2|B) = P(A1|B) * P(A2|B)
2) 朴素贝叶斯介绍  (特征之间独立)
  应用场景:
    文档分类
  贝叶斯公式
    P(C|W) = P(W|C)P(C) / P(W)
    拉普拉斯平滑系数
  缺点:
    对训练集影响非常大
  优点:
    不需要调参
    缺失数据不敏感
    准确度高

模型的选择与调优

交叉验证
  模型评估更加准确可信
    所有数据分成n等分
  训练集
  验证集

网格搜索
  调参:
      k-近邻
        超参数k
        每组超参数采用交叉验证来进行评估
        10折交叉验证

决策树与随机森林

比特
根据信息论(香农)
信息熵:
  单位: 比特
  信息和不确定性是相联系的
  信息熵越大, 效果越不好
分类依据:
  信息增益:
    当得知一个条件之后, 减少的信息熵的大小
    公式:
      g(D,A) = H(D) - H(D|A)
常见算法:
  ID3
  C4.5
  CART
sklearn中基尼系数
导出决策树:
  安装插件: sudo apt-get install graphviz
    dot文件
  优点:
    简单的理解和解释, 树木可视化
    需要很少的数据准备, 其他技术通常需要数据归一化
  缺点:
    过拟合
  改进:
    减枝cart算法
随机森林:
  建立模型组合, 生成多个分类器/模型
  包含多个决策树的分类器, 并且输出的类别是由个别树输出的类别的众数而定
  过程: (重点)
    单个树:
      1) 随机在N个样本当中选择一个样本, 重复n次  样本可能重复
      2) 随机在M个特征中选出m个特征,  m取值
    多个树:
      随机有放回的抽样 bootstrap抽样
  超参数:
    n_estimator: 决策树的数量
    max_depth: 每棵树的深度限制
  优点:
    极高的准确率
    运行在大数据集上
    高维特征的输入样本, 不需要降维
    评估各个特征在分类问题上的重要性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值