Recommendation systems are among most widely preffered marketing strategies.

Overview

Recommendation_Systems-ARL-and-CF

Tavsiye sistemleri, pazarlama stratejileri için sıkça tercih edilen yöntemlerdendir. Bu yaygınlığın sebebi kullanıcı ve ürünlerin kendi içindeki ve birbirleri arasındaki ilişkilerini tahmin etmede elde ettiği başarıdır. Bu projede iki farklı veri seti üzerinde iki farklı tavsiye sistemi algoritması uygulanmıştır: "Birliktelik Kuralı Öğrenimi (Association Rule Learning)" ve "İş Birlikçi Filtreleme (Collaborative Filtering)". Bahsedilen algoritmalar hakkında detaylı bilgi yazının devamında sunulmuştur.

ARL-CF

Özellikle son zamanlarda talebi artan tutan e-ticaret sitelerinin ürün yelpazesi oldukça geniştir. Bir kullanıcının bütün siteyi tarayarak istediği ürüne ulaşması ya da kullanıcının geçmiş ve anlık tercihlerine uygun ürün önerisinde bulunmak tavsiye sistemleri olmadan mümkün değildir. Tavsiye sistemleri temelde kullanıcının geçmiş bilgilerini kullanarak tercih ettiği ürünlerin diğer ürünlerle ilişkisini tespit ederek satın alma ihtimali yüksek olan ürünleri karşısına çıkarmak için kullanılır.

Association Rule Learning:

Özellikle ürün çeşitliliğinin çok olduğu veri setleri içinde gizlenmiş ilişkileri bulmak için kullanılan bir kural tabanlı bir makine öğrenmesi yöntemidir. Örneğin: bir market veri setinin barındırdığı fişlerin değerlendirilmesi sonucu Süt -> Tereyağı, Süt -> Ekmek gibi birlikte alınan ürünlerin tespit edilmesi. Müşterilerin ortak olarak birlikte alma davranışı gösterdiği ürünleri bulmak önemlidir.

Bir müşterinin süt aldığında ekmek alma olasılığı nedir? Bir müşterinin cips aldığında gazlı içecek alma olasılığı kaç kat artar? Bu soruların cevaplarından elde edilen öngörü çeşitli aksiyonlar alınabilir. Birlikte tercih edilen ürünleri, biri alındığında diğeri de alınan ürünleri tespit etmek gerek e-ticarette ürün önerisi stratejisi, gerek fiziksel marketlerde ürünlerin raf sıralaması, market konumlandırması gibi strateji geliştirmek için önemlidir. Ayrıca, bu kurallar müşteri satın alma davranışlarını kavrayabilmeyi de sağlar.

Bu birliktelikleri tespit etmek için bir sepet analizi yöntemi olan Apriori Algoritması kullanılır. Tablo-1'de formülleri ve açıklamaları verilen Support, Confidence ve Lift değerleri bulunarak sonuca bağlı çeşitli pazarlama teknikleri kullanılabilir.

Tablo-1: ARL

Birliktelik kuralını bulabilmek için bir support değeri belirlendilten sonra sırasıyla iki adımlı süreç izlenir:

1- Tüm sık tekrarlanan çift ve üçlü kombinasyonlar arasından belirlenen eşik değerin altında kalanlar elenir. 3- Elde kalan kombinasyonların support, confidence ve lift değerleri hesaplanarak güçlü birliktelik sergileyen gruplar tespit edilir. Buna göre aksiyon alınır.

2- Sık tekrarlanan Öğelerden güçlü birliktelik kuralları oluşturulur: Bu kurallar minimum destek ve minimum güven değerlerini karşılamalıdır.

Colaborative Filtering:

