前言
最近获得了一本书,粗略翻了一下,讲的是大数据和机器学习领域的基础知识和基础行业应用,并结合企业的算法库进行实战。当下正好有空,故作整理,以便温故知新。
大数据挖掘处理流程概述
数据采集
从数据的来源和接口技术看,分为如下几个模块:
数据库采集技术
数据库分为关系型数据库和非关系型数据库两大类。企业会在采集端部署大量数据库,并在数据库之间进行负载均衡和分片,从而完成大量数据的采集。
网络数据采集技术
网络爬虫
- 分布式网络爬虫工具:Nutch等
- Java网络爬虫工具:Crawler4j、WebMagic、WebCollector
- Python爬虫工具:Scrapy
数据包及流量监测/抓取
带宽管理技术
- DPI(deep packet inspection)
- DFI(deep/dynamic flow inspection)
系统日志采集技术
由一些大型互联网企业开发,如:
- Cloudera的Flume
- Facebook的Scribe
感知设备数据采集技术
通过摄像头、传感器等采集
数据采集接口技术
软件接口api
- SDK API
- REST API
- Web Service
- 消息发布/订阅服务
开放数据库
顾名思义,就是直接将访问数据库的账号密码授权给对方。其中涉及到的ETL技术:extract、transform、load。
数据预处理
数据清洗
数据清洗是大数据中非常重要的环节,如果数据不加清洗、垃圾数据太多,就算再精确的算法也拟合不出满意的结果。
对于不同的数据可有不同的处理方式:
- 缺失数据:忽略该记录、手动补充缺失值(、利用均值、利用可能值补等)、采用默认值
- 噪声数据:分箱、聚类分析、人机结合检测、回归
- 不一致数据:利用其与外部的关联,手动修正
数据集成
顾名思义就是将来自多个数据源的数据合并为一个统一的数据集合,以下问题值得重点考虑:
- 模式集成问题
- 冗余问题
- 数据值冲突检测与消除问题
数据转换
如归一化、标准化等,使数据成为符合规范或便于后续处理的形式。
数据规约
- 思路:从原有的巨大的数据集中获得一个具有代表性的精简数据集。
- 策略:
- 数据聚合
- 维数消减
- 数据压缩
- 正则化规约
- 数据摘要
数据分析和挖掘
这是大数据技术的重中之重,和统计学紧密相关。常用方法有如下几类:
- 分类
如最基础的猫狗分类问题。 机器学习的基础方法如决策树、SVM、贝叶斯方法、神经网络、遗传算法等都属于这类。
- 回归
比如线性回归、岭回归、套索回归等。
- 聚类
顾名思义,相同集合(类)中的数据尽可能相似,不同集合(类)的数据尽可能不同。 常见算法有:层次聚类、划分聚类、密度聚类、模糊聚类等。
- 关联分析
算法如Apriori、FP-Growth等
- 偏差分析
用于发现数据中的异常情况
- 协同过滤
该技术常被用于推荐算法,指的是根据某事物的一些特点,发现与其有关联性的更多事物,并进行推荐。
数据可视化
可理解为是前端。比较典型的工具有:
- Processing.js
- D3.js
大数据应用
- 金融证券领域的用户画像、精准营销、风险管控、股价预测等
- 互联网行业的精准营销、个性化推荐等
- 物流行业的运输路线优化、供应链协同管理等。
参考书籍
- 《基于鲲鹏的大数据挖掘算法实战》