max_features=None) # Fit classifier to training set clf = clf.fit(X_train, y_train, sample_weight=sample_weight) # In[ ]: # Compute training metrics accuracy = clf.score(X_train, y_train) # Predict labels of test set train_pred = clf.predict(X_train) # Compute MSE, confusion matrix, classification report mse = mean_squared_error(y_train, train_pred) conf_mat = confusion_matrix(y_train.round(), train_pred.round()) clas_rep = classification_report(y_train.round(), train_pred.round()) # Print reports print('{:=^80}'.format('RF training report')) print('Accuracy: %.4f' % accuracy) print("MSE: %.4f" % mse) print("Confusion matrix:\n{}".format(conf_mat)) print("Classification report:\n{}".format(clas_rep)) # Here is how to read the above confusion matrix: # # | | Prediction: 0 (Unaffected) | Prediction: 1 (BA) | Prediction: 2 (PCL) | # |-----------|--------------------------------------|----------------------------|------------------------------| # | Actual: 0 (Unaffected) | __Unaffected classified as unaffected__ | Unaffected classified as BA | Unaffected classified as PCL | # | Actual: 1 (BA) | BA classified as unaffected | __BA classified as BA__ | BA classified as PCL |