Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Algoritmisen Suorituskyvyn Vertailu | Suorituskykyinen Sääntöjen Louhinta ja Skaalauksen Optimointi
Market Basket -analyysi ja suositusjärjestelmät

Algoritmisen Suorituskyvyn Vertailu

Pyyhkäise näyttääksesi valikon

Apriori- ja FP-Growth-algoritmien laskennallisten erojen ymmärtäminen on olennaista assosiaatiosääntöjen louhinnassa suuressa mittakaavassa. Alla on jäsennelty vertailu, joka auttaa arvioimaan näitä kahta algoritmia tehokkaasti:

Muistin käyttö

Apriori
expand arrow

Luo kaikki mahdolliset itemsetit ja tallentaa ne muistiin, mikä voi johtaa eksponentiaaliseen muistin käytön kasvuun uniikkien tuotteiden määrän kasvaessa;

FP-Growth
expand arrow

Rakentaa tiiviin FP-puun, joka tallentaa transaktiot tehokkaammin yhdistämällä yhteiset etuliitteet, mikä pienentää merkittävästi muistin tarvetta tiheissä aineistoissa.

Nopeus

Apriori
expand arrow

Toistaa tietoaineiston läpikäynnin laskeakseen itemsettien esiintymistiheydet, mikä johtaa pitkään suoritusaikaan erityisesti itemsettien koon kasvaessa;

FP-Growth
expand arrow

Vaatii vain kaksi täyttä läpikäyntiä datasta—ensimmäinen yleisten tuotteiden tunnistamiseen ja toinen FP-puun rakentamiseen—tehden siitä huomattavasti nopeamman suurille tietoaineistoille.

Skaalautuvuus

Apriori
expand arrow

Skaalautuvuus on heikko, koska ehdokasitemsettien määrän yhdistelmällinen kasvu tekee siitä epäkäytännöllisen erittäin suurille tai tiheille tietoaineistoille;

FP-Growth
expand arrow

Skaalautuu paremmin välttämällä ehdokasitemsettien muodostamisen ja hyödyntämällä puun pakkausta, mahdollistaen tehokkaan louhinnan myös datan ja itemsettien monimutkaisuuden kasvaessa.

Käytännön skenaariot

Käytä Apriori-algoritmia
expand arrow

Kun tietoaineistot ovat pieniä tai harvoja, tulkittavuus ja yksinkertaisuus ovat tärkeitä tai kun halutaan helposti säätää minimituen kynnysarvoja;

Käytä FP-Growth-algoritmia
expand arrow

Kun tietoaineistot ovat suuria, tiheitä tai muistin tehokkuus ja nopeus ovat ensisijaisia.

Seuraava koodiesimerkki havainnollistaa, kuinka luodaan synteettinen aineisto market basket -transaktioista ja verrataan Apriori- ja FP-Growth-algoritmien suoritusaikaa Pythonin mlxtend-kirjastolla. Näet, miten kumpikin algoritmi käsittelee samaa dataa ja kuinka niiden suoritusaika eroaa, mikä korostaa niiden tehokkuutta käytännön tilanteissa.

123456789101112131415161718192021222324252627
import pandas as pd from mlxtend.frequent_patterns import apriori, fpgrowth import numpy as np import time # Create a medium-sized synthetic dataset np.random.seed(42) items = ['apple', 'banana', 'milk', 'bread', 'butter', 'cheese', 'eggs', 'juice'] n_transactions = 3000 data = [] for _ in range(n_transactions): basket = np.random.choice(items, size=np.random.randint(2, 6), replace=False) data.append({item: (item in basket) for item in items}) df = pd.DataFrame(data) # Timing Apriori start_apriori = time.time() apriori(df, min_support=0.05, use_colnames=True) end_apriori = time.time() # Timing FP-Growth start_fpgrowth = time.time() fpgrowth(df, min_support=0.05, use_colnames=True) end_fpgrowth = time.time() print(f"Apriori runtime: {end_apriori - start_apriori:.3f} seconds") print(f"FP-Growth runtime: {end_fpgrowth - start_fpgrowth:.3f} seconds")

1. Milloin FP-Growth kannattaa valita Apriorin sijaan assosiaatiosääntöjen louhinnassa?

2. Mikä väittämä kuvaa parhaiten Apriori- ja FP-Growth-algoritmien laskennallisen monimutkaisuuden eroa?

question mark

Milloin FP-Growth kannattaa valita Apriorin sijaan assosiaatiosääntöjen louhinnassa?

Valitse oikea vastaus

question mark

Mikä väittämä kuvaa parhaiten Apriori- ja FP-Growth-algoritmien laskennallisen monimutkaisuuden eroa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 2
some-alt