问题标签 [scikits]

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 投票
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 投票
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 之外,还有更好的方法在文本中查找标签吗?

谢谢

0 投票
1 回答
4007 浏览

python - 带有交叉验证的 scikits 混淆矩阵

我正在使用 scikits 接口训练具有交叉验证(stratifiedKfold)的 svm 分类器。对于每个(k 个)测试集,我得到一个分类结果。我想要一个包含所有结果的混淆矩阵。Scikits 有一个混淆矩阵接口:sklearn.metrics.confusion_matrix(y_true, y_pred) 我的问题是我应该如何累积 y_true 和 y_pred 值。它们是数组(numpy)。我应该根据我的 k-fold 参数定义数组的大小吗?对于每个结果,我应该将 y_true 和 y-pred 添加到数组中????

0 投票
1 回答
2473 浏览

python - 使用 scikit 限制线性回归预测值

我正在使用在区间 [0,10] 中具有实值标签的数据集训练线性回归模型。我在测试集上的预测值有一些超过 10 的预测。有没有办法将预测限制为 10。

我正在考虑进行条件检查,如果预测超过 10,我将其明确设置为 10。

有没有更好的办法?

0 投票
1 回答
6145 浏览

python - 使用 Pandas OLS 进行预测

我一直在使用scikits.statsmodels OLS predict函数来预测拟合数据,但现在想改用 Pandas。

该文档指的是 OLS以及一个名为y_predict的函数,但我找不到任何关于如何正确使用它的文档。

例如:

但是,虽然我可以制作合身:

预测没有什么不同:

在 scikits.statsmodels 中,可以执行以下操作:

如何在 Pandas 中执行此操作以将内生数据预测到外生数据的极限?

更新:感谢 Chang,新版本的 Pandas (0.7.3) 现在具有此功能作为标准。