İşbirlikçi filtreleme yöntemleri bir kullanıcının herhangi bir ürüne olan ilgi düzeyini tespit etmek ve buna bağlı ürün filtreleyerek öneride bulunmak için kullanılır. Bu amaç için temelde iki farklı yönteme başvurulur: Model Tabanlı İşbirlikçi Filtreleme ve Bellek Tabanlı İşbirlikçi Filtreleme Yöntemleri. Model Tabanlı İşbirlikçi Filtreleme yöntemleri ise Öğe Tabanlı İşbirlikçi Filtreleme ve Kullanıcı Tabanlı İşbirlikçi Filtreleme olarak ikiye ayrılır. Ancak, bu yöntemler birlikte kullanılarak hibrit bir model de oluşturulabilir.

Kullanıcı temelli filtrelemede amaç kullanıcı davranışları ile öneriler gerçekleştirmektir. Filtreleme yaparken bir kullanıcının bir ürüne olan muhtemel ilgisini bulmak için ilk önce söz konusu ürünü değerlendiren kullanıcılar arasındaki benzerlikler ve aktif kullanıcıya en çok benzeyen kullanıcılar bulunur. Örneğin Spotify'da kişinin tercih ettiği müzikler üzerinden diğer kullanıcılar ile benzerliği tespit edilerek kullanıcıya en çok benzeyen kullanıcıların dinlediği diğer müziklerin önerilmesi. İki kullanıcı arasındaki benzerliğini bulmak içinse kosinüs benzerliği ve pearson korelasyon katsayısı en çok tercih edilen yöntemlerdir.

Ürün temelli filtreleme ise kullanıcıların verdiği oylar üzerinden ürün benzerliklerini tespit eden bir yöntemdir. Yani örneğin kişi yöntemin bir nesnesi olmaktan çıkarılarak izlediği bir filmle benzer beğenilme yapısı gösteren filmler bulunur. Diğer izleyicilerin toplu olarak farklı filmlere verdiği benzer reaksiyonlar bulunarak benzer filmler de bulunmuş olur. Korelasyonu en yüksek filmler seçilerek kullanıcıya öneri olarak sunulur.

Bu çalışmada kişi ve öğe temelli (user-based, item-based) hibrit bir model çalışılmıştır.

Kaynakça:

  1. https://www.veribilimiokulu.com/
  2. M. Kaur ve S. Kang, “Market Basket Analysis: Identify the Changing Trends of Market Data Using Association Rule Mining”, Procedia Computer Science, c. 85, ss. 78-85, 2016, doi: 10.1016/j.procs.2016.05.180.
  3. Oğuzlar, A . (2004). VERİ MADENCİLİĞİNDE BİRLİKTELİK KURALLARI . Öneri Dergisi , 6 (22) , 315-321 . DOI: 10.14783/maruoneri.678958
  4. https://burakdogrul.medium.com/overview-of-recommender-systems-and-implementations-cae13088369
  5. H. Bulut ve M. Milli, “New prediction methods for collaborative filtering”, Pamukkale J Eng Sci, c. 22, sy 2, ss. 123-128, 2016, doi: 10.5505/pajes.2014.44227.
Owner
Sübeyte
Sübeyte
Linky bot, A open-source discord bot that allows you to add links to ur website, youtube url, etc for the people all around discord to see!

LinkyBot Linky bot, An open-source discord bot that allows you to add links to ur website, youtube url, etc for the people all around discord to see!

AlexyDaCoder 1 Sep 20, 2022
PaddleOCR推理的pytorch实现和模型转换

PaddleOCR2Pytorch 简介 ”真·白嫖“PaddleOCR 注意 PytorchOCR由PaddleOCR-2.0rc1+动态图版本移植。 特性 高质量推理模型,准确的识别效果 超轻量ptocr_mobile移动端系列 通用ptocr_server系列 支持中英文数字组合识别、竖排文本

519 Jan 08, 2023
Attempting to create a framework for Discord Slash commands... yes

discord_slash.py Attempting to create a framework for Discord Slash commands... yes Installation pip install slashpy Documentation Coming soon™ Why is

AlexFlipnote 11 Mar 24, 2021
Automatically check for free Anmeldung appointments.

Berlin Anmeldung Appointments (Python) This Python script will automatically check for free Anmeldung appointments in Berlin, and find them for you. T

