现在的位置: 首页 > 综合 > 正文

机器学习UCI数据库

2013年02月28日 ⁄ 综合 ⁄ 共 1957字 ⁄ 字号 评论关闭

http://archive.ics.uci.edu/ml/

 

数据库是加州大学欧文分校(UniversityofCaliforniaIrvine)提出的用于机器学习的数据库,这个数据库目前共有187个数据集,其数目还在不断增加,UCI数据集是一个常用的标准测试数据集。

 

UCI上的“MultipleFeatures”数据库,这是一个手写数字识别问题,其中每个数字的数字化图像由6组共649个特征表示。

 

 

UCI数据可以使用matlabdlmread(或textread或者利用matlab的导入数据)读取,不过,需要先将不是数字的类别用数字,比如1/2/3等替换,否则读入不了数值,当字符了。

 

每个数据文件(*.data)包含以“属性-值”对形式描述的很多个体样本的记录。对应的*.info文件包含的大量的文档资料。(有些文件_generate_
databases
;他们不包含*.data文件。)作为数据集和领域知识的补充,在utilities目录里包含了一些在使用这一数据集时的有用资料。

 

下面以UCIIRIS为例介绍一下数据集:

 

ucidata\iris中有三个文件:

Index

iris.data

iris.names

 

index为文件夹目录,列出了本文件夹里的所有文件,如irisindex的内容如下:

Index of iris

18 Mar 1996      105 Index

08 Mar 1993     4551 iris.data

30 May 1989     2604 iris.names

 

iris.datairis数据文件,内容如下:

5.1,3.5,1.4,0.2,Iris-setosa

4.9,3.0,1.4,0.2,Iris-setosa

4.7,3.2,1.3,0.2,Iris-setosa

……

7.0,3.2,4.7,1.4,Iris-versicolor

6.9,3.1,4.9,1.5,Iris-versicolor

……

6.3,3.3,6.0,2.5,Iris-virginica

6.4,3.2,4.5,1.5,Iris-versicolor

 

5.8,2.7,5.1,1.9,Iris-virginica

7.1,3.0,5.9,2.1,Iris-virginica

……

如上,属性直接以逗号隔开,中间没有空格(5.1,3.5,1.4,0.2,),最后一列为本行属性对应的值,即决策属性Iris-setosa

 

iris.names介绍了irir数据的一些相关信息,如数据标题、数据来源、以前使用情况、最近信息、实例数目、实例的属性等,如下所示部分:

……

7. Attribute Information:

   1. sepal length in cm

   2. sepal width in cm

   3. petal length in cm

   4. petal width in cm

   5. class:

      -- Iris Setosa

      -- Iris Versicolour

      -- Iris Virginica

……

9. Class Distribution: 33.3% for each of 3 classes.

 

本数据的使用实例请参考其他论文,或本站后面的内容。

 

下面以wine数据为例导入matlab并利用前面提到的libsvm做测试

 

>> uiimport('wine.data')

导入数据,workspace处出现wine数组178*14

将标签和数据属性提取,并保存到matlab平台下的数据

>> wine_label = wine(:,1);

>> wine_data = wine(:,2:end);

>> save winedat.mat

 

(下次使用的时候可以直接>> load winedat

 

svm训练模型得到wine模型

>> modelw = svmtrain(wine_label,wine_data);

.*

optimization finished, #iter = 239

nu = 0.892184

obj = -61.125695, rho = 0.131965

nSV = 130, nBSV = 53

.*

optimization finished, #iter = 193

nu = 0.882853

obj = -50.421538, rho = -0.166754

nSV = 107, nBSV = 42

.*

optimization finished, #iter = 214

nu = 0.800233

obj = -53.411663, rho = -0.286931

nSV = 119, nBSV = 44

Total nSV = 178

 

分类结果

>> [plabelw, accuracyw] = svmpredict(wine_label,wine_data,modelw);

Accuracy = 100% (178/178) (classification)

 

抱歉!评论已关闭.