7.2.1 数据加载
数据分析首先要加载数据,一般使用NumPy中的数组或者Pandas中的DataFrame等数据结构来存放数据,示例代码:
import numpy as np
X = np.random.random((10,5))
y = np.array(['M','M','F','F','M','F','M','M','F','F','F'])
X[X < 0.7] = 0
以上代码,矩阵X表示的是10行5列的数据集,而且将X元素中小于0.7的值设置为0,向量y表示是属性标签,其对应的结果分别为
array([[ 0. , 0. , 0.99279061, 0. , 0. ],
[ 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0.75228332, 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0.96809177, 0. , 0. , 0. ],
[ 0.73956947, 0. , 0.83682458, 0.82550419, 0.7967034 ],
[ 0.94029749, 0. , 0. , 0. , 0. ],
[ 0. , 0.86847999, 0.84031636, 0.88293549, 0.75715913],
[ 0. , 0. , 0. , 0. , 0. ],
[ 0. , 0.7748339 , 0. , 0. , 0.80939893]])
array(['M', 'M', 'F', 'F', 'M', 'F', 'M', 'M', 'F', 'F'], dtype='<U1')
7.2.2 数据切分
利用NumPy库生成示例数据集后,我们通过sklearn库提供的cross_validation模块划分训练数据与测试数据,示例代码:
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
其中X_train表示训练数据集,y_train表示训练结果集,X_test表示测试数据集,y_test表示测试结果集。其目的是利用训练集数据去模拟模型,给出适当参数,然后利用测试集数据建议模型效果。