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)
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__’:
Testing using Postman