Delete Decision Tree
This commit is contained in:
parent
cc8c2a2d49
commit
b9ba113990
812
Decision Tree
812
Decision Tree
@ -1,812 +0,0 @@
|
|||||||
{
|
|
||||||
"sel": [
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<p style=\"text-align:center\">\n",
|
|
||||||
"<a href=\"https://skills.network/?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2022-01-01\" target=\"_blank\">\n",
|
|
||||||
" <img src=\"https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/assets/logos/SN_web_lightmode.png\" width=\"200\" alt=\"Logo Jaringan Keterampilan\">\n",
|
|
||||||
" </a>\n",
|
|
||||||
"</p>\n",
|
|
||||||
"\N",
|
|
||||||
"# Pohon Keputusan\n",
|
|
||||||
"\N",
|
|
||||||
"Perkiraan waktu yang dibutuhkan: **15** menit\n",
|
|
||||||
"\N",
|
|
||||||
"## Tujuan\n",
|
|
||||||
"\N",
|
|
||||||
"Setelah menyelesaikan lab ini Anda akan dapat:\n",
|
|
||||||
"\N",
|
|
||||||
"* Mengembangkan model klasifikasi menggunakan Algoritma Pohon Keputusan\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
Dalam latihan lab ini, Anda akan mempelajari algoritma pembelajaran mesin yang populer, Pohon Keputusan. Anda akan menggunakan algoritma klasifikasi ini untuk membangun model dari data historis pasien, dan respons mereka terhadap berbagai obat. Kemudian, Anda akan menggunakan pohon keputusan yang telah dilatih untuk memprediksi kelas pasien yang belum diketahui, atau untuk menemukan obat yang tepat untuk pasien baru.\n
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<h1>Daftar isi</h1>\n",
|
|
||||||
"\N",
|
|
||||||
"<div class=\"peringatan peringatan-blokir peringatan-info\" style=\"margin-top: 20px\">\n",
|
|
||||||
"<ol>\n",
|
|
||||||
"<li><a href=\"https://#about_dataset\">Tentang dataset</a></li>\n",
|
|
||||||
"<li><a href=\"https://#downloading_data\">Mengunduh Data</a></li>\n",
|
|
||||||
"<li><a href=\"https://#pre-processing\">Pra-pemrosesan</a></li>\n",
|
|
||||||
"<li><a href=\"https://#setting_up_tree\">Menyiapkan Pohon Keputusan</a></li>\n",
|
|
||||||
" <li><a href=\"https://#modeling\">Pemodelan</a></li>\n",
|
|
||||||
" <li><a href=\"https://#prediksi\">Prediksi</a></li>\n",
|
|
||||||
"<li><a href=\"https://#evaluasi\">Evaluasi</a></li>\n",
|
|
||||||
" <li><a href=\"https://#visualisasi\">Visualisasi</a></li>\n",
|
|
||||||
" </ol>\n",
|
|
||||||
"</div>\n",
|
|
||||||
"<br>\n",
|
|
||||||
"<jam>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"Impor Pustaka Berikut:\n",
|
|
||||||
"\N",
|
|
||||||
"<ul>\n",
|
|
||||||
" <li> <b>numpy (sebagai np)</b> </li>\n",
|
|
||||||
" <li> <b>panda</b> </li>\n",
|
|
||||||
" <li> <b>DecisionTreeClassifier</b> dari <b>sklearn.tree</b> </li>\n",
|
|
||||||
"</ul>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"jika Anda menggunakan versi Anda sendiri, silakan berkomentar\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 1,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"# Peringatan penekanan:\n",
|
|
||||||
"def peringatan(*args, **kwargs):\n",
|
|
||||||
"lulus\n",
|
|
||||||
"peringatan impor\n",
|
|
||||||
"peringatan.peringatan = peringatan"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 2,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"impor sistem\n",
|
|
||||||
"impor numpy sebagai np \n",
|
|
||||||
"impor pandas sebagai pd\n",
|
|
||||||
"dari sklearn.tree impor DecisionTreeClassifier\n",
|
|
||||||
"impor sklearn.tree sebagai pohon"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<div id=\"tentang_dataset\">\n",
|
|
||||||
" <h2>Tentang dataset</h2>\n",
|
|
||||||
Bayangkan Anda seorang peneliti medis yang sedang mengumpulkan data untuk sebuah penelitian. Anda telah mengumpulkan data tentang sekelompok pasien, yang semuanya menderita penyakit yang sama. Selama masa pengobatan, setiap pasien merespons salah satu dari 5 obat, yaitu Obat A, Obat B, Obat C, Obat X, dan Obat Y.
|
|
||||||
"<br>\n",
|
|
||||||
"<br>\n",
|
|
||||||
"Bagian dari pekerjaan Anda adalah membangun model untuk mencari tahu obat mana yang mungkin tepat untuk pasien di masa mendatang dengan penyakit yang sama. Fitur dari kumpulan data ini adalah Usia, Jenis Kelamin, Tekanan Darah, dan Kolesterol pasien, dan targetnya adalah obat yang direspons oleh setiap pasien."
|
|
||||||
"<br>\n",
|
|
||||||
"<br>\n",
|
|
||||||
"Ini adalah contoh pengklasifikasi multikelas, dan Anda dapat menggunakan bagian pelatihan dari dataset \n",
|
|
||||||
"untuk membangun pohon keputusan, dan kemudian menggunakannya untuk memprediksi kelas pasien yang tidak diketahui, atau untuk meresepkan obat kepada pasien baru."
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<div id=\"mengunduh_data\"> \n",
|
|
||||||
"<h2>Mengunduh Data</h2>\n",
|
|
||||||
"Untuk mengunduh data, kami akan menggunakan pustaka pandas untuk membacanya langsung ke dalam kerangka data dari IBM Object Storage.\n",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 3,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/html": [
|
|
||||||
"<div>\n",
|
|
||||||
"<gaya cakupan>\n",
|
|
||||||
" .dataframe tbody tr th:hanya-bertipe {\n",
|
|
||||||
"vertikal-ratakan: tengah;\n",
|
|
||||||
" }\N",
|
|
||||||
"\N",
|
|
||||||
" .dataframe tbody tr th {\n",
|
|
||||||
"vertikal-rata: atas;\n",
|
|
||||||
" }\N",
|
|
||||||
"\N",
|
|
||||||
".dataframe thead th {\n",
|
|
||||||
"teks-ratakan: kanan;\n",
|
|
||||||
" }\N",
|
|
||||||
"</gaya>\n",
|
|
||||||
"<tabel batas=\"1\" kelas=\"kerangka data\">\n",
|
|
||||||
"<thead>\n",
|
|
||||||
"<tr style=\"text-align: kanan;\">\n",
|
|
||||||
"<th></th>\n",
|
|
||||||
"<th>Usia</th>\n",
|
|
||||||
"<th>Jenis Kelamin</th>\n",
|
|
||||||
"<th>BP</th>\n",
|
|
||||||
"<th>Kolesterol</th>\n",
|
|
||||||
" <th>Na_ke_K</th>\n",
|
|
||||||
"<th>Obat</th>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" </thead>\n",
|
|
||||||
"<tbody>\n",
|
|
||||||
"<tr>\n",
|
|
||||||
"<th>0</th>\n",
|
|
||||||
"<td>23</td>\n",
|
|
||||||
" <td>F</td>\n",
|
|
||||||
" <td>TINGGI</td>\n",
|
|
||||||
" <td>TINGGI</td>\n",
|
|
||||||
"<td>25.355</td>\n",
|
|
||||||
" <td>obat</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
"<tr>\n",
|
|
||||||
"<th>1</th>\n",
|
|
||||||
"<td>47</td>\n",
|
|
||||||
"<td>M</td>\n",
|
|
||||||
" <td>RENDAH</td>\n",
|
|
||||||
" <td>TINGGI</td>\n",
|
|
||||||
"<td>13.093</td>\n",
|
|
||||||
" <td>obatC</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
"<tr>\n",
|
|
||||||
"<th>2</th>\n",
|
|
||||||
"<td>47</td>\n",
|
|
||||||
"<td>M</td>\n",
|
|
||||||
" <td>RENDAH</td>\n",
|
|
||||||
" <td>TINGGI</td>\n",
|
|
||||||
"<td>10.114</td>\n",
|
|
||||||
" <td>obatC</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
"<tr>\n",
|
|
||||||
"<th>3</th>\n",
|
|
||||||
"<td>28</td>\n",
|
|
||||||
" <td>F</td>\n",
|
|
||||||
" <td>NORMAL</td>\n",
|
|
||||||
" <td>TINGGI</td>\n",
|
|
||||||
" <td>7.798</td>\n",
|
|
||||||
" <td>obatX</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
"<tr>\n",
|
|
||||||
"<th>4</th>\n",
|
|
||||||
"<td>61</td>\n",
|
|
||||||
" <td>F</td>\n",
|
|
||||||
" <td>RENDAH</td>\n",
|
|
||||||
" <td>TINGGI</td>\n",
|
|
||||||
"<td>18.043</td>\n",
|
|
||||||
" <td>obat</td>\n",
|
|
||||||
" </tr>\n",
|
|
||||||
" </tbody>\n",
|
|
||||||
"</tabel>\n",
|
|
||||||
"</div>"
|
|
||||||
],
|
|
||||||
"teks/polos": [
|
|
||||||
"Usia Jenis Kelamin BP Kolesterol Na_ke_K Obat\n",
|
|
||||||
"0 23 F TINGGI TINGGI 25.355 obat\n",
|
|
||||||
"1 47 M RENDAH TINGGI 13.093 obatC\n",
|
|
||||||
"2 47 M RENDAH TINGGI 10.114 obatC\n",
|
|
||||||
"3 28 F NORMAL TINGGI 7.798 obatX\n",
|
|
||||||
"4 61 F RENDAH TINGGI 18.043 obat"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 3,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"data_saya = pd.baca_csv('https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%203/data/drug200.csv', pembatas=\",\")\n",
|
|
||||||
"my_data.head()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<div id=\"latihan\"> \n",
|
|
||||||
"<h3>Latihan</h3> \n",
|
|
||||||
"Berapa ukuran datanya?\n",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 4,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/polos": [
|
|
||||||
"(200, 6)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 4,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"# tulis kode Anda di sini\n",
|
|
||||||
"\N",
|
|
||||||
"\N",
|
|
||||||
"data_saya.bentuk"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<detail><summary>Klik di sini untuk solusinya</summary>\n",
|
|
||||||
"\N",
|
|
||||||
"```ular piton\n",
|
|
||||||
"data_saya.bentuk\n",
|
|
||||||
"\N",
|
|
||||||
"```\n",
|
|
||||||
"\N",
|
|
||||||
"</detail>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<div href=\"pra-pemrosesan\">\n",
|
|
||||||
"<h2>Pra-pemrosesan</h2>\n",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"Dengan menggunakan <b>my_data</b> sebagai data Drug.csv yang dibaca oleh pandas, deklarasikan variabel berikut: <br>\n",
|
|
||||||
"\N",
|
|
||||||
"<ul>\n",
|
|
||||||
"<li> <b> X </b> sebagai <b> Matriks Fitur </b> (data dari my_data) </li>\n",
|
|
||||||
"<li> <b> y </b> sebagai <b> vektor respons </b> (target) </li>\n",
|
|
||||||
"</ul>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"Hapus kolom yang berisi nama target karena tidak berisi nilai numerik.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 5,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/polos": [
|
|
||||||
"array([[23, 'F', 'TINGGI', 'TINGGI', 25.355],\n",
|
|
||||||
"[47, 'M', 'RENDAH', 'TINGGI', 13.093],\n",
|
|
||||||
"[47, 'M', 'RENDAH', 'TINGGI', 10.114],\n",
|
|
||||||
"[28, 'F', 'NORMAL', 'TINGGI', 7.798],\n",
|
|
||||||
"[61, 'F', 'RENDAH', 'TINGGI', 18.043]], tipe data=objek)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 5,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"X = data_saya[['Usia', 'Jenis Kelamin', 'TD', 'Kolesterol', 'Na_ke_K']].nilai\n",
|
|
||||||
"X[0:5]\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
Seperti yang mungkin Anda ketahui, beberapa fitur dalam kumpulan data ini bersifat kategoris, seperti **Jenis Kelamin** atau **BP**. Sayangnya, Sklearn Decision Trees tidak menangani variabel kategoris. Kita masih dapat mengonversi fitur-fitur ini ke nilai numerik menggunakan **metode LabelEncoder()**\n",
|
|
||||||
"untuk mengubah variabel kategoris menjadi variabel dummy/indikator.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 6,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/polos": [
|
|
||||||
"array([[23, 0, 0, 0, 25.355],\n",
|
|
||||||
"[47, 1, 1, 0, 13.093],\n",
|
|
||||||
"[47, 1, 1, 0, 10.114],\n",
|
|
||||||
"[28, 0, 2, 0, 7.798],\n",
|
|
||||||
"[61, 0, 1, 0, 18.043]], tipe data=objek)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 6,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"dari sklearn impor praproses\n",
|
|
||||||
"le_sex = praproses.LabelEncoder()\n",
|
|
||||||
"le_sex.fit(['F','M'])\n",
|
|
||||||
"X[:,1] = le_sex.transform(X[:,1]) \n",
|
|
||||||
"\N",
|
|
||||||
"\N",
|
|
||||||
"le_BP = praproses.LabelEncoder()\n",
|
|
||||||
"le_BP.fit([ 'RENDAH', 'NORMAL', 'TINGGI'])\n",
|
|
||||||
"X[:,2] = le_BP.transform(X[:,2])\n",
|
|
||||||
"\N",
|
|
||||||
"\N",
|
|
||||||
"le_Chol = praproses.LabelEncoder()\n",
|
|
||||||
"le_Chol.fit([ 'NORMAL', 'TINGGI'])\n",
|
|
||||||
"X[:,3] = le_Chol.transform(X[:,3]) \n",
|
|
||||||
"\N",
|
|
||||||
"X[0:5]\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"Sekarang kita dapat mengisi variabel target.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 7,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/polos": [
|
|
||||||
"0 obatY\n",
|
|
||||||
"1 obatC\n",
|
|
||||||
"2 obatC\n",
|
|
||||||
"3 obatX\n",
|
|
||||||
"4 obatY\n",
|
|
||||||
"Nama: Obat, tipe data: objek"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 7,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"y = data_saya[\"Obat\"]\n",
|
|
||||||
"y[0:5]"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<jam>\n",
|
|
||||||
"\N",
|
|
||||||
"<div id=\"menyiapkan_pohon\">\n",
|
|
||||||
"<h2>Menyiapkan Pohon Keputusan</h2>\n",
|
|
||||||
"Kita akan menggunakan <b>pemisahan pelatihan/pengujian</b> pada <b>pohon keputusan</b> kita. Mari impor <b>train_test_split</b> dari <b>sklearn.cross_validation</b>."
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 8,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"dari sklearn.model_selection impor train_test_split"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"Sekarang <b> train_test_split </b> akan mengembalikan 4 parameter berbeda. Kita akan menamainya:<br>\n",
|
|
||||||
"X_trainset, X_testset, y_trainset, y_testset <br> <br>\n",
|
|
||||||
"<b> train_test_split </b> akan membutuhkan parameter: <br>\n",
|
|
||||||
"X, y, ukuran_uji=0,3, dan keadaan_acak=3. <br> <br>\n",
|
|
||||||
"<b>X</b> dan <b>y</b> adalah array yang diperlukan sebelum pemisahan, <b>test_size</b> mewakili rasio kumpulan data pengujian, dan <b>random_state</b> memastikan bahwa kita memperoleh pemisahan yang sama.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 9,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"X_trainset, X_testset, y_trainset, y_testset = pemisahan_uji_kereta(X, y, ukuran_uji=0.3, keadaan_acak=3)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<h3>Latihan</h3>\n",
|
|
||||||
Cetak bentuk X_trainset dan y_trainset. Pastikan dimensinya sesuai.\n
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 10,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"nama": "stdout",
|
|
||||||
"tipe_keluaran": "aliran",
|
|
||||||
"teks": [
|
|
||||||
"Bentuk set pelatihan X(140, 5) & Ukuran set pelatihan Y(140,)\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"print('Bentuk set pelatihan X{}'.format(X_trainset.shape), '&', 'Ukuran set pelatihan Y{}'.format(y_trainset.shape))\n",
|
|
||||||
"\N"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<detail><summary>Klik di sini untuk solusinya</summary>\n",
|
|
||||||
"\N",
|
|
||||||
"```ular piton\n",
|
|
||||||
"print('Bentuk set pelatihan X {}'.format(X_trainset.shape),'&',' Ukuran set pelatihan Y {}'.format(y_trainset.shape))\n",
|
|
||||||
"\N",
|
|
||||||
"```\n",
|
|
||||||
"\N",
|
|
||||||
"</detail>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
Cetak bentuk X_testset dan y_testset. Pastikan dimensinya cocok.\n
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 12,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"nama": "stdout",
|
|
||||||
"tipe_keluaran": "aliran",
|
|
||||||
"teks": [
|
|
||||||
"Bentuk set uji X(60, 5) & Ukuran set uji y(60,)\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"print('Bentuk set uji X{}'.format(X_testset.shape), '&', 'Ukuran set uji y{}'.format(y_testset.shape))\n",
|
|
||||||
"\N"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<detail><summary>Klik di sini untuk solusinya</summary>\n",
|
|
||||||
"\N",
|
|
||||||
"```ular piton\n",
|
|
||||||
"print('Bentuk set uji X {}'.format(X_testset.shape),'&','Ukuran set uji y {}'.format(y_testset.shape))\n",
|
|
||||||
"\N",
|
|
||||||
"```\n",
|
|
||||||
"\N",
|
|
||||||
"</detail>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<jam>\n",
|
|
||||||
"\N",
|
|
||||||
"<div id=\"pemodelan\">\n",
|
|
||||||
" <h2>Pemodelan</h2>\n",
|
|
||||||
"Pertama-tama kita akan membuat sebuah instance dari <b>DecisionTreeClassifier</b> yang disebut <b>drugTree</b>.<br>\n",
|
|
||||||
"Di dalam pengklasifikasi, tentukan <i> kriteria=\"entropi\" </i> sehingga kita dapat melihat perolehan informasi setiap node.\n",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 13,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/polos": [
|
|
||||||
"DecisionTreeClassifier(kriteria='entropi', kedalaman_maks=4)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 13,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"drugTree = DecisionTreeClassifier(kriteria=\"entropi\", kedalaman_maks = 4)\n",
|
|
||||||
"drugTree # ini menunjukkan parameter default"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
“Selanjutnya, kita akan menyesuaikan data dengan matriks fitur pelatihan <b> X_trainset </b> dan vektor respons pelatihan <b> y_trainset </b>\n”
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 14,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"teks/polos": [
|
|
||||||
"DecisionTreeClassifier(kriteria='entropi', kedalaman_maks=4)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"jumlah_eksekusi": 14,
|
|
||||||
"metadata": {},
|
|
||||||
"tipe_keluaran": "hasil_eksekusi"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"drugTree.fit(X_trainset,y_trainset)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<jam>\n",
|
|
||||||
"\N",
|
|
||||||
"<div id=\"prediksi\">\n",
|
|
||||||
"<h2>Prediksi</h2>\n",
|
|
||||||
"Mari kita membuat beberapa <b>prediksi</b> pada dataset pengujian dan menyimpannya ke dalam variabel yang disebut <b>predTree</b>.\n",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 15,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"predTree = drugTree.predict(X_testset)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"Anda dapat mencetak <b>predTree</b> dan <b>y_testset</b> jika Anda ingin membandingkan prediksi secara visual dengan nilai sebenarnya.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 16,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"nama": "stdout",
|
|
||||||
"tipe_keluaran": "aliran",
|
|
||||||
"teks": [
|
|
||||||
"['obatY' 'obatX' 'obatX' 'obatX' 'obatX']\n",
|
|
||||||
"40 obatY\n",
|
|
||||||
"51 obatX\n",
|
|
||||||
"139 obatX\n",
|
|
||||||
"197 obatX\n",
|
|
||||||
"170 obatX\n",
|
|
||||||
"Nama: Obat, tipe data: objek\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"cetak (predTree [0:5])\n",
|
|
||||||
"cetak (y_testset [0:5])\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<jam>\n",
|
|
||||||
"\N",
|
|
||||||
"<div id=\"evaluasi\">\n",
|
|
||||||
"<h2>Evaluasi</h2>\n",
|
|
||||||
"Selanjutnya, mari impor <b>metrik</b> dari sklearn dan periksa keakuratan model kita.\n",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 17,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [
|
|
||||||
{
|
|
||||||
"nama": "stdout",
|
|
||||||
"tipe_keluaran": "aliran",
|
|
||||||
"teks": [
|
|
||||||
Akurasi DecisionTrees: 0,98333333333333333\n
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"sumber": [
|
|
||||||
"dari metrik impor sklearn\n",
|
|
||||||
"impor matplotlib.pyplot sebagai plt\n",
|
|
||||||
"print(\"Akurasi DecisionTrees: \", metrics.accuracy_score(y_testset, predTree))"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
**Skor klasifikasi akurasi** menghitung akurasi subset: kumpulan label yang diprediksi untuk sampel harus sama persis dengan kumpulan label yang sesuai di y_true.\n
|
|
||||||
"\N",
|
|
||||||
Dalam klasifikasi multilabel, fungsi ini mengembalikan akurasi subset. Jika seluruh rangkaian label yang diprediksi untuk suatu sampel benar-benar sesuai dengan rangkaian label yang sebenarnya, maka akurasi subsetnya adalah 1,0; jika tidak, maka akurasinya adalah 0,0.\n
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"<jam>\n",
|
|
||||||
"\N",
|
|
||||||
"<div id=\"visualisasi\">\n",
|
|
||||||
"<h2>Visualisasi</h2>\n",
|
|
||||||
"\N",
|
|
||||||
"Mari kita visualisasikan pohon\n",
|
|
||||||
"\N",
|
|
||||||
"</div>\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 18,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"# Perhatian: Anda mungkin perlu menghapus komentar dan menginstal pustaka pydotplus dan graphviz jika Anda belum menginstalnya sebelumnya\n",
|
|
||||||
"#!conda install -c conda-forge pydotplus -y\n",
|
|
||||||
"#!conda install -c conda-forge python-graphviz -y\n",
|
|
||||||
"\N",
|
|
||||||
"#Setelah menjalankan kode di bawah ini, sebuah berkas bernama 'tree.png' akan dibuat yang berisi gambar pohon keputusan."
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "kode",
|
|
||||||
"jumlah_eksekusi": 19,
|
|
||||||
"metadata": {
|
|
||||||
"tag": []
|
|
||||||
},
|
|
||||||
"keluaran": [],
|
|
||||||
"sumber": [
|
|
||||||
"dari sklearn.tree impor ekspor_graphviz\n",
|
|
||||||
"export_graphviz(drugTree, out_file='tree.dot', loaded=True, feature_names=['Usia', 'Jenis Kelamin', 'TD', 'Kolesterol', 'Na_ke_K'])\n",
|
|
||||||
"!dot -Tpng pohon.dot -o pohon.png\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tipe_sel": "penurunan harga",
|
|
||||||
"metadata": {},
|
|
||||||
"sumber": [
|
|
||||||
"### Terima kasih telah menyelesaikan lab ini!\n",
|
|
||||||
"\N",
|
|
||||||
"## Penulis\n",
|
|
||||||
"\N",
|
|
||||||
"Saeed Aghabozorgi\n",
|
|
||||||
"\N",
|
|
||||||
"### Kontributor Lainnya\n",
|
|
||||||
"\N",
|
|
||||||
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2022-01-01\" target=\"_blank\">Joseph Santarcangelo</a>\n",
|
|
||||||
"\N",
|
|
||||||
"<a href=\"https://www.linkedin.com/in/richard-ye/?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2022-01-01\" target=\"_blank\">Richard Ye</a>\n",
|
|
||||||
"\N",
|
|
||||||
"## <h3 align=\"center\"> © IBM Corporation 2020. Seluruh hak cipta dilindungi undang-undang. <h3/>\n",
|
|
||||||
" \N",
|
|
||||||
"<!--\n",
|
|
||||||
"## Catatan Perubahan\n",
|
|
||||||
"\N",
|
|
||||||
"| Tanggal (YYYY-MM-DD) | Versi | Diubah Oleh | Deskripsi Perubahan |\n",
|
|
||||||
"| ----------------- | ------- | ---------- | ------------------------------------------------ |\n",
|
|
||||||
"| 2022-05-24 | 2.3 | Richard Ye | Memperbaiki kemampuan untuk bekerja di JupyterLite dan secara lokal |\n",
|
|
||||||
"| 2020-11-20 | 2.2 | Lakshmi | Mengubah pernyataan impor StringIO |\n",
|
|
||||||
"| 2020-11-03 | 2.1 | Lakshmi | Mengubah URL csv |\n",
|
|
||||||
"| 2020-08-27 | 2.0 | Lavanya | Memindahkan lab ke repo kursus di GitLab |\n",
|
|
||||||
"| | | | |\n",
|
|
||||||
"| | | | |\n",
|
|
||||||
"--!>\n",
|
|
||||||
"\N"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"kernelspec": {
|
|
||||||
"nama_tampilan": "Python",
|
|
||||||
"bahasa": "python",
|
|
||||||
"nama": "conda-env-python-py"
|
|
||||||
},
|
|
||||||
"info_bahasa": {
|
|
||||||
"mode_kode_cermin": {
|
|
||||||
"nama": "ipython",
|
|
||||||
"versi": 3
|
|
||||||
},
|
|
||||||
"ekstensi_file": ".py",
|
|
||||||
"mimetype": "teks/x-python",
|
|
||||||
"nama": "ular piton",
|
|
||||||
"nbconvert_exporter": "ular piton",
|
|
||||||
"pygments_lexer": "ipython3",
|
|
||||||
"versi": "3.7.12"
|
|
||||||
},
|
|
||||||
"prev_pub_hash": "1228bf81fd1be0f6e7dda62256f4ffcb19b064217fc51f2e012abde9b84c2b0d"
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 4
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user