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

Anova Satu Arah (One Way Analysis of Variance) dengan R

One Way Analysis of Variance dengan R

Halo teman-teman, sepertinya ada bagian fundamental yang kita lewati dalam proses belajar dan berbagi dalam blog ini, yaitu pembahasan mengenai analysis of variance atau yang biasa disebut Anova. Tapi tidak apa-apa, kita coba secara perlahan membahas beberapa bentuk Anova yang biasa digunakan dalam penelitian berjenis eksperimen ini.

Yang pertama akan kita bahas bersama adalah bentuk paling sederhana dari Anova, yaitu Anova satu arah (One Way Anova). Perihal teori, saya rasa teman-teman apalagi yang sudah berkecimpung di dunia data science pasti telah paham bahkan bisa jadi sudah di luar kepala. Yang mau saya tekankan dalam pembahasan kali ini adalah mengenai prinsip kita menggunakan one way Anova saja.

Jadi, one way Anova ini merupakan alat analisis ragam yang digunakan dalam pengujian hipotesis apakah terdapat perbedaan rata-rata di antara tiga atau bahkan lebih kelompok sampel (contoh) perlakuan (treatment). Rata-rata dalam hal ini merupakan ukuran-ukuran yang diperoleh dari setiap kelompok perlakuan, misalnya berat, tinggi, pendapatan, pengeluaran, pertumbuhan ekonomi, harga tiket, atau ukuran lainnya.

Adapun hipotesis yang digunakan dalam Anova Satu Arah ini secara redaksi dituliskan berikut:

H0 : rata-rata kelompok 1 = rata-rata kelompok 2 = ... = kelompok ke-k

H1: minimal terdapat satu rata-rata ke-i yang tidak sama

di mana n = 1, 2, 3, ..., i, ..., k

Lantas, bagaimana penerapan one way Anova dengan menggunakan R? Kali ini kita akan mencoba mempraktikkannya dengan menggunakan data yang telah saya siapkan. Data ini merupakan data hasil pengukuran berat badan itik menurut kelompok atau jenis pakannya. Teman-teman dapat mengunduhnya terlebih dulu pada tautan berikut. Setelah datanya diunduh, kita dapat mempraktikkannya menggunakan beberapa code berikut:

#Import Data
library(readxl)
chickwts <- read_excel("chickwts.xlsx")
#Melihat Data
chickwts
## # A tibble: 71 x 2
##    berat pakan    
##    <dbl> <chr>    
##  1   179 horsebean
##  2   160 horsebean
##  3   136 horsebean
##  4   227 horsebean
##  5   217 horsebean
##  6   168 horsebean
##  7   108 horsebean
##  8   124 horsebean
##  9   143 horsebean
## 10   140 horsebean
## # ... with 61 more rows
#Mengattach Data
attach(chickwts)
## The following objects are masked from chickwts (pos = 4):
## 
##     berat, pakan
#Melihat Ringkasan Data
summary(chickwts)
##      berat          pakan          
##  Min.   :108.0   Length:71         
##  1st Qu.:204.5   Class :character  
##  Median :258.0   Mode  :character  
##  Mean   :261.3                     
##  3rd Qu.:323.5                     
##  Max.   :423.0
#Uji Kenormalan Data dengan uji Shapiro Wilks untuk data kecil
by (data = berat, INDICES = pakan, FUN = shapiro.test)
## pakan: casein
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.91663, p-value = 0.2592
## 
## ------------------------------------------------------------------------------------------ 
## pakan: horsebean
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.93758, p-value = 0.5264
## 
## ------------------------------------------------------------------------------------------ 
## pakan: linseed
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.96931, p-value = 0.9035
## 
## ------------------------------------------------------------------------------------------ 
## pakan: meatmeal
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.97914, p-value = 0.9612
## 
## ------------------------------------------------------------------------------------------ 
## pakan: soybean
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.9464, p-value = 0.5064
## 
## ------------------------------------------------------------------------------------------ 
## pakan: sunflower
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.92809, p-value = 0.3603

#Terlihat bahwa semua kelompok mengikuti distribusi Normal dengan p-value > 0,05 atau alpha

#Uji Kesamaan Varians
#Uji Bartlett data yang digunakan harus mengikuti distribusi normal
bartlett.test(berat~pakan)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  berat by pakan
## Bartlett's K-squared = 3.2597, df = 5, p-value = 0.66
#Uji Levene untuk data yang tidak harus mengikuti distribusi normal
library(car)
leveneTest(berat, pakan)
## Warning in leveneTest.default(berat, pakan): pakan coerced to factor.
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  5  0.7493 0.5896
##       65

#Terlihat bahwa varians data Homogen dengan p-value > 0,05

#Uji Anova 1 arah
anova1arah <- aov(berat~pakan)
anova1arah
## Call:
##    aov(formula = berat ~ pakan)
## 
## Terms:
##                    pakan Residuals
## Sum of Squares  231129.2  195556.0
## Deg. of Freedom        5        65
## 
## Residual standard error: 54.85029
## Estimated effects may be unbalanced
#Ringkasan Tabel Anova dan Signifikansinya
summary(anova1arah)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## pakan        5 231129   46226   15.37 5.94e-10 ***
## Residuals   65 195556    3009                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#Terlihat bahwa p-value uji F signifikan yang artinya terdapat perbedaan rata-rata berat itik di setiap kelompok perlakukan atau jenis pakannya

#Kalau Uji F Signifikan kita cari mana yang berbeda dengan uji Tukey
TukeyHSD(anova1arah)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = berat ~ pakan)
## 
## $pakan
##                            diff         lwr       upr     p adj
## horsebean-casein    -163.383333 -232.346876 -94.41979 0.0000000
## linseed-casein      -104.833333 -170.587491 -39.07918 0.0002100
## meatmeal-casein      -46.674242 -113.906207  20.55772 0.3324584
## soybean-casein       -77.154762 -140.517054 -13.79247 0.0083653
## sunflower-casein       5.333333  -60.420825  71.08749 0.9998902
## linseed-horsebean     58.550000  -10.413543 127.51354 0.1413329
## meatmeal-horsebean   116.709091   46.335105 187.08308 0.0001062
## soybean-horsebean     86.228571   19.541684 152.91546 0.0042167
## sunflower-horsebean  168.716667   99.753124 237.68021 0.0000000
## meatmeal-linseed      58.159091   -9.072873 125.39106 0.1276965
## soybean-linseed       27.678571  -35.683721  91.04086 0.7932853
## sunflower-linseed    110.166667   44.412509 175.92082 0.0000884
## soybean-meatmeal     -30.480519  -95.375109  34.41407 0.7391356
## sunflower-meatmeal    52.007576  -15.224388 119.23954 0.2206962
## sunflower-soybean     82.488095   19.125803 145.85039 0.0038845

#Ternyata yang membuat signifikan uji F sebagai contoh untuk kelompok pakan horsebean dan casein dengan p-value adjusted 0,0000 atau < 0,05

Demikian sekilas pembahasan kita mengenai one way Anova dengan menggunakan R. Selamat memahami dan mempraktikkan untuk kebutuhan analisis dan eksperimen.

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

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 s