处理数据前需先将数据导入库中,此处为指定网络位置的数据资源,通过urllib2包处理
import urllib2
url = 'http://aima.cs.berkeley.edu/data/iris.csv' #数据源存储地址
gu = urllib2.urlopen(url) #打开网页
localFile = open('iris.csv', 'w') #标准类库创建名为iris.cvs的文件
localFile.write(gu.read()) #写入文件内容
localFile.close()
数据包含鸢尾花(iris)数据集,这是一个包含了三种鸢尾花(山鸢尾、维吉尼亚鸢尾和变色鸢尾)的各50个数据样本的多元数据集,每个样本都有四个特征(或者说变量),即花萼(sepal)和花瓣(petal)的长度和宽度。以厘米为单位。
数据集以CSV(逗号分割值)的格式存储。CSV文件可以很方便的转化并把其中的信息存储为适合的数据结构。此数据集有5列,前4列包含着特征值,最后一列代表着样本类型。
CSV文件很容易被numpy类库的genfromtxt方法解析:(还有别的方法吗?)
from numpy import genfromtxt, zeros
ft = genfromtxt('iris.csv',delimiter=',',usecols=(0,1,2,3)) #读取特征值
msample = genfromtxt('iris.csv',delimiter=',',usecols=(4),dtype=str) #读取样本类型
print "feature:"
print ft.shape
print ft
print "sample:"
print msample.shape
print sample
print "sample contains %s" % set(msample)