Disusun Oleh :
JURUSAN STATISTIKA
FAKULTAS SAINS TERAPAN
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2023
KATA PENGANTAR
Puji syukur Kepada Tuhan Yang Maha Esa, atas berkat dan pertolongan-Nya
sehingga penulis dapat menyelelesaikan tugas laporan akhir praktikum data mining
ini dalam waktu yang telah di tentukan sebagaimana yang telah tertanda dalam
kesepakatan praktikum bersama asisten pembimbing parktikum.
Dalam penulisan laporan akhir ini, banyak hambatan yang penulis alami, namun
berkat dukungan dan semangat dari semua pihak, penulis dapat menyelesaikan
laporan akhir ini. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan
terimakasih sebesar-besarnya kepada :
1. Ibu Rokhana Dwi Bekti, S.Si, M.Si. selaku dosen Pengampuh Mata Kuliah
Data Mining atas bimbingannya.
2. Tim laboratorium Statistika atas fasilitas dan kesempatan yang penulis
terima selama mengikuti kegiatan praktikum
3. Asisten praktikum Data Mining yang telah membimbing penulis dalam
memahami dan menyusun laporan akhir ini.
4. Semua pihak yang telah membantu penulisan laporan ini dengan caranya
masing-masing.
Penulis menyadari laporan ini masih jauh dari kata sempurna, untuk itu penulis
mengharapkan kritik dan saran yang membangun demi perbaikan laporan ini.
Akhirnya penulis mengharapkan semoga laporan ini dapat menambah wawasan
pengetahuan para pembaca.
Penulis
ii
DAFTAR ISI
iii
4.2.2 Mengecek Outlier ................................................................................. 30
BAB V PENUTUP................................................................................................ 93
LAMPIRAN .......................................................................................................... 97
iv
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan internet yang semakin pesat tentunya menjadikan berbagai
informasi bisa didapatkan dengan sangat mudah dalam waktu yang relatif singkat.
Sumber informasi yang ada akan memberikan manfaat, karena antara satu sumber
dengan sumber lainnya dapat saling melengkapi informasi yang disajikan. Namun,
di sisi lain informasi dengan jumlah yang sangat banyak dan beragam akan
menyebabkan adanya information overload. Information overload adalah informasi
yang terlalu banyak untuk diterima oleh manusia, sehingga sulit untuk diolah.
Karena adanya information overload, manusia dituntut untuk dapat mengatasi dan
mengolah berbagai informasi yang didapatkan dari berbagai sumber sehingga
menjadi satu kesatuan informasi yang utuh, akurat dan bermanfaat. Salah satu
komponen penting dalam manajemen pengetahuan adalah akuisisi informasi.
Komponen ini berperan penting dalam memilih dan memilah informasi yang
relevan untuk dimasukkan kedalam struktur pengetahuan yang akan
dikembangkan.
Karakteristik informasi yang tersedia di internet memiliki perbedaan yang
cukup signifikan dengan karakteristik informasi yang tersedia di dalam suatu
organisasi baik dari sisi bentuk, variasi maupun validitas informasi. Perbedaan ini
tentunya memerlukan pendekatan yang berbeda dalam proses akuisisinya
dibandingkan dengan proses akuisisi informasi di internal organisasi. Dalam
penelitian ini akan dikembangkan sebuah metodologi akuisisi informasi dari laman
web yang tersedia di internet. Metodologi yang dibangun akan memanfaatkan
teknologi web scraping dan text mining serta klasifikasi dan association rules.
Data Mining (Penambangan data) merupakan bidang ilmu multidisplin,
menggambarkan area-area kerja yang termasuk didalamnya adalah teknologi basis
data, pembelajaran mesin, statistik, pengenalan pola, pengambilan informasi,
jaringan saraf tiruan, sistem berbasis pengetahuan, kecerdasan buatan, komputasi
kinerja-tinggi, dan visualisasi data [Han & Kamber, 2006].
Data scraping juga dikenal sebagai data extraction, adalah sebuah metode
otomatisasi yang memungkinkan seseorang untuk mengambil data dari berbagai
1
sumber seperti website, database, aplikasi enterprise, atau sistem legacy, dan
menyimpannya dalam format tabular atau spreadsheet. Dalam kata lain, data
scraping merupakan teknik otomatisasi yang mempermudah tugas-tugas berulang
seperti menyalin data dari website, dengan algoritma yang berjalan untuk
mengambil data dan menyimpannya dalam file atau database. Salah satu manfaat
utama dari penggunaan data scraping adalah efisiensi dalam hal waktu dan tenaga.
Eksplorasi data merupakan tahap penting dalam pemahaman data sebelum
menjalankan praproses. Memahami data yang akan digunakan dalam proses
penggalian informasi dapat membantu dalam menentukan teknik-teknik praproses
dan analisis yang tepat sebelum melakukan data mining.
Analisis klaster merupakan metode statistik yang digunakan untuk
mengidentifikasi kelompok sampel berdasarkan karakteristik yang serupa. Dalam
analisis klaster, elemen-elemen yang memiliki kesamaan dalam tingkat yang tinggi
antara satu sama lain dikelompokkan menjadi satu klaster, sementara elemen-
elemen yang memiliki tingkat perbedaan yang tinggi antara klaster dikelompokkan
secara terpisah. Pengklasteran ini berdasarkan pada kelompok variabel yang diteliti
(Nugroho, 2008).
Menurut Maimon (2005), pohon keputusan merupakan salah satu teknik
klasifikasi yang dikenal sebagai partisi rekursif. Pohon keputusan terdiri dari
simpul-simpul yang membentuk sebuah pohon dengan akar, dan setiap simpul
memiliki satu input. Simpul yang menghasilkan output disebut simpul uji (node
tes), sedangkan simpul-simpul lainnya disebut simpul keputusan atau simpul daun.
Setiap simpul internal membagi ruang menjadi dua atau lebih sub-ruang
berdasarkan atribut kategori dan akan membagi data sesuai dengan nilai atribut
kategori tersebut. Kasus-kasus ini membentuk pohon keputusan yang digunakan
untuk memecahkan masalah.
Random forest classifier merupakan metode klasifikasi yang terdiri dari
sejumlah pohon keputusan yang digunakan sebagai pemilih untuk mencapai hasil
akhir dalam pendeteksian sarkasme. Metode ini menggunakan data latih dan fitur
acak yang independen dengan variasi fitur yang berbeda. Pohon keputusan
dibangun dengan menggunakan simpul akar, simpul internal, dan simpul daun
dengan memilih atribut dan data secara acak sesuai dengan aturan yang ditentukan.
2
Association rule merupakan salah satu metode yang sering digunakan untuk
mencari pola yang sering muncul di antara banyak transaksi. Setiap transaksi terdiri
dari beberapa item, dan metode ini mendukung sistem rekomendasi dengan
menemukan pola antar item dalam transaksi-transaksi yang terjadi.
Karena itu, dalam laporan akhir ini, peneliti memilih permainan pokemon
sebagai dataset yang akan digunakan dalam metode data mining, seperti data
scraping, eksplorasi data, pengelompokan, pohon keputusan, dan random forest.
3
1.4 Tujuan
Tujuan dari penulisan laporan ini adalah sebagai berikut :
1. Untuk mengetahui bagaimana tahapan dalam melakukan Scrapping
pada pokemon database.
2. Untuk mengetahui bagaimana tahapan dan gambaran karakteristik
dalam melakukan Eksplorasi pada pokemon database.
3. Untuk mengetahui bagaimana tahapan dalam melakukan Clustering
pada pokemon database.
4. Untuk mengetahui bagaimana tahapan dalam melakukan Decision Tree
pada pokemon database.
5. Untuk mengetahui bagaimana tahapan dalam melakukan Random
Forest pada data pokemon.
6. Untuk mengetahui bagaimana tahapan dalam melakukan Assosiation
Rules pada data.
1.5 Manfaat
Adapun manfaat yang diperoleh dari penulisan laporan ini adalah :
1. Agar pembaca bisa memahami metode-metode analisis pada
matakuliah Datamining seperti Scrapping Data, Eksplorasi Data,
Clustering, Decision Tree, Random Forest, serta Assosiation Rules.
2. Sebagai sarana untuk menerapkan pengetahuan yang diperoleh selama
menempuh studi, khususnya didalam Datamining menggunakan
software Rstudio.
3. Menambah wawasan serta memanfaatkan ilmu pengetahuan yang telah
diperoleh selama mengikuti perkuliahaan dan dapat menerapkannya
secara nyata dalam kehidupan sehari-hari
4
BAB II
LANDASAN TEORI
2.1 Scrapping Data
Data scraping adalah proses ekstraksi data secara otomatis dari sumber-sumber
seperti website, database, atau aplikasi. Dalam proses ini, algoritma atau program
digunakan untuk mengambil informasi yang spesifik dari halaman web atau sumber
data lainnya. Data scraping sering digunakan untuk mengumpulkan data besar-
besaran, melakukan analisis, atau memperoleh wawasan bisnis. Namun, perlu
diperhatikan bahwa penggunaan data scraping harus sesuai dengan hukum dan
kebijakan privasi yang berlaku, serta mematuhi peraturan yang diberlakukan oleh
sumber data yang diakses.
Secara umum, ada dua cara yang bisa digunakan untuk melakukann screaping
data:
a) Manual ➔ metode di mana Anda menyalin data dengan cara copy paste
dari sebuah website
b) Otomatis ➔ metode yang menggunakan koding, aplikasi, atau
extension browser.
Web scraping kini dimudahkan dengan bantuan browser extension dan aplikasi.
Namun, hasilnya masih belum sebaik cara manual dan koding. Dalam artikel ini
kami akan membahas enam teknik web scraping yang umum dilakukan, yaitu :
a) Menyalin data secara manual
Cara web scraping yang paling sederhana adalah menyalin data website
secara manual. Karena Anda harus mengambil dan menyimpan informasi
yang diperlukan satu per satu, teknik ini memakan waktu lama. Akan tetapi,
metode ini paling efektif dari segi pencarian data. Tidak seperti tool atau
bot, Anda sudah tahu letak informasi yang ingin disalin dari suatu website.
Dengan demikian, hasil web scraping dengan cara ini sangat akurat. Teknik
manual ini dianjurkan jika jumlah website atau blog yang ingin Anda saring
terbatas
b) Menggunakan regular expression
Regular expression adalah baris kode yang digunakan dalam algoritma
pencarian untuk menemukan tipe data tertentu dari sebuah file. Dalam
5
konteks web scraping, file yang dimaksud adalah file-file penunjang sebuah
website. Keuntungan utama menggunakan regular expression untuk web
scraping adalah konsistensi syntaxnya di dalam berbagai bahasa
pemrograman. Oleh karena itu, teknik ini sangat fleksibel. Ditambah lagi,
regular expression dapat digunakan untuk mencari data berdasarkan
jenisnya, seperti nama produk, harga, dan alamat email.
c) Parsing HTML
Pada dasarnya, parsing HTML adalah metode yang dilakukan dengan
mengirimkan HTTP request kepada server yang menyimpan data website
yang datanya ingin Anda ekstrak. Dengan teknik ini, Anda dapat melakukan
web scraping tidak hanya pada halaman website yang bersifat statis, tetapi
juga dinamis. Selain itu, parsing HTML juga memungkinkan Anda untuk
menyalin data dalam jumlah yang besar dalam waktu singkat. Sayangnya,
parsing HTML dapat dicegah dengan proteksi website. Tak hanya itu, Anda
bisa diblokir dari suatu situs jika terlalu sering melakukan teknik ini.
d) Menganalisa DOM
DOM atau document object model adalah representasi struktur sebuah
halaman website yang ditulis dengan HTML. Ketika melakukan parsing
HTML, DOM dari halaman yang ingin diekstrak datanya akan dimuat
terlebih dahulu. Untungnya, DOM juga membawa data yang ada pada file
HTML. Oleh karena itu, analisa DOM bisa dijadikan alternatif untuk
melakukan web scraping terhadap halaman situs dinamis jika parsing
HTML tidak membuahkan hasil. Untuk membantu proses ini, Anda bisa
mencari informasi yang diinginkan dengan regular expression.
e) Menggunakan Xpath
XPath adalah bahasa query yang digunakan untuk memilih node dari
struktur file XML dan HTML. Implementasinya tidak jauh berbeda dengan
analisa DOM. Anda menggunakannya untuk mencari data dari struktur file
penunjang halaman. Selain itu, XPath juga dapat digunakan untuk mencari
data pada elemen teks dalam file XML dan HTML. Dengan demikian,
teknik web scraping ini bisa Anda pilih ketika analisa DOM kurang efektif.
6
f) Menggunakan Google Sheet
Google Sheet adalah aplikasi web milik Google yang biasanya digunakan
untuk membuat spreadsheet. Akan tetapi, aplikasi ini ternyata juga bisa
digunakan untuk melakukan web scraping dengan mudah. Di samping
Google Sheet, Anda hanya memerlukan browser yang memiliki fitur inspect
element. Setelah itu, tinggal mengopi expression XPath dari elemen
halaman website yang datanya ingin Anda salin ke dalam command
IMPORTXML yang ada di Google Shee.
Manfaat web scrapping adalah sebagai berikut :
a) Mendapatkan Leads
b) Membandingkan Ulasan dalam Jumlah Besar
c) Optimasi Harga Produk atau Layanan
d) Mencari Informasi sebuah Perusahaan
7
c) Clusterization
Clusterization merupakan proses mengidentifikasi kelompok dari produk
ataupun barang yang memiliki karakteristik khusus.
d) Descriptive
Descriptive merupakan fungsi untuk tujuan memahami lebih dalam
mengenai data, sehingga anda dapat mengamati setiap perubahan
perilaku pada informasi tersebut.
e) Forecasting
Forecasting merupakan teknik peramalan data yang dilakukan untuk
memperoleh gambaran mengenai nilai suatu data di masa yang akan
datang sesuai pengumpulan informasi dengan jumlah informasi yang
besar. Contoh penerapan forecasting adalah data terkait peramalan
jumlah dosen yang masuk pada perguruan tinggi negeri.
f) Predictive
Predictive adalah fungsi yang digunakan untuk menjelaskan suatu proses
dalam menentukan sebuah pola tertentu pada suatu data. Pola tersebut
digunakan oleh berbagai variabel yang ada pada data tersebut.
g) Sequencing
Sequencing adalah proses identifikasi tiap hubungan yang berbeda pada
periode waktu tertentu. Contoh dari sequencing sendiri adalah pelanggan
yang mengunjungi sebuah pertokoan secara terus – menerus (berulang).
Metode yang diterapkan dalam melakukan pengembangan data adalah :
1. Proses Pengambilan Data
Tahapan fase yang dilakukan dimulai dari tahap terbawah, yaitu data masih
berbentuk raw, hingga masuk pada fase akhir. Dimana untuk mencapai fase
akhir tersebut, anda perlu melakukan beberapa tahapan sebagai berikut;
a) Data cleansing, yaitu fase dimana data masih tidak lengkap, mengandung
pesan error, dan tidak konsisten. Sehingga, perlu untuk melakukan
pembersihan data lebih lanjut.
b) Data integration, yaitu proses terjadinya integrasi data, dimana sumber
data yang berulang – ulang serta dapat dikombinasikan dengan file lainnya
ke dalam suatu sumber
8
c) Selection, pada tahapan ini data yang relevan dan sesuai dengan analisis
dapat dipilih pada informasi koleksi tersebut.
d) Data transformation, dimana data yang telah terpilih, akan
ditransformasikan ke dalam bentuk yang cocok untuk prosedur penggalian
lebih lanjut dengan cara melakukan proses normalisasi dan agregasi.
e) Data mining, pada tahapan ini termasuk pada langkah – langkah utama
untuk mengekstrak pola yang berpotensi sebagai sumber informasi yang
berguna.
f) Pattern evaluation, pada tahapan ini, masuk pada pola atau skema yang
menarik dengan mempresentasikan pengetahuan yang telah diidentifikasi
berdasarkan hasil pengukuran (measure) yang telah dilakukan.
g) Knowledge representation, merupakan tahap yang terakhir, dimana hasil
informasi berupa pengetahuan yang berhasil diperoleh akan disajikan atau
divisualisasikan kepada pengguna (user).
9
Kemudian data dapat dipaparkan secara baik, jika terjadi perubahan data maka
perubahan akan mudah di perbaiki, data akan lebih cepat dan mudah di analis.
Tahapan dalam melakukan eksplorasi data adalah sebagai berikut :
a) Melakukan persiapan data, Sebelum melakukan eksplorasi data maka
terlebih dahulu melakukan pemeriksaan dan persiapan data yang
meliputi Missing Data, Outliers, dan Variabel Selection
b) Explore Meliputi Summarizing Data, Visualising Distribution,
Correlation Analysis, Principal Component, Interactive.
10
b. Alokasi: Hitung jarak antara setiap titik data dengan pusat kelompok
yang ada. Alokasikan setiap titik data ke kelompok dengan pusat
terdekat.
c. Pembaruan Pusat: Hitung pusat baru untuk setiap kelompok dengan
mengambil nilai rata-rata dari semua titik data yang termasuk dalam
kelompok tersebut.
d. Iterasi: Ulangi langkah 2 dan 3 sampai tidak ada perubahan alokasi
kelompok atau hingga mencapai kriteria berhenti yang ditentukan
(misalnya, jumlah iterasi tertentu telah tercapai).
e. Hasil: Setelah iterasi selesai, kita mendapatkan kelompok-kelompok data
yang terbentuk berdasarkan algoritma K-Means. Setiap titik data
termasuk dalam satu kelompok tertentu.
Algoritma K-Means berusaha untuk mengoptimalkan posisi pusat kelompok
sehingga jarak antara titik data dalam kelompok yang sama diminimalkan,
sedangkan jarak antara kelompok yang berbeda dijaga sejauh mungkin. Dengan
demikian, K-Means merupakan metode yang populer untuk pengelompokan data.
K-means clustering dapat kita gunakan jika kita melakukan pengelompokkan
data berdasarkan variabel tertentu, di mana kita belum dapat menentukan kelas
outputnya seperti apa (unsupervised learning). Algoritma ini dapat kita gunakan
jika kita dihadapkan pada maslah yang penyelaesaiannya membutuhkan proses
segmentasi atau pengelompokkan menjadi subgroup tertentu, seperti analisis pasar
dan pelanggan. Algoritma ini dapat kita gunakan saat melakukan pembacaan intuitif
terhadap data yang baru kita dapatkan.
2.5 Decision Tree
Data Mining (Penambangan data) merupakan bidang ilmu multidisplin,
menggambarkan area-area kerja yang termasuk didalamnya adalah teknologi basis
data, pembelajaran mesin, statistik, pengenalan pola, pengambilan informasi,
jaringan saraf tiruan, sistem berbasis pengetahuan, kecerdasan buatan, komputasi
kinerja-tinggi, dan visualisasi data [Han & Kamber, 2006].
Ada banyak metodologi Data Mining, salah satu yang populer adalah Pohon
Keputusan (Decision Tree). Pohon keputusan merupakan salah satu metode
klasifikasi yang sangat menarik yang melibatkan konstruksi pohon keputusan yang
11
terdiri dari node keputusan yang di hubungkan dengan cabangcabang dari simpul
akar sampai ke node daun (akhir). Pada node keputusan attribut akan diuji, dan
setiap hasil akan menghasilkan cabang. Setiap cabang akan diarahkan ke node lain
atau ke node akhir untuk menghasilkan suatu keputusan (Larose, 2005).
Menurut Maimon (2005), pohon keputusan adalah salah satu metode
klasifikasi yang dinyatakan sebagai partisi rekursif. Pohon keputusan terdiri dari
node yang membentuk pohon yang berakar, semua node memiliki satu masukan.
Node yang keluar disebut node tes. Node yang lain disebut node keputusan atau
sering disebut node daun. Setiap simpul internal membagi dua atau lebih sub-ruang
sesuai dengan kategori attribut dan akan dipartisi sesuai dengan nilai kategori kasus.
Kasus-kasus tersebut membentuk pohon keputusan yang menghasilkan problem
solving.
Klasifikasi data mining adalah penempatan objek-objek ke salah satu dari
beberapa kategori yang telah ditetapkan sebelumnya. Klasifiksi banyak digunakan
untuk memprediksi kelas pada suatu label tertentu, yaitu dengan mengklasifikasi
data (membangun model) berdasarkan training set dan nilai-nilai (label kelas)
dalam mengklasifikasikan atribut tertentu dan menggunakannya dalam
mengklasifikasikan data yang baru.
Pohon keputusan biasanya digunakan untuk mendapatkan informasi untuk
tujuan pengambilan sebuah keputusan. Pohon keputusan dimulai dengan sebuah
root node (titik awal) yang digunakan oleh user untuk mengambil tindakan.
Berdasarkan node root ini, user memecahkan leaf node sesuai dengan algoritma
decision tree.
2.6 Random Forest
Metode random forest (RF) merupakan metode yang dapat meningkatkan hasil
akurasi, karena dalam membangkitkan simpul anak untuk setiap node dilakukan
secara acak atau random forest classifier merupakan metode klasifikasi yang terdiri
dari kumpulan pohon keputusan yang nantinya akan dijadikan vote untuk
mendapatkan hasil terakhir dari pendeteksian sarkasme dengan pendukung berupa
data latih dan fitur acak yang independen dengan fitur yang berbeda-beda. Metode
ini digunakan untuk membangun pohon keputusan yang terdiri dari root node,
internal node, dan leaf node dengan mengambil atribut dan data secara acak sesuai
12
ketentuan yang diberlakukan. Root node merupakan simpul yang terletak paling
atas, atau biasa disebut sebagai akar dari pohon keputusan. Internal node adalah
simpul percabangan, dimana node ini mempunyai output minimal dua dan hanya
ada satu input. Sedangkan leaf node atau terminal node merupakan simpul terakhir
yang hanya memiliki satu input dan tidak mempunyai output. Keuntungan
penggunaan random forest yaitu mampu mengklasifiksi data yang memiliki atribut
yang tidak lengkap serta dapat digunakan untuk menangani data sampel yang
banyak.
Dan kekurangan penggungaan random forest yaitu interpretasi yang sulit dan
membutuhkan tuning model yang tepat untuk data. Pohon keputusan dibuat dengan
menentukan node akar dan berakhir dengan beberapa node daun untuk
mendapatkan hasil akhir.
Disebut deecision tree atau pohon keputusan karena pilihannya bercabang,
membentuk struktur yang terlihat seperti pohon. Pohon keputusan bekerja paling
baik ketika Anda mengikuti aturan diagram alur dasar :
a. Persegi panjang atau bujur sangkar: Tunjukkan awal pohon tempat
Anda menulis pertanyaan.
b. Garis: Mewakili cabang-cabang pohon. Ini semua adalah kemungkinan
tindakan.
c. Lingkaran: Menandakan hasil yang tidak pasti bahwa Anda akan
membutuhkan cabang tambahan untuk diklarifikasi.
Ada dua jenis utama pohon keputusan yang didasarkan pada variabel target,
yaitu pohon keputusan variabel kategoris dan pohon keputusan variabel kontinu.
a. Decision tree variabel kategori
Sebuah pohon keputusan variabel kategori termasuk variabel target
kategoris yang dibagi ke dalam kategori. Misalnya, kategorinya bisa ya
atau tidak. Kategori berarti bahwa setiap tahap proses keputusan jatuh
ke dalam salah satu kategori, dan tidak ada di antaranya.
b. Decision tree variabel kontinu
Pohon keputusan variabel kontinu adalah pohon keputusan dengan
variabel target kontinu. Misalnya, pendapatan individu yang
13
pendapatannya tidak diketahui dapat diprediksi berdasarkan informasi
yang tersedia seperti pekerjaan, usia, dan variabel kontinu lainnya.
Algoritma Random Forest adalah metode klasifikasi atau regresi yang
menggunakan kumpulan pohon keputusan (decision trees) untuk menghasilkan
hasil akhir. Berikut adalah langkah-langkah utama dalam algoritma Random Forest:
a) Inisialisasi: Tentukan jumlah pohon (n_estimators) yang ingin dibuat
dalam Random Forest. Pilih secara acak sampel bootstrap (sampling
dengan pengembalian) dari data latih untuk setiap pohon.
b) Pembentukan Pohon: Untuk setiap pohon dalam Random Forest,
lakukan langkah-langkah berikut:
- Acak pilih subset fitur (features) dari total fitur yang tersedia.
- Dalam pohon keputusan, bagi data latih ke dalam sub-ruang
berdasarkan aturan pemisahan (misalnya, Gini Index atau Information
Gain).
c) Terus pisahkan sub-ruang secara rekursif dengan membuat simpul-
simpul internal hingga mencapai kondisi berhenti (misalnya, mencapai
batas kedalaman maksimum atau jumlah data dalam simpul terlalu
sedikit).
d) Setiap simpul daun (leaf node) akan memberikan prediksi berdasarkan
mayoritas kelas dari data latih yang ada di simpul tersebut.
e) Voting atau Konsensus: Setelah pembentukan semua pohon, hasil
prediksi dari setiap pohon digunakan untuk memilih mayoritas kelas
(dalam kasus klasifikasi) atau menghitung rata-rata (dalam kasus
regresi).
f) Hasil Akhir: Hasil mayoritas kelas atau rata-rata yang diperoleh dari
langkah sebelumnya dijadikan hasil akhir dari Random Forest.
Random Forest memiliki beberapa keunggulan, seperti kemampuan untuk
mengatasi overfitting, kestabilan terhadap perubahan data, dan mampu menangani
banyak fitur. Hal ini membuatnya menjadi salah satu algoritma yang populer untuk
masalah klasifikasi dan regresi.
14
2.7 Assosiation Rules
Association rule adalah suatu prosedur yang mencari hubungan atau relasi
antara satu item dengan item lainnya. Association rule biasanya menggunakan “if”
dan “then” misalnya “if A then B and C”, hal ini menunjukkan jika A maka B dan
C.
Dalam menentukan association rule perlu ditentukan support dan confidence
untuk membatasi apakah rule tersebut interesting atau tidak. Association rule
berguna untuk menemukan hubungan penting antar item dalam setiap transaksi,
hubungan tersebut dapat menandakan kuat tidaknya suatu aturan dalam asosiasi.
Tujuan association rule adalah untuk menemukan keteraturan dalam data.
Association rule dapat digunakan untuk mengidentifikasi item-item produk yang
mungkin dibeli secara bersamaan dengan produk lain, atau dilihat secara bersamaan
saat mencari informasi mengenai produk tertentu.
Dalam pencarian association rule, diperlukan suatu variabel ukuran
kepercayaan 9 (interestingness measure) yang dapat ditentukan oleh user, untuk
mengatur batasan sejauh mana dan sebanyak apa hasil output yang diinginkan oleh
user.
Terdapat dua ukuran kepercayaan yang menunjukkan kepastian dan tingkat
kegunaan suatu rule yang ditemukan yaitu:
1. Support (dukungan) merupakan suatu ukuran yang menunjukkan seberapa
besar dominasi suatu item atau itemset dari keseluruhan transaksi
2. Confidence (tingkat kepercayaan) adalah suatu ukuran yang menunjukkan
hubungan antar item secara conditional (misalnya seberapa sering item B
dibeli jika orang membeli item A).
Untuk menemukan aturan asosiasi seperti yang diharapkan maka harus
menemukan nilai dari support yang telah ditentukan. Support tersebut merupakan
jumlah item pada setiap transaksi yang ada didalam database. Untuk dapat
menemukan nilai support kita dapat mencari semua aturan yang jumlah support ≥
minimum support. Dalam hal ini dapat digunakan sebagai cara untuk menemukan
sebuah nilai confidence. Nilai confidence ditentukan dari nilai support suatu aturan
dalam sebuah transaksi.
15
Jika itemset pada setiap transaksi tidak sering muncul (infrequent), maka
kandidat yang tidak sesuai dengan nilai support ≥ minimum support tersebut harus
segera dipangkas tanpa harus menghitung confidencenya. Strategi umum
digunakan oleh banyak algoritma penggalian aturan asosiasi adalah memecahkan
masalah ke dalam dua pekerjaan utama, yaitu:
a. Frequent Itemset Generation Tujuannya adalah mencari semua itemset
yang memenuhi ambang batas minimum support. Itemset itu disebut
itemset frequent (Itemset yang sering muncul)
b. Rules Generation Tujuannya adalah mengekstrak aturan dengan
confidence tinggi dari itemset frequent yang ditemukan dalam langkah
sebelumnya. Aturan ini kemudian disebut aturan yang kuat (Strong
rules).
16
BAB III
METODE PENELITIAN
3.1 Objek Penelitian
1. Objek penelitian pada kasus nomor 1 adalah :
Data diambil melalui laman weeb: https://pokemondb.net/pokedex/all , Data
yang diakses adalah data pkemon dataset. Melakukan screaping data!
17
3. Data yang digunakan pada kasus nomor 3 ini adalah data yang sama pada
kasus nomor 2 yaitu database pokemon” yang diambil dari web. Lakukan
analisis clustering pada data!
4. Data yang digunakan pada kasus nomor 4 ini adalah data yang sama pada
kasus nomor 2 yaitu database pokemon” yang diambil dari web. Lakukan
analisis decision tree untuk klasifikasi database pokemon!
5. Data yang digunakan pada kasus nomor 5 ini adalah data yang sama pada
kasus nomor 2 yaitu database pokemon” yang diambil dari web. Bagaimana
penyelesaian studi kasus dengan algoritma random forest pada pokemon
database?
6. Objek penelitian pada kasus nomor 6 adalah data seperti berikut:
Kode barang kode barang kode barang kode barang kode barang
1 susu 6 roti 15 pasta gigi 21 sikat gigi 29 shampo
1 roti 7 shampo 15 gula 22 kecap 29 pasta gigi
1 sabun mandi 7 pasta gigi 15 pembersih lantai 22 saos 29 sikat gigi
1 shampo 7 pembersih lantai 15 susu 23 pasta gigi 30 sabun mandi
2 pasta gigi 7 saos 16 roti 23 roti 30 shampo
2 sikat gigi 7 sikat gigi 16 saos 23 susu 30 sikat gigi
2 pembersih lantai 8 kecap 16 pasta gigi 23 sabun mandi 31 pembersih lantai
2 saos 8 pasta gigi 16 kecap 23 sikat gigi 31 gula
3 gula 8 sikat gigi 17 shampo 24 pembersih lantai 32 kecap
4 kecap 8 gula 17 pasta gigi 25 kecap 32 roti
4 pasta gigi 9 shampo 17 susu 25 susu 32 sabun mandi
4 sikat gigi 10 sikat gigi 18 roti 26 susu 33 shampo
4 gula 11 pembersih lantai 19 pembersih lantai 26 roti 33 pasta gigi
5 kecap 12 gula 20 saos 26 sabun mandi 33 saos
5 sabun mandi 12 roti 20 gula 26 shampo 34 saos
5 pembersih lantai 12 pasta gigi 20 kecap 27 pasta gigi 34 kecap
5 gula 12 susu 20 shampo 27 sikat gigi 35 susu
6 sikat gigi 12 saos 20 pasta gigi 27 pembersih lantai
6 gula 13 kecap 20 sikat gigi 27 saos
6 kecap 14 pembersih lantai 21 roti 28 gula
6 susu 15 sabun mandi 21 susu 29 kecap
18
4. Pada analisis kasus nomor 4 dan nomor 5 variabel penelitian yang
digunakan adalah :
Variabel (Input) Independen Variabel (Target) Dependen
Variabel HP (X1)
Variabel Attcak (X2)
Y = Variabel Total
Variabel Defense (X3)
Variabel Speed (X4).
5. Pada analisis kasus nomor 6, variabel penelitian yang digunakan adalah :
Kode dan Barang.
19
BAB IV
ANALISIS DAN PEMBAHASAN
4.1 Scrapping Data
Dalam menganalisis data percobaan tersebut aplikasi yang digunakan adalah
aplikasi R-Studio. Langkah-langkah penyelesaian dalam Scrapping data tersebut
adalah sebagai berikut :
a. Membaca file HTML dari halaman website dengan menggunakan
fungsi read_html dengan sintax sebagai berikut:
20
d. Scrapping Data :
i. Data Nama
Untuk Scrapping data Nama maka sintax yang digunakan adalah
sebagai berikut :
21
ii. Jenis
Untuk Scrapping data jenis maka sintax yang digunakan adalah
sebagai berikut :
22
iii. Total
Untuk Scrapping data total maka sintax yang digunakan adalah
sebagai berikut :
23
iv. HP
Untuk Scrapping data HP maka sintax yang digunakan adalah
sebagai berikut :
24
v. Attcak
Untuk Scrapping data Attcak maka sintax yang digunakan adalah
sebagai berikut :
25
vi. Defense
Untuk Scrapping data Defense maka sintax yang digunakan adalah
sebagai berikut :
26
vii. Speed
Untuk Scrapping data Speed maka sintax yang digunakan adalah
sebagai berikut :
27
… … … … … … … … … … …. … … … … … … … … … … … …
Output diatas, adalah tampilan data frame yang sudah berhasil di screaping dengan
masing-masing variabel memiliki total data sebanyak 1194.
4.2 Eksplorasi Data
Sebelum melakukan eksplorasi data, maka sebaiknya melakukan pemeriksaan
dan persiapan data terlebih dahulu yang meliputi:
4.2.1 Mengecek Missing Data
Data hilang atau Missing Data atau Missing value dapat diartikan sebagai data
atau informasi yang “hilang” atau tidak tersedia mengenai subjek penelitian pada
variabel tertentu akibat faktor non sampling error. Sintax yang digunakandan output
yang diperoleh adalah sebagaiberikut :
28
Berdasarkan hasil output di atas dapat dilihat bahwa untuk data dengan nama
“DATA_POKEMON” tidak terdapat missing data (tidak ada data yang hilang)
sehingga keterangan yang tercantum pada hasil output adalah “FALSE”.
29
4.2.2 Mengecek Outlier
Untuk pengecekan data yang outliers dilakukan beberapa metode
diantaranya:
1) Metode Z-score
Skor standar (Z-Score) adalah angka yang merupakan perbedaan antara nilai
data dan rata-rata, dibagi dengan standar deviasi. Aturan umumnya adalah
Z-score dengan nilai kurang dari –3 atau lebih dari +3 menunjukkan bahwa
nilai data adalah nilai ekstrem atau outliers. Sehinnga dari data pokemon
untuk variabel Total, HP, Attcak, Defense, dan Speed dapat dilihat nilai
outliernya seperti output berikut:
a) Nilai Z-score Variabel Total
30
31
Dari output diatas, terdapat data yang mengalami outlier karena nilainya
lebih dari +3.
b) Nilai Z-score Variabel HP
32
Dari output diatas, terdapat data yang mengalami outlier karena nilainya
lebih dari +3 atau -3.
c) Nilai Z-score Variabel Attcak
33
34
Dari output diatas, terdapat data yang mengalami outlier karena nilainya lebih
dari +3 atau -3.
d) Nilai Z-score Variabel Defense
35
Dari output diatas, terdapat data yang mengalami outlier karena nilainya lebih
dari +3 atau -3
e) Nilai Z-score Variabel Speed
36
37
Dari output diatas, terdapat data yang mengalami outlier karena nilainya
lebih dari +3 atau -3
2) Mengecek outlier dengan box plot
a) Box plot variabel Total
Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“total” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “total” dikatakan tidak simetris
karena luasan kotak di bawah dan di atas Q2 (median) tidak sama
sehingga dapat dikatakan bahwa distribusi data cenderung
menjulur/miring ke arah kiri atau disebut skewness negatif.
b) Box plot variabel HP
Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“HP” mengalami outlier karena ada data yang berada dibagian atas upper
whisker serta data pada variabel “HP” dikatakan simetris karena luasan
kotak di bawah dan di atas Q2 (median) sama sehingga dapat dikatakan
bahwa distribusi data mengikuti distribusi normal
38
c) Box plot variabel Attack
Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“Attack” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “Attack” dikatakan simetris
karena luasan kotak di bawah dan di atas Q2 (median) sama sehingga
dapat dikatakan bahwa distribusi data mengikuti distribusi normal
d) Box plot variabel Defense
Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“Deffense” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “Deffense” dikatakan simetris
karena luasan kotak di bawah dan di atas Q2 (median) sama sehingga
dapat dikatakan bahwa distribusi data mengikuti distribusi normal.
39
e) Box plot variabel Speed
Berdasarkan hasil output di atas dapat dilihat bahwa data pada variabel
“Speed” mengalami outlier karena ada data yang berada dibagian atas
upper whisker serta data pada variabel “Speed” dikatakan simetris karena
luasan kotak di bawah dan di atas Q2 (median) sama sehingga dapat
dikatakan bahwa distribusi data mengikuti distribusi normal.
4.2.3 Melakukan Ekplorasi Data
Setelah melakukan pemeriksaan data dan persiapan data selanjutnya
melakukan ekplorasi data.
40
Dari output statistika deskriptif diatas, didapatkan untuk variabel Nama dan
Jenis merupakan variabel yang bertipe Caracter sedangkan untuk variabel
Total, HP, Attack, Defense, dan Speed bertipe numerik. Untuk setiap
variabel numerik dapat dijelaskan sebagai berikut:
a) Untuk variabel “Total” memilik nilaai minimum sebesar 175.0 dan nilai
maksimumnya sebesar 1125.0; dengan mean (rata-rata) sebesar 441.2;
nilai median (Q2) sebesar 460.5; nilai kuartil pertama (Q1) sebesar
330.0 dan nilai kuartil ke-3 (Q3) sebesar 520.0.
b) Untuk variabel “HP” memilik nilai minimum sebesar 1.00 dan nilai
maksimumnya sebesar 225.0; dengan mean (rata-rata) sebesar 70.89;
nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1) sebesar
52.00 dan nilai kuartil ke-3 (Q3) sebesar 85.00.
c) Untuk variabel “attack” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 190.0; dengan mean (rata-rata) sebesar 80.95;
nilai median (Q2) sebesar 80.00; nilai kuartil pertama (Q1) sebesar
56.00 dan nilai kuartil ke-3 (Q3) sebesar 100.00.
d) Untuk variabel “Defense” memilik nilai minimum sebesar 5.00 dan
nilai maksimumnya sebesar 250.0; dengan mean (rata-rata) sebesar
74.59; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 51.25 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
e) Untuk variabel “Speed” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 200.0; dengan mean (rata-rata) sebesar 69.78;
nilai median (Q2) sebesar 67.50; nilai kuartil pertama (Q1) sebesar
45.00 dan nilai kuartil ke-3 (Q3) sebesar 90.75.
2. Visualisasi data
a. Skewness
Kemiringan atau kecondongan (skewness) adalah tingkat ketidak
simetrisan atau kejauhan simetri dari sebuah distribusi. Nilai skewness
(ukuran kemiringan) menunjukkan data normal ketika nilai-nilai
tersebut berada di antara rentang nilai -2 sampai dengan 2. Kurva positif
apabila rata-rata hitung > modus/median. Kurva negative apabila rata-
rata hitung < modus/media. Jika distribusi memiliki ekor yang lebih
41
panjang ke kanan daripada yang ke kiri maka distribusi disebut
menceng ke kanan atau memiliki kemencengan positif. Sebaliknya, jika
distribusi memiliki ekor yang lebih panjang ke kiri daripada yang ke
kanan maka distribusi disebut menceng ke kiri atau memiliki
kemencengan negatif.
Kriteria untuk mengetahui model distribusi dari koefisien kemiringan :
a) Jika koefisien kemiringan < nol, maka bentuk distribusinya
negative (ekor bagian kiri lebih Panjang).
b) Jika koefisien kemiringan = nol, maka bentuk distribusinya
simetrik.
c) Jika koefisien kemiringan > nol, maka bentuk distribusinya
positif (ekor bagian kanan lebih Panjang).
Berikut adalah hasil output skewness untuk setiap variabel:
42
cenderung menceng atau miring ke kanan atau ekor
distribusi landai kekanan.
d) Untuk variabel Defense, nilai skewness sebesar 1.13289
yang mana termasuk skewness positif yang berarti data
cenderung menceng atau miring ke kanan atau ekor
distribusi landai ke kekanan.
e) Untuk variabel Speed, nilai skewness sebesar 0.3775752
yang mana termasuk skewness positif yang berarti data
cenderung menceng atau miring ke kanan atau ekor
distribusi landai kekanan.
b. Histogram
Berikut adalah hasil output Histogram untuk setiap variabel :
43
c. Analisis korelasi
Untuk variabel Total terhadap variabel HP:
Berikut adalah pengujian korelasi untuk variabel Total dan Variabel HP.
a) Menentukan H0 dan H1
H0 : Tidak terdapat korelasi antara variabel Total dan variabel HP
H1 : Terdapat korelasi antara variabel Total dan variabel HP
b) Taraf signifikansi : α = 5% = 0,05
c) Statistik uji
P-value = 2.2e-16
d) Daerah Kritis :
H0 ditolak jika P-value < α
e) Kesimpulan
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel HP dengan
tingkat kepercayaan 95%.
44
Berikut adalah pengujian korelasi untuk variabel Total dan Variabel Attack.
a) Menentukan H0 dan H1
H0 : Tidak terdapat korelasi antara variabel Total dan variabel Attack
H1 : Terdapat korelasi antara variabel Total dan variabel Attack
b) Taraf signifikansi : α = 5% = 0,05
c) Statistik uji
P-value = 2.2e-16
d) Daerah Kritis :
H0 ditolak jika P-value < α
e) Kesimpulan
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel Attack
dengan tingkat kepercayaan 95%.
45
Karena P-value yang diperoleh = 2.2e-16 < α = 0,05 maka H0 ditolak.
Artinya terdapat korelasi antara variabel Total dan variabel Defense
dengan tingkat kepercayaan 95%.
46
4.3 Clustering
4.3.1 Persiapan Data
Langkah-langkah dalam melakukan analisis clustering adalah seperti berikut:
1. Melihat Struktur Data
Berikut adalah hasil output dari Struktur data DATA_POKEMON:
Pada output diatas menampilkan type data dari setiap variavel pada data
pokemon. Untuk variabel Nama dan variabel Type merupakan variabel
yang berstruktur atau berbentuk carakter, sedangkan untuk variabel Total,
HP, Attack, Defense, dan Speed type datannya berupa numerik. Untuk
clustering menggunakan data yang bertype numerik sajah, maka
selanjutnya memanggil data yang bertype numerik.
2. Analisis Deskriptif
Analisis Deskriptif data dengan nama “DATA_POKEMON”, seperti
gambar di bawah ini :
Dari output statistika deskriptif diatas, didapatkan untuk variabel Nama dan
Jenis merupakan variabel yang bertipe Caracter sedangkan untuk variabel
Total, HP, Attack, Defense, dan Speed bertipe numerik. Untuk setiap
variabel numerik dapat dijelaskan sebagai berikut:
47
1. Untuk variabel “Total” memilik nilaai minimum sebesar 175.0 dan nilai
maksimumnya sebesar 1125.0; dengan mean (rata-rata) sebesar 441.2;
nilai median (Q2) sebesar 460.5; nilai kuartil pertama (Q1) sebesar
330.0 dan nilai kuartil ke-3 (Q3) sebesar 520.0.
2. Untuk variabel “HP” memilik nilai minimum sebesar 1.00 dan nilai
maksimumnya sebesar 225.0; dengan mean (rata-rata) sebesar 70.89;
nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1) sebesar
52.00 dan nilai kuartil ke-3 (Q3) sebesar 85.00.
3. Untuk variabel “attack” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 190.0; dengan mean (rata-rata) sebesar 80.95;
nilai median (Q2) sebesar 80.00; nilai kuartil pertama (Q1) sebesar
56.00 dan nilai kuartil ke-3 (Q3) sebesar 100.00.
4. Untuk variabel “Defense” memilik nilai minimum sebesar 5.00 dan
nilai maksimumnya sebesar 250.0; dengan mean (rata-rata) sebesar
74.59; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 51.25 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
5. Untuk variabel “Speed” memilik nilai minimum sebesar 5.00 dan nilai
maksimumnya sebesar 200.0; dengan mean (rata-rata) sebesar 69.78;
nilai median (Q2) sebesar 67.50; nilai kuartil pertama (Q1) sebesar
45.00 dan nilai kuartil ke-3 (Q3) sebesar 90.75.
6. Mengambil Data yang Numerik
Untuk clustering menggunakan data yang bertype numerik sajah, maka
selanjutnya memanggil data yang bertype numerik.
48
49
Pada gambar di atas dapat dilihat bahwa untuk data/variabel yang numerik
adalah kolom 3 sampai kolom 7 (ada 5 variabel numerik).
Fungsi “Scale” merupakan fungsi untuk menyamakan satuan dari datanya atau
menyamakan satuan dari tiap variabel.
50
8. Mendeteksi outlier dengan box plot
Dari masing masing output untuk semua variabel diatas didapatkan semua
variabel mengalami outlier. Namun pada analisis cluster data yang mengalami
pencilan (outlier) tetap dipertahankan (retensi) dan tidak perlu dihilangkan
karena merupakan representasi dari populasi.
Pada gambar di atas dapat dilihat bahwa tidak terdapat nilai korelasi yang
lebih dari 0.80. Oleh karena itu, tidak terdapat multikolinearitas antar
variabel-variabel sehingga dapat melanjutkan proses berikutnya.
51
4.3.3 Melakukan Clustering dengan K-Means
a) Menentukan Cluster Optimum
Jumlah cluster optimum dilakukan agar terbentuk hasil cluster terbaik.
a) Metode Elbow
Pada gambar di atas dapat dilihat bahwa bahwa nilai k yang optimal atau
garis yang tertinggi adalah 2, berarti nilai k yang optimal untuk metode
Sillhouten adalah 2.
52
Jadi, dapat disimpulkan bahwa dengan menggunakan dua metode yang ada
yaitu Metode Elbow dan Metode Silhouette Width, nilai k optimal adalah k= 2.
b) Menghitung jarak
Menghitung jarak dari masing-masing data ke data lainnya dengan metode
Euclidean Distances, seperti gambar di bawah ini:
Pada gambar di atas dapat dilihat bahwa bahwa perhitungan jarak antara
data ke-1 dengan data ke-2 yaitu sebesar 1.2031311; jarak antara data ke-1
dengan data ke-3 yaitu sebesar 2.8724683; dan seterusnya sampai jarak
antara data ke-1 dengan data ke-50. Dimana jarak antara suatu data ke-i
dengan data itu sendiri yaitu 0.
53
c) Membuat klasterisasi dengan K-Means
Membuat klasterisasi dengan K-Means, seperti gambar di bawah ini:
54
-0.5425783 ; dan nilai centroid/pusat cluster 2 untuk “variabel Speed”
sebesar 0.4143471.
b) Nilai within cluster sum of squares by cluster atau jumlah kedekatan antar
objek didalam klaster yaitu untuk cluster 1 yaitu sebesar 1045.353 dan untuk
cluster 2 yaitu sebesar 2595.235.
c) Rasio dari jumlah kuadrat antarklaster (between sum squares) dengan
jumlah kuadrat total (total sum squares) atau akurasi sebesar 39.0 %. Jadi,
sebagai sebuah indikator, Akurasi menunjukkan seberapa baik klaster yang
dibentuk. Semakin tinggi nilai ini, maka keragaman antarkelas juga
meningkat yang menyebabkan semakin berkualitasnya klaster yang
dilakukan.
d) Jumlah iterasi sebanyak 1 untuk mendapatkan cluster yang optimal dan
tidak terjadi kesalahan pada peng-clusteran sehingga ifault = 0.
55
4.3.4 Visualisai Clustering K-Means
Plot Clustering K-Means, seperti gambar di bawah ini:
Dari output diatas, didapatkan bahwa untuk cluster 1 ditandai dengan warna merah,
dan cluster 2 ditandai dengan warna biru. Untuk lebih jelas, data mana sajah yang
masuk kedalam cluster satu atau cluster dua, bisa di lihat pada gambar berikut:
56
… … … … … … …
Pada gambar di atas dapat dilihat bahwa untuk kategori nilai silhouette:
a) Untuk klaster 1 memiliki anggota cluster sebanyak 517 anggota
dengan nilai silhouette sebesar 0.45 ini yang menandakan bahwa
terdapat ikatan yang lemah (weak structure) antara objek dan
kelompok yang terbentuk.
57
b) Untuk klaster 2 memiliki anggota cluster sebanyak 677 anggota
dengan nilai silhouette sebesar 0.26 ini yang menandakan bahwa
terdapat ikatan yang sangat baik (strong structure) antara objek dan
kelompok yang terbentuk.
c) Gambar clusters silhoutte plot seperti berikut:
58
4.3.6 Profiling Cluster
Profiling Cluster, seperti gambar di bawah ini:
59
60
61
Dari ke empat Plot diatas menunjukkan persebaran observasi berdasarkan nilai BIC,
klasifikasi, uncertainty, dan density dari masing-masing data per variabel.
62
4.4 Decision Tree
Langkah-langkah dalam melakukan analisis clustering adalah seperti berikut:
4.4.1 Persiapan Data
Data yang digunakan pada metode Decision Tree adalah data yang sama seperti
pada analisis sebelumnya yaitu Data Pokemon hasil screaping. Dimana jumlah dari
semua variabel yang digunakan adalah 40 data.
a) Memilih Variabel
Variabel (Input) Independen Variabel (Target) Dependen
Variabel HP (X1)
Variabel Attcak (X2)
Y = Variabel Total
Variabel Defense (X3)
Variabel Speed (X4).
b) Mengubah skala data sesuai tujuan
Decision tree disini bertujuan untuk membentuk pohon keputusan Total
berdasarkan variabel HP, Attack, Deffense, dan Speed. Untuk variabel Total
dimodifikasi type datanya yang awalnya berupa numerik berubah menjadi
caracter. Berikut hasil output yang diperoleh:
63
c) Menyiapkan data training dan data testing
Selanjutnya membagi data menjadi 2 bagian yaitu data training dan data
testing. Data training digunakan untuk membangun model, sedangkan data
testing digunakan untuk menguji keakurasian model. Pada pembagian data
training dan data testing digunakan komposisi 80%:20% dengan
perhitungan data training = (80/100)*40 = 32 sehingga terdapat 32 data dan
data testing = (20/100)*40 = 8 sehingga terdapat 8 data.
64
Berdasarkan hasil output dapat dilihat bahwa untuk “data.train” dan
“data.test” pada variabel X1, X2, X3, dan X4 tipe data adalah numerik.
Sedangakan pada variabel dan Y tipe data adalah Carakter.
Untuk setiap variabel numerik pada “data.train” dapat dijelaskan sebagai
berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 30.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
58.75; nilai median (Q2) sebesar 60.00; nilai kuartil pertama (Q1)
sebesar 44.75 dan nilai kuartil ke-3 (Q3) sebesar 75.75.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 20.00
dan nilai maksimumnya sebesar 130.00; dengan mean (rata-rata)
sebesar 74.31; nilai median (Q2) sebesar 80.00; nilai kuartil pertama
(Q1) sebesar 56.00 dan nilai kuartil ke-3 (Q3) sebesar 90.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 123.0; dengan mean (rata-rata)
sebesar 68.41; nilai median (Q2) sebesar 76.00; nilai kuartil pertama
(Q1) sebesar 43.75 dan nilai kuartil ke-3 (Q3) sebesar 83.50.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 30.00
dan nilai maksimumnya sebesar 120.0; dengan mean (rata-rata) sebesar
75.09; nilai median (Q2) sebesar 76.00; nilai kuartil pertama (Q1)
sebesar 57.50 dan nilai kuartil ke-3 (Q3) sebesar 97.75.
Sedangkan Untuk setiap variabel numerik pada “data.test” dapat dijelaskan
sebagai berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 40.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
65
57.00; nilai median (Q2) sebesar 59.00; nilai kuartil pertama (Q1)
sebesar 45.00 dan nilai kuartil ke-3 (Q3) sebesar 61.25.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 25.00
dan nilai maksimumnya sebesar 150.00; dengan mean (rata-rata)
sebesar 66.88; nilai median (Q2) sebesar 61.00; nilai kuartil pertama
(Q1) sebesar 41.00 dan nilai kuartil ke-3 (Q3) sebesar 68.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 80.00; dengan mean (rata-rata)
sebesar 52.50; nilai median (Q2) sebesar 50.00; nilai kuartil pertama
(Q1) sebesar 46.75 dan nilai kuartil ke-3 (Q3) sebesar 59.75.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 35.00
dan nilai maksimumnya sebesar 145.0; dengan mean (rata-rata) sebesar
78.25; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 56.25 dan nilai kuartil ke-3 (Q3) sebesar 90.25.
66
Interpretasi output :
Berdasarkan hasil output plot diatas diketahui bahwa variabel-variabel yang
termasuk diatas merupakan variabel yang berpengaruh terhadap variabel Y
atau Total. Diketahui bahwa X2 atau variabel HP >= 62, maka diprediksi
akan mengalami hightotal dengan probabilitas 0.00. Sebaliknya apabilai X2
< 62, maka diprediksi akan mengalami lowtotal dengan probabilitas 1.00.
Apabila X4 >= 49, maka diprediksi mengalami highsales dengan
probabilitas 0.14. dan lain lain bisa dilihat pada output diatas.
67
4.5 Random Forest
4.5.1 Persiapan Data
Data yang digunakan pada metode Random Forest adalah data yang sama
seperti pada analisis sebelumnya yaitu Data Pokemon hasil screaping. Dimana
jumlah dari semua variabel yang digunakan adalah 40 data.
a) Memilih Variabel
Variabel (Input) Independen Variabel (Target) Dependen
Variabel HP (X1)
Variabel Attcak (X2)
Y = Variabel Total
Variabel Defense (X3)
Variabel Speed (X4).
b) Mengubah skala data sesuai tujuan
Random Forest disini bertujuan untuk membentuk pohon keputusan Total
berdasarkan variabel HP, Attack, Deffense, dan Speed. Untuk variabel Total
dimodifikasi type datanya yang awalnya berupa numerik berubah menjadi
caracter. Berikut hasil output yang diperoleh:
68
c) Menyiapkan data training dan data testing
Selanjutnya membagi data menjadi 2 bagian yaitu data training dan data
testing. Data training digunakan untuk membangun model, sedangkan data
testing digunakan untuk menguji keakurasian model. Pada pembagian data
training dan data testing digunakan komposisi 80%:20% dengan
perhitungan data training = (80/100)*40 = 32 sehingga terdapat 32 data dan
data testing = (20/100)*40 = 8 sehingga terdapat 8 data.
69
d) Melakukan eksplorasi data
Decision tree adalah metode nonparametrik, sehingga tidak ada asumsi
khusus, sehingga eksplorasi data dapat dilakukan dengan mengetahui
rangkuman data. Berikut hasil output yang diperoleh:
70
Sedangkan Untuk setiap variabel numerik pada “data.test” dapat dijelaskan
sebagai berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 40.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
57.00; nilai median (Q2) sebesar 59.00; nilai kuartil pertama (Q1)
sebesar 45.00 dan nilai kuartil ke-3 (Q3) sebesar 61.25.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 25.00
dan nilai maksimumnya sebesar 150.00; dengan mean (rata-rata)
sebesar 66.88; nilai median (Q2) sebesar 61.00; nilai kuartil pertama
(Q1) sebesar 41.00 dan nilai kuartil ke-3 (Q3) sebesar 68.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 80.00; dengan mean (rata-rata)
sebesar 52.50; nilai median (Q2) sebesar 50.00; nilai kuartil pertama
(Q1) sebesar 46.75 dan nilai kuartil ke-3 (Q3) sebesar 59.75.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 35.00
dan nilai maksimumnya sebesar 145.0; dengan mean (rata-rata) sebesar
78.25; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 56.25 dan nilai kuartil ke-3 (Q3) sebesar 90.25.
71
sehingga dari ketiga nilai mtry diatas, kita gunakan nilai mtry terbesar
yaitu 4 untuk membangun model. Selanjutnya membuat model, dengan
hasil output sebagai berikut :
72
prediktor yang memiliki nilai MDA dan MDG tertinggi terdapat pada
variabel X1 yang nilainya sebesar 5.102590 dan 5.001006.
Menampilkan Mean Decrease Accuracy dan Mean Decrease Gini dalam bentuk
plot untuk “MODEL_RF1”
Output diatas adalah bagian dari “MODEL_RF1”, yang lebih jelas dalam melihat
MDA dan MDG. Pada plot diatas diketahui variabel X1 memiliki MDG tertinggi
dan variabel X3 memiliki MDA tertinggi, yang berarti variabel X3 dan X1 paling
berpengaruh dalam pebentukan pohon.
73
b. Untuk baris 2 pada daun kiri terdapat 4 saudara dan pada daun kanan
terdapat 5 saudara yang mana termasuk dalam variabel X2 dengan point
percabangannya sebesar 77.5 yang dikategorikan termasuk pada pohon 1
dan diprediksi tidak termasuk ke dalam pohon yang diinginkan (tidak masuk
ke dalam variabel X2 maka tidak masuk ke dalam pohon yang di buat)
c. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi hightotal.
d. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi lowtotal.
e. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi hightotal.
74
4 80 100 123 hightotal hightotal
5 39 52 43 lowtotal lowtotal
7 78 84 78 hightotal hightotal
8 78 130 111 hightotal hightotal
9 78 104 78 hightotal hightotal
10 44 48 65 lowtotal lowtotal
11 59 63 80 hightotal lowtotal
12 79 83 100 hightotal hightotal
13 79 103 120 hightotal hightotal
14 45 30 35 lowtotal lowtotal
15 50 20 55 lowtotal lowtotal
17 40 35 30 lowtotal lowtotal
19 65 90 40 lowtotal hightotal
21 40 45 40 lowtotal lowtotal
22 63 60 55 lowtotal hightotal
23 83 80 75 hightotal hightotal
25 30 56 35 lowtotal lowtotal
26 30 56 35 lowtotal lowtotal
27 55 81 60 hightotal hightotal
28 75 71 70 hightotal hightotal
30 65 90 65 hightotal hightotal
31 35 60 44 lowtotal lowtotal
32 60 95 69 hightotal hightotal
33 35 55 40 lowtotal lowtotal
34 45 80 50 hightotal lowtotal
35 60 90 55 hightotal hightotal
36 60 85 50 hightotal hightotal
37 50 75 85 lowtotal lowtotal
38 50 75 90 lowtotal lowtotal
39 75 100 110 hightotal hightotal
40 75 100 120 hightotal hightotal
Diperoleh 4 error = 4/32 = 0.152.
75
b) Membangun model untuk “Data Training” dengan ntree=50,mtry=2
76
Menampilkan Mean Decrease Accuracy dan Mean Decrease Gini dalam bentuk
plot untuk “MODEL_RF2”
Output diatas adalah bagian dari “MODEL_RF1”, yang lebih jelas dalam melihat
MDA dan MDG. Pada plot diatas diketahui variabel X2 memiliki MDG dan MDA
tertinggi, yang berarti variabel X2 paling berpengaruh dalam pebentukan pohon.
77
c. Untuk baris 3 pada daun kiri terdapat 4 saudara dan pada daun kanan
terdapat 5 saudara yang mana termasuk dalam variabel X1 dengan point
percabangannya sebesar 52.5 yang dikategorikan termasuk pada pohon 1
dan diprediksi tidak termasuk ke dalam pohon yang diinginkan (tidak masuk
ke dalam variabel X2 maka tidak masuk ke dalam pohon yang di buat)
d. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi lowtotal.
e. Apabila left daughter 0 dan right daughter 0 untuk variabel yang tidak
diketahui maka pada hasil prediksinya menjadi hightotal.
78
4 80 100 123 hightotal hightotal
5 39 52 43 lowtotal lowtotal
7 78 84 78 hightotal hightotal
8 78 130 111 hightotal hightotal
9 78 104 78 hightotal hightotal
10 44 48 65 lowtotal lowtotal
11 59 63 80 hightotal lowtotal
12 79 83 100 hightotal hightotal
13 79 103 120 hightotal hightotal
14 45 30 35 lowtotal lowtotal
15 50 20 55 lowtotal lowtotal
17 40 35 30 lowtotal lowtotal
19 65 90 40 lowtotal hightotal
21 40 45 40 lowtotal lowtotal
22 63 60 55 lowtotal hightotal
23 83 80 75 hightotal hightotal
25 30 56 35 lowtotal lowtotal
26 30 56 35 lowtotal lowtotal
27 55 81 60 hightotal hightotal
28 75 71 70 hightotal hightotal
30 65 90 65 hightotal hightotal
31 35 60 44 lowtotal lowtotal
32 60 95 69 hightotal hightotal
33 35 55 40 lowtotal lowtotal
34 45 80 50 hightotal hightotal
35 60 90 55 hightotal hightotal
36 60 85 50 hightotal hightotal
37 50 75 85 lowtotal lowtotal
38 50 75 90 lowtotal lowtotal
39 75 100 110 hightotal hightotal
40 75 100 120 hightotal hightotal
Diperoleh 3 error = 3/32 = 0.0937
79
Evaluasi Model
Perbandingan error pada setiap pohon pada data Training adalah sebagai berikut:
Nilai Ntree dan Mtry Batas Eror
Ntree = 50, Mtry = 4 Diperoleh 4 error = 4/32 0.152
Ntree = 50, Mtry = 2 Diperoleh 3 error = 3/32 0.0937
Untuk setiap variabel numerik pada “data.test” dapat dijelaskan sebagai berikut:
a) Untuk variabel “X1 atau HP” memilik nilaai minimum sebesar 40.00
dan nilai maksimumnya sebesar 83.00; dengan mean (rata-rata) sebesar
57.00; nilai median (Q2) sebesar 59.00; nilai kuartil pertama (Q1)
sebesar 45.00 dan nilai kuartil ke-3 (Q3) sebesar 61.25.
b) Untuk variabel “X2 atau Attack” memilik nilai minimum sebesar 25.00
dan nilai maksimumnya sebesar 150.00; dengan mean (rata-rata)
sebesar 66.88; nilai median (Q2) sebesar 61.00; nilai kuartil pertama
(Q1) sebesar 41.00 dan nilai kuartil ke-3 (Q3) sebesar 68.00.
c) Untuk variabel “X3 atau Defense” memilik nilai minimum sebesar
30.00 dan nilai maksimumnya sebesar 80.00; dengan mean (rata-rata)
80
sebesar 52.50; nilai median (Q2) sebesar 50.00; nilai kuartil pertama
(Q1) sebesar 46.75 dan nilai kuartil ke-3 (Q3) sebesar 59.75.
d) Untuk variabel “X4 atau Speed” memilik nilai minimum sebesar 35.00
dan nilai maksimumnya sebesar 145.0; dengan mean (rata-rata) sebesar
78.25; nilai median (Q2) sebesar 70.00; nilai kuartil pertama (Q1)
sebesar 56.25 dan nilai kuartil ke-3 (Q3) sebesar 90.25.
81
4.6 Assosiation Rules
4.6.1 Persiapan Data
Dalam menganalisis data percobaan tersebut aplikasi yang digunakan adalah
aplikasi R-Studio. Langkah-langkah penyelesaian dalam Assosiation Rule tersebut
adalah sebagai berikut :
a. Mengidentifikasi Data
Memanggil data dengan Nama MBA, Seperti gambar berikut:
b. Memilih Variabel
Kode = Kode transaksi penjualan barang pada toko.
Item = Nama barang yang dijual ditoko.
Pada output diatas, diketahu bahwa data diubah menjadi data transaksi
dengan sintax yang telah disediakan.
82
4.6.2 Eksplorasi Data
Interpretasi Output:
Berdasarkan hasil summary data:
a. Diketahui bahwa data transaksi sebagai item matriks dengan format
35 baris (elemen/itemset/transaksi) dan 10 kolom (item) dan
kepadatan 0.2885714.
b. Item atau nama barang yang paling sering adalah pasta gigi dengan
sebanyak 13 item, kecap sebanyak 12, sikat gigi sebanyak 12, gula
sebanyak 10, pembersi lantai 10 dan (other) sebanyak 44.
c. Distribusi panjang elemen (item/transaksi): Ada 11 transaksi untuk 1
item, ada 4 transaksi untuk 2 item, ada 9 transaksi untuk 4 item, ada 5
transaksi untuk 5 item, ada 1 transaksi untuk 6 item.
d. Nilai minimum yang diperoleh sebesar 1,000; nilai maksimum
sebesar 6,000; nilai rata-rata (mean) sebesar 2,886; nilai median (Q2)
sebesar 3,00; nilai kuartil pertama (Q1) sebesar 1,00 dan nilai kuartil
ketiga (Q3) sebesar 4,000.
e. Informasi item atau nama barang yang diperluas contohnya gula
dengan ID transaksinya adalah 1, kecap dengan ID transaksinya
adalah 2 dan pasta gigi dengan ID transaksinya adalah 3.
83
Berdasarkan hasil output pada image, diketahui bahwa terdapat hubungan
antara variabel item dan transaksi. Dari image, dapat diketahui jumlah item
serta banyaknya transaksi yang terjadi dalam satu waktu tertentu pada
transaksi penjualan barang-barang di toko tersebut.
84
Menampilkan frekuensi item relative untuk 10 item data teratas
Berdasarkan hasil output pada diagram batang diatas, dketahui bahwa barang
atau item dengan frekuensi terbanyak adalah Pasta Gigi. Selanjutnya item
atau barang yang menempati frekuensi terbanyak kedua adalah kecap dan
sikat gigi, terbanyak ketiga adalah gula, pembersih lantai dan susu, terbanyak
ke empat adalah roti saos dan sampo serta terbanyak ke lima adalah sabun
mandi.
85
4.6.3 Membangun Model
a) Model 1
86
Berdasarkan output di atas dapat dilihat bahwa:
a. Terdapat 184 aturan atau seperangkat aturan sebanyak 184
b. Distribusi panjang aturan (LHS + RHS): ada 10 aturan dengan
panjang 1 item; ada 76 aturan dengan panjang 2 item dan ada 78 aturan
dengan panjang 3 item dan ada 20 aturan dengan panjang 4 item.
c. Nilai statistika deskriptif untuk model pertama memiliki nilai
minimum sebesar 1.00 dan nilai maksimumnya sebesar 4.000; dengan
mean (rata-rata) sebesar 2.587; nilai median (Q2) sebesar 3.000; nilai
kuartil pertama (Q1) sebesar 2.000 dan nilai kuartil ke-3 (Q3) sebesar
3.000.
d. Diketahui pada summary of quality measure, megidentifikasi
karakteristik dari parameter support, karakteristik variabel
confidence, converage, lift dan count. Berdasarkan info mining
diketahui bahwa data transaction adalah 35, dengan nilai support
sebesar 0,05, dan confidence sebesar 0.1
87
Mendapatkan 184 aturan yang diperoleh sebagai berikut:
… … … … … … … …
88
Aturan (rules) 1 sampai 10 dengan LHS kosong berarti bahwa tidak peduli apa item
lain yang terlibat. Item di RHS akan muncul dengan probabilitas yang diberikan
oleh aturan keyakinan(confidence) (yang sama dengan support atau dukungan).
Contoh : Untuk rules pada no 10 apabila pelanggan membeli item atau barang apa
saja yang ada di toko maka pelanggan tersebut akan juga membeli “pasta gigi”.
Untuk rules pada no 184 apabila pelanggan membeli item atau barang berupa kecap,
pasta gigi, sikat gigi di toko maka pelanggan tersebut akan juga membeli “gula”.
b) Model 2
89
g. Minlen = jumlah minimum item yang diperlukan dalam aturan yaitu
sebesar 1
h. Maxlen = jumlah maksimum item yang ada dalam aturan yaitu
sebesar 10
i. Jumlah dukungan (support) minimum absolut sebesar 1
90
Mendapatkan 51 aturan yang diperoleh sebagai berikut:
… … … … … … … …
91
Aturan (rules) 1 sampai 10 dengan LHS kosong berarti bahwa tidak peduli apa item
lain yang terlibat. Item di RHS akan muncul dengan probabilitas yang diberikan
oleh aturan keyakinan(confidence) (yang sama dengan support atau dukungan).
Contoh : Untuk rules pada no 10 apabila pelanggan membeli item atau barang apa
saja yang ada di toko maka pelanggan tersebut akan juga membeli “pasta gigi”.
Untuk rules pada no 51 apabila pelanggan membeli item atau barang berupa pasta
gigi dan sikat gigi di toko maka pelanggan tersebut akan juga membeli “kecap”.
92
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil analisis pada laporan ini, kesimpulan yang diperoleh adalah
sebagai berikut :
1. Pada hasil analisis dan pemabahasan bahwa data berhasil discreaping
dengan banyak variabel sebanyak 7 dengan total masing masing variabel
sebanyak 1194 data, dimana ada 2 variabel yang bertipe caracter dan 5
variabel bertipe numerik. Untuk datanya seperti tabel berikut:
No Nama jenis Total HP Attcak Defense Speed
1 Bulbasaur GrassPoison 318 45 49 49 45
2 Ivysaur GrassPoison 405 60 62 63 60
3 Venusaur GrassPoison 525 80 82 83 80
VenusaurMega
4 Venusaur GrassPoison 625 80 100 123 80
5 Charmander Fire 309 39 52 43 65
6 Charmeleon Fire 405 58 64 58 80
7 Charizard FireFlying 534 78 84 78 100
CharizardMega
8 Charizard X FireDragon 634 78 130 111 100
CharizardMega
9 Charizard Y FireFlying 634 78 104 78 100
10 Squirtle Water 314 44 48 65 43
11 Wartortle Water 405 59 63 80 58
12 Blastoise Water 530 79 83 100 78
BlastoiseMega
13 Blastoise Water 630 79 103 120 78
14 Caterpie Bug 195 45 30 35 45
15 Metapod Bug 205 50 20 55 30
16 Butterfree BugFlying 395 60 45 50 70
17 Weedle BugPoison 195 40 35 30 50
18 Kakuna BugPoison 205 45 25 50 35
19 Beedrill BugPoison 395 65 90 40 75
… … … … … … … …
1180 Arctibax DragonIce 423 90 95 66 62
1181 Baxcalibur DragonIce 600 115 145 92 87
GimmighoulChest
1182 Form Ghost 300 45 30 70 10
GimmighoulRoaming
1183 Form Ghost 300 45 30 25 80
1184 Gholdengo SteelGhost 550 87 60 95 84
1185 Wo-Chien DarkGrass 570 85 85 100 70
1186 Chien-Pao DarkIce 570 80 120 80 135
1187 Ting-Lu DarkGround 570 155 110 125 45
1188 Chi-Yu DarkFire 570 55 80 80 100
93
1189 Roaring Moon DragonDark 590 105 139 71 119
1190 Iron Valiant FairyFighting 590 74 130 90 116
1191 Koraidon FightingDragon 670 100 135 115 135
1192 Miraidon ElectricDragon 670 100 85 100 135
1193 Walking Wake WaterDragon 590 99 83 91 109
94
MDA tertinggi, yang berarti variabel X3 dan X1 paling berpengaruh dalam
pebentukan pohon. Sedangkan jika menggunakan mtry= 2 diketahui
variabel X2 memiliki MDG dan MDA tertinggi, yang berarti variabel X2
paling berpengaruh dalam pebentukan pohon.
6. Pada data percobaan keenam, kesimpulan yang diperoleh adalah model
yang terbentuk dari analisis data adalah sebanyak 2 model dengan
menggunakan pasangan nilai support dan confidence yang berbeda-beda
pada setiap model. Selanjutnya model terbaik yang terbentuk dari kedua
model yang teridentifikasi memenuhi syarat model dikatakan baik, yakni
kedua model tersebut, karena berdasarkan perbandingan kedua model
tersebut yang memiliki nilai support dan confidence paling tinggi.
5.2 Saran
Diharapkan dalam analisis kasus ini bisa menggunakan cara scrapping data
yang lain yang bias menganalisis banyak kasus. Dalam menganalisis suatu uji,
sebelumnya perlu adanya beberapa asumsi klasik yang harus dipenuhi, agar analisis
dapat dilakukan. Praktikan diharapkan untuk menguasai keseluruhan asumsi-
asumsi yang dibutuhkan agar tidak terjadi kesalahan dalam menganalisis. Selain itu
harapan penulsi untuk pembaca, semoga laporan yang penulis buat ini dapat
dipahami dan dimengerti oleh pembaca.
95
DAFTAR PUSTAKA
96
LAMPIRAN
#judul_laman_nama
judul_laman_nama <- html_nodes(html,'.cell-name')
judul_laman_nama
Nama <- html_text(judul_laman_nama)
Nama
#Jenis
jenis_pokemon <- html_nodes(html,'.cell-icon')
jenis_pokemon
jenis <- html_text(jenis_pokemon)
jenis
#total
total_pokemon <- html_nodes(html,'.cell-total')
total_pokemon
Total <- html_text(total_pokemon)
Total
#merubah data menjadi data numeric
Total<-as.numeric(Total)
Total
#HP
HP_total <- html_nodes(html,'.cell-total+ .cell-num')
HP_total
HP <- html_text(HP_total)
HP
#merubah data menjadi data numeric
HP<-as.numeric(HP)
97
HP
#Attcak
Attcak <- html_nodes(html,'.cell-num:nth-child(6)')
Attcak
Attcak <- html_text(Attcak)
Attcak
#merubah data menjadi data numeric
Attcak<-as.numeric(Attcak)
Attcak
#Defense
Defense <- html_nodes(html,'.cell-num:nth-child(7)')
Defense
Defense <- html_text(Defense)
Defense
#merubah data menjadi data numeric
Defense<-as.numeric(Defense)
Defense
#Speed
Speed <- html_nodes(html,'.cell-num:nth-child(10)')
Speed
Speed <- html_text(Speed)
Speed
#merubah data menjadi data numeric
Speed<-as.numeric(Speed)
Speed
#MEMBUAT DATA FRAME
DATA_POKEMON<-
data.frame(Nama,jenis,Total,HP,Attcak,Defense,Speed)
DATA_POKEMON
View(DATA_POKEMON)
#MEMINDAHKAN DATA KE EXCEll
write.table(DATA_POKEMON, "D:/1. DOKUMEN KULIAH
DATON/SEMESTER VI/PRAKTIKUM DATA
MINING/DATA_POKEMONOK.xls",sep="\t")
98
#______EKSPLORASI DATA______#
#Cek Mising Data
is.na(DATA_POKEMON)
#CEK OUTLIER DATA DENGAN Z-SCORE
#Cek outlier variabel Total
zscore_DATA_POKEMON1 <- (DATA_POKEMON$Total-
mean(DATA_POKEMON$Total))/sd(DATA_POKEMON$Total)
zscore_DATA_POKEMON1
99
#Cek outlier variabel Attcak
boxplot(DATA_POKEMON$Attcak, data=DATA_POKEMON,
main="BOX PLOT Attcak", ylab="VARIABEL Attcak")
#Cek outlier variabel Defense
boxplot(DATA_POKEMON$Defense, data=DATA_POKEMON,
main="BOX PLOT Defense", ylab="VARIABEL Defense")
#Cek outlier variabel Speed
boxplot(DATA_POKEMON$Speed, data=DATA_POKEMON,
main="BOX PLOT Speed", ylab="VARIABEL Speed")
#Visualising Distribution
#mencari nilai skweness variabel Total dn HP
library(e1071)
skewness(DATA_POKEMON$Total)
skewness(DATA_POKEMON$HP)
skewness(DATA_POKEMON$Attcak)
skewness(DATA_POKEMON$Defense)
skewness(DATA_POKEMON$Speed)
#hISTOGRAM
hist(DATA_POKEMON$Total)
hist(DATA_POKEMON$HP)
hist(DATA_POKEMON$Attcak)
hist(DATA_POKEMON$Defense)
hist(DATA_POKEMON$Speed)
100
#Histogram
par(mfrow=c(3,3))
hist(DATA_POKEMON$Total);
hist(DATA_POKEMON$HP);
hist(DATA_POKEMON$Attcak);
hist(DATA_POKEMON$Defense);
hist(DATA_POKEMON$Speed)
##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$HP)
##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$Attcak)
plot(DATA_POKEMON$HP~DATA_POKEMON$Attcak)
##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$Defense)
plot(DATA_POKEMON$Attcak~DATA_POKEMON$Defense)
##Corelasi analisis
cor.test(DATA_POKEMON$Total,DATA_POKEMON$Speed)
plot(DATA_POKEMON$Defense~DATA_POKEMON$Speed)
101
Dataclustering
View(Dataclustering)
#representatife simple
library(psych)
#uji KMO (Kaiser-Meyer-Olkin)
KMO(Dataclustering)
#Uji multikolinearitas
cor(Dataclustering)
#STANDARISASI DATA
FIX <- scale(Dataclustering)
FIX
summary(FIX)
max(scale(Dataclustering$Total))
min(scale(Dataclustering$Total))
max(scale(Dataclustering$HP))
min(scale(Dataclustering$HP))
max(scale(Dataclustering$Attcak))
min(scale(Dataclustering$Attcak))
max(scale(Dataclustering$Defense))
102
min(scale(Dataclustering$Defense))
max(scale(Dataclustering$Speed))
min(scale(Dataclustering$Speed))
#mengunci data
set.seed(123)
#jumlah iterasi
kluster_data$iter
103
#visualisasi hasil klustering
fviz_cluster(kluster_data, data = FIX, repel = TRUE,
lebelsize =2)
#uji validitas
validitas <- silhouette(kluster_data$cluster, dist
(FIX))
plot((fviz_silhouette(validitas)))
#profailling
library(dplyr)
Dataclustering %>%
mutate(cluster = kluster_data$cluster)%>%
group_by(cluster)%>%
summarise_at(1:5,"mean")
library(mclust)
fitM <- Mclust(FIX)
plot(fitM)
104
#Memperpendek jumlah data menjadi 40 (Karena jumlah
data terlalu banyak)
Nama <-Nama[1:40]
Nama
jenis <- jenis[1:40]
jenis
Total <- Total[1:40]
Total
HP <- HP[1:40]
HP
Attcak <- Attcak[1:40]
Attcak
Defense <- Defense[1:40]
Defense
Speed <- Speed[1:40]
Speed
#mencari rata-rata
mean(DATAPAKE$Total)
DATAPAKE$Kategori_Total[DATAPAKE$Total<400.075] <-
"lowtotal"
DATAPAKE$Kategori_Total[DATAPAKE$Total>=400.075] <-
"hightotal"
105
DATAPAKE$HP,
DATAPAKE$Attcak,
DATAPAKE$Defense,
DATAPAKE$Speed)
DataTree
View(DataTree)
106
#MEMBUAT MODEL Decision Tree
fit<- rpart(Y ~ X1 + X2 + X3 + X4, data = data.train,
method = 'class',control = rpart.control(minsplit = 0,
minbucket = 0, maxdepth = 3))
fit
summary(fit)
fit$variable.importance
107
Speed
#mencari rata-rata
mean(DATAPAKE$Total)
DATAPAKE$Kategori_Total[DATAPAKE$Total<400.075] <-
"lowtotal"
DATAPAKE$Kategori_Total[DATAPAKE$Total>=400.075] <-
"hightotal"
108
split <-
sort(sample(nrow(DataRandom),nrow(DataRandom)*.8))
data.train <- DataRandom[split,] #train untuk
pembentukan model
data.test <- DataRandom[-split,] #test untuk peramalan
keakuratan
dim(data.train)
dim(data.test)
library(randomForest)
#membangun model
#model dengan ntree=50,mtry=4
MODEL.RF1 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=4)
MODEL.RF1
#importance
importance(MODEL.RF1)
varImpPlot(MODEL.RF1)
109
floor((sqrt(4))*2)
library(randomForest)
#membangun model
#model dengan ntree=50,mtry=4
MODEL.RF1 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=4)
MODEL.RF1
#importance
importance(MODEL.RF1)
varImpPlot(MODEL.RF1)
#MEMBUAT POHON
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF1, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF1,K=4)
#MISCLASIFICATION EROR
tab.RF25.1=table(data.test$Y,pred_RF25.1)
tab.RF25.1
1-sum(diag(tab.RF25.1))/sum(tab.RF25.1)
110
tabel.prediksi_1 <-
data.frame(data.train$X1,data.train$X2,data.train$X3,d
ata.train$Y,MODEL.RF1$predicted)
tabel.prediksi_1
library(randomForest)
#membangun model
#model dengan ntree=50,mtry=2
MODEL.RF2 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=2)
MODEL.RF2
#importance
importance(MODEL.RF2)
varImpPlot(MODEL.RF2)
#MEMBUAT POHON
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF2, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF2,K=4)
#MISCLASIFICATION EROR
tab.RF25.2=table(data.test$Y,pred_RF25.2)
111
tab.RF25.2
1-sum(diag(tab.RF25.2))/sum(tab.RF25.2)
112
#PREDIKSI DI DATA TESTING
pred_RF25.1=predict(MODEL.RF1,data.test,type =
"class")
pred_RF25.1
#MISCLASIFICATION EROR
tab.RF25.1=table(data.test$Y,pred_RF25.1)
tab.RF25.1
1-sum(diag(tab.RF25.1))/sum(tab.RF25.1)
library(randomForest)
#membangun model
#model dengan ntree=50,mtry=2
MODEL.RF2 <-randomForest(as.factor(Y)~.,
data=data.train,importance=TRUE,
proximity=TRUE,ntree=50,mtry=2)
MODEL.RF2
#importance
importance(MODEL.RF2)
113
varImpPlot(MODEL.RF2)
#MEMBUAT POHON
library(devtools)
devtools::install_github('skinner927/reprtree')
library(reprtree)
getTree(MODEL.RF2, k=4, labelVar = TRUE)
reprtree:::plot.getTree(MODEL.RF2,K=4)
#MISCLASIFICATION EROR
tab.RF25.2=table(data.test$Y,pred_RF25.2)
tab.RF25.2
1-sum(diag(tab.RF25.2))/sum(tab.RF25.2)
114
data.test
summary(data.test)
library(tidyverse)
library(arules)
library(igraph)
#Memilih variabel
Transaksi <- new.env()
Transaksi$Data <- as(split(MBA$barang, MBA$kode),
"transactions")
Transaksi$Data
115
#Melihat daftar item atau nama barang
itemLabels(Transaksi$Data)
#Eksplorasi data
summary(Transaksi$Data)
image(Transaksi$Data)
itemFrequencyPlot(Transaksi$Data, topN=10,
cex.names=1)
116