大师兄的数据分析学习笔记(十四):机器学习与数据建模

大师兄的数据分析学习笔记(十三):特征预处理(四)
大师兄的数据分析学习笔记(十五):分类模型(一)

一、基础概念

  • 学习:通过接收到的数据,归纳提取相同与不同。
  • 机器学习:让计算机以数据为基础,进行归纳与总结。
  • 模型:数据解释现象的系统,可以看做是机器学习产出的函数。

二、关于机器学习

  • 机器学习根据是否有标注,可以分为监督学习非监督学习半监督学习
  • 机器学习的任务,就是提炼出输入数据标注间的关系,并进行预测。
1. 监督学习
  • 监督学习就是有标注的机器学习过程,标注告诉模型在怎样的特征下,应该输出怎样的结果。
  • 根据标注时离散值还是连续值监督学习可以分为分类学习回归学习

标注是离散值:分类学习
标注是连续值:回归学习

2. 非监督学习
  • 如果机器学习的过程没有标注,叫做非监督学习
  • 非监督学习完全让数据自己说话,将数据的特征在不同的模型中进行不同的表现。
  • 非监督学习经常分为聚类分析关联分析
3. 半监督学习
  • 如果机器学习的过程部分有标注,叫做半监督学习
  • 半监督学习中,有标注的数据可以作用于没有标注的数据,规范和引导聚类关联的方向。
  • 同时,没有标注的数据也可以作用于有标注的数据,时刻获得模型对数据的影响和反馈。

三、关于数据集

  • 在建模前,通常会将数据集分成三个部分:训练集验证集测试集,这种方法也叫作交叉验证
  • 这三部分数据集的比例通常取:6:2:2
  • 如果只将数据分为训练集测试集,比例通常取4:1
1. 训练集
  • 训练集是用来训练与拟合模型。
  • 模型参数由训练集决定。
  • 训练集的数据越多,模型相对于整个数据集越准确。
2. 验证集
  • 验证集是用于验证训练集训练出的模型,进行数据纠偏或比例预测,从多个模型中选出最优模型。
3. 测试集
  • 测试集用于模型泛化能力的考量,通过验证集得出最优模型后,对模型进行预测,衡量模型的性能和分类能力。
  • 泛化能力指的是对未知数据或实际场景数据的预测能力。
  • 如果数据集在训练集验证集数据表现良好,但在测试集数据中表现较差,这种现象称为过拟合现象。
4. 分类方法
  • 为了全面衡量模型的质量,数据集的分类选取通常是随机的。
  • 有时为了更全面的考察模型,会使用K-fold叉验证
  • 将数据集分成k份,每份轮流做一遍测试集,其它作训练集。
>>>import os
>>>import pandas as pd
>>>from sklearn.model_selection import train_test_split

>>>df = pd.read_csv(os.path.join(".", "data", "WA_Fn-UseC_-HR-Employee-Attrition.csv"))
>>>X_tt,X_validation = train_test_split(df,test_size=0.2)
>>>X_train,X_test = train_test_split(X_tt,test_size=0.25)
>>>print(f"X_train:{len(X_train)}")
>>>print(f"X_validation:{len(X_validation)}")
>>>print(f"X_test:{len(X_test)}")
X_train:882
X_validation:294
X_test:294

你可能感兴趣的:(大师兄的数据分析学习笔记(十四):机器学习与数据建模)