问题标签 [multiclass-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 - 使用 partial_fit 和 OneVsRestClassifier 处理不平衡数据
简而言之,我有一个不平衡的数据集,partial_fit
由于数据集的大小,我必须使用它进行训练。我使用的一些方法不能自然地处理多类问题,所以我用OneVsRestClassifier
. 但是,这会导致调整class_weights
.
因为我使用partial_fit
设置class_weight='balanced'
或选项'auto'
是不可能的。
是否有一个简单的解决方案,我可以使用OneVsRestClassifier
并仍然加权我的课程?
示例代码:
其中weights
是包含每个类权重的字典。
python-3.x - sklearn 中precision_recall_fscore_support 的输出是如何排序的?
我正在做一个目标标签为 0、1 和 2 (dtype=int) 的多类分类问题。我建立了我的模型,并想使用精度、召回率和 f 分数来评估它的好坏。这是我所做的:
这是我的输出:
我几乎可以肯定,从左到右的顺序是 0、1、2。但我不确定。有人可以(1)为我确认订单并(2)告诉我如何检查订单吗?必须有一些参数存储我的标签排序?如果我的标签是“狗”、“鸟”、“鱼”怎么办?它会是按字母顺序排列的吗?
image - CoreML 转换的 keras 模型请求多数组输入而不是 Xcode 中的图像
这实际上是我在 Stackoverflow 上的第一篇文章,我对机器学习还很陌生。我目前正在尝试使用 VGG16 为简单的图像分类任务训练卷积神经网络。它基于本教程: http: //www.codesofinterest.com/2017/08/bottleneck-features-multi-class-classification-keras.html。我的目标是将此模型转换为 CoreML 并将其用于 iOS 上的图像分类。
经过一番努力,我能够使用以下转换线成功地将 Keras 模型转换为 CoreML 模型:
coreml_model = coremltools.converters.keras.convert('模型路径',image_input_names = '数据',class_labels = '类路径')
然而,在将 CoreML 模型复制到 Xcode 后,它请求一个形状为 512,1,1 的多数组(我猜这是由于神经网络的图像数组格式造成的)还有其他几篇文章提到使用特定的很重要此处提到的 keras、tensorflow 和 python(2.7) 版本 这并没有改变问题。
在 Apple Developer 论坛中,他们建议将转换代码更改为以下行:
coreml_model = coremltools.converters.keras.convert('模型路径',input_names='data',image_input_names = 'data',is_bgr=True,class_labels = '类路径')
这实际上似乎改变了一些东西,但是现在我无法将我的 keras 模型转换为 CoreML 模型,得到这个特定的错误:
ValueError:图像输入不支持通道值 512
现在看来问题在于卷积神经网络的代码。一些人认为这可能是由于 keras 的 dim_ordering(在我的情况下是最后一个通道)和/或输入形状造成的。但是,至少 input_shape 看起来像图像。
任何人都知道如何将输入从多数组成功更改为图像?
提前感谢您的任何建议。
python - Python Keras Tensorflow Embedding Layer Indices[i,j] = k is not in [0,max_features]
我正在尝试进行作者识别,我的train_vecs_w2v.shape = (15663, 400)
.
y_train.shape = (15663,3)
其中有 3 个标签一个热编码。现在的问题是我在嵌入层中有一个错误。索引[0,X] = -1 不在 [0, 15663) 中。如何解决这个问题?是我的代码还是 Keras/Tensorflow?
我得到的错误
python - Keras 多标签多类单个标签准确度
我正在尝试使用 Keras 中的 CNN 执行多类多标签分类。我试图从一个类似的问题中基于这个函数创建一个单独的标签准确度函数
我尝试过的相关代码是:
然后它被称为度量:
但我得到的错误是:
我尝试更改类型无济于事。
python - scikit-learn 拟合函数错误
我正在尝试为 CIFAR-10 数据创建一个简单的分类器,但是当我尝试执行此 python 代码时:
只要 X 和 y 的大小不太大 - 10000,或多或少一点,它就可以正常工作。但是当我尝试了 2 个批次的 20000 个样本(或所有 5 个批次的 50000 个样本)时,我得到了“Python.exe 停止工作”的弹出窗口。是代码本身有问题还是内存用完了?
如果内存确实用完了,我该怎么办?是否可以执行 fit(X,y) 5 次,每个批次的每个循环?
r - 了解 nnet 函数的输出
我是神经网络的新手,所以很抱歉我的幼稚问题。我想了解 nnet 函数的输出。我正在使用这个函数来执行多类分类。
特别是,我有一个包含 216 个主题、6 个变量和一列代表班级的数据集(班级为三个)。
在训练集和测试测试中拆分数据集后,我使用class.ind
函数修改了数据框,以面对多类分类的问题,就像二元组合:
所以现在,我的数据框是这样的:
其中 1 和 0 分别表示该主题属于或不属于三个类别之一。
然后,我使用 nnet 函数:
但是当我得到时我不明白这个函数的输出
model_nnSRT2$fitted.values
:
和model_nnSRT2$residuals
。
这个连续数字是什么意思?为什么我在类中没有 0 或 1 from 的输出model_nnSRT2$fitted.values
?这个函数如何计算残差?
tensorflow - 具有 1000 类编码的 TensorFlow 分类标签
我在 Tensorflow 中遇到多类分类问题。标签是字符串类型,具有 1000 个唯一值。如何编码?
如果我直接将其作为标签传递,则会出现此错误
r - R中文本的多类分类
我已经为多类文本分类构建了一个随机森林。该模型返回的准确率为 75%。有 6 个标签,但在 6 个类别中,只有 3 个被分类,其余的未分类。如果有人能让我知道出了什么问题,我将不胜感激。
以下是我遵循的步骤。
数据准备
创建一个用于描述的词向量。
使用词向量构建语料库。
预处理任务,例如删除数字、空格、
停用词和转换为小写。- 构建文档术语矩阵 (dtm)。
从上面的 dtm 中删除稀疏的单词。
上述步骤导致计数频率矩阵显示每个单词在其对应列中的频率。
将计数频率矩阵转换为二进制实例矩阵,它将文档中单词的出现次数显示为 0 或 1,1 表示存在,0 表示不存在。
- 将原始数据集中的标签列附加到转换后的 dtm。标签列有 6 个标签。
建筑模型
- 随机采样 dtm 并将其拆分为训练集和测试集。
- 使用 7 折交叉验证构建随机森林的基础模型。
检查模型在训练集和测试集上的准确性。
我正在分享结果的链接(如果这里允许的话)。
tensorflow - 在 TensorFlow 中更改张量的内容
在我继续之前,请原谅我的无知。在此之前我有一些编程经验,但我以前的直觉现在让我失望了。
本质上,我需要将一个从 0...K 的数字的一维向量(大小 M x 1)扩展到一个二维矩阵(或张量,大小 M x K),其中每一行都是一维向量(大小 1 x K),每个元素都是 0,除了初始值的索引为 1。
是的,这是一个 ML 类的多类分类问题。
我有创建正确形状的零矩阵的想法,然后将我需要的元素的索引手动分配给 1,但似乎无法更改已创建变量的值。我得到错误:
有人可以帮忙吗?如果你觉得我创建这个最终张量的方式可以使用不同的方法,任何建议都将不胜感激。