用 WEKA 进行数据挖掘,第 3 部分: 最近邻和服务器端库
2010-06-23 00:00:00 来源:WEB开发网最近邻技术最后的一个挑战是该算法的计算成本有可能会很高。在亚马逊的例子中,对于它的 2000 万客户,每个客户都必须针对其他的 2000 万客户进行计算以便找到最近邻。首先,如果您的业务也有 2000 万的客户群,那么这便不成问题,因为您会财源广进。其次,这种类型的计算非常适合用云来完成,因为它们能够被分散到许多计算机上同时完成,并最终完成比较。(比如,Google 的 MapReduce。)第三,实际上,如果我只是购买了一本书,那么根本不必针对我对比亚马逊数据库内的每个 客户。只需将我与其他的购书者进行对比来寻找最佳匹配,这样一来,就将潜在的邻缩小到整个数据库的一部分。
请记住:数据挖掘模型并不只是简单的输入-输出机制 — 必须先对数据进行检查以决定该选择哪种正确的模型,让输入能够设法减少计算时间,而输出则必须被分析且要确保准确后才能据此做出整体的判断。
进一步的阅读:如果您有兴趣进一步学习最近邻算法,可以按如下术语搜索相关信息:distance weighting、Hamming distance、Mahalanobis distance。
在服务器上使用 WEKA
有关 WEKA 最酷的一件事情是它不仅是一个独立的应用程序,而且还是一个完备的 Java JAR 文件,可以将其投入到您服务器的 lib 文件夹并从您自己的服务器端代码进行调用。这能为您的应用程序带来很多有趣的、和重要的功能。您可以添加充分利用了我们到目前所学的全部数据挖掘技术的报告。您可以为您的电子商务店铺创建一个“产品推荐”小部件,类似于亚马逊站点上的那个(由于根本不可能为每个顾客都按需这么做,因此需要贯彻这个独立的应用程序运行它)。WEKA 独立应用程序本身只调用底层的 WEKA Java API,所以您应该已经看到过这个 API 的运转了。现在,我们应该看看如何将它集成到您的自己代码中。
更多精彩
赞助商链接