Ana içeriğe atla

Apriori Algoritması Açıklaması: Python Uygulamasıyla Adım Adım Rehber

Apriori algoritmasının nasıl çalıştığını, temel kavramlarını ve veriyi analiz ile karar verme için nasıl etkili kullanacağınızı keşfedin.
Güncel 16 Nis 2026

Birliktelik kuralı madenciliği, müşteri davranışlarını ve satın alma kalıplarını anlamayı hedefleyen işletmeler için vazgeçilmez hale geldi. Bu teknik, sıklıkla birlikte satın alınan ürünleri belirleyerek şirketlerin ürün yerleşimini, promosyonları ve öneri sistemlerini optimize etmesine yardımcı olur. Bu tür analizler, işlem verilerinin içinde gizli kalan eğilimleri net biçimde ortaya koyarak iş stratejilerini iyileştirir.

Apriori Algoritması, sadeliği ve pratik sonuçları nedeniyle bu birliktelik kurallarını çıkarmada popüler bir yöntemdir. Diğer karmaşık yöntemlerin aksine, Apriori oldukça anlaşılırdır; bu da onu yeni başlayanlar için uygun ve gerçek dünyadaki uygulamalarda etkili kılar. 

Bu makale Apriori algoritmasını açıklar, işleyişini net örneklerle gösterir ve onu nasıl etkili kullanabileceğinizi aktarır. Makine öğrenimi kavramlarını uygulamalı olarak öğrenmek isterseniz, Python ile Makine Öğrenimi Bilimcisi kariyer yolumuza göz atın. 

Apriori Algoritması nedir?

Python ile Birliktelik Kuralı Madenciliği Eğitiminden de göreceğiniz üzere Apriori, işlem veritabanlarından sık öğe kümelerini çıkarmak ve birliktelik kuralları üretmek için tasarlanmış bir algoritmadır. Şu ilkeye dayanır: Eğer bir öğe kümesi sık ise, onun tüm alt kümeleri de sık olmalıdır. Bu varsayım, kontrol edilmesi gereken olası öğe kümesi sayısını azaltarak süreci verimli hale getirir.

Öğe kümeleri ve işlemler

Apriori için tipik bir veri kümesi, her işlemin birlikte satın alınan öğelerden oluştuğu işlemlerden meydana gelir. Örneğin, bir süpermarketin satış verileri şu tür işlemler içerebilir:

  • Süt, Ekmek, Tereyağı
  • Süt, Bebek Bezi, Bira, Ekmek
  • Bebek Bezi, Bira, Tereyağı

Bu işlemlerin her biri, tek bir alışverişte satın alınan ürün sepetini temsil eder. Python ile Pazar Sepeti Analizi kursumuz, bu kavramın Python’daki uygulamasını daha ayrıntılı ele alır. 

İşlem Veri Kümelerini Anlama Apriori

Destek, güven ve kaldıraç

Birliktelik kuralı madenciliği üç temel metrike dayanır:

Destek (Support): Bir öğenin veri kümesinde görülme sıklığı. Şöyle hesaplanır:

Güven (Confidence): A öğesi satın alındığında B öğesinin de satın alınma olasılığı; şu şekilde verilir:

Kaldıraç (Lift): Bir kuralın gücü; A öğesi alındığında B öğesinin, bağımsız olarak alınmasına kıyasla ne kadar daha olası olduğunu ölçer:

Kaldıraç değerinin 1’den büyük olması, öğeler arasında güçlü bir pozitif ilişki olduğunu gösterir.

Apriori Algoritması Nasıl Çalışır

Şimdi Apriori algoritmasının nasıl çalıştığını keşfedelim.

Apriori algoritması nasıl çalışır

