Using Python to do it
Mini Project 1: Image Analysis
Step 1: Each group needs to select a context and start collecting images. Each member should select one object and collect at least 20 close-up images of that object. Examples of possible contexts include foods (3 pictures), animals (4 pictures), and different fruits, etc. Make sure that all images are related to the same context.
Step 2: Resize images to get the same size pictures so you can extract the same number of features.
Step 3: Use dimension reduction packages to reduce the number of features (dimensions) to your desired number of components. You need to try different numbers of components to check how that can change the performance of your classification algorithms.
Step 4: Use SVM, Random Forest, and Neural Network classifiers to build different predictive models. Use random_state=0 wherever possible to make your result reproducible. Use 70% of the data for training and 30% for testing. Make sure that you stratify the data and test multiple versions of each classifier. At first, use a simple train and test method and report accuracy, precision, recall, and F1. Which algorithm works the best? Then, use stratified cross-validation instead of a simple train and test model. How does that change your result? Take advantage of grid search with cross-validation in your work. Report how useful that is.
Step 5: Feel free to add to this project and apply new methods to improve your work.