Langsung ke konten utama

Natural Language Processing (NLP) Penerapan Stopwords Bahasa Indonesia dengan R: Topik Sepinya Jalur Pantura Akibat Adanya Tol Trans Jawa

Natural Language Processing : Stopwords Bahasa Indonesia dengan R Halo teman-teman, berjumpa lagi dengan blog sederhana ini. Pada pembahasan sebelumnya, kita telah bersama belajar penerapan stemming teks yang merupakan bagian dari Natural Language Processing (NLP) menggunakan R. Pada perjumpaan kali ini, kita akan melanjutkan perjuangan kita berbagi ilmu mengenai NLP, tepatnya adalah penerapan stopwords Bahasa Indonesia dengan R. Perlu diketahui bahwa di dalam NLP, untuk menambah keluasan dan mempertajam analisis teks, proses stemming teks saja belum cukup. Kita juga perlu membersihkan teks yang relatif atau mutlak tidak bermakna di dalam analisis teks. Biasanya teks yang dieliminasi dalam NLP merupakan kata penghubunga atau konjungsi, atau kata yang berupa ekspresi yang bercampur di dalam data teks, misalkan ekspresi tertawa "wkwk", ekspresi penolakan "gak, nggak, tidak, atau gk", bahasa asing (selain Indonesia), atau juga kata-kata yang tidak memenuhi kaidah ta

Machine Learning: Perbedaan Supervised Learning dan Unsupervised Learning

Perbedaan supervised learning dan unsupervised learning

Halo teman-teman, kemarin kita telah mengawali bahasan mengenai salah satu anggota dari Machine Learning sekaligus merupakan contoh dari algoritma supervised learning, yaitu Naive Bayes Classifier (NBC). Akhir-akhir ini, dunia sains data dihebohkan dengan berbagai istilah statistik yang berkaitan erat dengan komputasi atau komputasi statistik, yaitu supervised learning dan unsupervised learning. Sebenarnya ada lagi istilah baru dan cukup makin sulit menyederhanakan definisinya, yaitu reinforcement learning, tapi khusus reinforcement learning nanti akan kita bahas tersendiri karena kita mulai bersinggungan dengan Artificial Intelligence atau kecerdasan buatan.

Jujur, saya mengakui bahwa tidak semua dari kita memiliki latar belakang apalagi pakar teknologi informasi (IT). Sehingga, bila kita cermati bahasan-bahasan atau istilah komputasi statistik, sains data, atau data engineering, kita mungkin akan sejenak loading, bahkan saya sendiri acapkali mengalami buffering seperti halnya saat proses memutar video di youtube tapi terkendala koneksi internet yang lambat. Beragam sumber saya baca dan pelajari untuk memahami istilah supervised learning dan unsupervised learning ini. Namun, namanya saja tidak punya latar belakang IT, jadinya masih bingung. Tetapi proses itu terus berjalan hingga akhirnya saya berhasil menerka maksudnya dan akan coba saya sederhanakan pendefinisiannya supaya teman-teman yang mungkin bingung bisa sedikit terbantu pemahamannya.

Algoritma supervised learning

Kita coba masuk dalam pendefinisian. Supervised learning ini kalau di banyak situs dikatakan sebuah pendekatan di mana terdapat data yang terlatih dan terdapat variabel target untuk tujuan pengelompokan data ke data yang sudah ada. Mulai bingung? Semoga saja tidak. Pengertian ini kalau saya sederhanakan mungkin begini: supervised learning itu adalah sebuah pendekatan pembelajaran mesin terhadap suatu data (machine learning), awalnya kita ajarkan sekumpulan data terlebih dulu kepada mesin sehingga mesin tersebut mampu berlogika dan hafal pola data yang kita ajarkan kepadanya, kemudian kita coba melakukan uji terhadap sekumpulan data berstruktur sama--(sama dengan data yang kita ajarkan)--pada mesin yang telah memiliki logika dan hafal pola data, dengan tujuannya adalah mengelompokkan data uji tadi ke dalam hasil (output) sebagaimana data yang sebelumnya dipelajari oleh mesin.

Panjang ya? Coba kita sederhanakan lagi dengan pemisalan kasus sehari-hari. Jadi, ketika kita mau sebuah mesin dapat membedakan seekor burung itu burung Cendrawasih dan burung Bangau, terlebih dulu kita masukkan data-data ciri-ciri burung Cendrawasih dan burung Bangau apa saja ke dalam mesin, warnanya seperti apa, bulunya seperti apa, paruhnya seperti apa, matanya seperti apa, bunyi kicauannya seperti apa juga, itu kita masukkan datanya supaya mesin belajar membedakan cirinya. Setelah data yang kita ajarkan pada mesin telah dirasa cukup, barulah kemudian kita uji si mesin dengan memberinya sebuah data-data ciri-ciri burung. Hasilnya lantas apa? Hasilnya mesin dapat memberikan output atau  keluaran bahwa berdasarkan data uji yang dimasukkan, itu menunjukkan salah satu jenis burung, misalkan burung Cendrawasih. Inilah yang disebut supervised learning dalam machine learning. Sedangkan data-data yang kita ajarkan pada mesin tadi diistilahkan data yang terlabelisasi atau istilah lainnya train dataset dan dipakai. Terlabelisasi juga dapat diartikan bahwa dalam sekumpulan data, telah dibedakan mana variabel dependen (Y), mana variabel independennya. Sedangkan dipakai ini adalah aspek penekanan kedua, karena meski data yang kita gunakan telah terlabelisasi, namun bila kita tidak memakai labelisasi tersebut maka masuk dalam unsupervised learning. Untuk data uji terhadap mesin yang telah belajar kita sebut test dataset.

