projects in 2018 Sep.-Dec.

A Large-scale Empirical Comparison Among Supervised Learning Algorithms
Python, SVMs, KNN, logistic regression, random forests & decision trees
  • ​Presented a large-scale empirical comparison between SVMs, KNN, logistic regression, random forests & decision trees based on 3 partitions (20/80, 50/50, 80/20) * 3 datasets * 3 trails with Python programming
  • Report.


Analysis Wholesale Customers Behavior
Python, PCA, K-means, GMM
  • ​Assisted wholesale company predict customers behavior based on PCA, K-means & GMM with Python.
  • Searched for unusual clusters of palindromes to reduce the amount of testing needed to find the origin of cancer viruses

Digit Recognizer
MATLAB, logistic regression, neural network

  • Use logistic regression and neural networks to recognize handwritten digits (from 0 to 9) based on 5000 training examples.



  • projects in 2017-2018 school year

    Kaggle: Help DonorsChoose.org connect donors with projects they care about
    R, T Test, Chi-Square Test, Logistic Regression, Hypothesis Test, Naive Bayes Classifier, Random Forest
    • ​Connected donors through Logistic Regression models with the projects that most inspire them by categorizing projects and donors.
    • Analyzed success projects, to build adaptable and intelligible project model to attract donors to make more donation.
    • Report explanation on Random Forest.


    Identify Unusually Dense Clusters of Palindromes in DNA
    R, Chi-Square Test, Hypothesis Test, Bbootstrap, Simulation, Poisson Process
    • ​Analyzed lab data, by goodness-of-fit test and simulated baseline to check the distribution of palindromes in DNA.
    • Searched for unusual clusters of palindromes to reduce the amount of testing needed to find the origin of cancer viruses

    Document Generator
    C++, Probabilistic Language Model, Markov Chain

  • Analyzed 200 speeches from Barack Obama to build up the data structure based on oral vocabulary preferences.
  • Auto generated a document template by mimicking Obama’s style.

  • Singular Weather Decomposition
    MATLAB, SVD, Rregression, Fourier Series

  • Researched means of retrieving a corresponding video based on image contents using image similarity algorithm.
  • Found the approximation functions by least-squares solution and Fourier series approach to summary the local weather pattern.



  • projects in 2016-2017 school year

    Escape Maze
    Java, GUI, BST, DST
    • ​Given the start and exit positions, I translated the maze into 2D array, and solved the maze by Breadth First Search and Depth First Search.
    • The output in console would change to "Solve the maze" after reaching the exit point. "S" stands for start, "E" sthand for "exit", and "o" means "explored", "." means current path. After solving the maze, the current path would change from "." to "x".
    • If the program cannot find the exit path, the output would stay as "Maze is unsolved".
    • DST is faster.


    Spell Checker
    Java, hash table

    Created a dictionary by hash table, based on the user input words are whether in the dictionary or not, the output would be "your word is in the dictionary" or reasonable guesses what user really wants to spell. For example, if the user inputs "pol", output would be "not found pol, you may mean pal, pod, pop, pot, pox, pool, poll, pole, polo".


    Scraping data off of Billboard Hot 100
    Python, BeautifulSoup

    Scanned the webpage, collected the top 10 songs with their artists, and printed them out to the console.


    Rider Game
    Java, GUI
    • ​User-controlled car(red triangle) plays against a number of computer-controlled cars(blue triangle), in picking up the rider(yellow square) and bringing them to the destination without going through obstacles(black square).
    • I set several controllers to control robot cars' direction, such as east/north first, diagonal first
    • The new rider would show up at the random free grid after the last rider arrived at the destination. Free means no car, no obstacle.
    • Player can change the robot cars' speed by slide in right bottom corner or space on keyboard.
    • The headline would keep records for how many riders were picked up by the user and by the robots.

    Tetris
    Java, GUI
    • ​Player can forsee the next figure by the right small screen.
    • The objective of the game is to manipulate these Tetriminos, by moving each one sideways (if the player feels the need) and rotating it by 90 degree units, with the aim of creating a horizontal line of ten units without gaps. When such a line is created, it disappears, and any block above the deleted line will fall. When a certain number of lines are cleared, the game enters a new level. As the game progresses, each level causes the Tetriminos to fall faster, and the game ends when the stack of Tetriminos reaches the top of the playing field and no new Tetriminos are able to enter.
    • Level would increase automatically after move every 20 lines. The max level is 11.

    Towers of Hanoi
    Java, GUI
      The objective of the game is to move the entire stack to another rod, obeying the following simple rules:
    • Only one disk can be moved at a time.
    • Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack.
    • No disk may be placed on top of a smaller disk.
    The minimal number of moves required to solve a Tower of Hanoi puzzle is 2**n − 1, where n is the number of disks.


    Connect 4 Game
    C
    • ​The objective of the game is to be the first to form a horizontal, vertical, or diagonal line of four of one's own discs.
    • Player can choose to make the first('X') or second move('O').
    • The valid input is only from 1 to 7(inclusive). Also user cannot choose a full column.
    • If the program detect any three connected stone, it would block user's stone or connect to the fourth stone to win the game. Else, it would choose a random unfull column.

    Fallen Star
    3D Printing, SolidWorks
    • ​Designed in SolidWorks.
    • Inspired by the Fallen Star at an angle off the edge of the main Jacobs School of Engineering building.
    • You can click the picture for more information on the fallen star in ucsd