Python kullanarak bir tahmin modeli oluşturmaya çalışıyorum. Eğitim ve test veri seti 400'den fazla değişkene sahiptir. eğitim veri seti özelliği seçimi kullanılarak üzerinde değişken sayısı 180Özellik seçimi pythonundan sonra tahmin
from sklearn.feature_selection import VarianceThreshold
sel = VarianceThreshold(threshold = .9)
indirgenir ve daha sonra çapraz doğrulama .84 AUC doğruluğu achieveing gradyan takviye algoritmasını kullanarak bir modeli eğitim am. Ben tahmin verileri için tahmin etmek bu modeli kullanmaya çalışıyorum ne zaman
from sklearn import ensemble
from sklearn.cross_validation import train_test_split
from sklearn.metrics import roc_auc_score as auc
df_fit, df_eval, y_fit, y_eval= train_test_split(df, y, test_size=0.2, random_state=1)
boosting_model = ensemble.GradientBoostingClassifier(n_estimators=100, max_depth=3,
min_samples_leaf=100, learning_rate=0.1,
subsample=0.5, random_state=1)
boosting_model.fit(df_fit, y_fit)
Ama test verilerinde toplam değişkenler 400 bitecek için kaldığından bana mantıklı hatasını
predict_target = boosting_model.predict(df_prediction)
Error: Number of variables in prediction data set 'df_prediction' does not match the number of variables in the model
veriyor set Benim sorum şu ki bu sorunu atlamak ve akıllı modelleme için özellik seçimini kullanmaya devam etmek için var. Çünkü onu kaldırırsam, modelin doğruluğu çok zayıf olan .5'e düşer. Teşekkürler!
tahmin önce
ve
yapmak. Çok teşekkür ederim! – Uasthana