• 数据挖掘工作流


    目前带着一个小组在做全面的用户画像的工作,不少同学都是第一次接触数据挖掘的工作。于是总结了一个较为简单,通用的数据挖掘工作流,也贴出作为自己的工作结果吧。

    数据挖掘工作流
    =========
    #### 1 收集数据
    收集数据一般是补充外部数据,包括采用爬虫和接口,获取,补充目前数据不足部分。Python scrapy,requests是很好的工具。

    #### 2 准备数据
    主要包括数据清洗,预处理,错值纠正,缺失值填补。连续值离散化,去掉异常值,以及数据归一化的过程。同时需要根据准备采用的挖掘工具准备恰当的数据格式。

    #### 3 分析数据
    通过初步统计、分析以及可视化,或者是探索性数据分析工具,得到初步的数据概况。分析数据的分布,质量,可靠程度,实际作用域,以确定下一步的算法选择。 R的ggplot,python的matplotlib,js 的leaflet,d3都是很好的可视化工具。

    #### 4 训练算法
    整个工作流最核心的一步,根据现有数据选择算法,生成训练模型。主要是算法选择和参数调整
    1. 算法的选择,需要对算法性能和精度以及编码实现难度进行衡量和取舍。 (甚至算法工具箱对数据集的限制情况都是算法选择考虑的内容)。实际工程上,不考虑算法复杂度超过O(N^2)的算法。Java的Weka和Python的Scipy是很好的数据挖掘分析工具,一般都会在小数据集做算法选择的预研。

    2. 参数调整。这是一门神奇的技能,只能在实际过程中体会。

    #### 5 测试算法
    这一步主要是针对监督算法(分类,回归),为了防止模型的Overfit,需要测试算法模型的覆盖能力和性能。方法包括Holdout,还有random subsampling.
    非监督算法(聚类),采用更加具体的指标,包括熵,纯度,精度,召回等。

    #### 6 使用,解释,修正算法
    数据挖掘不是一个静态的过程,需要不断对模型重新评估,衡量,修正。算法模型的生命周期也是一个值得探讨的话题。

     

  • 相关阅读:
    How to bind to data when the DataContext is not inherited【项目】
    访问ControlTemplate内部的元素
    TemplateBinding vs TemplatedParent【PluraSight】
    UserControl和CustomControl基础【PluraSight】
    如何让label和textblock分成两行
    Labeled ContentControl & LabeledControl【项目】
    Label & TextBlock
    How to use SourceGear DiffMerge in SourceSafe, TFS, and SVN【项目】
    转载 使用WiX Toolset创建.NET程序发布Bootstrapper(安装策略管理)(一&二)——初识WiX
    Unity中的C#规则
  • 原文地址:https://www.cnblogs.com/ventlam/p/3745344.html
Copyright © 2020-2023  润新知