import pandas as pd
import numpy as np
from sklearn.datasets import load_digits
dig = load_digits()
import matplotlib.pyplot as pl
pl.gray()
for i in range(4):
ds = pd.DataFrame(dig.data)
ds.head()
ds[‘target’] = dig.target
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(ds.drop([‘target’], axis = ‘columns’), dig.target, test_size=0.2)
y_test
from sklearn.ensemble import RandomForestClassifier
rfmodel = RandomForestClassifier(n_estimators = 30)
rfmodel.fit(X_train, y_train)
RandomForestClassifier(n_estimators=30)
rfmodel.score(X_test, y_test)
0.9638888888888889
# Draw heatmap and confusion metrix
y_pred = rfmodel.predict(X_test)
y_pred
from sklearn.metrics import confusion_matrix
cf_matrix = confusion_matrix(y_test, y_pred)
cf_matrix
import seaborn as sns
sns.heatmap(cf_matrix, annot = True)
sns.heatmap(cf_matrix, annot = True, cmap = ‘Blues’, linewidths = 1)
import pandas as pd
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) # 70% training and 30% test
from sklearn.tree import DecisionTreeClassifier
dt_classifier = DecisionTreeClassifier()
dt_classifier.fit(X_train, y_train)
DecisionTreeClassifier()
y_pred = dt_classifier.predict(X_test)
from sklearn.metrics import confusion_matrix, accuracy_score
cf = confusion_matrix(y_test, y_pred)
cf
ac = accuracy_score(y_test, y_pred)
ac
0.9111111111111111
import pandas as pd
ds = pd.read_csv(“IrisNew.csv”)
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) # 70% training and 30% test
from sklearn.ensemble import BaggingClassifier
bagclassifier = BaggingClassifier()
bagclassifier.fit(X_train, y_train)
BaggingClassifier()
y_pred = bagclassifier.predict(X_test)
from sklearn.metrics import confusion_matrix, accuracy_score
bag_cs = confusion_matrix(y_test, y_pred)
bag_cs
bag_ac = accuracy_score(y_test, y_pred)
bag_ac
0.9333333333333333
import pickle
with open(‘bagModelIris.pkl’,’wb’) as file:
pickle.dump(bagclassifier, file)
import flask
from flask import Flask, request
model_bagging = pickle.load(open(‘bagModelIris.pkl’,’rb’))
app = Flask(__name__)
# Two parts (base address + route address)
@app.route(‘/’, methods = [‘GET’,’POST’])
def main():
return “Begging 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_bagging.predict([[SepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCm]])
return ‘Class of species is ‘+str(prediction)
if __name__ == ‘__main__’:
app.run()