############################ ## Rohini Pandhi ## ## Homework Assignment 1 ## ## Run File ## ## 01/09/2014 ## ############################ # Imports import argparse from hw1 import load_iris_data, cross_validate, knn, nb # Load Iris dataset (features, species, species_names) = load_iris_data() # Argument parse parser = argparse.ArgumentParser(description='Select KNN or Naive Bayes Classifier') parser.add_argument('-c', '--classifier', help='a classifier type: KNN or NB (if none selected, default will run both', required=False) args = parser.parse_args() try: if (args.classifier.upper() == "KNN"): classifier_list = [("KNN",knn)] elif (args.classifier.upper() == "NB"): classifier_list = [("Naive Bayes",nb)] except: classifier_list = [("KNN",knn), ("Naive Bayes",nb)] #using imported functions above # Loop through each tuple of the classifier list for (classifier_string, classifier_function) in classifier_list:
from hw1 import load_iris_data, cross_validate, knn, nb # Imports functions and opject definitions from hw1.py (iris_petal_measurements, iris_classes, iris_classnames) = load_iris_data() classfiers_to_cv = [("kNN", knn), ("Naive Bayes", nb)] for (c_label, classifer) in classfiers_to_cv: print print "---> %s <---" % c_label best_k = 0 best_cv_a = 0 foldsizes = [2, 3, 5, 10, 15, 30, 50, 75, 150] #These fold sizes are evenly divisible into the dataset intentionally for k_f in foldsizes: cv_a = cross_validate(iris_petal_measurements, iris_classes, classifer, k_fold=k_f) if cv_a > best_cv_a: best_cv_a = cv_a best_k = k_f print "foldsize <<%s>> :: test accuracy <<%s>>" % (k_f, cv_a) print "Highest Accuracy: fold <<%s>> :: <<%s>>" % (best_k, best_cv_a)
############################ ## Rohini Pandhi ## ## Homework Assignment 1 ## ## Run File ## ## 01/09/2014 ## ############################ # Imports import argparse from hw1 import load_iris_data, cross_validate, knn, nb # Load Iris dataset (features, species, species_names) = load_iris_data() # Argument parse parser = argparse.ArgumentParser( description='Select KNN or Naive Bayes Classifier') parser.add_argument( '-c', '--classifier', help= 'a classifier type: KNN or NB (if none selected, default will run both', required=False) args = parser.parse_args() try: if (args.classifier.upper() == "KNN"): classifier_list = [("KNN", knn)] elif (args.classifier.upper() == "NB"): classifier_list = [("Naive Bayes", nb)] except:
from hw1 import load_iris_data, cross_validate, knn, nb (XX,yy,y)=load_iris_data() classfiers_to_cv=[("kNN",knn),("Naive Bayes",nb)] for (c_label, classifer) in classfiers_to_cv : print print "---> %s <---" % c_label best_k=0 best_cv_a=0 for k_f in [2,3,5,10,15,30,50,75,150] : cv_a = cross_validate(XX, yy, classifer, k_fold=k_f) if cv_a > best_cv_a : best_cv_a=cv_a best_k=k_f print "fold <<%s>> :: acc <<%s>>" % (k_f, cv_a) print "Highest Accuracy: fold <<%s>> :: <<%s>>" % (best_k, best_cv_a)
from hw1 import load_iris_data, cross_validate, knn, nb # Imports functions and opject definitions from hw1.py (iris_petal_measurements,iris_classes,iris_classnames)=load_iris_data() classfiers_to_cv=[("kNN",knn),("Naive Bayes",nb)] for (c_label, classifer) in classfiers_to_cv : print print "---> %s <---" % c_label best_k=0 best_cv_a=0 foldsizes=[2,3,5,10,15,30,50,75,150] #These fold sizes are evenly divisible into the dataset intentionally for k_f in foldsizes : cv_a = cross_validate(iris_petal_measurements, iris_classes, classifer, k_fold=k_f) if cv_a > best_cv_a : best_cv_a=cv_a best_k=k_f print "foldsize <<%s>> :: test accuracy <<%s>>" % (k_f, cv_a) print "Highest Accuracy: fold <<%s>> :: <<%s>>" % (best_k, best_cv_a)