<?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>Forem: Daniel Jaouen</title>
    <description>The latest articles on Forem by Daniel Jaouen (@danieljaouen).</description>
    <link>https://forem.com/danieljaouen</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%2F193434%2F4397b7cc-f845-467c-842b-20ebfd0165e1.jpeg</url>
      <title>Forem: Daniel Jaouen</title>
      <link>https://forem.com/danieljaouen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/danieljaouen"/>
    <language>en</language>
    <item>
      <title>My GitHub Sponsors Profile Is Live!</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Wed, 10 Feb 2021 00:38:15 +0000</pubDate>
      <link>https://forem.com/danieljaouen/my-github-sponsors-profile-is-live-5em3</link>
      <guid>https://forem.com/danieljaouen/my-github-sponsors-profile-is-live-5em3</guid>
      <description>&lt;p&gt;My GitHub Sponsors profile is live! You can sponsor me to support my open source work 💖 &lt;a href="https://github.com/sponsors/danieljaouen?o=sd&amp;amp;sc=t"&gt;https://github.com/sponsors/danieljaouen?o=sd&amp;amp;sc=t&lt;/a&gt; &lt;/p&gt;

</description>
      <category>github</category>
      <category>career</category>
    </item>
    <item>
      <title>The Hardest Thing I've Ever Done</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Fri, 05 Jun 2020 21:43:06 +0000</pubDate>
      <link>https://forem.com/danieljaouen/the-hardest-thing-i-ve-ever-done-jm4</link>
      <guid>https://forem.com/danieljaouen/the-hardest-thing-i-ve-ever-done-jm4</guid>
      <description>&lt;p&gt;They say Cornell is the easiest to get into, but the hardest to get out of.  Well, I graduated and I have proof!&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%2Fdcj24-storage.s3.amazonaws.com%2Fimages%2Fdiploma.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%2Fdcj24-storage.s3.amazonaws.com%2Fimages%2Fdiploma.jpg" title="My Cornell Diploma" alt="My Cornell Diploma"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>computerscience</category>
    </item>
    <item>
      <title>How To Improve The CS Curriculum And Have More Fun</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Wed, 04 Dec 2019 02:39:49 +0000</pubDate>
      <link>https://forem.com/danieljaouen/how-to-improve-the-cs-curriculum-and-have-more-fun-5g4m</link>
      <guid>https://forem.com/danieljaouen/how-to-improve-the-cs-curriculum-and-have-more-fun-5g4m</guid>
      <description>&lt;p&gt;I've thought a lot about modern CS curricula, and I have a few suggestions that would make them more fun for undergrad students.  They are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Teach functional programming first.
Most universities start out with either Python (a pretty good choice for a first language) or Java (a terrible choice).  Wouldn't it be great if first-year students were introduced to Haskell or Elixir?  Imagine the multitudes of newly-minted programmers writing first-year blogs about how cool monads and applicative functors are.&lt;/li&gt;
&lt;li&gt;Avoid over-optimizing algorithms (like Quicksort).
This one might be a bit controversial, but I think it makes sense.  As a first year student, we should be presenting a general overview of the field, not esoteric optimization techniques like Quicksort.  What do we replace this part of the curriculum with?  Monoids, applicative functors, monads, etc.&lt;/li&gt;
&lt;li&gt;Add a Rust-based OS course.
You will still need to learn C (since the Linux kernel is written in C), but wouldn't it be cool to have a Rust-based OS course paving the way for a memory safe future?  This one is my personal favorite.&lt;/li&gt;
&lt;li&gt;Add required webdev and mobile courses.
Most CS grads will be funneled into one of these two fields, so I think it makes sense for students to have a grasp on both before entering the field.  Plus, it would be cool to have an Elixir- and Phoenix-based course in the curriculum.  :P&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it!  I hope you enjoyed this post, and I hope you have a great day!&lt;/p&gt;

&lt;p&gt;P.S. If you'd like to support me or this blog, feel free to &lt;a href="https://buymeacoff.ee/q2YdXu5"&gt;buy me a coffee&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>career</category>
      <category>elixir</category>
      <category>elm</category>
    </item>
    <item>
      <title>I'm now on Buy Me a Coffee!</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Wed, 04 Dec 2019 01:47:17 +0000</pubDate>
      <link>https://forem.com/danieljaouen/i-m-now-on-buy-me-a-coffee-11jh</link>
      <guid>https://forem.com/danieljaouen/i-m-now-on-buy-me-a-coffee-11jh</guid>
      <description>&lt;p&gt;I'm now on Buy Me a Coffee at: &lt;a href="https://buymeacoff.ee/q2YdXu5"&gt;https://buymeacoff.ee/q2YdXu5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm not sure I've done anything to warrant a coffee (yet!), but I'm not going to turn you down if you want to invest in my future.  :)&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>On Substitution</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Wed, 27 Nov 2019 01:42:24 +0000</pubDate>
      <link>https://forem.com/danieljaouen/on-substitution-5868</link>
      <guid>https://forem.com/danieljaouen/on-substitution-5868</guid>
      <description>&lt;p&gt;I just wanted to share with you a cool tip I discovered along my journey to cut meat from my diet.  That tip is called "substitution".  It goes like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I &lt;em&gt;think&lt;/em&gt; I want is X.&lt;/li&gt;
