使用toarray()将csr_matrix转换为'ValueError数组太大'

时间:2019-04-23 09:31:21

标签: python arrays out-of-memory toarray

我想使用toarray()将csr_matrix转换为数组,但出现错误“ valueerror数组太大”

我尝试使用todense()但不起作用。

这是我的.svm格式的数据集示例:

-1 4:0.0788382 5:0.124138 6:0.117647 11:0.428571 16:0.1 17:0.749633 18:0.843029 19:0.197344 21:0.142856 22:0.142857 23:0.142857 28:1 33:0.0555556 41:0.1 54:1 56:1 64:1 70:1 72:1 74:1 76:1 82:1 84:1 86:1 88:1 90:1 92:1 94:1 96:1 102:1 104:1 106:1 108:1 110:1 112:1 155:1 190:1 204:1 359:1 360:1 361:1 1306:1 1309:1 1310:1 1311:1 2408:1 2921:1 2923:1 7000:1 7001:1 7002:1 7005:1 7006:1 7007:1 7009:1 7010:1 7759:1 7762:1 155153:1 155154:1 155155:1 155156:1 155157:1 155158:1 155159:1 155160:1 155161:1 155163:1 155164:1 155165:1 155166:1 155168:1 155169:1 155170:1 155172:1 155173:1 155174:1 155175:1 155176:1 155177:1 155178:1 155179:1 155180:1 155181:1 155182:1 155183:1 155194:1 155195:1 155196:1 155197:1 155198:1 155199:1 155200:1 155201:1 155202:1 155203:1 155204:1 155205:1 155206:1 155207:1 155208:1 155209:1 155210:1 155211:1 155212:1 155213:1 945789:1 1988571:1 2139257:1 2987739:1 3224681:1
-1 2:1 4:0.165975 5:0.103448 6:0.176471 11:0.285714 17:0.72266 18:0.836498 19:0.6189 21:0.0119031 22:0.0119048 24:1 25:1 28:1 33:0.222222 41:0.4 54:1 56:1 62:1 64:1 66:1 68:1 70:1 72:1 74:1 75:0.25 76:1 77:0.166667 79:0.230769 81:0.2 82:1 84:1 86:1 88:1 90:1 92:1 102:1 104:1 106:1 108:1 110:1 112:1 127:1 129:1 130:1 151:1 152:1 155:1 215:1 216:1 217:1 225:1 253:1 441:1 731:1 732:1 733:1 736:1 737:1 738:1 1283:1 1286:1 1365:1 1366:1 1961:1 1964:1 2989:1 4335:1 7258:1 7259:1 7261:1 7262:1 7831:1 9521:1 10821:1 10822:1 20540:1 41582:1 52845:1 155153:1 155154:1 155155:1 155156:1 155157:1 155158:1 155159:1 155160:1 155163:1 155164:1 155166:1 155168:1 155169:1 155170:1 155172:1 155173:1 155174:1 155175:1 155176:1 155177:1 155178:1 155179:1 155180:1 155181:1 155182:1 155183:1 155194:1 155195:1 155196:1 155197:1 155198:1 155199:1 155200:1 155201:1 155202:1 155203:1 155204:1 155205:1 155206:1 155207:1 155208:1 155209:1 155210:1 155211:1 155212:1 155213:1 821974:1 1184372:1 1878831:1 2871444:1
-1 2:1 4:0.0912863 5:0.144828 6:0.117647 10:1 11:0.142857 17:0.760482 18:0.820882 19:0.150678 21:0.142856 22:0.142857 24:1 28:1 33:0.111111 44:1 54:1 56:1 62:1 64:1 66:1 68:1 70:1 72:1 74:1 76:1 82:1 84:1 86:1 88:1 90:1 92:1 94:1 96:1 102:1 104:1 106:1 108:1 110:1 112:1 155:1 4702:1 4703:1 4704:1 4705:1 4706:1 4707:1 4957:1 4958:1 4959:1 4960:1 4961:1 4963:1 4964:1 4965:1 13232:1 155153:1 155154:1 155155:1 155156:1 155157:1 155158:1 155159:1 155160:1 155163:1 155164:1 155166:1 155168:1 155169:1 155170:1 155172:1 155173:1 155174:1 155175:1 155176:1 155177:1 155178:1 155179:1 155180:1 155181:1 155182:1 155183:1 155194:1 155195:1 155196:1 155197:1 155198:1 155199:1 155200:1 155201:1 155202:1 155203:1 155204:1 155205:1 155206:1 155207:1 155208:1 155209:1 155210:1 155211:1 155212:1 155213:1 361398:1 1470090:1 2439532:1
-1 4:0.0580913 5:0.0896552 6:0.176471 11:0.142857 21:0.285713 22:0.0238095 24:1 25:1 28:1 36:1 44:1 54:1 56:1 62:1 64:1 66:1 68:1 70:1 72:1 74:1 76:1 82:1 84:1 86:1 88:1 90:1 92:1 94:1 96:1 102:1 104:1 106:1 108:1 110:1 112:1 129:1 151:1 153:1 155:1 712:1 713:1 714:1 715:1 716:1 717:1 1282:1 1283:1 1284:1 1285:1 1286:1 1287:1 3483:1 4122:1 8157:1 155153:1 155154:1 155155:1 155156:1 155157:1 155163:1 155164:1 155166:1 155168:1 155169:1 155170:1 155172:1 155173:1 155174:1 155175:1 155176:1 155177:1 155178:1 155179:1 155180:1 155181:1 155182:1 155183:1 155194:1 155195:1 155196:1 155197:1 155198:1 155199:1 155200:1 155201:1 155202:1 155203:1 155204:1 155205:1 155206:1 155207:1 155208:1 155209:1 155210:1 155211:1 155212:1 155213:1 929754:1
+1 2:1 4:0.0788382 5:0.131034 6:0.117647 10:1 11:0.142857 16:0.4 17:0.830283 18:0.83965 19:0.583194 20:1 21:0.285713 22:0.00595238 23:0.00595238 36:1 37:1 44:1 45:1 54:1 56:1 62:1 64:1 66:1 68:1 70:1 72:1 74:1 75:0.25 76:1 77:0.166667 79:0.0769231 81:0.05 82:1 84:1 86:1 88:1 90:1 92:1 94:1 96:1 102:1 104:1 106:1 108:1 110:1 112:1 131:1 133:1 139:1 141:1 143:1 145:1 147:1 149:1 253:1 260:1 277:1 304:1 305:1 425:1 521:1 673:1 674:1 675:1 676:1 731:1 732:1 733:1 1365:1 1488:1 2098:1 6027:1 6028:1 6029:1 6030:1 6031:1 9989:1 18073:1 18074:1 18077:1 18078:1 18079:1 18080:1 155153:1 155154:1 155155:1 155156:1 155157:1 155158:1 155159:1 155160:1 155161:1 155163:1 155164:1 155165:1 155166:1 155167:1 155168:1 155169:1 155170:1 155171:1 155172:1 155173:1 155174:1 155175:1 155176:1 155177:1 155178:1 155179:1 155180:1 155181:1 155182:1 155183:1 155184:1 155185:1 155186:1 155187:1 155188:1 155189:1 155190:1 155191:1 155192:1 155193:1 155194:1 155195:1 155196:1 155197:1 155198:1 155199:1 155200:1 155201:1 155202:1 155203:1 155204:1 155205:1 155206:1 155207:1 155208:1 155209:1 155210:1 155211:1 155212:1 155213:1 500481:1

这是加载数据集的方式

X,y = load_svmlight_file(f,n_features=3231952)

这是csr_matrix格式(X)的数据集:

  (0, 1)        1.0
  (0, 3)        0.0248963
  (0, 4)        0.0413793
  (0, 5)        0.0588235
  (0, 10)       0.285714
  (0, 16)       0.684456
  (0, 17)       0.847108
  (0, 18)       0.564399
  (0, 20)       0.285713
  (0, 21)       0.0119048

我需要将X传递给fit()

vectorizer = TfidfVectorizer(tokenizer=getTokens)
vectorizer.fit(x_array)

我需要将csr_matrix转换为数组以传递到TfidfVectorizer的fit()函数中,而不会出现“ ValueError数组太大”的情况

0 个答案:

没有答案