小编fol*_*oof的帖子

非整数类标签Scikit-Learn

scikit-learn的快速SVM问题.当您训练SVM时,它就像是

from sklearn import svm
s = svm.SVC()
s.fit(training_data, labels)
Run Code Online (Sandbox Code Playgroud)

有没有办法labels成为非数字类型的列表?例如,如果我想将矢量分类为"cat"或"dog",而不必使用某种外部查找表将"cat"和"dog"编码为1和2.当我尝试传递一个字符串列表时,我得到......

ValueError: invalid literal for float(): cat

因此,它看起来不像只是在推动字符串labels.有任何想法吗?

python svm scikit-learn

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

用Java实现分水岭分割

我正在尝试为项目编写自己的Watershed Segmentation实现.我有一个版本,返回类似于正确分割的东西给出非常琐碎的图片.不幸的是,它超级慢/效率低,它可能会或可能不会在所有情况下终止.

我一直在使用Woods和Gonzales的"数字图像处理"中的描述,以及Watershed Wikipedia页面.一般算法编码并包含在下面,但我有一种感觉,我循环了很多我不需要的东西.我非常感谢这里的所有帮助,在此先感谢.

    public static Set<Point> watershed(double[][] im) {

    //Get the Gradient Magnitude to use as our "topographic map."

    double t1 = System.currentTimeMillis();
    double[][] edges = EdgeDetection.sobelMagnitude(im);


    //Only iterate over values in the gradient magnitude to speed up.

    double[] histogram = Image.getHistogram(edges);
    Image.drawHistogram(histogram, Color.red);
    int minPixelValue = 0;
    for (int i = 0; i < histogram.length; i++) {
        if (histogram[i] > 0) {
            minPixelValue = i;
            break;
        }
    }
    int h = im.length;
    int w = im[0].length;

    //SE is …
Run Code Online (Sandbox Code Playgroud)

java image-processing computer-vision image-segmentation watershed

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

scikit-learn中文本数据的监督降维

我正在尝试使用scikit-learn对自然语言数据进行一些机器学习.我已将我的语料库转换为词袋向量(采用稀疏CSR矩阵的形式),我想知道是否在sklearn中有一个监督维数降低算法能够获取高维,监督数据并进行投影它进入一个较低维度的空间,保留了这些类之间的差异.

高级问题描述是我有一个文档集合,每个文档都可以有多个标签,我想根据文档内容预测哪些标签会被打到新文档上.

在它的核心,这是一个受监督的,多标签,多类问题,使用BoW向量的稀疏表示.sklearn中是否存在可以处理这类数据的降维技术?在scikit-learn中使用受监督的BoW数据时,是否还有其他类型的技术?

谢谢!

python machine-learning dimensionality-reduction scikit-learn

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

Windows 7上的OpenCL入门

我正在尝试在Windows 7计算机上启动并运行OpenCL.该机配有NVIDIA GEFORCE GT 520M驱动版8.17.12.6721.

有没有人知道在Windows上的OpenCL中开始使用GPU计算?还是有一个很好的深入资源来设置它?为了使这个问题更具体,我想我想知道a)我必须在NVIDIA驱动程序上下载和安装哪些SDK和其他文件,以及b)如何在Windows上编译和运行OpenCL代码.

opencl

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

使用MRJob的多个输入

我正在尝试学习使用Yelp的Python API来实现MapReduce,MRJob.他们简单的单词计数器示例是有道理的,但我很好奇如何处理涉及多个输入的应用程序.例如,不是简单地计算文档中的单词,而是将向量乘以矩阵.我提出了这个功能的解决方案,但感觉很傻:

class MatrixVectMultiplyTast(MRJob):
    def multiply(self,key,line):
            line = map(float,line.split(" "))
            v,col = line[-1],line[:-1]

            for i in xrange(len(col)):
                    yield i,col[i]*v

    def sum(self,i,occurrences):
            yield i,sum(occurrences)

    def steps(self):
            return [self.mr (self.multiply,self.sum),]

if __name__=="__main__":
    MatrixVectMultiplyTast.run()
Run Code Online (Sandbox Code Playgroud)

运行此代码./matrix.py < input.txt,其工作原理是矩阵按列存储在input.txt中,相应的矢量值位于行的末尾.

那么,下面的矩阵和向量:

在此输入图像描述

表示为input.txt:

在此输入图像描述

简而言之,我如何更自然地将矩阵和向量存储在单独的文件中并将它们传递到MRJob中?

python mapreduce mrjob

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

在HTML BeautifulSoup中按文本查找并替换

我正在尝试使用python和BeautifulSoup标记一个HTML文件(字面上用"mark"标签包装字符串).问题基本如下......

