{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "8H7cEQXhAODl" }, "source": [ "# **PEMODELAN RANDOM FOREST DAN XGBOOST DALAM KLASIFIKASI KELIMPAHAN IKAN KEMBUNG DI SELAT SUNDA**" ] }, { "cell_type": "markdown", "metadata": { "id": "1ZjB3gPAAkjD" }, "source": [ "Mengimport libraries yang diperlukan\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "FTUSExp__eQf" }, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import seaborn as sns\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "id": "fbSqHuVbAqQW" }, "source": [ "Membaca dan Memahami Data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "eE3I9_nFAs7S", "outputId": "ead84a0c-8eff-42df-db7e-bc4f2aebf445" }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " year month day sst salinity chl RR predict\n", "0 2019 1 1 28.77 33.19 0.79000 13.07 0\n", "1 2019 1 2 28.75 33.19 0.79125 13.07 0\n", "2 2019 1 3 28.71 33.20 0.79250 1.98 0\n", "3 2019 1 4 28.81 33.22 0.79375 0.00 0\n", "4 2019 1 5 29.06 33.21 0.79500 1.34 0" ], "text/html": [ "\n", "
| \n", " | year | \n", "month | \n", "day | \n", "sst | \n", "salinity | \n", "chl | \n", "RR | \n", "predict | \n", "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", "2019 | \n", "1 | \n", "1 | \n", "28.77 | \n", "33.19 | \n", "0.79000 | \n", "13.07 | \n", "0 | \n", "
| 1 | \n", "2019 | \n", "1 | \n", "2 | \n", "28.75 | \n", "33.19 | \n", "0.79125 | \n", "13.07 | \n", "0 | \n", "
| 2 | \n", "2019 | \n", "1 | \n", "3 | \n", "28.71 | \n", "33.20 | \n", "0.79250 | \n", "1.98 | \n", "0 | \n", "
| 3 | \n", "2019 | \n", "1 | \n", "4 | \n", "28.81 | \n", "33.22 | \n", "0.79375 | \n", "0.00 | \n", "0 | \n", "
| 4 | \n", "2019 | \n", "1 | \n", "5 | \n", "29.06 | \n", "33.21 | \n", "0.79500 | \n", "1.34 | \n", "0 | \n", "
| \n", " | year | \n", "month | \n", "day | \n", "sst | \n", "Salinitas | \n", "chl | \n", "Curah hujan | \n", "Potensi | \n", "Klorofil | \n", "SPL | \n", "Bulan_sin | \n", "Bulan_cos | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "2019 | \n", "1 | \n", "2 | \n", "28.75 | \n", "33.19 | \n", "0.11 | \n", "13.07 | \n", "0 | \n", "0.10 | \n", "28.77 | \n", "5.000000e-01 | \n", "0.866025 | \n", "
| 1 | \n", "2019 | \n", "1 | \n", "3 | \n", "28.71 | \n", "33.20 | \n", "0.11 | \n", "1.98 | \n", "0 | \n", "0.11 | \n", "28.75 | \n", "5.000000e-01 | \n", "0.866025 | \n", "
| 2 | \n", "2019 | \n", "1 | \n", "4 | \n", "28.81 | \n", "33.22 | \n", "0.11 | \n", "0.00 | \n", "0 | \n", "0.11 | \n", "28.71 | \n", "5.000000e-01 | \n", "0.866025 | \n", "
| 3 | \n", "2019 | \n", "1 | \n", "5 | \n", "29.06 | \n", "33.21 | \n", "0.10 | \n", "1.34 | \n", "0 | \n", "0.11 | \n", "28.81 | \n", "5.000000e-01 | \n", "0.866025 | \n", "
| 4 | \n", "2019 | \n", "1 | \n", "6 | \n", "29.47 | \n", "33.16 | \n", "0.10 | \n", "0.01 | \n", "0 | \n", "0.10 | \n", "29.06 | \n", "5.000000e-01 | \n", "0.866025 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2551 | \n", "2025 | \n", "12 | \n", "27 | \n", "29.12 | \n", "33.28 | \n", "0.17 | \n", "5.85 | \n", "0 | \n", "0.17 | \n", "29.19 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "
| 2552 | \n", "2025 | \n", "12 | \n", "28 | \n", "29.12 | \n", "33.28 | \n", "0.17 | \n", "9.38 | \n", "0 | \n", "0.17 | \n", "29.12 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "
| 2553 | \n", "2025 | \n", "12 | \n", "29 | \n", "29.11 | \n", "33.26 | \n", "0.17 | \n", "17.47 | \n", "0 | \n", "0.17 | \n", "29.12 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "
| 2554 | \n", "2025 | \n", "12 | \n", "30 | \n", "29.21 | \n", "33.26 | \n", "0.17 | \n", "22.77 | \n", "0 | \n", "0.17 | \n", "29.11 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "
| 2555 | \n", "2025 | \n", "12 | \n", "31 | \n", "29.06 | \n", "33.28 | \n", "0.17 | \n", "35.52 | \n", "0 | \n", "0.17 | \n", "29.21 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "
2556 rows × 12 columns
\n", "| \n", " | Bulan_sin | \n", "Bulan_cos | \n", "SPL | \n", "Salinitas | \n", "Klorofil | \n", "Curah hujan | \n", "Potensi | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "5.000000e-01 | \n", "0.866025 | \n", "28.77 | \n", "33.19 | \n", "0.10 | \n", "13.07 | \n", "0 | \n", "
| 1 | \n", "5.000000e-01 | \n", "0.866025 | \n", "28.75 | \n", "33.20 | \n", "0.11 | \n", "1.98 | \n", "0 | \n", "
| 2 | \n", "5.000000e-01 | \n", "0.866025 | \n", "28.71 | \n", "33.22 | \n", "0.11 | \n", "0.00 | \n", "0 | \n", "
| 3 | \n", "5.000000e-01 | \n", "0.866025 | \n", "28.81 | \n", "33.21 | \n", "0.11 | \n", "1.34 | \n", "0 | \n", "
| 4 | \n", "5.000000e-01 | \n", "0.866025 | \n", "29.06 | \n", "33.16 | \n", "0.10 | \n", "0.01 | \n", "0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2551 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "29.19 | \n", "33.28 | \n", "0.17 | \n", "5.85 | \n", "0 | \n", "
| 2552 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "29.12 | \n", "33.28 | \n", "0.17 | \n", "9.38 | \n", "0 | \n", "
| 2553 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "29.12 | \n", "33.26 | \n", "0.17 | \n", "17.47 | \n", "0 | \n", "
| 2554 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "29.11 | \n", "33.26 | \n", "0.17 | \n", "22.77 | \n", "0 | \n", "
| 2555 | \n", "-2.449294e-16 | \n", "1.000000 | \n", "29.21 | \n", "33.28 | \n", "0.17 | \n", "35.52 | \n", "0 | \n", "
2556 rows × 7 columns
\n", "| \n", " | Bulan_sin | \n", "Bulan_cos | \n", "SPL | \n", "Salinitas | \n", "Klorofil | \n", "Curah hujan | \n", "Potensi | \n", "
|---|---|---|---|---|---|---|---|
| count | \n", "2.556000e+03 | \n", "2.556000e+03 | \n", "2556.000000 | \n", "2556.000000 | \n", "2556.000000 | \n", "2556.000000 | \n", "2556.000000 | \n", "
| mean | \n", "-4.896972e-03 | \n", "-2.319328e-03 | \n", "29.799914 | \n", "32.412606 | \n", "0.279992 | \n", "8.107966 | \n", "0.439358 | \n", "
| std | \n", "7.059819e-01 | \n", "7.084854e-01 | \n", "0.581088 | \n", "0.567443 | \n", "0.267846 | \n", "8.898312 | \n", "0.496406 | \n", "
| min | \n", "-1.000000e+00 | \n", "-1.000000e+00 | \n", "28.250000 | \n", "30.840000 | \n", "0.090000 | \n", "0.000000 | \n", "0.000000 | \n", "
| 25% | \n", "-8.660254e-01 | \n", "-8.660254e-01 | \n", "29.420000 | \n", "31.950000 | \n", "0.130000 | \n", "1.117500 | \n", "0.000000 | \n", "
| 50% | \n", "-2.449294e-16 | \n", "-1.836970e-16 | \n", "29.780000 | \n", "32.440000 | \n", "0.210000 | \n", "5.430000 | \n", "0.000000 | \n", "
| 75% | \n", "5.000000e-01 | \n", "8.660254e-01 | \n", "30.240000 | \n", "32.830000 | \n", "0.330000 | \n", "11.967500 | \n", "1.000000 | \n", "
| max | \n", "1.000000e+00 | \n", "1.000000e+00 | \n", "31.240000 | \n", "34.010000 | \n", "2.730000 | \n", "74.930000 | \n", "1.000000 | \n", "
RandomForestClassifier(class_weight='balanced_subsample', max_depth=10,\n",
" min_samples_leaf=4, min_samples_split=5,\n",
" n_estimators=200, random_state=42)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. RandomForestClassifier(class_weight='balanced_subsample', max_depth=10,\n",
" min_samples_leaf=4, min_samples_split=5,\n",
" n_estimators=200, random_state=42)XGBClassifier(base_score=None, booster=None, callbacks=None,\n",
" colsample_bylevel=None, colsample_bynode=None,\n",
" colsample_bytree=1.0, device=None, early_stopping_rounds=None,\n",
" enable_categorical=False, eval_metric='logloss',\n",
" feature_types=None, feature_weights=None, gamma=0,\n",
" grow_policy=None, importance_type=None,\n",
" interaction_constraints=None, learning_rate=0.01, max_bin=None,\n",
" max_cat_threshold=None, max_cat_to_onehot=None,\n",
" max_delta_step=None, max_depth=5, max_leaves=None,\n",
" min_child_weight=None, missing=nan, monotone_constraints=None,\n",
" multi_strategy=None, n_estimators=200, n_jobs=None,\n",
" num_parallel_tree=None, ...)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. XGBClassifier(base_score=None, booster=None, callbacks=None,\n",
" colsample_bylevel=None, colsample_bynode=None,\n",
" colsample_bytree=1.0, device=None, early_stopping_rounds=None,\n",
" enable_categorical=False, eval_metric='logloss',\n",
" feature_types=None, feature_weights=None, gamma=0,\n",
" grow_policy=None, importance_type=None,\n",
" interaction_constraints=None, learning_rate=0.01, max_bin=None,\n",
" max_cat_threshold=None, max_cat_to_onehot=None,\n",
" max_delta_step=None, max_depth=5, max_leaves=None,\n",
" min_child_weight=None, missing=nan, monotone_constraints=None,\n",
" multi_strategy=None, n_estimators=200, n_jobs=None,\n",
" num_parallel_tree=None, ...)RandomForestClassifier(class_weight='balanced_subsample', max_depth=9,\n",
" min_samples_leaf=5, min_samples_split=4,\n",
" n_estimators=250, random_state=42)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. RandomForestClassifier(class_weight='balanced_subsample', max_depth=9,\n",
" min_samples_leaf=5, min_samples_split=4,\n",
" n_estimators=250, random_state=42)