&lt;li&gt;What I &lt;em&gt;really&lt;/em&gt; want is Y.&lt;/li&gt;
&lt;li&gt;Therefore, substitute Z for X.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A few examples:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I &lt;em&gt;think&lt;/em&gt; I want is meat.&lt;/li&gt;
&lt;li&gt;What I &lt;em&gt;really&lt;/em&gt; want is protein.&lt;/li&gt;
&lt;li&gt;Therefore, substitute Beyond Burgers for meat.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I &lt;em&gt;think&lt;/em&gt; I want is soda.&lt;/li&gt;
&lt;li&gt;What I &lt;em&gt;really&lt;/em&gt; want is hydration.&lt;/li&gt;
&lt;li&gt;Therefore, substitute tea for soda.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it.  Enjoy!&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>Lambda School Data Science Project</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Thu, 24 Oct 2019 15:36:18 +0000</pubDate>
      <link>https://forem.com/danieljaouen/lambda-school-data-science-project-fp2</link>
      <guid>https://forem.com/danieljaouen/lambda-school-data-science-project-fp2</guid>
      <description>&lt;p&gt;We recently finished a project for the DSPT2 section of Lambda School's part time data science course.  For my project, I decided to use a Kaggle data set of video game sales. The goal of the project is to predict global sales based on critic score, critic count, publisher, platform, etc.&lt;/p&gt;

&lt;p&gt;For this project, I decided to lean heavily on Randomized Search Cross Validation and xgboost's XGBRegressor (using the &lt;code&gt;mae&lt;/code&gt; &lt;code&gt;eval_metric&lt;/code&gt;). However, I first started out with a baseline of the average global sales for the entire data set. This led me to a baseline &lt;code&gt;mae&lt;/code&gt; of &lt;code&gt;0.6605&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Then after applying a randomized search cross validation to xgboost's XGBRegressor, I ended up with an &lt;code&gt;mae&lt;/code&gt; of &lt;code&gt;0.4875&lt;/code&gt;. This beats the baseline by &lt;code&gt;0.173&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I also plotted the permutation importances of all the used features, which can be viewed below:&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%2Fdcj24-storage.s3.amazonaws.com%2Flambda%2Fimages%2Fpermutation-importances.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%2Fdcj24-storage.s3.amazonaws.com%2Flambda%2Fimages%2Fpermutation-importances.png" title="Permutation Importances" alt="permutation_importances"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it.  Thanks for reading!&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Predicting Global Video Game Sales With a Linear Regression Model</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Sat, 27 Jul 2019 20:08:00 +0000</pubDate>
      <link>https://forem.com/danieljaouen/predicting-global-video-game-sales-with-a-linear-regression-model-1m42</link>
      <guid>https://forem.com/danieljaouen/predicting-global-video-game-sales-with-a-linear-regression-model-1m42</guid>
      <description>&lt;p&gt;Welcome back!  It's currently the end of week 3 of my Lambda School journey and I thought I'd provide an update on the data set &lt;a href="https://www.kaggle.com/rush4ratio/video-game-sales-with-ratings"&gt;we used two weeks ago&lt;/a&gt;. This week, we'll look at some additional visualizations of the data plus a simple linear regression model (which uses some of the pre-course work for the course).&lt;/p&gt;

&lt;p&gt;First, let's clean up the data a bit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;video_game_ratings = video_game_ratings.dropna(subset=['User_Score', 'Critic_Score', 'Year_of_Release'])
video_game_ratings = video_game_ratings[video_game_ratings['User_Score'] != 'tbd']
video_game_ratings['User_Score_Numeric'] = pd.to_numeric(video_game_ratings['User_Score'])
video_game_ratings['Critic_Score_Numeric'] = pd.to_numeric(video_game_ratings['Critic_Score'])
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Next, let's look at some scatterplots to see if we can identify a relationship between the variables we are interested in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WUuEN4eS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/user_score.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WUuEN4eS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/user_score.png" alt="user_score" title="Global Sales by User Score"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nB7UpMAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/critic_score.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nB7UpMAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/critic_score.png" alt="critic_score" title="Global Sales by Critic Score"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We see that there is a slight positive relationship between user and critic scores and global sales.  This is what we would expect.&lt;/p&gt;

