https://github.com/techytushar/nobbas_assignment
Solution to the Machine Learning Assignment for Internship at Nobbas Technologies
https://github.com/techytushar/nobbas_assignment
Last synced: about 1 month ago
JSON representation
Solution to the Machine Learning Assignment for Internship at Nobbas Technologies
- Host: GitHub
- URL: https://github.com/techytushar/nobbas_assignment
- Owner: techytushar
- Created: 2019-03-13T14:17:36.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-13T16:46:53.000Z (over 7 years ago)
- Last Synced: 2025-02-24T16:52:24.792Z (over 1 year ago)
- Language: Jupyter Notebook
- Size: 51.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nobbas_assignment
Solution to the Machine Learning Assignment for Internship at Nobbas Technologies
## My Approach
* I used Pandas module for data handling and cleaning since it comes with a large number of builtin functions.
* I loaded the provided datasets and observed the various features and values after which I found out that the `CSV 2` and `CSV 3` files were useless since they contained features with only `0` values.
* After that, I removed the various features which either contained lots of null values or were not very useful for making prediction.
* Then I converted various categorical features from text to numerical form.
* Then I trained various classification algorithms on the data and evaluated their performance.
## Observations
* Simple classification models such as Logisitic Regression and KNN fail to gain high accuracy.
* Ensemble models such as Random Forest and Ada Boost Classifier gives good accuracy, but as the size of dataset grows the training will become slower and also the performance will degrade.
* Classification using Neural Networks would be the best way, regardless of the type of data provided, because it would be able to take advantage of all the different features and also there are lots of hyperparameters to play with so they can be fine tuned to perform even better.
### How to run
* Python version >=3.5 supported
* Install the required modules using `pip3 install -r requirements.txt`
* Run the jupyter notebook using `jupyter notebook` command and open the `solution.ipynb`
### References
I referred to the official documentation of the modules to understand the usage of functions
**Pandas :** [https://pandas.pydata.org/pandas-docs/stable](https://pandas.pydata.org/pandas-docs/stable)
**Scikit Learn :** [https://scikit-learn.org/stable](https://scikit-learn.org/stable/)
**Matplotlib :** [https://matplotlib.org/3.0.3/index.html](https://matplotlib.org/3.0.3/index.html)