Mengukur Popularitas Media Sosial Halaman dengan DEA di JAVA PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Mengukur Popularitas Media Sosial Halaman dengan DEA di JAVA

Pada artikel sebelumnya kita telah membahas tentang Analisis Data Envelopment teknik dan kami telah melihat bagaimana itu dapat digunakan sebagai algoritma peringkat non-parametrik yang efektif. Dalam posting blog ini kami akan mengembangkan implementasi Analisis Envelopment Data di JAVA dan kami akan menggunakannya untuk mengevaluasi Popularitas Media Sosial dari halaman web dan artikel di web. Kode ini bersumber terbuka (di bawah lisensi GPL v3) dan Anda dapat mengunduhnya secara bebas dari Github.

Pembaruan: Kerangka Pembelajaran Mesin Datumbox sekarang open-source dan bebas untuk Download. Lihatlah paket com.datumbox.framework.algorithms.dea untuk melihat implementasi Analisis Envelopment Data di Jawa.

Implementasi Analisis Envelopment Data di JAVA

Kode ini ditulis dalam JAWA dan dapat diunduh langsung dari Github. Ini dilisensikan di bawah GPLv3 sehingga merasa bebas untuk menggunakannya, memodifikasinya, dan mendistribusikannya kembali secara bebas.

Kode mengimplementasikan Analisis Data Envelopment algoritma, menggunakan lp_solve perpustakaan untuk memecahkan masalah Pemrograman Linier dan menggunakan data yang diekstraksi dari Analisis SEO Web indeks untuk membangun metrik popularitas media sosial komposit untuk halaman web berdasarkan saham mereka di Facebook, Google Plus, dan Twitter. Semua bagian teoretis dari algoritme dibahas pada artikel sebelumnya dan dalam kode sumber Anda dapat menemukan komentar javadoc terperinci mengenai implementasinya.

Di bawah ini kami memberikan deskripsi tingkat tinggi tentang arsitektur implementasi:

1. lp_solve 5.5 perpustakaan

Untuk menyelesaikan berbagai masalah pemrograman linier, kami menggunakan perpustakaan sumber terbuka yang disebut lp_solve. Lib tertentu ditulis dalam ANSI C dan menggunakan pembungkus JAVA untuk memanggil metode perpustakaan. Jadi sebelum menjalankan kode Anda harus menginstal lp_solve di sistem Anda. Binari perpustakaan tersedia baik untuk Linux dan Windows dan Anda dapat membaca informasi lebih lanjut tentang instalasi di lp_solve dokumentasi.

Harap pastikan bahwa perpustakaan tertentu diinstal pada sistem Anda sebelum mencoba menjalankan kode JAVA. Untuk masalah apa pun tentang menginstal dan mengonfigurasi perpustakaan, silakan merujuk ke dokumentasi lp_solve.

2. Kelas Analisis DataEnvelopment

Ini adalah kelas utama dari implementasi algoritma DEA. Ini mengimplementasikan metode publik yang disebut estimasiEfficiency() yang mengambil Peta catatan dan mengembalikan skor DEA mereka.

3. Objek DeaRecord

DeaRecord adalah Object khusus yang menyimpan data record kita. Karena DEA memerlukan pemisahan input dan output, Obyek DeaRecord menyimpan data kita secara terpisah sedemikian rupa sehingga DEA dapat menanganinya.

4. Kelas Popularitas Media Sosial

SocialMediaPopularity adalah aplikasi yang menggunakan DEA untuk mengevaluasi popularitas halaman di jaringan Media Sosial berdasarkan suka Facebook, Google +1, dan Tweet. Ini mengimplementasikan dua metode terproteksi yaitu calcPopularity() dan estimasiPercentiles() bersama dengan dua metode publik loadFile() dan getPopularity().

CalcPopularity() menggunakan implementasi DEA untuk memperkirakan skor halaman berdasarkan jumlah media sosial mereka. Metode estimasiPercentiles() mendapatkan skor DEA dan mengubahnya menjadi persentil. Secara umum persentil lebih mudah dijelaskan daripada skor DEA; jadi ketika kami mengatakan bahwa skor popularitas suatu halaman adalah 70%, itu berarti halaman tertentu lebih populer daripada 70% halaman.