说我有我原来的html文档:

test = "<h1>oh hey</h1><div>here is some <b>SILLY</b> text</div>"
Run Code Online (Sandbox Code Playgroud)

我想对本文档中的字符串进行不区分大小写的搜索(忽略HTML)并将其包装在"mark"标记中.所以我想说我想在html中找到"这里有一些愚蠢的文字"(忽略粗体标签).我想把匹配的html包装在"mark"标签中.

例如,如果我想在测试中搜索"这里有一些愚蠢的文本" ,那么所需的输出是:

"<h1>oh hey</h1><div><mark>here is some <b>SILLY</b> text</mark></div>"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?如果使用lxml或正则表达式更合适,我也会对这些解决方案持开放态度.

python regex lxml beautifulsoup html-parsing

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

EMR上的Python依赖管理

我正在通过mrjob/boto模块向亚马逊的EMR发送代码.我有一些外部python依赖项(即numpy,boto等),目前必须下载python包的源代码,并将它们作为tarball发送到mrjob.config文件的"python_archives"字段中.

这使得依赖管理比我想要的更加混乱,并且想知道我是否能以某种方式使用相同的requirements.txt文件,我用于我的virtualenv设置以使用我的依赖项引导emr实例.是否可以在EMR实例上设置virtualenv并执行以下操作:

pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

就像我在当地?

python pip virtualenv elastic-map-reduce mrjob

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

从矩阵中有效地减去向量(Scipy)

我有一个大型矩阵存储为scipy.sparse.csc_matrix,并希望从大矩阵中的每一列中减去一个列向量.当你正在进行规范化/标准化这样的事情时,这是一个非常常见的任务,但我似乎找不到有效地做到这一点的正确方法.

这是一个示例:

# mat is a 3x3 matrix
mat = scipy.sparse.csc_matrix([[1, 2, 3],
                               [2, 3, 4],
                               [3, 4, 5]])

#vec is a 3x1 matrix (or a column vector)
vec = scipy.sparse.csc_matrix([1,2,3]).T

""" 
I want to subtract `vec` from each of the columns in `mat` yielding...
    [[0, 1, 2],
     [0, 1, 2],
     [0, 1, 2]]
"""
Run Code Online (Sandbox Code Playgroud)

实现我想要的一种方法是对vec自己进行3次自身,产生一个3x3矩阵,其中每列都是vec,然后从中减去mat.但同样,我正在寻找一种有效地做到这一点的方法,并且hstacked矩阵需要很长时间才能创建.我确信有一些神奇的方法可以用切片和广播来做到这一点,但它让我望而却步.

谢谢!

编辑:删除了"就地"约束,因为稀疏结构将在就地分配方案中不断变化.

python numpy scipy sparse-matrix

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

Python3 pip在virtualenv中全局安装

试图最终跳转到Python 3,但我遇到了与virtualenvwrapper的一些问题.我首先创建虚拟环境,如下所示:

mkvirtualenv -p /usr/local/bin/python3 projectname

产量:

Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.3.3/Frameworks/Python.framework/Versions/3.3'
New python executable in projectname/bin/python3.3
Also creating executable in projectname/bin/python
Installing setuptools, pip...done.
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.我检查python控制台,以确保环境正在查看正确的解释器以及所有这些.这里是悲伤发生的地方(当virtualenv活跃时):

pip install flask 声称是成功的,但唉:

Python 3.3.3 (default, Jan  2 2014, 13:26:32) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'flask'
Run Code Online (Sandbox Code Playgroud)

这是问题所在:

$ …
Run Code Online (Sandbox Code Playgroud)

python virtualenv virtualenvwrapper python-3.x python-3.3

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

在Pypy上为Numpy做贡献

我正在寻找一些关于numpy on pypy的工作.我是一个巨大的Python粉丝,并且让它在数值/科学计算领域走向实际选择对我来说是巨大的.它显然有很长的路要走,但如果你不需要C级优化,那么开发起来会更漂亮.

我正在网站和谷歌上进行一些挖掘,但我只是找到了捐赠的链接.我应该从哪里开始直接实施在pypy中实施numpy?

谢谢

open-source pypy numpy scipy

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

非整数ULP错误?

我有一个关于浮点精度的问题.据我了解,ULP是给定规格中两个连续离散有限数之间的距离.或者名称中最不重要的单位.无论如何,我在java.lang.Math中看到了关于sinh的Java规范:

"计算结果必须在精确结果的2.5 ulps范围内."

我不明白你怎么会有一个不是整数的ULP错误.如果你的距离是2.5 ULP,那是否意味着没有一个地方比最不重要的地方重要?误差为2.5 ULP是什么意思?

java math precision floating-accuracy

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