Skip to content

robert-z-lehr/ML-Nonprofit-Funding-Success-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Purpose and Goal

The purpose of this project is to create a binary classifier using machine learning and neural networks to predict the success of funding applicants for the nonprofit foundation Alphabet Soup. The goal is to develop a model that can effectively identify organizations with the best chance of success in their ventures when funded by Alphabet Soup.

Tools

  • Pandas
  • Scikit-learn
  • Jupyter Notebook
  • TensorFlow and Keras

Workflow Steps:

  1. Data Preprocessing:

    • Corrected typos in categorical columns using manual correction and replacement.
    • Dropped non-beneficial ID columns ('EIN' and 'NAME').
    • Binned infrequent values in 'APPLICATION_TYPE' and 'CLASSIFICATION' columns as 'Other'.
    • Transformed categorical data into numeric using one-hot encoding.
  2. Data Splitting and Scaling:

    • Split data into training and testing sets.
    • Created a StandardScaler instance to standardize the data.
    • Scaled the training and testing data using the fitted scaler.
  3. Neural Network Model Definition:

    • Defined a Sequential neural network model with 2 hidden layers.
    • Compiled the model with 'binary_crossentropy' loss and 'adam' optimizer.
    • Trained the model for 100 epochs on the training data.
  4. Model Evaluation and Saving:

    • Evaluated the model on the test data to measure loss and accuracy.
    • Saved the trained model to an HDF5 file for future use.

Model Performance:

FeedForward Neural Network (Single and Repeated Runs):

  • Achieved a testing accuracy of approximately 72.7% on average, with a standard deviation of 0.09%.
  • Demonstrated effectiveness in distinguishing venture success using binary classification.
  • Moderate binary cross-entropy loss values indicate reasonable predictive capability.

MLPClassifier Neural Network:

  • Achieved a testing accuracy of 72.8% and a loss score of 0.5524.
  • Showcased consistent performance in predicting venture success.

MLPClassifier Neural Network & SVC Classifier Neural Network:

  • Both MLPClassifier and SVC Classifier achieved accuracies around 72.7-72.9%.
  • Demonstrated effectiveness in predicting venture success.

Conclusion:

The project successfully developed and evaluated multiple neural network models and classifiers to predict the success of funding applicants for Alphabet Soup. These models consistently achieved accuracies in the range of 72.7-72.9%, showcasing their ability to identify ventures with a high likelihood of success. Further optimization and exploration of hyperparameters could potentially enhance predictive performance. Overall, the project contributes valuable insights for decision-making in Alphabet Soup's funding initiatives.

Recommendations for Improvement:

  • Conduct thorough hyperparameter tuning to explore the optimal configuration of model parameters.
  • Experiment with different activation functions and network architectures to potentially improve accuracy.
  • Consider incorporating additional features or external data sources to enhance predictive power.