{"id":1585,"date":"2023-07-25T18:37:40","date_gmt":"2023-07-25T18:37:40","guid":{"rendered":"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/"},"modified":"2023-07-25T18:37:40","modified_gmt":"2023-07-25T18:37:40","slug":"lacak-kurva-roc-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/","title":{"rendered":"Cara menggambar kurva kop dengan python (langkah demi langkah)"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\"><a href=\"https:\/\/statorials.org\/id\/regresi-logistik-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Regresi logistik<\/a> adalah metode statistik yang kami gunakan untuk menyesuaikan model regresi jika variabel responsnya biner. Untuk mengevaluasi seberapa cocok model regresi logistik dengan kumpulan data, kita dapat melihat dua metrik berikut:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\"><strong>Sensitivitas:<\/strong> probabilitas model memprediksi hasil positif untuk suatu observasi padahal hasilnya benar-benar positif. Ini juga disebut \u201ctingkat positif sebenarnya\u201d.<\/span><\/li>\n<li> <span style=\"color: #000000;\"><strong>Kekhususan:<\/strong> probabilitas model memprediksi hasil negatif untuk suatu observasi padahal hasilnya sebenarnya negatif. Ini juga disebut \u201ctingkat negatif sebenarnya\u201d.<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Salah satu cara untuk memvisualisasikan kedua pengukuran ini adalah dengan membuat <strong>kurva ROC<\/strong> , yang merupakan singkatan dari kurva \u201ckarakteristik pengoperasian penerima\u201d. Ini adalah grafik yang menampilkan sensitivitas dan spesifisitas model regresi logistik.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Contoh langkah demi langkah berikut menunjukkan cara membuat dan menafsirkan kurva ROC dengan Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong><span style=\"color: #000000;\">Langkah 1: Impor paket yang diperlukan<\/span><\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Pertama, kita akan mengimpor paket yang diperlukan untuk melakukan regresi logistik dengan Python:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\">import<\/span> pandas <span style=\"color: #107d3f;\">as<\/span> pd\n<span style=\"color: #008000;\">import<\/span> numpy <span style=\"color: #008000;\">as<\/span> np\n<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;\">linear_model<\/span> <span style=\"color: #008000;\">import<\/span> LogisticRegression\n<span style=\"color: #008000;\">from<\/span> sklearn <span style=\"color: #008000;\">import<\/span> metrics\n<span style=\"color: #008000;\">import<\/span> matplotlib. <span style=\"color: #3366ff;\">pyplot<\/span> <span style=\"color: #008000;\">as<\/span> plt\n<\/strong><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 2: Sesuaikan model regresi logistik<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya, kita akan mengimpor kumpulan data dan menyesuaikan model regresi logistik ke dalamnya:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#import dataset from CSV file on Github\n<\/span>url = \"https:\/\/raw.githubusercontent.com\/Statorials\/Python-Guides\/main\/default.csv\"\ndata = pd. <span style=\"color: #3366ff;\">read_csv<\/span> (url)\n\n<span style=\"color: #008080;\">#define the predictor variables and the response variable\n<\/span>X = data[[' <span style=\"color: #ff0000;\">student<\/span> ',' <span style=\"color: #ff0000;\">balance<\/span> ',' <span style=\"color: #ff0000;\">income<\/span> ']]\ny = data[' <span style=\"color: #ff0000;\">default<\/span> ']\n\n<span style=\"color: #008080;\">#split the dataset into training (70%) and testing (30%) sets\n<\/span>X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=0) \n\n<span style=\"color: #008080;\">#instantiate the model\n<\/span>log_regression = LogisticRegression()\n\n<span style=\"color: #008080;\">#fit the model using the training data\n<\/span>log_regression. <span style=\"color: #3366ff;\">fit<\/span> (X_train,y_train)<\/strong><\/span><\/pre>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 3: Gambarkan kurva ROC<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Selanjutnya, kita akan menghitung tingkat positif sebenarnya dan tingkat positif palsu dan membuat kurva ROC menggunakan paket visualisasi data Matplotlib:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define metrics\n<\/span>y_pred_proba = log_regression. <span style=\"color: #3366ff;\">predict_proba<\/span> (X_test)[::,1]\nfpr, tpr, _ = metrics. <span style=\"color: #3366ff;\">roc_curve<\/span> (y_test, y_pred_proba)\n\n<span style=\"color: #008080;\">#create ROC curve\n<\/span>plt. <span style=\"color: #3366ff;\">plot<\/span> (fpr,tpr)\nplt. <span style=\"color: #3366ff;\">ylabel<\/span> (' <span style=\"color: #ff0000;\">True Positive Rate<\/span> ')\nplt. <span style=\"color: #3366ff;\">xlabel<\/span> (' <span style=\"color: #ff0000;\">False Positive Rate<\/span> ')\nplt. <span style=\"color: #3366ff;\">show<\/span> ()<\/strong><\/span> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-15772 aligncenter\" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocpython1.png\" alt=\"\" width=\"399\" height=\"267\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">Semakin dekat kurva ke sudut kiri atas plot, semakin baik model tersebut mampu mengklasifikasikan data ke dalam kategori.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Seperti yang dapat kita lihat dari grafik di atas, model regresi logistik ini kurang berfungsi dalam mengurutkan data ke dalam kategori.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Untuk mengukurnya, kita dapat menghitung AUC \u2013 area di bawah kurva \u2013 yang menunjukkan seberapa banyak plot yang berada di bawah kurva.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Semakin dekat AUC ke 1, maka semakin baik model tersebut. Model dengan AUC sama dengan 0,5 tidak lebih baik dari model yang melakukan klasifikasi acak.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Langkah 4: Hitung AUC<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Kita dapat menggunakan kode berikut untuk menghitung AUC model dan menampilkannya di sudut kanan bawah plot ROC:<\/span> <\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <span style=\"color: #000000;\"><strong><span style=\"color: #008080;\">#define metrics\n<\/span>y_pred_proba = log_regression. <span style=\"color: #3366ff;\">predict_proba<\/span> (X_test)[::,1]\nfpr, tpr, _ = metrics. <span style=\"color: #3366ff;\">roc_curve<\/span> (y_test, y_pred_proba)\nauc = metrics. <span style=\"color: #3366ff;\">roc_auc_score<\/span> (y_test, y_pred_proba)\n\n<span style=\"color: #008080;\">#create ROC curve\n<\/span>plt. <span style=\"color: #3366ff;\">plot<\/span> (fpr,tpr,label=\" <span style=\"color: #ff0000;\">AUC=<\/span> \"+str(auc))\nplt. <span style=\"color: #3366ff;\">ylabel<\/span> (' <span style=\"color: #ff0000;\">True Positive Rate<\/span> ')\nplt. <span style=\"color: #3366ff;\">xlabel<\/span> (' <span style=\"color: #ff0000;\">False Positive Rate<\/span> ')\nplt. <span style=\"color: #3366ff;\">legend<\/span> (loc=4)\nplt. <span style=\"color: #3366ff;\">show<\/span> ()<\/strong><\/span> <\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-15773 aligncenter\" src=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocpython2.png\" alt=\"\" width=\"404\" height=\"275\" srcset=\"\" sizes=\"\"><\/p>\n<p> <span style=\"color: #000000;\">AUC model regresi logistik ini ternyata <strong>0,5602<\/strong> . Karena angka ini mendekati 0,5, hal ini menegaskan bahwa model tersebut tidak berfungsi dengan baik dalam mengklasifikasikan data.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Terkait:<\/strong> <a href=\"https:\/\/statorials.org\/id\/menggambar-beberapa-kurva-roc-python\/\">Cara Membuat Plot Beberapa Kurva KOP dengan Python<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regresi logistik adalah metode statistik yang kami gunakan untuk menyesuaikan model regresi jika variabel responsnya biner. Untuk mengevaluasi seberapa cocok model regresi logistik dengan kumpulan data, kita dapat melihat dua metrik berikut: Sensitivitas: probabilitas model memprediksi hasil positif untuk suatu observasi padahal hasilnya benar-benar positif. Ini juga disebut \u201ctingkat positif sebenarnya\u201d. Kekhususan: probabilitas model memprediksi [&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>Cara Menggambar Kurva ROC dengan Python (Langkah demi Langkah) - Statorials<\/title>\n<meta name=\"description\" content=\"Tutorial ini menjelaskan cara menggambar kurva ROC dengan Python, dengan 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\/lacak-kurva-roc-python\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cara Menggambar Kurva ROC dengan Python (Langkah demi Langkah) - Statorials\" \/>\n<meta property=\"og:description\" content=\"Tutorial ini menjelaskan cara menggambar kurva ROC dengan Python, dengan contoh langkah demi langkah.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-25T18:37:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocpython1.png\" \/>\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\/lacak-kurva-roc-python\/\",\"url\":\"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/\",\"name\":\"Cara Menggambar Kurva ROC dengan Python (Langkah demi Langkah) - Statorials\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/id\/#website\"},\"datePublished\":\"2023-07-25T18:37:40+00:00\",\"dateModified\":\"2023-07-25T18:37:40+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81\"},\"description\":\"Tutorial ini menjelaskan cara menggambar kurva ROC dengan Python, dengan contoh langkah demi langkah.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/statorials.org\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cara menggambar kurva kop 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":"Cara Menggambar Kurva ROC dengan Python (Langkah demi Langkah) - Statorials","description":"Tutorial ini menjelaskan cara menggambar kurva ROC dengan Python, dengan 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\/lacak-kurva-roc-python\/","og_locale":"id_ID","og_type":"article","og_title":"Cara Menggambar Kurva ROC dengan Python (Langkah demi Langkah) - Statorials","og_description":"Tutorial ini menjelaskan cara menggambar kurva ROC dengan Python, dengan contoh langkah demi langkah.","og_url":"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/","og_site_name":"Statorials","article_published_time":"2023-07-25T18:37:40+00:00","og_image":[{"url":"https:\/\/statorials.org\/wp-content\/uploads\/2023\/08\/rocpython1.png"}],"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\/lacak-kurva-roc-python\/","url":"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/","name":"Cara Menggambar Kurva ROC dengan Python (Langkah demi Langkah) - Statorials","isPartOf":{"@id":"https:\/\/statorials.org\/id\/#website"},"datePublished":"2023-07-25T18:37:40+00:00","dateModified":"2023-07-25T18:37:40+00:00","author":{"@id":"https:\/\/statorials.org\/id\/#\/schema\/person\/3d17a1160dd2d052b7c78e502cb9ec81"},"description":"Tutorial ini menjelaskan cara menggambar kurva ROC dengan Python, dengan contoh langkah demi langkah.","breadcrumb":{"@id":"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/id\/lacak-kurva-roc-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/statorials.org\/id\/"},{"@type":"ListItem","position":2,"name":"Cara menggambar kurva kop 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\/1585"}],"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=1585"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/posts\/1585\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/media?parent=1585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/categories?post=1585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/id\/wp-json\/wp\/v2\/tags?post=1585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}