Destek vektör sınıflandırması için libsvm ( http://www.csie.ntu.edu.tw/~cjlin/libsvm/ ) aracını kullanıyorum . Ancak, girdi verilerinin formatı hakkında kafam karıştı.
README'den:
Eğitim ve test veri dosyasının formatı şudur:
<label> <index1>:<value1> <index2>:<value2> ... . . .
Her satır bir örnek içerir ve '\ n' karakteriyle sonlanır. Sınıflandırma için,
<label>
sınıf etiketini gösteren bir tamsayıdır (çoklu sınıf desteklenir). Regresyon için,<label>
herhangi bir gerçek sayı olabilen hedef değerdir. Bir sınıf SVM için, kullanılmaz, bu nedenle herhangi bir sayı olabilir. Çift<index>:<value>
, bir özellik (özellik) değeri verir:<index>
1'den başlayan bir tam sayıdır ve<value>
gerçek bir sayıdır. Bunun tek istisnası,<index>
0'dan başlayan önceden hesaplanmış çekirdek ; önceden hesaplanmış çekirdekler bölümüne bakınız. Endeksler artan sırada olmalıdır. Test dosyasındaki etiketler yalnızca doğruluk veya hataları hesaplamak için kullanılır. Eğer bilinmiyorlarsa, ilk sütunu herhangi bir sayıyla doldurmanız yeterlidir.
Aşağıdaki sorularım var:
- Kullanımı nedir
<index>
? Hangi amaca hizmet ediyor? - Farklı veri örneklerinin aynı endeks değerleri arasında bir yazışma var mı?
- Aradaki dizini özlüyorum / atlarsam ne olur?
Libsvm paketine dahil edilen * heart_scale * veri dosyası, 12. satırda, dizin 2'den başlar çünkü <value>
for 1 indeksi bilinmeyen / eksik mi olarak alındı? Not: Paketle birlikte verilen tools / checkdata.py aracı, * heart_scale * dosyasının doğru olduğunu söyler.