DEA-ga lehtede sotsiaalmeedia populaarsuse mõõtmine JAVA PlatoBlockchain Data Intelligence'is. Vertikaalne otsing. Ai.

DEA-ga lehtede sotsiaalmeedia populaarsuse mõõtmine JAVA-s

Eelmises artiklis rääkisime sellest Andmeümbruse analüüs tehnikat ja oleme näinud, kuidas seda saab kasutada tõhusa mitteparameetrilise järjestamisalgoritmina. Selles blogipostituses töötame välja andmeümbrise analüüsi juurutamise JAVA-s ja kasutame seda veebilehtede ja artiklite sotsiaalmeedia populaarsuse hindamiseks. Kood on avatud lähtekoodiga (GPL v3 litsentsi alusel) ja saate selle tasuta alla laadida Github.

Värskendus: Datumboxi masinõppe raamistik on nüüd avatud lähtekoodiga ja tasuta lae alla. Tutvuge paketiga com.datumbox.framework.algorithms.dea, et näha Andmeümbrise analüüsi rakendamist Javas.

Andmete ümbritsemise analüüsi rakendamine JAVA-s

Kood on kirjutatud JAVA keeles ja seda saab otse alla laadida Github. See on litsentsitud GPLv3 alusel, nii et võite seda vabalt kasutada, muuta ja levitada.

Kood rakendab Andmeümbruse analüüs algoritm, kasutab lp_solve teek Lineaarse programmeerimise probleemide lahendamiseks ja kasutab saadud andmeid Veebi SEO analüüs indeks, et koostada veebilehtede jaoks sotsiaalmeedia populaarsuse liitmõõdik, mis põhineb nende Facebookis, Google Plusis ja Twitteris jagamisel. Algoritmi kõiki teoreetilised osad on käsitletud eelmises artiklis ja lähtekoodist leiate üksikasjalikud javadoci juurutamise kohta käivad kommentaarid.

Allpool pakume juurutamise arhitektuuri kõrgetasemelist kirjeldust:

1. lp_solve 5.5 teek

Erinevate lineaarse programmeerimise probleemide lahendamiseks kasutame avatud lähtekoodiga teeki nimega lp_solve. Konkreetne lib on kirjutatud ANSI C-s ja kasutab teegi meetodite käivitamiseks JAVA ümbrist. Seega peate enne koodi käivitamist installima oma süsteemi lp_solve. Raamatukogu binaarfailid on saadaval mõlema jaoks Linux ja Windows ja installimise kohta saate lisateavet lugeda aadressilt lp_solve dokumentatsioon.

Enne JAVA-koodi käivitamist veenduge, et konkreetne teek on teie süsteemi installitud. Teegi installimise ja konfigureerimisega seotud probleemide korral vaadake lp_solve dokumentatsiooni.

2. DataEnvelopmentAnalysis klass

See on DEA-algoritmi rakendamise põhiklass. See rakendab avalikku meetodit, mida nimetatakse hinnanguEfficiency(), mis võtab kirjete kaardi ja tagastab nende DEA skoori.

3. DeaRecord Object

DeaRecord on spetsiaalne objekt, mis salvestab meie kirje andmeid. Kuna DEA nõuab sisendi ja väljundi eraldamist, salvestab DeaRecord Object meie andmed eraldi nii, et DEA saaks neid käsitleda.

4. Sotsiaalmeediapopulaarsusklass

SocialMediaPopularity on rakendus, mis kasutab DEA-d, et hinnata lehe populaarsust sotsiaalmeediavõrkudes selle Facebooki meeldimiste, Google'i +1-de ja säutsude põhjal. See rakendab kahte kaitstud meetodit CalculaPopularity() ja EestestPercentiles() ning kahte avalikku meetodit loadFile() ja getPopularity().

CalculatePopularity() kasutab DEA-rakendust, et hinnata lehtede hindeid nende sotsiaalmeedia loenduste põhjal. Protsentiilide () meetod määrab DEA-skoorid ja teisendab need protsentiilideks. Üldiselt on protsentiile lihtsam selgitada kui DEA skoori; Seega, kui ütleme, et lehe populaarsusskoor on 70%, tähendab see, et konkreetne leht on populaarsem kui 70% lehtedest.

Konkreetse lehe populaarsuse hindamiseks peab meil olema andmestik teiste lehtede sotsiaalmeedia arvudega. See on mõttekas, kuna selleks, et ennustada, milline leht on populaarne ja milline mitte, peate saama seda võrrelda teiste veebilehtedega. Selleks kasutame väikest anonüümset näidist Web SEO Analyticsi indeksist, mis on esitatud txt-vormingus. Saate luua oma andmebaasi, eraldades sotsiaalmeedia loendid rohkematelt veebilehtedelt.

