标签: svm

什么是OpenCV svm类型参数

opencv SVM实现采用标记为"SVM类型"的参数,该参数必须在用于训练SVM的CVSVMParams结构中使用.我能找到的所有解释是:

// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };

谁知道这些不同的价值代表什么?

opencv machine-learning svm

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

关于OpenCV HOG描述符的SVMLight

我正在尝试使用SVM Light来学习OpenCV2.2 HOG描述符的分类器.我从HOG描述符得到一个浮点向量输出.

阅读完SVMLight文档后,我仍然无法理解输入序列和测试数据的格式.

来自网站train.dat的一行示例:

1 6:0.0176472501759912 15:0.0151152682071138 26:0.0572866228831546 27:0.0128461400334668
Run Code Online (Sandbox Code Playgroud)

哪里,

The first char: 1, denote the positive class.    
The second and third char 6: <== I don't understand what does this means,    
The third variable denote the feature vector.
Run Code Online (Sandbox Code Playgroud)

有人请帮忙吗?谢谢!

opencv machine-learning svm

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

Libsvm中的决策值

我是SVM的新手.我使用Libsvm for Matlab,在预测阶段后我得到了一个决策值数组.根据SVM理论:每个测试记录z被指定为正数if

F(z)的= 1

其中f(z)定义为

F(z)的=符号(W*Z + b)的

那么如何将实例z的数组的决策值与f(z)相关联?基于决策值的预测是这样的:如果dec_value> 0则z为正,否则z为负?

matlab svm prediction libsvm

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

Supprt Vector Machine在matlab中工作,在c ++中不起作用

我正在编写一个使用SVM对某些图像进行分类的应用程序(特别是这些).我的Matlab实现非常有效.使用SIFT字袋方法,我可以使用线性内核获得接近100%的准确度.

我需要在C++中以速度/可移植性的原因实现它,所以我尝试使用libsvmdlib.我尝试了多种SVM类型(c_svm,nu_svm,one_class)和多个内核(线性,多项式,rbf).我能够达到的最好的准确度是大约50% - 即使是我训练过的相同样本.我已经确认我的特征生成器正在工作,因为当我将我的c ++生成的特性导出到Matlab并对其进行训练时,我能够再次获得接近完美的结果.

Matlab的SVM实现有什么神奇之处吗?是否有任何常见的陷阱或领域可以解释我所看到的行为?我知道这有点模糊,但问题的一部分是我不知道去哪里.如果我能提供其他有用的信息,请在评论中告诉我.

c++ matlab machine-learning svm

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

如何使用LibSVM Weka实现预处理数据集以获得最大效果

所以我读了一篇论文,说正确处理你的数据集可以大大提高LibSVM分类的准确性......我正在使用Weka实现,并希望有一些帮助确保我的数据集是最优的.

这是我的(示例)属性:

Power Numeric (real numbers, range is from 0 to 1.5132, 9000+ unique values)
Voltage Numeric (similar to Power)
Light Numeric (0 and 1 are the only 2 possible values)
Day Numeric (1 through 20 are the possible values, equal number of each value)
Range Nominal {1,2,3,4,5} <----these are the classes
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该应用哪些Weka预处理过滤器来使这个数据集对LibSVM更有效?

  1. 我应该规范化和/或标准化电源和电压数据值吗?
  2. 我应该在任何事情上使用Discretization过滤器吗?
  3. 我应该将电源/电压值合并到更少数量的垃圾箱中吗?
  4. 我应该使Light值二进制而不是数字吗?
  5. 我应该规范日值吗?这样做甚至有意义吗?
  6. 我是否应该使用Nominal to Binary或Nominal来对其他类别的"Range"类进行过滤?

请就这些问题以及您认为我可能错过的任何其他问题提出建议......

提前致谢!!

machine-learning svm weka libsvm

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

scikit-learn是否只允许使用线性svms访问clf.coef?

我想用多项式内核svm计算原始变量w,但要做到这一点,我需要计算clf.coef_*clf.support_vectors_.除了线性之外,所有内核类型的访问都被限制为.coef_ - 这是否有原因,在这种情况下是否有另一种方法来派生w?

python machine-learning svm scikit-learn

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

SVM中的克矩阵/核不是半正定的

使用任意数据计算的任何矩阵(或Gram矩阵)都保证是正半正定的.

我有一个数据矩阵D,其中每一行都是一个数据向量.如果我像这样计算内核,

K = D*D';
Run Code Online (Sandbox Code Playgroud)

事实证明,这不是正半确定的,更不用说肯定的了.

为什么会这样?有什么我想念的吗?我的预感告诉我,这很可能是数值误差,因为我的核矩阵的所有负特征值都在1E-12左右.

这个问题在某种程度上暗示了一个答案,但我无法想象为什么矩阵不会至少是对称的!

math matlab machine-learning matrix svm

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

如何在python中进行PCA和SVM分类

我正在做分类,我有一个像这样的两个大小的列表;

Data=[list1,list2]
Run Code Online (Sandbox Code Playgroud)

list1是1000*784大小.这意味着已将1000张图像从28*28大小重新整形为784.

list2是1000*1大小.它显示每个图像所属的标签.使用以下代码,我应用了PCA:

from matplotlib.mlab import PCA
results = PCA(Data[0])
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

Out[40]: <matplotlib.mlab.PCA instance at 0x7f301d58c638>
Run Code Online (Sandbox Code Playgroud)

现在,我想使用SVM作为分类器.我应该添加标签.所以我为SVm提供了这样的新数据:

newData=[results,Data[1]]
Run Code Online (Sandbox Code Playgroud)

我不知道如何在这里使用SVM.

python classification svm pca

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

如何使用两个特征向量训练svm?

我有两个numpy数组(功能)。numpy数组的尺寸为:

audio =(360,13)--->从音频文件中提取特征

image =(360,5)->特征是从这些音频文件的频谱图中提取的。

我想一起使用这两个数组来训练svm分类器。但是我知道svm train只能得到一个数组。(svm.train(feature,label))。我正在寻找是否有像svm.train(音频,图像,标签)之类的东西

我也尝试连接这两个数组,但是维数不同。我该如何解决这种情况?

python artificial-intelligence classification machine-learning svm

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

预测svm中的多类

我有用户评论数据集

review-1, 0,1,1,0,0
Run Code Online (Sandbox Code Playgroud)

review-1是用户审核,0,1,1,0,0是审核类别.一篇评论可以有多个类别.我想预测评论的类别.所以我实现了代码

transformer = TfidfVectorizer(lowercase=True, stop_words=stop, max_features=500)
X = transformer.fit_transform(df.Review)

X_train, X_test, y_train, y_test = train_test_split(X, df.iloc[:, 1:6],
                                                test_size=0.25, random_state=42)

SVM = svm.SVC()
SVM.fit(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

但我得到的错误就像

ValueError: bad input shape (75, 5)
Run Code Online (Sandbox Code Playgroud)

有谁能建议任何好的解决方案来解决这个问题

python machine-learning svm scikit-learn text-classification

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