Pengelompokan Top 1000 Universitas Dunia #Clustering #DataMining

Sabtu pagi ini iseng iseng browsing dataset dan menemukan dataset yang cukup menarik, yaitu World University Ranking dari Kaggle. Dataset ini menggambarkan peringkat 1000 universitas di dunia berdasarkan yang dibuat oleh Times Higher Education University Ranking. Dari 1000 daftar universitas dunia, 229 diantaranya berada di USA, dan sisanya di negara negara lain di dunia, sayangnya Universitas di Indonesia tidak ada satupun yang masuk dalam daftar tersebut. Pengelompokan universitas menggunakan metode Clustering / Klaster k-means yang mana merupakan metoda yang paling sederhana, akan tetapi cukup intuitif untuk menjelaskan bagaimana nilai fitur satu entitas (dalam hal ini universitas) berdekatan dengan entitas lainnya sehingga mereka dianggap mempunyai satu kesamaan / satu kelompok. 

Data yang saya gunakan adalah data peringkat universitas pada tahun 2015. Saya menggunakan RStudio untuk perhitungan proses cluster dan Orange untuk visualisasi cluster tersebut dalam berbagai aspek fitur yang berbeda. Fitur yang ada pada dataset tersebut antara lain adalah : world rank (peringkat universitas di dunia), university name (nama universitas), country (asal negara), national rank (peringkat nasional), quality of education (peringkat kualitas pendidikan), alumni employment (peringkat alumni yang sudah bekerja), quality of faculty (kualitas fakultas), publications (peringkat publikasi), influence (peringkat pengaruh), citations (peringkat sitasi), broad impact (peringkat untuk impact dalam skala luas), patents (peringkat paten), score (total nilai dalam penentuan peringkat dunia).

Semua atribut fitur merupakan data kontinu, kecuali nama universitas dan negara merupakan data diskrit. Berdasarkan analisa awal untuk algoritma k-means dengan inisialisasi awal kmeans++ dengan jumlah kelompok antara 3-8, diperoleh yang paling tinggi scorenya adalah jumlah 3 kelompok. Oleh karena itu pengelompokan Top 1000 universitas menggunakan tiga kelompok. Hasil perhitungan bisa diunduh di table excel berikut ini 

Secara umum dapat kita simpulkan terjadi hubungan linear semakin tinggi peringkat suatu universitas maka semakin tinggi pula jumlah publikasi, jumlah sitasi, jumlah alumni employment, jumlah patent dan lain lainnya, seperti yang terlihat pada gambar dibawah ini. Warna yang berbeda menunjukkan kelompok yang berbeda. Semakin besar ukuran point (silang, segitiga, lingkaran) maka semakin besar pula nilai influence dari satu universitas. 

Sekian share pagi ini, monggo dimain mainkan dataset diatas untuk algoritma lain ataupun untuk keperluan lainnya … salam ..

 

InfluenceVsWorldRankPublicationsvsWorldRankPublicationsVsCitationsWorldRankvsAlumniEmploymentWorldRankvsCitationWorldRankvsPatent

pengelompok antar beberapa fitur data (lihat sumbu x dan sumbu y)

 

Screen Shot 2016 09 17 at 10 37 23 AM  2

Hasil pengelompokan Top 1000 Universitas dalam 3 kelompok besar

 

Advertisements

Fungsi, Aplikasi, dan Algoritma pada Data Analytics

Data Analytics yaitu proses menemukan pola data untuk kemudian dipergunakan menjadi informasi atau model yang berguna. Proses memerlukan suatu keilmuan data yang disebut sebagai Data Science. Di dalam data science ini terdapat banyak metode yang dipergunakan seperti metode Data Mining, Statistik, Ekonometrik, Matematika, Modelling dan lain lain. Karena itu istilah Data Analiycs, Data Science, Data Mining sering dipergunakan secara tumpang tindih, apalagi ketika framework / problem Big Data muncul. 

Untuk itu untuk memahami Data Analitycs kita mulai dari 2 dasar ilmu data yaitu Data Mining dan Statistics. Dalam Data Mining terdapat berbagai macam fungsi untuk pencarian pola, yang kemudian dijabarkan menjadi berbagaimacam algoritma. Masing masing fungsi juga mempunyai bidang aplikasi sendiri. Berikut ini saya peroleh tabel yang cukup komprehensif mengenai Fungsi, Aplikasi (Contoh) dan Algoritma yang sering digunakan pada proses Data Analytics. Tabel tersebut sebenarnya adalah untuk Data Mining dan saya peroleh dari buku Predictive Analytics: Concept and Practice with Rapid Miner. Seperti yang saya jelaskan sebelumnya table Data Mining ini juga bisa dipakai sebagai dasar aktivitas Data Analytics, terutama jika ditambahkan dengan tabel mengenai Social Network Analysis dan Text Mining.