Untuk dapat memperkirakan popularitas halaman tertentu, kita harus memiliki dataset dengan jumlah media sosial halaman lain. Ini masuk akal karena untuk memprediksi halaman mana yang populer dan mana yang tidak, Anda harus bisa membandingkannya dengan halaman lain di web. Untuk melakukannya, kami menggunakan sampel anonim kecil dari indeks Web SEO Analytics yang disediakan dalam format txt. Anda dapat membangun database Anda sendiri dengan mengekstrak jumlah media sosial dari lebih banyak halaman di web.

Metode loadFile() digunakan untuk memuat statistik yang disebutkan di DEA dan metode getPopularity() adalah metode yang mudah digunakan yang mendapatkan suka Facebook, Google +1 dan jumlah Tweet dari suatu halaman dan mengevaluasi popularitasnya di media sosial .

Menggunakan implementasi JAVA Analisis Envelopment Data

Di Kelas DataEnvelopmentAnalysisExample Saya memberikan 2 contoh berbeda tentang cara menggunakan kode.

Contoh pertama menggunakan metode DEA secara langsung untuk mengevaluasi efisiensi unit organisasi berdasarkan output (MASALAH, PENERIMAAN, REQS) dan input (SAHAM, UPAH). Contoh ini diambil dari artikel 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());

Contoh kedua menggunakan aplikasi Popularitas Media Sosial kami untuk mengevaluasi popularitas halaman dengan menggunakan data dari Media Sosial seperti Suka Facebook, Google +1, dan Tweet. Semua jumlah media sosial ditandai sebagai output dan kami memberikan vektor input kosong ke DEA.

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

Perlu Diperlukan

Kode yang diberikan hanyalah contoh bagaimana DEA dapat digunakan sebagai algoritma peringkat. Berikut adalah beberapa perluasan yang harus dilakukan untuk meningkatkan implementasi:

1. Mempercepat implementasi

Implementasi DEA tertentu mengevaluasi skor DEA dari semua catatan dalam database. Hal ini membuat implementasi menjadi lambat karena kita memerlukan pemecahan masalah pemrograman linier sebanyak jumlah record dalam database. Jika kita tidak perlu menghitung skor semua record maka kita bisa mempercepat eksekusi secara signifikan. Dengan demikian perluasan kecil dari algoritme dapat memberi kita kontrol yang lebih baik atas catatan mana yang harus diselesaikan dan mana yang harus digunakan hanya sebagai kendala.

2. Memperluas Basis Data Hitungan Media Sosial

Database Hitungan Media Sosial yang disediakan terdiri dari 1111 sampel dari indeks Web SEO Analytics. Untuk dapat memperkirakan skor popularitas yang lebih akurat, diperlukan sampel yang lebih besar. Anda dapat membuat database Anda sendiri dengan memperkirakan jumlah media sosial dari lebih banyak halaman web.

3. Menambahkan lebih banyak Jaringan Media Sosial

Implementasinya menggunakan Facebook Likes, Google +1s dan jumlah Tweets untuk mengevaluasi popularitas sebuah artikel. Namun demikian, metrik dari jaringan media sosial lainnya dapat dengan mudah diperhitungkan. Yang perlu Anda lakukan adalah membangun database dengan jumlah media sosial dari jaringan yang Anda minati dan memperluas kelas SocialMediaPopularity untuk menanganinya dengan tepat.

Komentar terakhir tentang implementasi

Untuk dapat memperluas implementasi Anda harus memiliki pemahaman yang baik tentang bagaimana Analisis Data Envelopment bekerja. Ini sudah dibahas di artikel sebelumnya, jadi pastikan Anda membaca tutorialnya sebelum melanjutkan ke perubahan apa pun. Selain itu untuk menggunakan kode JAVA, Anda harus menginstal pustaka lp_solve di sistem Anda (lihat di atas).

Jika Anda menggunakan implementasinya dalam proyek yang menarik drop kami baris dan kami akan menampilkan proyek Anda di blog kami. Juga jika Anda menyukai artikel ini, luangkan waktu sejenak dan bagikan di Twitter atau Facebook.

Stempel Waktu:

Lebih dari kotak data