美文网首页
Python+libsvm-2(实例-使用libsvm对鸢尾花进

Python+libsvm-2(实例-使用libsvm对鸢尾花进

作者: 请回答_ | 来源:发表于2020-03-15 16:02 被阅读0次

1、准备数据

这里使用的是lab课上老师提供的数据集



但是不符合libsvm中要求的数据格式,所以需要将原始数据转换成libsvm中要求的。

  • 利用FormatDataLibsvm.xls进行转换
    点击下载FormatDataLibsvm.xls
    提取码: cww0

  • 打开FormatDataLibsvm.xls,启用编辑,启用内容。然后 “文件>打开” 选择iris.txt文件.




    第三步选常规,然后完成导入。

  • 处理label
    使用替换功能,将label “Iris-setosa” 这些对应换成0 1 2
    因为libsvm中的label格式要求是不能为字符这些。


  • 然后使用宏对数据进行转换

    转换好后是这样的:

    <label> index1:<feature> index2:<feature> index3:<feature> index4:<feature>

复制Excel表格中的数据到一个新的txt文件中

  • 验证数据
    在cmd 中使用python checkdata.py tt.txt 验证 No error

2、训练和测试

我这里把原来的数据集分成了两个,一个用作train 一个用作test

from svmutil import *

y, x = svm_read_problem('train.txt')
yt, xt = svm_read_problem('test.txt')
model = svm_train(y, x,'-t 1')

p_label, p_acc, p_val = svm_predict(yt[:], xt[:], model)

相关文章

网友评论

      本文标题:Python+libsvm-2(实例-使用libsvm对鸢尾花进

      本文链接:https://www.haomeiwen.com/subject/npzdehtx.html