Screen Shot 2016 08 21 at 12 52 13 PM

Pengelompokkan Kemajuan Kota Dengan Clustering Data

Karena kesibukan yang ga ada abisnya akhir akhir ini, maka sudah lama saya tidak sempat mencari dan melihat perkembangan dataset yang tersedia bebas di Internet. Berawal dari keluhan beberapa mahasiswa bimbingan dan penghuni labo tentang kesulitan mencari data, maka saya kemarin mencoba browsing browsing, dan akhirnya saya menemukan gudang dataset Indonesia yang lumayan ok di data.go.id . Tempat ini menurut saya cukup bagus, walaupun saya belum mengecek kelengkapannya. Saya langsung menuju ke sektor ekonomi dan keuangan dan menemukan dataset INDODAPOER

INDODAPOER adalah dataset Indonesia Dataset for Policy and Economic Research yang dimiliki oleh Bank Dunia, yang kemudian di buka bebas untuk diakses masyarakat luas. Data ini sesuai untuk penelitian tentang kemajuan perkembangan pembangunan ekonomi dari tahun ke tahun di Indonesia. Terdapat 200 indikator pengukuran untuk setiap kota / kabupaten dan provinsi di Indonesia, yang dikelompokkan menjadi indikator fiskal, indikator ekonomi, indikator sosial dan demografi, indikator infrastruktur. Contoh indikator indikator bisa dilihat pada gambar dibawah.

Setelah mendapatkan data, maka saya mulai iseng bermain main dengan data dan mengambil sembarang dua indikator (atribut) yang menyatakan kemajuan kota. Saya pilih atribut HDI (Human Development Index) atau indeks pengembangan manusia dan GDP (Gross Domestic Product) atau jumlah uang yang diperoleh dari pendapatan atas barang dan jasa dari suatu kota / kabupaten. HDI semakin besar nilainya semakin baik kualitas sumber daya manusianya, demikian juga dengan GDP, semakin besar GDP, semakin besar pendapatannya. Dua atribut HDI dan GDP ini akan mengelompokkan kota / kabupaten di indonesia menjadi  beberapa kelompok seperti yang terlihat di gambar di bawah ini. GDP yang saya ambil adalah nilai GDP diluar industri minyak dan gas bumi.

Graphcluster2

Pengelompokan kota berdasarkan HDI dan GDP

 

Pada gambar tersebut terlihat ada kelompok kota / kabupaten dengan indeks HDI rendah dan nilai  GDP rendah yang ditandai dengan titik warna biru, ada juga kelompok kota / kabupaten dengan indeks HDI tinggi tapi GDP rendah yang ditandai dengan titik warna merah, terakhir kelompok kota / kabupaten yang indeks HDI tinggi dan nilai GDP yang tinggi ditandai dengan titik warna hijau. Pengelompokan ini secara kasar bisa mengambarkan kota mana saja yang sudah maju tinggal kesejahterannya berdasarkan rasio HDI dan GDPnya. Ada kelompok kota yang sudah memaksimalkan sumber daya manusianya dan ada kelompok kota yang kurang bisa memaksimalkan potensi sumber data manusianya (kelompok merah). Kesimpulan ini adalah kesimpulan singkat dan cepat, perlu analisa lebih dalam dan komprehensif yang melibatkan indikator indikator lainnya dan pada tahun tahun yang berbeda untuk memantau perkembangan suatu kota / kabupaten.

Metodologi yang saya gunakan adalah Clustering Data menggunakan metode k-means, setelah mencoba coba pemilihan acak jumlah kelompok, akhirnya terbentuk jumlah yang optimal adalah 3 kelompok. Data yang diambil hanyalah data pada tahun 2012, karena pada tahun tersebut datanya paling lengkap, baik data HDI maupun data GDP.  Ada 3 kota yang terpaksa saya hilangkan dari proses, karena mereka outliers (pencilan) di kelompok hijau untuk membuat grafik terbaca dengan lebih mudah, jadi sebetulnya 3 kota itu adalah kota kota tertinggi dalam rasio HDI/GDP nya, kota kota itu adalah Kota Surabaya, Kab. Bekasi dan Kab. Bogor. Kesimpulan akhir adalah kita bisa menggunakan teknik teknik data mining untuk membuat analisa dan menemukan informasi yang tidak terduga sebelumnya. Semoga entry blog ini bermanfaat

Cluster1

Sebagian dari 200 indikator yang terlihat dari data mentah INDODAPOER 

Cluster

Sebagian hasil proses clustering data

Data Analytics Menggunakan Orange

