https://github.com/sushantdhumak/finding-donors-for-charity-using-machine-learning
Machine Learning Nano-degree Project : To help a charity organization identify people most likely to donate to their cause
https://github.com/sushantdhumak/finding-donors-for-charity-using-machine-learning
accuracy confusion-matrix data-normalization data-preprocessing f1-score fbeta-score feature-importance feature-selection finding-donors gradient-boosting gridsearchcv min-max-scaler naive-predictor skewed-data supervised-learning tuning-parameters
Last synced: about 1 month ago
JSON representation
Machine Learning Nano-degree Project : To help a charity organization identify people most likely to donate to their cause
- Host: GitHub
- URL: https://github.com/sushantdhumak/finding-donors-for-charity-using-machine-learning
- Owner: sushantdhumak
- Created: 2019-10-19T17:50:58.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-10-19T18:08:40.000Z (over 5 years ago)
- Last Synced: 2025-01-30T23:05:57.090Z (3 months ago)
- Topics: accuracy, confusion-matrix, data-normalization, data-preprocessing, f1-score, fbeta-score, feature-importance, feature-selection, finding-donors, gradient-boosting, gridsearchcv, min-max-scaler, naive-predictor, skewed-data, supervised-learning, tuning-parameters
- Language: Jupyter Notebook
- Homepage:
- Size: 792 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Finding Donors for Charity using Machine Learning
## Machine Learning Nanodegree Project## Disclaimer:
The given solutions in this project are only for reference purpose.## Project Overview
In this project, you will apply supervised learning techniques and an analytical mind on data collected for the U.S. census to help CharityML (a fictitious charity organization) identify people most likely to donate to their cause. You will first explore the data to learn how the census data is recorded. Next, you will apply a series of transformations and preprocessing techniques to manipulate the data into a workable format. You will then evaluate several supervised learners of your choice on the data, and consider which is best suited for the solution. Afterwards, you will optimize the model you've selected and present it as your solution to CharityML. Finally, you will explore the chosen model and its predictions under the hood, to see just how well it's performing when considering the data it's given.
predicted selling price to your statistics.## Project Highlights
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.## Software Requirements
This project uses the following software and Python libraries:
- [Python 2.7](https://www.python.org/download/releases/2.7/)
- [NumPy](http://www.numpy.org/)
- [Pandas](http://pandas.pydata.org/)
- [scikit-learn](http://scikit-learn.org/stable/)
- [matplotlib](http://matplotlib.org/)You will also need to have software installed to run and execute an [iPython Notebook](http://ipython.org/notebook.html)
We recommend to install [Anaconda](https://www.continuum.io/downloads), a pre-packaged Python distribution that contains all of the necessary libraries and software for this project.
### Code
You will also be required to use the included `visuals.py` Python file and the `census.csv` dataset file to complete your work.
### Run
In a terminal or command window, navigate to the top-level project directory `finding_donors/` (that contains this README) and run one of the following commands:
```bash
ipython notebook finding_donors.ipynb
```
or
```bash
jupyter notebook finding_donors.ipynb
```This will open the iPython Notebook software and project file in your browser.
### Data
The modified census dataset consists of approximately 32,000 data points, with each datapoint having 13 features. This dataset is a modified version of the dataset published in the paper *"Scaling Up the Accuracy of Naive-Bayes Classifiers: a Decision-Tree Hybrid",* by Ron Kohavi. You may find this paper [online](https://www.aaai.org/Papers/KDD/1996/KDD96-033.pdf), with the original dataset hosted on [UCI](https://archive.ics.uci.edu/ml/datasets/Census+Income).
**Features**
- `age`: Age
- `workclass`: Working Class (Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked)
- `education_level`: Level of Education (Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool)
- `education-num`: Number of educational years completed
- `marital-status`: Marital status (Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse)
- `occupation`: Work Occupation (Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces)
- `relationship`: Relationship Status (Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried)
- `race`: Race (White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black)
- `sex`: Sex (Female, Male)
- `capital-gain`: Monetary Capital Gains
- `capital-loss`: Monetary Capital Losses
- `hours-per-week`: Average Hours Per Week Worked
- `native-country`: Native Country (United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands)**Target Variable**
- `income`: Income Class (<=50K, >50K)