Random Forest in Python
Random Forest algorithm creates many trees each:
1) random selection of data rows
2)random selection features
Then makes the prediction based on majority vote of these trees.
It has less variance than a single tree.
###################################################
amirpredictor=amirdf[["sex","FamilySize","FamilyIncome","EdYears"]]
amiroutcome=amirdf[['be']]
X_Train, X_Test,Y_Train, Y_Test= sktts.train_test_split(amirpredictor,amiroutcome,test_size=.3)
#n_estimators – The number of trees in the forest.
# For each tree, only a share of data is selected for building the tree, i.e. training. The remaining samples are the
# out-of-bag samples. These out-of-bag samples can be used directly during training to compute a test accuracy.
# If you activate the option, the "oob_score_" and "oob_prediction_" will be computed.
RFmodel= rf( n_jobs=-1, max_depth=5, n_estimators=1000, oob_score=True)
RFmodel.fit(X_Train, Y_Train)
RFmodel.oob_score_
ModelPredictions=RFmodel.predict(X_Test)
CM=skmeter.confusion_matrix(Y_Test,ModelPredictions)
disp=skmeter.ConfusionMatrixDisplay(confusion_matrix=CM, display_labels=DTmodel.classes_)
disp.plot()
plt.show()
print(CM)
Amiraccuracy=skmeter.accuracy_score(Y_Test,ModelPredictions)
print("Amiraccuracy:"+str(Amiraccuracy))
#########################################################################
from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier
bagging_classifier = BaggingClassifier(
base_estimator = DecisionTreeClassifier(), # Model to use
n_estimators=500, # Number of models to train
max_samples=100, # Amount of samples to train each model (Putting the length of the whole dataset is what he's proposing)
)
https://www.analyticsvidhya.com/blog/2021/06/understanding-random-forest/
![]()