Orange adalah software open source untuk pengolahan Data Analytics / Data Mining. Dibandingkan dengan software Data Mining lainnya, Orange unggul dalam hal visualisasi atau yang biasa kita sebut visual programming. Orange menyediakan banyak widget yang kita letakkan pada canvas / drawing board kemudian kita hubungkan dengan widget widget lainnya. Dengan media canvas ini maka akan memudahkan pemakai bermain dengan data dan melakukan proses data analytics secara intuitif.

Selain widget, orange juga menyediakan beberapa add-on / modul untuk problem pada domain domain tertentu  seperti Text Mining / Text Analytics, Bioinformatics, Network Data / Social Network,  Model Maps, Prototypes Process, dan lain lain

Silahkan download dan dicoba …

Berikut ini beberapa ilustrasi proses di Orange

 

Classification

Ilustrasi proses classification (decision tree)

Hierarchical clustering

Ilustrasi proses hierarchical clustering

Crossvalidation

Ilustrasi cross validation beberapa metodologi / classifier

PredictionsIlustrasi proses prediksi

Crawling – Mining Twitter Data menggunakan R

Dalam aktivitas content mining, data mining, social network analysis dan sebagai bagian dari pekerjaan data science, maka melakukan mining terhadap media sosial merupakan hal yang ‘wajib’. Dalam entri blog kali ini saya akan menuliskan mengenai crawling percakapan dan konten dari media sosial Twitter menggunakan bahasa R. Penjelasan mengenai R ada di halaman wikipedia ini. R dibangun secara crowdsourcing dimana banyak saintis dan programmer membuat modul modul khusus untuk meningkatkan fungsi fungsi dari bahasa R.

Salah satu package / library / modul yang menarik adalah twitteR, modul ini dibuat untuk mengakses API dari Twitter, sehingga kita bisa melakukan operasi operasi seperti melihat profile, melihat daftar teman, daftar followers, pencarian kata kunci dan lain lainnya. Operasi yang sering saya lakukan adalah pencarian kata kunci untuk kemudian saya lakukan data mining, sentiment analysis atau social network analysis.

Langkah langkah yang perlu dilakukan adalah yang pertama kali membuat aplikasi di Twitter, setelah membuat aplikasi kita akan memperoleh 4 jenis kunci (consumer key, consumer secret, access token dan access token secret). 4 kunci tersebut kita gunakan pada modul twitteR untuk terhubung dengan API Twitter. Setelah terhubung baru kita bisa ikutin dokumentasi twitteR ini untuk melakukan operasi yang kita inginkan.

Pada contoh gambar di bawah, saya perlihatkan pencarian kata kunci “Telkom University” sebanyak 100 tweet, pada lokasi bandung (geocode=longitude dan latitude, dengan radius 20 mil). Hasil yang diperoleh adalah table csv dengan total 16 variabel seperti teks, tanggal tweet, penulis  tweet, dan yang lain lainnya  yang bisa dilihat pada gambar di bawah.

Selain modul twitteR, banyak sekali cara lain untuk crawling data Twitter, diantaranya adalah modul streamR untuk akses stream data pada Twitter (forward search). Di luar R, ada juga cara lain menggunakan Java, .ASP C/C++, Perl, PHP Javascript, Python, Ruby dan lain lainnya. Klik untuk daftar lengkap aplikasi untuk crawling twitter – Twitter Libraries

Selamat Mencoba !!

Screen Shot 2015-03-01 at 8.06.03 PM (2)

tampilan R pada pencarian tweet dengan kata kunci “Telkom University”. Hasil bisa dilihat pada kanan atas dan beberapa perintah ada di kanan bawah

Screen Shot 2015-03-01 at 8.12.23 PM (2)

data hasil crawling dengan perintah search keyword ‘Telkom University”, terdiri dari 16 variabel.

Kiamat untuk Statistik ?

‘Statistika dalam bahaya’, adalah kalimat pembuka yang cukup mengagetkan, ini karena perkembangan keilmuan data saat ini didominasi bukan oleh orang orang statistika, tapi justru dari orang orang ilmu komputer. Tantangan data modern (dalam jumlah besar, bentuk kompleks, perlu analisa cepat) dijawab oleh pendekatan ‘engineer’ dan bukan pendekatan matematika / statistika. Kalimat tersebut adalah kalimat pembuka dari Prof. Maman Djauhari pada acara seminar Big Data yang diadakan oleh KK. Statistika, Prodi Matematika, ITB. Prof. Maman adalah dosen mata kuliah statistika sewaktu saya kuliah S1 dulu, sekarang beliau mengajar dan meneliti di Universitas Putra Malaysia. Karena memang saya awam keilmuan statistik, maka saya tertarik untuk datang dan melihat bagaimana pandangan orang statistik terhadap trend Big Data. Kalimat pembuka diatas cukup jadi konfirmasi atas dugaan saya.

