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
A MassDM selfbot which is working in 2021

mass-dm-discord - Little preview of the Logger and the Spammer Features Logging User IDS Sending DMs to the logged IDs Blacklist IDs (add the ID of th

karma.meme 88 Dec 26, 2022
Python based Algo trading bot for Nifty / Banknifty futures and options

Fully automated Alice Blue Algo Trading with Python on NSE and MCX for Nifty / Crude / Banknifty futures and options , absolutely FREE ! This algo tra

Rajesh Sivadasan 49 Dec 31, 2022
An Telegram Bot By @AsmSafone To Stream Videos in Telegram Voice Chat. This is Also The Source Code of The Bot Which is Being Used In @SafoTheBot Group! ❤️

Telegram Video Player Bot (Beta) An Telegram Bot By @AsmSafone To Stream Videos in Telegram Voice Chat. Special Features Supports Live Streaming From

SAF ONE 206 Jan 03, 2023
TuShare is a utility for crawling historical data of China stocks

TuShare Tushare Pro版已发布,请访问新的官网了解和查询数据接口! https://tushare.pro TuShare是实现对股票/期货等金融数据从数据采集、清洗加工 到 数据存储过程的工具,满足金融量化分析师和学习数据分析的人在数据获取方面的需求,它的特点是数据覆盖范围广,接口

挖地兔 11.9k Dec 30, 2022
Discord-RAID-Tool - Hacks/tools

How to use Python must be installed run install-config If you dont have python installed, download python 3.7.6 and make sure you click on the 'ADD TO

1 Jan 01, 2022
Visualize size of directories, s3 buckets.

Dir Sizer This is a work in progress, right now consider this an Alpha or Proof of Concept level. dir_sizer is a utility to visualize the size of a di

Scott Seligman 13 Dec 08, 2022
Wats2PDF - Convert whatsapp exported chat(without media) into a readable pdf format

Wats2PDF convert whatsApp exported chat into a readable pdf format. convert with

5 Apr 26, 2022
Opensea-upload-with-recaptcha-solution - Updated opensea uploading solution with recaptcha pass

opensea-upload-with-recaptcha-solution updated opensea uploading solution with r

byeonggeon sim 25 Nov 15, 2022
An api, written in Python, for Investopedia's paper trading stock simulator.

investopedia-trading-api An API, written in Python, for Investopedia's paper trading stock simulator. Pull requests welcome. This library is now Pytho

Kirk Thaker 178 Jan 06, 2023
This is a script to forward forward large number of documents to another telegram channel.

ChannelForward 😇 This is a Script to Forward Large Number of Documents to Another Telegram Channel. If You Try to Forward Very Large Number of Files

Anjana Madushanka 10 Jun 08, 2021
Code release for Transferable Curriculum for Weakly-Supervised Domain Adaptation (AAAI2019)

TCL Code release for Transferable Curriculum for Weakly-Supervised Domain Adaptation (AAAI2019) Dataset Office-31 dataset, with 0.4 label noise Requir

THUML @ Tsinghua University 17 Jul 07, 2022
🤟The VC Music Source code of @DaisyXBot ❤️ v3 Out now

DAISYXMUSIC V3 🎵 A bot that can play music on telegram group's voice call Available on telegram as @DaisyXbot Whats new 🔥 Thumbnail Support Playlist

TeamDaisyX 207 Dec 05, 2022
Slack Developer Kit for Python

Python Slack SDK The Slack platform offers several APIs to build apps. Each Slack API delivers part of the capabilities from the platform, so that you

SlackAPI 3.5k Jan 02, 2023
Telegram client written in GTK & Python

Meowgram GTK Telegram Client 🐱 Why Meogram? Meowgram = Meow + Gram :D Meow - Talking cats sound. It's a symbol of unique and user friendly UI of clie

Artem Prokop 71 May 04, 2022
Asynchronous wrapper for wttr.in weather forecast.

aiopywttr Asynchronous wrapper for wttr.in weather forecast. Synchronous version here. Installation pip install aiopywttr Example This example prints

Almaz 4 Dec 24, 2022
Tools to help record data from Qiskit jobs

archiver4qiskit Tools to help record data from Qiskit jobs. Install with pip install git+https://github.com/NCCR-SPIN/archiver4qiskit.git Import the

0 Dec 10, 2021
NoChannelBot - Bot bans users, that send messages like channels

No Channel Bot Say "STOP" to users who send messages as channels! Bot prevents u

Andrew 10 Oct 05, 2022
❤️ DaisyX 2.0 ❤️ A Powerful, Smart And Simple Group Manager ... Written with AioGram , Pyrogram and Telethon...

❤️ DaisyX 2.0 ❤️ A Powerful, Smart And Simple Group Manager ... Written with AioGram , Pyrogram and Telethon... ⭐️ Thanks to everyone who starred Dais

TeamOfDaisyX 44 Oct 06, 2022
Python library to interact with a Z-Wave JS server.

zwave-js-server-python Python library for communicating with zwave-js-server. Goal for this library is to replicate the structure and the events of Z-

Home Assistant Libraries 54 Dec 18, 2022
WhatsApp Multi Device Client

WhatsApp Multi Device Client

23 Nov 18, 2022