数据预的核心步骤,基本就是你摸清数据之前要做的那一堆杂活。像数据清洗、集成、变换、归约这些,听着有点学术,其实就像整理屋子:先扔垃圾,再归类,压缩打包。哦,还有微软家的DTS服务,做 ETL 挺顺手,后面会专门讲。
数据之前最头大的就是清洗,格式不统一、缺值、异常值全靠它搞定。想省事可以看看DataCleaner和Kettle这两个工具,界面友好,功能也比较全。DataCleaner适合批,Kettle支持流程图操作,操作起来更直观。
如果你喜欢开源的思路,数据清洗开源项目还挺多,搭配上OpenRefine那种老牌工具,干活更轻松。OpenRefine适合结构混乱的表格数据,点点点就能清理出一份干净表。
再往下,数据集成和变换主要是合并和标准化。有多个数据源的时候,这一步蛮关键的。不然一个字段叫user_id
、另一个叫userid
,你光识别都得半天。这篇文章讲得还不错,建议先过一遍。
还有些进阶用法,比如用MapReduce批量清洗超大规模数据。你要真做大数据清洗,可以看看这个实现文件,MapReduce 虽然上手麻烦点,但速度是真的快。
实战里,数据清洗的坑可不少。像什么样本偏差、Web 数据,不提前注意,结果偏得离谱。可以看看这两篇:样本偏差和Web 数据清洗方法,思路还蛮实用的。
吧,数据预说难不难,说简单也不简单。如果你刚入门,建议从图形化工具玩起。如果你打算搞点深入的批或者大数据,那 DTS、MapReduce 这些就得研究一下。