Saya pernah menulis blog Statistika vs Data Mining beberapa waktu yang lalu. Tapi saya tidak berani publish terang terangan karena memang keterbatasan saya dalam penguasaan keilmuan statistika. Tapi dari ringkasan tersebut bisa disimpulkan kenapa pendekatan data analytics menggunakan data mining saat ini lebih ‘sophisticated’ ?, ini karena statistik selama ini sibuk fokus pada mencari hipotesis dan parameter, sedangkan data mining malah men’generate’ hipotesis dan parameter. Keilmuan statistik juga befokus pada menguji hipotesa dan model inferensial. Memang statistik dan data mining tidak bisa dibandingkan ‘apple to apple’ karena memang di matematika kita tidak mengenal alat ‘one tool fits all’ .. setiap alat dipakai sesuai dengan kasus / masalah yang dihadapi, demikian juga statistika dan data mining / data analytics digunakan pada jenis permasalahan yang berbeda.

Yang cukup menarik ternyata Prof. Maman juga menyajikan keilmuan complex network dan social network analysis, (dua ilmu yang sedang saya pelajari sekarang) sebagai dasar penelitian beliau di Malaysia, beliau fokus penggunaan dua metode tersebut di bidang finance. Beliau beralasan adalah trend teknologi data menuju model yang lebih fleksibel dan proses analisa yang cepat. Salah satu yang menarik saya adalah kasus ‘similarity among time series’ melihat beberapa data time series kemudian menyimpulkan bahwa data data tersebut dibuat oleh sumber yang sama. Ini menarik bagi saya, ternyata time series bukan melulu dipakai membuat model untuk forecasting.

Insight bagus dari Prof. Maman, jadi memang orang orang statistika seharusnya juga mulai ‘embrace’ keilmuan keilmuan lain dan mengembangkan teori/metode baru berdasarkan formulasi matematika untuk menjawab permasalahan Big Data. Statistika adalah ilmu yang usianya sudah ratusan tahun, bahkan pencarian partikel ‘tuhan’ Higgs Boson tahun 2013 yang lalu pada hakekatnya adalah ilmu statistika untuk mencari outliers dari tumpukan data berorde peta bytes, jadi saya ‘concern’ dengan perkembangannya keilmuan ini

maman
Prof Maman, pada acara seminar Big Data di Matematika ITB

 

Statistik vs Data Mining

Selama bertahun tahun statistik merupakan alat bantu yang ‘handal’ bagi para ilmuwan. Statistik sudah ada sejak abad 19 dan berdasarkan formulasi dasar matematika untuk menguji generalisasi dari hipotesa ‘sedikit’ data sample terhadap populasi yang diteliti. Selama bertahun tahun pula statistik berhadapan dengan isu mengenai terlalu sedikitnya data yang tersedia, sehingga kita harus mampu mengambil kesimpulan global dari sedikit data tersebut dengan tingkat kepercayaan yang tinggi, isu ini juga diakibatkan karena jaman dahulu mencari data ukuran besar itu mahal. Statistik mempunyai ciri khas mengkonfirmasi dugaan, data numerik, dan hanya menyelesaikan masalah terstruktur. Demikian juga dibidang bisnis dan ilmu sosial, pada umumnya masalah disederhanakan sedemikian rupa sehingga bisa diukur secara statistik.

Data Mining merupakan alat untuk menemukan pengetahuan di dalam data berdasarkan pola yang ada di dalam data tersebut. Data Mining muncul baru akhir akhir ini, seiring dengan tersedianya data berukuran besar di internet dan sosial media. Data Mining dalam skala besar disebut juga sebagai Big Data, karena fungsinya sama yaitu memperoleh pengetahuan dari data, kemudian dibuat modelnya untuk memprediksi, mengoptimasi dan membantu pengambilan keputusan bisnis. Data Mining menyediakan banyak algoritma untuk menangani data komples dalam menyelesaikan persoalan kompleks (contohnya jumlah variabel data yang banyak).

Jelas, Data Mining mempunyai sedikit keunggulan karena mampu melakukan ‘prediksi’ dibandingkan dengan statistik yang hanya melakukan ‘konfirmasi’ hipotesa. Sayangnya di Indonesia, Data Mining merupakan ‘domain’ dari orang orang IT. Rekan rekan dari ilmu sosial/bisnis jarang sekali menggunakan alat ini, padahal data data dari sosial media sungguh berlimpah dan sangat banyak pertanyaan pertanyaan dalam bisnis yang bisa dibantu dengan alat ini.

Ringkasan lengkap Statistik vs Data Mining saya lampirkan dalam slide di http://www.slideshare.net/andrybrewok/data-mining-vs-statistics