Inspiration

Machine learning can be difficult to model, especially if you don’t have prior knowledge of tools like MATLAB or TensorFlow. We wanted this process easier and more streamlined, requiring virtually no effort.

What it does

  • Website allows users to upload a CSV file and input 2 column variables for analysis.
  • Python code performs machine learning regression on the CSV data.
  • Website displays 3 graphical models (Regression, Decision Tree, k-NN).

How we built it

  • The website is built on HTML and CSS.
  • The website’s UI/UX is designed using Figma and Adobe Illustrator.
  • Take file input from HTML.
  • Encode the byte input as string.
  • Use ioWrapper with string.
  • Pandas reads data and turns it into a dataframe.
  • Using SciKit-learn on Python, we perform ML training and testing on the data frame.
  • Using Plotly on Python, we graph 3 ML regression models (Regression, Decision Tree, k-NN).
  • We change the Plotly graphs into HTML element sand embedded into the website.
  • We used Flask as the web framework.

Challenges we ran into

  • Time zone differences (2/3 members were outside the United States).
  • Mental blocks.
  • First time at a hackathon.
  • Upload CSV file system (accessing file data).
  • Embedding the Plotly graphs into the HTML of our website.
  • Taking in inputs for the ML regression in Python.

Accomplishments that we're proud of

  • Under the time constraints, good UI/UX design and animations on the website.
  • Able to display 3 different graphical models (Regression, Decision Tree, k-NN) properly.
  • Upload system works as it should.
  • Achieves goal of ease of use.

What we learned

  • HTML and CSS programming.
  • Using Figma for UI/UX design.
  • Using Scikit-learn, Pandas, and Plotly in Python.
  • Using Flask.

What's next for uforesite

  • Accepting files other than CSV.
  • Displaying more machine learning models.
  • Greater interactivity.
  • Allowing 3D regression surface.
  • More UI/UX enhancements.
  • More data analysis features.
Share this project:

Updates