2016-10-29 4 views
0

내가 아주 간단한 데이터 세트를 가지고 결과, 아래 참조 (의이 a.vw를 호출하자) :같은 데이터 세트 다른 예측이

-1 |a 1 |b c57 
1 |a 2 |b c3 

2 네임 스페이스 (ab을), 위키를 읽은 후, 나는 알고 폭스 바겐 자동 것이다 a^1 또는 b^c57과 같은 실제 기능을 만드십시오. 난 그냥 각 수동 기능에 대한 접두사를 추가,

-1 |a a_1 |b b_c57 
1 |a a_2 |b b_c3 

당신이 볼 수 있듯이 : 나는 그것을 알기 전에 그러나, 사실은이 같은 폭스 바겐 파일을 (그것은 b.vw 전화)했다.

지금 나는이 같은, 동일한 구성으로 두 파일에 모델을 훈련 :

cat a.vw | vw --loss_function logistic --passes 1 --hash all -f a.model --invert_hash a.readable --random_seed 1 
cat b.vw | vw --loss_function logistic --passes 1 --hash all -f b.model --invert_hash b.readable --random_seed 1 

다음 나는 읽을 모델 파일을 확인, 그들은 각각의 기능에 대한 정확히 같은 무게를 가지고, 아래 참조 :

,743,846,562,453 :
$ cat a.readable 
Version 8.2.1 
Id 
Min label:-50 
Max label:50 
bits:18 
lda:0 
0 ngram: 
0 skip: 
options: 
Checksum: 295637807 
:0 
Constant:116060:-0.0539969 
a^1:112195:-0.235305 
a^2:1080:0.243315 
b^c3:46188:0.243315 
b^c57:166454:-0.235305 

$ cat b.readable 
Version 8.2.1 
Id 
Min label:-50 
Max label:50 
bits:18 
lda:0 
0 ngram: 
0 skip: 
options: 
Checksum: 295637807 
:0 
Constant:116060:-0.0539969 
a^a_1:252326:-0.235305 
a^a_2:85600:0.243315 
b^b_c3:166594:0.243315 
b^b_c57:227001:-0.235305 

마지막으로,이 같은 각각 두 데이터 세트에 두 모델을 사용하여 예측을했다 (210)

지금, 여기에 문제가 온다 a.predb.pred에서 매우 다른 결과를 보유하고, 아래 참조 :

$ cat a.pred 
0.428175 
0.547189 

$ cat b.pred 
0.371776 
0.606502 

왜? 기능의 접두어를 수동으로 추가해야한다는 의미입니까?

답변

1

당신이 cat a.vw | vw -t -i a.model -p a.pred --link logistic --quiet --hash all을하려고하면 당신이 얻을 것이다 :
$ cat a.pred 0.371776 0.606502
--hash 인수 값이 모델 파일에 저장되지 않는 것 같습니다 당신이 그것을 너무 테스트 단계에서 지정해야합니다. b.vw에는 순수한 숫자 기능이 없으므로 a.vw과 연동하여 중요하지 않습니다. 나는 그것이 버그인지 확실하지 않습니다. 그러나 당신은 그것을보고 할 수 있습니다.

+1

정말 고마워요, truf, 'vw' github 문제에 대한 멋진 보고서를 읽었습니다. – avocado

관련 문제