Advent of Code 2023 - DAY 2 Python Solution #AdventOfCode
Rob Mulla
·
Intermediate
·2y ago
Join the chat on TWITCH: https://www.twitch.tv/robcodeslive
github repo: https://github.com/RobMulla/aoc-2023/
Links to my stuff:
* Youtube: https://youtube.com/@robmulla?sub_confirmation=1
* Discord: https://discord.gg/HZszek7DQc
* Twitch: https://www.twitch.tv/RobCodesLIVE
* Twitter: https://twitter.com/Rob_Mulla
* Kaggle: https://www.kaggle.com/robikscube
#adventofcode #pythonprogramming #coding
What You'll Learn
The video demonstrates a Python solution for the Advent of Code 2023 Day 2 challenge, utilizing libraries such as Pandas and Plotly for data analysis and visualization. The solution involves parsing input data, creating data frames, and querying the data to determine the possible games with a given set of cubes.
Full Transcript
e hello everyone it is Saturday December 2nd and I figured we could give Advent of code a try I have never participated in this in the past it's a it's a coding challenge that comes out every year it's really popular and um I took a stab at the first problem yesterday and I was able to solve it pretty easily and I know they kind of that's how they pull you into these sort of things so uh making it easy at first and then making it a lot harder but we're only on day two so I figur I'd give it a try my fear has always kind of been getting into these that I would get too obsessed with them and then later on in December I would have no free time so I'm just going to give it a try we're going to see how it goes but if you want to join the chat chat we have a chat on Twitch and I encourage you to join us there I'm going to pull up that chat here oh look we have someone already in the chat let's make this a little bigger Advent of code question mark yes hello how's it going so let's let's take a look at today's challenge which is a called the cube conundrum um you've launched in a high High into atmosphere the Apex of your trajectory just barely reaches the surface of a large island floating in the sky you gently land on a in a fluffy pile of leaves it's quite cold but you don't see much snow and elf runs over to greet you the elf explains that you have arrived at Snow Island oh there's no snow snow and apologizes for the lack of snow there you go he'll be happy happy to explain the situation but it's a bit of a walk so you have some time they don't get many visitors up here would you like to play a game in the meantime did that rhyme as you walk the elf shows you a small bag and some Cub cubes okay so there's a bag in cubes which are either red green or blue okay why add blue they could make make it red green and white or something more Fest each time you play this game he will hide a secret number of cubes of each color in the bag and your goal is to figure out the information about the number of Cubes okay so this is like statistics stuff these are this is a classic statistics problem right where there's a bag of different things and they pull them out at random so it's like thinking about probabilities I think I hope it's about that to get information once you once a bag has been loaded with cubes elf will reach into the bag grabb a handful of random cubes show them to you random cubes so not not even a number specific number of Cubes show them to you and then put them back in the back he'll do this a few times per game you play several games and record this information for each game your puzzle input each game is listed with its ID number like 11 in game 11 okay followed by a semic colid separated by the list of subsets of Cubes okay so we're going to have to parse this from the data file for example the record might look like this okay here's an example one so let me actually go over to vs code already made my I have my directory here I can make a day two directory and let me go into that and just just make a D2 example file we're going to put this example game so we can test out on that um in game one three sets of cubes are revealed from the bag and then we put them back again in game one okay the first set is three blue three sets of cubes are revealed from the bag I don't get it oh there's a semic cool in here okay so three blue four red one red two green six blue two green oh one red one two green six blue two green okay this is going to be a lot of parsing data parsing um and game one three sets of cubes are revealed from the bag and then you put them back in the first is this okay the second is one red all right so now we understand this the third set is only two green cubes you guys get it I asked yesterday if you did any development work before like web or mobile app and didn't hear the answer sadly hope you can tell me um no I I haven't done any like front-end stuff or web development stuff that hasn't really been my thing in historically the closest thing to that is building like um datab based web apps where you can like explore data uh using things like plotly or wave or stuff like that um bouquet data visualization web apps but nothing beyond that good question though the elf would first like to know which games would have been possible if the bag contained only 12 red cubes 13 green cubes and 14 blue cubes in the above example games one two and five would have been possible if it had been loaded with that configuration okay so in game three at one example he pulled out 20 red cubes which would be more than how many red cubes he's asking it would be possible for hover game three would have oh yeah so it's explaining that determine which games would have been possible if the back had been loaded with this okay so we can do this what is the sum of the I the IDS of those games okay so that's an interesting way to do it so the thing I need to actually put in here into the solution is going to be the sum of the IDS and IDs are just numbers like this game one two so that's a little trick it's not like the count of IDs it's the sum I wonder if that throws people off when they're doing this one um all right so we're just going to have to parse a lot of data here let's get our puzzle input let's save this why is my computer so slow day two day two input there we go hi sub D solv my first AOC just yesterday what a timing for this live nice did you solve yesterday's Olympus thanks for following by the way [Music] um so let's go here we're going to rely heavily on on um on coding assistance I'm not too proud for that I don't know if that's against the rules guess there aren't any hard and fast rules um so let's try day two part one and make a notebook all right day two AOC 2023 I don't usually code in vs code but I do like the fact that we can we can uh get some suggestions from from co-pilot see this is a text oh I need to make a import a uh let's go ahead and uh look at this file so this day2 input file is like this so the way I'd like to format this data is it always the same number of tries um let's see one two three uh it looks like if we look at the semicolons it looks like it's always the same number of tries per day so let's go ahead and do it this way let's go to day two uh okay so uh let's see what collab can do for us uh open a file with file called D2 input.txt uh iterate over each line parse out the data splitting on colons and semicolons let's see what it comes up with could write this myself but might as well just get some help with it all right so now it's printing out each one now we need to parse each of these so uh we could probably use Rex to print out each of these but we're going to actually make a data frame this probably isn't I don't know if the whole point of this is to go fast like speed wise but this is small enough data I don't think it matters um let's go to okay so for each data we're going to find the game which is going to be here and we'll locate uh yeah let's do print the data let's print data one the length of this make sure that they're all the same no so it's three and six so what I'm trying to find out is if this okay so it didn't actually parse this on the commas so then what we want to do is so when when we split on this colon there's always going to be there's so this is going to be like our game and this is going to be our uh results and now we want to print the length of the results oh that's not going to be same too so uh let's take the results and then split those on uh comma because those are comma separation all right let's print the results all right so that's like this oh it is semicolon okay so we're going to split with semicolon and now we have for each of ours hello Blue Soul live welcome so now we have um each run for this and it has the results so let's let's actually print these results now that split right correctly so it isn't so the first Run's three and then six and then four so if I look at this input data are there this has one two three different runs the next one's one two three okay so it isn't it isn't the case that it's always the same number of pulls from the bag so it that can vary that's interesting um so then basically we want to for each results yeah for each of these results let's break out of this and then let's actually break out of this break uh yeah this won't work break so the results so now we'll have game which is going to be like this game one and we should probably just parse out the game number so if we split this on the space and do negative 1 and that's going to be integer right game number so each time we iterate through we'll pull out our game number and then we're going to Loop through each result so for each results we could use Rex to pull this out uh use redx to extract the number before the text green so let's do this right so we have R um extract the int value before the text green in a string if it exists using Rex so this is example of how we would do it match group so this is the digit before the value green um it's showing us our example is five so if we did this on our our string is going to be like this which is let's do our example r let's see what we get we get seven okay so this is right um green match and then this is probably not the best way to do it but okay green red and blue green red and blue [Music] um and we'll put this in each of these import re X right our string is actually going to be R then we could save this probably as a dictionary right like a dictionary of these results let me know in chat if if this makes sense any questions game number so we have our game number we're going to have a game number we're basically going to pend so if I run this green match so this will be false let's go back here and see what this was if I do group one and it doesn't exist green match red match 618 this is for result where it's 618 in blue but what happens if this is is one where there aren't all the colors existing we'll figure that out later so we'll we'll have our let's make a results dictionary where we will take in the game number and we're going to make a list which we will append we'll append this list I think this will work with int green match yeah let's see if this works but it's probably going to break when there aren't all those three existing n type has no group so how are we going to do how are we going to handle this if it doesn't have that value then we can't run an integer on it so maybe we just remove this int and we deal with that later once we have it in a data frame or something right oh yeah it has no group has no group um so that if green match so that means if we have a green one so why don't we make just like a results which is like green red red and blue and if green match then the results of green is going to be this if red match it's going to be the same thing and if blue match We'll add blue otherwise it's going to be zero maybe we make these negative one just to make sure that we don't mess that up um just trying to get a solution not NE necessarily the most elegant solution but get a solution and then we're going to append this the game number we're going to append with this let's see if this runs and then let's see what our results dictionary looks like it looks like this okay so what I did here um an anonymous gifter gave five subs thank you so much Anonymous gifter that's very nice of you I appreciate I don't know where my sounds are do I not have my alerts sorry if I missed that um maybe I don't get alerted for Subs but I appreciate that that's really nice of you all right so we're doing Advent of code and what I did here was I took this day2 input and we basically use red Jax so we iterated over this raw input data which has a game number and then we split on these semicolons first we split out the game number then we're iterating through each of these trials and we're storing the number of values we got for each of those trials into a list of dictionaries so if I do a data frame if I make this into a data frame because I love data frames now it's not going to work all arrays must be the same length so the the problem we're running into here is yeah the results are not always the same so maybe what we want to do is not have a dictionary instead have a results like a list results and have this have game number and that's going to have our game number all right so now it's going to store our game number which will repeat a bunch of times um and then we'll just append this with our results cuz now it will already have it will already have our results in it so our results list now will look like this game number the number of for each and it's negative one if that color did not exist um or was not chosen make this into a data frame Advent of code day two all right so we have a 100 different runs and yeah so here's our results data frame now we need to go back and look at the question they asked anyone say stuff in chat no no one's saying anything so I'm assuming people are following around along and understand what's happening or are just having a good time otherwise so we made a data frame with our results data we basically just all we've done so far is parse this into something that's usable and now what what the problem says let's look at the problem statement on Advent of code day two determine which games would have would have been possible if the bag had been loaded only with with only 12 red cubes 13 green cubes and 14 blue cubes so let's just try this if that's true we basically we could query this where red is less than or equal to 12 and green remember we made the -1 when it doesn't exist so that's always going to pass this and blue is -12 so that's going to show all the runs where this is possible okay so basically basically let's do it like this instead of a query red is less than or equal to 12 um and green is less than equal to 13 okay so these this is going to give us a Boolean true or false if it passes this test so we're going to make a new column that says P test if it passed the test now we're going to group by each game number and it needs to always pass the tests so we could do a mean the mean should be one so if we then sort the values ascending equals faults and run a head command on this let's see how many so all the ones where it's one means that it completely passed the test for each of the trial runs so basically um I don't need to do this sort value stuff I just need to do reset Index this is going to make it into a percentage of games passed by game number and then I'll take this DF percent query past test equals 1 and this is going to give us all of the games where it passed the tests and then we're going to take the game numbers and then we're going to sum those 2121 uh this I hope is correct I hope this is correct but we're going to test it here I have they do this in two different parts so maybe um let's also print this solution maybe the second part's going to be harder but let's see if this worked let's see if it worked that's the right answer we got a gold star yay party party people let's let's get some uh Loi beats going to party for that who's excited can we get a clap in chat anyone clap hey LeBron Jenkins did you see we solved day one we solved the first part been subscribed to YouTube and saw you live jump in here hey thanks thanks for coming staus encoded clap nice we got one a single clap for solving this first one we solved it in in good time I don't know what the usual amount of time it takes people to solve these things uh but less than a half an hour and that's just with getting set up and stuff okay so let's do part two ah this is where I don't like vs codes um Jupiter because the keyboard shortcuts are different but let's do part two now okay the elf says they've stop producing snow because they're oh we get into figuring out why the snow is not there they just kind of breezed over that in the first one all right Del says they sto producing snow because they aren't getting any water he isn't sure why the water stop however he can show you how to get the water source to check it out for yourself it's just up ahead okay so we got a walk as you continue your walk the elf poses a second question in each game you played what is the fewest number of Cubes for each color that could have been oh this is now that we have our data in this format if it if this is what I think it is we're going to do it in two seconds what's the fewest number of Cubes for each color that could have been in the bag for each game again consider the power of a set of Cubes is equal to the number of red green okay so maybe let's read this as you continue again consider the games from earlier in game one the game would have been played with this fuse four red so it's basically the maximum value that it sees two green and six blue cubes if any other color had been one one fewer Cube the game would not would have been impossible game two with one red I I think I get it so I'm not going to read all that the power of a set of Cubes is equal to the numers of red green and blue cubes multiplied together the power of the minimum set of cubes in game one is 48 so okay the power is multiplying that minimum value together and then we add up all those what is the power of the sets Okay so that's a little bit tricky because they're making us do the power for some reason so let's just take so this is basically find the minimum number for for each Cube super easy in Python and pandas now that we have this done this is um this is going to be good this is going to be good okay so if we gr Group by the game number now and we take red green and blue we've take the maximum number yeah we take the maximum number um of each color then that's the minimal possible for each of those runs so then we take DF Max what does it want us to do it wants us to take the red I believe this is how the power equation Works times green time blue and this is our power look three lines of code it's going to take us if this works should probably not get too ahead of myself here and then we sum this right let's just double check that's what it's asking for the power is the numbers multiplied together that's what we just did here multiplied them and then what's the sum of those y we got it three lines of code for this let's make let's call it solution part two solution boom we're done hey if you're watching over in YouTube and you want to come over to Twitch that's great um so anyone out there also do Advent a code anyone else on in the chat clap clap clap CP we got some other clappers guys we're done can I see the code okay yeah so let's talk through this code just a little bit again not the prettiest code but we finished this pretty quickly um all right data input is like this and I basically what I first thing I wanted to do was parse this data and this is my wheelhouse right because working with data in Python especially small data like this it it's like parsing and and using Panda's data frames so I wanted to parse out for each game basically make this uh stored as the game number then parse out each of the runs I'm going to call them runs uh everything in between or separated by a semicolon into runs and then I wanted to count the number of each color for per run so that's what we did here we basically opened up this file then we went through each line of the file and then we applied this operation so this could be like its own function this could be like process line and it takes in the line and it returns result so if I wanted to clean this yeah I don't want to do this because we're pending that list multiple times and each of those runs um so but this this is basically its own Pro processing of each line um here's where we split on the colon so the left of this is the game the right of it is the result so we basically just splitting on this this colon then we're converting the game number into an integer so we basically just split on a space here and take this number part and make it an integer and then we start working on the right side so the right side we have to split on semicolons first and then we iterate through each of these chunks and we use re X to find the words green red or blue and extract out the integer before this whole time I'm just saving a list of each line basically so then that list looks like this the list looks like this oh yeah also if the doesn't find a match for each for the color then we're going to default it toga1 just so it's not AC accidentally forgotten so you can see here game number one has been parsed into this 7145 which if we look at this it's 7145 846 wait this only has eight red four green right so this should be eight red four green and negative one blue that's just our placeholder I could have made this a nan value too like a num I not a number but negative-1 seemed to work then we convert this list into a data frame once you have a data frame then everything else is so simple because all they're asking us to do is basically do some simple M um checks on this so we needed to find out if it would pass this test of there being at least no more than 12 red cubes 13 or 14 uh 13 green or 14 blue and we just basically ran this test on each of the runs and then we needed to find we needed to ensure that for each of the game numbers all of them passed so you could see that like for game number one this second trial passed but the other two failed so so that game failed our test and then the kind of tricky part I thought was that once you find that you don't just sum up the number like if we wanted to just take the games like the length of this you would think they were just trying to see how many of the 100 passed that test which would be 43 but that's what with the problem asked for the problem asked us to then take these game numbers which are integers and sum them and then the second part was very easy once we had this data frame we basically needed to um oh shoot that mess things up oh no no it really was three lines of code I like threw myself off thinking that part two actually took more than these three lines of code but that's all it took so we basically needed to find uh the maximum value for each of the colors in each game and I guess we were lucky because for each game if that maximum value was ne1 that could have been true uh so I think I just just got lucky that that case never occurred like one of the colors always exists in each of the trials is what I guess that means and then we computed this power and summed it hope that makes sense hello Rob love your content uh xcode subscribe with Prime thank subscribe for 12 months thank you xcode 12 months wow any plans for the next POG Champs we'll have to wait and see I have I have no plans for it but that doesn't mean that it's not going to happen hi was totally mad you can't see my messages on YouTube sorry about that yeah it's I tried to put it into the YouTube uh comments that you need to come here on Twitch to chat we're trying to get chat all in one location yes AOC was very fun that was fun I have a question use negative one for the default value uh value for no cubes pulled there a game of only two colors yes so oh so kavak caught what I just said so I caught that afterwards also um yeah this how would this work yeah if I defaulted this to zero then I think this would have worked because essentially the maxim count is zero yeah so if there were runs if there are runs where it just by chance and that could have happened that no one of these colors were chosen then the maximum value for that should be zero not negative one so really I should change basically if I change this to zero we should be good to go uh this it shouldn't change this which is 21101 and it shouldn't change this which is 48264 yeah it's the same number we can also make this an integer but that was a good point okay Advent a code is fun how does it work with the leaderboard like I I I think it depends on how quickly you solve it right below as the Advent and code overall leaderboard these are the 100 users with the highest total score getting a star first is worth 100 points second is 99 okay so you need to be one of the first 100 so you basically need to be up at midnight every night to to do well on this that's fun but I there's no way I could keep up with that um too disruptive Rob why instead of why instead of negative one why not checking for none um the leaderboard is all speed oh yeah um you're right yeah I just did negative one because it's the first thing that came to my to mind if you were watching when I did it when I was solving it I first did zero and then I was worried about it being zero um throwing us off somewhere so I figured negative one would uh make it more obvious when I eventually had a bug somewhere but then we didn't get a bug so we just got lucky like that can you accept my LinkedIn requests and would you ever step into qml or have you already I no I haven't stepped into qml I'll try to um remember to join to do your LinkedIn request I I don't know um I get a lot of uh get overwhelmed with having a lot of those requests on LinkedIn I just don't I don't click them anymore because there's so there's a lot that come in um and I know there's like you can follow people on LinkedIn now and stuff I don't know I'm not Super Active on LinkedIn so I apologize um I was checking yes I was trying to advise than none but you couldn't see my message but great job thanks yeah so how many people in the have solved the Advent of code already the first two so I scored it looked like I scored both similar oh and I finished it at the same time of the day wow it just this is I guess my admin of code time yeah so I think we are done here we did it um less than an hour yeah 45 minutes in then we we finished it this is the power of using python because it's such uh easy to to uh to prototype and to to write stuff out and check it as you code um that's also the downside of it because it's not as structured but for solving a problem like this where speed was not the biggest issue it was uh it was very good is this like a contest the flexs who's a better at python so this is um this is advent a code it's just a coding problem each day in December or I guess until Christmas and I've never done it before and it has no requirement for what programming language you use it just um so people will solve these problems in all different types of of languages and I've heard that as it gets later in the competition speed is really a an issue especially with the time that your code takes to run so in those cases python may not do well but at least here in the first problems where um where the data was relatively small and it wasn't like an optimization problem where good to you good to go for the last day last year I was top 10 oo poison Mouse nice work what programming language did you code in oh so just for the last day in Python here it doesn't matter the language speed uh do you use another programming language when you need to be faster I don't um so a lot of stuff with python they're just trick to make it run faster like um basically using libraries which are written in C and Python's just the interface to get to it um and then other tricks are like running things on your GPU if you're running training models and stuff all right so we finished it I'm going to go ahead let's do a raid let's do a raid let's raid primagen try to get see if he's G to give us some uh shout out because you know 1.6 th000 people are watching him do Advent and code all right thanks everyone for hanging out today it was a lot of fun everyone in twitch we're doing a raid everyone on YouTube I'll see you next time that was fun bye
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Rob Mulla · Rob Mulla · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
A Gentle Introduction to Pandas Data Analysis (on Kaggle)
Rob Mulla
Exploratory Data Analysis with Pandas Python
Rob Mulla
7 Python Data Visualization Libraries in 15 minutes
Rob Mulla
Kaggle competition starter notebook walkthrough
Rob Mulla
Kaggle Competitions: A Beginner's Guide to Winning
Rob Mulla
Jupyter Notebook Complete Beginner Guide - From Jupyter to Jupyterlab, Google Colab and Kaggle!
Rob Mulla
Audio Data Processing in Python
Rob Mulla
Complete Data Science Project!
Rob Mulla
Make Your Pandas Code Lightning Fast
Rob Mulla
Image Processing with OpenCV and Python
Rob Mulla
Speed Up Your Pandas Dataframes
Rob Mulla
This INCREDIBLE trick will speed up your data processes.
Rob Mulla
Complete Guide to Cross Validation
Rob Mulla
Easy Python Progress Bars with tqdm
Rob Mulla
Economic Data Analysis Project with Python Pandas - Data scraping, cleaning and exploration!
Rob Mulla
Python Sentiment Analysis Project with NLTK and 🤗 Transformers. Classify Amazon Reviews!!
Rob Mulla
Get Started with Machine Learning and AI in 2023
Rob Mulla
The Trick to Get Unlimited Datasets
Rob Mulla
Video Data Processing with Python and OpenCV
Rob Mulla
Object Detection in 10 minutes with YOLOv5 & Python!
Rob Mulla
Pandas for Data Science #shorts
Rob Mulla
Object Detection in 60 Seconds using Python and YOLOv5 #shorts
Rob Mulla
Machine Learning for Facial Recognition in Python in 60 Seconds #shorts
Rob Mulla
Time Series Forecasting with XGBoost - Use python and machine learning to predict energy consumption
Rob Mulla
Detect Text in Images with Python - pytesseract vs. easyocr vs keras_ocr
Rob Mulla
Solving an Impossible Riddle with Code
Rob Mulla
Do these Pandas Alternatives actually work?
Rob Mulla
Time Series Forecasting with XGBoost - Advanced Methods
Rob Mulla
Data Science Uncut - Data Shootout Kaggle Competition (Aug 1 2022 Stream)
Rob Mulla
Kaggle Dataset Creation from Scratch- Data Science Uncut (Aug 10 2022)
Rob Mulla
Chess Board Computer Vision AI - Data Science Uncut (Sep 7, 2022)
Rob Mulla
25 Nooby Pandas Coding Mistakes You Should NEVER make.
Rob Mulla
DEFCON Hacking AI CTF Solution on Kaggle - Data Science Uncut Sep 11, 2022
Rob Mulla
More Chessboard Computer Vision AI - Data Science Uncut - Sep 13
Rob Mulla
Medallion Data Science Live Stream
Rob Mulla
Community Kaggle Competition Overview - Corn Classification (
Rob Mulla
Deep Learning Image Classification - Corn Kernels - Data Science Uncut
Rob Mulla
OpenAI Whisper Demo: Convert Speech to Text in Python
Rob Mulla
Yolov7 Custom Object Detection in Python Tutorial - Chess Piece Detection
Rob Mulla
Live Kaggle Coding - Enzyme Stability Prediction - Data Science Uncut Sep, 27 2022
Rob Mulla
Finding Chess Cheaters with Python! - Data Science Uncut Livestream
Rob Mulla
Data Science Uncut - Kaggle Community Competition & Chess Data Analysis - Oct 4, 2022
Rob Mulla
Flight Delay Dataset Creation (Data Science Uncut)
Rob Mulla
5 Reasons to Kaggle #shorts
Rob Mulla
♟️ Data Science - Chess Data Analysis
Rob Mulla
EXTREME PYTHON & DATA SCIENCE LIVE STREAM
Rob Mulla
What is Clustering in ML?
Rob Mulla
What is K-Nearest Neighbors?
Rob Mulla
LIVE CODING: Flight Data Exploration with Pandas & Python
Rob Mulla
Kaggle Survey vs. Twitter Sentiment
Rob Mulla
If Top Chess.com Players were STOCKS - Live Coding Data Anaylsis Stream
Rob Mulla
Data Visualization BATTLE!
Rob Mulla
LIVE CODING: Stocks & Sentiment Analysis
Rob Mulla
Progress Bar in Python with TQDM
Rob Mulla
Flight Cancellation Data Analysis
Rob Mulla
Synthetic Dataset Creation for Machine Learning - Blender and Python
Rob Mulla
The Ultimate Coding Setup for Data Science
Rob Mulla
Dataset Creation SPEED RUN - Live Coding With Python & Pandas
Rob Mulla
Data Wrangling with Python and Pandas LIVE
Rob Mulla
Forecasting with the FB Prophet Model
Rob Mulla
More on: ML Maths Basics
View skill →
🎓
Tutor Explanation
DeepCamp AI