概要
本文是用Python编程语言来进行机器学习小实验的第一篇。主要内容如下:
- 读入数据并清洗数据
- 探索理解输入数据的特点
- 分析如何为学习算法呈现数据
- 选择正确的模型和学习算法
- 评估程序表现的准确性
读入数据 Reading the data
当读入数据时,你将面临处理无效或丢失数据的问题,好的处理方式相比于精确的科学来说,更像是一种艺术。因为这部分处理适当可以适用于更多的机器学习算法并因此提高成功的概率。
用NumPy有效地咀嚼数据,用SciPy智能地吸收数据
Python是一个高度优化的解释性语言,在处理数值繁重的算法方面要比C等语言慢很多,那为什么依然有很多科学家和公司在计算密集的领域将赌注下在Python上呢?因为Python可以很容易地将数值计算任务分配给C或Fortran这些底层扩展。其中NumPy和SciPy就是其中代表。
NumPy提供了很多有效的数据结构,比如array,而SciPy提供了很多算法来处理这些arrays。无论是矩阵操作、线性代数、最优化问题、聚类,甚至快速傅里叶变换,该工具箱都可以满足需求。
读入数据操作
这里我们以网页点击数据为例,第一维属性是小时,第二维数据是点击个数。
import scipy as sp
data = sp.genfromtxt('web_traffic.tsv', delimiter='\t')
预处理和清洗数据
当你准备好了你的数据结构用于存储处理数据后,你可能需要更多的数据来确保预测活动,或者拥有了很多数据,你需要去思考如何更好的进行数据采样。
在将原始数据(raw data)进行训练