Week 4 – First week for Sprint 1

In Week 4, we really made some exciting progress. On Monday, we brainstormed our hypothesis and came up with two directions for the first Sprint. And then we started to work on these prototypes. On Friday, we had a meeting with Erin from Google to ask her suggestions about our prototype.

On Monday : brainstorm

Choose Project Direction: 

Last week, Erin suggested two directions for our project. One direction is an educational project, which means our goal is to teach the user the concept of machine learning and data visualization. The other direction is innovation, which means our goal is to define some hypotheses related to ML and data visualization and create different prototypes to confirm if these hypotheses are correct. After discussing, we all agreed that we want to choose innovation as our direction. Our project will focus on discovering different possibilities of MlL and data visualization. Also, we want to find a better way to show the explainability and controllability of the ML model.

Hypothesis: 

For the first Sprint, we choose the K-means clustering algorithm as our ML algorithm. We designed two prototypes related to this algorithm. One is using flowers as the data point to show the process of how the K-means algorithm works. The other is slicing the image into different parts using the K-means algorithm based on the RGB value for each pixel.  

Therefore, we came up with two hypotheses based on these two prototypes. One hypothesis testing is non-traditional data (versus traditional axial data) presented using a novel 3D representation that can increase intentional user engagement with K-means algorithms. The experimental case is image data, the null case is traditional axial dataThe second hypothesis is focusing on input/output parameterization (versus tracking independent point processing) presented in a 3D representation can increase user comprehension of K-means algorithms.

Shirley gives us feedback about our team logo.

Sprint 1

We split into 2 teams to make 2 prototypes. Here is some progress we made this week.

Prototype One: Flower Garden

Description: We use flowers in a garden to visualize the K-means clustering algorithm. In the beginning, all the data points are sprouts. And then, the user can create a new data point and choose how many types of flowers (K-value) they want to sort. And then, we will show the k-means algorithm works step by step. The user can see how each sprout becomes a different type of flower. 

Work finished:

Create New datapoint

Adjust K value

Run K-means algorithm

Create Voronoi Diagram based on the result

Future work:

Import data from CSV & prepare some predefined Dataset

Choose initial mean

Show K-means algorithm step by step

UI

Delete & see details of each data point

Demo Video:

https://drive.google.com/file/d/17v0me_QAdwbGJxVaksGnBZKiNfDbCG2u/view?usp=sharing

https://drive.google.com/file/d/1LzZzhJ4ShefoQfO8AWzgE-PKqhKVCKUl/view?usp=sharing

Screenshot:

Prototype Two: Painting Gallery

Description: Using K-means clustering algorithm to slice an image into different clusters based on the RGB value of each pixel. The result is different slices of the image with similar colors. Using this method, we can transform a 2D image into a 3D space, which is really interesting and beautiful.

Interactions:

Choose Image/ Upload Image

Change the number of Slices(K-value)

Change the rotate speed

Change the distance between each slice

Work finished:

Custom Image Upload

Overall workflow

Future work:

Trying GIF images

Filling in algorithms. Tilt images.

Show the percentage of each slice

Demo Video:

Screenshot:

Meeting with Erin on Friday

On Friday, we had a meeting with Erin from Google. We showed her our progress and here is the feedback.

For Garden:

  • Think why using flower to visualize k-means
  • Possible hypothesis: Can specific visualization help understand the data better?
  • Flowers can help users to understand better, but needs to be very clear. 

For Painting:

  • Possible hypothesis: Can we visualize painting in 3D.

General Suggestion:

  • Try different platforms such as VR/AR – How can we interact with data in a 3D space?
  • After we visualize the data,  can we see something new?
  • Do I get more insight in 3d than 2d, what’s the purpose of understanding the algorithm?
  • Break big hypothesis into smaller concepts e.g. better interactive way
  • Narrow “3D is better than 2D”(for application or 2D’s … problems so 3D is better )

In summary, this week we really made great progress. For next week, we plan to finish the rest of the work of sprint1. And then run some playtesting to collect the feedback from users. We will analyze the feedback and check if the hypothesis is correct. And we will make a reflection of Sprint and start to brainstorm Sprint 2.