{"id":1179,"date":"2023-07-27T09:36:52","date_gmt":"2023-07-27T09:36:52","guid":{"rendered":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/"},"modified":"2023-07-27T09:36:52","modified_gmt":"2023-07-27T09:36:52","slug":"k-lipat-validasi-silang-dengan-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/","title":{"rendered":"Validasi silang k-fold dengan python (langkah demi langkah)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Untuk mengevaluasi performa suatu model pada kumpulan data, kita perlu mengukur seberapa cocok prediksi yang dibuat oleh model tersebut dengan data yang diamati.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Metode yang umum digunakan untuk melakukan hal ini dikenal sebagai <a href=\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang\/\" target=\"_blank\" rel=\"noopener noreferrer\">k-fold cross-validation<\/a> , yang menggunakan pendekatan berikut:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1.<\/strong> Bagi kumpulan data secara acak menjadi <em>k<\/em> kelompok, atau \u201clipatan\u201d, yang ukurannya kira-kira sama.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2.<\/strong> Pilih salah satu lipatan sebagai set penahan. Sesuaikan template dengan sisa k-1 lipatan. Hitung uji MSE pada pengamatan pada lapisan yang dikencangkan.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>3.<\/strong> Ulangi proses ini sebanyak <em>k<\/em> kali, setiap kali menggunakan himpunan berbeda sebagai himpunan pengecualian.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>4.<\/strong> Hitung UMK uji keseluruhan sebagai rata-rata UMK uji <em>k<\/em> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Tutorial ini memberikan contoh langkah demi langkah tentang cara melakukan validasi silang k-fold untuk model tertentu dengan Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 1: Muat Perpustakaan yang Diperlukan<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Pertama, kita akan memuat fungsi dan perpustakaan yang diperlukan untuk contoh ini:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> train_test_split\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> KFold\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">model_selection<\/span> <span style=\"color: #008000;\">import<\/span> cross_val_score\n<span style=\"color: #008000;\">from<\/span> sklearn. <span style=\"color: #3366ff;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LinearRegression\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> means\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> absolute\n<span style=\"color: #008000;\">from<\/span> numpy <span style=\"color: #008000;\">import<\/span> sqrt\n<span style=\"color: #008000;\">import<\/span> pandas <span style=\"color: #008000;\">as<\/span> pd\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 2: Buat datanya<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya, kita akan membuat pandas DataFrame yang berisi dua variabel prediktor, <sub>x1<\/sub> dan <sub>x2<\/sub> , dan satu variabel respons y.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong>df = pd.DataFrame({' <span style=\"color: #008000;\">y<\/span> ': [6, 8, 12, 14, 14, 15, 17, 22, 24, 23],\n                   ' <span style=\"color: #008000;\">x1<\/span> ': [2, 5, 4, 3, 4, 6, 7, 5, 8, 9],\n                   ' <span style=\"color: #008000;\">x2<\/span> ': [14, 12, 12, 13, 7, 8, 7, 4, 6, 5]})\n<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 3: Lakukan Validasi Silang K-Fold<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya, kita akan menyesuaikan <a href=\"https:\/\/statorials.org\/id\/python-regresi-linier\/\" target=\"_blank\" rel=\"noopener noreferrer\">model regresi linier berganda<\/a> ke kumpulan data dan melakukan LOOCV untuk mengevaluasi performa model.<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = df[[' <span style=\"color: #008000;\">x1<\/span> ', ' <span style=\"color: #008000;\">x2<\/span> ']]\ny = df[' <span style=\"color: #008000;\">y<\/span> ']\n\n<span style=\"color: #008080;\">#define cross-validation method to use\n<\/span><span class=\"crayon-v\">cv<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-e\">KFold<\/span> <span class=\"crayon-sy\">(<\/span> <span class=\"crayon-v\">n_splits<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">10<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">random_state<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">1<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">shuffle<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-t\" style=\"color: #008000;\">True<\/span> <span class=\"crayon-sy\">)<\/span>\n\n<span style=\"color: #008080;\">#build multiple linear regression model\n<\/span>model = LinearRegression()\n\n<span style=\"color: #008080;\">#use k-fold CV to evaluate model\n<\/span>scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">neg_mean_absolute_error<\/span> ',\n                         cv=cv, n_jobs=-1)\n\n<span style=\"color: #008080;\">#view mean absolute error\n<\/span>mean(absolute(scores))\n\n3.6141267491803646\n<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Dari hasilnya terlihat mean absolute error (MAE) adalah <strong>3,614<\/strong> . Artinya, rata-rata kesalahan absolut antara prediksi model dan data pengamatan sebenarnya adalah 3,614.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Secara umum, semakin rendah MAE, semakin baik suatu model mampu memprediksi observasi aktual.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Metrik lain yang umum digunakan untuk mengevaluasi kinerja model adalah root mean square error (RMSE). Kode berikut menunjukkan cara menghitung metrik ini menggunakan LOOCV:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define predictor and response variables\n<\/span>X = df[[' <span style=\"color: #008000;\">x1<\/span> ', ' <span style=\"color: #008000;\">x2<\/span> ']]\ny = df[' <span style=\"color: #008000;\">y<\/span> ']\n\n<span style=\"color: #008080;\">#define cross-validation method to use\n<\/span><span class=\"crayon-v\">cv<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-e\">KFold<\/span> <span class=\"crayon-sy\">(<\/span> <span class=\"crayon-v\">n_splits<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">5<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">random_state<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-cn\" style=\"color: #008000;\">1<\/span> <span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">shuffle<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-t\" style=\"color: #008000;\">True<\/span> <span class=\"crayon-sy\">)<\/span> \n\n<span style=\"color: #008080;\">#build multiple linear regression model\n<\/span>model = LinearRegression()\n\n<span style=\"color: #008080;\">#use LOOCV to evaluate model\n<\/span>scores = cross_val_score(model, X, y, scoring=' <span style=\"color: #008000;\">neg_mean_squared_error<\/span> ',\n                         cv=cv, n_jobs=-1)\n\n<span style=\"color: #008080;\">#view RMSE\n<\/span>sqrt(mean(absolute(scores)))\n\n4.284373111711816<\/strong><\/span><\/pre>\n<p> <span style=\"color: #000000;\">Dari hasilnya terlihat bahwa root mean square error (RMSE) adalah <strong>4.284<\/strong> .<\/span><\/p>\n<p> <span style=\"color: #000000;\">Semakin rendah RMSE, semakin baik suatu model mampu memprediksi observasi aktual.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dalam praktiknya, kami biasanya menyesuaikan beberapa model berbeda dan membandingkan RMSE atau MAE masing-masing model untuk memutuskan model mana yang menghasilkan tingkat kesalahan pengujian terendah dan oleh karena itu merupakan model terbaik untuk digunakan.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Perhatikan juga bahwa dalam contoh ini kami memilih untuk menggunakan k=5 lipatan, namun Anda dapat memilih jumlah lipatan berapa pun yang Anda inginkan.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Dalam praktiknya, kami biasanya memilih antara 5 dan 10 lapis, karena ini terbukti merupakan jumlah lapis optimal yang menghasilkan tingkat kesalahan pengujian yang dapat diandalkan.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><em>Anda dapat menemukan dokumentasi lengkap untuk fungsi KFold() sklearn <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.model_selection.KFold.html\" target=\"_blank\" rel=\"noopener noreferrer\">di sini<\/a> .<\/em><\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Sumber daya tambahan<\/strong><\/span><\/h3>\n<p> <a href=\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pengantar Validasi Silang K-Fold<\/a><br \/> <a href=\"https:\/\/statorials.org\/id\/python-regresi-linier\/\" target=\"_blank\" rel=\"noopener noreferrer\">Panduan Lengkap Regresi Linier dengan Python<\/a><br \/> <a href=\"https:\/\/statorials.org\/id\/biarkan-satu-validasi-silang-dengan-python\/\" target=\"_blank\" rel=\"noopener noreferrer\">Validasi Silang Tinggalkan Satu Keluar dengan Python<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Untuk mengevaluasi performa suatu model pada kumpulan data, kita perlu mengukur seberapa cocok prediksi yang dibuat oleh model tersebut dengan data yang diamati. Metode yang umum digunakan untuk melakukan hal ini dikenal sebagai k-fold cross-validation , yang menggunakan pendekatan berikut: 1. Bagi kumpulan data secara acak menjadi k kelompok, atau \u201clipatan\u201d, yang ukurannya kira-kira sama. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Validasi Silang K-Fold dengan Python (Langkah demi Langkah) - Statorial<\/title>\n<meta name=\"description\" content=\"Tutorial ini menjelaskan cara melakukan validasi silang k-fold dengan Python, termasuk contoh langkah demi langkah.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validasi Silang K-Fold dengan Python (Langkah demi Langkah) - Statorial\" \/>\n<meta property=\"og:description\" content=\"Tutorial ini menjelaskan cara melakukan validasi silang k-fold dengan Python, termasuk contoh langkah demi langkah.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-27T09:36:52+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/\",\"url\":\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/\",\"name\":\"Validasi Silang K-Fold dengan Python (Langkah demi Langkah) - Statorial\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/id\/#website\"},\"datePublished\":\"2023-07-27T09:36:52+00:00\",\"dateModified\":\"2023-07-27T09:36:52+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\"},\"description\":\"Tutorial ini menjelaskan cara melakukan validasi silang k-fold dengan Python, termasuk contoh langkah demi langkah.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/statorials.org\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validasi silang k-fold dengan python (langkah demi langkah)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/id\/#website\",\"url\":\"https:\/\/statorials.org\/id\/\",\"name\":\"Statorials\",\"description\":\"Panduan anda untuk kompetensi statistik!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/id\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\",\"name\":\"Benjamin anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Benjamin anderson\"},\"description\":\"Halo, saya Benjamin, pensiunan profesor statistika yang menjadi guru Statorial yang berdedikasi. Dengan pengalaman dan keahlian yang luas di bidang statistika, saya ingin berbagi ilmu untuk memberdayakan mahasiswa melalui Statorials. Baca selengkapnya\",\"sameAs\":[\"http:\/\/statorials.org\/id\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validasi Silang K-Fold dengan Python (Langkah demi Langkah) - Statorial","description":"Tutorial ini menjelaskan cara melakukan validasi silang k-fold dengan Python, termasuk contoh langkah demi langkah.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/","og_locale":"id_ID","og_type":"article","og_title":"Validasi Silang K-Fold dengan Python (Langkah demi Langkah) - Statorial","og_description":"Tutorial ini menjelaskan cara melakukan validasi silang k-fold dengan Python, termasuk contoh langkah demi langkah.","og_url":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/","og_site_name":"Statorials","article_published_time":"2023-07-27T09:36:52+00:00","author":"Benjamin anderson","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"Benjamin anderson","Estimasi waktu membaca":"3 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/","url":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/","name":"Validasi Silang K-Fold dengan Python (Langkah demi Langkah) - Statorial","isPartOf":{"@id":"https:\/\/statorials.org\/id\/#website"},"datePublished":"2023-07-27T09:36:52+00:00","dateModified":"2023-07-27T09:36:52+00:00","author":{"@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81"},"description":"Tutorial ini menjelaskan cara melakukan validasi silang k-fold dengan Python, termasuk contoh langkah demi langkah.","breadcrumb":{"@id":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/id\/k-lipat-validasi-silang-dengan-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/statorials.org\/id\/"},{"@type":"ListItem","position":2,"name":"Validasi silang k-fold dengan python (langkah demi langkah)"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/id\/#website","url":"https:\/\/statorials.org\/id\/","name":"Statorials","description":"Panduan anda untuk kompetensi statistik!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/id\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81","name":"Benjamin anderson","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/image\/","url":"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"http:\/\/statorials.org\/id\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Benjamin anderson"},"description":"Halo, saya Benjamin, pensiunan profesor statistika yang menjadi guru Statorial yang berdedikasi. Dengan pengalaman dan keahlian yang luas di bidang statistika, saya ingin berbagi ilmu untuk memberdayakan mahasiswa melalui Statorials. Baca selengkapnya","sameAs":["http:\/\/statorials.org\/id"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/1179"}],"collection":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/comments?post=1179"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/1179\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/media?parent=1179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/categories?post=1179"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/tags?post=1179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}