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
.有任何想法吗?
我正在尝试为项目编写自己的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
我正在尝试使用scikit-learn对自然语言数据进行一些机器学习.我已将我的语料库转换为词袋向量(采用稀疏CSR矩阵的形式),我想知道是否在sklearn中有一个监督维数降低算法能够获取高维,监督数据并进行投影它进入一个较低维度的空间,保留了这些类之间的差异.
高级问题描述是我有一个文档集合,每个文档都可以有多个标签,我想根据文档内容预测哪些标签会被打到新文档上.
在它的核心,这是一个受监督的,多标签,多类问题,使用BoW向量的稀疏表示.sklearn中是否存在可以处理这类数据的降维技术?在scikit-learn中使用受监督的BoW数据时,是否还有其他类型的技术?
谢谢!
python machine-learning dimensionality-reduction scikit-learn
我正在尝试在Windows 7计算机上启动并运行OpenCL.该机配有NVIDIA GEFORCE GT 520M驱动版8.17.12.6721
.
有没有人知道在Windows上的OpenCL中开始使用GPU计算?还是有一个很好的深入资源来设置它?为了使这个问题更具体,我想我想知道a)我必须在NVIDIA驱动程序上下载和安装哪些SDK和其他文件,以及b)如何在Windows上编译和运行OpenCL代码.
我正在尝试学习使用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和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或正则表达式更合适,我也会对这些解决方案持开放态度.
我正在通过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)
就像我在当地?
我有一个大型矩阵存储为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 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) 我正在寻找一些关于numpy on pypy的工作.我是一个巨大的Python粉丝,并且让它在数值/科学计算领域走向实际选择对我来说是巨大的.它显然有很长的路要走,但如果你不需要C级优化,那么开发起来会更漂亮.
我正在网站和谷歌上进行一些挖掘,但我只是找到了捐赠的链接.我应该从哪里开始直接实施在pypy中实施numpy?
谢谢
我有一个关于浮点精度的问题.据我了解,ULP是给定规格中两个连续离散有限数之间的距离.或者名称中最不重要的单位.无论如何,我在java.lang.Math中看到了关于sinh的Java规范:
"计算结果必须在精确结果的2.5 ulps范围内."
我不明白你怎么会有一个不是整数的ULP错误.如果你的距离是2.5 ULP,那是否意味着没有一个地方比最不重要的地方重要?误差为2.5 ULP是什么意思?
python ×7
java ×2
mrjob ×2
numpy ×2
scikit-learn ×2
scipy ×2
virtualenv ×2
html-parsing ×1
lxml ×1
mapreduce ×1
math ×1
open-source ×1
opencl ×1
pip ×1
precision ×1
pypy ×1
python-3.3 ×1
python-3.x ×1
regex ×1
svm ×1
watershed ×1