<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: dwalkup</title>
    <description>The latest articles on DEV Community by dwalkup (@dwalkup).</description>
    <link>https://dev.to/dwalkup</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F281347%2Ff23ea10b-7195-480b-877d-2c4043be6fd8.jpeg</url>
      <title>DEV Community: dwalkup</title>
      <link>https://dev.to/dwalkup</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dwalkup"/>
    <language>en</language>
    <item>
      <title>A Primer On Weight Of Evidence</title>
      <dc:creator>dwalkup</dc:creator>
      <pubDate>Fri, 31 Jan 2020 16:34:23 +0000</pubDate>
      <link>https://dev.to/dwalkup/a-primer-on-weight-of-evidence-719</link>
      <guid>https://dev.to/dwalkup/a-primer-on-weight-of-evidence-719</guid>
      <description>&lt;p&gt;In this post I will provide you with some basic information about weight of evidence and a related concept, information value. I will outline how to calculate weight of evidence and information value. I will also talk about a few guidelines and a caution for using these concepts.&lt;/p&gt;

&lt;p&gt;First of all, what is weight of evidence?&lt;/p&gt;

&lt;p&gt;Weight of evidence (WOE) is a method of encoding  a predictor variable to show the relationship it has with a binary target variable. It originated in the credit and finance industries to help separate “good” risks from “bad” risks, with the risk in that case being loan default. It has been in use for more than forty years, although WOE is most widely known in the credit, finance, and insurance industries.&lt;/p&gt;

&lt;p&gt;It is calculated as the natural log of the distribution of good customers (those who did not default on their loan) divided by the distribution of bad customers (those who did default). This can also be looked at from the perspective of events (something happening) vs non-events (the same thing not happening). In that case, the calculation is the log of the distribution of non-events divided by the distribution of events.&lt;/p&gt;

