Advertisement
amu2002

churnmodelling ann

Nov 20th, 2023
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.51 KB | Source Code | 0 0
  1.  
  2. """
  3.  
  4. import pandas as pd
  5. import seaborn as sns
  6. import numpy as np
  7. import matplotlib.pyplot as plt
  8.  
  9. df = pd.read_csv("./emails.csv")
  10. df.shape
  11.  
  12. df.head()
  13.  
  14. x = df.drop(['Email No.','Prediction'],axis = 1)
  15.  
  16. y = df['Prediction']
  17.  
  18. x.shape
  19.  
  20. x.dtypes
  21.  
  22. set(x.dtypes)
  23.  
  24. sns.countplot(x = y);
  25.  
  26. y.value_counts()
  27.  
  28. from sklearn.preprocessing import MinMaxScaler
  29. scaler = MinMaxScaler()
  30. x_scaled = scaler.fit_transform(x)
  31.  
  32. x_scaled
  33.  
  34. from sklearn.model_selection import train_test_split
  35. x_train, x_test, y_train, y_test = train_test_split(x_scaled,y,random_state = 0, test_size = 0.25)
  36.  
  37. x_scaled.shape
  38.  
  39. x_train.shape
  40.  
  41. x_test.shape
  42.  
  43. from sklearn.neighbors import KNeighborsClassifier
  44.  
  45. knn = KNeighborsClassifier(n_neighbors=5)
  46.  
  47. knn.fit(x_train, y_train)
  48.  
  49. y_pred = knn.predict(x_test)
  50.  
  51. from sklearn.metrics import ConfusionMatrixDisplay, accuracy_score
  52. from sklearn.metrics import classification_report
  53.  
  54. ConfusionMatrixDisplay.from_predictions(y_test, y_pred)
  55.  
  56. y_test.value_counts()
  57.  
  58. accuracy_score(y_test, y_pred)
  59.  
  60. print(classification_report(y_test, y_pred))
  61.  
  62. error = []
  63. for k in range(1,41):
  64.  knn = KNeighborsClassifier(n_neighbors=k)
  65.  knn.fit(x_train, y_train)
  66.  pred = knn.predict(x_test)
  67.  error.append(np.mean(pred != y_test))
  68.  
  69. error
  70.  
  71. knn = KNeighborsClassifier(n_neighbors=1)
  72.  
  73. knn.fit(x_train, y_train)
  74.  
  75. y_pred = knn.predict(x_test)
  76.  
  77. Knn_accuracy = accuracy_score(y_test, y_pred)
  78. print(Knn_accuracy)
  79.  
  80. from sklearn.svm import SVC
  81. svm = SVC(kernel='linear')
  82.  
  83. svm.fit(x_train, y_train)
  84.  
  85. y_pred = svm.predict(x_test)
  86. LSVM = accuracy_score(y_test, y_pred)
  87. print(LSVM)
  88.  
  89. from sklearn.svm import SVC
  90. svm = SVC(kernel='rbf')
  91. svm.fit(x_train, y_train)
  92. y_pred = svm.predict(x_test)
  93. RBF_SVM = accuracy_score(y_test, y_pred)
  94. print(RBF_SVM)
  95.  
  96. svm = SVC(kernel='poly')
  97. svm.fit(x_train, y_train)
  98. y_pred = svm.predict(x_test)
  99. PolySVM = accuracy_score(y_test, y_pred)
  100. print(PolySVM)
  101.  
  102. from sklearn.svm import SVC
  103. svm = SVC(kernel='sigmoid')
  104. svm.fit(x_train, y_train)
  105. y_pred = svm.predict(x_test)
  106. Sigmoid_SVM = accuracy_score(y_test, y_pred)
  107. print(Sigmoid_SVM)
  108.  
  109. models = ["KNN", "Linear SVM", "Sigmoid SVM", "Polynomial SVM", "RBF SVM"]
  110. accuracy_scores = [Knn_accuracy, LSVM, Sigmoid_SVM, PolySVM, RBF_SVM]
  111.  
  112. plt.figure(figsize=(10, 6))
  113. sns.set(style="whitegrid")
  114. plt.bar(models, accuracy_scores, color='skyblue')
  115. plt.title('Accuracy Scores of Different Models')
  116. plt.xlabel('Machine Learning Model')
  117. plt.ylabel('Accuracy Score')
  118. plt.ylim(0, 1)
  119. plt.xticks(rotation=45)
  120. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement