All Projects → ritabratamaiti → ASD-ML-API

ritabratamaiti / ASD-ML-API

Licence: MIT license
This project has 3 goals: To find out the best machine learning pipeline for predicting ASD cases using genetic algorithms, via the TPOT library. (Classification Problem) Compare the accuracy of the accuracy of the determined pipeline, with a standard Naive-Bayes classifier. Saving the classifier as an external file, and use this file in a Flask…

Programming Languages

Rich Text Format
576 projects
Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ASD-ML-API

Python-Machine-Learning-Fundamentals
D-Lab's 6 hour introduction to machine learning in Python. Learn how to perform classification, regression, clustering, and do model selection using scikit-learn and TPOT.
Stars: ✭ 46 (+228.57%)
Mutual labels:  scikit-learn, tpot
RobustPCA
No description or website provided.
Stars: ✭ 15 (+7.14%)
Mutual labels:  scikit-learn
Movie-Recommendation-Chatbot
Movie Recommendation Chatbot provides information about a movie like plot, genre, revenue, budget, imdb rating, imdb links, etc. The model was trained with Kaggle’s movies metadata dataset. To give a recommendation of similar movies, Cosine Similarity and TFID vectorizer were used. Slack API was used to provide a Front End for the chatbot. IBM W…
Stars: ✭ 33 (+135.71%)
Mutual labels:  scikit-learn
sklearn-matlab
Machine learning in Matlab using scikit-learn syntax
Stars: ✭ 27 (+92.86%)
Mutual labels:  scikit-learn
hub
Public reusable components for Polyaxon
Stars: ✭ 8 (-42.86%)
Mutual labels:  scikit-learn
scitime
Training time estimation for scikit-learn algorithms
Stars: ✭ 119 (+750%)
Mutual labels:  scikit-learn
self-propelled-satellites
The system is formed by self-propelled satellites influenced by the Sun whose objective is not to leave the domain maintaining the maximum possible speed.
Stars: ✭ 18 (+28.57%)
Mutual labels:  genetic-algorithm
Drowsy
💤🖌️ AI making tiny Bitsy video games. Features an experimental generative structure inspired by GANs and Genetic Algorithms
Stars: ✭ 19 (+35.71%)
Mutual labels:  genetic-algorithm
introduction-to-neural-networks
No description or website provided.
Stars: ✭ 23 (+64.29%)
Mutual labels:  scikit-learn
scikit-learn-intelex
Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application
Stars: ✭ 887 (+6235.71%)
Mutual labels:  scikit-learn
scikit-hyperband
A scikit-learn compatible implementation of hyperband
Stars: ✭ 68 (+385.71%)
Mutual labels:  scikit-learn
Trajectory-Analysis-and-Classification-in-Python-Pandas-and-Scikit-Learn
Formed trajectories of sets of points.Experimented on finding similarities between trajectories based on DTW (Dynamic Time Warping) and LCSS (Longest Common SubSequence) algorithms.Modeled trajectories as strings based on a Grid representation.Benchmarked KNN, Random Forest, Logistic Regression classification algorithms to classify efficiently t…
Stars: ✭ 41 (+192.86%)
Mutual labels:  scikit-learn
face rating
Face/Beauty Rating with both the traditional ML approaches and Convolutional Neural Network Approach
Stars: ✭ 68 (+385.71%)
Mutual labels:  scikit-learn
logtoes
Demo of Asynchronous pattern (worker) using Python Flask & Celery
Stars: ✭ 49 (+250%)
Mutual labels:  flask-api
NSGAII.jl
A NSGA-II implementation in Julia
Stars: ✭ 18 (+28.57%)
Mutual labels:  genetic-algorithm
AI-Programming-using-Python
This repository contains implementation of different AI algorithms, based on the 4th edition of amazing AI Book, Artificial Intelligence A Modern Approach
Stars: ✭ 43 (+207.14%)
Mutual labels:  genetic-algorithm
PredictionAPI
Tutorial on deploying machine learning models to production
Stars: ✭ 56 (+300%)
Mutual labels:  scikit-learn
CreditCard Fraud Detection
利用Logistic回归实现信用卡欺诈检测
Stars: ✭ 31 (+121.43%)
Mutual labels:  scikit-learn
emoji-prediction
🤓🔮🔬 Emoji prediction from a text using machine learning
Stars: ✭ 41 (+192.86%)
Mutual labels:  scikit-learn
bayarea-2019-scikit-sprint
Bay Area WiMLDS scikit-learn open source sprint (Nov 2, 2019)
Stars: ✭ 16 (+14.29%)
Mutual labels:  scikit-learn

