Artificial Intelligence and Machine Learning
ISBN 9788119221196

Highlights

Notes

  

Chapter 11: Study of Python Flask Library

AdaBoostIrisModel

import pandas as pd

import pickle

ds = pd.read_csv(‘IrisNew.csv’)

ds.head()

X = ds.iloc[:,1:5]

y = ds.iloc[:,5]

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)

from sklearn.ensemble import AdaBoostClassifier

classifier = AdaBoostClassifier()

classifier.fit(X_train, y_train)

AdaBoostClassifier()

y_pred = classifier.predict(X_test)

from sklearn.metrics import accuracy_score, confusion_matrix

cf_matrix = confusion_matrix(y_test,y_pred)

cf_matrix

ac = accuracy_score(y_test,y_pred)

ac

0.9555555555555556

with open(‘modelIris.pkl’,’wb’) as file:

 pickle.dump(classifier, file)

Client App (Testing the Model)

import flask

from flask import Flask, request

import pickle

model_adaboost = pickle.load(open(‘modelIris.pkl’,’rb’))

app = Flask(__name__)

# Two parts (base address + route address)

@app.route(‘/’, methods = [‘GET’,’POST’])

def main():

 return “Ada Boost Flask API Development”

@app.route(‘/classify’, methods = [‘GET’])

def classify():

 if flask.request.method == ‘GET’:

  SepalLengthCm = request.args.get(‘sl’)

  SepalWidthCm = request.args.get(‘sw’)

  PetalLengthCm = request.args.get(‘pl’)

  PetalWidthCm = request.args.get(‘pw’)

  prediction = model_adaboost.predict([[SepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCm]])

  return ‘Class of species is ‘+str(prediction)

if __name__ == ‘__main__’:

 app.run()

Testing using Postman