The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

cross validation,
data science vs machine learning

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by dinokuncoro90, 2022-02-06 09:53:04

Cross Validation

cross validation,
data science vs machine learning

KECERDASAN KOMPUTASIONAL

Dino Kuncoro/19429020
Teknik Informatika

Universitas Pancasakti Bekasi

Cross Validation

Cross Validation (Validasi Silang) dalam Machine learning
Cross Validation adalah teknik untuk memvalidasi efisiensi model dengan melatihnya pada subset data
input dan mengujinya pada subset data input yang sebelumnya tidak terlihat. Kita juga dapat
mengatakan bahwa ini adalah teknik untuk memeriksa bagaimana model statistik digeneralisasi ke
kumpulan data independen.

Dalam Machine Learning selalu ada kebutuhan untuk menguji stabilitas model. Artinya hanya
berdasarkan dataset pelatihan, kami tidak dapat menyesuaikan model pada dataset pelatihan. Untuk
tujuan ini, kami memerlukan sampel tertentu dari kumpulan data, yang bukan merupakan bagian dari
kumpulan data pelatihan. Setelah itu, kami menguji model kami pada sampel itu sebelum penerapan,
dan proses lengkap ini berada di bawah cross validation. Ini adalah sesuatu yang berbeda dari split train-
test umum.

Oleh karena itu, langkah-langkah dasar cross validation adalah:
 Cadangan subset dari set data sebagai set validasi.
 Berikan pelatihan ke model menggunakan dataset pelatihan.
 Sekarang, evaluasi kinerja model menggunakan set validasi. Jika model berkinerja baik dengan
set validasi, lakukan langkah selanjutnya, jika tidak, periksa masalahnya.

Metode yang digunakan untuk Cross Validation
Ada beberapa metode umum yang digunakan untuk cross validation. Metode ini diberikan di bawah ini:

1. Validation Set Approach
2. Leave-P-out cross-validation
3. Leave one out cross-validation
4. K-fold cross-validation
5. Stratified k-fold cross-validation

1. Validation Set Approach(Pendekatan Set Validasi)
Kami membagi dataset input kami ke dalam set pelatihan dan set pengujian atau validasi dalam
pendekatan set validasi. Kedua subset diberikan 50% dari dataset.

2. Leave-P-out cross-validation(Validasi Silang Leave-P-out)
Dalam pendekatan ini, p dataset ditinggalkan dari data pelatihan. Artinya, jika total n titik data pada
dataset input asli, maka n-p titik data akan digunakan sebagai dataset latih dan p titik data sebagai set
validasi. Proses lengkap ini diulang untuk semua sampel, dan kesalahan rata-rata dihitung untuk
mengetahui keefektifan model.

Ada kelemahan dari teknik ini; yaitu, dapat menjadi sulit secara komputasi untuk p besar.
Tetapi memiliki salah satu kelemahan besar bahwa kami hanya menggunakan 50% dataset untuk
melatih model kami, sehingga model mungkin kehilangan untuk menangkap informasi penting dari
dataset. Itu juga cenderung memberikan model yang kurang pas.

3. Leave one out cross-validation(Tinggalkan satu validasi silang)

Metode ini mirip dengan cross validation leave-p-out, tetapi alih-alih p, kita perlu mengeluarkan 1
dataset dari pelatihan. Artinya, dalam pendekatan ini, untuk setiap set pembelajaran, hanya satu titik
data yang dicadangkan, dan set data yang tersisa digunakan untuk melatih model. Proses ini berulang
untuk setiap titik data. Oleh karena itu untuk n sampel, kami mendapatkan n set pelatihan dan n set uji
yang berbeda. Ini memiliki fitur berikut:

Dalam pendekatan ini, biasnya minimum karena semua titik data digunakan.
Proses dijalankan sebanyak n kali; maka waktu eksekusi tinggi.
Pendekatan ini menyebabkan variasi yang tinggi dalam menguji keefektifan model saat kami memeriksa
secara berulang terhadap satu titik data.

4. K-fold cross-validation( Validasi Silang K-fold)

Pendekatan cross validation K-fold membagi dataset input ke dalam kelompok K sampel dengan ukuran
yang sama. Sampel ini disebut lipatan. Untuk setiap set pembelajaran, fungsi prediksi menggunakan
lipatan k-1, dan lipatan lainnya digunakan untuk set pengujian. Pendekatan ini merupakan pendekatan
Cross Validation yang sangat populer karena mudah dipahami, dan outputnya kurang bias dibandingkan
metode lainnya.

Langkah-langkah untuk cross validation k-fold adalah:

Pisahkan dataset input menjadi grup K
Untuk setiap grup:
Ambil satu grup sebagai cadangan atau kumpulan data uji.

