问题标签 [ktrain]
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 - 使用带有深度学习的python预处理训练函数的ktrain这个错误的含义是什么
我正在尝试使用深度学习模型来创建情感分析项目。为此,我正在使用ktrain 包,但问题出在preprocess_train()
上述函数作为参数def preprocess_train(texts, y=None, mode='train', verbose=1)
根据 ktrain 用户指南,我执行了以下操作:
代码:
在哪里:
X_train_smote.Tweet.values
--> 数组([1830, 471, 1100, ..., 1308, 930, 868])
type(X_train_smote.Tweet.values)
--> numpy ndarray
y_train_smote
--> array(['NEGATIVE', 'NEGATIVE', 'POSITIVE', ..., 'POSITIVE', 'POSITIVE', 'POSITIVE'], dtype=object)
type(y_train_smote)
--> numpy ndarray
系统崩溃并显示以下错误:
import - 在 Jupyter 笔记本中导入 ktrain 时出现 TypeError
我已经使用命令 pip3 install ktrain 安装了 ktrain。但是,当我在 Jupyter 笔记本中导入 ktrain 时,它向我显示 TypeError: an integer is required (got type bytes)。
python - 了解 Huggingface BERT 在学习器中的准确度得分。是否需要正确预测所有标签才能被视为正确?
我正在开发一个使用 Huggingface BERT 实现和 Python 中的 KTrain 库的项目。我正在尝试实现一个带有 6 个标签(德国政党)的二元分类器。在学习 BERT 时,会返回每个 epoch 的损失和准确率值。我注意到所有值的准确率都非常低,只有 10-20%。另一方面,如果我使用 sk-learn 的 accuracy_score 计算准确度,我会得到 75-80% 的准确度值(计算每个标签的准确度,然后取所有 6 个值的平均值)。
我的猜测是该库同时计算所有 6 个标签的准确度分数(例如,需要正确预测所有六个标签才能算作正确)。阅读有关库和 BERT 的文档,我无法确定如何计算准确性。有人知道或有更多信息吗?
我的代码:
使用最大 lr 为 1e-05 的三角学习率策略开始训练... Epoch 1/10 38/38 [========================= =====] - 93s 2s/步 - 损失:0.6947 - 准确度:0.1353 - val_loss:0.6873 - val_accuracy:0.0965 Epoch 2/10 38/38 [=============== ================]
- 72s 2s/step - loss: 0.6891 - accuracy: 0.1382 - val_loss: 0.6837 - val_accuracy: 0.1555 Epoch 3/10 38/38 [===================== ========]
- 71s 2s/step - loss: 0.6850 - accuracy: 0.1378 - val_loss: 0.6777 - val_accuracy: 0.1378 Epoch 4/10 38/38 [====================== ========]
- 72s 2s/step - loss: 0.6770 - accuracy: 0.1408 - val_loss: 0.6689 - val_accuracy: 0.1437 Epoch 5/10 38/38 [===================== ========]
- 72s 2s/step - loss: 0.6680 - accuracy: 0.1386 - val_loss: 0.6585 - val_accuracy: 0.1555 Epoch 6/10 38/38 [====================== ========]
- 72s 2s/step - loss: 0.6591 - accuracy: 0.1601 - val_loss: 0.6471 - val_accuracy: 0.1713 Epoch 7/10 38/38 [====================== ========]
- 72s 2s/step - loss: 0.6429 - accuracy: 0.1673 - val_loss: 0.6340 - val_accuracy: 0.1575 Epoch 8/10 38/38 [====================== ========]
- 72s 2s/step - loss: 0.6263 - accuracy: 0.1580 - val_loss: 0.6211 - val_accuracy: 0.1417 Epoch 9/10 38/38 [===================== ========]
- 72s 2s/step - loss: 0.6018 - accuracy: 0.1618 - val_loss: 0.6008 - val_accuracy: 0.1634 Epoch 10/10 38/38 [====================== ========] - 72s 2s/步 - 损失:0.5703 - 准确度:0.1551 - val_loss:0.5822 - val_accuracy:0.1693
cdu/csu 准确度得分为:0.778
spd准确度得分为:0.802
grüne 准确度得分为:0.762
fdp准确度得分为:0.745
die linke 准确度得分为:0.794
afd 准确度得分为:0.782
python - AnchorText 解释器:索引 0 处的数组有 2 个维度,索引 1 处的数组有 1 个维度
我试图在 KTRAIN 模型上运行 AnchorText 解释器以进行文本的二进制分类。在尝试预测结果时,我可以看到模型正在给出分类。但是,当我在 explain_instance 中包含变量时,它会抛出一个错误。我已将所有结果包含在打印语句中。
我收到以下输出和错误:
我不确定,“explain_instance”到底期望什么维度?