├── Bible-Verse-Prediction-ML-App ├── app.py ├── data │ ├── kjv_cleandata.csv │ └── kjvmindata.csv ├── models │ └── biblepredictionNV_model.pkl ├── static │ ├── css │ │ ├── custom.css │ │ ├── materialize.css │ │ └── materialize.min.css │ └── js │ │ ├── init.js │ │ ├── materialize.js │ │ └── materialize.min.js └── templates │ └── index.html ├── Bible-Verse-Prediction-Machine-Learning-App ├── app.py ├── data │ ├── kjv_cleandata.csv │ └── kjvmindata.csv ├── models │ └── biblepredictionNV_model.pkl ├── static │ ├── css │ │ ├── custom.css │ │ ├── materialize.css │ │ └── materialize.min.css │ └── js │ │ ├── init.js │ │ ├── materialize.js │ │ └── materialize.min.js └── templates │ └── index.html ├── Build-n-Deploy-Flask-App-with-Waypoint ├── Dockerfile ├── README.md ├── app │ ├── app.py │ └── templates │ │ ├── index.html │ │ ├── preview.html │ │ ├── previewer.html │ │ └── result.html ├── images │ ├── screenshot01.png │ ├── screenshot02.png │ └── screenshot03.png ├── requirements.txt ├── waypoint.hcl └── waypoint_tut_workflow_jcharistech2.png ├── Deploying ML Flask App to GCP ├── README.txt ├── app.yaml ├── main.py ├── requirements.txt └── templates │ ├── index.html │ └── results.html ├── DisplaCify_App-Using-Displacy-in-Flask ├── README.md ├── app.py ├── images │ ├── screenshot01.png │ ├── screenshot02.png │ └── screenshot03.png └── templates │ ├── index.html │ ├── preview.html │ ├── previewer.html │ └── result.html ├── Embedding-Machine-Learning-Into-Express.js App ├── FinalDataset.json ├── app.js ├── data.json ├── package.json └── views │ ├── index.ejs │ └── results.ejs ├── Gender-Classifier-ML-App-with-Flask + Bootstrap ├── app.py ├── data │ ├── Gender Classification of Names With Machine Learning.ipynb │ └── names_dataset.csv ├── models │ ├── decisiontreemodel.pkl │ └── naivebayesgendermodel.pkl ├── static │ └── css │ │ └── styles.css └── templates │ ├── index.html │ └── results.html ├── Gender-Classifier-ML-App-with-Flask + Bootstrap ├── app.py ├── data │ ├── Gender Classification of Names With Machine Learning.ipynb │ ├── gender_vectorizer.pkl │ ├── naivebayesgendermodel.pkl │ └── names_dataset.csv ├── models │ ├── decisiontreemodel.pkl │ └── naivebayesgendermodel.pkl ├── static │ └── css │ │ └── styles.css └── templates │ ├── index.html │ └── results.html ├── Iris-Species-Predictor-ML-Flask-App-With-Materialize.css ├── app.py ├── data │ ├── ML -Supervised Learning with Iris Dataset.ipynb │ ├── dtree_model_iris.pkl │ ├── iris.csv │ ├── knn_model_iris.pkl │ ├── logit_model_iris.pkl │ └── svm_model_iris.pkl ├── static │ └── imgs │ │ ├── iris_setosa.jpg │ │ ├── iris_versicolor.jpg │ │ └── iris_virginica.jpg └── templates │ ├── index.html │ └── preview.html ├── Iris_EDA_Web_App ├── README.md ├── app.py ├── imgs │ ├── iris_setosa.jpg │ ├── iris_versicolor.jpg │ └── iris_virginica.jpg ├── iris.csv ├── iris_app.py ├── iris_setosa.jpg └── screenshots │ ├── home1.png │ ├── home2.png │ ├── home3.png │ ├── iris_eda_app_streamlit_python_JcharisTech.png │ └── iris_eda_desc.png ├── NLP-Based Flask App with TextBlob(Main Points and Sentiment Analysis) ├── app.py └── templates │ └── index.html ├── NLPIffy_NLP_Based_SpaCy_Flask_App&_API ├── __pycache__ │ └── app.cpython-35.pyc ├── app.py ├── static │ ├── css │ │ └── custom.css │ └── images │ │ ├── logo_nlpiffy01.png │ │ ├── logo_nlpiffy02.png │ │ ├── logo_nlpiffy03.png │ │ ├── logo_nlpiffy04.png │ │ ├── nlpiffy.png │ │ └── nlpiffy2.png └── templates │ ├── about.html │ ├── images.html │ ├── index.html │ └── restfulapidocs.html ├── Nationality_n_Gender Predictor_ML-WebApp ├── README.md ├── app.py ├── data │ └── Predicting_Nationality_Ethnicity_with_Names_Using_ML │ │ ├── Names_Dataset.csv │ │ ├── Predicting Nationality of Individuals Using their Names with ML.ipynb │ │ ├── nationality_logit_model.pkl │ │ └── nationality_nv_model.pkl ├── images │ ├── image1.png │ └── image2.png ├── models │ ├── gender_vectorizer.pkl │ ├── naivebayesgendermodel.pkl │ ├── nationality_logit_model.pkl │ ├── nationality_nv_model.pkl │ └── nationality_vectorizer.pkl ├── refactored_app.py └── templates │ ├── gender.html │ └── index.html ├── README.md ├── Semi-Automated-Machine-Learning-Flask-App(Drag-&-Drop-Dataset) ├── Completed-Semi-Automated-ML-Flask-App-With Drag-&-Drop │ ├── app.py │ ├── app.pyc │ ├── static │ │ └── uploadsDB │ │ │ ├── filestorage.db │ │ │ ├── iris.csv │ │ │ └── pima-indians-diabetes.csv │ └── templates │ │ ├── details.html │ │ └── index.html └── Start- Semi-Automated-ML │ ├── app.py │ └── templates │ ├── details.html │ └── index.html ├── Serving_ML_Models_as_API_with_FastAPI ├── README.md ├── app.py ├── images │ ├── fastapi_tutorial_jcharistech01.png │ ├── fastapi_tutorial_jcharistech03.png │ ├── fastapi_tutorial_jcharistech04.png │ └── fastapi_tutorial_jcharistech06.png └── models │ ├── __init__.py │ ├── gender_nv_model.pkl │ └── gender_vectorizer.pkl ├── SpamDetector_ML_Package ├── README.md ├── Spam Detection with ML.ipynb ├── data │ └── spamdataset.csv ├── models │ ├── spam_detector_logit_model.pkl │ ├── spam_detector_nb_model.pkl │ ├── spam_detector_rf_model.pkl │ └── spam_vectorizer.pkl └── spamdetector │ ├── README.rst │ ├── poetry.lock │ ├── pyproject.toml │ ├── spamdetector │ ├── __init__.py │ ├── models │ │ ├── spam_detector_logit_model.pkl │ │ ├── spam_detector_nb_model.pkl │ │ ├── spam_detector_rf_model.pkl │ │ └── spam_vectorizer.pkl │ └── spamdetector.py │ └── tests │ ├── __init__.py │ └── test_spamdetector.py ├── Summaryzer_Text_Summarization_App ├── __pycache__ │ └── spacy_summarization.cpython-36.pyc ├── app.py ├── imagesforapp │ ├── Screenshot from 2019-01-02 16-41-28.png │ ├── Screenshot from 2019-01-02 16-42-12.png │ ├── Screenshot from 2019-01-02 16-43-05.png │ ├── Screenshot from 2019-01-02 16-43-22.png │ ├── Screenshot from 2019-01-02 16-44-13.png │ ├── Screenshot from 2019-01-02 16-44-37.png │ └── Screenshot from 2019-01-02 16-46-54.png ├── nltk_summarization.py ├── nltk_summarization.pyc ├── requirements.txt ├── spacy_summarization.py ├── spacy_summarization.pyc ├── spacy_summarizer.py ├── static │ ├── css │ │ ├── custom.css │ │ ├── materialize.css │ │ └── materialize.min.css │ └── js │ │ ├── init.js │ │ ├── materialize.js │ │ └── materialize.min.js └── templates │ ├── compare_summary.html │ └── index.html ├── Youtube-Spam-Detector-ML-Flask-App ├── YoutubeSpamMergedData.csv ├── app.py ├── data │ ├── .ipynb_checkpoints │ │ └── TextClassification-checkpoint.ipynb │ ├── TextClassification.ipynb │ ├── Youtube01-Psy.csv │ ├── Youtube02-KatyPerry.csv │ ├── Youtube03-LMFAO.csv │ ├── Youtube04-Eminem.csv │ ├── Youtube05-Shakira.csv │ ├── YoutubeSpamMergeddata.csv │ └── naivebayes_spam_model.pkl ├── static │ └── css │ │ └── styles.css └── templates │ ├── home.html │ └── result.html └── gender_classifier_mlapp_with_streamlit ├── README.md ├── app.py ├── female.png ├── icon.css ├── images ├── gc_app01.png ├── gc_app02.png └── gc_app04.png ├── male.png └── models ├── gender_vectorizer.pkl └── naivebayesgendermodel.pkl /Bible-Verse-Prediction-ML-App/app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask,render_template,request,url_for 2 | import pandas as pd 3 | import numpy as np 4 | 5 | # ML Packages 6 | from sklearn.feature_extraction.text import CountVectorizer 7 | from sklearn.externals import joblib 8 | 9 | # NLP 10 | from textblob import TextBlob 11 | 12 | app = Flask(__name__) 13 | 14 | 15 | @app.route('/') 16 | def index(): 17 | return render_template('index.html') 18 | 19 | 20 | @app.route('/predict',methods=["GET","POST"]) 21 | def predict(): 22 | df= pd.read_csv("data/kjvmindata.csv") 23 | # Features and Labels 24 | df_X = df.text 25 | df_Y = df.label 26 | 27 | # Vectorization 28 | corpus = df_X 29 | cv = CountVectorizer() 30 | X = cv.fit_transform(corpus) 31 | 32 | naivebayes_model = open("models/biblepredictionNV_model.pkl","rb") 33 | clf = joblib.load(naivebayes_model) 34 | 35 | if request.method == 'POST': 36 | raw_text = request.form['rawtext'] 37 | data = [raw_text] 38 | vect = cv.transform(data).toarray() 39 | my_prediction = clf.predict(vect) 40 | pred_score = clf.predict_proba(vect) 41 | nlp_text = TextBlob(raw_text) 42 | text_sentiment = nlp_text.sentiment.polarity 43 | verse_sentiment = text_sentiment 44 | 45 | return render_template('index.html',prediction=my_prediction,pred_score=pred_score,verse_sentiment=verse_sentiment,raw_text=raw_text) 46 | 47 | 48 | if __name__ == '__main__': 49 | app.run(debug=True) 50 | 51 | -------------------------------------------------------------------------------- /Bible-Verse-Prediction-ML-App/models/biblepredictionNV_model.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jcharis/Machine-Learning-Web-Apps/a6996b634d98ccec4701ac8934016e8175b60eb5/Bible-Verse-Prediction-ML-App/models/biblepredictionNV_model.pkl -------------------------------------------------------------------------------- /Bible-Verse-Prediction-ML-App/static/css/custom.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | nav ul a, 10 | nav .brand-logo { 11 | color: #444; 12 | } 13 | 14 | p { 15 | line-height: 2rem; 16 | } 17 | 18 | .sidenav-trigger { 19 | color: #26a69a; 20 | } 21 | 22 | .parallax-container { 23 | min-height: 380px; 24 | line-height: 0; 25 | height: auto; 26 | color: rgba(255,255,255,.9); 27 | } 28 | .parallax-container .section { 29 | width: 100%; 30 | } 31 | 32 | @media only screen and (max-width : 992px) { 33 | .parallax-container .section { 34 | position: absolute; 35 | top: 40%; 36 | } 37 | #index-banner .section { 38 | top: 10%; 39 | } 40 | } 41 | 42 | @media only screen and (max-width : 600px) { 43 | #index-banner .section { 44 | top: 0; 45 | } 46 | } 47 | 48 | .icon-block { 49 | padding: 0 15px; 50 | } 51 | .icon-block .material-icons { 52 | font-size: inherit; 53 | } 54 | 55 | footer.page-footer { 56 | margin: 0; 57 | } 58 | -------------------------------------------------------------------------------- /Bible-Verse-Prediction-ML-App/static/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.sidenav').sidenav(); 5 | $('.parallax').parallax(); 6 | // TABS INIT 7 | $('.tabs').tabs(); 8 | // CAROUSEL INIT 9 | $('.carousel.carousel-slider').carousel({ fullWidth: true }); 10 | // SLIDER INIT 11 | $('.slider').slider({ 12 | indicators: false, 13 | // we don't want the little dots to show 14 | height: 500, 15 | transition: 500, 16 | interval: 6000 17 | // how long the slide stays for 18 | }); 19 | 20 | 21 | }); // end of document ready 22 | })(jQuery); // end of jQuery name space 23 | 24 | 25 | -------------------------------------------------------------------------------- /Bible-Verse-Prediction-ML-App/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |Your Verse was : {{ raw_text }}
91 |Testament of the Bible
120 | {% if prediction == 0 %} 121 | 122 | {% elif prediction == 1 %} 123 | 124 | {%endif%} 125 |Score:{{ pred_score }}
126 |Verse Sentiment
130 | 131 | 132 | 133 | 134 |