Gunakan grup yang tersisa sebagai set data pelatihan
Pasangkan model pada set pelatihan dan evaluasi kinerja model menggunakan set pengujian.
Mari kita ambil contoh cross validation 5 kali lipat. Jadi, dataset dikelompokkan menjadi 5 lipatan. Pada
iterasi pertama, lipatan pertama dicadangkan untuk menguji model, dan sisanya digunakan untuk
melatih model. Pada iterasi ke-2, lipatan kedua digunakan untuk menguji model, dan sisanya digunakan
untuk melatih model. Proses ini akan terus berlanjut hingga setiap fold tidak digunakan untuk test fold.

Perhatikan diagram di bawah ini:

Contoh lain kita memiliki 150 data. Jika kita gunakan K=5, berarti kita bagi 150 data menjadi 5 partisi,
isinya masing-masing 30 data.Jangan lupa, kita perlu menentukan mana yang training data dan mana
yang test data. Karena perbandingannya 80:20, berarti 120 data adalah training data dan 30 sisanya
adalah test data. Berdasarkan ke-5 partisi tadi, berarti bakal ada 4 partisi x 30 data = 120 training data.
Dan sisanya ada 1 partisi test data berisi 30 data.
Kemudian, experimen menggunakan data yang udah di partisi-partisi bakal diulang 5 kali (K=5). Tapi
posisi partisi Test data berbeda ditiap iterasinya. Misal di iterasi pertama Test nya di posisi partisi awal,
terus iterasi partisi kedua Test-nya di posisi kedua, dan seterusnya, pokonya gaboleh sama. Berikut ini
gambarannya supaya mudah di mengerti.

from sklearn.model_selection import KFoldkf=KFold(n_splits=5,
shuffle=False)
print(kf) #buat tau Kfold dan parameter defaultnya
i=1 #menandakan fold nya.for train_index, test_index in
kf.split(x):

print("Fold ", i)
print("TRAIN :", train_index, "TEST :", test_index)
x_train=x[train_index]
x_test=x[test_index]
y_train=y[train_index]
y_test=y[test_index]
i+=1print("shape x_train :", x_train.shape)
print("shape x_test :", x_test.shape)

apakah yang terjadi disini??

Jadi ingat, kita punya 150 data dan akan dibagi 2, train dan test. Jadi kita coba 1 fold dulu, Fold yang
paling pertama. Di Fold pertama ada 120 train data dan 30 test data. Kemudian kita run code diatas,
maka yang di print hanyalah indeks datanya.

Jadi, apabila di fold pertama itu ada angka 30. Artinya x[30] (x indeks ke 30) yang berisi 4 kolom data
petal dan sepal. begitu juga seterusnya.
Kenapa ini harus dilakukan? supaya proses training lebih akurat sehingga prediksinya nanti lebih
mantap.

5. Stratified k-fold cross-validation
Teknik ini mirip dengan k-fold cross-validation dengan sedikit perubahan. Pendekatan ini bekerja pada
konsep stratifikasi, ini adalah proses menata ulang data untuk memastikan bahwa setiap lipatan atau
kelompok adalah perwakilan yang baik dari kumpulan data yang lengkap. Untuk mengatasi bias dan
varians, ini adalah salah satu pendekatan terbaik.

Hal ini dapat dipahami dengan contoh harga rumah, sehingga harga beberapa rumah bisa jauh lebih
tinggi daripada rumah lainnya. Untuk mengatasi situasi seperti itu, teknik cross validation k-fold
bertingkat berguna.

Holdout Method(Metode Penahanan)

Metode ini adalah teknik cross validation yang paling sederhana di antara semuanya. Dalam metode ini,
kita perlu menghapus subset dari data latih dan menggunakannya untuk mendapatkan hasil prediksi
dengan melatihnya di bagian lain dari set data.

Kesalahan yang terjadi dalam proses ini memberi tahu seberapa baik model kami akan tampil dengan
dataset yang tidak diketahui. Meskipun pendekatan ini sederhana untuk dilakukan, pendekatan ini
masih menghadapi masalah varians yang tinggi, dan terkadang juga menghasilkan hasil yang
menyesatkan.

Perbandingan Cross-validasi untuk melatih/menguji split dalam Machine
Learning

 Train/test split: Data input dibagi menjadi dua bagian, yaitu training set dan test set pada rasio
70:30, 80:20, dll. Ini memberikan varians yang tinggi, yang merupakan salah satu kelemahan
terbesar.
o Data Pelatihan: Data pelatihan digunakan untuk melatih model, dan variabel dependen
diketahui.
o Data Uji: Data uji digunakan untuk membuat prediksi dari model yang sudah dilatih pada
data latih. Ini memiliki fitur yang sama dengan data pelatihan tetapi bukan bagian dari
itu.

 Dataset Cross-Validation: Digunakan untuk mengatasi kelemahan dari train/test split dengan
