Question
Python 3 Coding for nearest neighbor- Step by step would be awesome The learning will be done by reading training examples stored in a csv
Python 3 Coding for nearest neighbor- Step by step would be awesome
The learning will be done by reading training examples stored in a csv file. These are:
1. sepal length in cm
2. sepal width in cm
3. petal length in cm
4. petal width in cm
5. class:
Iris Setosa
Iris Versicolor
Iris Virginica
To see how well the program learned, you will then load a file containing testing examples, which will include the same type of information, but for different instances. For each test instance, you will apply the Nearest Neighbor algorithm to classify the instance. This algorithm works by choosing a class label of the closest training example, where closest means shortest distance (using distance formula).
After you finish classifying each testing instance, you will then need to compare it to the true label that is specified for each example and compute the accuracy.
Accuracy is measured as the number of correctly classified instances divided by the number of total testing instances.
Requirements
You are to create a program in Python that performs the following:
1. Loads and parses the training and testing dataset files into separate
NumPy ndarrays. Given what you know, the easiest way to do this is to create four separate arrays:
2D array of floats for storing training example attribute values
2D array of floats for storing testing example attribute values
1D array of strings for storing training example class labels
1D array of strings for storing testing example class labels
You can assume there are exactly 4 attribute values in the training and testing examples.
2. Classifies each testing example. You also need to output the true and predicted class label to the screen and save it into a new 1D array of strings. This is done by iterating over the array of testing examples and computing the index of the closest training example. Then copying over the class label of the found training example into the new 1D array containing the predicted labels for the corresponding index.
3. Computes the accuracy. Go through the array of class labels for testing examples and compare the label stored in the array created in step (2). Count how many matches you get. Output the number of matches, divided by the number of testing examples as a percentage.
Additional Requirements
1. The name of your source code file should be NearestNeighbor.py. All your code should be within a single file.
2. YOU CANNOT IMPORT ANY PACKAGES EXCEPT FOR NumPy
3. Your code should follow good coding practices, including good use of whitespace and use of both inline and block comments.
4. You need to use meaningful identifier names that conform to standard naming conventions.
5. At the top of each file, you need to put in a block comment with the following information: your name, date, course name, semester, and assignment name.
6. The output of your program should exactly match the sample program output given at the end.
Sample Output:
IRIS TRAINING DATA
IRIS TESTING DATA
PROGRAMMING ASSIGNMENT #3 #, True, Predicted 1,Iris-setosa, Iris-setosa 2,Iris-setosa, Iris-setosa 3,Iris-setosa, Iris-setosa 4,Iris-setosa, Iris-setosa 5,Iris-setosa, Iris-setosa 6,Iris-setosa, Iris-setosa 7, Iris-setosa, Iris-setosa 8,Iris-setosa, Iris-setosa 9,Iris-setosa, Iris-setosa 10, Iris-setosa,Iris-setosa 11, Iris-setosa, Iris-setosa 12,Iris-setosa,Iris-setosa 13, Iris-setosa,Iris-setosa 14,Iris-setosa, Iris-setosa 15, Iris-setosa, Iris-setosa 16, Iris-setosa, Iris-setosa 17, Iris-setosa, Iris-setosa 18, Iris-setosa,Iris-setosa 19, Iris-setosa, Iris-setosa 20, Iris-setosa,Iris-setosa 21,Iris-setosa, Iris-setosa 22,Iris-setosa, Iris-setosa 23, Iris-setosa, Iris-setosa 24, Iris-setosa, Iris-setosa 25, Iris-setosa, Iris-setosa 26, Iris-versicolor, Iris-versicolor 27, Iris-versicolor, Iris-versicolor 28, Iris-versicolor, Iris-versicolor 29, Iris-versicolor, Iris-versicolor 30, Iris-versicolor,Iris-versicolor 31,Iris-versicolor, Iris-versicolor 32,Iris-versicolor, Iris-versicolor 33, Iris-versicolor, Iris-versicolor 34,Iris-versicolor, Iris-versicolor 35, Iris-versicolor, Iris-versicolor 36,Iris-versicolor, Iris-versicolor 37, Iris-versicolor, Iris-versicolor 38, Iris-versicolor, Iris-versicolor 39,Iris-versicolor, Iris-versicolor 40,Iris-versicolor, Iris-versicolor 41,Iris-versicolor, Iris-versicolor 42,Iris-versicolor, Iris-versicolor 43, Iris-versicolor, Iris-versicolor 44, Iris-versicolor, Iris-versicolor 45, Iris-versicolor, Iris-versicolor 46,Iris-versicolor, Iris-virginica 47, Iris versicolor, Iris versicolor 48, Iris-versicolor, Iris-virginica 49,Iris-versicolor, Iris-versicolor 50, Iris-versicolor, Iris-versicolor 51,Iris virginica, Iris virginica 52,Iris-virginica, Iris-virginica 53,Iris-virginica, Iris-virginica 54,Iris-virginica, Iris-virginica 55, Iris-virginica, Iris-virginica 56,Iris-virginica, Iris-virginica 57,Iris-virginica, Iris-versicolor 58,Iris-virginica, Iris-virginica 59,Iris-virginica, Iris-virginica 60,Iris-virginica, Iris-virginica 61,Iris-virginica, Iris-virginica 62,Iris-virginica, Iris-virginica 63,Iris-virginica, Iris-virginica 64,Iris-virginica, Iris-virginica 65,Iris virginica, Iris virginica 66,Iris-virginica, Iris-virginica 67,Iris-virginica, Iris-virginica 68,Iris-virginica, Iris-virginica 69,Iris-virginica, Iris-virginica 70,Iris-virginica, Iris-versicolor 71,Iris-virginica, Iris-virginica 72,Iris-virginica, Iris-virginica 73, Iris-virginica, Iris-virginica 74,Iris-virginica, Iris-virginica 75,Iris-virginica, Iris-virginica Accuracy: 94.67% iris-training-data 5.0 3.0 1.6 0.2 Iris-setosa 5.0 3.4 1.6 0.4 Iris-setosa 5.2 3.5 1.5 0.2 Iris-setosa 5.2 3.4 1.4 0.2 Iris-setosa 4.7 3.2 1.6 0.2 Iris-setosa 4.8 3.1 1.6 0.2 Iris-setosa 5.4 3.4 1.5 0.4 Iris-setosa 5.2 4.1 1.5 0.1 Iris-setosa 5.5 4.2 1.4 0.2 Iris-setosa 4.9 3.1 1.5 0.1 Iris-setosa 5.0 3.2 1.2 0.2 Iris-setosa 5.5 3.5 1.3 0.2 Iris-setosa 4.9 3.1 1.5 0.1 Iris-setosa 4.4 3.0 1.3 0.2 Iris-setosa 5.1 3.4 1.5 0.2 Iris-setosa 5.0 3.5 1.3 0.3 Iris-setosa 4.5 2.3 1.3 0.3 Iris-setosa 4.4 3.2 1.3 0.2 Iris-setosa 5.0 3.5 1.6 0.6 Iris-setosa 5.1 3.8 1.9 0.4 Iris-setosa 4.8 3.0 1.4 0.3 Iris-setosa 5.1 3.8 1.6 0.2 Iris-setosa 4.6 3.2 1.4 0.2 Iris-setosa 5.3 3.7 1.5 0.2 Iris-setosa 5.0 3.3 1.4 0.2 Iris-setosa 6.6 3.0 4.4 1.4 Iris-versicolor 6.8 2.8 4.8 1.4 Iris-versicolor 6.7 3.0 5.0 1.7 Iris-versicolor 6.0 2.9 4.5 1.5 Iris-versicolor 5.7 2.6 3.5 1.0 Iris-versicolor 5.5 2.4 3.8 1.1 Iris-versicolor 5.5 2.4 3.7 1.0 Iris-versicolor 5.8 2.7 3.9 1.2 Iris-versicolor 6.0 2.7 5.1 1.6 Iris-versicolor 5.4 3.0 4.5 1.5 Iris-versicolor 6.0 3.4 4.5 1.6 Iris-versicolor 6.7 3.1 4.7 1.5 Iris-versicolor 6.3 2.3 4.4 1.3 Iris-versicolor 5.6 3.0 4.1 1.3 Iris-versicolor 5.5 2.5 4.0 1.3 Iris-versicolor 5.5 2.6 4.4 1.2 Iris-versicolor 6.1 3.0 4.6 1.4 Iris-versicolor 5.8 2.6 4.0 1.2 Iris-versicolor 5.0 2.3 3.3 1.0 Iris-versicolor 5.6 2.7 4.2 1.3 Iris-versicolor 5.7 3.0 4.2 1.2 Iris-versicolor 5.7 2.9 4.2 1.3 Iris-versicolor 6.2 2.9 4.3 1.3 Iris-versicolor 5.1 2.5 3.0 1.1 Iris-versicolor 5.7 2.8 4.1 1.3 Iris-versicolor 7.2 3.2 6.0 1.8 Iris-virginica 6.2 2.8 4.8 1.8 Iris-virginica 6.1 3.0 4.9 1.8 Iris-virginica 6.4 2.8 5.6 2.1 Iris-virginica 7.2 3.0 5.8 1.6 Iris-virginica 7.4 2.8 6.1 1.9 Iris-virginica 7.9 3.8 6.4 2.0 Iris-virginica 6.4 2.8 5.6 2.2 Iris-virginica 6.3 2.8 5.1 1.5 Iris-virginica 6.1 2.6 5.6 1.4 Iris-virginica 7.7 3.0 6.1 2.3 Iris-virginica 6.3 3.4 5.6 2.4 Iris-virginion 6.4 3.1 5.5 1.8 Iris-virginica 6.0 3.0 4.8 1.8 Iris-virginica 6.9 3.1 5.4 2.1 Iris-virginica 6.7 3.1 5.6 2.4 Iris-virginica 6.9 3.1 5.1 2.3 Iris-virginica 5.8 2.7 5.1 1.9 Iris-virginica 6.8 3.2 5.9 2.3 Iris-virginica 6.7 3.3 5.7 2.5 Iris-virginica 6.7 3.0 5.2 2.3 Iris-virginica 6.3 2.5 5.0 1.9 Iris-virginica 6.5 3.0 5.2 2.0 Iris-virginica 6.2 3.4 5.4 2.3 Iris-virginica 5.9 3.0 5.1 1.8 Iris-virginica iris-testing-data 5.1 3.5 1.4 0.2 Iris-setosa 4.9 3.0 1.4 0.2 Iris-setosa 4.7 3.2 1.3 0.2 Iris-setosa 4.6 3.1 1.5 0.2 Iris-setosa 5.0 3.6 1.4 0.2 Iris-setosa 5.4 3.9 1.7 0.4 Iris-setosa 4.6 3.4 1.4 0.3 Iris-setosa 5.0 3.4 1.5 0.2 Iris-setosa 44 2.9 1.4 0.2 Iris-setosa 4.9 3.1 1.5 0.1 Iris-setosa 5.4 3.7 1.5 0.2 Iris-setosa 4.8 3.4 1.6 0.2 Iris-setosa 4.8 3.0 1.4 0.1 Iris-setosa 4.3 3.0 1.1 0.1 Iris-setosa 5.8 4.0 1.2 0.2 Iris-setosa 5.7 4.4 1.5 0.4 Iris-setosa 5.4 3.9 1.3 0.4 Iris-setosa 5.1 3.5 1.4 0.3 Iris-setosa 5.7 3.8 1.7 0.3 Iris-setosa 5.1 3.8 1.5 0.3 Iris-setosa 5.4 3.4 1.7 0.2 Iris-setosa 5.1 3.7 1.5 0.4 Iris-setosa 4.6 3.6 1.0 0.2 Iris-setosa 5.1 3.3 1.7 0.5 Iris-setosa 4.8 3.4 1.9 0.2 Iris-setosa 7.0 3.2 4.7 1.4 Iris-versicolor 6.4 3.2 4.5 1.5 Iris-versicolor 6.9 3.1 4.9 1.5 Iris-versicolor 5.5 2.3 4.0 1.3 Iris-versicolor 6.5 2.8 4.6 1.5 Iris-versicolor 5.7 2.8 4.5 1.3 Iris-versicolor 6.3 3.3 4.7 1.6 Iris-versicolor 4.9 2.4 3.3 1.0 Iris-versicolor 6.6 2.9 4.6 1.3 Iris-versicolor 5.2 2.7 3.9 1.4 Iris-versicolor 5.0 2.0 3.5 1.0 Iris-versicolor 5.9 3.0 4.2 1.5 Iris-versicolor 6.0 2.2 4.0 1.0 Iris-versicolor 6.1 2.9 4.7 1.4 Iris-versicolor 5.6 2.9 3.6 1.3 Iris-versicolor 6.7 3.1 4.4 1.4 Iris-versicolor 5.6 3.0 4.5 1.5 Iris-versicolor 5.8 2.7 4.1 1.0 Iris-versicolor 6.2 2.2 4.5 1.5 Iris-versicolor 5.6 2.5 3.9 1.1 Iris-versicolor 5.9 3.2 4.8 1.8 Iris-versicolor 6.1 2.8 4.0 1.3 Iris-versicolor 6.3 2.5 4.9 1.5 Iris-versicolor 6.1 2.8 4.7 1.2 Iris-versicolor 6.4 2.9 4.3 1.3 Iris-versioolor 6.3 3.3 6.0 2.5 Iris-virginica 5.8 2.7 5.1 1.9 Iris-virginica 7.1 3.0 5.9 2.1 Iris-virginica 6.3 2.9 5.6 1.8 Iris-virginica 6.5 3.0 5.8 2.2 Iris-virginica 7.6 3.0 6.6 2.1 Iris-virginica 4.9 2.5 4.5 1.7 Iris-virginica 7.3 2.9 6.3 1.8 Iris-virginica 6.7 2.5 5.B 1.8 Iris-virginica 7.2 3.6 6.1 2.5 Iris-virginica 6.5 3.2 5.1 2.0 Iris-virginica 6.4 2.7 5.3 1.9 Iris-virginica 6.8 3.0 5.5 2.1 Iris-virginica 5.7 2.5 5.0 2.0 Iris-virginica 5.8 2.8 5.1 2.4 Iris-virginica 6.4 3.2 5.3 2.3 Iris-virginica 6.5 3.0 5.5 1.8 Iris-virginica 7.7 3.8 6.7 2.2 Iris-virginica 7.7 2.6 6.9 2.3 Iris-virginica 6.0 2.2 5.0 1.5 tris-virginica 6.9 3.2 5.7 2.3 Iris-virginica 5.6 2.8 4.9 2.0 Iris-virginica 7.7 2.8 6.7 2.0 Iris-virginica 6.3 2.7 4.9 1.8 Iris-virginica 6.7 3.3 5.7 2.1 Iris-virginicaStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started