<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Collaborative filtering made easy</title>
	<atom:link href="http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/</link>
	<description>Bryan O&#039;Sullivan&#039;s blog</description>
	<lastBuildDate>Wed, 08 Feb 2012 06:41:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Matt</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-328841</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 25 Jan 2012 17:26:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-328841</guid>
		<description>Thanks for the code Bryan. A warning to anyone using it, as explained in a comment in the Haskell port, the `update` method is wrong from the second time you use it. 

http://www.serpentine.com/blog/2007/08/27/weighted-slope-one-in-haskell-collaborative-filtering-in-29-lines-of-code/#comment-75536</description>
		<content:encoded><![CDATA[<p>Thanks for the code Bryan. A warning to anyone using it, as explained in a comment in the Haskell port, the `update` method is wrong from the second time you use it. </p>
<p><a href="http://www.serpentine.com/blog/2007/08/27/weighted-slope-one-in-haskell-collaborative-filtering-in-29-lines-of-code/#comment-75536" rel="nofollow">http://www.serpentine.com/blog/2007/08/27/weighted-slope-one-in-haskell-collaborative-filtering-in-29-lines-of-code/#comment-75536</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-328837</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Wed, 25 Jan 2012 15:31:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-328837</guid>
		<description>Hey! Your link to `slope_one.py` is dead :(</description>
		<content:encoded><![CDATA[<p>Hey! Your link to `slope_one.py` is dead <img src='http://www.serpentine.com/wordpress/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ç”±google readerçš„æŽ¨èè®¢é˜…æŽ¨èçœ‹ç½‘ç«™åœ¨çº¿æŽ¨èç®—æ³• &#171; 404 NOT FOUND</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-310683</link>
		<dc:creator>ç”±google readerçš„æŽ¨èè®¢é˜…æŽ¨èçœ‹ç½‘ç«™åœ¨çº¿æŽ¨èç®—æ³• &#171; 404 NOT FOUND</dc:creator>
		<pubDate>Fri, 15 Jul 2011 08:54:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-310683</guid>
		<description>[...] http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/ Javaï¼š http://taste.sourceforge.net/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/" rel="nofollow">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/</a> Javaï¼š <a href="http://taste.sourceforge.net/" rel="nofollow">http://taste.sourceforge.net/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Slope one:ç®€å•é«˜æ•ˆçš„æŽ¨èç®—æ³• &#124; webå¼€å‘</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-307556</link>
		<dc:creator>Slope one:ç®€å•é«˜æ•ˆçš„æŽ¨èç®—æ³• &#124; webå¼€å‘</dc:creator>
		<pubDate>Mon, 27 Jun 2011 06:31:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-307556</guid>
		<description>[...] http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/" rel="nofollow">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-273281</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Thu, 21 Oct 2010 10:27:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-273281</guid>
		<description>(forget about the post above)</description>
		<content:encoded><![CDATA[<p>(forget about the post above)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-273280</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Thu, 21 Oct 2010 10:18:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-273280</guid>
		<description>Hi, shouldn&#039;t the line
  freq = self.freqs[diffitem][item]
actually be
  freq += self.freqs[diffitem][item]

?
The problems mentioned by PB are also not fixed yet ;-)</description>
		<content:encoded><![CDATA[<p>Hi, shouldn&#8217;t the line<br />
  freq = self.freqs[diffitem][item]<br />
actually be<br />
  freq += self.freqs[diffitem][item]</p>
<p>?<br />
The problems mentioned by PB are also not fixed yet <img src='http://www.serpentine.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nan Zheng</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-258930</link>
		<dc:creator>Nan Zheng</dc:creator>
		<pubDate>Wed, 28 Apr 2010 14:09:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-258930</guid>
		<description>Althogh I am not familiar with Python, I still feel this blog great as it make an easy way to applicate slope one. However, I wonder if you considered the input data scale. As if the input rating data is quite huge, can the dic still works?</description>
		<content:encoded><![CDATA[<p>Althogh I am not familiar with Python, I still feel this blog great as it make an easy way to applicate slope one. However, I wonder if you considered the input data scale. As if the input rating data is quite huge, can the dic still works?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arayana Bilgi</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-258701</link>
		<dc:creator>Arayana Bilgi</dc:creator>
		<pubDate>Sat, 24 Apr 2010 05:57:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-258701</guid>
		<description>Great code here; could implement at the site flawlessly.</description>
		<content:encoded><![CDATA[<p>Great code here; could implement at the site flawlessly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: æŽ¨èç³»ç»Ÿï¼šSlope One ç®—æ³• &#187; Beyond Search - æœ€å¥½èµ°çš„è·¯è¶Šèµ°è¶Šéš¾ï¼Œæœ€éš¾èµ°çš„è·¯è¶Šèµ°è¶Šå®¹æ˜“</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-254151</link>
		<dc:creator>æŽ¨èç³»ç»Ÿï¼šSlope One ç®—æ³• &#187; Beyond Search - æœ€å¥½èµ°çš„è·¯è¶Šèµ°è¶Šéš¾ï¼Œæœ€éš¾èµ°çš„è·¯è¶Šèµ°è¶Šå®¹æ˜“</dc:creator>
		<pubDate>Sat, 30 Jan 2010 20:12:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-254151</guid>
		<description>[...] Python çš„æœ‹å‹å¯ä»¥çœ‹è¿™ç¯‡ Blogï¼Œâ€œtutorial about how to implement Slope One in Pythonâ€ï¼Œéžå¸¸è¯¦ç»†çš„ä»‹ç»äº† Slope One ç®—æ³•åœ¨ Python [...]</description>
		<content:encoded><![CDATA[<p>[...] Python çš„æœ‹å‹å¯ä»¥çœ‹è¿™ç¯‡ Blogï¼Œâ€œtutorial about how to implement Slope One in Pythonâ€ï¼Œéžå¸¸è¯¦ç»†çš„ä»‹ç»äº† Slope One ç®—æ³•åœ¨ Python [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason DeFontes</title>
		<link>http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/comment-page-1/#comment-190049</link>
		<dc:creator>Jason DeFontes</dc:creator>
		<pubDate>Fri, 31 Oct 2008 17:28:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/#comment-190049</guid>
		<description>@Doug,

Yes, that is expected. If you put the algorithm into words (in the simplest case of only two items) it would be something like:

&quot;On average, everyone else rates Octopus with two more points than they rate Squid. Therefore, your predicted rating for Octopus should be two points more than your actual rating for Squid.&quot;

If your actual rating for Squid is 4, then your predicted rating for Octopus will be calculated as 6. If the acceptable range of ratings is 1 to 5, then you just have to truncate the prediction to make it fit.</description>
		<content:encoded><![CDATA[<p>@Doug,</p>
<p>Yes, that is expected. If you put the algorithm into words (in the simplest case of only two items) it would be something like:</p>
<p>&#8220;On average, everyone else rates Octopus with two more points than they rate Squid. Therefore, your predicted rating for Octopus should be two points more than your actual rating for Squid.&#8221;</p>
<p>If your actual rating for Squid is 4, then your predicted rating for Octopus will be calculated as 6. If the acceptable range of ratings is 1 to 5, then you just have to truncate the prediction to make it fit.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