membagi dataset menjadi beberapa grup dari train/test split, dan merata-ratakan hasilnya. Ini
dapat digunakan jika kita ingin mengoptimalkan model kita yang telah dilatih pada dataset
pelatihan untuk kinerja terbaik. Ini lebih efisien dibandingkan dengan training/test split karena
setiap observasi digunakan untuk training dan testing keduanya.

Batasan Cross validation
Ada beberapa keterbatasan teknik cross validation, yang diberikan di bawah ini:

 Untuk kondisi ideal, ia memberikan output optimal. Tetapi untuk data yang tidak konsisten,
mungkin menghasilkan hasil yang drastis. Jadi, ini adalah salah satu kelemahan besar cross
validation, karena tidak ada kepastian jenis data dalam Machine Learning.

 Dalam pemodelan prediktif, data berevolusi selama suatu periode, yang karenanya, mungkin
menghadapi perbedaan antara set pelatihan dan set validasi. Seperti jika kita membuat model
untuk prediksi nilai pasar saham, dan data dilatih pada nilai saham 5 tahun sebelumnya, tetapi
nilai masa depan yang realistis untuk 5 tahun ke depan mungkin berbeda secara drastis,
sehingga sulit untuk mengharapkan yang benar. keluaran untuk situasi seperti itu.

Aplikasi Cross-Validasi
 Teknik ini dapat digunakan untuk membandingkan kinerja metode pemodelan prediktif yang
berbeda.
 Ini memiliki ruang lingkup yang besar di bidang penelitian medis.
 Ini juga dapat digunakan untuk meta-analisis, karena sudah digunakan oleh para ilmuwan data
di bidang statistik medis.

DATA SCIENCE VS MACHINE LEARNING

Perbedaan Antara Data Science(Ilmu Data) dan Machine Learning(Pembelajaran Mesin)
Data Science adalah studi tentang pembersihan, persiapan, dan analisis data, sedangkan Machine
Learning adalah cabang dari AI dan subbidang Data Science. Data Science dan Machine Learning adalah
dua teknologi modern yang populer, dan mereka tumbuh dengan kecepatan yang luar biasa. Tetapi
kedua kata kunci ini, bersama dengan kecerdasan buatan dan pembelajaran mendalam adalah istilah
yang sangat membingungkan, jadi penting untuk memahami bagaimana mereka berbeda satu sama lain.
Dalam topik ini, kita akan memahami perbedaan antara Data Science dan Machine Learning saja, dan
bagaimana keduanya berhubungan satu sama lain.

Data Science dan Machine Learning terkait erat satu sama lain tetapi memiliki fungsi dan tujuan yang
berbeda. Sepintas, Data Science adalah bidang untuk mempelajari pendekatan untuk menemukan
wawasan dari data mentah. Padahal, Machine Learning adalah teknik yang digunakan oleh sekelompok
ilmuwan data untuk memungkinkan mesin belajar secara otomatis dari data masa lalu. Untuk
memahami perbedaannya secara mendalam, pertama-tama mari kita mengenal dua teknologi ini secara
singkat.

Apa itu Data Science?

Data Science, seperti namanya, adalah tentang data. Oleh karena itu, kita dapat mendefinisikannya
sebagai, "Bidang studi mendalam tentang data yang mencakup penggalian wawasan yang berguna dari
data, dan pemrosesan informasi tersebut menggunakan alat, model statistik, dan algoritme Machine
Learning yang berbeda." Ini adalah konsep yang digunakan untuk menangani data besar yang mencakup
pembersihan data, persiapan data, analisis data, dan visualisasi data.

Seorang ilmuwan data mengumpulkan data mentah dari berbagai sumber, menyiapkan dan memproses
data sebelumnya, dan menerapkan algoritme Machine Learning, analisis prediktif untuk mengekstrak
wawasan yang berguna dari data yang dikumpulkan.
Misalnya, Netflix menggunakan teknik Data Science untuk memahami minat pengguna dengan
menambang data dan melihat pola penggunanya.

Keterampilan yang Dibutuhkan untuk menjadi Ilmuwan Data

 Pengetahuan pemrograman yang sangat baik tentang Python, R, SAS, atau Scala.
 Pengalaman dalam pengkodean basis data SQL.
 Pengetahuan tentang Algoritma Machine Learning.
 Pengetahuan yang mendalam tentang konsep Statistik.
 Keterampilan Data Mining, pembersihan, dan Visualisasi.
 Keterampilan untuk menggunakan alat data besar seperti Hadoop.

