问题标签 [scikit-learn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2560 浏览

python - python / scikit-learn中距离计算的稀疏实现

我有一个 svmlight 格式的大型(100K x 30K)和(非常)稀疏数据集,我加载如下:

它返回一个稀疏的 scipy 数组 X

我只需要计算所有训练点的成对距离为

不幸的是,scipy.spatial.distance 中的距离计算实现仅适用于密集矩阵。由于数据集的大小,使用 pdist 作为

任何指向稀疏矩阵距离计算实现或与此问题有关的解决方法的指针将不胜感激。

非常感谢

0 投票
1 回答
8996 浏览

python - Scipy/Numpy/scikits - 基于两个数组计算精度/召回分数

  • 我拟合了一个逻辑回归模型,并使用以下方法根据训练数据集训练模型
  • 我有一个交叉验证数据集,其中包含在输入矩阵中关联的标签,可以作为

简历[:,-1]

  • 我针对经过训练的模型运行交叉验证数据集,该模型根据预测返回 0 和 1 列表

cv_predict = model.predict(cv[:,0:-1])

问题

我想根据实际标签和预测标签计算精度和召回分数。有没有使用 numpy/scipy/scikits 的标准方法?

谢谢

0 投票
3 回答
3430 浏览

python - SVM 实施,scikits 学习减少运行时间,最快的 svm

我正在与 scikit-learn 一起使用 SVM 构建一些预测模型。我有一个包含大约 5000 个示例和大约 700 个特征的数据集。我在训练集上使用 18x17 网格搜索进行 5 折交叉验证,然后使用测试集的最佳参数。运行时间比我预期的要长得多,我注意到以下几点:

1) 一些单独的 SVM 训练迭代似乎只需要一分钟,而另一些则可能需要长达 15 分钟。这是否预期具有不同的数据和参数(C 和 gamma,我正在使用rbf内核)?

2)我正在尝试在 Windows 上使用 64 位 python 来利用额外的内存,但是我的所有 python 进程似乎在我的任务管理器中都达到了 1 gig,我不知道这是否与运行。

3)我之前使用的是 32 位,并且在大约相同的数据集上运行,我记得(虽然我没有保存结果)它要快得多。我为 64 位 Windows 使用了第三方构建的 scikit-learn,所以我不知道在 32 位 python 上尝试这个是否更好?(来源http://www.lfd.uci.edu/~gohlke/pythonlibs/

任何关于如何减少运行时间的建议将不胜感激。我想减少我的网格搜索的搜索空间会有所帮助,但由于我甚至不确定最佳参数的范围,我想尽可能地保持它的大小。如果还有更快的 SVM 实现,请告诉我,我可能会尝试这些。

附录:我回去尝试再次运行 32 位版本。由于某种原因,它要快得多。64位版本用了16个小时,大概花了3个小时。为什么会有这样的差异?

0 投票
10 回答
31543 浏览

python - 可在 Python 中使用的最快 SVM 实现

我正在用 Python 构建一些预测模型,并且一直在使用 scikits learn 的 SVM 实现。它真的很棒,易于使用且速度相对较快。

不幸的是,我开始受到运行时的限制。我在大约 4 - 5000 个具有 650 个特征的完整数据集上运行 rbf SVM。每次运行大约需要一分钟。但是使用 5 折交叉验证 + 网格搜索(使用从粗到细的搜索),这对我手头的任务来说有点不可行。所以一般来说,人们对可以在 Python 中使用的最快的 SVM 实现有什么建议吗?那,或者有什么方法可以加快我的建模速度?

我听说过 LIBSVM 的 GPU 实现,它似乎可以工作。我不知道任何其他可在 Python 中使用的 GPU SVM 实现,但它肯定会对其他人开放。另外,使用 GPU 会显着增加运行时间吗?

我还听说有一些方法可以通过在 scikits 中使用线性 SVM + 特征图来逼近 rbf SVM。不确定人们对这种方法的看法。同样,任何使用这种方法的人,它是否显着增加了运行时间?

欢迎所有提高程序速度的想法。

0 投票
1 回答
957 浏览

python - scikit learn .9 或以下的随机森林

我在我的 mac 和我的 linux 机器上安装 Scikit learn 时遇到了一些奇怪的问题。只有 scikit learn .9 安装。

有没有办法使用这个版本来学习随机森林?

0 投票
7 回答
38573 浏览

python - scikits 机器学习中的缺失值

scikit-learn 中是否可能存在缺失值?他们应该如何表现?我找不到任何关于此的文档。

0 投票
1 回答
717 浏览

python - python scikits 学习 - SVM 选项

只是对 scikits learn SVM class 中的两个选项感到好奇。Scale_C 和收缩有什么作用?文档中没有太多内容。Scale C 似乎能够为训练数据适当地缩放 C 参数。

谢谢

0 投票
2 回答
1985 浏览

python - Python scikits SVM 网格搜索和分类

我是 scikits 和 svm 的初学者,我想检查几个问题。我有 700 个项目和 35 个功能的样本,我有 3 个类。我有一个数组 X,其中包含使用“preprocessing.scale(X)”缩放的样本和特征。第一步是找到合适的 SVM 参数,我正在使用带有嵌套交叉验证的网格搜索(请参阅http://scikit-learn.org/stable/auto_examples/grid_search_digits.html#)。我在“网格搜索”中使用了我所有的样本 (X)。在网格搜索期间,数据分为训练和测试(使用 StratifiedKFold)。当我得到我的 SVM 参数时,我执行分类,将我的数据分为训练和测试。可以在网格搜索中使用与实际分类期间使用的相同数据吗?

0 投票
2 回答
3853 浏览

python - Python机器学习,特征选择

我正在从事与书面文本相关的分类任务,我想知道执行某种“特征选择”程序以改善分类结果有多重要。

我正在使用与该主题相关的许多功能(大约 40 个),但我不确定所有功能是否真的相关以及在哪些组合中。我正在使用 SVM (scikits) 和 LDAC (mlpy)。

如果一个混合了相关和不相关的特征,我认为我会得到很差的分类结果。我应该在分类之前执行“特征选择程序”吗?

Scikits 有一个基于树的 RFE 程序,可以对特征进行排序。使用基于树的 RFE 对特征进行排序以选择最重要的特征并使用 SVM(非线性)或 LDAC 执行实际分类是否有意义?或者我应该使用相同的分类器来实现某种包装方法来对特征进行排名(尝试用不同的特征组进行分类会非常耗时)?

0 投票
3 回答
4318 浏览

python - 使用 python 的朴素贝叶斯分类器

我正在使用 scikit-learn 查找文档的 Tf-idf 权重,然后使用朴素
贝叶斯分类器对文本进行分类。但是文档中所有单词的 Tf-idf 权重都是负的,除了少数。但据我所知,负值意味着不重要的术语。那么是否有必要将整个 Tf-idf 值传递给贝叶斯分类器?如果我们只需要通过其中的几个,我们该怎么做呢?此外,与线性 SVC 相比,贝叶斯分类器的优劣程度如何?除了使用 Tf-idf 之外,还有更好的方法在文本中查找标签吗?

谢谢