What It Does

We created a cross-platform app (iOS and Android) using Flutter, that is connected to a Django server hosted on GCP App Engine. In terms of visualization, our application provides a line chart, a pie chart, and a range graph for of the drilling data. All the data is stored on GCP, and is streamed to the app in real-time for visualizations.

How We Built It

This project has 3 sections, a Django server hosted on GCP App Engine, where we deployed our machine learning model, a cross-platform flutter application (works on iOS and Android) that visualizes data in real-time, provides insights, with direct hits to the GCP server. Finally, we used a Jupyter notebook to test and implement a variety of models until we reached our final solution. The main model we used was a Random Forest classifier, which we thought was best suited to the application due to how the data was structured. We also experimented with many different models, including, Logistic Regression, SVMs, Adaboost, Gaussian Naive Bayes, and a simple 3-layer neural network. After training the various models, the Random Forest provided the best results and the smallest model size.

Challenges We Ran Into

We spent a lot of time trying to work around the challenges within the dataset. For example, there was a large discrepancy between positive and negative samples, a large number of NaN values within the dataset, and features with a large portion of zeros.

Accomplishments That We're Proud Of

We were able to train our model to achieve an accuracy of over 98.25% on the test set provided on Kaggle. We used various data preprocessing techniques and had to wrangle the data in order to get good results. We are also proud of the cross-platform app that we built using Flutter, and our ability to deploy our model to GCP.

What We Learned

We gained a lot of experience working with data and understanding the properties of the provided data. By spending so much time trying to extract information from the dataset itself, we were able to gain a lot of insight to the underlying properties of the data. By incorporating our model into a mobile application we were able to gain experience completing the pipeline from start to finish.

Share this project:

Updates