Journal Reflection #5: Insights into your FINAL project

Image from: https://imageio.forbes.com/specials-images/imageserve/5f151e9faa78e50007ce7c76/
The-10-Best-AI-And-Data-Science-Master-s-Courses-For-2021/960×0.jpg

Please use your reply to this blog post to detail the following:

  1. Please give a full description of your final project. Based on your prior work this semester, what made you pick this as your project?
  2. What was your desired learning outcome of your choice of final project?
  3. What has been the most useful aspect of this class? Learning more about Python, GitHub, PyCharm, AI, ML, or …? You decide and please explain why.
  4. Do you feel your work this semester, as summarized by your choice of final project, has helped you better understand some of the foundations of ML and AI?
  5. Do you see yourself pursuing data/analytical sciences coursework once you get to college? Do you anticipate being ahead of some of your classmates thanks to the things you studied this semester?
  6. Include your Github repo URL so your classmates can look at your code.

Take the time to look through the project posts of your classmates. If you saw any project or project descriptions that pique your interest, please reply or respond to their post with feedback. Constructive criticism is allowed, but please keep your comments civil.

THANKS FOR TAKING THE COURSE!!!

7 comments

Skip to comment form

  1. 1. I knew that I wanted to do a project in some way related to COVID, so I started by finding a dataset project about COVID prediction based on symptoms on Kaggle: https://www.kaggle.com/datasets/hemanthhari/symptoms-and-covid-presence/code.
    This dataset makes predictions based on symptoms and other related variables, like travel and exposure. I used the same dataset as the author of that project, but instead of using a Decision Tree prediction model, I used a Random Forest Classifier. A Random Forest Classifier model is very similar to a Decision Tree model because Random Forest just creates multiple Decision Trees, then gets a prediction from each tree and weighs the responses of each to come to a final prediction. So, I ended up with a model to predict COVID based on several variables.

    Then I decided to use that model and make a chatbot. The chatbot window itself is made with Tkinter, and I used information from this source to inspire me: https://towardsdatascience.com/how-to-create-a-chatbot-with-python-deep-learning-in-less-than-an-hour-56a063bdfc44. The chatbot uses neural networks and deep learning to take the input from the user and recognize patterns of words, and respond according to the pattern. The deep learning model that I used is the Sequential model from keras, which is a simpler way to implement language processing than maybe some other models. The program recognizes patterns based on a set of patterns that you have to pre-describe in an ‘intents’ file, so I wrote intents about symptoms and exposure and all the information I needed for my COVID prediction. Then, with the information collected from the user, the algorithm predicts the probability that the user has COVID, and then it offers to continue helping the user by providing resources to find COVID tests in their area.

    I picked this project because it is kind of a combination of several things we have done this year. First we learned about data analysis and prediction algorithms, which I implemented through the COVID prediction algorithm itself. Then, I incorporated graphic design through the chatbot window, although I used Tkinter instead of PyGame, which we used for the game project. Finally, the chatbot’s neural network design fits with the overall Machine Learning and Artificial Intelligence theme of the class. Also, I think that COVID data is very relevant and soon in the future, ‘telehealth’, or virtual health services, might be the next big thing.

    2. My desired learning outcome of my choice of final project was to get a better grasp on natural language processing. I watched Ex Machina in English 10 with Mr. Adair, and since then I have been fascinated with Artificial Intelligence that mirrors human speech. Obviously my simple chatbot comes nowhere near the level of AI in that movie or even the level of an Amazon Alexa, but I definitely gained a better understanding of both neural networks and programming human language. And as per usual, the goal of this project was to gain more confidence and get more comfortable trying new applications of machine learning, which I think I achieved.

    3. The most useful part of this class was getting better at using Python and more flexible with programming in general. I hadn’t used Python since Intro to Computer Science, so transitioning my brain back to Python from Java was a super useful exercise. I think it made me more flexible with switching between programming languages and noticing the similarities and differences, which will definitely serve me well in college.

    4. My work this semester has definitely helped me better understand some of the foundations of Machine Learning and Artificial Intelligence. I am very grateful that we got to explore a variety of different algorithms and uses of Machine Learning, because I feel like I got a great mix of breadth and depth in my first experience studying these topics. But, I know that there is so much more to learn, which makes me very excited.

    5. I definitely plan on pursuing data science in college. I am super excited to major in computer science, and because Brown does not have a core curriculum, I can fully dedicate myself to exploring elective courses related to computer science. I took AP Statistics this year, which I also really loved, so I am looking forward to combining my interest in statistics and computer science in some sort of specialized classes in college. Hopefully I will be ahead of some of my classmates! Whether or not I know more than them, I have definitely gained the confidence this semester to keep up with anyone.

    6. Here is my Github Repo: https://github.com/22ridley/COVIDChatBot.git
    And here is the link to my Loom video explaining the project: https://www.loom.com/share/bd0b60ea168b498296b903cc70ddb525

  2. 1. This project, made by Ben and I, is a physics demonstration of a cannon firing a ball at a cross. It’s coded using Pygame. The user inputs an angle and a distance and the cannon must use the right amount of power to have the projectile hit the target.

    2. I really like incorporating topics from multiple different classes. I’m currently taking AP Physics, so I thought it was cool to use my knowledge of physics to try to make something in Python.

    3. I really liked the independent nature of this class. I appreciated the opportunity to learn about all the above subject areas, most specifically AI/ML and GitHub, and I think I have a good introduction to many of these subject areas before college.

    4. Yes. I especially think that the Minimax algorithm (I did Tic-Tac-Toe) and the first project (Pitchfork AI) helped me develop this foundation. I was somewhat confident in my ability to use python before this class, but those projects definitely took that to another level.

    5. Probably. I’m not sure what classes I’ll end up taking to start off college, but I’ve always found data science, data visualization, and statistics quite interesting so I’d love to continue pursuing that as well as many of the other subject areas from this class.

    6. https://github.com/memsdm05/ballshot

  3. 1. Just like Tyler said before me, I worked with him to create this project. It’s a quaint exercise on ballistic trajectories (and somewhat also exploring more advanced pygame concepts).

    2. Back in the day, I used to play this video game called Garry’s Mod. In this game, you are able to spawn various objects called props and apply effects to them in some way. Anyway, there was this one online server called Freebuild and Kill that I liked to frequent. One of the builds that I made was artillery that adjusts its aim to ballistically hit the spot in the ground you are looking at. The code that I used was lost to time, and I regain the dark magic that was trajectory calculation. Also, physics is fun.

    3. Definitely the AI part. Before taking this class I was pretty neutral or even adverse to the idea of making an AI. However, after this class forced me to create such projects, I grew to enjoy the challenge of ML and AI. The vectorboi project was one of if not the most proud I’ve been on a project. The meat and potatoes of it was picked over to the last degree. Very nice. I recently implemented a simple NN in numpy to recognize MNIST digits. So that was cool.

    4. I think the projects definitely did but not so much this project. I was much more focused on turning this one in then the other ones. But I do think this was a good wrap up project.

    5. Maybe, data scientists still suck at coding.

    6. https://github.com/memsdm05/ballshot

  4. 1. I love playing games and thinking about how they’re constructed so I knew I wanted to do something similar. Sudoku is one of many games that I’ve spent far too much time playing (Connect 4 is also one of these) and thinking about and so creating that seemed like it would be fun!

    2. I just wanted to see if I could manage to make a functional thing. Not anything pretty or fancy, just a functional way to input Sudoku grids and have it be solved or have one be created for you

    3. The most useful aspect of this class has just been learning about all the different algorithms (eg. Minimax and A*). Even if I struggled with implementation, I understand how they work much better than I ever did before.

    4. I think that my work this semester did help me understand the foundations of ML and AI, though I know I’ve only scratched the surface so far.

    5. I’m looking at a whole variety of classes for college and data/analytical sciences will likely be in there somewhere. There’s some crazy smart people going to Reed so while I might be ahead of some of my classmates, I doubt I’d be ahead of many.

    6. https://github.com/RavenclawLunatic/Sudoku

  5. Please give a full description of your final project. Based on your prior work this semester, what made you pick this as your project?

    My project was to replicate the famous CycleGAN paper that outlines a way to make image transformations better through the use of a Generative Adversarial Network that uses two generators and two differentiators to improve. However, my project only focused on one use case of CycleGAN — to turn a picture of a horse into one of a zebra, with as little error as possible.

    I chose this project because it was one aspect of ML that I hadn’t explored at all this semester, and it was supposed to serve as an introduction to GAN models. I also wanted to learn how to use a high-level ML library like TensorFlow, especially since all of the models I’ve produced for this class have been from scratch using only matrix libraries. My goal for this class was to explore the different areas of ML rather than specialize, so choosing something entirely different from my work earlier in the semester seems to follow that philosophy.

    What was your desired learning outcome of your choice of final project?

    I wanted to understand the GAN model architecture and learn how to replicate an academic paper. Furthermore, I wanted to see what the more complex areas of ML looked like and see how easy it would be to make one of these more intricate models.

    What has been the most useful aspect of this class? Learning more about Python, GitHub, PyCharm, AI, ML, or …? You decide and please explain why.

    The most useful aspect of this class has been to learn more about the reasoning behind model architecture. This is more important than learning the specific tooling (python, GitHub, etc.) since it is transferrable to any other toolchain. Furthermore, learning the mental models required for machine learning will likely help me improve my skills as a software developer.

    Do you feel your work this semester, as summarized by your choice of final project, has helped you better understand some of the foundations of ML and AI?

    This class has definitely helped me better understand some of the foundations of ML and AI. Just by the time I have spent working on ML or AI alone, I can say that I have improved my skills in a way that I would not otherwise have. If it were not for this class, I don’t think that I would have chosen to spend a whole semester learning about ML on my own, and I would’ve stuck to some more familiar areas of CS like web development.

    Do you see yourself pursuing data/analytical sciences coursework once you get to college? Do you anticipate being ahead of some of your classmates thanks to the things you studied this semester?

    I do see myself taking at least a few classes on data science or analytics when I get to college. I think that I will be ahead of some of my peers but behind others — the proportion of students that I’ll be ahead of will depend on the college. Of course, I would be much lower on the totem pole in a very competitive school than I would be if I went to a community college.

    Include your Github repo URL so your classmates can look at your code.
    You can view and run my project using the following link: https://colab.research.google.com/drive/1cpoMqkn5SkJk5bXEPMWV0xcfCC00L8eI?usp=sharing

  6. Please give a full description of your final project. Based on your prior work this semester, what made you pick this as your project?

    I have always been fascinated with AI learning to play games, especially the games that I played during my freetime. This rise of chess engines like AlphaZero along with an increase in online chess playing as a result of COVID made that a top pick of mine; however, the Chess engine I built used minimax with alpha beta pruning to find the best move, not a neural network. Because of this, I decided to turn my attention to reinforcement learning, the idea that the machine is only told its options and it learns by playing the game tens of thousands of times, slightly changing its weights each time to aim to maximize its score. The game that I chose was Super Mario, a classic childhood game. I looked at https://blog.paperspace.com/building-double-deep-q-network-super-mario-bros/ for help and inspiration on how to actually accomplish this. First, the environment was initiated and 6 different transformations on the environment to make it easier to feed data into the neural network (grayscale, reduction of frame size, reduction of action options) and to train. The images were fed into a convolutional neural network which is really good at taking images and learning from them. The model used double Q learning, a type of learning where the model is given a state and estimates and randomly selects an action trying to maximize the reward. The double part of the Q learning is that there is a double estimation to try to prevent overestimation with Q learning. After playing the game 10000 times, the model should be able to perform a lot better than when it started.

    What was your desired learning outcome of your choice of final project?

    I wanted to learn about reinforcement learning and how to design it. In doing so, I also learned a lot about Q learning and double Q learning, concepts that will definitely help in the future. I also think that learning about how to transform an environment to fit one’s needs is a great skill that I learned through doing this.

    What has been the most useful aspect of this class? Learning more about Python, GitHub, PyCharm, AI, ML, or …? You decide and please explain why.

    I think that learning basic AI and ML algorithms and models has been the most useful part of this class. I think it is essential to have a basic knowledge of Python going in so that you can explore more complex topics. The early guided projects like Minimax and A star pathfinding were really useful in learning the basics of AI before diving into more complex neural networks.

    Do you feel your work this semester, as summarized by your choice of final project, has helped you better understand some of the foundations of ML and AI?

    Definitely. I think that the trial by error through the projects we did were really useful to understand that the actual algorithms of AI aren’t really that complicated, it’s more of trying to figure out how to best apply it to the situation you are in. The foundations are critical to all future projects and I also had a lot of fun in this class!
    Do you see yourself pursuing data/analytical sciences coursework once you get to college? Do you anticipate being ahead of some of your classmates thanks to the things you studied this semester?
    I would like to continue pursuing this field because I enjoy it and it looks like the future is headed this way. I think that regardless of the courses I take, the base knowledge I gained will give me a leg up over other classmates.

    Include your Github repo URL so your classmates can look at your code.

    https://github.com/Brian5998/Mario.git

  7. Please give a full description of your final project. Based on your prior work this semester, what made you pick this as your project?

    For my final project I wanted to dig into a dataset I found which focused on colleges from around the United States. The dataset was published by the government and had a massive amount of data in it, making it hard to use without some user interface. Looking at college is a huge part of my life right now, as I only have a couple months before I have to decide, so I was curious to learn more about the data trends among colleges.

    What was your desired learning outcome of your choice of final project?

    I wanted to experiment with data analysis and user interface. I ended up doing a bit of both in this project – I did a bit of data analysis from correlations matrixes and heat maps to simple things such as shape, etc. This also required a bit of dataframe manipulation, which was fun to learn! I also experimented with a gui, and made some progress there, but had to switch to just console user interface for the current version as I wanted to focus more on the data analysis side.

    What has been the most useful aspect of this class? Learning more about Python, GitHub, PyCharm, AI, ML, or …? You decide and please explain why.

    I guess the most useful aspect of the class was learning python, as I didn’t know any before, and it’s a very helpful and useful language to know! Also learning how to approach problems that I don’t know a lot about is an invaluable skill I’ve gotten to practice a fair deal in this class.

    Do you feel your work this semester, as summarized by your choice of final project, has helped you better understand some of the foundations of ML and AI?

    Yes, absolutely, I came into the course sort of understanding some of the concepts, but having no idea any specifics or how to apply the concepts to create anything. This course taught me both of the latter and gave me a great foundation for future work with both ML and AI (which is the future!).

    Do you see yourself pursuing data/analytical sciences coursework once you get to college? Do you anticipate being ahead of some of your classmates thanks to the things you studied this semester?

    (As of now) I want to go into mechanical engineering undergrad and then do post grad work in experimental physics. While mechanical engineering has some computer science elements and cross over, experimental physics certainly has data/analytical computer science elements and interacting with those things now will certainly give me a leg up during undergrad and grad school.

    Include your Github repo URL so your classmates can look at your code.

    https://github.com/23ellaann/Advanced-Computer-Science.git

Leave a Reply