发布网友 发布时间:2022-04-23 13:59
共1个回答
热心网友 时间:2022-07-05 17:58
下面以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_data,wine_label);
.*
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)