Project in the egFWD scholarship for Machine Learning Cross-Skilling Nanodegree Program from Udacity.
These projects REVIEWED by Udacity reviewers (real persons) according to Project Rubricand, and the projects MUST "meet specifications" or "exceed specifications" in each category in order for my submission to pass.
This project is designed to get you acquainted with the many supervised learning algorithms available in sklearn, and to also provide for a method of evaluating just how each model works and performs on a certain type of data. It is important in machine learning to understand exactly when and where a certain algorithm should be used, and when one should be avoided.
Things you will learn by completing this project:
- How to identify when preprocessing is needed, and how to apply it.
- How to establish a benchmark for a solution to the problem.
- What each of several supervised learning algorithms accomplishes given a specific dataset.
- How to investigate whether a candidate solution model is adequate for the problem.
- Machine Learning Brid's Eye View
- Linear Regression
- Perceptron Algorithm
- Decision Trees
- Naive Bayes
- Support Vector Machines
- Ensemble Methods
- Model Evaluation Metrics
- Training and Tuning
- Project
CharityML is a fictitious charity organization located in the heart of Silicon Valley that was established to provide financial support for people eager to learn machine learning. After nearly 32,000 letters were sent to people in the community, CharityML determined that every donation they received came from someone that was making more than $50,000 annually. To expand their potential donor base, CharityML has decided to send letters to residents of California, but to only those most likely to donate to the charity. With nearly 15 million working Californians, CharityML has brought you on board to help build an algorithm to best identify potential donors and reduce overhead cost of sending mail. Your goal will be evaluate and optimize several different supervised learners to determine which algorithm will provide the highest donation yield while also reducing the total number of letters being sent.
This project uses the following software and Python libraries:
- Python
- NumPy
- pandas
- scikit-learn (v0.17)
- Matplotlib