Eelnimetatud DEA statistika laadimiseks kasutatakse meetodit loadFile() ja meetod getPopularity() on lihtsalt kasutatav meetod, mis saab Facebooki meeldimised, Google +1-d ja lehe säutsude arvu ning hindab selle populaarsust sotsiaalmeedias. .

Andmeümbruse analüüsi JAVA juurutamise kasutamine

AndmeenvelopmentAnalysisExample klassis I esitage kaks erinevat näidet koodi kasutamise kohta.

Esimeses näites kasutatakse otseselt DEA meetodit, et hinnata organisatsiooniüksuste efektiivsust nende väljundi (KÜSIMUSED, KÄTTEVUSED, NÕUDED) ja sisendi (VARU, PALGAD) alusel. See näide on võetud artiklist DEAzone.com.

        Map<String, DeaRecord> records = new LinkedHashMap<>();
        
        records.put("Depot1", new DeaRecord(new double[]{40.0,55.0,30.0}, new double[]{3.0,5.0}));
        //...adding more records here...
        
        DataEnvelopmentAnalysis dea = new DataEnvelopmentAnalysis();
        Map<String, Double> results = dea.estimateEfficiency(records);
        System.out.println((new TreeMap<>(results)).toString());

Teises näites kasutatakse meie sotsiaalmeedia populaarsuse rakendust, et hinnata lehe populaarsust, kasutades sotsiaalmeedia andmeid, nagu Facebooki meeldimised, Google'i +1-d ja säutsud. Kõik sotsiaalmeedia loendused märgitakse väljundiks ja edastame DEA-le tühja sisendvektori.

        SocialMediaPopularity rank = new SocialMediaPopularity();
        rank.loadFile(DataEnvelopmentAnalysisExample.class.getResource("/datasets/socialcounts.txt"));
        Double popularity = rank.getPopularity(135, 337, 9079); //Facebook likes, Google +1s, Tweets
        System.out.println("Page Social Media Popularity: "+popularity.toString());

Vajalikud laiendused

Esitatud kood on vaid näide sellest, kuidas DEA-d saab kasutada järjestamisalgoritmina. Siin on mõned laiendused, mida tuleb juurutamise parandamiseks teha:

1. Rakendamise kiirendamine

Konkreetne DEA rakendus hindab kõigi andmebaasis olevate kirjete DEA hindeid. See muudab juurutamise aeglaseks, kuna vajame nii paljude lineaarsete programmeerimisprobleemide lahendamist, kui palju on andmebaasis kirjeid. Kui me ei nõua kõigi kirjete skoori arvutamist, saame täitmist oluliselt kiirendada. Seega võib algoritmi väike laiendus anda meile parema kontrolli selle üle, milliseid kirjeid tuleks lahendada ja milliseid kasutada ainult piirangutena.

2. Sotsiaalmeedia loenduste andmebaasi laiendamine

Pakutav sotsiaalmeedia loenduste andmebaas koosneb 1111 näidisest Web SEO Analyticsi indeksist. Täpsema populaarsusskoori hindamiseks on vaja suuremat valimit. Saate luua oma andmebaasi, hinnates sotsiaalmeedia loendeid rohkematelt veebilehtedelt.

3. Rohkemate sotsiaalmeediavõrgustike lisamine

Rakendus kasutab artikli populaarsuse hindamiseks Facebooki meeldimisi, Google'i +1-sid ja säutsude arvu. Sellegipoolest saab hõlpsasti arvesse võtta ka teiste sotsiaalmeedia võrgustike mõõdikuid. Kõik, mida pead tegema, on luua andmebaas teid huvitavate võrkude sotsiaalmeedia loendustega ja laiendada sotsiaalse meedia populaarsuse klassi, et neid vastavalt käsitleda.

Viimased kommentaarid rakendamise kohta

Rakenduse laiendamiseks peab teil olema hea arusaam, kuidas Andmeümbruse analüüs töötab. Seda käsitletakse eelmises artiklis, seega lugege enne muudatuste tegemist kindlasti õpetust läbi. Lisaks peab JAVA-koodi kasutamiseks olema oma süsteemi installitud teegi lp_solve (vt ülal).

Kui kasutate teostust huvitavas projektis lase meid rida ja me tutvustame teie projekti oma ajaveebis. Kui teile artikkel meeldib, võtke hetk ja jagage seda Twitteris või Facebookis.

Ajatempel:

Veel alates Datumbox