Merjenje priljubljenosti strani v družbenih omrežjih z DEA v Javi PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Merjenje priljubljenosti strani v socialnih medijih z DEA v JAVA

V prejšnjem članku smo govorili o Analiza obsega podatkov tehniko in videli smo, kako se lahko uporablja kot učinkovit neparametrični algoritem za razvrščanje. V tej objavi na spletnem dnevniku bomo razvili izvedbo analize zajema podatkov v JAVA in jo uporabili za oceno priljubljenosti spletnih strani in člankov na spletu v družbenih medijih. Koda je odprta (pod licenco GPL v3) in jo lahko brezplačno prenesete z nje GitHub.

Posodobitev: Okvir za strojno učenje Datebox je zdaj odprtokoden in brez njega prenesi. Oglejte si paket com.datumbox.framework.algorithms.dea, če si želite ogledati izvajanje Analize za razvoj podatkov v Javi.

Izvedba analize obsega podatkov v JAVA

Koda je napisana v JAVA in jo je mogoče prenesti neposredno iz GitHub. Licenciran je pod GPLv3, zato ga lahko uporabljate, spreminjate in prosto distribuirate.

Koda realizira Analiza obsega podatkov algoritem, uporablja lp_solve knjižnica za reševanje težav z linearnim programiranjem in uporablja izvlečene podatke iz Spletna SEO Analytics indeks, da sestavimo sestavljeno metriko priljubljenosti družbenih medijev za spletne strani na podlagi njihovih delnic na Facebooku, Googlu Plus in Twitterju. Vsi teoretični deli algoritma so zajeti v prejšnjem članku, v izvorni kodi pa najdete podrobne komentarje javadoca v zvezi z izvajanjem.

Spodaj ponujamo opis visoke arhitekture izvedbe:

1. knjižnica lp_solve 5.5

Za reševanje različnih težav z linearnim programiranjem uporabljamo knjižnico z odprtokodno kodo, imenovano lp_solve. Dovoljeni lib je napisan v ANSI C in za priklic knjižničnih metod uporablja ovitek JAVA. Pred zagonom kode morate v sistem namestiti lp_solve. Binarne datoteke knjižnice so na voljo za oboje Linux in Windows in več informacij o namestitvi lahko preberete na lp_solve dokumentacijo.

Prepričajte se, da je določena knjižnica nameščena v vašem sistemu, preden poskusite zagnati kodo JAVA. Če imate težave z namestitvijo in konfiguriranjem knjižnice, glejte dokumentacijo lp_solve.

2. Razvoj podatkovAnalizaAnaliza

To je glavni razred izvajanja algoritma DEA. Izvaja javno metodo, imenovano ocenaEfficiency (), ki vzame Zemljevid zapisov in vrne svoje ocene DEA.

3. Predmet DeaRecord

DeaRecord je poseben predmet, ki hrani podatke našega zapisa. Ker DEA zahteva ločitev vhoda in izhoda, predmet DeaRecord shrani naše podatke ločeno na način, da lahko DEA z njimi ravna.

4. Razred SocialMediaPopularity

SocialMediaPopularity je aplikacija, ki uporablja DEA za oceno priljubljenosti strani v omrežjih družbenih medijev na podlagi njenih Facebook všečkov, Google + 1 in Tweets. Izvaja dve zaščiteni metodi, izračunata popularnost () in ocenaPercentiles (), ter dve javni metodi loadFile () in getPopularity ().

IzračunPopularity () uporablja izvedbo DEA za oceno rezultatov strani na podlagi števila njihovih socialnih medijev. Metoda ocenaPercentiles () dobi ocene DEA in jih pretvori v postotke. Na splošno so odstotki lažji za razlago kot ocene DEA; torej, ko rečemo, da je ocena priljubljenosti strani 70%, to pomeni, da je določena stran bolj priljubljena od 70% strani.

Da bi lahko ocenili priljubljenost določene strani, moramo imeti nabor podatkov s številom drugih strani v družbenih medijih. To je smiselno, ker morate predvideti, katera stran je priljubljena in katera ne, zato jo morate imeti možnost primerjati z drugimi spletnimi stranmi. Za to uporabljamo majhen anonimiziran vzorec iz indeksa Web SEO Analytics, ki je na voljo v obliki txt. Svojo bazo podatkov lahko zgradite tako, da izvlečete števila socialnih medijev z več strani v spletu.

Metoda loadFile () se uporablja za nalaganje omenjenih statističnih podatkov o DEA, metoda getPopularity () pa je enostavna uporaba, ki dobi Facebook všečke, Google + 1 in število tvitov strani in oceni njeno priljubljenost na družbenih medijih .

Z uporabo analize zajema podatkov JAVA

V razredu DataEnvelopmentAnalysisExample I navajam dva različna primera uporabe kode.

Prvi primer neposredno uporablja metodo DEA za oceno učinkovitosti organizacijskih enot na podlagi njihovega rezultata (IZDAJE, PREJEMI, REQS) in vložka (STOCK, WAGES). Ta primer je bil vzet iz članka z dne 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());

Drugi primer uporablja našo aplikacijo Social Media Popularity za oceno priljubljenosti strani z uporabo podatkov iz družbenih medijev, kot so Facebook Likes, Google + 1s in Tweets. Vsa štetja socialnih medijev so označena kot izhodni podatki in pošljemo DEA prazen vhodni vektor.

        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());

Nujne razširitve

Priložena koda je le primer, kako lahko DEA uporabimo kot algoritem za razvrščanje. Tu je nekaj razširitev, ki jih je treba izvesti, da bi izboljšali izvajanje:

1. Pospešitev izvajanja

Posebna izvedba DEA ovrednoti ocene DEA vseh zapisov v bazi podatkov. Zaradi tega je izvajanje počasno, saj potrebujemo reševanje toliko težav z linearnim programiranjem, kot je število zapisov v bazi podatkov. Če ne potrebujemo izračuna ocene vseh zapisov, lahko izvedbo znatno pospešimo. Tako nam lahko z majhno razširitvijo algoritma boljši nadzor nad tem, katere zapise je treba rešiti in katere naj se uporabljajo le kot omejitve.

2. Razširitev baze podatkov o socialnih medijih

Zagotovljena zbirka podatkov šteje socialne medije, obsega 1111 vzorcev iz indeksa spletne SEO Analytics. Da bi lahko ocenili natančnejšo oceno priljubljenosti, je potreben večji vzorec. Svojo bazo podatkov lahko ustvarite tako, da na več spletnih straneh ocenite število socialnih medijev.

3. Dodajanje več socialnih omrežij

Za izvajanje priljubljenosti članka uporablja implementacija Facebook Likes, Google + 1s in število Tweets. Kljub temu je mogoče meritve iz drugih socialnih omrežij zlahka upoštevati. Vse, kar morate storiti, je zgraditi bazo podatkov s štetji socialnih medijev iz omrežij, ki vas zanimajo, in razširite razred SocialMediaPopularity, da z njimi ustrezno ravnate.

Končne pripombe k izvajanju

Če želite razširiti izvajanje, morate dobro razumeti, kako Analiza obsega podatkov deluje. To je zajeto v prejšnjem članku, zato se prepričajte, da ste prebrali vadbo, preden začnete s spremembami. Poleg tega morate za uporabo kode JAVA v svoj sistem namestiti knjižnico lp_solve (glejte zgoraj).

Če uporabite izvedbo v zanimivem projektu spusti nas črto in vaš projekt bomo predstavili na našem blogu. Če vam je članek všeč, si vzemite trenutek in ga delite na Twitterju ali Facebooku.

Časovni žig:

Več od Datumbox