众所周知,ML是一个流程性很强的工作(所以很多人后面会用PipeLine),数据采集、数据清洗、数据预处理、特征工程、模型调优、模型融合、模型验证、模型持久化;
所有的机器学习算法在应用场景、优势劣势、对数据要求、运行速度上都各有优劣,但有一点不变的是都是数据贪婪的,也就是说任何一个算法,都可以通过增加数据来达到更好的结果,因此第一步数据采集也是最基础,最终的一步;
几种方式介绍:
更多是针对类似爬虫这种方式获取的数据,这种数据通常没有一个非常固定规范的格式,数据非常不稳定,因此需要进行前期的清洗工作,工作量巨大。。。。
几种清洗方向:
即便数据都在手上,但是因为人为、软件、业务导致的异常数据还是比较多的,比如性别数据的缺失、年龄数据的异常(负数或者超大的数),而大多数模型对数据都有基本要求,比如不能缺失,而异常数据对模型是有影响的,因此通常都需要进行预处理;
预处理问题类型:
特征工程决定了机器学习的上限,模型只是逼近这个上限;
这绝对不是一句空话,以目前在Kaggle上看到的各个比赛的情况,基本胜负都是出在特征工程上,这一点也是我认为机器学习中最重要,也最难的部分,它难并不是技术上的,而是经验上的,一个经验丰富的Kaggler在看到项目、数据的同时,脑子里已经有了特征工程的雏形,这可以帮助他很快的得到一个不错的分数,而后续的优化上,经验也是最重要的参考;
基本步骤:
调参方式与工具:
一般来讲,任何一个模型在预测上都无法达到一个很好的结果,这是因为通常来说单个模型无法拟合所有数据,及不具备对所有未知数据的泛化能力,因此需要对多个模型进行融合,这一点在Kaggle上体现的也很明显,好的排名中基本都用了模型融合;
融合方式:
最后,最好将得到的模型持久化到磁盘,方便后续使用、优化时,不需要从头开始;
THE END