机器学习概论
通过对历史数据的一个学习,这个学习过程就是一个模型训练的过程,想让计算机能够发现数据背后所隐藏的规律,然后帮助我们进行辅助决策。
模型训练之前,我们需要对数据进行分析,结合我们的功能需求,明确我们的项目的要求,也就是分类问题还是回归问题。
分类、回归
分类:是属于监督学习的一种。监督学习就是原始数据包括X和Y。X就是代表了我们的数据属性(特征空间),Y代表了模型学习的目标。分类就是Y的离散值。
回归:也是监督学习的一种,但是他的目标变量y是连续的。
聚类:物以类聚。是属于非监督的一种。非监督学习就是没有Y。
机器学习流程
我们的原始数据会存在诸多问题,包括异常值、缺失值、乱码,所以首先需要进行数据预处理。
模型训练的核心是我们的算法,常用算法包括机器学习算法和深度学习算法。经典的机器学习算法包括:线性回归、决策树、随机森林、支持向量机等。常用深度学习算法包括:全连接神经网网络(BP)、卷积神经网络(CNN)、循环神经网络(LSTM)、GAN网络。所有深度学习模型本质都是对矩阵的变换。
特征工程
特征工程对原始数据特征空间中所有属性进行相关性计算。计算每个特征与我们学习目标之间的相关性,删除特征空间内的冗余特征,包括特征重构、特征选择。特征选择的目的是为了找到一个特征最优子集,通常会保存为numpy文件(矩阵)
数据来源
1、通过爬虫 2、源于数据网站 。UCI、Kaggle、天池。 3、通过传感器或其他设备收集的一些数据。
数据预处理
数据无量纲化
参考https://blog.csdn.net/qq_43202474/article/details/109101323
缺失值处理
模型训练
划分数据集:是将我们预处理完成之后的数据集进行划分。主要是划分训练集、测试集。训练集是用来训练模型,模型训练完成后需要对模型进行测试,我们使用测试集来评估模型性能。
如何划分。通常采用八二划分。训练集占80%,测试集20%。
kfold交叉验证:针对小样本数据集,为了提升模型的泛用
模型调参
模型训练完成后,我们根据模型性能对我们的算法模型进行一个调参。常用调参: 1)根据经验调参 2)网格调参法(GridSearch),其实是对所有可能参数的一个遍历,遍历完成后得到的一组最优参数。
模型保存
模型训练完成后,需求把训练得到的模型进行保存,也叫做模型持久战化,在机器学习中,我们保存模型常用到的库是pickle库,主要方法是pickle.dump()。模型调用也叫做模型加载。
模型评估
使用测试集来评估训练的模型 评估标准: -- 分类问题 :精确率、准确lv、F1值、混淆矩阵。 -- 回归问题 : MAE、MSE、R^2,RMSE
常用的库
sklearn:机器学习核心算法、数据预处理、模型评估 pandas:数据分析 numpy: 数组运算
数据可视化
matplotlib