|
| 1 | +‘‘‘Importing the function’’’ |
| 2 | +from sklearn import tree |
| 3 | +from sklearn.neural_network import MLPClassifier |
| 4 | +#import matplotlib.pyplot as plt |
| 5 | +from sklearn.naive_bayes import GaussianNB as p |
| 6 | +from sklearn.metrics import confusion_matrix |
| 7 | +from sklearn.neighbors import KNeighborsClassifier |
| 8 | +from sklearn.model_selection import cross_val_score |
| 9 | +from sklearn import svm |
| 10 | +import math |
| 11 | +import numpy as np |
| 12 | +import pandas as pd |
| 13 | + |
| 14 | +#‘‘‘K-Nearest Neighbors Function’’’ |
| 15 | + |
| 16 | + |
| 17 | +def KNN(x_training,y_training,x_testing,y_testing): |
| 18 | + print("\nKNN") |
| 19 | + clf=KNeighborsClassifier(n_neighbors=9) |
| 20 | + clf.fit(x_training,y_training) |
| 21 | + cvs=cross_val_score(clf,x_testing,y_testing,cv=5) |
| 22 | + result=clf.predict(x_testing) |
| 23 | + cmknn=confusion_matrix(y_testing,result) |
| 24 | + print("Confusion_Matrix\n\n",cmknn) |
| 25 | + print("Accuracy =",((cmknn[0][0]+cmknn[1][1])/len(y_testing))*100) |
| 26 | + print("Mean=",cvs.mean()) |
| 27 | + |
| 28 | +#‘‘‘NaiveB Function’’’ |
| 29 | + |
| 30 | +def NaiveB(x_training,y_training,x_testing,y_testing): |
| 31 | + print("\n\nNaiveBaysian") |
| 32 | + gnb=p() |
| 33 | + gnb.fit(x_training,y_training) |
| 34 | + y_pre=gnb.predict(x_testing) |
| 35 | + cm=confusion_matrix(y_testing,y_pre) |
| 36 | + print("Confusion_Matrix\n",cm) |
| 37 | + print("Accuracy=",((cm[0][0]+cm[1][1])/len(y_testing)*100)) |
| 38 | + |
| 39 | +#‘‘‘Decision Tree Function’’’ |
| 40 | + |
| 41 | +def DecisionTree(x_training,y_training,x_testing,y_testing): |
| 42 | + print("\n\nDecision Tree") |
| 43 | + clf=tree.DecisionTreeClassifier() |
| 44 | + clf=clf.fit(x_training,y_training) |
| 45 | + y_predict=clf.predict(x_testing) |
| 46 | + CM=confusion_matrix(y_testing,y_predict) |
| 47 | + accuracy=sum(CM.diagonal())/len(y_test) |
| 48 | + print("Confusion_Matrix\n",CM) |
| 49 | + print("Accuracy=",accuracy*100) |
| 50 | + |
| 51 | +#‘‘‘Artificial Neural Network Function’’’ |
| 52 | + |
| 53 | +def NeuralNetwork(x_training,y_training,x_testing,y_testing): |
| 54 | + print("\n\n Artificial Neural Network") |
| 55 | + |
| 56 | + clf = MLPClassifier(solver='lbfgs', alpha=1e- |
| 57 | + 5,hidden_layer_sizes=(5,3),random_state=1) #default hidden layer=100 |
| 58 | + |
| 59 | + clf.fit(x_training,y_training) #The default solver ‘adam’ works pretty well on |
| 60 | + relatively large datasets |
| 61 | + y_predict=clf.predict(x_testing) |
| 62 | + cm=confusion_matrix(y_testing,y_predict) |
| 63 | + print("Confusion matrix\n\n",cm) |
| 64 | + print("Accuracy=",sum(cm.diagonal())/len(x_testing)*100) |
| 65 | + |
| 66 | +#‘‘‘Support Vector Machine Function’’’ |
| 67 | + |
| 68 | +def SVM(x_training,y_training,x_testing,y_testing): |
| 69 | + print("\n\nSVM") |
| 70 | + clf = svm.SVC(gamma='auto') |
| 71 | + clf.fit(x_training,y_training) |
| 72 | + y_predict=clf.predict(x_testing) |
| 73 | + cm=confusion_matrix(y_testing,y_predict) |
| 74 | + print("Confusion matrix\n\n",cm) |
| 75 | + print("Accuracy=",sum(cm.diagonal())/len(x_testing)*100) |
| 76 | + |
| 77 | +#‘‘‘Algorithm’’’ |
| 78 | + |
| 79 | +def algorithm(x_train,y_train,x_test,y_test): |
| 80 | + acc=[] |
| 81 | + NaiveB(x_train,y_train,x_test,y_test,acc) |
| 82 | + KNN(x_train,y_train,x_test,y_test,acc) |
| 83 | + DecisionTree(x_train,y_train,x_test,y_test,acc) |
| 84 | + NeuralNetwork(x_train,y_train,x_test,y_test,acc) |
| 85 | + SVM(x_train,y_train,x_test,y_test,acc) |
| 86 | + |
| 87 | +#‘‘‘Importing csv file’’’ |
| 88 | + |
| 89 | +d=pd.read_csv("breast_cancer_weka_dataset.csv") |
| 90 | +c=d.copy() |
| 91 | +x_train=c.loc[:350,:"mitosis"] |
| 92 | +y_train=c.loc[:350,"class"] |
| 93 | +x_test=c.loc[350:,:"mitosis"] |
| 94 | +y_test=c.loc[350:,"class"] |
| 95 | + |
| 96 | +#‘‘‘Applying function’’’ |
| 97 | + |
| 98 | +NaiveB(x_train,y_train,x_test,y_test) |
| 99 | +KNN(x_train,y_train,x_test,y_test) |
| 100 | +DecisionTree(x_train,y_train,x_test,y_test) |
| 101 | +NeuralNetwork(x_train,y_train,x_test,y_test) |
| 102 | +SVM(x_train,y_train,x_test,y_test) |
0 commit comments