прогнозировать в цикле, используя случайный лес со склеарном - PullRequest
0 голосов
/ 30 мая 2018

Я использую Sci-Kit Learn на Python3.6, и у меня есть некоторые проблемы во время выполнения для прогнозирования в цикле со случайным лесом, загруженным из Pickle.

Когда я предсказываю случайный лес с 1 оценщиком (деревом), время выполнения составляет около 0,002 секунды на выборку.Однако, когда я увеличиваю количество оценщиков (> 1), время выполнения увеличивается до 0,1 секунды на выборку независимо от количества деревьев.

Вот мой код для сохранения модели:

clf = RandomForestClassifier(n_estimators=1, #or > 1 
            n_jobs=-1,
            random_state=2,
            max_depth=15,
            min_samples_leaf=1,
            verbose=0,
            max_features='auto'
            )

clf.fit(X_train, y_train)

with open('classifier.pkl', 'wb') as fid:
    cPickle.dump(clf, fid)  

и вот мой код для загрузки модели и прогнозирования в цикле:

with open('classifier.pkl', 'rb') as fid:
    clf = cPickle.load(fid)

for s in samples:
    #my feature extraction method
    pred = clf.predict(feature) #feature is a 1D np array containing features computed for the sample s 

Я не понимаю, почему время выполнения не пропорционально количеству деревьев и почему оно так быстро увеличивается.Это ошибка или я использую рассол неправильно?

Пожалуйста, вы можете мне помочь?

CB

...