ASD_Detect

This Android App is used to demonstrate RapidML's use cases. It was created using the RapidML Python library for web API creation, and Thunkable for android app creation.

Cite Us! DOI

RapidML logo Scikit-learn Logo

How to use:

  1. Download the APK (ASD_Detection_Application.apk) file on you computer
  2. Transfer the APK to your Android device
  3. Navigate to the directory where the APK file was transferred to, but on your Android device.
  4. Click on the APK file. Now, if you haven't installed a file from external sources before, you may have to turn on your device's developer mode
  5. After this, the APK file will install.

App Icon

6. Open the app, and then fill in the required questionnaire fields.

Questionnaire

7. The app will then use RapidML's cloud machine learning to perform a prediction and produce a test diagnosis.

Results

*Note that this application is used only for showcasing RapidML's potential and is not to be used in any manner for real medical diagnosis. For actual ASD (Autism Spectrum Disorder) diagnosis, consult a medical professional.

ASD prediction API

Hi!

I am Ritabrata Maiti, the creator of the ASD ML API. Find me on LinkedIn here

This project uses the pythonanywhere hosting service to host the API, and run the machine learning model in the cloud. The free tier allows you to host only one web-app (such as a python API), at any given time. However, upto 20 web-apps (APIs) can be hosted by upgrading to the paid tiers. If you consider upgradation, follow this link: https://www.pythonanywhere.com/?affiliate_id=003915da Do note that this is an affiliate link =)

Note: ASD refers to Autism Spectrum Disorder

Application Demo:

Using the same API, I have built an android application which serves as an user friendly tool that can be used by caretakers, doctors and patients to determine an ASD case. The application, as well as the Thunkable source (.aia) file can be found here.

Note: This app was built on Thunkable; due to the Hybrid nature of the app, the google form in the initial screen may load slowly(because of embedded webviewer). Your patience is appreciated ^_^

This project has 3 goals:

  1. To find out the best machine learning pipeline for predicting ASD cases using genetic algorithms, via the RapidML library. (Classification Problem)
  2. Compare the accuracy of the accuracy of the determined pipeline, with a standard Naive-Bayes classifier.
  3. Saving the classifier as an external file, and use this file in a Flask API to make predictions in the cloud.

The first 2 goals are achieved via the Builder_Script.py, which cleans the datasets, performs label encoding and finds the best-fitted classifier pipeline using genetic algorithms from the TPOT library. Furthermore, the builder script produces the files d, df, clf,dt and f.

  • d: This file contains the pickled dictionary used to label-encode the database.
  • df: The file contains the pickled skeletal dictionary of the original database.
  • clf: This file contains the pickled classifier pipeline that has the highest accuracy, determined via genetic algorithms.
  • f: This file contains a dummy row, as initial input that is later utilized by the API script.
  • dt: This is an array storing the data-types of the DataFrame coloumns.

The final goal, implementing the flask API, is achieved by the helper and API scripts. The helper script reads the files created by the builder and uses the saved models to predict an output, from the input obtained from the API request. The API script handles the actual requests and calls the helper script to predict and return an output.

In order to build the project on your own, you require:

In order to deploy our flask app to the cloud, we use a service called pythonanywhere. At its free tier, it allows one python web app per account. For hosting upto 20 Python web apps or APIs, upgrade your acount here: https://www.pythonanywhere.com/?affiliate_id=003915da

In the files-tab create a new directory, and upload the files d, df, clf, f as well as the API and the helper scripts. Then create a new web application in the web apps tab and create a new virtualenv as well, and link it to the web app. My instructions are compact, and I highly recommend you check this official guide

Note: Before you deploy your web app, go to the directory: /home/"username"/.virtualenvs/"virtualenvname"/bin and delete the file: no-global-site-packages.txt

This allows the web app to use external libraries outside the vitualenv, and proceeding without the above modifications causes a glitch/error.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].