加载数据
- 一般输入的数据是一个矩阵或CSV文件;
- 将数据加载到内存中;
- 可以是网络上的数据,比方说UCI机器学习数据仓库也可以是保存在本地的文件。
网络数据仓库
scikit-learn的实现使用了NumPy中的arrays,所以,我们要使用NumPy来载入csv文件。
以下是从UCI机器学习数据仓库中下载的数据。
import numpy as np
import urllib
# url with dataset
url = "http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"
# download the file 下载文件
raw_data = urllib.request.urlopen(url)
# load the CSV file as a numpy matrix
dataset = np.loadtxt(raw_data, delimiter=",")
# separate the data from the target attributes
X = dataset[:,0:7]
y = dataset[:,8]
以上从url下载数据,然后将数据文件(CSV)作为一个numpy矩阵加载到内存中,并将特征矩阵作为X,目标变量作为y。
加载本地文件
如果是本地的文件,可以使用np.loadtxt加载
import numpy as np
#加载本地工作空间的文件‘iris.txt’
np.loadtxt('iris.txt',delimiter=',', dtype=<type 'float'>, comments='#', converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
np.loadtxt方法的参数可以参考官方文档:
https://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html
保存数据
使用np.savetxt保存数据文件,同样需要指明必要的参数
np.savetxt('iris.txt',delimiter=',')