<?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: Sanfer Noronha</title>
    <description>The latest articles on DEV Community by Sanfer Noronha (@sanfernoronha).</description>
    <link>https://dev.to/sanfernoronha</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%2F252587%2F926f962f-ea22-42c2-9921-d832804c1001.jpg</url>
      <title>DEV Community: Sanfer Noronha</title>
      <link>https://dev.to/sanfernoronha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sanfernoronha"/>
    <language>en</language>
    <item>
      <title>Recommender Systems for podcasts</title>
      <dc:creator>Sanfer Noronha</dc:creator>
      <pubDate>Mon, 25 May 2020 09:44:58 +0000</pubDate>
      <link>https://dev.to/sanfernoronha/recommender-systems-for-podcasts-5ckb</link>
      <guid>https://dev.to/sanfernoronha/recommender-systems-for-podcasts-5ckb</guid>
      <description>&lt;p&gt;Overview&lt;br&gt;
Recommender systems capture the patterns of people’s behavior and use it to predict what else they might want or like.&lt;/p&gt;

&lt;p&gt;Why recommender systems ?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Broader exposure&lt;/li&gt;
&lt;li&gt;Possibility of continual usage or purchase of products&lt;/li&gt;
&lt;li&gt;Provides better experience&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Goals&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build a recommender system/systems for various use cases of a podcast system.&lt;/li&gt;
&lt;li&gt;Come up with new ideas to enhance the user experience while interacting with the system.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Types of recommender systems we will look at&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Content-based : Tries to figure out what a user’s favourite aspects of an item is, and then recommends items that present those aspects.&lt;/li&gt;
&lt;li&gt;Collaborative : Finds similar groups of users, and provides recommendations based on their taste.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Content-based recommender system
&lt;/h1&gt;

&lt;p&gt;First let us consider a scenario where we have 6 podcasts out of which our user has heard three. This is a use case in which we look at the current preferences of a current user and recommend more podcasts to that user. We will cover new users later.&lt;br&gt;
So we have&lt;br&gt;
6 podcasts and 3 have been heard by the user&lt;br&gt;
We can work with the genres of the podcasts and with the reactions(ratings,duration of listening,number of episodes heard, etc) by the user.&lt;/p&gt;

&lt;p&gt;We will create an input user ratings vector which will have the ratings(or other metrics mentioned above in numerical form).&lt;br&gt;
Next, we will one-hot encode the user rated podcasts into its respective genres.&lt;br&gt;
For example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2nd7uwoc9vcrfdnyu52g.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F2nd7uwoc9vcrfdnyu52g.PNG" alt="One-hot encoding" width="682" height="147"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s assume the user gave ratings for podcasts 1 to 3 as follows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjugmc3rmmhrwgbunlbef.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjugmc3rmmhrwgbunlbef.PNG" alt="User ratings" width="143" height="109"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we will multiply our input user ratings matrix with the podcast matrix as above &lt;br&gt;
We get the weighted genre matrix:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnhkr1sn52ige92ztxthz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fnhkr1sn52ige92ztxthz.PNG" alt="Weighted genre matrix" width="683" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This matrix shows the interest of the user in each genre based on the podcasts listened to by the user.&lt;br&gt;
We will now aggregate the weighted genre matrix and normalize it.&lt;br&gt;
We have the user profile matrix&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmwr9jwyyko4e0tu5oe5j.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fmwr9jwyyko4e0tu5oe5j.PNG" alt="User profile matrix" width="682" height="75"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let’s tackle the remaining 3 podcasts which the user hasn't interacted with...yet.&lt;br&gt;
One-hot encode the remaining 3 podcasts as above.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxc6zv4namk08nyvap21z.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxc6zv4namk08nyvap21z.PNG" alt="Alt Text" width="682" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if we aggregate or sum over the podcasts based on the above table we get the following vector&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqbgk2d5cfclwuvb96r9c.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fqbgk2d5cfclwuvb96r9c.PNG" alt="Recommendation matrix" width="184" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Therefore, podcast 4 is most probably likeable by our user.&lt;/p&gt;

&lt;p&gt;This was an example of content-based recommendation.&lt;br&gt;
I will be writing about collaborative filtering soon! ;)&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>python</category>
      <category>recommendersystem</category>
    </item>
    <item>
      <title>How did you learn Machine learning and data science?</title>
      <dc:creator>Sanfer Noronha</dc:creator>
      <pubDate>Fri, 15 Nov 2019 17:16:47 +0000</pubDate>
      <link>https://dev.to/sanfernoronha/how-did-you-learn-machine-learning-and-data-science-4d86</link>
      <guid>https://dev.to/sanfernoronha/how-did-you-learn-machine-learning-and-data-science-4d86</guid>
      <description>&lt;p&gt;Hi. Gonna start with ML soon. Would like to know your learning stories and the best way to learn machine learning with python and then move on to Deep learning.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>machinelearning</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
