task 01 集成学习

机器学习基础

image.png
  • 有监督学习:给定某些特征去估计因变量,即因变量存在的时候。
    • 回归:因变量是连续型变量,如:房价,体重等。
    • 分类:因变量是离散型变量,如:是否患癌症,西瓜是好瓜还是坏瓜等。
  • 无监督学习:给定某些特征但不给定因变量,建模的目的是学习数据本身的结构和关系。

教程出现的一些函数

  • enumerate 函数
    枚举函数。对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
for index, item in enumerate(np.unique(y)):
    print (index, item)
0 0
1 1

介绍一下sklearn.datasets: Datasets 模块

玩具数据集

scikit-learn 内置有一些小型标准数据集,不需要从某个外部网站下载任何文件。这些数据集有助于快速说明在 scikit 中实现的各种算法的行为。然而,它们数据规模往往太小,无法代表真实世界的机器学习任务。

调用 描述
load_boston([return_X_y]) Load and return the boston house-prices dataset (regression).
load_iris([return_X_y]) Load and return the iris dataset (classification).
load_diabetes([return_X_y]) Load and return the diabetes dataset (regression).
load_digits([n_class, return_X_y]) Load and return the digits dataset (classification).
load_linnerud([return_X_y]) Load and return the linnerud dataset (multivariate regression).
load_wine([return_X_y]) Load and return the wine dataset (classification).
load_breast_cancer([return_X_y]) Load and return the breast cancer wisconsin dataset (classification).

真实世界的数据集

scikit-learn 提供加载较大数据集的工具,并在必要时下载这些数据集。
一般以fetch_XXX

loaders和fetchers的所有函数都返回一个字典一样的对象,里面至少包含两项:shape为n_samples*n_features的数组,对应的字典key是data(20news groups数据集除外)以及长度为n_samples的numpy数组,包含了目标值,对应的字典key是target。

样本生成器

此外,scikit-learn 包括各种随机样本的生成器,可以用来建立可控制的大小和复杂性人工数据集。

  • 分类和聚类生成器
    这些生成器将产生一个相应特征的离散矩阵。
  • 多标签
  • 二分聚类

机器学习(统计)

机器学习: 追求最小化可约误差;
过程:

  1. 参数化
  2. 非参数化
    复杂度越高的模型解释性越低。有时候我们可能更加倾向于预测性能,那么我们可以选择更复杂的模型进行估计,但是也不是一味追求复杂模型,因为可能会导致我们刚说的过拟合;如果我们倾向于解释性,那么可以选择复杂度相对较低的模型去估计。

模型精确度的评估

  • MSE
  • 偏差--方差权衡
    • 方差(variance) 方差的含义:方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影
    • 偏差(bias) 偏差的含义:偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。
      一般而言,增加模型的复杂度,会增加模型的方差,但是会减少模型的偏差,我们要找到一个方差--偏差的权衡,使得测试均方误差最小
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。