-- İstatistik, Java

İşbirlikçi filtreleme

İşbirlikçi filtreleme (İB) bilgi için filtreleme süreci veya veri kaynakları, görüş açıları ve çoklu istemciler aracılığı ile kolektif filtreleme tekniklerini kullanan desenlerdir (pattern). İşbirlikçi filtreleme uygulamaları çok büyük veri setleri ile ilgilenir). İşbirlikçi filtreleme metotları birçok farklı veri setine uygulanmıştır. Bu veriler tahmin etme, görüntüleme, izleme amacıyla toplanan  (finansal veri, finansal kuruluşlar tarafından birçok finansal kaynağı birleştiren veriler veya kullanıcı verilerine odaklı elektronik mağaza ve web 2.0 uygulamaları)  verilerdir.

Birçok kullanıcının beğenilerini toplayarak (İşbirliği ) bir kullanıcının ilgilendikleri hakkında otomatik tahminlerde bulunma metoduna filtreleme denir. Â İşbirlikçi filtreleme (İF) yaklaşımının altında yatan temel varsayım geçmişte kabul edilenlerin gelecekte de kabul edilebileceğidir.

Örneğin İşbirlikçi filtreleme veya tavsiye sistemi ile bir kullanıcının beğendiği, beğenmediği televizyon programları bir liste halinde ele alındığında, o kullanıcı için hangi televizyon programlarını sevebileceği kestirilebilir.  Bu tahminler kullanıcıya özeldir ancak birçok kullanıcıdan toplanan verilere dayanmaktadır.

Metodoloji

İşbirlikçi filtreleme sistemlerinin birçok biçimi vardır ancak en çok kullanılan biçimleri 2 adıma indirgenebilir.

  1. Aktif kullanıcı (beğenileri kestirilen kişi ) ile aynı oylama desenlerine sahip kullanıcılara bak
  2. Aktif kullanıcıya tahmin yapmak için 1. Adımda bulunan verilere bakılır.

Bu tip filtreleme işlemi kullanıcı bazlı İşbirlikçi filtrelemedir  ( User Based Collabrative filtering )

Alternatif olarak Öğe bazlı işbirlikçi filtreleme ( Item Based Collabrative filtering )  Amazon ile popüler olmuştur. ( X’i alan kullanıcılar ayrıca Y’yi de almıştır )

  1. Öğeler arasındaki ilişkileri belirleyen öğe-öğe matrisi oluştur.
  2. Aktif kullanıcıya tahmin yapmak için matrise ve aktif kullanıcının verisini kullan.

Kullanıcı bazlı işbirlikçi filtreleme

  • Her kullanıcıyı diğer her kullanıcıyla karşılaştırılıyor.
  • Veri seti büyüdükçe her kullanıcıyı diğer her kullanıcıyla karşılaştırmak yavaşlıyor
  • Ürün sayısı  çok olan bir sitede  kullanıcılarının zevklerinin örtüşmesi az olabilir. Bu da hangi kullanıcıların birbiriyle benzer olduğunu bulmayı zorlaştırır.

 

Öğe bazlı işbirlikçi filtreleme

  • Kullanıcı tabanlıya göre daha hızlı sonuçlar verebilmekte. Ön hesaplama yapılması gerekiyor.
  • Yoğun olmayan verisetlerinde daha iyi sonuçlar vermektedir.  Yoğun verisetlerinde uygulandığında kullanıcı bazlı işbirlikçi filtrelemeye benzer sonuçlar vermektedir.

Uygulamaları

Amazon , Digg , Ebay , Google News , Hulu ,  imdb ,  iTunes , Last.fm , Netflix , StumbleUpon

Örnek Uygulama

Tür : Kullanıcı bazlı
Algoritma : Öklid uzaklığı
Veri :  943 kullanıcı’nın 1682 film için verdiği 100.000 oy
Amaç : Kullanıcıların beğenilerinin örtüşme oranının bulunması (0 – 1 aralığında )

UygulamaUygulamanın kaynak kodu

Kaynak : http://en.wikipedia.org/wiki/Collaborative_filtering

Yorumla

Yorum

  1. teşekkürler ismail abi. güzel çeviri.
    örnek uygulama için ayrıca teşekkürler üstünde çalışacağım 🙂

  2. [email protected]

    Uygulama derlenirken u.data bulunamadı diyor bu sorunu nasıl hallederim??