Adım adım süreç

  1. Aday öğe kümelerinin oluşturulması: Algoritma, tekil öğeleri belirleyerek ve sıklıklarını sayarak sık öğeleri tespit etmeye başlar.
  2. Asgari desteğe göre budama: Asgari destek eşiğinin altında kalan öğe kümeleri elenir.
  3. Sık öğe kümelerinin üretilmesi: Algoritma, sık küçük öğe kümelerini birleştirerek daha büyük öğe kümeleri oluşturur ve yeni sık kümeler kalmayana kadar yineler.
  4. Birliktelik kurallarının türetilmesi: Anlamlı ilişkileri belirlemek için güven ve kaldıraç değerlerine dayalı kurallar çıkarılır.

Örnek uygulama

Şu işlemlere sahip bir veri kümesini ele alalım:

  1. Süt, Ekmek
  2. Süt, Tereyağı
  3. Süt, Ekmek, Tereyağı
  4. Ekmek, Tereyağı

%50 asgari destek ile algoritma sık öğe kümelerini belirler ve şu gibi kurallar çıkarır:

  • Süt → Ekmek: Güven: %66,7
  • Ekmek → Tereyağı: Güven: %66,7

Bu kurallar, satın alma davranışlarını anlamaya ve stok yönetimini optimize etmeye yardımcı olur.

Apriori Algoritmasının Python’da Uygulanması

Bu bölümde Apriori algoritmasını Python’da nasıl uygulayacağınızı öğrenirsiniz.

Ortamın hazırlanması

Python’da Apriori kullanmak için gerekli kütüphaneleri kurun:

pip install mlxtend pandas

Verilerin yüklenmesi ve hazırlanması

Sonraki adım paketleri yüklemek ve verileri hazırlamaktır:

import pandas as pd
from mlxtend.frequent_patterns import apriori, association_rules

# Expanded dataset
data = {
    'Milk': [1, 1, 0, 1, 0, 1, 0, 1, 1, 0],
    'Bread': [1, 0, 1, 1, 1, 0, 1, 0, 1, 1],
    'Butter': [0, 1, 1, 1, 1, 1, 0, 1, 1, 0],
    'Eggs': [1, 0, 0, 1, 1, 1, 1, 0, 0, 1],
    'Cheese': [0, 1, 1, 0, 1, 1, 0, 1, 0, 1],
    'Diaper': [0, 1, 0, 1, 0, 1, 1, 1, 0, 0],
    'Beer': [1, 0, 1, 0, 1, 0, 1, 0, 1, 1]
}
df = pd.DataFrame(data)

Apriori algoritmasının uygulanması

Şimdi algoritmayı uygulayın.

# Generating frequent itemsets
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)

Ardından birliktelik kurallarını elde ederiz:

# Generating frequent itemsets
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)

# Generating association rules
rules = association_rules(frequent_itemsets, metric='confidence', min_threshold=0.6)
print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']])
 antecedents consequents  support  confidence      lift
0    (Butter)      (Milk)      0.5    0.714286  1.190476
1      (Milk)    (Butter)      0.5    0.833333  1.190476
2     (Bread)      (Eggs)      0.5    0.714286  1.190476
3      (Eggs)     (Bread)      0.5    0.833333  1.190476
4     (Bread)      (Beer)      0.6    0.857143  1.428571
5      (Beer)     (Bread)      0.6    1.000000  1.428571
6    (Butter)    (Cheese)      0.5    0.714286  1.190476
7    (Cheese)    (Butter)      0.5    0.833333  1.190476

Destek değerleri (0,5 ile 0,6) bu birlikteliklerin tüm işlemlerin %50–60’ında görüldüğünü belirtir.

Güven skorları (0,71 ile 1,0) kuralların güvenilirliğini gösterir; Bira → Ekmek gibi bazıları kesinlik taşır (%100 güven).

Kaldıraç değerleri (~1,2 ile 1,4) rastlantısal beklentinin biraz üzerinde birlikte görülme olduğunu, yani orta düzeyde ama anlamlı birliktelikler bulunduğunu gösterir.

Sonuçların yorumlanması

Apriori algoritmasının ürettiği birliktelik kurallarını daha iyi anlamak için Matplotlib ile görselleştirebiliriz. Bir saçılım grafiği güven ile kaldıraç arasındaki ilişkiyi incelerken, bir ısı haritası farklı öğe kombinasyonlarının desteğini gösterir.