Martín Aberastegue 6 May 19, 2022
Python functions for opentargets.org API

What is opy_Targets? Opentargets.org uses GraphQL API to explore it's content via coding. This ensemble of functions aim is to make it easy to use the

1 Jan 10, 2022
Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖

MusicPlayer_TG Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖 Requirements 📝 FFmpeg NodeJS nod

Abhijith Sudhakaran 2 Feb 04, 2022
Biblioteca Python que extrai dados de mercado do Bacen (Séries Temporais)

Pybacen This library was developed for economic analysis in the Brazilian scenario (Investments, micro and macroeconomic indicators) Installation Inst

42 Jan 05, 2023
Nyon-stream - A python script that uses webtorrent to stream nyaa videos directly to mpv

nyon-stream A rather shitty script that uses webtorrent to stream nyaa videos di

18 Feb 08, 2022
A site devoted to celebrating to matching books with readers and readers with books. Inspired by the Readers' Advisory process in library science, Literati, and Stitch Fix.

Welcome to Readers' Advisory Greetings, fellow book enthusiasts! Visit Readers' Advisory! Menu Technologies Key Features Database Schema Front End Rou

jane martin 6 Dec 12, 2021
IMDb + Auto + Unlimited Filter BoT

Telegram Movie Bot Features Auto Filter Manuel Filter IMDB Admin Commands Broadcast Index IMDB search Inline Search Random pics ids and User info Stat

Jos Projects 82 Dec 27, 2022
A simple Discord Token Grabber sending the new token if the victim changes his password.

💎 Riot 💎 Riot is a simple Discord token grabber written in Python3 running in background and executing when the victim start their computer. If the

Billy 66 Dec 26, 2022
A Python 2.7/3.x module for Amcrest Cameras using the SDK HTTP API.

A Python 2.7/3.x module for Amcrest Cameras using the SDK HTTP API. Amcrest and Dahua devices share similar firmwares. Dahua Cameras and NVRs also work with this module.

Marcelo Moreira de Mello 176 Dec 21, 2022
Telegram bot for Whisper Message.

Whisper Bot @WhisperStarkBot A star ⭐ from you means a lot to us! Telegram bot for Whisper Message. Usage Deploy to Heroku Tap on above button and fil

Stark Bots 33 Nov 24, 2022
Projeto de estudantes do primeiro período do CIn - UFPE voltado para a criação de um sistema interativo no fechamento da disciplina IF669 - Introdução a Programação.

Projeto Game: Dona da Lua Alunos: Beatriz Férre Clara Kenderessy Matheus Silva Rafael Baltar Roseane Oliveira Samuel Marsaro Sinopse O Cebolinha apron

Maria Clara Kenderessy 5 Dec 20, 2021
Posts locally saved videos to the desired subreddit

redditvideoposter posts locally saved videos to the desired subreddit ================================================================= STEPS: pip ins

Kyrus 2 Dec 01, 2021
Fortnite Dumper for anyone's Save the World profiles.

Anyone's Fortnite Save the World Profile Dumper This program allows you to dump anyone's Fortnite Save the World Profiles. How to use it? After starti

PRO100KatYT 6 Apr 13, 2022
A Python Client for News API

newsapi-python A Python client for the News API. License Provided under MIT License by Matt Lisivick. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRAN

Matt Lisivick 281 Dec 29, 2022
Due to changes to the discord API and discord.py being discontinued

Talia Due to changes to the discord API and discord.py being discontinued, Talia development has been halted permanently A customizable economy discor

2 Mar 08, 2022
Role Discord Members (by username) from File

Role Discord Members (by username) from File Bot Setup Navigate to https://discord.com/developers/applications Create a new application Navigate to th

Dylan Orrell 3 Jan 06, 2022
Create a Neo4J graph of users and roles trust policies within an AWS Organization.

AWS_ORG_MAPPER This tool uses sso-oidc to authenticate to the AWS organization. Once authenticated the tool will attempt to enumerate all users and ro

Ruse 24 Jul 28, 2022