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

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

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

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

下面以UCI中IRIS为例介绍一下数据集:

ucidata\iris中有三个文件:

Index

iris.data

iris.names

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

Index of iris

18 Mar 1996      105 Index

08 Mar 1993     4551 iris.data

30 May 1989     2604 iris.names

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

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

UCI的更多相关文章

  1. Luci - UCI (Unified Configuration Interface)

    参考: http://wiki.openwrt.org/doc/techref/uc http://luci.subsignal.org/api/luci/modules/luci.model.uci ...

  2. OpenWrt的UCI系统

    http://wiki.openwrt.org/doc/uci UCI是Unified Configuration Interface的缩写,翻译成中文就是统一配置接口,用途就是为OpenWrt提供一 ...

  3. 如何使用C API来操作UCI

    https://forum.openwrt.org/viewtopic.php?pid=183335#p183335 Compiling UCI as stand alone with an exam ...

  4. openwrt uci

    UCI: Unified Configuration Interface 通用配置接口,主要用于集中控制openwrt的配置文件. 1.uci使用的配置文件一般放置在设备上的/etc/config目录 ...

  5. uci随笔

    UCI : Unified Configuration Interface1.基于nvram配置2.只需修改UCI配置文件3.配置文件存放在路径/etc/config/目录下4.可以通过uci命令或者 ...

  6. UCI机器学习数据库

    UC Irvine Machine Learning Repository:UCI指的是加州大学欧文分校.UCI机器学习库主要是收集的机器学习领域的一些相关数据集和数据生成器,可以用来做一些基本的实验 ...

  7. 机器学习之分类问题实战(基于UCI Bank Marketing Dataset)

    导读: 分类问题是机器学习应用中的常见问题,而二分类问题是其中的典型,例如垃圾邮件的识别.本文基于UCI机器学习数据库中的银行营销数据集,从对数据集进行探索,数据预处理和特征工程,到学习模型的评估与选 ...

  8. OpenWRT UCI命令实现无线中继

    本文主要功能主要是利用OpenWRT系统uci命令实现无线中继,主要是利用uci程序修改/etc/congfig/目录下的配置文件.实现步骤如下主要分为以下几步: 1) 安装 relayd (opkg ...

  9. [openwrt] uci 的shell和lua接口

    uci是openwrt上配置操作的接口,不管是自动化的shell脚本,还是使用luci来二次开发配置界面,都会用到这部分知识. uci提供了lua, shell, c接口,这里主要用到了前两种 she ...

随机推荐

  1. 详细理解servlet实现的几种方式和生命周期

    现在很多的开发都是用的框架,然后很多同学学习的时候又是直接接触的框架,对于底层的一些开发,完全没有任何的了解.虽然对于业务上面来说,没有什么问题.但是很多时候当你被面试问到,或者是想要了解框架底层原理 ...

  2. $.getjson方法配合在url上传递jsoncallback=?参数,实现跨域获取指定网站某商品访问量

    across.php文件在域名www.cms.com程序中 <html><body><div id="pv">99</div>< ...

  3. office2003

    key:

  4. Linux 查硬件配置

    一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...

  5. IOS传值之代理传值(一)

    1.使用代理delegate的方法 2.使用通知Notification的方法 3.KVO等方法 4.block传值 ~~~~~~~~~~~~~~~~ 1.使用代理delegate的方法 #impor ...

  6. iperf linux版本移植到android (使用工具链方式不是使用Android.mk)

    由于很多程序是用makefile编译linux应用程序的,如果移植到android就要重新写Android.mk,对于不熟悉这个的人来说,特别麻烦,所以这里介绍只修改makefile就能移植到andr ...

  7. 产生一个int数组,长度为100,并向其中随机插入1-100,不重复

    #define RANDOM(X) (rand() % X + 1) int main() { //标志数组 ] = {}; ] = {}; //默认的随机数种子是1,这样的话,每次执行这个程序都会得 ...

  8. js判断字符串中是否有数字和字母

    var p = /[0-9]/; var b = p.test(string);//true,说明有数字var p = /[a-z]/i; var b = p.test(string);//true, ...

  9. centos6.5 安装git

    1.安装编译git时需要的包 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # yum ins ...

  10. AutoTile 自动拼接(一) 学习与实践

    恩,大家好,这两天江苏冷空气袭击,下了今年 第一场第二场雪. 不过今天我要说的 ,和 上面的 屁关系都没有. 今天要说的是 2d无缝自动拼接.大家有没有玩过  RPG Maker VX Ace. 类似 ...