#Evaluate Some Algorithms using IRIS dataset #Program from pandas import read_csv from sklearn.model_selection import train_test_split from sklearn.model_selection import KFold from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.naive_bayes import GaussianNB from sklearn.svm import SVC import warnings warnings.simplefilter("ignore") # Load dataset filename = 'iris_data.csv' names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class'] dataset = read_csv(filename, names=names) # Split-out validation dataset array = dataset.values X = array[:,0:4] Y = array[:,4] validation_size = 0.20 seed = 7 X_train, X_validation, Y_train, Y_validation = train_test_split(X, Y, test_size=validation_size, random_state=seed) #Spot-Check Algorithms models = [] models.append(('LR - Logistic Regression ', LogisticRegression())) models.append(('LDA - LinearDiscriminantAnalysis ', LinearDiscriminantAnalysis())) models.append(('KNN - K Neighbors Classifier ', KNeighborsClassifier())) models.append(('CART- DecisionTree Classifier ', DecisionTreeClassifier())) models.append(('NB - NaiveBayesian Classifier ', GaussianNB())) models.append(('SVM - Support vector machines ', SVC())) # evaluate each model in turn results = [] names = [] print('Dataset: Iris') print('Evaluation using k-fold cross validation (k=10)' ) print('Method\t\t\t\t', ' Accuracy-Mean' , ' Accuracy-Standard deviation') for name, model in models: kfold = KFold(n_splits=10, random_state=seed) cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, scoring='accuracy') results.append(cv_results) names.append(name) msg = "%s:\t%f (%f)" % (name, cv_results.mean(), cv_results.std()) print(msg) #Output # #Dataset: Iris #Evaluation using k-fold cross validation (k=10) #Method Accuracy-Mean Accuracy-Standard deviation #LR - Logistic Regression : 0.966667 (0.040825) #LDA - LinearDiscriminantAnalysis : 0.975000 (0.038188) #KNN - K Neighbors Classifier : 0.983333 (0.033333) #CART- DecisionTree Classifier : 0.966667 (0.040825) #NB - NaiveBayesian Classifier : 0.975000 (0.053359) #SVM - Support vector machines : 0.991667 (0.025000)