WEB开发网
开发学院软件开发Java 用 WEKA 进行数据挖掘,第 3 部分: 最近邻和服务器... 阅读

用 WEKA 进行数据挖掘,第 3 部分: 最近邻和服务器端库

 2010-06-23 00:00:00 来源:WEB开发网   
核心提示: 最近邻最近邻(也即 Collaborative Filtering 或 Instance-based Learning)是一种非常有用的数据挖掘技术,可用来用输出值已知的以前的数据实例来预测一个新数据实例的未知输出值,用 WEKA 进行数据挖掘,第 3 部分: 最近邻和服务器端库(2),从目前的

最近邻

最近邻(也即 Collaborative Filtering 或 Instance-based Learning)是一种非常有用的数据挖掘技术,可用来用输出值已知的以前的数据实例来预测一个新数据实例的未知输出值。从目前的这种描述看来,最近邻非常类似于回归和分类。那么它与这二者究竟有何不同呢?首先,回归只能用于数值输出,这是它与最近邻的最直接的一个不同点。分类,如我们在前一篇文章的例子中看到的,使用每个数据实例 来创建树,我们需要遍历此树才能找到答案。而这一点对于某些数据而言会是一个很严重的问题。举个例子,亚马逊这样的公司常常使用 “购买了 X 的顾客还购买了 Y" 特性,如果亚马逊拟创建一个分类树,那么它将需要多少分支和节点?它的产品多达数十万。这个树将有多巨大呀?如此巨大的一个树能有多精确呢?即便是单个分支,您都将会惊讶地发现它只有三个产品。亚马逊的页面通常会有 12 种产品推荐给您。对于这类数据,分类树是一种极不适合的数据挖掘模型。

而最近邻则可以非常有效地解决所有这些问题,尤其是在上述亚马逊的例子中遇到的这些问题。它不会受限于数量。它的伸缩性对于 20 个顾客的数据库与对于 2000 万个顾客的数据库没有什么差异,并且您可以定义您想要得到的结果数。看起来是一个很棒的技术!它的确很棒 — 并且可能对于那些正在阅读本文的电子商务店铺的店主最为有用。

让我们先来探究一下最近邻背后的数学理论,以便能更好地理解这个过程并了解此技术的某些限制。

最近邻背后的数学理论

最近邻技术背后的数学理论非常类似于群集技术所涉及到的数学理论。对于一个未知的数据点,这个未知数据点与每个已知数据点之间的距离需要被计算出来。如果用电子数据表计算此距离将会非常繁琐,而一个高性能的计算机则可以立即完成这些计算。最容易也是最为常见的一种距离计算方式是 “Normalized Euclidian Distance”。它看起来复杂,实则不然。让我们通过一个例子来弄清楚第 5 个顾客有可能会购买什么产品?

上一页  1 2 3 4 5 6 7  下一页

Tags:WEKA 进行 数据挖掘

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接