Orthogonal Matching Pursuit, scikit-learn uygulamasında uygulandığı gibi giriş verilerine biraz bozuk veya en azından çok hassas görünüyor.
Örnek:
import sklearn.linear_model
import sklearn.datasets
import numpy
X, y, w = sklearn.datasets.make_regression(n_samples=40000, n_features=40, n_informative=10, coef=True, random_state=0)
clf1 = sklearn.linear_model.LassoLarsCV(fit_intercept=True, normalize=False, max_n_alphas=1e6)
clf1.fit(X, y)
clf2 = sklearn.linear_model.OrthogonalMatchingPursuitCV(fit_intercept=True, normalize=False)
clf2.fit(X, y)
# this is 1e-10, LassoLars is basically exact on this data
print numpy.linalg.norm(y - clf1.predict(X))
# this is 7e+8, OMP is broken
print numpy.linalg.norm(y - clf2.predict(X))
Eğlence deneyler:
sklearn.datasets
içinde konserve veri kümelerinin bir grup vardır
. OMP hepsinde başarısız mı? Görünüşe göre, diyabet veri kümesinde işe yarıyor ...
make_regression
için OMP'nin çalıştığı verileri üretecek herhangi bir parametre kombinasyonu var mı? Hala onu arıyor ... 100 x 100 ve 100 x 10 aynı şekilde başarısız.
Scikit-öğrenmeyle ilgili bir şey bilmediğim için yardımcı olamam, ama bize biraz daha fazla ayrıntı vermeniz gerekiyor. Çalıştığınız kod nedir? Sorunuzu yeniden üreten küçük bir veri seti sağlayabilir misiniz? – andrechalom
Sorunuz http://stats.stackexchange.com/ için daha iyi bir tahmin. - İyi şanslar! – Framester
Lütfen eksiksiz, çalıştırılabilir kod ve veri kümesini gönderin. Soru başka türlü cevap vermek imkansız. –