问题标签 [multilabel-classification]
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.
python - 如何使用 sklearn 的 SGDClassifier 获得 Top 3 或 Top N 预测
在上面的代码中,仅打印列表 Xclf.predict()
中样本的 1 个最佳预测。我对列表 X中特定样本的前 3 个预测感兴趣,我知道该函数/返回列表 Y中每个特征的所有概率的列表,但它必须先排序,然后与列表 Y 中的特征关联,然后才能获得前3 名的结果。有没有直接有效的方法?predict_proba
predict_log_proba
machine-learning - scikit-learn:在管道中使用 SelectKBest 时获取选定的功能
我正在尝试在多标签场景中将特征选择作为 scikit-learn 管道的一部分。我的目的是为一些给定的 k 选择最好的 K 个特征。
这可能很简单,但我不明白如何在这种情况下获取选定的特征索引。
在常规情况下,我可以做这样的事情:
但是在多标签场景中,我的标签尺寸是 #samples X #unique_labels 所以 fit 和 fit_transform 产生以下异常: ValueError: bad input shape
这是有道理的,因为它需要维度 [#samples] 的标签
在多标签场景中,这样做是有意义的:
但是我得到的对象是 sklearn.multiclass.OneVsRestClassifier 类型,它没有 get_support 函数。在管道期间使用经过训练的 SelectKBest 模型时,如何获得它?
output - 运行多个 Meka (Weka) 分类器 - 将错误加载到文件/表对象
对于那些不熟悉 Meka 的人 - 它是 Weka 对多标签分类器的扩展。然而,Meka 和 Weka 非常相似,因此 Weka 用户也可以回答这个问题。
基本上,我想要我运行各种分类器的结果,并且我希望它们都在一个表中,这样我就可以快速(动态/自动)进行模型选择,而不必为各种评估指标对每个分类器的值进行硬编码。 .
是否有一种万无一失、有效的方法来运行多个分类器实验——比如使用交叉验证——并获得如下表:
neural-network - 带有多标签图像的咖啡
我有一个包含多个标签的图像数据集;数据集中有 100 个类,每个图像有 1 到 5 个与之关联的标签。
我正在按照以下 URL 中的说明进行操作:
https://github.com/BVLC/caffe/issues/550
它说我需要生成一个列出图像及其标签的文本文件,如
在我的情况下,由于我有多标签图像,是否可以像下面这样简单地添加标签?
我有一种感觉,它可能不会那么简单,如果我是对的,在设置 Caffe 的过程中,我应该在哪一步以及如何整合数据集的多标签性?
python - 使用 Vowpal Wabbit 获得大量 NaN 预测进行分类
我是 Vowpal Wabbit 的新手,我可能在这里遗漏了一些非常明显的东西。
我有 CSV 格式的训练数据,我将其分成 80% 用于训练和 20% 用于测试。它包含 62 个特征 (x0-x61),总共定义了 7 个类 (0-6)。
我已使用 phraug2/csv2vw.py 将 CSV 转换为 Vowpal 格式 转换后的数据如下所示:
然后我正在尝试进行多类分类,One Against All 来建立一个模型:
但是,我对 NAN 预测有很多迷失:
平均损失表明该模型无法真正预测任何事情
我究竟做错了什么?
machine-learning - 多标签交叉熵
这里的答案之一存在交叉熵:nolearn for multi-label classification,即:
为什么这是专门的多标签?它看起来很像单变量(单类)分类的对数损失。我在文献http://arxiv.org/pdf/1312.5419v3.pdf中找到了这一点。
machine-learning - 如何预处理此浮点数据以与 scikit 一起使用 - 机器学习
我有 4000 个特征和 35 个样本的数据集。所有特征都是 1 到 3 之间的浮点数。例如:2.68244527684596。
我正在努力让任何分类器处理这些数据。我使用过 knn、svm(带有线性、rbf、poly)。然后我了解了标准化。不过,这对我来说有点复杂,我无法让这段代码正常工作并给我正确的预测。
我用来规范化数据的代码是:
我试图分类的代码是:
我是机器学习的新手,我正在努力学习更多关于所有概念的知识。我想有人可能会指出我正确的方向。
注意:我只有 35 个样本,这是作业的一部分。我无法获得更多数据:(
scikit-learn - GridSearchCV(OneVsRestClassifier(clf, ...)):所有 N 个分类器的 1 个最佳超参数集与每个分类器的 1 个最佳超参数集
背景
比方说,我们有L
标签来预测多类(或多标签)问题。使用OneVsRestClassifier
,L
正在构建分类器。假设,我们使用LogisticRegression
单个分类器。
GridSearchCV
当使用(resp. )搜索最优超参数时RandomizedSearchCV
,我们运行:
问题
通过运行GridSearchCV
上面的命令,我们将获得一组最佳超参数,用于训练(resp. refit)所有L
分类器。因此,例如,我们将获得 的最佳值,并且该C=10
值将用于重新拟合所有L
分类器。
我的问题是为什么GridSearchCV
不为每个L
分类器返回一组不同的最佳超参数。例如label0
,一个最优的C=10
,label1
将得到一个最优的C=0.01
,...?为什么决定返回一组超参数,而不是为每个分类器返回一组?
以往的经验
我之所以这样问,是因为这种行为与我“手动”训练每个标签分类器时通常得到的行为不同。例如,对于某些任务,我有数千个标签要预测,我单独训练每个标签分类器(分布在许多机器上),因此我肯定会为每个标签分类器获得不同的超参数值。
r - 如何使用 R 中的 xgboost 包解释多类分类的输出?
我是 XGBOOST 包的新手,我想用它来解决多类分类问题。
我现在有 30 个类(或标签),我已将它们转换为整数(0 - 29)。然后我在数据集上运行 XGBOOST 包中的 xgboost() 方法。建立模型后,我使用 predict() 方法来预测新的测试数据。最后,我得到了一个数字向量作为最终输出。顺便说一句,所有数字都在 0 和 1 之间。
那么现在我该如何解释输出呢?是这个概率吗?但是我怎么知道应该与哪个类相关呢?
谢谢
python - Sklearn:评估 GridSearchCV 中 OneVsRestClassifier 的每个分类器的性能
我正在使用 和 处理多标签OneVsRestClassifier
分类SVC
,
第一个问题
数字0.85
代表什么?它是分类器中最好的L
还是平均的?同样,这组参数是否代表分类器中得分最高的L
?
第二个问题
基于这样一个事实,如果我是对的,从OneVsRestClassifier
字面上L
为每个标签构建分类器,人们可以期望访问或观察每个标签的性能。但是,在上面的示例中,如何L
从对象中获取分数GridSearchCV
?
编辑
为了简化问题并帮助自己更多地了解OneVsRestClassifier
,在调整模型之前,
可以证明gp.T[0]==fp
和gp.T[1]==sp
。gp.T[2]==tp
因此,“全局”预测只是“连续”的L
个体预测,而第二个问题就解决了。
但是让我感到困惑的是,如果一个元分类器OneVsRestClassifier
包含L
分类器,那么GridSearchCV
对于OneVsRestClassifier
具有L
?
看到任何评论将不胜感激。