Algoritma unsupervised learning

Lanjut ya teman-teman... Itu tadi kita telah menyederhanakan pemahaman tentang supervised learning. Kita lanjut membahas tentang unsupervised learning. Jadi, unsupervised learning ini adalah kebalikan dari supervised learning. Mesin tidak perlu kita ajari menggunakan data terlebih dahulu, tetapi secara realtime mesin akan belajar mengenali pola data yang kita berikan kepadanya. Inilah mengapa dalam unsupervised learning, kita tidak perlu juga memecah (split) data. Kita dapat langsung menggunakan data untuk dikenali dan dipahami secara langsung oleh mesin untuk tujuan pemodelan atau pengelompokan. Dalam situasi tertentu, ketikda data yang digunakan terlabelisasi, maka dalam unsupervised learning kita abaikan dulu labelisasinya dalam pemodelan.

Algoritma apa saja yang termasuk supervised learning dan unsupervised learning? Berikut kita kelompokkan beberapa algoritma machine learning ke dalam supervised learning dan unsupervised learning:

Supervised Learning:

Regresi linier

Analisis runtun waktu (time series analysis), ARIMA, SARIMA, ARIMAX, ARCH, GARCH, TARCH

Decision Tree (Pohon Keputusan)

Random Forest

Naive Bayes Classifier (NBC), termasuk sentiment analysis

Nearest Neighbor Classifier

Artificial Neural Network, temasuk juga Convolutional Neural Network untuk image detection

Support Vector Machine

XGBoost Model

 

Unsupervised Learning:

Hiearchical Clustering

K-Means Clustering

DB SCAN

Fuzzy C-Means

Principal Component Analysis (Analisis Komponen Utama, dimentional reduction)

Dari uraian di atas terlihat bahwa perbedaan supervised learning dan unsupervised learning terletak pada ada tidaknya variabel dependen (Y) sebagai tujuan analisis kita. Bila di dalam data yang mau kita analisis bertujuan untuk menganalisis variabel dependen (Y), maka algoritma yang bisa kita gunakan adalah supervised learning. Bila tidak ada penggunaan variabel dependen atau hanya tujuannya mengelompokkan, klasifikasi, atau mencari komponen utama untuk memangkas dimensi variabel, maka kita menggunakan algoritma unsupervised learning.

Demikian sekilas pembahasan kita mengenai perbedaan supervised learning dan unsupervised learning di era sains data dan big data. Nantikan pembahasan mengenai reinforcement learning pada unggahan berikutnya. Selamat memahami!

Komentar

Postingan populer dari blog ini

Pemodelan Autoregressive Integrated Moving Average (ARIMA Model) dengan R

ARIMA dengan R Jumpa lagi teman-teman, sebelumnya saya mohon maaf karena kemarin tidak sempat membuat unggahan terbaru di blog ini. Baik, sebelumnya kita telah mengulas tentang pemodelan Geographically Weigthed Regression (GWR) dengan R. Kali ini, kita akan melanjutkan belajar bersama mengenai pemodelan yang tak asing lagi dan populer hingga kini, yaitu pemodelan Autoregressive Integrated Moving Average (ARIMA). Kita akan membahas ARIMA secara langsung tanpa membahas AR dan MA secara tersendiri mengingat pada dasarnya ARIMA adalah model perpaduan antara model AR dengan order p , MA dengan order q dan aspek differencing dengan order d . Artinya, ketika kita mendengar istilah AR(1), maka sebenarnya itu adalah ARIMA(1, 0, 0), ketika kita mendengar ARI(1,1), maka aslinya itu ARIMA(1, 1, 0), atau bila mendengar MA(3), itu sebenarnya ARIMA(0, 0, 3) atau IMA(2,1) sebenarnya adalah ARIMA(0, 2, 1). Data runtun waktu atau time series merupakan salah satu jenis data yang hingga kini banyak digun

Machine Learning: Memahami Reinforcement Learning

Reinforcement Learning Halo teman-teman, pada pembahasan sebelumnya, kita telah berusaha memahami mengenai supervised learning dan unsupervised learning . Sebelum lanjut ke pemodelan statistik selanjutnya, ada baiknya kita membahas tentang satu lagi jenis algoritma machine learning yang akhir-akhir ini banyak digunakan dalam membentuk artificial intelligence (AI), yaitu algoritma reinforcement learning . Kita ke pengertian berdasarkan studi literatur daring ( online ) dulu teman-teman. Saya coba mengambil salah satu pengertian reinforcement learning, misalkan dari situsnya Algoritma, menyatakan bahwa reinforcement learning merupakan algoritma yang diterapkan untuk pembelajaran mesin ( machine learning ) sedemikian rupa sehingga dapat menentukan aksi yang tepat dan pada akhirnya sebuah program dapat bekerja secara otomatis memberikan hasil atau putusan yang benar. Lebih lanjut dalam situs algoritma mengangkat sebuah perumpamaan reinforcement learning dengan menggunakan proses penugasan