1.数据收集与存储
数据来源:
(1).用户访问行为数据
(2).业务数据
(3).外部第三方数据
数据存储:
(1).需要存储的数据:原始数据,预处理后数据,模型结果
(2).存储设施:mysql,HDFS,HBase,Solr,Elasticsearch,Kafka,Redis等
数据收集方式:
Flume & Kafka
#机器学习可用公开数据集
http://archive.ics.uci.edu/ml/datasets.html (里面的数据不需要进行特征工程)
https://tianchi.aliyun.com/datalab/index.html (需要做特征工程)
数据清洗和转换
实际生产环境中机器学习比较耗时的一部分
大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示
大部分的情况下,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作主要包括以下几个部分:
(1).数据过滤
(2).处理数据缺失
(3).处理可能的异常,错误或者异常值
(4).合并多个数据源数据
(5).数据汇总
(因为机器学习对数据的处理必须数据类型,故需要对数据进行处理)
对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式,对许多模型来说,这种表示就是包含数值数据的向量和矩阵
(1).将类别数据编码变为对应的数值表示(一般使用1-of-k方法)--dumy
(2).从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)
(3).处理图像或者音频数据(像素,声波,音频,振幅等<傅里叶变换>)
(4).数值数据转换为类别数据已减少变量的值,比如年龄分段
(5).对数值数据进行转换,比如对数转换
(6).对特征进行正则化,标准化,以保证同一模型的不同输入变量的值域相同
(7).对现有变量进行组合或转换以生成新特征,比如平均数(做虚拟变量)不断尝试