frequent pattern growth algorithm data mining
Detaljeret vejledning om hyppig mønstervækstalgoritme, der repræsenterer databasen i form af et FP-træ. Inkluderer FP-vækst mod apriori-sammenligning:
Apriori algoritme blev forklaret detaljeret i vores tidligere tutorial. I denne vejledning lærer vi om hyppig mønstervækst - FP-vækst er en metode til minedrift af hyppige varesæt.
den bedste spilfremstillingssoftware til begyndere
Som vi alle ved, er Apriori en algoritme til hyppig minedrift, der fokuserer på at generere varesæt og finde den hyppigste varesæt. Det reducerer i høj grad størrelsen på artikelsættet i databasen, men Apriori har også sine egne mangler.
Læs vores Hele Data Mining Training Series for en komplet viden om konceptet.
Hvad du vil lære:
- Mangler ved apriori algoritme
- Hyppig mønstervækstalgoritme
- FP-træ
- Hyppige trin til mønsteralgoritme
- Eksempel på FP-vækstalgoritme
- Fordele ved FP-vækstalgoritme
- Ulemper ved FP-vækstalgoritme
- FP Vækst vs Apriori
- ECLAT
- Konklusion
- Anbefalet læsning
Mangler ved apriori algoritme
- Brug af Apriori har brug for en generation af kandidatsæt. Disse varesæt kan have et stort antal, hvis varesættet i databasen er enormt.
- Apriori har brug for flere scanninger af databasen for at kontrollere supporten for hver genereret artikelsæt, og dette fører til høje omkostninger.
Disse mangler kan overvindes ved hjælp af FP-vækstalgoritmen.
Hyppig mønstervækstalgoritme
Denne algoritme er en forbedring af Apriori-metoden. Et hyppigt mønster genereres uden behov for kandidatgenerering. FP-vækstalgoritme repræsenterer databasen i form af et træ kaldet et hyppigt mønstertræ eller FP-træ.
Denne træstruktur opretholder forbindelsen mellem emnesættene. Databasen er fragmenteret ved hjælp af en hyppig vare. Denne fragmenterede del kaldes 'mønsterfragment'. Varesættene i disse fragmenterede mønstre analyseres. Således reduceres søgningen efter hyppige varesæt med denne metode forholdsvis.
FP-træ
Frequent Pattern Tree er en trælignende struktur, der er lavet med de indledende varesæt i databasen. Formålet med FP-træet er at udvinde det hyppigste mønster. Hver knude i FP-træet repræsenterer et element i artikelsættet.
Rodknudepunktet repræsenterer nul, mens de nederste knudepunkter repræsenterer varesættene. Forbindelsen af knudepunkterne med de lavere knudepunkter, der er artikelsættene, med de andre artikelsæt opretholdes, mens der dannes træ.
Hyppige trin til mønsteralgoritme
Den hyppige mønstervækstmetode lader os finde det hyppige mønster uden kandidatgenerering.
Lad os se de trin, der følges for at udvinde det hyppige mønster ved hjælp af hyppig mønstervækstalgoritme:
# 1) Det første trin er at scanne databasen for at finde forekomsterne af varesættene i databasen. Dette trin er det samme som Apriori's første trin. Antallet af 1-artikelsæt i databasen kaldes supporttælling eller hyppighed af 1-artikelsæt.
#to) Det andet trin er at konstruere FP-træet. Til dette skal du oprette træets rod. Roden er repræsenteret af null.
# 3) Det næste trin er at scanne databasen igen og undersøge transaktionerne. Undersøg den første transaktion, og find varesættet i den. Varesættet med det maksimale antal tages øverst, det næste varesæt med lavere antal og så videre. Det betyder, at træets gren er konstrueret med transaktionselementer i faldende rækkefølge.
# 4) Den næste transaktion i databasen undersøges. Varesættene ordnes i faldende rækkefølge efter optælling. Hvis nogen artikelsæt i denne transaktion allerede findes i en anden gren (for eksempel i den første transaktion), vil denne transaktionsgren dele et fælles præfiks til roden.
Dette betyder, at det fælles varesæt er knyttet til den nye node i et andet varesæt i denne transaktion.
# 5) Antallet af varesættet øges også, når det sker i transaktionerne. Både det fælles knudepunkt og antallet af nye knudepunkter øges med 1, når de oprettes og linkes i henhold til transaktioner.
# 6) Det næste trin er at udvinde det oprettede FP-træ. Til dette undersøges den laveste knude først sammen med linkene til de laveste knudepunkter. Den laveste knude repræsenterer frekvensmønsterlængden 1. Fra dette skal du krydse stien i FP-træet. Denne sti kaldes en betinget mønsterbase.
hvordan man spiller world of warcraft privat server
Betinget mønsterbase er en underdatabase bestående af præfiksstier i FP-træet, der forekommer med den laveste node (suffiks).
# 7) Konstruer et betinget FP-træ, som er dannet af et antal varesæt i stien. Varesættene, der opfylder tærskelstøtten, betragtes i det betingede FP-træ.
# 8) Hyppige mønstre genereres fra det betingede FP-træ.
Eksempel på FP-vækstalgoritme
Support tærskel = 50%, tillid = 60%
tabel 1
Transaktion | Liste over varer |
---|---|
Hukommelsesbrug | |
T1 | I1, I2, I3 |
T2 | I2, I3, I4 |
T3 | I4, I5 |
T4 | I1, I2, I4 |
T5 | I1, I2, I3, I5 |
T6 | I1, I2, I3, I4 |
Opløsning:
Support tærskel = 50% => 0,5 * 6 = 3 => min_sup = 3
1. Optælling af hver vare
Tabel 2
Vare | Tælle |
---|---|
I1 | 4 |
I2 | 5 |
I3 | 4 |
I4 | 4 |
I5 | to |
2. Sorter emnesættet i faldende rækkefølge.
Tabel 3
Vare | Tælle |
---|---|
I2 | 5 |
I1 | 4 |
I3 | 4 |
I4 | 4 |
3. Byg FP Tree
- I betragtning af rodknudepunktet null.
- Den første scanning af Transaktion T1: I1, I2, I3 indeholder tre elementer {I1: 1}, {I2: 1}, {I3: 1}, hvor I2 er knyttet som et barn til rod, I1 er knyttet til I2 og I3 er knyttet til I1.
- T2: I2, I3, I4 indeholder I2, I3 og I4, hvor I2 er knyttet til rod, I3 er knyttet til I2 og I4 er knyttet til I3. Men denne gren vil dele I2-knudepunkt så almindeligt som det allerede er brugt i T1.
- Forøg antallet af I2 med 1, og I3 er knyttet som barn til I2, I4 er knyttet som barn til I3. Tællingen er {I2: 2}, {I3: 1}, {I4: 1}.
- T3: I4, I5. Tilsvarende er en ny gren med I5 knyttet til I4, når et barn oprettes.
- T4: I1, I2, I4. Sekvensen vil være I2, I1 og I4. I2 er allerede knyttet til rodnoden, derfor vil den blive forøget med 1. Tilsvarende vil I1 blive forøget med 1, da den allerede er forbundet med I2 i T1, således {I2: 3}, {I1: 2}, {I4: 1}.
- T5: I1, I2, I3, I5. Sekvensen vil være I2, I1, I3 og I5. Således {I2: 4}, {I1: 3}, {I3: 2}, {I5: 1}.
- T6: I1, I2, I3, I4. Sekvensen vil være I2, I1, I3 og I4. Således {I2: 5}, {I1: 4}, {I3: 3}, {I4 1}.
4. Minedrift af FP-træ er opsummeret nedenfor:
- Det laveste knudepunkt I5 betragtes ikke, da det ikke har et min. Antal support, derfor slettes det.
- Den næste nederste knude er I4. I4 forekommer i 2 grene, {I2, I1, I3:, I41}, {I2, I3, I4: 1}. Derfor betragter I4 som suffiks, vil præfiksstierne være {I2, I1, I3: 1}, {I2, I3: 1}. Dette danner den betingede mønsterbase.
- Den betingede mønsterbase betragtes som en transaktionsdatabase, der konstrueres et FP-træ. Dette vil indeholde {I2: 2, I3: 2}, I1 betragtes ikke, da det ikke opfylder antallet af min support.
- Denne sti vil generere alle kombinationer af hyppige mønstre: {I2, I4: 2}, {I3, I4: 2}, {I2, I3, I4: 2}
- For I3 ville præfikset stien være: {I2, I1: 3}, {I2: 1}, dette vil generere et FP-træ med to noder: {I2: 4, I1: 3} og hyppige mønstre genereres: {I2 , I3: 4}, {I1: I3: 3}, {I2, I1, I3: 3}.
- For I1 ville præfiksstien være: {I2: 4} dette vil generere et enkelt node FP-træ: {I2: 4} og hyppige mønstre genereres: {I2, I1: 4}.
Vare | Betinget mønsterbase | Betinget FP-træ | Hyppige mønstre genereret |
---|---|---|---|
I4 | {I2, I1, I3: 1}, {I2, I3: 1} | {I2: 2, I3: 2} | {I2, I4: 2}, {I3, I4: 2}, {I2, I3, I4: 2} |
I3 | {I2, I1: 3}, {I2: 1} | {I2: 4, I1: 3} | {I2, I3: 4}, {I1: I3: 3}, {I2, I1, I3: 3} |
I1 | {I2: 4} | {I2: 4} | {I2, I1: 4} |
Diagrammet nedenfor viser det betingede FP-træ associeret med den betingede knude I3.
Fordele ved FP-vækstalgoritme
- Denne algoritme skal kun scanne databasen to gange sammenlignet med Apriori, der scanner transaktionerne for hver iteration.
- Parring af varer udføres ikke i denne algoritme, og dette gør det hurtigere.
- Databasen gemmes i en kompakt version i hukommelsen.
- Det er effektivt og skalerbart til minedrift både lange og korte hyppige mønstre.
Ulemper ved FP-vækstalgoritme
- FP Tree er mere besværlig og vanskelig at bygge end Apriori.
- Det kan være dyrt.
- Når databasen er stor, passer algoritmen muligvis ikke i den delte hukommelse.
FP Vækst vs Apriori
FP-vækst | Apriori |
---|---|
Mønstergenerering | |
FP-vækst genererer mønster ved at konstruere et FP-træ | Apriori genererer mønster ved at parre elementerne i singletoner, par og trillinger. |
Kandidatgenerering | |
Der er ingen kandidatgeneration | Apriori bruger kandidatgenerering |
Behandle | |
Processen er hurtigere sammenlignet med Apriori. Kørselstiden for processen øges lineært med stigningen i antallet af artikelsæt. | Processen er forholdsvis langsommere end FP-vækst, runtime stiger eksponentielt med stigning i antal varesæt |
En kompakt version af databasen gemmes | Kandidatkombinationerne gemmes i hukommelsen |
ECLAT
Ovenstående metode, Apriori og FP vækst, mine hyppige varesæt ved hjælp af vandret dataformat. ECLAT er en metode til udvinding af hyppige varesæt ved hjælp af det lodrette dataformat. Det transformerer dataene i det vandrette dataformat til det lodrette format.
kvalitetssikring analytiker interview spørgsmål og svar
For eksempel,Apriori og FP vækst brug:
Transaktion | Liste over varer |
---|---|
T1 | I1, I2, I3 |
T2 | I2, I3, I4 |
T3 | I4, I5 |
T4 | I1, I2, I4 |
T5 | I1, I2, I3, I5 |
T6 | I1, I2, I3, I4 |
ECLAT har formatet på tabellen som:
Vare | Transaktionssæt |
---|---|
I1 | {T1, T4, T5, T6} |
I2 | {T1, T2, T4, T5, T6} |
I3 | {T1, T2, T5, T6} |
I4 | {T2, T3, T4, T5} |
I5 | {T3, T5} |
Denne metode danner 2-itemsæt, 3 itemsets, k itemsets i det lodrette dataformat. Denne proces med k øges med 1, indtil der ikke findes nogen kandidatelementer. Nogle optimeringsteknikker såsom diffset bruges sammen med Apriori.
Denne metode har en fordel i forhold til Apriori, da den ikke kræver scanning af databasen for at finde understøttelsen af k + 1-varesæt. Dette skyldes, at transaktionssættet vil bære antallet af forekomster af hver vare i transaktionen (support). Flaskehalsen kommer, når der er mange transaktioner, der tager enorm hukommelse og beregningstid for at krydse sætene.
Konklusion
Apriori-algoritmen bruges til regler for minedriftforeninger. Det fungerer på princippet, ”de ikke-tomme delmængder af hyppige varesæt skal også være hyppige”. Det danner k-itemset-kandidater fra (k-1) varesæt og scanner databasen for at finde de hyppige emnesæt.
Hyppig mønstervækstalgoritme er metoden til at finde hyppige mønstre uden generering af kandidater. Det konstruerer et FP-træ snarere end at bruge generere og teststrategien for Apriori. FP-vækstalgoritmens fokus er på fragmentering af varernes stier og udvinding af hyppige mønstre.
Vi håber, at disse tutorials i Data Mining Series beriget din viden om Data Mining !!
PREV-vejledning | FØRSTE vejledning
Anbefalet læsning
- Data Mining Techniques: Algoritme, Metoder & Top Data Mining Tools
- Apriori-algoritme i datamining: implementering med eksempler
- Eksempler på beslutningstræalgoritme i datamining
- Eksempler på data minedrift: De mest almindelige anvendelser af Data Mining 2021
- Data Mining: Process, teknikker og større problemer i dataanalyse
- Data Mining Process: Modeller, Process Steps & Challenges Involved
- CSTE Software Testing Certification Exam Question Pattern
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning