|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programvara
  • Adobe Illustrator
  • animation Software
  • antivirusprogram
  • ljudprogram
  • Säkerhetskopiera data
  • Bränn CD-skivor
  • Bränn DVD
  • Data Compression
  • Database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Filtillägg Typer
  • Financial Software
  • Freeware , Shareware & Abandonware
  • GIMP
  • Graphics Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Andra datorprogram
  • PC-spel
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • presentationsprogram
  • Produktivitet Software
  • quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Programvara betaversioner
  • Programvara Konsulter
  • Software Development Companies
  • Software Licensing
  • Spreadsheets
  • Skatt förberedelse programvara
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Ordbehandlingsprogram
  • Facebook
  • Twitter
  • Instagram
  • LinkedIn
  • TikTok
  • WhatsApp
  • WordPress
  • Chrome
  • Discord
  • Amazon
  • * Dator Kunskap >> Programvara >> Ordbehandlingsprogram >> Content

    Finns det någon matlab-kod för datautvinningsteknik för frekvent mönsterträdassociationsalgoritm?

    Här är en enkel MATLAB-implementering av FP-Tree-associationsalgoritmen för datautvinning. Denna kod hittar frekventa artikeluppsättningar och associationsregler från en given transaktionsdatauppsättning.

    ```

    % Skapa den ursprungliga transaktionsdatabasen som en cellmatris

    transaktioner ={ ...

    {'Bröd', 'Mjölk', 'Smör'}, ...

    {'Bröd', 'Blöjor', 'Öl', 'Ägg'}, ...

    {'Mjölk', 'Blöjor', 'Öl', 'Cola'}, ...

    {'Bröd', 'Mjölk', 'Blöjor', 'Cola'}, ...

    {'Bröd', 'Ägg', 'Öl'} ...

    };

    % Konvertera transaktioner till en binär matris

    binära Transaktioner =nollor(storlek(transaktioner, 1), storlek(unik([transaktioner{:}]), 2));

    för i =1:storlek(transaktioner, 1)

    för j =1:storlek(transaktioner{i}, 2)

    binära Transaktioner(i, strcmp(transaktioner{i}{j}, unik([transaktioner{:}]))) =1;

    avsluta

    avsluta

    % Skapa ett frekvent mönsterträd från den binära transaktionsmatrisen

    fpTree =fptree(binära transaktioner);

    % Hitta alla vanliga objektuppsättningar med minst stöd av 2

    frequentItemsets =find_frequent_itemsets(fpTree, 2);

    % Generera associationsregler från de frekventa artikeluppsättningarna

    associationRules =generera_association_rules(frequentItemset);

    % Visa de vanliga postuppsättningarna och associationsreglerna

    disp('Vanliga objektuppsättningar:');

    disp('------------------------');

    för i =1:längd(frequentItemset)

    fprintf('%s\n', strjoin(frequentItemsets{i}, ', '));

    avsluta

    disp('Föreningsregler:');

    disp('------------------------');

    för i =1:längd(associationRules)

    lhs =strjoin(associationRules{i}.lhs, ', ');

    rhs =strjoin(associationRules{i}.rhs, ', ');

    confidence =associationRules{i}.confidence * 100;

    support =associationRules{i}.support * 100;

    fprintf('Om %s, då %s. Confidence =%f%%, Support =%f%%\n', lhs, rhs, confidence, support);

    avsluta

    % Funktion för att skapa ett frekvent mönsterträd från en binär transaktionsmatris

    funktion fpTree =fptree(transaktioner)

    headerTable =create_header_table(transaktioner);

    root =add_node(-1, headerTable.id);

    fpTree =struct('root', root, 'headerTable', headerTable);

    för i =1:storlek(transaktioner, 1)

    add_transaction(transactions(i, :), root, headerTable);

    avsluta

    avsluta

    % Funktion för att skapa en rubriktabell från transaktionerna

    function headerTable =create_header_table(transaktioner)

    headerTable =struct();

    uniqueItems =unik([transaktioner{:}]);

    för i =1:storlek(unika artiklar, 2)

    headerTable(uniqueItems{i}).id =i;

    headerTable(uniqueItems{i}).count =summa(sum(transaktioner ==uniqueItems{i}));

    headerTable(uniqueItems{i}).länk =[];

    avsluta

    avsluta

    % Funktion för att lägga till en transaktion till FP-trädet

    funktion add_transaction(transaktion, nod, headerTable)

    om den är tom (transaktion)

    återvända;

    avsluta

    % Hitta artikeln med högst frekvens i transaktionen

    maxFrekvens =0;

    maxItem ='';

    för i =1:längd(transaktion)

    if headerTable(transaktion{i}).count> maxFrequency

    maxFrequency =headerTable(transaktion{i}).count;

    maxItem =transaktion{i};

    avsluta

    avsluta

    % Om noden inte har en underordnad för maxItem, skapa en

    if isempty(node.children)

    node.children(maxItem).id =headerTable(maxItem).id;

    node.children(maxItem).count =1;

    node.children(maxItem).link =headerTable(maxItem).link;

    node.children(maxItem).parent =nod;

    annan

    if isfield(node.children, maxItem)

    node.children(maxItem).count =node.children(maxItem).count + 1;

    annan

    node.children(maxItem).id =headerTable(maxItem).id;

    node.children(maxItem).count =1;

    node.children(maxItem).link =headerTable(maxItem).link;

    node.children(maxItem).parent =nod;

    avsluta

    avsluta

    % Uppdatera rubriktabellen

    headerTable(maxItem).länk =nod;

    % Lägg till de återstående objekten i trädet rekursivt

    för i =1:längd(transaktion)

    if ~(strcmp(maxItem, transaktion{i}))

    add_transaction(transaction(2:end), node.children(maxItem), headerTable);

    avsluta

    avsluta

    avsluta

    % Funktion för att hitta alla vanliga poster från FP-trädet

    function frequentItemsets =find_frequent_itemsets(fpTree, minSupport)

    frequentItemsets ={};

    % Hitta frekventa objektuppsättningar från varje gren av FP-trädet rekursivt

    för gren i fpTree.root.children.keys

    branchFrequency =fpTree.headerTable(branch).count;

    % Om grenfrekvensen är mindre än minimistödet, fortsätt till nästa gren

    om branchFrequency fortsätta;

    avsluta

    % Lägg till filialposten som en frekvent artikeluppsättning

    frequentItemsets{end + 1} ={branch};

    % Hitta frekventa objektuppsättningar för alla underträd i den aktuella grenen rekursivt

    subFrequentItemsets =find_frequent_itemsets(subtrees(fpTree.root, branch), minSupport);

    % Lägg till grenobjektet till alla vanliga objektuppsättningar från underträdet

    för i =1:längd(subFrequentItemset)

    subFrequentItemsets{i}{1} =[branch, subFrequentItemsets{i}{1}];

    frequentItemsets{end + 1} =subFrequentItemsets{i};

    avsluta

    avsluta

    avsluta

    % Funktion för att generera associationsregler från de frekventa artikeluppsättningarna

    function associationRules =generera_association_rules(frequentItemset)

    associationRules ={};

    % Generera alla möjliga associationsregler för varje frekvent artikeluppsättning

    för itemset =frequentItemsets

    för i =1:längd(varuuppsättning)

    % Skapa antecedenten och följden för regeln

    antecedent =itemset(1:i-1);

    consequent =itemset(i+1:slut);

    % Beräkna regelns stöd, självförtroende och lyft

    support =100 * (find_support(union(antecedent, konsekvent)) / find_support(antecedent));

    konfidens =100 * (find_support(union(antecedent, konsekvent)) / find_support(antecedent));

    lyft =förtroende / (100 * find_support(consequent) / find_support(antecedent));

    % Lägg till associationsregeln i listan

    associationRules{end + 1} =struct('lhs', antecedent, 'rhs', consequent, 'confidence', confidence, 'support', support);

    avsluta

    avsluta

    avsluta

    % Funktion för att hitta stöd för en artikeluppsättning

    function support =find_support(artikeluppsättning)

    stöd =0;

    % Iterera igenom alla transaktioner och kontrollera om de innehåller artikeluppsättningen

    för i =1:storlek(binära transaktioner, 1)

    if all(binära Transaktioner(i, ärmedlem(unik([binära Transaktioner{:}]), artikeluppsättning)))

    support =support + 1;

    avsluta

    avsluta

    avsluta

    ```

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vilken typ av dialogrutor använder Microsoft Office-pr…
    ·Hur Kopiera en ikon i Word Office 2007
    ·Hur man gör & ut mat Packing etiketter för Free
    ·Hur man slår ihop Access 2007 Med Word
    ·Hur man tar bort en CR i Word
    ·Hur du ändrar en tryckt Statistik datum på en Word-do…
    ·Hur man rensar Flikar i Open Office
    ·Min Fax Guiden Kommer inte Open
    ·Hur Ladda ner Word- dokument
    ·Lägga Brevpapper med ett Word-dokument
    Utvalda artiklarna
    ·Konvertera Guitar Pro till Adobe Reader
    ·Vad är filändelsen TKM
    ·Hur man bränner en backup spel för PS3 till CD
    ·Förteckning över Adobe Acrobat Scripts
    ·Varför brinner CD Hastighet Matter
    ·Hur man organiserar en spellista i VLC Player
    ·Hur du sätter en FLV till en AVI
    ·Var kan man köpa Jasc Paint Shop Pro 8?
    ·Hur man skapar ett index i Microsoft Word
    ·Det bästa gratis inspelning Mjukvara för Windows
    Copyright © Dator Kunskap https://www.dator.xyz