Machine learning K cross validation

Job ID: 33018699

Budget: $30 – $250 USD

You are to write a Naïve Bayes classification system.
(Do not use any machine learning library for Naïve Bayes classification.)

The user of your program must be able to do each of the following (in any reasonable order and repeatedly). This must be one menu item that then requests both required files. You must not have a separate menu item requesting the meta file. The user must be able to train on new files as often as desired.

1) Part 1: Cross validation
a) Ask user for the data file: car.data, car.meta
b) Ask the user to provide the number for cross validations. For example, if the user input k, then you will create the k-cross validation.
c) Perform k-cross validation. Print each cross-validation status. That is, print out the accuracy of each cross-validation phase. For example, if it works for k-cross validation, your program should print out the accuracy k times.
d) Generate the average accuracy for the k-cross validation. Print a report of the average accuracy of the k-cross validation to the screen.
2) Part 2: Confusion matrix.
a) Use the data file named: car.train, car.test, and. car.meta
b) Have the system train based on training data (.train file). Ask the user for the names of the files with the training data.
c) Have the system read a set of data that may or may not have classifications and provide classifications for each instance. Ask the user for input and output file names. The output must be in exactly the same format as the training data. The user must be able to classify as many different files as desired before retraining. Set up your program so that it takes data without labels but can also accept data with labels but ignores them.
d) Have the system read a set of data (.test file) that has labels and determine its accuracy by comparing its computed labels to the actual labels. Ask the user for the name of the data file.
e) Print a report of the accuracy to the screen. This must be completely independent of the previous bullet as far as the user is concerned (though obviously there will be significant code reuse between the two).
f) Generate and print the confusion matrix for the test data.
g) Also make sure the user can quit the program.