自己之所以会产生自学机器学习的念头,其实完全是因为自己对数据挖掘的兴趣,因为在我的内心一直坚信这么一个逻辑:任何事情背后都有其一定的模式,不同的情况只是对应于某些条件的不同。所以找出这样一个模式,是解决一类问题最方便最快捷的方法,作为像我这样一种懒人,当然希望用最有效率的方式解决问题。
接下来自己打算写一个数据挖掘的系列,主要对应于自己最近在看的《数据挖掘导论》这本书,一方面写一些读书笔记,另一方面也结合自己的思考写一些感想啥的。我大致地看了一下,书中所涉及的算法基本上在前面的机器学习系列里都写过了,所以通过这本书的学习希望能够掌握实际的数据挖掘的整个流程以及各种算法在其中的应用,然后也希望和大家多交流,一起进步,做个合格的小矿工~
好的,题外话就到这边,下面进入正题,今天主要想讲一讲数据挖掘的概念以及关于数据的一些内容,相对来说,理论内容偏多,但加深对这些东西的认识会让你在做数据挖掘时更有目的性。
====================================================================数据挖掘
数据挖掘到底是干啥的?
比较官方的定义就是,在大型数据存储库中,自动地发现有用信息的过程。其实就像我之前所说的,从大量的数据中,发现那个我们想要寻找到的模式。
数据挖掘的一般过程包括以下这几个方面:
1、 数据预处理
2、 数据挖掘
3、 后处理
首先来说说数据预处理。之所以有这样一个步骤,是因为通常的数据挖掘需要涉及相对较大的数据量,这些数据可能来源不一导致格式不同,也许有的数据还存在一些缺失值或者无效值,如果不经处理直接将这些‘脏’数据放到我们的模型中去跑,非常容易导致模型计算的失败或者可用性很差,所以数据预处理是我们所有数据挖掘过程中都不可或缺的一步。不客气地讲,预处理这一步通常占用了我们数据挖掘过程中的很大部分时间,但的确值得我们去做,关于它的详细内容我们在下面会讲。
至于数据挖掘和后处理相对来说就容易理解多了。完成了数据的预处理,我们通常进行的特征的构造然后放到特定的模型中去计算,利用某种标准去评判不同模型或组合模型的表现,最后确定一个最合适的模型用于我们的后处理。后处理的过程相当于我们已经发现了那个我们想要找到的模式,我们会去应用它或者用合适的方式将其表示出来。
最后,我们再来说说数据