为什么LibSVM的准确率无法超过50%?

我有一组新闻数据,想利用LibSVM进行情感分析。我按照所有方法创建了训练文件和测试文件。最初使用100条正面和负面数据进行训练,并用10条测试数据进行测试,准确率超过了70%。但当我增加训练数据量至每类约800条,并用100条数据进行测试时,我的准确率下降到了50.999%。我不知道这是什么原因。

   训练 

java -classpath libsvm.jar svm_train trainexam.train d.model -K 1 -C 512

   预测

java -classpath libsvm.jar svm_predict testexam.test d.model out.txt

结果 : 50.0%

   训练文件(-1 -> 负面,+1 -> 正面)

-1 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:1 10:1 11:1 12:1 13:1 14:1 15:1 16:1 17:1 18:1 19:1 20:1 21:1 22:1 17:1 23:1 24:1 17:1 25:1 26:1 27:1 28:1 29:1 30:1 17:1 31:1 30:1 17:1 32:1 26:1 17:1 6:1 17:1 33:1 26:1 17:1 5:1 6:1 34:1 35:1 36:1 17:1 37:1 22:1 30:1 38:1 39:1 40:1 41:1 19:1 20:1 42:1 43:1 44:1 45:1 46:1 40:1 47:1 48:1 49:1 27:1 28:1 50:1 17:1 23:1 16:1 51:1 25:1 52:1 53:1 54:1 55:1 17:1 56:1 57:1 58:1 17:1 59:1 57:1 60:1 10:1 11:1 12:1 61:1 62:1 8:1 30:1 17:1 6:1 30:1 14:1 59:1 -1 63:1 64:1 65:1 66:1 67:1 30:1 68:1 69:1 70:1 71:1 40:1 72:1 73:1 74:1 75:1 76:1 51:1 77:1 78:1 79:1 80:1 81:1 52:1 82:1 17:1 83:1 26:1 79:1 84:1 85:1 73:1 86:1 87:1 88:1 89:1 90:1 91:1 30:1 17:1 22:1 92:1 26:1 17:1 93:1 94:1 95:1 96:1 97:1 98:1 90:1 99:1 100:1 17:1 101:1 77:1 102:1 78:1 17:1 81:1 103:1 104:1 105:1 106:1 107:1 108:1 78:1 109:1 110:1 51:1 111:1 30:1 112:1 113:1 30:1 114:1 115:1 116:1 90:1 117:1 118:1 119:1 120:1 17:1 121:1 75:1 70:1 122:1 40:1 123:1 124:1 125:1 126:1 17:1 109:1 127:1 128:1 129:1 130:1 131:1 30:1 51:1 132:1 26:1 87:1 86:1 133:1 134:1 135:1 17:1 81:1 136:1 104:1 137:1 138:1 17:1 90:1 139:1 140:1 141:1 142:1 143:1 17:1 86:1 144:1 145:1 17:1 101:1 77:1 146:1 107:1 147:1 30:1 17:1 148:1 40:1 149:1 150:1 78:1 151:1 152:1 153:1 154:1 17:1 155:1 70:1 156:1 95:1 92:1 90:1 157:1 40:1 92:1 94:1 78:1 17:1 113:1 158:1 104:1 40:1 70:1 159:1 16:1 59:1 160:1 161:1 162:1 17:1 121:1 124:1 62:1 71:1 40:1 163:1 164:1 165:1 76:1 119:1 166:1 86:1 57:1 17:1 167:1 26:1 17:1 168:1 90:1 169:1 26:1 170:1 79:1 171:1 73:1 17:1 101:1 172:1 173:1 174:1 175:1 17:1 121:1 70:1 176:1 17:1 169:1 167:1 30:1 112:1 177:1 178:1 179:1 180:1 181:1 26:1 17:1 116:1 182:1 63:1 7:1 183:1 62:1 184:1 185:1 186:1 135:1 17:1 187:1 188:1 189:1 190:1

     +1 17736:1 1218:1 485:1 4:1 79:1 17737:1 259:1 75:1 367:1 135:1 16795:1 14945:1 40:1 4444:1 2580:1 895:1 40:1 75:1 312:1 698:1 5148:1 30:1 533:1 895:1 652:1 310:1 17:1 1588:1 6890:1 73:1 97:1 79:1 1359:1 5227:1 1747:1 17738:1 17739:1 17740:1 75:1 201:1 214:1 17741:1 17742:1 17743:1 129:1 12268:1 533:1 1793:1 17744:1 30:1 17:1 2551:1 113:1 26:1 2678:1 17745:1 17746:1 17747:1 989:1 17:1 171:1 30:1 17:1 1744:1 17

回答:

libSVM格式规定属性必须按升序排列。

我猜测由于输入数据格式不正确,导致无法计算核函数。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注