Apa itu Machine Learning?
Machine Learning adalah bagian dari kecerdasan buatan dan subbidang Data Science. Ini adalah
teknologi yang berkembang yang memungkinkan mesin untuk belajar dari data masa lalu dan
melakukan tugas yang diberikan secara otomatis. Ini dapat didefinisikan sebagai:
“Machine Leaning memungkinkan komputer untuk belajar dari pengalaman masa lalu dengan
sendirinya, menggunakan metode statistik untuk meningkatkan kinerja dan memprediksi output tanpa
diprogram secara eksplisit.”

Aplikasi Machine Learning yang populer adalah pemfilteran spam Email, rekomendasi produk, deteksi
penipuan online, dll.

Keterampilan yang Dibutuhkan untuk Machine Learning Engineer:
 Pemahaman dan Implementasi Algoritma Machine Learning.
 Pemrosesan Bahasa Alami.
 Pengetahuan Pemrograman yang baik tentang Python atau R.
 Pengetahuan tentang Statistik dan konsep probabilitas.
 Pengetahuan tentang pemodelan data dan evaluasi data.

Di mana Machine Learning digunakan dalam Data Science?
Penggunaan Machine Learning dalam Data Science dapat dipahami oleh proses pengembangan atau
siklus hidup Data Science. Langkah-langkah berbeda yang terjadi dalam siklus hidup Data Science adalah
sebagai berikut:

1. Business Requirements(Persyaratan Bisnis): Pada langkah ini, kami mencoba memahami
persyaratan untuk masalah bisnis yang ingin kami gunakan. Misalkan kita ingin membuat sistem
rekomendasi, dan kebutuhan bisnisnya adalah meningkatkan penjualan.

2. Data Acquisition(Akuisisi Data): Pada langkah ini, data diperoleh untuk menyelesaikan masalah
yang diberikan. Untuk sistem rekomendasi, kita bisa mendapatkan peringkat yang diberikan oleh
pengguna untuk berbagai produk, komentar, riwayat pembelian, dll.

3. Data Processing(Pengolahan Data): Pada langkah ini, data mentah yang diperoleh dari langkah
sebelumnya diubah menjadi format yang sesuai, sehingga dapat dengan mudah digunakan oleh
langkah selanjutnya.

4. Data Exploration(Eksplorasi Data): Ini adalah langkah di mana kita memahami pola data, dan
mencoba menemukan wawasan yang berguna dari data.

5. Modeling(Pemodelan): Pemodelan data adalah langkah di mana algoritma Machine Learning
digunakan. Jadi, langkah ini mencakup seluruh proses Machine Learning. Proses Machine
Learning melibatkan pengimporan data, pembersihan data, pembuatan model, pelatihan model,
pengujian model, dan peningkatan efisiensi model.

6. Deployment & Optimization(Penerapan dan Pengoptimalan): Ini adalah langkah terakhir di
mana model dikerahkan pada proyek yang sebenarnya, dan kinerja model diperiksa.

Perbandingan Antara Data Science dan Machine Learning
Tabel di bawah ini menjelaskan perbedaan mendasar antara Data Science dan ML:

Data Science Machine Learning

Ini berkaitan dengan pemahaman dan Ini adalah subbidang Data Science yang
menemukan pola tersembunyi atau wawasan memungkinkan mesin belajar dari data dan
yang berguna dari data, yang membantu untuk pengalaman masa lalu secara otomatis.
mengambil keputusan bisnis yang lebih cerdas.
Ini digunakan untuk menemukan wawasan dari Ini digunakan untuk membuat prediksi dan
data. mengklasifikasikan hasil untuk titik data baru.
Ini adalah istilah luas yang mencakup berbagai Ini digunakan dalam langkah pemodelan data
langkah untuk membuat model untuk masalah dari Data Science sebagai proses yang lengkap.
tertentu dan menyebarkan model.
Seorang ilmuwan data perlu memiliki Insinyur Machine Learning harus memiliki
keterampilan untuk menggunakan alat data keterampilan seperti dasar-dasar ilmu komputer,
besar seperti Hadoop, Hive dan Pig, statistik, keterampilan pemrograman dengan Python atau
pemrograman dengan Python, R, atau Scala. R, statistik dan konsep probabilitas, dll.
Ini dapat bekerja dengan data mentah, Sebagian besar membutuhkan data terstruktur
terstruktur, dan tidak terstruktur. untuk dikerjakan.

Ilmuwan data menghabiskan banyak waktu Insinyur ML menghabiskan banyak waktu untuk
dalam menangani data, membersihkan data, dan mengelola kerumitan yang terjadi selama
memahami polanya. penerapan algoritme dan konsep matematika di
baliknya.

Sumber :
https://www.javatpoint.com/cross-validation-in-machine-learning
https://www.javatpoint.com/data-science-vs-machine-learning
https://piyut-dyoni.medium.com/machine-learning-buat-yang-ngerasa-bodo-e37bc5b26d9d
https://www.edureka.co/blog/machine-learning-engineer-vs-data-scientists/


Click to View FlipBook Version