Absolute Beginners Analysis of Chicago City Service Data

Rhys and Aaron Stubberfield walk through analyzing Chicago 311 service requests using AI to write Python code. They cover data cleaning, exploratory analysis, and mapping with Folium, plus discuss how AI changes learning to code and what skills matter as automation spreads.
Chapters
Python is the world's most popular programming language, and if you want to be a data scientist, you need to know Python. That's been true for years, but in the last few months, something has changed. Generative AI is now good enough to write most of your code for you, and that changes how you should learn Python for data science. So today we're going to get started doing data science tasks using Python, but we're going to use AI assistance. And instead of writing the code directly, we're going to be prompting for it. So this will be a prompt-along rather than a usual code-along that you may have seen before. So we're going to be looking carefully at the code and the outputs that are generated, and the focus today will be on data manipulation tasks. Our guest today is Aaron Stubberfield, a manager of data governance and AI at Ingredeon. Aaron, I'll bring you on stage.
Hello everyone. Hi, thank you. Thank you, Rhys. Thank you for the opportunity to chat and looking forward to it.
Yeah, great to have you. Aaron is a 3-time DataCamp instructor, having created Joining Data with Pandas, Supply Chain Analytics in Python, and Data Warehousing Concepts. And 250,000 DataCamp students have now taken these courses. So Aaron is an experienced data professional with a varied background in sales, R&D, procurement, and supply chain. And he was the Ingredeon Professional of the Year in 2019, chosen by over over 11,000 employees. So that is, yeah, that's quite a feat. So yeah, congrats, Aaron, even though it's a few years past the date. But yeah, in very, very capable hands today. So yeah, without further ado, I'll hand over to you.
Yeah, thank you. The screen share come up? Yep, perfect. So today, thank you all for joining. I'm going to do my best to kind of walk you through analysis with the Chicago 311 data, which is really excited to kind of share. All right, I'll skip this page or be really brief. This is just a little bit more, as Reese has already given a great rundown. Again, I worked in the data science and data analytics areas for a number of years, over 20 years now. Worked at Microsoft previously. My current role now is in data science field at a food ingredients provider called Ingredion. But why do I teach? I'm really excited. I think Python is a great tool. Data science has been a love and passion of mine for a number of years, so I'm happy and always to try to make information available to others. We go to the next one. I just want to give a little bit of background of the dataset. I am a Chicagoan. And I thought this will be a good place to start. In Chicago, there are, you know, for non-emergency service requests, we have a dataset we call, or a phone line that's called 311 Data. You can make requests as a resident for things like potholes in the city streets, graffiti, noise, or other issues that you're running into. It could be like, I'm missing a trash can and I need, I'd like to request a replacement. For that. In this dataset, this data is made publicly available for free. I decided to— it's a huge dataset that covers a number of years, but I said let's sample it for the last 7 months and to look through. There are 40 columns in the dataset, so again, it gives you a good example of a real-world dataset with a lot of columns, a lot of rows, a lot of different types of information. What we want to cover today. I'm hoping to talk a little bit more and share, let's say, writing real Python code, as well as how you might use AI to effectively prompt the tool to help you generate the code, as well as analyzing and visualizing the data, and potentially if we have time, to build out a map of our 311 dataset. Let's get into it. Or one last thing before we start jumping into the notebook was more about how to write a good AI prompt. I thought it would be useful before we start that I'll share some of these details. I expect that I will be repeating them often in this presentation. That one, first, when you're writing prompts, I found to be really helpful when you're really specific and detailed about what you're looking to get the tool to do. As well as, you know, for example, instead of just saying analyze my data, you know, give more details with that information, you know, maybe exactly what column, what operations you're looking to do. Also include context where you have variable names or column names. That's useful to make sure the tool is using the, you know, it's on the same page or in line with you. I'll also say describe the output that you want. Again, if you could be detailed, if you're making a chart or graph, it may create an initial draft, but I would say it's useful to have it give more details about the colors if you have specific colors or exactly what you wanted to do explicitly. Number 4, last tip or last couple of tips, it is not a one-time task asking or ask one task at a time, excuse me. It's probably better to ask the tool to do one thing at a moment or one thing at a time so that the requests aren't too complex and you can break those requests into multiple steps. In our notebook that we're covering DataLab, we'll be able to do that in different iterations. My hope is to show you one or two requests that might generate times where it will have multiple outputs and that you as an analyst could go through and separate that out or adjust that. Finally, iterate. This is a notebook, you're updating the code. This is the first draft, it's not the final draft. Always remember that you can update, change, and reprompt the tool to get something more specific. As we're going through this, one thing I would like all of us to keep in mind is I have a set of prompts that I'm hoping us to work through and through this tool. But every time I've gone through it, AI generates things slightly different sometimes. So it will be interesting to see what we come through today. So let's just have an open mind and get into this. All right, so I'm going to switch over to Datalab. I'm starting right now with the dataset already loaded. I believe, Reese, you've shared the solution notebook and example notebook without the data loaded. If you have the dataset file here, we can give a quick example of that. In Datalabs, I found it to be helpful to just load your— you can select the file that we use. In this case, I'm using the 312 small version. I'm going to go back here to select that again and it pulls it up in our cell. This is slightly different. The first cell here is not necessarily Python, but this is like a SQL statement. But Datalabs is a great tool. The environment takes care of all those details about pulling in your data, managing your libraries information, and it actually stores the dataset as a DataFrame. That's called DF. With that, let's go ahead and start it and go to our first prompt. I'm going to also be in the AI tool, but copy and pasting my prompts in, I think it'll be a lot faster and easier for you guys to follow along if I'm not trying to fumble around and type directly into here. I want to make sure I share that with you. We already have our dataset and now load it. I'm going to remove this last one because it only loads the first 5 rows. Run that again. You have a dataset loaded. We have information that you can see in the dataset, so as like the SR number, which is the service number, the request types, You can see a couple of the columns that are in the dataset. The thing that I would like to make sure that you guys— or point out to you all are things like the columns like street names, street locations, the type addresses. We have that information, the date the request was created. Some of those columns will come up again as we're working through the dataset. Assume that we didn't have a chance to type this using DataLabs and have this great notebook and we still wanted to explore more of the dataset. One of the first prompts we can do is maybe say, hey, I have a Pandas DataFrame. Again, it's the df. I'm using the df that's been loaded in my dataset, being specific about the data that we're using. I want to write a code that shows me the different data types and a summary of the data using the describe function. Describe function in Python is a great tool that gives you general information about numeric columns. Let's prompt the AI tool and see what it generates. It's presenting back to me is printing out the column names, printing out the df types of the different column types, as well as now displaying a summary of the data using the describe function. In here, you see it called df.describe and including all. If I scroll down through the information, I get the chance to see the different column types. If it's a float object, object meaning like a string or some other value there, maybe not a number, not necessarily. See if this is a Boolean or true or false type of scenario. We get to see all of this information and as it describes. Finally, in the describe function section, it has things such as counts, how many unique rows, like the top value in each column, the frequency. We get to see through all the different columns, Most columns in this dataset have about 400,000 records. This particular column like sr_type, it has 105 unique values. We get to see this information for all of the columns in our dataset. This is a great tool to start off when you're exploring your data and you want to know more about it. Let's continue on. With the assumption is like, hey, there's 40+ rows of data here. I don't need all of this information. Maybe I'm only concerned about a subset of that data and I'm only interested in that. What I might do is then subset the data to only the necessary columns I'm interested in. I'm going to prompt the tool for the next step and tell the AI tool what I would like it to do. My prompt now says, hey, I have a DataFrame still called df because we haven't changed that. I want only to keep these columns. I have listed about, I think it's 12 or 15 columns in this dataset that I think are interesting. I wanted to write code to drop all of the columns and save the results to a new DataFrame called clean_results or excuse me, clean_request_df. Let's scroll through, see what, uh, tool has generated. In this case, it said, hey, I've taken the columns that you want to keep. I've got a list for that in here. Takes that information from the pandas DataFrame, selects the columns that we want, and copies them into a new variable called clean_request_df. Now displays the information. Now we have a new clean dataset that only has the columns that we're interested in. Let's continue on and say a normal process that I will follow when I'm given a new dataset, we need to explore more about it. Now I have my dataset that has only the columns that I'm interested in. I'll probably also look at, can I filter out or check for duplicate values? I have a prompt here in our dataset or a prompt for the notebook that will ask that question. I'm going to go back to my AI and ask the question. Now, my Pandas DataFrame is clean_request_df, again, being really specific about the variable I want to use. It has a column called duplicate in it, and this column contains true or false values. I would like to write or remove all rows where the duplicate is true and save all results as a new data file, unique request df. Being really specific about the variable names that we want is useful if you want to make sure the tool is following the way you want it to. Results were removed. So I'm gonna hit the tool and let's see where it generates. All right. So it's already done a process looking to remove, uh, use— so it's using the duplicate column, uh, looking to remove if it's, uh, filter out values that are not true, uh, and, um, excuse me, the, the true values where these are duplicate records. Saving the, uh, results into a new, uh, variable called unique_request_df. Now the calculated numbers, it calculates the number of rows that were changed. So it looks at how many rows were in the clean_df versus the unique_request_df and displays that information. So you see now the result is that there were, uh, little over, uh, 12,000 records that were removed because they were duplicate All right, so let's kind of continue on. So now we've kind of explored the data a little bit more. Maybe we're interested in making sure that we understand a little more of the inputs of the data, right? We've removed already some of the, the, the rows, uh, of the columns that we don't need. We removed some of the rows that were duplicates. Now let's explore kind of, um, what information is maybe interesting in the dataset itself. I would think maybe one area to start with is what type of requests are common for Chicago residents when they make 311 calls. I'm going to tell our AI tool to work on that. I have a prompt that says I have a DataFrame again, I keep using this, going back to it. And it has an sr_type that contains the different types of 3.1 service request information. Write code to count how many times the request type appears and save the results to a variable called request_counts and show me the top 10. I'm interested in finding the top 10 requests. Let's see what the tool returns. It's generated code already to count the number of requests specifically on SR type. It has a value counts. It filters the DF, the unique on SR type, and then it has the value counts and displays the number of the top 10 filtering for that top 10. We can see that dataset as an output, so 311 information, only call, right, is the top request count. I think this is pretty common in Chicago. There are two airports in the neighborhood, and so aircraft noise complaints also is one of the highest results, graffiti removal, and so forth. So now we get to see a little more of the data and explore that information. Let's keep going on. Maybe you want to take this information and break it down by origin. Where does this data come from? How are these requests coming in? I have another prompt that I would like to plug in. My DataFrame has unique requests DF. It has a column called origin that describes how 311 request was submitted, for example, phone blah blah blah. This is extra, extra, this is very specific tech you may not know, or if you do have that information, it's great to add to the prompt, but if it's not known, then you can exclude it. So in general, the important part is that we are asking the tool to write code to count how many requests that came through each origin type. And we're going to take a look at that. Scroll down as it's working through. What it came through was the count of requests by origin type and sorted, which was nice. It shows that phone calls, and then displays the results. Phone calls was the most requested information, requested value. We have internet, mobile devices, and so forth. Mass entry. One thing that I think is interesting and would be great to show here is that we have a list that's what, maybe 15 records, 20 records long of the different type of requests. Maybe I'm only— it says, you know, 23. Maybe I'm only interested in the first 10, right, for my analysis. I can tell the tools, and I'm gonna type this one in. Adjust the previous code to show only the top 10. This is an example of how we may take the code that we're using, present it, and adjust the analysis to update the code that we've already have. Now it was great to see that the tool automatically adjusts the tool— excuse me, automatically adjusts the output to only show the top 10 results. Again, this is a conversation. I look at it as a conversation between you as an advisor telling the AI tool what you wanted to do. And it's going and performing the task for you. All right, so let's continue on with our analysis. Maybe we want to see this information grouped together, right? So we're gonna look by which department owns this information or owns the request. So we're gonna go to our next step in the analysis. And so with my prompts, have the DataFrame called unique requests, it has a column called owner department. Now I'm interested in understanding which departments have a lot of the requests, right? And show me the top 10 busiest departments sorted from highest to lowest. Again, being really specific about what I'm looking for. All right, let's see what comes up. So the AI tool has developed code that says unique requests again and takes the owner department, counts the number of values, and is showing the top 10 results, right? We see that streets and sanitation has a large number of requests. My guess as a Chicago resident is that it's likely due to the number of potholes in the city coming from the winter to the summertime. It can generate a lot of wear and tear on city streets. But Aviation Department is likely due to the noise complaints that we saw earlier. So all really interesting kind of information. I actually think this is fun as I go through this as well as a resident of the city. All right, so maybe now our analysis, you're interested in switching it to seeing and understanding more about When do Chicagoans call or put in these type of requests? Let's switch over to when does Chicago make these calls? One of our first prompts that we can put in is, now again, I'm going back to the same unique request DataFrame. It's my clean dataset. It has a column called create hour, and that contains the hour and day for the 3-1 request type from 0 to 23. Write code to show how many requests were made and saved each hour. We wanted to plug it in into another variable called hourly_count. Again, it takes that new request DataFrame, looks for the hour column, counts those values, and then sorts that information and stores it all into a variable called hourly count. The display results are shown below. We can see most of the data— excuse me, most of the requests, my guess, are coming in. I'm just scanning through our 14 in the day, so that's what, about 2:00 PM? I think that's pretty interesting. Obviously not many requests are coming in morning or very late at night, so it tails off. Maybe I can adjust that to look at the busiest day of the week. I'm more interested in that. I'm prompting the tool to look at the requests for data frames called like created day of the week. Where I'm actually adding a column for Sunday and like the days that I'm looking for from Sunday being the first day of the week and all the way through 7, which equals Saturday. Write code that counts the requests by day of the week and shows that information again. Hopefully you've seen a pattern with the tool that I'm working through. I am trying to be really specific about the request that I'm asking. It to do. I'm also having this back and forth dialogue or conversation about what I wanted to do and for it to create the information for me. And at every time it goes through that process, I have a chance to look at the data and the code itself, right? I think this is really interesting for people who are beginning and analyzing or beginning with Python because the tool actually kind of creates a lot of code for you. And you get to learn its coding patterns or learn new coding patterns. In this case, it's pulled in, imported a package called pandas as pd. It's giving the days of the week as a map. It's mapped each of those created day of the week to the value counts and sorted the information. Stored it as a variable called raw daily counts, and then it replaces those numbers with the actual day of the week information. The first portion just looks at the raw data counts, has the day of the week, and actually maps that information on the day itself from the index to the actual day of the week value or string. That's what we get here. We have Sunday, Monday, all the way through Saturday is now as our index and our created day of the week, and also gives us the count on that information. I still see a few comments of people working through the code or having troubles with that. I know Reese is working through, but hopefully everyone is able to continue to follow along. With us. Again, I think it would be a good way for us to check and adjust this. Maybe now we have the map of the days and numbers, but we want to adjust this code itself. I may do analysis where I said, all right, the previous code gave me the days of week numbers. And daily counts, but I want to see day names instead. Update that, the code so we show 1 as Saturday, Sunday, and 2 as a Monday all the way through Friday, Saturday. This is again an example of where we get to update the code, have this conversation back and forth with the tool, and see as it generates its output. All right. It's gone through and updated the information. It's gone from what was Sunday to updated the results. Now we have a new output for our results. All right. Maybe we've done a lot of exploring our dataset, looking at the values in detail. We first started with cleaning our data, moving extra columns that we didn't need, remove duplicates. Then we started to look at some of the values that are in the data, explore that. Usually, then helpful visualize the information that we're looking for. Let's work on that. All right, so in this request that— or this prompt that I'm making, I have a variable called request_count_types, right, that we've created earlier that contains the top 10 most, uh, common 311 requests and their counts. Write code to create a horizontal bar chart, uh, and showing from the most to least common and add title, access label, and so forth to make it easy to read. Let's see what generates. It looks like the tool is importing a Plotly Express. It's also taken our top 10 request type counts. Place that in ascending order. It's now made a plot of the bar chart and looks like it did not show us results. This is a great time of in the past when I ran this pandas for plotting. Let's try to prompt it to do that. Let's just make sure I did run this code. Before I did that. Oh, I was expecting it to output the results. It looks like I just didn't run the code here. But I do now have this plot of the information as a bar chart. I personally think this may be a little hard to view and see, and I think sometimes the pandas plotting packages a little easier. Let's try that. Update the earlier code to plot the— to create the plot using the pandas package. And let's see what happens. Okay, so this is a great example of where we get to see how the code is changing. It's updated with new, new records, these being green. The old records that it's deleting are in red. And all I have to do now in Datalab is hit— should have to only have to hit run to get it to accept the changes. All right, it did accept the changes. And actually, I think the, the plot was better previously, so maybe not the best update on my part, but this is again giving an example showing you how to update and change the code. Likely what I would do is just go back and hit undo to get the code back to the format that I saw before. This gives a real-world example how we're interacting with the tool. If you don't get exactly what you want, you can undo, update, change, and keep prompting over and over to hopefully get the outcomes that you're looking for. I only have a little bit of time, so I'll keep moving forward. Now we have one plot. Let's plot maybe the hourly count. I'm going to ask it now to plot the hourly counts that contains in our 301, request data. Write the code to create a bar chart showing request volume by hour and add the title and axis clearly. All right, this tool is continuing to use Plotly for its plotting purposes. We now have hours as index, we have the number of counts, hourly counts, and it is using that in a bar chart. It's plotting hours on the x-axis and accounts on the y-axis and adding the labels to that and updating the plot chart. Now we get to see the hourly information. As I said before, I believe the hour 14 was the most used data. Or where most requests came through, and now we have a plot that shows that information specifically. Again, early hour requests, not many at all. Most people are asleep, I guess. Maybe we keep through, continue to plot our data, explore a little more. Let's take a look at maybe the average close by department. So in this case, again, we have a unique DataFrame request data. It has a column called create date and close date, which are requests as— are stored as text. Write code to convert them to dates, calculate the number of days it took to close each request, and save the results in days to close. Then group it by owner, department, and calculate days to close. Save the results to a variable called department average close time and show me the top 10 results. If you notice, I've added a lot of information here. I'm wondering if this will be example. I try to use this as an example to see if the tool is able to pick up on all these details or if we need to separate them out into different steps. But let's take a look. Let's try it out. Oh, looks like it was able to pick up on that. Here we go. It's able to— looks to pick up on all those, those pieces, right? It took the request information, it took the unique request date and the date of the close date. It calculated the days to close by taking the request, the the first date and subtracting it from the second date, the created date, and converting it from seconds to minutes or days, excuse me, from minutes to hours, right? And additionally, it starts to group the information. So department average close time. So it has that information about unique requests, groups it by owner department, days closed, the average time, sorts that information into It sorts the values based on the column. Then it says, gets the top 10 departments, looks at the department average close time and shows the top 10s and actually plots that as a figure. The AI tool did everything great. It was awesome. We now have the average close times by department. It looks like DOB or buildings. I'm not sure what DOB stands for in this case in the dataset. But Business Affairs, they seem to take the longest average to close time of over 21 days as in the information. Oops, I just clicked. Let me zoom out. Sorry, I clicked on the plot and maybe throwing that off. But it was able to reset the axis. Here we go. But it was able to show everything that we were looking for in our initial request. So let's keep moving on. Maybe we can improve the chart to change it a little bit, right? You see me do this a few times now, so I'm gonna plug into the, the prompt. Uh, the bar chart created, uh, department average close time, close time works. Update the code to add better title, rotate the axis labels so that they don't overlap, right? Add grid lines to make sure everything's easy readable and change the color to something nicer than the default blue. In this case, it's purple, but let's change this prompt to say something, change the bar color to blue. We'll just have it do that. Let's see what comes back. All right, so it's made a number of changes, mostly around improve the title, uh, kind of giving some more on city department information, uh, summation. And looks like there's issues. So now we can— it's an example of us using the AI tool to fix a problem it ran into. So let's see, it's updated our code and run up— up the y-axis argument was specified twice in the layout call. All right, we don't need it. Yes, twice here. So I'm gonna remove this, get it to accept the changes. Run error. Yes, I know. I want to remove that. Oh my gosh, I'm in trouble with this. So accept changes first. I'm going to remove dataset. Here we go. Come on. So done. And hopefully this fixes it. I don't know. Y-axis twice, right? So let's remove that from the dataset and run. There we go. So, uh, we were able to, using the prompts from the, the error, to find out that the AI tool actually wrote the same information like y-axis twice. So I needed to remove that, uh, and I had to accept the changes in the code first. So Again, real live world example of working through the analysis. I think I am about out of time, so I'll do one more prompt which was trying to get the map information to show. Again, let's pop this up. AI tool. I have a prompt here that showed me all the requests on a map in a notebook. And display it, right? So let's see. So I asked it to use the latitude and longitude data in a new unique request data frame, write Python code using the Folium library, which is pretty popular for mapping information, uh, center on Chicago, and plot each results as a data plot or a dot on the map. Save the map to variable called Chicago map and display it in the notebook. So it says Jupyter Notebook, let's just put notebook. As it continues to build out. Running the code. Let's see, still running. It's now running though and displaying it and still running as a variable called Chicago map. And hopefully this comes through. There are a lot of data points, so this take a little while. Um, to finish up. I think I actually will stop this, um, and adjust the, the code because again we run out of time. Um, instead of showing all the data points, go down here, update the code to only show a sample of 30 data points on the map. All right, the AI tool is updating the code and we have our map. So much shorter timeframe. All right, uh, with that, I'll hand it back to you to see if there are questions or other things I can help answer.
Perfect. Thank you so much, Aaron. Uh, we will get to everyone's questions in a minute. Uh, I put a note out for anyone who does want to ask a question, please do ask that now. Um, I can see a couple of you have already asked questions, so thank you for those. But yeah, for anyone else, please do ask your questions now. Uh, before those, I do have a couple questions of my own. So obviously the I guess the crux of today was getting the AI to listen to our instructions and deliver what we want. Being a data scientist now, we can use the AI to write code, but do you actually need to learn Python yourself if you want to do this as a career?
I think that— it's a great question. I've been asked this a few times. I think you can use the tools as a way to learn Python. As you saw, as we were interacting with the notebook and as it was coding, it would, you know, we make a request, it will generate code. That is one way to learn the process. By having a greater knowledge of Python, you get to help troubleshoot those problems, right? We saw an example where the code generated an error and I was trying to figure out what was causing the error. It's the knowledge of Python and some of those packages that help help with that. So it's not necessarily to be known, something you have to have a great knowledge of it just start with, but learning and using the tools to help learn will help increase your efficiency and make you a lot better.
Also, another thing that we covered throughout the session was the different packages. Now, myself, I've not been— I'm not, I'm not too up to date on Python and this was actually quite an abstract thing for me when I first came across Python and was adjacent to it. For someone who's just starting to learn Python and they want to go in the data science direction, are there any packages that you'd recommend, packages that you come across quite a lot of the time? What would you recommend for packages?
Most times the data science process is you get your data, you clean your data, You create a model or you analyze and create a model and then you need to visualize the results. For cleaning your data, Pandas is a really great Python package. For building model creation and creating different features, scikit-learn is a Python package I would recommend people learn how to use. So we have Pandas, Scikit-Learn, NumPy, and SciPy are really great tools for like really deep, like statistical models if you're using that or you need to lean on those. And finally, I would say Matplotlib or Seaborn are like great packages for visualizing your data. In this case, we were using, I think it was Plotly is another one that you can lean into. So these are, you know, As long as you're able to cover those areas, I will recommend those packages to clean, process, and then visualize your information. Cool.
We've had a question come in on YouTube. Sorry, I'm not going to pronounce the username because I can't really do it, but Milot, they say, what skill sets are companies looking for? Just before you answer this one, Aaron, I will just want to mention to to everyone that on Thursday we do have a session on how to get hired as a data scientist. So if that's something that's interesting for you, we've got a really interesting panel happening same time again on Thursday, 11:00 AM Eastern. So make sure you register for that. I can put a link to that in the chat very shortly. But yeah, going back to the question. So yeah, what are the sort of skill sets people are looking for in kind of—
Yeah, no, it's a great question. I think it's the same. Are you guys able to see? Okay, looks like I may have lost connection there. Sorry about that. I would say in general, it's the same types of skills that most companies are still interested in. So having someone that's curious, someone that can dig into and analyze our different datasets and You know, data scientists are there to help not only generate— like, the work that we do is essential for answering business questions, right? So maybe it's a churn model that you're creating. Why are users churning? That's the question that you're trying to answer. And then maybe there's a question of like, what can you do to avoid it? So someone who is curious about like the actual business question and someone who can dig into the dataset and analyze it and kind of give feedback. So these are all the kind of high, high skill sets or maybe like character traits that I think most companies are still interested in.
Got it. We've also just had a question come in that's kind of related to that. So I'll put this one up. And so Aldrin asks, after cleaning the data and you've done the analysis, how are you going to share your analysis with stakeholders. So yeah, I think that kind of covers a little bit what you're talking about, as in we're here to solve business questions, we're going to do this analysis, but what's that step? How are we sharing it with people?
Yeah, no, it's great. I think I found, depending on the organization and the group that you're working on, it may be a little different. Maybe a notebook is good enough for some individuals I've worked with in the past where I can walk through the notebook and share exactly my thought and process around it. Oftentimes, for when I was working at Microsoft and other organizations, they often prefer, like, let's say, a presentation or slide deck that you can walk through the analysis. You know, here's a business question, here's what I've done to analyze it, here are the results, and here's, you know, my recommendation based on the results that I found, is kind of how I would go through that process.
Got it. I think I've got one more question. So is there a best order to kind of learn data science skills in? Can you just jump straight into machine learning or is there kind of a bit more of a path to it?
Oh, that's a great question. I'm wondering, Rhys, if your guests later on Thursday may have a better answer than I. I just kind of jumped in because I love different parts. I got sucked into the machine learning, and then as I learned more about machine learning, uh, I realized I needed to learn more about statistics. And then as I learned that, I realized I need to better clean my data. So I kept going from one rabbit hole to the other. So I just— I don't know if there is a best way, but, uh, the path that I followed through was, uh, just trying to pick up some of the basics. And, uh, I started where I was most interested and realized the, the places I was missing, and I try to fill in those gaps as in my learning journey.
Yeah, and for anyone else who's particularly interested in machine learning, we do actually have another live session tomorrow where we're going to be looking at healthcare data. So yeah, I think the exact title of this tomorrow is Machine Learning for Healthcare. So again, same time again tomorrow, it's going to be beginner orientated. We're going to be using Python but in an AI assisted way. So if that's something that interests you and you want to learn about machine learning, then come back for tomorrow's session. So I'm just gonna have a check through, see if we've got any fresh questions. Uh, we've got a few more, so I'll put this one up now. So I've just started. Second, um, so if AI is doing all the entry-level work for these sorts of jobs, How are we gonna compete with AI for those sorts of positions? I guess maybe the question here is how do you stand out and how do you make yourself look employable as a prospective candidate?
Yeah, I think the, again, I know you have your session coming up on Thursday and the guest there will likely have maybe better advice than I have right now. But to me, what I think is interesting is if you look at it from what businesses are still trying to do, going from the point of view that I gave earlier, that businesses are trying to solve problems and understand their business. You as a perspective candidate showing that you have examples of business questions or things you have analyzed in the past will still help you stand out. Having maybe a portfolio of examples of work that you've done in the past and things that you can show to help employers understand your ability. The AI prompts are great. They're a great tool to help you go through the coding in the cycle of analyzing data faster, but they don't replace the person asking the questions and understanding, having that curious mindset about, let me dig a little deeper into this. Why is this happening this way? Why is that happening that way? That would be my advice.
Brilliant. Yeah, I think this also kind of touches on potentially having a data portfolio and being able to showcase your work as well. That's something that we've done quite a lot of content on previously. So if you, if you have a search up in our resource center, you'll find quite a lot on both data portfolios, but also data storytelling as well, which is a key part of this. So yeah, in terms of recommendations, we'll obviously be covering this on Thursday with, with our experts and how to get hired in data science. But key points would definitely be pick something you're interested in, do a couple of portfolio projects, put a portfolio together and yeah, learn how to be able to communicate that with data storytelling as well. And all of these topics that we've got content on DataCamp. So please do have a look at those. That's us at time. So we'll call it there. Aaron, thank you so much for hosting today's session. It was super useful to see how you're actually generating these insights from just a dataset and pretty much like a, a blank notebook. So yeah, very interesting stuff. And as I mentioned, we'll be back again tomorrow and Thursday at the same time, 11:00 AM Eastern and 4:00 PM if the, if you're in the UK. We'll be back again tomorrow with machine learning in healthcare and then on Thursday for how to get hired as a data scientist. So yeah, please do sign up for those and we'll see you again tomorrow and on Thursday. So yeah, thank you everyone who joined today. Aaron, thank you so much for hosting and yeah, we'll see you again next time. Thanks everyone.
Take care everyone.
More from Richie

#359 My Best Friend is AI with Valerie Tiberius, Professor of Philosophy at University of Minnesota

How AI Agents Will Work While You Sleep | Ruslan Salakhutdinov, Professor at Carnegie Mellon

#358 How AI Agents Will Work While You Sleep | Ruslan Salakhutdinov, Professor at Carnegie Mellon







