Я пытаюсь использовать vowpal wabbit для логистической регрессии. Я не уверен, что это правильный синтаксис для этого.
For training, I do
./vw -d ~/Desktop/new_data.txt --passes 20 --binary --cache_file cache.txt -f lr.vw --loss_function logistic --l1 0.05
For testing I do
./vw -d ~/libsvm-3.18_test/matlab/new_data_test.txt --binary -t -i lr.vw -p predictions.txt -r raw_score.txt
Вот фрагмент из моих данных поезда
-1:1.00038 | 110:0.30103 262:0.90309 689:1.20412 1103:0.477121 1286:1.5563 2663:0.30103 2667:0.30103 2715:4.63112 3012:0.30103 3113:8.38411 3119:4.62325 3382:1.07918 3666:1.20412 3728:5.14959 4029:0.30103 4596:0.30103
1:2601.25 | 32:2.03342 135:3.77379 146:3.19535 284:2.5563 408:0.30103 542:3.80618 669:1.07918 689:2.25527 880:0.30103 915:1.98227 1169:5.35371 1270:0.90309 1425:0.30103 1621:0.30103 1682:0.30103 1736:3.98227 1770:0.60206 1861:4.34341 1900:3.43136 1905:7.54141 1991:5.33791 2437:0.954243 2532:2.68664 3370:2.90309 3497:0.30103 3546:0.30103 3733:0.30103 3963:0.90309 4152:3.23754 4205:1.68124 4228:0.90309 4257:1.07918 4456:0.954243 4483:0.30103 4766:0.30103
Вот фрагмент из моих тестовых данных
-1 | 110:0.90309 146:1.64345 543:0.30103 689:0.30103 1103:0.477121 1203:0.30103 1286:2.82737 1892:0.30103 2271:0.30103 2715:4.30449 3012:0.30103 3113:7.99039 3119:4.08814 3382:1.68124 3666:0.60206 3728:5.154 3960:0.778151 4309:0.30103 4596:0.30103 4648:0.477121
Однако, если я посмотрю на результаты, прогнозы будут равны -1, а сырые оценки - все 0. У меня около 200 000 примеров, из которых 100 составляют +1, а остальные -1. Чтобы справиться с этими несбалансированными данными, я дал вес положительных примеров 200 000/100 и отрицательный вес примера 200 000/(200000-100). Это потому, что мои данные похожи на действительно сильно неуравновешенные, хотя я настраиваю весы, которые это происходит?
Я ожидал выход (P (y | x)) в исходном файле оценки. Но я получаю все нули. Мне просто нужны вероятностные выходы. Любые предложения о том, что происходит с парнями?