标签: libsvm

LIBSVM:从模型文件中获取支持向量

这可能是一个奇怪的请求,所以先解释一下.我最近遇到了突然的高清崩溃,丢失了一个用于生成带有libSVM的模型文件的数据文件.我确实有我从这个数据文件生成的SVM模型和缩放文件,我想知道是否有一种方法可以从模型文件中的支持向量生成数据文件,就像是model_sv_to_instances(model, &instances)因为获取实例的过程非常昂贵.(我知道它与原版不一样但仍然比没有更好)我正在使用带RBF内核的概率SVM.

machine-learning svm libsvm

1
推荐指数
1
解决办法
4680
查看次数

LIBSVM是否在培训中处理缺失的值?

我正在使用libsvm进行多元回归.我有一些缺少值的数据.例如,我有10个10个节点的实例,每个节点10个链接与它相关联.我需要使用10个实例训练这10个节点.但在某些情况下,某些链接值缺失.那么libsvm如何对待它们呢?还是我需要填补那些缺失值?

matlab regression machine-learning svm libsvm

1
推荐指数
1
解决办法
1464
查看次数

在大型自然语言词集上的哈希表

我正在用python编写一个程序来对电影评论做一个unigram(以及最终的bigram等)分析.目标是创建要提供给libsvm的特征向量.我的特征向量中有50,000个奇怪的独特单词(这对我来说似乎相当大,但我相对肯定我是对的).

我正在使用python字典实现作为哈希表来跟踪我遇到它们时的新单词,但是我注意到在处理了前1000个奇数文档后出现了巨大的减速.如果我使用了几个较小的散列表/字典,那么我会有更好的效率(考虑到自然语言的分布),还是会相同/更差?

更多信息:

数据被分成1500个左右的文件,每个500个字.每个文档中有100到300个唯一单词(相对于所有以前的文档).

我目前的代码:

