美文网首页
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