import matplotlib.pyplot as plt
import networkx as nx
# Scatter plot of confidence vs lift
plt.figure(figsize=(8,6))
plt.scatter(rules['confidence'], rules['lift'], alpha=0.7, color='b')
plt.xlabel('Confidence')
plt.ylabel('Lift')
plt.title('Confidence vs Lift in Association Rules')
plt.grid()
plt.show()
# Visualizing association rules as a network graph
G = nx.DiGraph()
for _, row in rules.iterrows():
    G.add_edge(tuple(row['antecedents']), tuple(row['consequents']), weight=row['confidence'])
plt.figure(figsize=(10, 6))
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', edge_color='gray', node_size=3000, font_size=10)
edge_labels = {(tuple(row['antecedents']), tuple(row['consequents'])): f"{row['confidence']:.2f}" 
               for _, row in rules.iterrows()}
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)

plt.title("Association Rules Network")
plt.show()

Saçılım grafiği güçlü ilişkilere sahip kuralları belirlemeye yardımcı olurken, ağ grafiği farklı öğelerin nasıl ilişkilendiğini görsel olarak sunar. Bu içgörüler perakendecilikte, öneri sistemlerinde ve sahteciliğin tespitinde karar vermeyi destekler.

Saçılım Grafiği (Güven vs Kaldıraç)

Saçılım grafiği, üretilen birliktelik kuralları için güven ile kaldıraç arasındaki ilişkiyi gösterir. Temel gözlemler şunlardır:

  • Veri noktaları 0,7 ile 1,0 aralığında bir güven aralığına yayılmıştır.
  • Kaldıraç değerleri çoğunlukla 1,19 ile 1,43 arasında yer alır; bu da tanımlanan kuralların belirli bir düzeyde anlamlı birliktelik sunduğunu ancak aşırı güçlü olmadığını gösterir.
  • 1,43 kaldıraçla 1,0 güven (Bira → Ekmek), bira satın alındığında işlemlerde her zaman ekmeğin de bulunduğunu, yani kuralın son derece güvenilir olduğunu gösterir.

Birliktelik Kuralları Ağı

Ağ grafiği, farklı öğeler arasındaki birliktelikleri görsel olarak gösterir:

  • Süt ve Tereyağı güçlü şekilde ilişkilidir; birini alan müşteriler diğerini de alma eğilimindedir.
  • Ekmek ve Yumurta benzer bir ilişki sergiler; bu, yaygın bir satın alma kalıbına işaret eder.
  • Bira ve Ekmek en güçlü güveni (1,0) gösterir; yani Bira’nın göründüğü tüm işlemlerde Ekmek de her zaman vardır.

Apriori Algoritmasının Uygulamaları

İşletmeler, Apriori algoritmasını çeşitli sorunları çözmek için yaygın biçimde uygular. Aşağıda bunları keşfedelim. 

Pazar sepeti analizi

Perakendeciler, satın alma kalıplarını analiz etmek için Apriori’yi kullanır; böylece ürünleri birlikte alımı teşvik edecek şekilde düzenleyebilirler. Örneğin, ekmek ve tereyağı sıkça birlikte görünüyorsa, mağaza bunları satışları artırmak için yakın yerleştirebilir. Pazar sepeti analizi hakkında daha fazla bilgiyi R kullanarak pazar sepeti analizi eğitimimizden edinebilirsiniz. 

Öneri sistemleri

Çevrim içi platformlar, önceki satın alımlara dayalı ürünler önermek için Apriori’yi kullanır. Bir müşteri bir dizüstü bilgisayar satın alırsa, öneriler arasında fare veya klavye gibi aksesuarlar yer alabilir.

Anomali tespiti

Sahteciliğin tespitinde, Apriori beklenen kalıplarla karşılaştırarak olağandışı işlemleri belirler. Bir kredi kartı işlemi yerleşik kurallardan önemli ölçüde saparsa bir güvenlik kontrolünü tetikleyebilir. Anomali tespitinde Apriori doğrudan anomali bulmak için kullanılmasa da, yaygın satın alma kalıplarından belirgin şekilde sapan nadir veya beklenmedik öğe kombinasyonlarını ortaya çıkarmaya yardımcı olabilir.

