Return-Path: Delivered-To: apmail-mahout-user-archive@www.apache.org Received: (qmail 82919 invoked from network); 31 Oct 2010 02:52:03 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 31 Oct 2010 02:52:03 -0000 Received: (qmail 51238 invoked by uid 500); 31 Oct 2010 02:52:02 -0000 Delivered-To: apmail-mahout-user-archive@mahout.apache.org Received: (qmail 50974 invoked by uid 500); 31 Oct 2010 02:52:01 -0000 Mailing-List: contact user-help@mahout.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@mahout.apache.org Delivered-To: mailing list user@mahout.apache.org Received: (qmail 50966 invoked by uid 99); 31 Oct 2010 02:52:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 31 Oct 2010 02:52:01 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of goksron@gmail.com designates 74.125.82.170 as permitted sender) Received: from [74.125.82.170] (HELO mail-wy0-f170.google.com) (74.125.82.170) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 31 Oct 2010 02:51:56 +0000 Received: by wyb35 with SMTP id 35so4258682wyb.1 for ; Sat, 30 Oct 2010 19:51:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=KEj4vMXoJZ3ls+cJvZqFX4YeFITKmdC2vN8TwKKsNPw=; b=gGmBfg34Ip1xu1vnqD7N3deMpV03Rrt16AymR96s6Nw+cj0anT9f5GB5vM2U6Bk5Sz XoqJG2UfzB4jY/WG+1phNHwWvQ40I8fqfKS12qtig/EaKO+gLxwuDqjwGKAHv0d5WD1i 9rF1pS0mZBueFHmvVUAMO61YrctdLgKyPKJic= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=OrqHMaL5Sv4MPvF8YTSv0Uzn3wRBYOTXoUj4X0MaB99L+iHm+AQ2Hlz6U6FY6DXdo4 vn9qN1lARXB97gcFb7cPFxs7yPdiI9ao9C8/emV8o/yxVUf7+2zfURi0e/k5CQUabVR3 zc/gw72j1HVmMTxsNAi7Djv6hcwI/eIdyp0RE= MIME-Version: 1.0 Received: by 10.216.231.160 with SMTP id l32mr1007687weq.98.1288493494733; Sat, 30 Oct 2010 19:51:34 -0700 (PDT) Received: by 10.216.64.203 with HTTP; Sat, 30 Oct 2010 19:51:34 -0700 (PDT) In-Reply-To: References: Date: Sat, 30 Oct 2010 19:51:34 -0700 Message-ID: Subject: Re: Order-based evalution of recommenders From: Lance Norskog To: user@mahout.apache.org Content-Type: text/plain; charset=UTF-8 Yes. One algorithm is this: Given two recommenders using the same data model, request the same list of user-item prefs. The two lists have to have the same symbols, just in a different order. This order-comparing evaluator runs the algorithm against the two symbol sequences. So, if they both return the same results in a similar order, the algorithm evaluates the amount of difference. The smaller the better. If I have three "reference" recommenders that have small deltas against each other, and my recommender has a large delta against all of them, then my recommender is having problems. On Fri, Oct 29, 2010 at 4:03 AM, Steven Bourke wrote: > When you say the order do you mean the ranking of the recommendations which > are returned to the user? > > On Fri, Oct 29, 2010 at 9:57 AM, Lance Norskog wrote: > >> I've written an evaluator of recommenders that compares the order of >> recommendations, rather than the nominal preference values. I'm happy >> with how well it works now. It is a variant of 'Wilcoxon ranking'. >> Ranking is unforch N^2 for N recommendations. The "ranking" algorithm >> is, frankly, baffling but it works. >> >> http://comp9.psych.cornell.edu/Darlington/normscor.htm >> >> My recommender project uses a different numerical space for >> preferences and data models, so the existing AbsoluteValue evaluator >> was useless. This order evaluator requires that two recommendation >> sequences have the same items, but in different order. If two >> sequences are almost but not quite the same, the "Sloppy Hamming" and >> the Wilcoxon Ranking scores correlate well, so that means the Wilcoxon >> Ranking score is tuned. >> >> Sloppy Hamming: V1[N] must match any of V2[N-1], V2[N] or V2[N+1] to >> create a 'true' at position N. There must be a name for this. >> >> -- >> Lance Norskog >> goksron@gmail.com >> > -- Lance Norskog goksron@gmail.com