数据挖掘工作流程: 一、收集数据 收集数据一般是补充外部数据,包括采用爬虫和接口,获取,补充目前数据不足部分。Python scrapy,requests是很好的工具。 二、准备数据 主要包括数据清洗,预处理,错值纠正,缺失值填补。连续值离散化,去掉异常值,以及数据归一化的过程。同时需要根据准备采用的挖掘工具准备恰当的数据格式。 三、分析数据 通过初步统计、分析以及可视化,或者是探索性数据分析工具,得到初步的数据概况。分析数据的分布,质量,可靠程度,实际作用域,以确定下一步的算法选择。 R的ggplot,python的matplotlib,js 的leaflet,d3都是很好的可视化工具。 四、训练算法 整个工作流最核心的一步,根据现有数据选择算法,生成训练模型。主要是算法选择和参数调整: 1.算法的选择,需要对算法性能和精度以及编码实现难度进行衡量和取舍。 (甚至算法工具箱对数据集的限制情况都是算法选择考虑的内容)。实际工程上,不考虑算法复杂度超过O(N^2)的算法。Java的Weka和Python的Scipy是很好的数据挖掘分析工具,一般都会在小数据集做算法选择的预研。 2.参数调整。这是一门神奇的技能,只能在实际过程中体会。 五、测试算法 这一步主要是针对监督算法(分类,回归),为了防止模型的Overfit,需要测试算法模型的覆盖能力和性能。方法包括Holdout,还有random subsampling. 非监督算法(聚类),采用更加具体的指标,包括熵,纯度,精度,召回等。 六、使用,解释,修正算法 数据挖掘不是一个静态的过程,需要不断对模型重新评估,衡量,修正。算法模型的生命周期也是一个值得探讨的话题。 来源:大数据魔镜社区 |
|