Я пытаюсь реализовать Random Forest с использованием Python, я знаю, что есть библиотека sklearn, но она использует вероятность. То, что я пытаюсь сделать, это использовать голосование, чтобы определить класс. Точность так отличается. Входной класс - 0 и 1.
Вот мой код
from sklearn.preprocessing import LabelEncoder
estimators = []
preditions = []
labelenc_ = LabelEncoder()
labelenc_.fit(Y_train)
classes_ = labelenc_.classes_
for i in range(5):
t = DecisionTreeClassifier(max_depth=1, criterion='entropy', max_features='log2')
idx = np.random.choice(X_train.index ,size=len(X_train), replace=True)
fitted_clf= clone(t).fit(X_train.loc[idx,:],labelenc_.transform( Y_train[idx]))
estimators.append(fitted_clf)
pool = np.asarray([clf.predict(X_test) for clf in estimators]).T
v = tmp= np.apply_along_axis(lambda x: np.argmax(np.bincount(x)) ,arr=pool,axis=1)
v = labelenc_.inverse_transform(v)
Я использую метод предиката () в sklearn, получаю точность около 0,7, но когда я использую свой код, точность около 0,5с тем же параметром