0
我正在通過sklearn使用GridSearchCV調整我的RandomForestClassifier。 我只調整了兩個參數:隨機森林:網格搜索運行時錯誤
「n_estimators」和「min_samples_leaf」。
這是一段代碼:
RFC=RandomForestClassifier(criterion='entropy', random_state=42, max_features='log2', warm_start=True, oob_score=True, n_jobs=-1)
our_param_grid = [ {'n_estimators':[400, 500, 600, 700]}, {'min_samples_leaf':[50, 70, 90, 110, 130, 150, 170, 190]} ]
grid = GridSearchCV(estimator = RFC, param_grid = our_param_grid, cv=3)
grid.fit(X, Y)
print grid.best_params_
我得到警告,關於OOB_Score錯誤。
這是我得到的警告。
Warning: Some inputs do not have OOB scores. This probably means too few trees where used to compute any reliable oob estimators.
warn("Some inputs do not have OOB scores. "
然後彈出一個錯誤,導致程序終止。這是我得到的確切的錯誤。
RuntimeWarning: invalid value encountered in true_divide predictions[k].sum(axis=1)[:, np.newaxis])
{'n_estimators': 700}
我在設置RFC模型時設置了oob_score = True。任何人都可以幫助我理解,我哪裏出錯了。
你可以上傳你的X,Y數據嗎? – sera
Hi @sera,我的X包含2lac樣本,每個樣本都有263個特徵,所以它是(2lac * 263)的矩陣。在擬合到RandomForestClassifier之前,我縮放了這個矩陣(平均值= 0,標準偏差= 1)。我的「Y」是一個零和一個數值的數組(1個lac零和1個lac)。我無法在SO上傳一個csv文件。感謝您的幫助。 – Blessy
你可以檢查你的數據中是否有NaNs?這可能會導致問題。另外,嘗試減少估計器的數量,例如使用100,並讓我知道,如果警告仍然存在 – sera