Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- import pandas as pd
- import seaborn as sns
- import numpy as np
- import matplotlib.pyplot as plt
- df = pd.read_csv("./emails.csv")
- df.shape
- df.head()
- x = df.drop(['Email No.','Prediction'],axis = 1)
- y = df['Prediction']
- x.shape
- x.dtypes
- set(x.dtypes)
- sns.countplot(x = y);
- y.value_counts()
- from sklearn.preprocessing import MinMaxScaler
- scaler = MinMaxScaler()
- x_scaled = scaler.fit_transform(x)
- x_scaled
- from sklearn.model_selection import train_test_split
- x_train, x_test, y_train, y_test = train_test_split(x_scaled,y,random_state = 0, test_size = 0.25)
- x_scaled.shape
- x_train.shape
- x_test.shape
- from sklearn.neighbors import KNeighborsClassifier
- knn = KNeighborsClassifier(n_neighbors=5)
- knn.fit(x_train, y_train)
- y_pred = knn.predict(x_test)
- from sklearn.metrics import ConfusionMatrixDisplay, accuracy_score
- from sklearn.metrics import classification_report
- ConfusionMatrixDisplay.from_predictions(y_test, y_pred)
- y_test.value_counts()
- accuracy_score(y_test, y_pred)
- print(classification_report(y_test, y_pred))
- error = []
- for k in range(1,41):
- knn = KNeighborsClassifier(n_neighbors=k)
- knn.fit(x_train, y_train)
- pred = knn.predict(x_test)
- error.append(np.mean(pred != y_test))
- error
- knn = KNeighborsClassifier(n_neighbors=1)
- knn.fit(x_train, y_train)
- y_pred = knn.predict(x_test)
- Knn_accuracy = accuracy_score(y_test, y_pred)
- print(Knn_accuracy)
- from sklearn.svm import SVC
- svm = SVC(kernel='linear')
- svm.fit(x_train, y_train)
- y_pred = svm.predict(x_test)
- LSVM = accuracy_score(y_test, y_pred)
- print(LSVM)
- from sklearn.svm import SVC
- svm = SVC(kernel='rbf')
- svm.fit(x_train, y_train)
- y_pred = svm.predict(x_test)
- RBF_SVM = accuracy_score(y_test, y_pred)
- print(RBF_SVM)
- svm = SVC(kernel='poly')
- svm.fit(x_train, y_train)
- y_pred = svm.predict(x_test)
- PolySVM = accuracy_score(y_test, y_pred)
- print(PolySVM)
- from sklearn.svm import SVC
- svm = SVC(kernel='sigmoid')
- svm.fit(x_train, y_train)
- y_pred = svm.predict(x_test)
- Sigmoid_SVM = accuracy_score(y_test, y_pred)
- print(Sigmoid_SVM)
- models = ["KNN", "Linear SVM", "Sigmoid SVM", "Polynomial SVM", "RBF SVM"]
- accuracy_scores = [Knn_accuracy, LSVM, Sigmoid_SVM, PolySVM, RBF_SVM]
- plt.figure(figsize=(10, 6))
- sns.set(style="whitegrid")
- plt.bar(models, accuracy_scores, color='skyblue')
- plt.title('Accuracy Scores of Different Models')
- plt.xlabel('Machine Learning Model')
- plt.ylabel('Accuracy Score')
- plt.ylim(0, 1)
- plt.xticks(rotation=45)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement