Blog Post 7 - Reflection Blog Post

  • **Overall, what did you achieve in your project? **

    Our final group project is a Diabetes Risk Prediction Webapp using Flask web framework written in Python. This group project was mainly separated as two parts. The first part is Machine Learning, and the second part is the webapp development. In the machine learning part, I assisted my teammate Yiran with the feature selection. We trained the data set by using different algorithms, and we decided not to use the full model but to use the 10 best features. We achieve the best validation accuracy score of 97%, which is very good! For the web development part that I am mainly responsible for, I develop the web app based on Flask web framework that I have learned from PIC16. I successfully achieved the users interaction with the database. After the users completed the questionnaires and clicked submit button, the webapp will automatically submit the questionnaires and save them as a pandas dataframe. Then, I utilized the XG Boost model that I’ve previously extracted from the ML part to predict the above dataframe. After I received the result of prediction, I write the result of the prediction into the database corresponding to the name and age of the users. Finally, I GET the result from the database and print them on the view.html page. This task also provided me a chance to be more skillful in writing SQL, HTML, CSS, and Python code.

  • **What are two aspects of your project that you are especially proud of? **

The first aspect that I am especially proud of would be the prediction accuracy from the data set. At the very beginning, we didn’t expect that we are able to achieve such high accuracy because we were not sure how well the data set is. After we did some exploration and modelling, we realized that the data set is very good, which allows us to finally achieve the highest validation accuracy of 97% - 98%. We compared the accuracy scores from different algorithms such as Random Forest, XG Boost Classifier, KNN, K-means. Finally, we found that we reached the highest accuracy by using XG Boost with 10 best features. I am really proud of this machine learning prediction.

The second aspect that I am proud of would be the flask webapp. After I made this web app, I’ve become more skillful in writing HTML, SQL, Python, and CSS code. I am very proud that I can learn so many different coding languages at the same time.

  • **What are two things you would suggest doing to further improve your project? (You are not responsible for doing those things.) **

The first thing I would do to further improve my project is the CSS stylesheet. If I have more time, I will spend time studying CSS to make my web page look nicer. Although I am not an Art major student, but I do think that I can further improve the UI of my web app by adding more appropriate CSS code.

The second thing that I would do to further improve my project is to add a login function on my web app. By enabling users to register the account, they can check their testing result whenever they want.

  • How does what you achieved compare to what you set out to do in your proposal? (if you didn’t complete everything in your proposal, that’s fine!)

Overall, I achieved almost everything that I wrote in my proposal! I am very glad that I was able to finally develop the project as a Flask webapp. However, there is one thing that I thought could be improved: The Users Interface of the web page. The web page can be more interactive and vivid if I edit more appropriate CSS for different labels.

  • **What are three things you learned from the experience of completing your project? Data analysis techniques? Python packages? Git + GitHub? Etc? **
  1. Data Analysis technique: I learned more machine learning algoriths when making the prediction. For example, XG Boost. I also learned that how to extract the model as a dat file by using pickle from python moudles.
  2. Git + Github: Before I took this class, I never know how github works, and I never know what is version control. After I took this class, I realized the pros of using Github Version control. Github is an excellent platform for group project.
  3. Flask web framework: This project provided me a good opportunity to be more skillful in using Flask. Besides, I became more familiar with HTML, CSS, and SQL after completing this project.
  • **How will your experience completing this project will help you in your future studies or career? Please be as specific as possible. **

My experience completing this project will definitely help me in my future studies! First of all, the experience in Github version control. I believe this will benefit me when I work on a big project with my teammates in the company. Secondly, completing this course allows me to get more familiar in using Python. Python is a popular programming languange in current society. Having the programming experience of Python will be my hard skill when I am attending an interview of a job. Furthermore, the experience in using SQL will also help me in the future. My goal for the future job is to become an Data Analysts, and SQL is the most important language that I will use.

Finally, I would like to say thank you to professor Chodrow and TA John who offered me lots of help in my homework problems.

Written on March 16, 2022