Skip to content

Instantly share code, notes, and snippets.

@charanquartz
Created November 19, 2022 05:36
Show Gist options
  • Save charanquartz/be2abb58ae41680c84f9c8a0e88376b3 to your computer and use it in GitHub Desktop.
Save charanquartz/be2abb58ae41680c84f9c8a0e88376b3 to your computer and use it in GitHub Desktop.
import pandas as pd
import pickle
from sklearn.linear_model import LogisticRegression
from sklearn import svm
import matplotlib.pyplot as plt
df=pd.read_csv('marks.csv')
df.info()
df.isnull().sum()
df.describe()
df.dropna(axis=0,inplace=True)
df['gender'] = df['gender'].map({'male': 1 ,'female': 2})
cdf = df[['gender','internalmarks','internalmarks1','internalmarks2','study_hours','externalmarks']]
x = cdf.iloc[:, :5]
y = cdf.iloc[:, -1]
from sklearn.linear_model import LinearRegression
linearRegression = LinearRegression()
linearRegression.fit(x, y)
lracc = linearRegression.score(x,y)
from sklearn.tree import DecisionTreeRegressor
model = DecisionTreeRegressor(random_state=44)
model.fit(x, y)
dtacc = model.score(x,y)
from sklearn.svm import SVR
SVM = SVR()
SVM.fit(x, y)
SVMacc =SVM.score(x, y)
print(model.predict([[2,69,90,88,6.56]]))
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(x, y, random_state=0, test_size=0.3, shuffle=False)
SVM.score(X_train, y_train)
svm_acc=round(SVM.score(x,y), 4)
data = {'LinearRegression':lracc*100, 'SVC':SVMacc*100, 'DecisionTree':dtacc*100}
courses = list(data.keys())
values = list(data.values())
fig = plt.figure(figsize = (10, 5))
# creating the bar plot
plt.bar(courses, values, color =['black', 'red', 'green', 'cyan'],
width = 0.4)
plt.xlabel("Algorithm")
plt.ylabel("Accuracy")
plt.title("Accuracy of Algorithms")
plt.show()
file= open('my_modell.pkl','wb')
pickle.dump(model,file,protocol=2)
from flask import Flask, request, render_template
import pickle
import numpy as np
model = pickle.load(open('my_model.pkl', 'rb'))
app = Flask(__name__)
@app.route('/')
def hello():
return render_template("Hoome.html")
@app.route('/predict', methods=['POST'])
def home():
data1 = 1
data2 = request.form['a']
data3 = request.form['b']
data4 = request.form['c']
data5 = request.form['d']
arr = np.array([[data1, data2, data3, data4, data5]])
pred = model.predict(arr)
return render_template('After.html', pred=pred)
if __name__ == "__main__":
app.run(debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment