本人在读了《机器学习实战基于Scikit-Learn和TensorFlow》和之前看了一些有关机器学习的视频后,对机器学习有了一些自己的想法,比如机器学习它主要是运用算法建立模型,对一些大型的数据进行预测。有一些是判定分类的(离散的),也有一些是对数值的预测(连续的)。
当你拿到一个数据集时,你会发现该数据集有许多的数据,数值的以及一些字符串的数据,当你遇到字符串的数据你就需要自己对这些数据进行分类,主要还是将其转变成数值型的数据,机器学习的所有模型预测都是建立在这些数值型的数据基础上进行的。这里的数据又分为特征值和目标值,特征值一般就是这个数据集的大部分的数据(用来描述这个数据集的特征),而目标值就是指这个数据集的最后一列的数据(用来给这一行的数据进行定性)。
机器学习的模型分类又分为:
1 . 监督学习
监督学习无非就是有目标值的数据模型
2 . 非监督学习
而非监督学习就是没有目标值的数据模型,最常见的算法就是聚类。
让我梳理一下一个机器学习的基本流程:
- 数据集的预处理(数据的读取,数据的清洗),常见的需要进行缺失值处理;
- 数据的特征工程(数据的归一化或标准化,以及一些特征值降维),主要是为了减少某一些特征值对于整体的数据的预测的影响,减少代码的运算量;
- 划分测试集和训练集;
- 选择合适的机器学习的模型,进行超参数设置,交叉验证或者网格搜索进行调参;
- 进行机器学习的模型预测;
- 进行模型的评估和使用部署模型,模型不好的话就再进行第四步。
感觉想要熟悉机器学习算法还是得看scikit-learn的官方文档,以及自己找一些网上的案例进行模拟其中的过程,当自己熟悉之后再进行一些比赛的训练,一定要多敲代码!!!