Geologists classify rocks at a high-level as sedimentary, igneous, or metamorphic. Each of these categories themselves have a high degree of variability and correspondingly a larger set of classifications. These classifications are based on visible characteristics of the rock that arise due to the processes that formed the rock, e.g. pore size, color, or crystal size. I am very interested in taking classification systems like this based on agreed-upon scientific theory and seeing if the same classification system arises from data through machine learning. In this project, I used an iPhone to collect dataset of 12 types of igneous rocks (including the one pictured above) that are studied in ASU's introductory geology lab and used it to train machine learning models for classification and characterization.