&lt;p&gt;Before we actually do the linear regression, let's be sure to check for correlations between our two variables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--shT-1al_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/critic_score_user_score.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--shT-1al_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/critic_score_user_score.png" alt="user_score_by_critic_score" title="User Score by Critic Score"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It looks like there is a pronounced positive correlation between user score and critic score (which is what we would expect).  We can confirm this by calling &lt;code&gt;.corr()&lt;/code&gt; on the required feature set:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1J3XeN6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/corr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1J3XeN6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dcj24-storage.s3.amazonaws.com/lambda/images/corr.png" alt="corr" title="Correlation between Critic Score and User Score"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since we don't want to do a multiple linear regression with correlated features, we'll do individual regressions of global sales on both critic score and user score.&lt;/p&gt;

&lt;p&gt;For a regression on user score, we get a &lt;code&gt;beta_0&lt;/code&gt; of &lt;code&gt;-0.11201624&lt;/code&gt; and a &lt;code&gt;beta_1&lt;/code&gt; of &lt;code&gt;0.01213527&lt;/code&gt;.  For our training data, we get a mean absolute error of &lt;code&gt;0.762&lt;/code&gt;, while for our test data, we get a mean absolute error of &lt;code&gt;0.8202&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For a regression on critic score, we get a &lt;code&gt;beta_0&lt;/code&gt; of &lt;code&gt;-1.54676995&lt;/code&gt; and a &lt;code&gt;beta_1&lt;/code&gt; of &lt;code&gt;0.03283348&lt;/code&gt;.  For our training data, we get a mean absolute error of &lt;code&gt;0.745&lt;/code&gt;, while for our test data, we get a mean absolute error of &lt;code&gt;0.8095&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;We see from our models that there is (as expected) a positive relationship between both critic and user scores and global sales.  We also notice that critic score is the better predictor of the two features.&lt;/p&gt;

&lt;p&gt;And that's it!  You can find the completed Google Colab notebook &lt;a href="https://colab.research.google.com/drive/1Jq1QLC9x7PoovRdJbLKi_Pj_pm9l-6No"&gt;here&lt;/a&gt;. Hope you enjoyed this dive into simple linear regression.  See you next time!&lt;/p&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Hi!</title>
      <dc:creator>Daniel Jaouen</dc:creator>
      <pubDate>Thu, 11 Jul 2019 01:07:04 +0000</pubDate>
      <link>https://forem.com/danieljaouen/hi-3j26</link>
      <guid>https://forem.com/danieljaouen/hi-3j26</guid>
      <description>&lt;p&gt;Hello, world!  &lt;/p&gt;

&lt;p&gt;My name is Daniel Jaouen and I am a student in Lambda School's part time Data Science program.  I am excited to have this opportunity to learn Data Science and I look forward to updating all of you on my progress as I progress through the course.&lt;/p&gt;

&lt;p&gt;Our first assignment was to help get us a broad overview of the associated libraries (i.e., pandas, numpy, and matplotlib).  For this assignment, I chose the following data set: &lt;a href="https://www.kaggle.com/rush4ratio/video-game-sales-with-ratings" rel="noopener noreferrer"&gt;https://www.kaggle.com/rush4ratio/video-game-sales-with-ratings&lt;/a&gt;  As a long-time gamer, this data set piqued my interest.  In particular, I would like to (down the road) predict a game's global sales based on user and critic ratings.  &lt;/p&gt;

&lt;p&gt;However, for now, I just cleaned up the user rating feature (by removing 'NA' and 'tbd' values from the data frame), converted the column to numeric by using pandas' &lt;code&gt;to_numeric&lt;/code&gt; function, and then classified the data into "high", "medium", and "low" score rankings.  See the image below.&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%2Fdcj24-storage.s3.amazonaws.com%2Flambda%2Fimages%2Fdownload.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%2Fdcj24-storage.s3.amazonaws.com%2Flambda%2Fimages%2Fdownload.png" title="Classifying Video Games Based on Ratings" alt="classification"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even though it's still early in the course, I've already learned a lot through the first lecture as well as the precourse work.  Anyway, I hope you enjoyed this post and I will see you next time!&lt;/p&gt;

</description>
      <category>python</category>
    </item>
  </channel>
</rss>
