Üretim kullanımı için rasgele bir orman sınıflandırıcı yetiştirmek için aşağıdaki iş akışını kullanıyorum. RandomizingSearchCV kullanarak, sonuçları yazdırarak ve RandomizedSearchCV sonuçlarını kullanarak yeni bir boru hattı oluşturarak sınıflandırıcının parametrelerini ayarlamak için kullanıyorum. Bir RandomizedSearchCV'nin en iyi sonucunu bir sınıflandırıcıya işaret etmenin bir yolu olması gerektiğini varsayıyorum, bu yüzden bunu manuel olarak yapmak zorunda değilim ama nasıl olduğunu anlayamıyorum.Bir sınıflandırıcı için RandomizedSearchCV İşaretleme
select = sklearn.feature_selection.SelectKBest(k=40)
clf = sklearn.ensemble.RandomForestClassifier()
steps = [('feature_selection', select),
('random_forest', clf)]
parameters = {"random_forest__max_depth": [3, None],
"random_forest__max_features": sp_randint(1, 21),
"random_forest__min_samples_split": sp_randint(1, 21),
"random_forest__min_samples_leaf": sp_randint(1, 21),
"random_forest__bootstrap": [True, False],
"random_forest__criterion": ["gini", "entropy"]}
pipeline = sklearn.pipeline.Pipeline(steps)
n_iter_search = 20
cv = RandomizedSearchCV(pipeline, param_distributions = parameters, n_iter=n_iter_search)
cv.fit(X,y)
Yapmaya çalıştığınız şey hakkında daha fazla bilgi verebilir misiniz? Hangi kodu denediniz? – dooms
Sanırım kendi sorumu çözmüş olabilirim. Cv nesnesinin, bulduğu en iyi parametrelere sahip rasgele bir orman sınıflandırıcısı olduğunu anlayamadım (istediğim şey). Yeni bir RF sınıflandırıcı oluşturmam gerektiğini ve aramanın sonuçlarını aktarmam gerektiğini düşündüm. –