2016-04-13 20 views
1

Merhaba Makine öğreniminde scikit-learning ile oldukça yeni ama bir sorum var.Sklearn - svm ağırlıklı özellikler

Svm, vektör verilerimin bazı özelliklerini daha yüksek önem veya ağırlıkla tanımak mümkün mü?/İşte

ne istiyorum örnektir:: Doğru therm bilmiyorum

en biz 2d dizide vecotrs grup var diyelim:

dt = [ 
[x1, y1, z1, q1], 
[x2, y2, z2, q2], 
[x3, y3, z3, q3], 
[x4, y4, z4, q4]] 

Ve hedef veri vektör:

Neyi bilmek istediğim, örneğin, her bir vektörün dt'deki tüm özellikleri, diğer özelliklerden daha önemli.

Verileri ayarlarla nasıl ayarlayacağımı veya sample_weight öğesini ayarlamayı biliyorum, ancak bu sorunla ilgili bana yardımcı olamaz.

Alkış

cevap

1

Eğer sınıflandırma için sklearn.svm.SVC kullanırsanız sınıflandırıcı nesnesinin coef_ bağladıkları erişebilirler. Örneğin:

classifier = SVC(C=1.0, kernel='linear', random_state=241) 
classifier.fit(dt, target) 
coef = classifier.coef_ # here the weights of the features will be stored 

http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html - Daha fazla bilgi için dokümantasyon.

+0

Şimdi anladığım kadarıyla, ağırlık özelliklerini temsil eden verilere nasıl erişilir, ancak bunları değiştirebileceğim bir yol var. Belgeler, bu coef_'ın salt okunur bir özellik olduğunu açıkça belirtir. Sınıflandırıcımın bazı özelliklerini zorla daha önemli bir şekilde almasını istiyorum. – Domagoj

+1

Kütüphane kullanmadan sadece bir varsayımı ifade edebilirim. SVM - doğrusal bir yöntemdir ve özellik ölçeklerine duyarlıdır. StandartScaler'ı (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html) tek bir sınıfa sığdırmak için kullanabilirsiniz (gerekli değil, ancak bazen sizin verimliliğinizi önemli ölçüde artırabilir). algoritması). Daha sonra egzersiz verilerinizi önceden kendiniz işleyebilir ve kefir <1 ile önemli görmediğiniz tüm özellikleri ölçekleyebilirsiniz (bu ölçeklemeyi test kümesine veya \ ve gerçek verilere uygulamak için kaydetmeyi unutmayın). Daha fazla deneyime ihtiyacın var :) – mrEvgenX

+0

Teşekkürler Bu yaklaşımı deneyeceğim – Domagoj

İlgili konular