Apriori algoritmasının uygulamaları

Avantajlar ve Sınırlamalar

Apriori algoritmasını kullanmanın çeşitli avantaj ve dezavantajları vardır; aşağıda bunları keşfedeceksiniz. 

Avantajlar

Apriori anlaması basittir ve yapılandırılmış veri kümelerinde sık öğe kümelerini keşfetmede etkilidir. Perakendecilik ve sağlık gibi sektörlerde kalıp keşfi için yaygın biçimde kullanılır.

Sınırlamalar

Algoritma, çok sayıda aday öğe kümesi ürettiği için büyük veri kümelerinde yavaşlar. Veri hacminin yüksek olduğu durumlarda FP-Growth gibi alternatif yöntemler daha iyi performans sunar.

Apriori Algoritmasının avantajları ve sınırlamaları

Sonuç

Apriori, verilerdeki birliktelikleri bulmak için en kullanışlı tekniklerden biri olmaya devam ediyor. Hesaplama zorluklarına rağmen, işletmelerin müşteri deneyimlerini geliştirmek ve satışları artırmak için kullandığı değerli içgörüler sunar.

Büyük veri kümeleri için en hızlı yaklaşım olmasa da, veri madenciliği, analiz ve makine öğrenimi alanlarında temel bir araçtır. Daha fazlasını öğrenmek için Python ile makine öğrenimini keşfedin ve Python ile Makine Öğrenimi Bilimcisi kariyer yolumuzla makine öğrenimi bilimcisi olmaya doğru ilerleyin. 

Apriori Algoritması SSS

Apriori algoritması ne için kullanılır?

Apriori algoritması, büyük veri kümelerinden sık öğe kümelerini belirlemek ve birliktelik kuralları üretmek için veri madenciliğinde kullanılır. Genellikle pazar sepeti analizi, öneri sistemleri ve sahteciliğin tespiti gibi alanlarda uygulanır.

Apriori algoritması nasıl çalışır?

Apriori, önce veri kümesinde sık görülen tekil öğeleri belirler ve ardından bunlara dayalı daha büyük öğe kümeleri üretir. Asgari destek eşiğini karşılamayan öğe kümelerini budar ve güven ile kaldıraç metriklerini kullanarak birliktelik kuralları türetir.

Apriori’de destek, güven ve kaldıraç nedir?

Destek: Bir öğe kümesinin veri kümesindeki görülme sıklığı.

Güven: Bir öğenin, başka bir öğenin varlığı koşuluyla bir işlemde yer alma olasılığı.

Kaldıraç: Birlikteliğin gücü; öğelerin beklenenden daha sık birlikte alınıp alınmadığını gösterir.

Apriori algoritmasının sınırlamaları nelerdir?

Apriori, çok sayıda aday öğe kümesi oluşturduğu için büyük veri kümelerinde yavaş olabilir. Ayrıca, birçok öğenin sıkça birlikte göründüğü yoğun veri kümelerinde zorlanır. Bu gibi durumlarda FP-Growth algoritması daha iyi performans gösteren bir alternatiftir.

Apriori ile FP-Growth arasındaki fark nedir?

Apriori, aday öğe kümeleri üreterek ve desteklerini yinelemeli olarak kontrol ederek çalışır; bu da hesaplama maliyetini artırır. Öte yandan FP-Growth, aday öğe kümesi sayısını azaltmak için ağaç yapısı kullanır ve büyük veri kümelerinde daha hızlıdır.

Konular

Öne Çıkan DataCamp Kursları

Program

Makine Öğrenimi Temelleri Python'da

16 sa
Makine Öğrenimi sanatını öğrenin ve tahmin, örüntü tanıma ve Derin ve Takviyeli Öğrenmenin başlangıcında bir patron olarak gelin.
Ayrıntıları Gör
Kursa Başla
Devamını Gör
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

Devamını GörDevamını Gör