#processes each individual file, tok == filename, v == predefined class
def processtok(tok, v):
    #n is the number of unique words so far, 
    #reference is the mapping reference in case I want to add new data later
    #hash is the hashtable
    #statlist is the massive feature vector I'm trying to build
    global n
    global reference
    global hash
    global statlist
    cin=open(tok, 'r')
    statlist=[0]*43990
    statlist[0] = v
    lines = cin.readlines()
    for l in lines:
        line = l.split(" …
Run Code Online (Sandbox Code Playgroud)

python dictionary nlp hashtable libsvm

0
推荐指数
1
解决办法
1087
查看次数

如何使用(或不使用)LibSVM执行支持向量回归

我正在研究一篇需要应用支持向量回归(SVR)的论文,最好是使用高斯核.经过一番搜索,我发现LibSVM可以帮助完成这项任务.

但是,我遇到了一些困难:我不确定如何做到这一点,使用这个或任何其他类似的库,如何根据经验确定SVR参数(内核带宽,成本和epsilon(松弛变量)),如以及如何绘制训练和测试错误.

欢迎所有建议.

matlab regression vector libsvm

0
推荐指数
1
解决办法
2589
查看次数

Matlab libsvm svmpredict准确性详细

我有一个恼人的事实问题.我正在使用libsvm和matlab,我能够预测使用:

predicted_label = svmpredict(Ylabel, Xlabel, model);
Run Code Online (Sandbox Code Playgroud)

但每次我做出预测时都会出现这样的情况:

Accuracy = X% (y/n) (classification)
Run Code Online (Sandbox Code Playgroud)

我发现这很烦人,因为我重复这个过程很多次也因为它在屏幕上显示而变慢.

我想我想要的是避免svmpredict冗长.

谁能帮我这个?提前致谢.

-Jessica

matlab verbose libsvm

0
推荐指数
2
解决办法
5380
查看次数

一类SVM可检测异常值

我的问题是

我想建立一个一类SVM分类器,以从测试文件中识别名词/方面。培训文件包含名词列表。该测试包含单词列表。

这是我所做的:

我正在使用Weka GUI,并且已经训练了一个类SVM(libSVM)以获取模型。

现在,模型将测试文件中的这些单词分类,分类器在生成的模型中将这些单词识别为名词。其他分类为离群值。(因此,它就像查找一样工作。如果在经过训练的模型中将其标识为名词,则为“是”,否则为“否”。)

那么如何建立适当的分类器呢?(我的意思是输入的格式及其应包含的信息是什么?)

注意:

  • 我不会在训练文件中给出负面的例子,因为它是一堂课。
  • 我的输入格式是arff
  • 训练文件的格式是一组单词,是的
  • 测试文件的格式是一组单词,吗?

编辑 我的测试文件将包含名词短语。因此,我的分类器的工作是从测试文件中的候选项中获取名词词。

classification machine-learning weka arff libsvm

0
推荐指数
1
解决办法
853
查看次数

未找到WEKA API LibSVM ClassPath

我正在尝试将LibSVM与Weka API一起使用.

我的系统:Win7 Weka 3.7.12 LibSVM 1.0.6(通过软件包管理器安装)

我的代码:

import java.io.File;
import java.util.Random;

import javax.swing.JOptionPane;

import weka.classifiers.Evaluation;
import weka.classifiers.functions.LibSVM;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;

public class LibSVMClassifier {
// Method to build a SVM classifier with a given data file
public static double buildModel(File dataSet){

    // new instance of LibSVM
    LibSVM clsSVM = new LibSVM(); 

    try {
        Instances data = DataSource.read(dataSet.getAbsolutePath());

        // Sets the label feature
        data.setClassIndex(data.numAttributes()-1);

        String opts = "-S 0 -K 0 -D 3 -G 0.0 -R 0.0 -N 0.5 …
Run Code Online (Sandbox Code Playgroud)

java classpath weka libsvm

0
推荐指数
1
解决办法
2718
查看次数

如何使用libsvm库(Matlab)实现1对1多类分类?

如何使用libsvm实现一对一多类分类?请帮我解决这个问题.

我还从这个答案中读到了一对一的方法...... 使用Matlab进行交叉验证的多类SVM的完整示例[关闭]

我的测试数据:功能和最后一列是标签

D = [

1           1          1           1             1
1           1          1           9             1
1           1          1           1             1
11          11         11          11            2
11          11         11          11            2
11          11         11          11            2
30          30         30          30            3
30          30         30          30            3
30          30         30          30            3
60          60         60          60            4
60          60         60          60            4
60          60         60          60            4
];
Run Code Online (Sandbox Code Playgroud)

我的测试数据是

inputTest = [
    1           1           1           1             
    11          11          11          10 …
Run Code Online (Sandbox Code Playgroud)

matlab svm libsvm

0
推荐指数
1
解决办法
354
查看次数

经过几次训练后,libsvm-java抛出NullPointerException

我使用libsvm java包进行句子分类任务.我有3节课.每个句子都表示为大小为435的向量.vector_file的格式如下:

1 0 0.12 0 0.5 0.24 0.32 0 0 0 ... 0.43 0 第一个数字表示类标签,剩余部分是矢量.

以下是我如何制作svm_problem:

public void makeSvmProb(ArrayList<Float> inputVector,float label,int p){
        // p is 0 to 77 (total training sentences)

        int idx=0,count=0;

        svm_prob.y[p]=label;
        for(int i=0;i<inputVector.size();i++){
            if(inputVector.get(i)!=0) {
                count++; // To get the count of non-zero values
            }

        }
        svm_node[] x = new svm_node[count];
        for(int i=0;i<inputVector.size();i++){

          if(inputVector.get(i)!=0){


              x[idx] = new svm_node();
              x[idx].index = i;
              x[idx].value = inputVector.get(i);

                idx++;
           }

        }
        svm_prob.x[p]=x;
}
Run Code Online (Sandbox Code Playgroud)

参数设置:

param.svm_type …
Run Code Online (Sandbox Code Playgroud)

machine-learning svm libsvm

0
推荐指数
1
解决办法
109
查看次数