|
|
|
!pip install huggingface_hub |
|
!pip install transformers |
|
!pip install transformers[torch] |
|
!pip install datasets |
|
!pip install skops |
|
!pip install streamlit |
|
from datasets import load_dataset, load_dataset_builder |
|
import numpy as np |
|
import matplotlib.pyplot as plt |
|
import pandas as pd |
|
import sklearn |
|
from sklearn.model_selection import train_test_split |
|
from sklearn.preprocessing import StandardScaler |
|
from sklearn.linear_model import LogisticRegression |
|
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, accuracy_score, precision_score, recall_score, classification_report |
|
from transformers import Trainer, TrainingArguments |
|
from skops import hub_utils |
|
import pickle |
|
from skops.card import Card, metadata_from_config |
|
from pathlib import Path |
|
from tempfile import mkdtemp, mkstemp |
|
import streamlit as st |
|
from PIL import Image |
|
|
|
|
|
dataset_name = "saifhmb/social-network-ads" |
|
dataset = load_dataset(dataset_name, split = 'train') |
|
dataset = pd.DataFrame(dataset) |
|
X = dataset.iloc[:, :-1].values |
|
y = dataset.iloc[:, -1].values |
|
|
|
|
|
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0) |
|
|
|
|
|
sc = StandardScaler() |
|
X_train = sc.fit_transform(X_train) |
|
X_test = sc.transform(X_test) |
|
|
|
|
|
model = LogisticRegression() |
|
model.fit(X_train, y_train) |
|
|
|
|
|
y_pred = model.predict(X_test) |
|
|
|
|
|
cm = confusion_matrix(y_pred, y_test, labels=model.classes_) |
|
disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=model.classes_) |
|
disp.plot() |
|
plt.show() |
|
acc = accuracy_score(y_test, y_pred) |
|
ps = precision_score(y_test, y_pred) |
|
rs = recall_score(y_test, y_pred) |
|
|
|
|
|
pickle_out = open("model.pkl", "wb") |
|
pickle.dump(model, pickle_out) |
|
pickle_out.close() |
|
|
|
|
|
pickle_in = open('model.pkl', 'rb') |
|
model = pickle.load(pickle_in) |
|
|
|
def welcome(): |
|
return 'welcome all' |
|
|
|
|
|
def prediction(Age, EstimatedSalary): |
|
prediction = model.predict.sc.transform([[Age, EstimatedSalary]]) |
|
print(prediction) |
|
return prediction |
|
|
|
|
|
def main(): |
|
|
|
st.title("Customer Vehicle Purchase Prediction") |
|
|
|
Age = st.text_input("Age", "Type Here") |
|
EstimatedSalary = st.text_input("EstimatedSalary", "Type Here") |
|
result = "" |
|
if st.button("Predict"): |
|
result = prediction(Age, EstimatedSalary) |
|
|
|
st.success('The output is {}'.format(result)) |
|
|
|
if __name__=='__main__': |
|
main() |
|
|