| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
software  
  • Adobe Illustrator
  • animation Software
  • Antivirus Software
  • Audio Software
  • Sikkerhedskopiere data
  • brænde cd'er
  • brænde dvd'er
  • Datakomprimeringssystem
  • database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Fil Forlængelse Types
  • finansiel Software
  • Freeware, Shareware & Abandonware
  • GIMP
  • grafik Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Anden Computer Software
  • PC spil
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • præsentation Software
  • produktivitet Software
  • Quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Software betaversioner
  • Software Consultants
  • Software Development Companies
  • software Licensing
  • regneark
  • Skat forberedelse software
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Tekstbehandling Software
  • Facebook
  • Twitter
  • Instagram
  • LinkedIn
  • TikTok
  • WhatsApp
  • WordPress
  • Chrome
  • Discord
  • Amazon
  •  
    Computer Viden >> software >> Tekstbehandling Software >> Content
    Er der nogen matlab-kode til data mining-teknik for hyppig mønstertræforeningsalgoritme?
    Her er en simpel MATLAB-implementering af FP-Tree-associeringsalgoritmen til datamining. Denne kode finder hyppige varesæt og tilknytningsregler fra et givet transaktionsdatasæt.

    ```

    % Opret den oprindelige transaktionsdatabase som et cellearray

    transaktioner ={ ...

    {'Brød', 'Mælk', 'Smør'}, ...

    {'Brød', 'Bleer', 'Øl', 'Æg'}, ...

    {'Mælk', 'Bleer', 'Øl', 'Cola'}, ...

    {'Brød', 'Mælk', 'Bleer', 'Cola'}, ...

    {'Brød', 'Æg', 'Øl'} ...

    };

    % Konverter transaktioner til en binær matrix

    binære Transaktioner =nuller(størrelse(transaktioner, 1), størrelse(unik([transaktioner{:}]), 2));

    for i =1:størrelse(transaktioner, 1)

    for j =1:størrelse(transaktioner{i}, 2)

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

    ende

    ende

    % Opret et hyppigt mønstertræ fra den binære transaktionsmatrix

    fpTree =fptree(binære Transaktioner);

    % Find alle hyppige emnesæt med minimum støtte på 2

    frequentItemsets =find_frequent_itemsets(fpTree, 2);

    % Generer tilknytningsregler fra de hyppige varesæt

    associationRules =generere_association_rules(hyppige Varesæt);

    % Vis de hyppige varesæt og tilknytningsregler

    disp('Hyppige emnesæt:');

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

    for i =1:længde(frequentItemsets)

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

    ende

    disp('Foreningsregler:');

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

    for i =1:længde(associationRegler)

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

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

    tillid =associationRegler{i}.tillid * 100;

    support =associationRegler{i}.support * 100;

    fprintf('Hvis %s, så %s. Tillid =%f%%, Support =%f%%\n', lhs, rhs, tillid, support);

    ende

    % Funktion til at skabe et hyppigt mønstertræ fra en binær transaktionsmatrix

    funktion fpTree =fptree(transaktioner)

    headerTable =create_header_table(transaktioner);

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

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

    for i =1:størrelse(transaktioner, 1)

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

    ende

    ende

    % Funktion til at oprette en overskriftstabel ud fra transaktionerne

    function headerTable =create_header_table(transaktioner)

    headerTable =struct();

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

    for i =1:størrelse(uniqueItems, 2)

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

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

    headerTable(uniqueItems{i}).link =[];

    ende

    ende

    % Funktion til at tilføje en transaktion til FP-træet

    funktion add_transaction(transaktion, node, headerTable)

    hvis den er tom (transaktion)

    returnere;

    ende

    % Find varen med den højeste frekvens i transaktionen

    maxFrequency =0;

    maxItem ='';

    for i =1:længde(transaktion)

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

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

    maxItem =transaktion{i};

    ende

    ende

    % Hvis noden ikke har et underordnet til maxItem, skal du oprette 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 =node;

    andet

    if isfield(node.children, maxItem)

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

    andet

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

    node.children(maxItem).count =1;

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

    node.children(maxItem).parent =node;

    ende

    ende

    % Opdater overskriftstabellen

    headerTable(maxItem).link =node;

    % Tilføj rekursivt de resterende elementer til træet

    for i =1:længde(transaktion)

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

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

    ende

    ende

    ende

    % Funktion til at finde alle hyppige emnesæt fra FP-træet

    function frequentItemsets =find_frequent_itemsets(fpTree, minSupport)

    frequentItemsets ={};

    % Find hyppige emnesæt fra hver gren af ​​FP-træet rekursivt

    for gren i fpTree.root.children.keys

    branchFrequency =fpTree.headerTable(branch).count;

    % Hvis grenfrekvensen er mindre end minimumsstøtten, fortsæt til næste gren

    hvis branchFrequency fortsætte;

    ende

    % Tilføj grenelementet som et hyppigt elementsæt

    frequentItemsets{end + 1} ={branch};

    % Find hyppige emnesæt for alle undertræer i den aktuelle gren rekursivt

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

    % Tilføj grenelementet til alle de hyppige elementsæt fra undertræet

    for i =1:length(subFrequentItemsets)

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

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

    ende

    ende

    ende

    % Funktion til at generere tilknytningsregler fra de hyppige varesæt

    funktion associationRegler =generere_tilknytning_regler(hyppige Varesæt)

    associationRules ={};

    % Generer alle mulige tilknytningsregler for hvert hyppigt varesæt

    for varesæt =hyppige varesæt

    for i =1:længde(varesæt)

    % Opret antecedenten og konsekvensen for reglen

    antecedent =itemset(1:i-1);

    consequent =itemset(i+1:end);

    % Beregn reglens støtte, selvtillid og løfteevne

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

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

    lift =tillid / (100 * find_support(konsequent) / find_support(antecedent));

    % Tilføj tilknytningsreglen til listen

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

    ende

    ende

    ende

    % Funktion til at finde understøttelse af et varesæt

    funktionssupport =find_support(varesæt)

    støtte =0;

    % Gentag alle transaktionerne og kontroller, om de indeholder varesættet

    for i =1:størrelse(binære transaktioner, 1)

    if all(binære Transaktioner(i, ermedlem(unik([binære Transaktioner{:}]), varesæt)))

    støtte =støtte + 1;

    ende

    ende

    ende

    ```

    Forrige :

    næste :
      Relaterede artikler
    ·Hvordan at spare en Word-dokument til en Mac-computer 
    ·Sådan deaktiveres automatisk stavekontrol i Word 2003 
    ·Sådan redigeres en Word-dokument med metadata 
    ·Sådan oprettes en Definition liste 
    ·Hvad er ikke- proportionale skrifttyper 
    ·Sådan Find en gemt dokument i Windows 
    ·Hvordan laver WordPad arbejde som en Udklipsholder 
    ·Sådan beskytter et Word-dokument 
    ·Sådan Type Videnskabelige symboler 
    ·Sådan Gem som HTML i Word 2007 
      Anbefalede Artikler
    ·Sådan slettes en blank side Break i en Word-skabelon 
    ·Problemer med at hente Spybot Search & Destroy 
    ·Hvad er en Apache Ant 
    ·Hvordan opretter jeg en graf med linjer og Barer Sammen…
    ·Sådan installeres Bejeweled 
    ·Sådan Edit Soundtracks i Final Cut Pro 
    ·Sådan bruges armaturer i Blender 
    ·Sådan Konverter AVI til MPEG- 2 Brug Nero 
    ·Hvordan man laver en Sparkle i Photoshop 
    ·Hvad er Winword 
    Copyright © Computer Viden https://www.computerdk.com