From cc062c946bac1e81894e65e145e17b4b939d7a44 Mon Sep 17 00:00:00 2001 From: Miggelito Date: Thu, 6 Feb 2020 11:32:34 +0100 Subject: [PATCH 1/3] Added Random Forest Regressor --- machine_learning/random_forest_regressor.py | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 machine_learning/random_forest_regressor.py diff --git a/machine_learning/random_forest_regressor.py b/machine_learning/random_forest_regressor.py new file mode 100644 index 000000000000..2b73c3ccf9aa --- /dev/null +++ b/machine_learning/random_forest_regressor.py @@ -0,0 +1,35 @@ +# Random Forest Regressor Example + +from sklearn.datasets import load_boston +from sklearn.model_selection import train_test_split +from sklearn.ensemble import RandomForestRegressor +from sklearn.metrics import mean_absolute_error +from sklearn.metrics import mean_squared_error + +# Load Boston house price dataset +boston = load_boston() +print(boston.keys()) + +# Split dataset into train and test data +X = boston['data'] # features +Y = boston['target'] +x_train, x_test, y_train, y_test = train_test_split( + X, Y, test_size=0.3, random_state=1 + ) + +# Random Forest Regressor +rand_for = RandomForestRegressor(random_state=42, n_estimators=300) +rand_for.fit(x_train, y_train) + +# Predict target for test data +predictions = rand_for.predict(x_test) +predictions = predictions.reshape(len(predictions), 1) + +# Error printing +print( + 'Mean Absolute Error(func) :\t {}' + '\nMean Square Error(func) :\t {}'.format( + mean_absolute_error(y_test, predictions), + mean_squared_error(y_test, predictions) + ) + ) From c871f38347d1356dc2675827cdae71dcfce65a1d Mon Sep 17 00:00:00 2001 From: Miggelito Date: Fri, 7 Feb 2020 12:34:18 +0100 Subject: [PATCH 2/3] Updated file to standard --- machine_learning/random_forest_regressor.py | 57 ++++++++++++--------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/machine_learning/random_forest_regressor.py b/machine_learning/random_forest_regressor.py index 2b73c3ccf9aa..f6c470f0975a 100644 --- a/machine_learning/random_forest_regressor.py +++ b/machine_learning/random_forest_regressor.py @@ -6,30 +6,37 @@ from sklearn.metrics import mean_absolute_error from sklearn.metrics import mean_squared_error -# Load Boston house price dataset -boston = load_boston() -print(boston.keys()) - -# Split dataset into train and test data -X = boston['data'] # features -Y = boston['target'] -x_train, x_test, y_train, y_test = train_test_split( - X, Y, test_size=0.3, random_state=1 - ) -# Random Forest Regressor -rand_for = RandomForestRegressor(random_state=42, n_estimators=300) -rand_for.fit(x_train, y_train) - -# Predict target for test data -predictions = rand_for.predict(x_test) -predictions = predictions.reshape(len(predictions), 1) - -# Error printing -print( - 'Mean Absolute Error(func) :\t {}' - '\nMean Square Error(func) :\t {}'.format( - mean_absolute_error(y_test, predictions), - mean_squared_error(y_test, predictions) - ) +def main(): + + """ + Random Tree Regressor Example using sklearn function. + Boston house price dataset is used to demonstrate algorithm. + """ + + # Load Boston house price dataset + boston = load_boston() + print(boston.keys()) + + # Split dataset into train and test data + X = boston["data"] # features + Y = boston["target"] + x_train, x_test, y_train, y_test = train_test_split( + X, Y, test_size=0.3, random_state=1 ) + + # Random Forest Regressor + rand_for = RandomForestRegressor(random_state=42, n_estimators=300) + rand_for.fit(x_train, y_train) + + # Predict target for test data + predictions = rand_for.predict(x_test) + predictions = predictions.reshape(len(predictions), 1) + + # Error printing + print(f"Mean Absolute Error:\t {mean_absolute_error(y_test, predictions)}") + print(f"Mean Square Error :\t {mean_squared_error(y_test, predictions)}") + + +if __name__ == "__main__": + main() From b6226d3735f6ac75878137312c465c5a88554536 Mon Sep 17 00:00:00 2001 From: Miggelito Date: Sun, 9 Feb 2020 13:00:38 +0100 Subject: [PATCH 3/3] Added Random Forest Classifier (Iris dataset) and a Confusion Matrix for result visualization --- machine_learning/random_forest_classifier.py | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 machine_learning/random_forest_classifier.py diff --git a/machine_learning/random_forest_classifier.py b/machine_learning/random_forest_classifier.py new file mode 100644 index 000000000000..07bd33b340c5 --- /dev/null +++ b/machine_learning/random_forest_classifier.py @@ -0,0 +1,45 @@ +# Random Forest Classifier Example + +from sklearn.datasets import load_iris +from sklearn.model_selection import train_test_split +from sklearn.ensemble import RandomForestClassifier +from sklearn.metrics import plot_confusion_matrix +import matplotlib.pyplot as plt + + +def main(): + + """ + Random Tree Classifier Example using sklearn function. + Iris type dataset is used to demonstrate algorithm. + """ + + # Load Iris house price dataset + iris = load_iris() + + # Split dataset into train and test data + X = iris["data"] # features + Y = iris["target"] + x_train, x_test, y_train, y_test = train_test_split( + X, Y, test_size=0.3, random_state=1 + ) + + # Random Forest Classifier + rand_for = RandomForestClassifier(random_state=42, n_estimators=100) + rand_for.fit(x_train, y_train) + + # Display Confusion Matrix of Classifier + plot_confusion_matrix( + rand_for, + x_test, + y_test, + display_labels=iris["target_names"], + cmap="Blues", + normalize="true", + ) + plt.title("Normalized Confusion Matrix - IRIS Dataset") + plt.show() + + +if __name__ == "__main__": + main()