小编gar*_*rak的帖子

在scikit-learn中将分类器保存到磁盘

如何将训练有素的Naive Bayes分类器保存到磁盘并使用它来预测数据?

我从scikit-learn网站获得以下示例程序:

from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)
print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()
Run Code Online (Sandbox Code Playgroud)

python classification machine-learning scikit-learn

178
推荐指数
5
解决办法
10万
查看次数

FileStorage for OpenCV Python API

我目前正在使用FileStorage类来使用OpenCV C++ API 存储矩阵XML/YAML.

但是,我必须编写一个读取这些XML/YAML文件的Python脚本.

我正在寻找可以读取OpenCV C++ API生成的XML/YAML文件的现有OpenCV Python API

c++ python opencv image-processing

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

带C++的隐马尔可夫模型

我最近一直在研究C++中隐藏马尔可夫模型的实现.我想知道如果我可以使用任何现有的用C++编写的HMM库来使用动作识别(使用OpenCV)?

我想要避免"重新发明轮子"!

是否有可能使用Torch3Vision,即使(看起来像)它被设计用于语音识别?

我的想法是,如果我们可以将特征向量转换为符号/观测(使用矢量量化 - Kmeans聚类),我们可以使用这些符号进行解码,推理,参数学习(Baum-Welch算法).这样它就可以在OpenCV中使用Torch3Vision.

任何有关这方面的帮助将非常感激.

opencv machine-learning computer-vision hidden-markov-models

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

Python中的多维Eucledian距离

我想计算2个阵列之间多维度(24维)的eucledian距离.我正在使用Numpy-Scipy.

这是我的代码:

import numpy,scipy;

A=numpy.array([116.629, 7192.6, 4535.66, 279714, 176404, 443608, 295522, 1.18399e+07, 7.74233e+06, 2.85839e+08, 2.30168e+08, 5.6919e+08, 168989, 7.48866e+06, 1.45261e+06, 7.49496e+07, 2.13295e+07, 3.74361e+08, 54.5, 3349.39, 262.614, 16175.8, 3693.79, 205865]);

B=numpy.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151246, 6795630, 4566625, 2.0355328e+08, 1.4250515e+08, 3.2699482e+08, 95635, 4470961, 589043, 29729866, 6124073, 222.3]);
Run Code Online (Sandbox Code Playgroud)

但是,我曾经scipy.spatial.distance.cdist(A[numpy.newaxis,:],B,'euclidean')计算过核心距离.

但它给了我一个错误

raise ValueError('XB must be a 2-dimensional array.');
Run Code Online (Sandbox Code Playgroud)

我好像不明白.

我抬头scipy.spatial.distance.pdist但不明白如何使用它?

还有其他更好的方法吗?

python numpy cluster-analysis scipy euclidean-distance

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

使用特征库与OpenCV 2.3.1

我在使用Eigen3库和C++中的OpenCV应用程序时遇到了麻烦.我使用以下命令在我的Ubuntu上安装了Eigen3库:

sudo apt-get install libeigen3-dev
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令进行编译时,我能够编译和使用示例Eigen3应用程序(安装Eigen3库并且它可以工作).

g++ -I/usr/include/eigen3 Eig.cpp -o Eig
Run Code Online (Sandbox Code Playgroud)

我想在OpenCV中使用已安装的Eigen库.

我用以下标志编译了OpenCV源代码:

cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON USE_EIGEN=/usr/include/eigen3 ..
Run Code Online (Sandbox Code Playgroud)

我的OpenCV代码包括以下标头和命名空间:

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <assert.h>
#include <opencv2/core/eigen.hpp>

using namespace cv;
using namespace std;
using namespace Eigen;
Run Code Online (Sandbox Code Playgroud)

但是,当我正常编译OpenCV应用程序时,我的编译器给出了以下错误:

In file included from Read.cpp:6:
/usr/local/include/opencv2/core/eigen.hpp:54: error: expected ‘,’ or ‘...’ before ‘::’ token
/usr/local/include/opencv2/core/eigen.hpp: In function ‘void cv::eigen2cv(int)’:
/usr/local/include/opencv2/core/eigen.hpp:56: error: ‘src’ was not …
Run Code Online (Sandbox Code Playgroud)

c++ opencv eigen

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

K均值聚类和矢量量化之间的区别?

K-Means聚类和矢量量化之间有什么区别?他们似乎非常相似.

我正在处理隐马尔可夫模型,我需要从特征向量中提取符号.

为了提取符号,我是做矢量量化还是Kmeans聚类?

machine-learning computer-vision hidden-markov-models

7
推荐指数
2
解决办法
5993
查看次数

使用OpenCV在Kmeans Clustering中的mahalanobis距离

我已经完成了Kmeans集群,并使用OpenCV C++ API 找到了集群中心.

kmeans(data_points, clusterCount, labels, TermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 10, 1.0), 3, KMEANS_PP_CENTERS, cluster_centers);
Run Code Online (Sandbox Code Playgroud)

然后我用欧几里德距离找到最近的聚类新的数据点对所有聚类中心.

int distance = find_EucledianDist(new_datapoint, cluster_centers);
Run Code Online (Sandbox Code Playgroud)

我如何使用马哈拉诺比斯距离而不是欧几里德距离?我知道我必须计算协方差矩阵并将其反转并找到马哈拉诺比斯距离.

但是,我不知道我是怎么做的以及在什么ORDER (找到covar矩阵,倒数矩阵的数据/矩阵)?

c++ opencv cluster-analysis machine-learning computer-vision

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

OpenCV中使用C++的Matrix中的多维数据

我想声明,填充,访问与命名空间cv兼容的OpenCV(C++)中的多维矩阵.我发现没有快速简单的例子.你能帮帮我吗?

c++ opencv

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

Python中的一维马氏距离

我一直在尝试验证我的代码以计算用Python编写的马氏距离(并仔细检查以比较OpenCV中的结果)。我的数据点各为1维(5行x 1列)。

OpenCV(C ++)中,当数据点的尺寸具有上述尺寸时,我成功地计算了马氏距离。

当矩阵的尺寸为5行x 1列时,以下代码无法成功计算马氏距离。但是,当矩阵中的列数大于1时,它可以工作

import numpy;
import scipy.spatial.distance;
s = numpy.array([[20],[123],[113],[103],[123]]);
covar = numpy.cov(s, rowvar=0);
invcovar = numpy.linalg.inv(covar)
print scipy.spatial.distance.mahalanobis(s[0],s[1],invcovar);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
  File "/home/abc/Desktop/Return.py", line 6, in <module>
    invcovar = numpy.linalg.inv(covar)
  File "/usr/lib/python2.6/dist-packages/numpy/linalg/linalg.py", line 355, in inv
    return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)

python classification

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

基本了解Adaboost算法

我是一个学习新手的机器,试图了解Adaboost的工作原理.

我读过很多文章,解释如何Adaboost的利用了一系列*分类*创建一个强大的分类.

但是,我似乎在理解" Adaboost创建强分类器 " 这一说法时遇到了问题.

当我查看Adaboost的实现时,我意识到它并没有"实际"创建一个强分类器,但在TESTING PHASE中以某种方式计算出" 如何使用弱分类器集来获得更准确的结果 "行为就像一个强大的分类器 " 集体 ".

因此从技术上讲,没有创建单个强力分类器(但是弱分类器集合作为强分类器).

如果我错了,请纠正我.如果有人可以就此发表一些评论,那就太好了.

machine-learning adaboost

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