&lt;p&gt;This is the formula for weight of evidence:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwx5tbu1zirlejmsay4i3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwx5tbu1zirlejmsay4i3.png" alt="Weight of Evidence equation"&gt;&lt;/a&gt;&lt;br&gt;
or&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8zxe77wnl8uxazgmpcgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8zxe77wnl8uxazgmpcgb.png" alt="Alternate Weight of Evidence equation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The Steps To Calculate WOE:
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;If the predictor variable is continuous&lt;/strong&gt; (for example, a list of peoples' age or household income)&lt;strong&gt;: split the variable into a number of groups or “bins.”&lt;/strong&gt; This process is known as “binning.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/Tl2AK8HOHj7SU/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/Tl2AK8HOHj7SU/giphy.gif" alt="Harry Potter being sorted"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A good rule of thumb is to start with 10 bins. This is especially true if your binning strategy is to keep an equal number of data points in each bin. If that is the case, using 10 bins means each bin will contain 10% of the variable's values.&lt;/p&gt;

&lt;p&gt;The principle behind that rule of thumb is that a given bin should capture at least 5%-10% of the observations in the category. The reason is that, to a point, fewer bins do a better job of capturing patterns. As long as the number of values in a bin isn’t so large that the pattern is masked, a smaller number of bins is better. The problem with too many bins is that the smaller number of values in each bin may not be enough to capture the pattern or signal in the data.&lt;/p&gt;

&lt;p&gt;Unfortunately, the only way to determine the ideal number of bins to use is to experiment a bit. There is no quicker or better way that I know of, so we generally start with 10 bins and adjust from there.&lt;/p&gt;

&lt;p&gt;This step is skipped for categorical variables, because they are already effectively binned.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Calculate the number of events &amp;amp; non-events in each bin.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each bin should ideally have at least one event and at least one non-event in it. If there are no events or non-events in a bin, then an approximation will need to be made. A quick-and-dirty approach would be to use the probability of the event or non-event in place of WOE (this is the same as saying WOE = 0).&lt;/p&gt;

&lt;p&gt;Another approach would be to use additive or Laplace smoothing. Let's walk through how to do that.&lt;/p&gt;

&lt;p&gt;This is the formula for the adjusted distribution using smoothing:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F94xyzoup4avo2dwvuzr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F94xyzoup4avo2dwvuzr3.png" alt="Equation for adjusted distribution"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start by identifying whether it's the event or non-event that's missing from a bin. If it's both, then you'll benefit the most from using the quick-and-dirty approach from above.&lt;/li&gt;
&lt;li&gt;Since you're performing this step because you're missing events or non-events from a particular bin, the number of events/non-events will be 1 (0 events or non-events + the smoothing factor of 1).&lt;/li&gt;
&lt;li&gt;Take the total number of data points (or observations) in the bin and add 2. This comes from the smoothing factor of 1 from above, multiplied by the number of categories, which is 2 (event or non-event).&lt;/li&gt;
&lt;li&gt;Divide the number from step 2 by the number from step 3. This is the adjusted distribution of events or non-events that you'll use in step 4 of the WOE calculation. &lt;em&gt;For this event or non-event in this bin, you'll skip step 3 of the WOE calculation.&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By using smoothing to calculate an adjusted distribution, the problem of dividing by 0 is avoided.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Calculate the percentage of non-events &amp;amp; events in each bin.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is done by taking the number of events in the bin and dividing it by the total number of values in the bin. Repeat this for the number of non-events in the bin.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;&lt;strong&gt;Calculate WOE by taking the natural log of the percentage of non-events in the bin divided by the percentage of events in the bin.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ol&gt;

&lt;h1&gt;
  
  
  Weight Of Evidence Usage
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/L0YV96DdjM52IsPPFw/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/L0YV96DdjM52IsPPFw/giphy.gif" alt="Ron Burgundy and Conan O'Brien"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that you know what it is and how to calculate it, why do you want to use it?&lt;/p&gt;

&lt;p&gt;One reason is that WOE allows you to see the relationship between the predictor variables and the target variable. If WOE is a positive number, then the distribution of non-events is higher than the distribution of events for that bin or category. That means the variable likely has a weaker relationship to the target. If it's a negative number, then the distribution of non-events is lower than the distribution of events, which may indicate a stronger relationship to the target.&lt;/p&gt;

&lt;p&gt;Another reason is that you're planning to use a logistic regression model. WOE is particularly suited to logistic regression, because WOE is log-odds for a given group of values in a category and logistic regression is predicting log-odds of the target variable. This also means that the target variable and the encoded predictor variable are already on the same scale so scaling is unnecessary.&lt;/p&gt;

&lt;p&gt;Keep in mind, a consideration in using weight of evidence is the potential for target leakage inherent in using the distribution of the target values in a category to encode that category. This can lead to overfitting in your model. One way of dealing with this is to inject some random Gaussian noise into the variable during encoding.&lt;/p&gt;

&lt;h1&gt;
  
  
  Related Concept - Information Value
&lt;/h1&gt;

&lt;p&gt;You may have been wondering if I forgot about information value, since I haven't mentioned it again since the start of this post. That's because information value is closely related to weight of evidence. In fact, WOE is used in calculating information value!&lt;/p&gt;

&lt;p&gt;Information value is intended to express how much benefit there is in knowing the value of an independent variable for predicting the target variable. Where weight of evidence shows you the relationship between the independent variable and the target variable, information value shows you the strength of that relationship.&lt;/p&gt;

&lt;h1&gt;
  
  
  Calculating Information Value
&lt;/h1&gt;

&lt;p&gt;Information value is calculated as the difference of the distributions of non-events and events multiplied by the weight of evidence value, summed over all groups or bins of a predictor variable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9n2tojeimnp2ch4tm12n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F9n2tojeimnp2ch4tm12n.png" alt="Information Value equation"&gt;&lt;/a&gt;&lt;br&gt;
or&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo61373wnxx5x12jlbs0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo61373wnxx5x12jlbs0c.png" alt="Alternate Information Value equation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For each bin, subtract the percentage of events from the percentage of non-events and multiply the result by the WOE value for the bin.&lt;/li&gt;
&lt;li&gt;Add those results together for each bin in the predictor variable.&lt;/li&gt;
&lt;li&gt;The total is the information value for the predictor variable.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Information Value Usage
&lt;/h1&gt;

&lt;p&gt;According to Siddiqi (2006)[1], the information value statistic can be interpreted according to the table below.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IV&lt;/th&gt;
&lt;th&gt;Predictive Power&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt; 0.02&lt;/td&gt;
&lt;td&gt;No predictive value&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.02 - 0.1&lt;/td&gt;
&lt;td&gt;Weak predictor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.1 - 0.3&lt;/td&gt;
&lt;td&gt;Moderate predictor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0.3 - 0.5&lt;/td&gt;
&lt;td&gt;Strong predictor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;gt; 0.5&lt;/td&gt;
&lt;td&gt;Suspiciously strong predictor&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In the case of information value &amp;gt; 0.5, you should double-check your information value calculation.&lt;/p&gt;

&lt;p&gt;Having the information value for each of your predictor variables allows you to rank them accordingly and may assist in feature selection for your model. By using the variables with higher information value ranks, you are able to eliminate lower-ranked variables (assuming there are no variable interactions). That helps you avoid the so-called curse of dimensionality!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3o6gDSdED1B5wjC2Gc/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3o6gDSdED1B5wjC2Gc/giphy.gif" alt="Information overload GIF"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all I intend to cover in this post. Thank you for your time, and I hope to catch you in the next one!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;br&gt;
[1] Siddiqi, Naeem (2006). Credit Risk Scorecards: Developing and Implementing Intelligent Credit Scoring. SAS Institute, pp 79-83. &lt;/p&gt;

&lt;p&gt;All GIFs sourced from giphy.com&lt;/p&gt;

</description>
      <category>datascience</category>
    </item>
    <item>
      <title>Hey, I'm Doing (Data) Science!</title>
      <dc:creator>dwalkup</dc:creator>
      <pubDate>Fri, 17 Jan 2020 19:34:25 +0000</pubDate>
      <link>https://dev.to/dwalkup/hey-i-m-doing-data-science-36ln</link>
      <guid>https://dev.to/dwalkup/hey-i-m-doing-data-science-36ln</guid>
      <description>&lt;p&gt;When I set out to write this post, I thought I would be talking about the scientific method and how it applies to data science workflow. I had it in mind to align the steps and methods of each for discussion.&lt;/p&gt;

&lt;p&gt;Then I changed my mind.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ED-Upfii--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3aruz9bk5a16v2gcfy7d.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ED-Upfii--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3aruz9bk5a16v2gcfy7d.gif" alt="Hold the phone, Smithers"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think the more interesting discussion is about a realization I had — one of the steps of the scientific method isn’t necessarily explicit in data science. It’s still there, but that wasn’t apparent to me at first glance. This was likely due to my previous experience being more technical than scientific.&lt;/p&gt;

&lt;p&gt;Maybe there are more people like me out there and this will resonate with them too.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Scientific Method In Brief
&lt;/h1&gt;

&lt;p&gt;Here is a brief refresher on the scientific method, for those who may not have thought about it since they learned it in school. &lt;a href="https://www.merriam-webster.com/dictionary/scientific%20method"&gt;Merriam-Webster’s definition&lt;/a&gt; is “principles and procedures for the systematic pursuit of knowledge involving the recognition and formulation of a problem, the collection of data through observation and experiment, and the formulation and testing of hypotheses.”&lt;/p&gt;

&lt;p&gt;These are the general steps involved in the scientific method:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define a question&lt;/li&gt;
&lt;li&gt;Gather information &amp;amp; resources&lt;/li&gt;
&lt;li&gt;Form an explanatory hypothesis&lt;/li&gt;
&lt;li&gt;Test the hypothesis by performing an experiment and collecting data in a reproducible manner&lt;/li&gt;
&lt;li&gt;Analyze and interpret the data. Draw conclusions that may serve as the starting point for a new hypothesis&lt;/li&gt;
&lt;li&gt;Communicate results&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vsFJfYjZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vrv95yl2p5zvq767ta69.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vsFJfYjZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vrv95yl2p5zvq767ta69.gif" alt="Finn from Adventure Time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  My Thoughts And Realizations
&lt;/h1&gt;

&lt;p&gt;The first couple of steps seem self-explanatory, and are the same between the two processes. I think it’s useful to mention that I would place exploratory data analysis here in step two. It may be obvious to some, but I would also say that asking clarifying questions about the goal of your project belongs there was well.&lt;/p&gt;

&lt;p&gt;Step three is the point that wasn’t immediately obvious to me. I didn't think I was actually forming a hypothesis in the course of what I was doing. In fact, it was a more experienced data scientist who pointed out to me that I was. I just wasn't formally or explicitly stating it. There are a couple of things about this idea which I want to talk about.&lt;/p&gt;

&lt;p&gt;The first thing is simply a definition I heard for what a hypothesis is that made sense to me. It was that a hypothesis can be defined as an educated guess about the relationship between two or more variables. It seems to me that this educated guessing, followed by testing to validate (or invalidate) it, almost defines feature selection, feature engineering and model selection.&lt;/p&gt;

&lt;p&gt;The other thing is that we make a number of assumptions when we start trying to solve a problem. For instance, we make the initial assumption that the data we have gathered is all the data we need. We assume that the features we select have a relationship with the target we’re trying to predict. We assume that the underlying assumptions of the model we select have been met. When it comes down to it, we start with the very basic assumption that we can solve the problem we’re studying. This is not an exhaustive list. In a way, all of these assumptions are hypotheses, or at the least pieces of one.&lt;/p&gt;

&lt;p&gt;It also seems to me that the line between steps four and five tends to be kind of blurry. I hadn’t really articulated this for myself before sitting down to write this, but each iteration of a model is an experiment. Each experiment (should) shed light on one or more of the assumptions (hypotheses) made earlier. Assessment of the results of the model (experiment) often leads to immediate adjustments to the model or features, which is then a new experiment. We may cycle back and forth between these two steps fairly rapidly, especially in the early stages of a project.&lt;/p&gt;

&lt;p&gt;The last paragraph points to another important realization: the scientific method and a general data science workflow are both iterative processes. It seems pretty unlikely for a person to just follow the steps one time through and arrive at an accurate conclusion. Most likely, it will take several experiments, additional data collection, and reforming hypotheses to get there.&lt;/p&gt;

&lt;p&gt;At last, we talk about the final step, communication of your results or findings. There are things about this step that may not be immediately obvious. For example, it’s important to consider the audience you’re communicating your results to in order to present them effectively. A presentation for a room full of board members should look very different than a paper being presented for peer review.&lt;/p&gt;

&lt;p&gt;Another consideration is your call to action. If you are making one, make certain it’s clear and compelling. If you’re not recommending a specific action to be taken, you should try to present your findings in a way that helps to spark ideas about the next steps to be taken. To do otherwise runs the risk of devaluing your work and your conclusions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sxC_2Ey8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/cameukov855ddzzoy9yg.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sxC_2Ey8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/cameukov855ddzzoy9yg.gif" alt="Sheldon from Big Bang Theory"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Articulating these thoughts in this post has helped me to realize that I am actually engaging in the scientific process. For me, this lends a bit more gravity to the things I’m learning and practicing. It also spurs me to put a little more thought into my assumptions than I have been up to now.&lt;/p&gt;

&lt;p&gt;Hopefully, this has helped you in some way as well.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GIFs were sourced from giphy.com&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>datascience</category>
    </item>
    <item>
      <title>A Beginner's Look at Exploratory Data Analysis</title>
      <dc:creator>dwalkup</dc:creator>
      <pubDate>Fri, 20 Dec 2019 19:46:21 +0000</pubDate>
      <link>https://dev.to/dwalkup/a-beginner-s-look-at-exploratory-data-analysis-13gp</link>
      <guid>https://dev.to/dwalkup/a-beginner-s-look-at-exploratory-data-analysis-13gp</guid>
      <description>&lt;p&gt;Just sit right back&lt;br&gt;
And you’ll hear a tale&lt;br&gt;
A tale of analysis&lt;br&gt;
That started from a data set&lt;br&gt;
Saved on a laptop’s disk&lt;br&gt;
The author is a student who&lt;br&gt;
The process he has sought&lt;br&gt;
To find the things that can be seen&lt;br&gt;
In the data he will plot, the data he will plot&lt;br&gt;
The going started getting tough&lt;br&gt;
The student knew the cost&lt;br&gt;
If not for the EDA he would do&lt;br&gt;
His insight would be lost, his insight would be lost&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Frulnjkm91bd301f8d0zt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Frulnjkm91bd301f8d0zt.jpg" alt="tropical island photo"&gt;&lt;/a&gt;&lt;br&gt;
Photo by Pablo García Saldaña on Unsplash&lt;/p&gt;

&lt;p&gt;Now that I’ve had a little fun, it’s time to get a little more serious about the topic of this post, exploratory data analysis (or EDA). Much like the hapless castaways of that famous television show were lost at sea, you'll be lost in a sea of data without performing EDA.&lt;/p&gt;

&lt;p&gt;Before I get too far, however, I think it’s important to provide this &lt;strong&gt;disclaimer&lt;/strong&gt;: at the time of this writing, I am new to the data science world and processes.&lt;/p&gt;

&lt;p&gt;Part of my motivation in writing this post (despite the volume of articles on this subject you will find with a quick Google search) is to help me learn this concept and cement it for myself.&lt;/p&gt;

&lt;p&gt;As such, I’m certain there will be things I’ve missed or overlooked. Feel free to enlighten me in the comments below!&lt;/p&gt;

&lt;h2&gt;What is EDA?&lt;/h2&gt;

&lt;p&gt;I feel that defining EDA will help provide some insight into the actual process itself.&lt;br&gt;
Wikipedia defines EDA as &lt;em&gt;“an approach to analyzing data sets to summarize their main characteristics, often with visual methods.”&lt;/em&gt; &lt;a href="https://en.wikipedia.org/wiki/Exploratory_data_analysis" rel="noopener noreferrer"&gt;Wikipedia Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The National Institute of Standards and Technology says &lt;em&gt;“Exploratory Data Analysis (EDA) is an approach/philosophy for data analysis that employs a variety of techniques (mostly graphical) to&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;maximize insight into a data set;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;uncover underlying structure;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;extract important variables;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;detect outliers and anomalies;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;test underlying assumptions;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;develop parsimonious models; and&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;determine optimal factor settings.”&lt;/em&gt;
(Information from &lt;a href="https://www.itl.nist.gov/div898/handbook/eda/section1/eda11.htm" rel="noopener noreferrer"&gt;this NIST webpage&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My personal working definition is &lt;em&gt;“the art and science of reviewing a set of data, often using visualizations, with an eye toward answering a question or solving a problem.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My definition differs slightly from those above it because, generally speaking, you won’t be doing EDA on a data set without some motivating factor. That motivating factor would generally be a question you want to answer, or a problem you’re trying to solve using that data.&lt;/p&gt;

&lt;p&gt;I also feel that there is some artistry involved in doing EDA well. It’s true that there are many techniques that can be used and a general process that can be followed (the “science” in my definition). However, each question or problem and each set of data is different. Knowing how to apply the techniques and the process to your unique situation is where the “art” comes in.&lt;/p&gt;

&lt;p&gt;There are some other things I’d like to mention that bear keeping in mind when performing EDA:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foremost, focus on understanding the data. It’s easy to get lost in detailed stats and pretty visualizations, but your main goal is to get a feel for the data and how you might use it for your purpose.&lt;/li&gt;
&lt;li&gt;EDA can (and really should) provide insights or guidance regarding data cleaning, feature engineering, and model selection, but is technically separate from those things. Make notes or even changes, but at this stage you shouldn’t get sidetracked too much from gaining an understanding of the data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Okay, Now How Do I Do It?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdo12ttoo0emm48mpgepd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdo12ttoo0emm48mpgepd.jpg" alt="picture of a laptop on a desk"&gt;&lt;/a&gt;&lt;br&gt;
Photo by Glenn Carstens-Peters on Unsplash&lt;/p&gt;

&lt;p&gt;A good way to start is by answering some general questions. The answers may lead to insights, or they may lead to more focused questions. More questions usually mean more answers and (one hopes) better understanding.&lt;/p&gt;

&lt;p&gt;Common questions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do I have any applicable domain knowledge? What do I know that might help me interpret this data?&lt;/li&gt;
&lt;li&gt;How many columns/features are there? What kind of data is in those columns/features?&lt;/li&gt;
&lt;li&gt;Are all of the columns/features useful for answering my question or solving my problem?&lt;/li&gt;
&lt;li&gt;Is there data missing? Duplicate data? How will I deal with those issues?&lt;/li&gt;
&lt;li&gt;How are the values distributed? Are there outliers? How will I deal with them?&lt;/li&gt;
&lt;li&gt;What relationships do I see in the data? Do any of these relationships seem to point toward an answer or solution to my question or problem?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are a lot of tools you can use to answer these questions. Popular summary statistics of numerical values include mean or median, minimum and maximum values, and the first and third quartiles. Commonly used visualizations include histograms, box and whisker plots, line charts, and scatter plots. There are many other tools and methods that can be applied as well, and listing or describing them all is beyond the scope of this article.&lt;/p&gt;

&lt;h2&gt;An Example Of EDA In Action&lt;/h2&gt;

&lt;p&gt;In this example, we’ll be looking at the Students Performance in Exams dataset from Kaggle, &lt;a href="https://www.kaggle.com/spscientist/students-performance-in-exams#StudentsPerformance.csv" rel="noopener noreferrer"&gt;located here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For this example, I’ll mainly be using the Pandas and Seaborn libraries for Python.&lt;/p&gt;

&lt;h3&gt;Getting A Grip On The Data&lt;/h3&gt;

&lt;h4&gt;First, the General Stuff&lt;/h4&gt;

&lt;p&gt;After reading the CSV file into a Pandas DataFrame, the first thing I did was to look at a handful of records using the “sample” method in Pandas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqwe5xusq3tdz4b3upj3x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqwe5xusq3tdz4b3upj3x.png" alt="screenshot of Pandas sample function output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This gives me an outline of the sort of data contained in this dataset.&lt;/p&gt;

&lt;p&gt;Next, I used the "info" method the have a look at datatypes and the count of non-null entries in each column.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fnkxieqzdpe54g2slfwxj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fnkxieqzdpe54g2slfwxj.png" alt="screenshot of Pandas info function output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From this, I see that there are 5 categorical data columns and 3 numerical data columns. I also see that there are no null values, although that doesn't preclude placeholder values.&lt;/p&gt;

&lt;h4&gt;A Brief Look At The Numbers&lt;/h4&gt;

&lt;p&gt;I wanted a summary of the numerical columns, so I used the "describe" method:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F97ruyfnq6wz9u3k2fcv8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F97ruyfnq6wz9u3k2fcv8.png" alt="screenshot of Pandas describe function output"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The main things that stand out to me here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the minimum math test score was a 0, which I want to look at. How many 0s are there? Could it be a placeholder?&lt;/li&gt;
&lt;li&gt;The standard deviation is a little high, so test scores are a bit spread out.&lt;/li&gt;
&lt;li&gt;The minimums are significantly lower than the 1st quartile, near 3 standard deviations in difference, which indicates outliers there.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Visualizations Are Useful&lt;/h4&gt;

&lt;p&gt;This is a good point to briefly talk about the use of visualizations in EDA. Humans in general are visual creatures, and we're pretty good at pattern recognition. Visualizations take advantage of those broad tendencies by providing us with pictures we can spot patterns in.&lt;/p&gt;

&lt;p&gt;Here's an example of this idea. Taking a quick boxplot of the numerical columns visually shows that there are indeed outliers on the low end of the test scores. Those outliers will need to be dealt with, so I make a note to myself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6mue2c4lzsiux0e10t9i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6mue2c4lzsiux0e10t9i.png" alt="screenshot of a boxplot of the numerical columns"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next I looked at the distributions of the test scores, using histograms.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fxzugy95dbz590lecjy8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fxzugy95dbz590lecjy8x.png" alt="screenshot of histograms of the test scores"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These distributions look fairly normal, but they are skewed to the left. For most models, the more normal the distribution, the better. This is probably fine, but we may want to do some feature engineering on these later to make the distributions more normal. I make another note to myself.&lt;/p&gt;

&lt;h4&gt;On To The Categorical Data&lt;/h4&gt;

&lt;p&gt;Now that I have a feel for the numerical data, it's time to have a look at the categorical data.&lt;/p&gt;

&lt;p&gt;First off, again taking advantage of visual representations, I did some quick plots of the counts of each value in the categorical columns.&lt;/p&gt;

&lt;p&gt;The first three plots we'll look at are pretty basic, showing gender, lunch type, and test preparation course completion counts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5anqjxgcxknvig045rhz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5anqjxgcxknvig045rhz.png" alt="screenshot showing gender counts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fk5nruxs2va15avk993ly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fk5nruxs2va15avk993ly.png" alt="screenshot showing lunch type counts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fho43ee48n5h1frrog03t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fho43ee48n5h1frrog03t.png" alt="screenshot showing test preparation counts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From these first three plots, we can easily see that these are basically binary values:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;male vs female&lt;/li&gt;
&lt;li&gt;standard lunch vs free/reduced cost lunch&lt;/li&gt;
&lt;li&gt;completed vs didn't complete a test preparation course.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can also see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;both genders are fairly evenly represented&lt;/li&gt;
&lt;li&gt;less than half of the students receive free/reduced cost lunches&lt;/li&gt;
&lt;li&gt;less than half of the students completed a test preparation course.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are two more categorical plots to look at, with a bit more information to look at then in the first three. The next plot looks at the education level of the students' parents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fy4aghic9xog2noqr4ov1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fy4aghic9xog2noqr4ov1.png" alt="screenshot showing parental education level counts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some quick insights we can get from this plot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;About 18% of the parents in this sample didn't complete high school&lt;/li&gt;
&lt;li&gt;The majority of the parents had at least some college education&lt;/li&gt;
&lt;li&gt;The smallest education group were the parents with master's degrees&lt;/li&gt;
&lt;li&gt;There may be value in combining the college-level categories, so I make a note of that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last plot gives us information about the race/ethnicity groups the students belong to.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fluzakrnc54fqm3l527o3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fluzakrnc54fqm3l527o3.png" alt="screenshot showing race/ethnicity group counts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At a glance, this plot shows us that this category is a bit skewed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Over 30% of the students belong to Group C&lt;/li&gt;
&lt;li&gt;Less than 10% of the students belong to Group A&lt;/li&gt;
&lt;li&gt;More than 25% belong to Group D&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means that two race/ethnicity groups account for more than half of the students in this data set.&lt;/p&gt;

&lt;h4&gt;Look For Relationships Or Correlations&lt;/h4&gt;

&lt;p&gt;Correlations can only be calculated for numerical data, so this table is pretty small.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffs8qsab2owkhl2ndlm1r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffs8qsab2owkhl2ndlm1r.png" alt="screenshot showing Pearson correlations"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reading and writing test scores are highly correlated, which I would expect. Math test scores have more correlation with reading test scores than with writing test scores, but it's a small difference.&lt;/p&gt;

&lt;p&gt;We can't calculate correlation for the categorical data, but we can still look for relationships using tools like Seaborn countplots or Pandas cross-tabulations. In the interest of brevity, I'm only going to show a couple of examples but in a real scenario, I would do this for all of the categorical values.&lt;/p&gt;

&lt;p&gt;The first example shows the distribution of math scores grouped by the parents' education level.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F81d9h26zxgnkgg0o33ul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F81d9h26zxgnkgg0o33ul.png" alt="screenshot of math scores grouped by parent education levels"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looking at this plot, we can see that there is generally a larger proportion of higher math test scores as the education level of the students' parents increased. This may be a factor to consider when we begin creating a model.&lt;/p&gt;

&lt;p&gt;The second example shows the median of the reading test scores of the standard lunch group vs the free/reduced lunch group.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffism8iqpl9t7drtv1l2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffism8iqpl9t7drtv1l2g.png" alt="graph of median reading test scores by lunch group"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see that the median reading test score of the free/reduced lunch group is lower than that of the standard lunch group. The conclusion I came to here is that possibly the economic situation of the free/reduced lunch group negatively impacts their ability to study and their performance on tests.&lt;/p&gt;

&lt;h3&gt;Closing Thoughts&lt;/h3&gt;

&lt;p&gt;EDA is an important step in the data modeling process.&lt;/p&gt;

&lt;p&gt;Once you have a general understanding of the data you're working with, you will usually have one or more ideas for features you want to add or remove. After you get started working on those ideas, you will probably find that you have more questions that require more analysis of your data.&lt;/p&gt;

&lt;p&gt;This is when you realize that EDA isn't something you'll only do at the beginning of a project.&lt;/p&gt;

&lt;p&gt;Your first pass was just the beginning!&lt;/p&gt;

&lt;p&gt;In a sense, you're never really done with the EDA for a project until you're done with the project itself.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
      <category>eventdriven</category>
    </item>
    <item>
      <title>I Am Not A Unicorn (Nor A Wizard): or, Why I Chose A Data Science Bootcamp</title>
      <dc:creator>dwalkup</dc:creator>
      <pubDate>Mon, 02 Dec 2019 22:42:18 +0000</pubDate>
      <link>https://dev.to/dwalkup/i-am-not-a-unicorn-nor-a-wizard-or-why-i-chose-a-data-science-bootcamp-29ee</link>
      <guid>https://dev.to/dwalkup/i-am-not-a-unicorn-nor-a-wizard-or-why-i-chose-a-data-science-bootcamp-29ee</guid>
      <description>&lt;p&gt;Even a casual look around the web at what makes a good data scientist will reveal that many feel that a great data scientist is a unicorn: an entity that blends a unique and disparate set of skills and traits to perform what can appear to be magic with really big sets of data. Somewhat to my surprise, it turns out that I have aspirations toward wizardry.&lt;/p&gt;

&lt;h1&gt;
  
  
  How I Got Here
&lt;/h1&gt;

&lt;p&gt;I recently moved to Houston, TX from Wasilla, AK. In Alaska, I worked in the telecommunications industry for nearly 20 years, from February 2000 until July 2018. We moved because my wife, who works in the oil and gas industry, took another job that was based in Houston.&lt;br&gt;
&lt;a href="https://i.giphy.com/media/n9B5NNaPw25qg/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/n9B5NNaPw25qg/giphy.gif" alt="Moose Fighting In A Driveway"&gt;&lt;/a&gt;Moose fighting from Giphy.com&lt;br&gt;
In the course of looking for employment in my new city, I came to realize that I was dissatisfied with my job. It wasn’t a bad job. In fact, I had previously enjoyed it and it did feed my need to be constantly learning. I just felt that I needed a change from poring over packet captures and digging through signaling protocols.&lt;/p&gt;

&lt;p&gt;I have always had an interest in programming. Toward the end of my time in Alaska, I had taught myself enough Python to script some job-aid tools to streamline some tasks. I found that I really enjoyed this. It was apparent to others, as well. One day, after I solved a problem in a text-parsing script I had written, one of my co-workers told me “You know, Dave, maybe you should go back to school for that. You seem to really enjoy it.”&lt;/p&gt;

&lt;p&gt;Fast forward to the summer of 2019. I’m contemplating yet more job listings on Indeed and I get to thinking about my co-worker’s comment. I had previously seen advertisements for coding bootcamps but now I started looking at them in earnest. In the course of that investigation, I ran across a data science program.&lt;/p&gt;

&lt;p&gt;Reading about this program excited me far more than the coding program had. Tempering my excitement, I looked into the data science field to ensure it was a good fit for me.&lt;/p&gt;

&lt;h1&gt;
  
  
  What I Determined
&lt;/h1&gt;

&lt;p&gt;There are many articles on what makes a great data scientist. None of them align perfectly, though there is some general overlap. Some of the points of overlap I found were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Curiosity&lt;/li&gt;
&lt;li&gt;A love of learning&lt;/li&gt;
&lt;li&gt;Analytical thinking, especially with regard to solving problems&lt;/li&gt;
&lt;li&gt;Tenacity or determination&lt;/li&gt;
&lt;li&gt;Diverse technical skills&lt;/li&gt;
&lt;li&gt;Education, especially in statistics and math&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have the curiosity, tenacity, love of learning, and problem solving mindset. I lack the education and some of the technical skills, but I can learn the material and develop those skills. Importantly, I was still interested in the field after my preliminary research, so I decided to move forward.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sAXxIrnv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/53ehot4jzdhsmoqn2v0m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sAXxIrnv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/53ehot4jzdhsmoqn2v0m.png" alt="Pretty Unicorn Picture"&gt;&lt;/a&gt;Unicorn from NicePNG.com&lt;br&gt;
I am not a unicorn, nor a wizard, but someday soon, I’m going to make that transformation.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>datascience</category>
      <category>bootcamp</category>
    </item>
  </channel>
</rss>
