Check out the projects I did and click the IMAGE to see finished products/details
Web Develop
Chrome Extension
I developed a Chrome Extension that helps manage E-mail samples and give a shortcut of checking a student or a faculty information at University of Michigan.
View the AppChrome Extension
Color Guessing Game
The page show six different color pieces, and one of the color is listed with its RGB channels. The player's job is to pick which one. If the color is correctly picked, all six pieces and the background change to the correct color.
View the GameColor Guessing Game
Animation Typing Game
Hit a key in the keyboard and each key play its own sound and animation.
View the GameShining Styping
Image Gallery Website
This is a image display website with backend and authentication. The frontend style is done with Bootstrap and custom CSS. The backend developed features including login, comments, upload pictures with Node.js. Built MongoDB database for data persistent and CRUD operations. Deploy the web with Heroku and use mLab to host database.
Check the websiteImage Gallery Website
Web Scrapping
Scrapping Linkedin profiles
Choose a job title and see the 'art words' for most frequent skills/technique for the employee from the different company and the working location in the map. The Scrapping is done with selenium. The user could choose different way to visualize the date: 'art words', 'map', or 'website in Flask'.
View the CodeScrapping
Machine Learning
Breast Cancer Wisconsin Medical Diagnosis
The goal is to identify if the tumor is malignant based on features like mean and worst compactness, mean and worst concave points, mean and worst texture, etc. Perform logistic regression to train the classifier with cross-entropy loss. Final performance on test set has a 95% accurate rate.
Breast Cancer Wisconsin Medical Diagnosis
Boston Housing Price Prediction
Estimate Boston house prices based on 14 features. The characteristics mainly include crime rate, nitrogen oxide concentration, average number of rooms per house, property tax rate per 10,000 USD, etc.
Boston Housing Price Prediction
Spam Email Classification
Use Naive Bayes classifier to classify spam email based on their vocabulary set. Dealing with sparse features and avoid overfitting the words never appear in the testing set. Use Mean Estimation to estimate parameters so when could use posterior as the prior for the next learning phase.
Spam Email Classification
Natural Language Procoessing
Boundary identification
Predict if a period (.) is the end of a sentence or not. The algorithm is based on simple linear regression model. The features inlcude the words to left and right of '.', length of words, if capitalized etc. Train and test program on subsets of the Treebank dataset, consisting of documents drawn from various sources.
Boundary identification
Collocation identification
Top 20 bigrams along with their chi-square scores, in reverse order of the scores. Top 20 bigrams along with their PMI scores, in reverse order of the scores. A brief discussion of which of the two measures you believe works better to identify collocations, based on your analysis of the top 20 bigrams produced by each measure.
Collocation identification
Predict Response Time in Conversation
The task is for predicting the response time of someone during a conversation. It is a Naive Bayes text classifier model with add-one smoothing. The conversations involve two participants and the last message is sent from the individual person we would like to model.
Predict Response Time
Image Processing
Prediction of surface normals from single image with CNN
Review relevant papers and build models based on task requirements. After deciding to use the "hourglass architecture" model, use TensorFlow to build the model in Python. Twenty thousand training set images were trained on Google Cloud, and two thousand images from test set were tested. The resulting average angular error was 0.5.
3D Reconstruction with Netural Network
Feature-based Panoramas Stitching
Stitch images by detecting features from different images around the same scene and create descriptors (SIFT) based on features detected. Find match by estimating the degree of similarity between the descriptors. Mapping the target picture through geometric relations and stitching the image into a panorama.
Feature-based Panoramas Stitching
3D face reconstruction with photometric stereo
Import image sets from the Yale Face database and preprocess the data. Write code to calculate surface normals from images. When recover the surface height from the surface normal vector, a randomness is added to achieve global optimization. Finally, display the model.