FINANCIAL DISTRESS PREDICTION

TOGGLE GColab / Kaggle

platform = "gcolab"
# platform = "kaggle"
compute_type = "cpu"  # 'cpu' atau 'gpu'
import os

if platform == "gcolab":
    # ----- Google Colab ----- #

    import importlib.util
    if importlib.util.find_spec("catboost") is None:
        %pip install catboost
    if importlib.util.find_spec("optuna") is None:
        %pip install optuna

    from google.colab import drive, output

    MOUNT_POINT = "/content/drive"
    prefix_path = f"{MOUNT_POINT}/MyDrive/SKRIPSI/Dataset/"
    save_path = prefix_path

    if not os.path.isdir(f"{MOUNT_POINT}/MyDrive"):
        drive.mount(MOUNT_POINT)

    if not os.path.isdir(prefix_path):
        raise FileNotFoundError(f"Folder tidak ditemukan: {prefix_path}")
    
    if not os.path.isdir(save_path):
        raise FileNotFoundError(f"Folder tidak ditemukan: {save_path}")

elif platform == "kaggle":
    # ----- Kaggle ----- #
    
    prefix_path = "/kaggle/input/idx-financial-data/"
    save_path = "/kaggle/working/"
    os.makedirs(save_path + 'pickle', exist_ok=True)

    if compute_type == 'cpu':
        prefix_path = "/kaggle/input/datasets/daffarestupratama/idx-financial-data/"

else:

    raise ValueError("Invalid platform choice")

Libraries

Import

import warnings
import pandas as pd
import numpy as np

import sys

import re
from IPython.display import clear_output, display
import yfinance as yf

import math
import textwrap

import pickle
import matplotlib.pyplot as plt
from matplotlib.colors import Normalize, LinearSegmentedColormap
from matplotlib.collections import LineCollection
from matplotlib.patches import Patch

import plotly.graph_objects as go

import seaborn as sns
from scipy.stats import chi2_contingency
from scipy.stats import fisher_exact
from sklearn.experimental import enable_iterative_imputer

from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.preprocessing import StandardScaler, MinMaxScaler, OrdinalEncoder
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from sklearn.model_selection import train_test_split, RandomizedSearchCV, StratifiedKFold, GridSearchCV
from sklearn.base import BaseEstimator, ClassifierMixin, clone, TransformerMixin
from sklearn.utils.validation import check_is_fitted
from sklearn.impute import KNNImputer, SimpleImputer, IterativeImputer
from sklearn.metrics import roc_auc_score, average_precision_score, classification_report, confusion_matrix, precision_recall_curve, accuracy_score, precision_score, recall_score, f1_score, classification_report
from sklearn.pipeline import Pipeline
from sklearn.feature_selection import mutual_info_classif
from imblearn.pipeline import Pipeline as ImbPipeline
from imblearn.over_sampling import SMOTE, RandomOverSampler

import optuna
import statsmodels.api as sm
from statsmodels.stats.outliers_influence import variance_inflation_factor
from statsmodels.tools.tools import add_constant
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier
from catboost import CatBoostClassifier
import shap

Set Options & Constants

pd.set_option('display.max_columns', None)
pd.set_option('display.float_format', lambda x: '%.6f' % x)
RANDOM_STATE = 42

Helper Functions

# Untuk ubah df ndarray jadi numpy dan contiguous
# Dipakai saat pindah dari gpu ke cpu
def to_float32_contiguous(X):
    # X bisa DataFrame atau ndarray
    arr = X.to_numpy() if hasattr(X, "to_numpy") else np.asarray(X)
    return np.asarray(arr, dtype=np.float32, order="C")
# def end():
#   for i in range(5):
#     output.eval_js('new Audio("https://upload.wikimedia.org/wikipedia/commons/0/05/Beep-09.ogg").play()')
#   print("End of program.")
#   sys.exit(1)

# def limit():
#   for i in range(2):
#     output.eval_js('new Audio("https://upload.wikimedia.org/wikipedia/commons/0/05/Beep-09.ogg").play()')
#   print("Exiting program to limit code run.")
#   sys.exit(1)

from IPython.display import display, Audio

# Membuat custom exception agar error log tidak terlalu panjang dan berantakan
class StopExecution(Exception):
    def _render_traceback_(self):
        pass

def limit():
    # Menggunakan modul standar IPython untuk memutar audio
    for _ in range(2):
        display(Audio(url="https://upload.wikimedia.org/wikipedia/commons/0/05/Beep-09.ogg", autoplay=True))
    
    print("Exiting program to limit code run.")
    
    # Menghentikan eksekusi cell selanjutnya tanpa mematikan kernel
    raise StopExecution("Eksekusi dihentikan secara sengaja.")

def end():
    for _ in range(5):
        display(Audio(url="https://upload.wikimedia.org/wikipedia/commons/0/05/Beep-09.ogg", autoplay=True))
    
    print("End of program.")
    raise StopExecution("Program selesai.")

Business Understanding

Tujuan Bisnis

Kriteria Sukses Bisnis

Menerjemahkan ke Tujuan Data Mining

Daftar Perusahaan

Load Daftar Nama dan Kode Saham

df_overview = pd.read_excel(prefix_path + 'Daftar_Saham.xlsx')
df_overview
No Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan
0 1 AALI Astra Agro Lestari Tbk. 09 Des 1997 1.924.688.333 Utama
1 2 ABBA Mahaka Media Tbk. 03 Apr 2002 3.935.892.857 Pemantauan Khusus
2 3 ABDA Asuransi Bina Dana Arta Tbk. 06 Jul 1989 620.806.680 Pemantauan Khusus
3 4 ABMM ABM Investama Tbk. 06 Des 2011 2.753.165.000 Utama
4 5 ACES Aspirasi Hidup Indonesia Tbk. 06 Nov 2007 17.120.389.700 Utama
... ... ... ... ... ... ...
950 951 ASPI Andalan Sakti Primaindo Tbk. 17 Feb 2020 681.823.317 Pemantauan Khusus
951 952 ESTA Esta Multi Usaha Tbk. 09 Mar 2020 2.425.354.179 Pengembangan
952 953 BESS Batulicin Nusantara Maritim Tb 09 Mar 2020 3.440.455.528 Pengembangan
953 954 AMAN Makmur Berkah Amanda Tbk. 13 Mar 2020 3.873.500.000 Pengembangan
954 955 CARE Metro Healthcare Indonesia Tbk 13 Mar 2020 33.250.000.000 Pengembangan

955 rows × 6 columns

Load Papan Pemantauan Khusus

df_ppk = pd.read_excel(prefix_path + 'Data_PPK.xlsx')
df_ppk
Kode Saham Nama Perusahaan Tanggal Masuk Tanggal Keluar Kriteria
0 OCAP ONIX CAPITAL Tbk 19 Jul 2021 NaN 2, 3, 5, 7
1 PICO Pelangi Indah Canindo Tbk 19 Jul 2021 13 Jun 2022 8
2 BINA PT Bank Ina Perdana Tbk. 21 Jul 2021 20 Agt 2021 10
3 GMFI PT Garuda Maintenance Facility Aero Asia Tbk. 29 Jul 2021 NaN 5
4 BOLA PT Bali Bintang Sejahtera Tbk. 20 Agt 2021 20 Sep 2021 10
... ... ... ... ... ...
401 PGJO PT Tourindo Guide Indonesia Tbk. 17 Sep 2025 NaN 10
402 IRSX PT Aviana Sinar Abadi Tbk 18 Sep 2025 NaN 1
403 RONY PT Aracord Nusantara Group Tbk 18 Sep 2025 NaN 7, 10
404 LAPD Leyand International Tbk 19 Sep 2025 NaN 1
405 PIPA PT Multi Makmur Lemindo Tbk. 22 Sep 2025 NaN 10

406 rows × 5 columns

Merge Data Daftar Saham

df_emiten_idx = pd.merge(df_overview, df_ppk, left_on='Kode', right_on='Kode Saham', how='left')
df_emiten_idx
No Kode Nama Perusahaan_x Tanggal Pencatatan Saham Papan Pencatatan Kode Saham Nama Perusahaan_y Tanggal Masuk Tanggal Keluar Kriteria
0 1 AALI Astra Agro Lestari Tbk. 09 Des 1997 1.924.688.333 Utama NaN NaN NaN NaN NaN
1 2 ABBA Mahaka Media Tbk. 03 Apr 2002 3.935.892.857 Pemantauan Khusus ABBA Mahaka Media Tbk 31 Mei 2024 NaN 1, 5
2 3 ABDA Asuransi Bina Dana Arta Tbk. 06 Jul 1989 620.806.680 Pemantauan Khusus ABDA Asuransi Bina Dana Arta Tbk 09 Apr 2025 NaN 7
3 4 ABMM ABM Investama Tbk. 06 Des 2011 2.753.165.000 Utama NaN NaN NaN NaN NaN
4 5 ACES Aspirasi Hidup Indonesia Tbk. 06 Nov 2007 17.120.389.700 Utama NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ...
950 951 ASPI Andalan Sakti Primaindo Tbk. 17 Feb 2020 681.823.317 Pemantauan Khusus ASPI PT Andalan Sakti Primaindo Tbk. 24 Jul 2025 04 Agt 2025 10
951 952 ESTA Esta Multi Usaha Tbk. 09 Mar 2020 2.425.354.179 Pengembangan ESTA PT Esta Multi Usaha Tbk. 30 Apr 2025 04 Jun 2025 6
952 953 BESS Batulicin Nusantara Maritim Tb 09 Mar 2020 3.440.455.528 Pengembangan BESS PT Batulicin Nusantara Maritim Tbk. 10 Mar 2025 19 Mar 2025 10
953 954 AMAN Makmur Berkah Amanda Tbk. 13 Mar 2020 3.873.500.000 Pengembangan NaN NaN NaN NaN NaN
954 955 CARE Metro Healthcare Indonesia Tbk 13 Mar 2020 33.250.000.000 Pengembangan NaN NaN NaN NaN NaN

955 rows × 11 columns

Hapus kolom yang redundant

# Drop redundant columns
df_emiten_idx = df_emiten_idx.drop(columns=['Kode Saham', 'Nama Perusahaan_y', 'No'])

# Rename 'Nama Perusahaan_x' column
df_emiten_idx = df_emiten_idx.rename(columns={'Nama Perusahaan_x': 'Nama Perusahaan'})

# Display the updated DataFrame
df_emiten_idx
Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan Tanggal Masuk Tanggal Keluar Kriteria
0 AALI Astra Agro Lestari Tbk. 09 Des 1997 1.924.688.333 Utama NaN NaN NaN
1 ABBA Mahaka Media Tbk. 03 Apr 2002 3.935.892.857 Pemantauan Khusus 31 Mei 2024 NaN 1, 5
2 ABDA Asuransi Bina Dana Arta Tbk. 06 Jul 1989 620.806.680 Pemantauan Khusus 09 Apr 2025 NaN 7
3 ABMM ABM Investama Tbk. 06 Des 2011 2.753.165.000 Utama NaN NaN NaN
4 ACES Aspirasi Hidup Indonesia Tbk. 06 Nov 2007 17.120.389.700 Utama NaN NaN NaN
... ... ... ... ... ... ... ... ...
950 ASPI Andalan Sakti Primaindo Tbk. 17 Feb 2020 681.823.317 Pemantauan Khusus 24 Jul 2025 04 Agt 2025 10
951 ESTA Esta Multi Usaha Tbk. 09 Mar 2020 2.425.354.179 Pengembangan 30 Apr 2025 04 Jun 2025 6
952 BESS Batulicin Nusantara Maritim Tb 09 Mar 2020 3.440.455.528 Pengembangan 10 Mar 2025 19 Mar 2025 10
953 AMAN Makmur Berkah Amanda Tbk. 13 Mar 2020 3.873.500.000 Pengembangan NaN NaN NaN
954 CARE Metro Healthcare Indonesia Tbk 13 Mar 2020 33.250.000.000 Pengembangan NaN NaN NaN

955 rows × 8 columns

Convert Tanggal

# Map Indonesian month abbreviations to English ones
indo_to_eng_month = {
    'Jan': 'Jan', 'Feb': 'Feb', 'Mar': 'Mar', 'Apr': 'Apr', 'Mei': 'May', 'Jun': 'Jun',
    'Jul': 'Jul', 'Agt': 'Aug', 'Sep': 'Sep', 'Okt': 'Oct', 'Nov': 'Nov', 'Des': 'Dec'
}

# Convert date columns to datetime objects
date_cols = ['Tanggal Pencatatan', 'Tanggal Masuk', 'Tanggal Keluar']
for col in date_cols:
    # Replace Indonesian month abbreviations with English ones
    df_emiten_idx[col] = df_emiten_idx[col].astype(str).replace(indo_to_eng_month, regex=True)
    df_emiten_idx[col] = pd.to_datetime(df_emiten_idx[col], format='%d %b %Y', errors='coerce')

df_emiten_idx
Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan Tanggal Masuk Tanggal Keluar Kriteria
0 AALI Astra Agro Lestari Tbk. 1997-12-09 1.924.688.333 Utama NaT NaT NaN
1 ABBA Mahaka Media Tbk. 2002-04-03 3.935.892.857 Pemantauan Khusus 2024-05-31 NaT 1, 5
2 ABDA Asuransi Bina Dana Arta Tbk. 1989-07-06 620.806.680 Pemantauan Khusus 2025-04-09 NaT 7
3 ABMM ABM Investama Tbk. 2011-12-06 2.753.165.000 Utama NaT NaT NaN
4 ACES Aspirasi Hidup Indonesia Tbk. 2007-11-06 17.120.389.700 Utama NaT NaT NaN
... ... ... ... ... ... ... ... ...
950 ASPI Andalan Sakti Primaindo Tbk. 2020-02-17 681.823.317 Pemantauan Khusus 2025-07-24 2025-08-04 10
951 ESTA Esta Multi Usaha Tbk. 2020-03-09 2.425.354.179 Pengembangan 2025-04-30 2025-06-04 6
952 BESS Batulicin Nusantara Maritim Tb 2020-03-09 3.440.455.528 Pengembangan 2025-03-10 2025-03-19 10
953 AMAN Makmur Berkah Amanda Tbk. 2020-03-13 3.873.500.000 Pengembangan NaT NaT NaN
954 CARE Metro Healthcare Indonesia Tbk 2020-03-13 33.250.000.000 Pengembangan NaT NaT NaN

955 rows × 8 columns

Tambah Kolom PPK (Yes/No)

# Kolom Identifikasi PPK
df_emiten_idx['PPK'] = df_emiten_idx['Tanggal Masuk'].apply(lambda x: 'Yes' if pd.notna(x) else 'No')

df_emiten_idx
Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan Tanggal Masuk Tanggal Keluar Kriteria PPK
0 AALI Astra Agro Lestari Tbk. 1997-12-09 1.924.688.333 Utama NaT NaT NaN No
1 ABBA Mahaka Media Tbk. 2002-04-03 3.935.892.857 Pemantauan Khusus 2024-05-31 NaT 1, 5 Yes
2 ABDA Asuransi Bina Dana Arta Tbk. 1989-07-06 620.806.680 Pemantauan Khusus 2025-04-09 NaT 7 Yes
3 ABMM ABM Investama Tbk. 2011-12-06 2.753.165.000 Utama NaT NaT NaN No
4 ACES Aspirasi Hidup Indonesia Tbk. 2007-11-06 17.120.389.700 Utama NaT NaT NaN No
... ... ... ... ... ... ... ... ... ...
950 ASPI Andalan Sakti Primaindo Tbk. 2020-02-17 681.823.317 Pemantauan Khusus 2025-07-24 2025-08-04 10 Yes
951 ESTA Esta Multi Usaha Tbk. 2020-03-09 2.425.354.179 Pengembangan 2025-04-30 2025-06-04 6 Yes
952 BESS Batulicin Nusantara Maritim Tb 2020-03-09 3.440.455.528 Pengembangan 2025-03-10 2025-03-19 10 Yes
953 AMAN Makmur Berkah Amanda Tbk. 2020-03-13 3.873.500.000 Pengembangan NaT NaT NaN No
954 CARE Metro Healthcare Indonesia Tbk 2020-03-13 33.250.000.000 Pengembangan NaT NaT NaN No

955 rows × 9 columns

Kriteria Distress PPK dan Tambah Kolom Distress (Yes/No)

# Define the criteria values for distress
distress_criteria = ['2', '3', '5', '8', '9'] + ['1', '7'] + ['4', '6', '10', '11']

# Function to determine 'Distress' status
def is_distress(row):
    if row['PPK'] == 'Yes':
        kriteria_values = str(row['Kriteria']).split(', ')
        if any(item in distress_criteria for item in kriteria_values):
            return 'Yes'
    return 'No'

# Apply the function to create the 'Distress' column
df_emiten_idx['Distress_PPK'] = df_emiten_idx.apply(is_distress, axis=1)

# Display the updated DataFrame
df_emiten_idx
Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan Tanggal Masuk Tanggal Keluar Kriteria PPK Distress_PPK
0 AALI Astra Agro Lestari Tbk. 1997-12-09 1.924.688.333 Utama NaT NaT NaN No No
1 ABBA Mahaka Media Tbk. 2002-04-03 3.935.892.857 Pemantauan Khusus 2024-05-31 NaT 1, 5 Yes Yes
2 ABDA Asuransi Bina Dana Arta Tbk. 1989-07-06 620.806.680 Pemantauan Khusus 2025-04-09 NaT 7 Yes Yes
3 ABMM ABM Investama Tbk. 2011-12-06 2.753.165.000 Utama NaT NaT NaN No No
4 ACES Aspirasi Hidup Indonesia Tbk. 2007-11-06 17.120.389.700 Utama NaT NaT NaN No No
... ... ... ... ... ... ... ... ... ... ...
950 ASPI Andalan Sakti Primaindo Tbk. 2020-02-17 681.823.317 Pemantauan Khusus 2025-07-24 2025-08-04 10 Yes Yes
951 ESTA Esta Multi Usaha Tbk. 2020-03-09 2.425.354.179 Pengembangan 2025-04-30 2025-06-04 6 Yes Yes
952 BESS Batulicin Nusantara Maritim Tb 2020-03-09 3.440.455.528 Pengembangan 2025-03-10 2025-03-19 10 Yes Yes
953 AMAN Makmur Berkah Amanda Tbk. 2020-03-13 3.873.500.000 Pengembangan NaT NaT NaN No No
954 CARE Metro Healthcare Indonesia Tbk 2020-03-13 33.250.000.000 Pengembangan NaT NaT NaN No No

955 rows × 10 columns

Convert String Kriteria Jadi List

df_emiten_idx["Kriteria"] = (
    df_emiten_idx["Kriteria"]
      .astype("string")
      .str.strip()
      .str.split(r"\s*,\s*", regex=True)
)

df_emiten_idx["Kriteria"] = df_emiten_idx["Kriteria"].apply(
    lambda x: [int(i) for i in x if str(i).strip() != ""] if isinstance(x, list) else pd.NA
)
df_emiten_idx["Kriteria"].head()
Kriteria
0 <NA>
1 [1, 5]
2 [7]
3 <NA>
4 <NA>

df_emiten_idx["Kriteria"].iloc[1][1]
5
type(df_emiten_idx["Kriteria"].iloc[1][1])
int

Cek Null & Nol

# Check null
null_counts_emiten = df_emiten_idx.isnull().sum()

print("Jumlah nilai null per kolom di df_emiten:")
print(null_counts_emiten)

# Check for zero val
numerical_cols_emiten = df_emiten_idx.select_dtypes(include=['number']).columns
zero_counts_emiten = (df_emiten_idx[numerical_cols_emiten] == 0).sum()

print("\nJumlah nilai 0 per kolom numerik di df_emiten:")
print(zero_counts_emiten)
Jumlah nilai null per kolom di df_emiten:
Kode                    0
Nama Perusahaan         0
Tanggal Pencatatan      0
Saham                   0
Papan Pencatatan        0
Tanggal Masuk         549
Tanggal Keluar        743
Kriteria              549
PPK                     0
Distress_PPK            0
dtype: int64

Jumlah nilai 0 per kolom numerik di df_emiten:
Series([], dtype: float64)
# Print the result
print(f"Jumlah emiten yang distress berdasarkan PPK Kriteria tertentu:\n{len(df_emiten_idx[df_emiten_idx['Distress_PPK'] == 'Yes'])}")
Jumlah emiten yang distress berdasarkan PPK Kriteria tertentu:
406

Hasil Dataset Daftar Emiten IDX

df_emiten_idx
Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan Tanggal Masuk Tanggal Keluar Kriteria PPK Distress_PPK
0 AALI Astra Agro Lestari Tbk. 1997-12-09 1.924.688.333 Utama NaT NaT <NA> No No
1 ABBA Mahaka Media Tbk. 2002-04-03 3.935.892.857 Pemantauan Khusus 2024-05-31 NaT [1, 5] Yes Yes
2 ABDA Asuransi Bina Dana Arta Tbk. 1989-07-06 620.806.680 Pemantauan Khusus 2025-04-09 NaT [7] Yes Yes
3 ABMM ABM Investama Tbk. 2011-12-06 2.753.165.000 Utama NaT NaT <NA> No No
4 ACES Aspirasi Hidup Indonesia Tbk. 2007-11-06 17.120.389.700 Utama NaT NaT <NA> No No
... ... ... ... ... ... ... ... ... ... ...
950 ASPI Andalan Sakti Primaindo Tbk. 2020-02-17 681.823.317 Pemantauan Khusus 2025-07-24 2025-08-04 [10] Yes Yes
951 ESTA Esta Multi Usaha Tbk. 2020-03-09 2.425.354.179 Pengembangan 2025-04-30 2025-06-04 [6] Yes Yes
952 BESS Batulicin Nusantara Maritim Tb 2020-03-09 3.440.455.528 Pengembangan 2025-03-10 2025-03-19 [10] Yes Yes
953 AMAN Makmur Berkah Amanda Tbk. 2020-03-13 3.873.500.000 Pengembangan NaT NaT <NA> No No
954 CARE Metro Healthcare Indonesia Tbk 2020-03-13 33.250.000.000 Pengembangan NaT NaT <NA> No No

955 rows × 10 columns

Visualisasi Data Bursa

counts = df_emiten_idx["Distress_PPK"].value_counts().reindex(["Yes", "No"], fill_value=0)

# pastikan counts urut Yes lalu No
counts = counts.reindex(["Yes", "No"], fill_value=0)

# warna
soft_red = "#F28B82"
soft_green = "#81C995"
colors = [soft_red, soft_green]

# label persen + jumlah
def autopct_with_count(values):
    total = values.sum()
    def _fmt(pct):
        count = int(round(pct * total / 100.0))
        return f"{pct:.1f}%\n({count})"
    return _fmt

fig, ax = plt.subplots(figsize=(6, 6))
ax.pie(
    counts.values,
    labels=counts.index,
    colors=colors,
    autopct=autopct_with_count(counts),
    startangle=90
)
ax.axis("equal")
ax.set_title("Proporsi & Jumlah Perusahaan Distress_PPK\nYes vs No")

plt.tight_layout()
plt.show()

df = df_emiten_idx.copy()

# status per perusahaan (unik per Kode)
status = (
    df.groupby("Kode")
      .agg(
          pernah_masuk=("Tanggal Masuk", lambda s: s.notna().any()),
          pernah_keluar=("Tanggal Keluar", lambda s: s.notna().any())
      )
)

# ambil hanya perusahaan yg pernah masuk PPK
status = status[status["pernah_masuk"]]

jumlah_masuk_tidak_keluar = int((~status["pernah_keluar"]).sum())
jumlah_masuk_berhasil_keluar = int((status["pernah_keluar"]).sum())

counts = pd.Series(
    {
        "Masuk & tidak keluar": jumlah_masuk_tidak_keluar,
        "Masuk & berhasil keluar": jumlah_masuk_berhasil_keluar
    }
)

# warna
soft_red = "#F28B82"
soft_green = "#81C995"
colors = [soft_red, soft_green]

# bar chart
fig, ax = plt.subplots(figsize=(7, 5))
bars = ax.bar(counts.index, counts.values, color=colors)

ax.set_ylabel("Jumlah perusahaan")
ax.set_title("Jumlah Perusahaan yang Masuk PPK\nBelum Keluar vs Berhasil Keluar")
ax.set_ylim(0, max(counts.values) * 1.15 if max(counts.values) > 0 else 1)

# angka di atas batang
for b in bars:
    h = b.get_height()
    ax.text(b.get_x() + b.get_width()/2, h, f"{int(h)}", ha="center", va="bottom")

plt.tight_layout()
plt.show()

# hitung kemunculan tiap nilai unik (termasuk null)
counts = df_emiten_idx["Papan Pencatatan"].value_counts(dropna=False)

# ganti label null kalau ada
counts.index = counts.index.to_series().astype(str).replace({"nan": "Tidak diketahui"})

total = counts.sum()
pct = counts / total * 100

# label nilai, jumlah, persen
labels = [f"{k}\n{v} ({p:.1f}%)" for k, v, p in zip(counts.index, counts.values, pct.values)]

fig, ax = plt.subplots(figsize=(8, 8))
ax.pie(
    counts.values,
    labels=labels,
    startangle=90
)
ax.axis("equal")
ax.set_title("Jumlah Tiap Jenis Papan")

plt.tight_layout()
plt.show()

df = df_emiten_idx.copy()

# ambil yang punya Kriteria
tmp = df[["Kode", "Kriteria"]].dropna(subset=["Kriteria"]).copy()

# explode list, 1 baris 1 kriteria
exp = tmp.explode("Kriteria")

# rapikan pastikan numerik
exp["Kriteria"] = pd.to_numeric(exp["Kriteria"], errors="coerce")
exp = exp.dropna(subset=["Kriteria"])
exp["Kriteria"] = exp["Kriteria"].astype(int)

# hitung PERUSAHAAN UNIK per kriteria (Kode, Kriteria) unik
unique_pairs = exp.drop_duplicates(subset=["Kode", "Kriteria"])

counts = unique_pairs["Kriteria"].value_counts().sort_index()

# label kriteria, jumlah, persen
total = counts.sum()
percent = counts / total * 100
labels = [f"Kriteria {k}\n{v} ({p:.1f}%)" for k, v, p in zip(counts.index, counts.values, percent.values)]

fig, ax = plt.subplots(figsize=(9, 9))
ax.pie(counts.values, labels=labels, startangle=90)
ax.axis("equal")
ax.set_title("Proporsi Perusahaan per Kriteria PPK")

plt.tight_layout()
plt.show()

df = df_emiten_idx.copy()

# ambil yang punya Kriteria (pernah masuk PPK)
tmp = df[["Kode", "Kriteria"]].dropna(subset=["Kriteria"]).copy()

# explode list, 1 baris 1 kriteria
exp = tmp.explode("Kriteria")

# pastikan numerik bersih
exp["Kriteria"] = pd.to_numeric(exp["Kriteria"], errors="coerce")
exp = exp.dropna(subset=["Kriteria"])
exp["Kriteria"] = exp["Kriteria"].astype(int)

# hitung PERUSAHAAN UNIK per kriteria
# agar 1 perusahaan tidak dihitung dobel untuk kriteria yang sama
unique_pairs = exp.drop_duplicates(subset=["Kode", "Kriteria"])

counts = unique_pairs["Kriteria"].value_counts().sort_index()

# kriteria yg tidak ada perusahaan (0) tetap ditampilkan
full_index = pd.Index(range(1, 12), name="Kriteria")
counts = counts.reindex(full_index, fill_value=0)

# plot bar chart
fig, ax = plt.subplots(figsize=(10, 5))
bars = ax.bar(counts.index.astype(str), counts.values)

ax.set_title("Jumlah Perusahaan per Kriteria PPK")
ax.set_xlabel("Kriteria")
ax.set_ylabel("Jumlah perusahaan")
ax.set_ylim(0, max(counts.values) * 1.15 if max(counts.values) > 0 else 1)

# jumlah
for b in bars:
    h = b.get_height()
    ax.text(b.get_x() + b.get_width()/2, h, f"{int(h)}", ha="center", va="bottom")

plt.tight_layout()
plt.show()

df = df_emiten_idx.copy()

# hitung jumlah perusahaan IPO per tahun (unik per Kode) dan tampilkan semua tahun termasuk yg 0
df["Tanggal Pencatatan"] = pd.to_datetime(df["Tanggal Pencatatan"], errors="coerce")
df["Tahun Pencatatan"] = df["Tanggal Pencatatan"].dt.year

counts_per_year = (
    df.dropna(subset=["Tahun Pencatatan"])
      .groupby("Tahun Pencatatan")["Kode"]
      .nunique()
      .sort_index()
)

min_year = int(df["Tahun Pencatatan"].min())
max_year = int(df["Tahun Pencatatan"].max())
all_years = pd.Index(range(min_year, max_year + 1), name="Tahun Pencatatan")

counts_per_year = counts_per_year.reindex(all_years, fill_value=0)

x = counts_per_year.index.to_numpy()
y = counts_per_year.values.astype(float)

# warna
soft_red = "#F28B82"
soft_green = "#81C995"
cmap = LinearSegmentedColormap.from_list("soft_red_to_green", [soft_red, soft_green])

pos = y[y > 0]
has_positive = len(pos) > 0

if has_positive:
    norm = Normalize(vmin=pos.min(), vmax=pos.max())

def color_for_value(v):
    if v == 0 or (not has_positive):
        return (0, 0, 0, 1)  # hitam kalau tidak ada yang IPO
    return cmap(norm(v))

point_colors = [color_for_value(v) for v in y]

# garis gradasi pakai segments
segments = []
segment_colors = []

subdiv = 30 # jumlah segmen

for i in range(len(x) - 1):
    x0, x1 = x[i], x[i + 1]
    y0, y1 = y[i], y[i + 1]

    xs = np.linspace(x0, x1, subdiv + 1)
    ys = np.linspace(y0, y1, subdiv + 1)

    for j in range(subdiv):
        v_mid = (ys[j] + ys[j + 1]) / 2.0  # nilai untuk warna segmen kecil
        segments.append([[xs[j], ys[j]], [xs[j + 1], ys[j + 1]]])
        segment_colors.append(color_for_value(v_mid))

lc = LineCollection(segments, colors=segment_colors, linewidths=2)

# plot
fig, ax = plt.subplots(figsize=(14, 6))

ax.add_collection(lc) # garis gradasi
ax.scatter(x, y, s=120, c=point_colors, edgecolors="white", linewidths=1.2, zorder=3) # titik besar

ax.set_title("Jumlah Perusahaan Masuk Bursa per Tahun")
ax.set_ylabel("Jumlah perusahaan")

# tampilkan semua tahun vertikal di X
ax.set_xticks(x)
ax.set_xticklabels(x.astype(int), rotation=90, va="center", ha="center")

# tambah jarak
ax.tick_params(axis="x", pad=10) # antara tick label & garis X
ax.set_xlabel("Tahun", labelpad=25) # antara label "Tahun" & tick label

# batas & grid
ax.set_xlim(x.min() - 0.5, x.max() + 0.5)
ax.set_ylim(0, max(y) * 1.15 if max(y) > 0 else 1)
ax.grid(True, alpha=0.3)

# space bawah
plt.subplots_adjust(bottom=0.1)

plt.show()

Financial Data S&P Capital IQ

Load Financial Data

df_raw = pd.read_excel(
    prefix_path + 'Data Dasar SPCIQ SIMPLIFIED (2).xlsx',
    sheet_name="Sheet1",
    header=[0, 1]   # dua baris pertama sebagai header
)

# Beri nama level kolom
df_raw.columns = df_raw.columns.set_names(["variable", "time_flag"])

print("=== df_raw (awal) ===")
display(df_raw.head())

print("=== Contoh nilai time_flag sebelum normalisasi ===")
time_flags_raw = df_raw.columns.get_level_values("time_flag")
print(pd.unique(time_flags_raw.astype(str))[:20])
=== df_raw (awal) ===
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Total Liabilities (Rp.M) Total Assets (Rp.M) Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Business Description Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification Primary Industry 1st Level Primary Industry 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Industry Classification Sector Industry Group Industry Primary Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Total Assets (Rp.M) Total Liabilities (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) Current Ratio (x)
time_flag STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 STATIC.1 STATIC.1 STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC.1 STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC.1 STATIC.1 STATIC STATIC STATIC STATIC.1 STATIC STATIC STATIC STATIC.2 STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024.1 2023.1 2022.1 2021.1 2020.1 2019.1 2018.1 2017.1 2016.1 2015.1 2014.1 2013.1 2012.1 2011.1 2010.1 2009.1 2008.1 2024.1 2023.1 2022.1 2021.1 2020.1 2019.1 2018.1 2017.1 2016.1 2015.1 2014.1 2013.1 2012.1 2011.1 2010.1 2009.1 2008.1 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024.1 2023.1 2022.1 2021.1 2020.1 2019.1 2018.1 2017.1 2016.1 2015.1 2014.1 2013.1 2012.1 2011.1 2010.1 2009.1 2008.1
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company NaN 137185000.000000 130480000.000000 125742000.000000 131785000.000000 126054000.000000 103958000.000000 88893000.000000 86354000.000000 74067000.000000 72745000.000000 55830000.000000 44391000.000000 50527000.000000 42073000.000000 44086000.000000 48228553.000000 47258399.000000 299675000.000000 287042000.000000 274817000.000000 277184000.000000 246943000.000000 221208000.000000 206196000.000000 198484000.000000 179611000.000000 166173000.000000 141822000.000000 127951000.000000 111369000.000000 103054000.000000 100501000.000000 97814160.000000 91256250.000000 Public Company NaN Operating Subsidiary NaN No NaN NaN Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Integrated Telecommunication Services Technology, Media & Telecommunications Telecommunication Services Integrated Telecommunication Services NaN Communication Services; Telecommunication Serv... Communication Services Telecommunication Services Diversified Telecommunication Services Integrated Telecommunication Services Bandung PT Danantara Asset Management (Persero) NaN NaN 0.520900 Jakarta Construction and Engineering Indonesia NaN NaN Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN NaN NaN NaN 0.822000 0.777000 0.784000 0.886000 0.673000 0.715000 0.935000 1.048000 1.200000 1.353000 1.061000 1.163000 1.160000 0.958000 0.915000 0.602000 0.542000 0.692000 0.643000 0.630000 0.730000 0.510000 0.543000 0.677000 0.818000 0.993000 1.031000 0.795000 0.974000 0.965000 0.703000 0.687000 0.474000 0.420000 -13687000.000000 -15955000.000000 -15162000.000000 -7854000.000000 -22590000.000000 -16647000.000000 -2993000.000000 2185000.000000 7939000.000000 12499000.000000 1976000.000000 4638000.000000 3866000.000000 -931000.000000 -1744000.000000 -10707101.000000 -12375841.000000 63080000.000000 55613000.000000 55073000.000000 61277000.000000 46503000.000000 41722000.000000 43268000.000000 47561000.000000 47701000.000000 47912000.000000 34294000.000000 33075000.000000 27973000.000000 21258000.000000 18729000.000000 16186024.000000 14622310.000000 76767000.000000 71568000.000000 70235000.000000 69131000.000000 69093000.000000 58369000.000000 46261000.000000 45376000.000000 39762000.000000 35413000.000000 32318000.000000 28437000.000000 24107000.000000 22189000.000000 20473000.000000 26893125.000000 26998151.000000 1096000.000000 997000.000000 1144000.000000 779000.000000 983000.000000 585000.000000 717000.000000 631000.000000 584000.000000 528000.000000 474000.000000 509000.000000 579000.000000 758000.000000 515000.000000 435244.000000 511950.000000 6655000.000000 6520000.000000 7124000.000000 5108000.000000 4993000.000000 5471000.000000 5218000.000000 1576000.000000 1463000.000000 2147000.000000 641000.000000 1186000.000000 849000.000000 731000.000000 883000.000000 722850.000000 1875773.000000 299675000.000000 287042000.000000 274817000.000000 277184000.000000 246943000.000000 221208000.000000 206196000.000000 198484000.000000 179611000.000000 166173000.000000 141822000.000000 127951000.000000 111369000.000000 103054000.000000 100501000.000000 97814160.000000 91256250.000000 137185000.000000 130480000.000000 125742000.000000 131785000.000000 126054000.000000 103958000.000000 88893000.000000 86354000.000000 74067000.000000 72745000.000000 55830000.000000 50527000.000000 44391000.000000 42073000.000000 44086000.000000 48228553.000000 47258399.000000 25518000.000000 27773000.000000 27331000.000000 36319000.000000 30561000.000000 32293000.000000 31410000.000000 24964000.000000 23015000.000000 26229000.000000 11525000.000000 10410000.000000 11803000.000000 12644000.000000 16246000.000000 14249575.000000 11444575.000000 11525000.000000 9650000.000000 8191000.000000 6682000.000000 9934000.000000 8705000.000000 4043000.000000 2289000.000000 911000.000000 602000.000000 1810000.000000 432000.000000 37000.000000 100000.000000 56000.000000 43850.000000 46000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 76868000.000000 68124000.000000 62853000.000000 69078000.000000 65462000.000000 52084000.000000 44087000.000000 35472000.000000 31799000.000000 34612000.000000 23452000.000000 20256000.000000 19275000.000000 17871000.000000 21910000.000000 21329926.000000 17584731.000000 162490000.000000 156562000.000000 149075000.000000 145399000.000000 120889000.000000 117250000.000000 117303000.000000 112130000.000000 105544000.000000 93428000.000000 85992000.000000 77424000.000000 66978000.000000 60981000.000000 56415000.000000 49585607.000000 43997851.000000 207476000.000000 203339000.000000 193022000.000000 183495000.000000 179489000.000000 156973000.000000 143248000.000000 130171000.000000 114498000.000000 103700000.000000 94809000.000000 86761000.000000 77047000.000000 74897000.000000 75832000.000000 76419897.000000 71066244.000000 60010000.000000 58238000.000000 54658000.000000 53530000.000000 50675000.000000 60315000.000000 61252000.000000 53119000.000000 47465000.000000 42893000.000000 35651000.000000 32803000.000000 29602000.000000 27992000.000000 25400000.000000 23565712.000000 22159917.000000 149967000.000000 149216000.000000 147306000.000000 143210000.000000 136462000.000000 135567000.000000 130784000.000000 128256000.000000 116333000.000000 102470000.000000 89696000.000000 82967000.000000 77143000.000000 71253000.000000 69177000.000000 67677518.000000 64166429.000000 43129000.000000 44885000.000000 45202000.000000 43318000.000000 43332000.000000 42283000.000000 38624000.000000 43727000.000000 40000000.000000 33694000.000000 29813000.000000 28589000.000000 26667000.000000 23248000.000000 22894000.000000 23831275.000000 23225173.000000 67694000.000000 70054000.000000 71042000.000000 75032000.000000 65522000.000000 64296000.000000 58804000.000000 63136000.000000 58532000.000000 52228000.000000 46139000.000000 43773000.000000 40876000.000000 37548000.000000 37506000.000000 37787661.000000 35538389.000000 43129000.000000 44885000.000000 45202000.000000 43318000.000000 43332000.000000 42283000.000000 38624000.000000 43727000.000000 40000000.000000 33694000.000000 29813000.000000 28589000.000000 26667000.000000 23248000.000000 22894000.000000 23831275.000000 23225173.000000 30743000.000000 32208000.000000 27720000.000000 34099000.000000 29563000.000000 27592000.000000 26979000.000000 32701000.000000 29172000.000000 23317000.000000 21274000.000000 20290000.000000 18362000.000000 15470000.000000 15870000.000000 16042898.000000 14725429.000000 61600000.000000 60581000.000000 73354000.000000 68353000.000000 65317000.000000 54949000.000000 45671000.000000 49405000.000000 47231000.000000 43669000.000000 37736000.000000 36574000.000000 27941000.000000 30553000.000000 27759000.000000 29811604.000000 24553925.000000 4898000.000000 -2940000.000000 -6364000.000000 17722000.000000 2347000.000000 803000.000000 -7706000.000000 -4622000.000000 1650000.000000 10445000.000000 2976000.000000 1578000.000000 3484000.000000 514000.000000 1315000.000000 915515.000000 -3250846.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 98198216600.000000 98175853600.000000 97100853600.000000 95745344100.000000 96931696596.000000 98347123896.000000 98347123896.000000 98347123896.000000 268458.606986 391295.755570 371483.312250 400211.355064 327895.936946 393276.999902 371483.312250 439836.241704 394267.622068 304836.025428 281273.820564 208766.835240 173339.797814 137673.219768 156371.926995 185876.064163 135790.870326 2710.000000 3950.000000 3750.000000 4040.000000 3310.000000 3970.000000 3750.000000 4440.000000 3980.000000 3105.000000 2865.000000 2150.000000 1810.000000 1410.000000 1590.000000 1890.000000 1380.000000 239358000.000000 224686000.000000 211928000.000000 214477000.000000 186351000.000000 169334000.000000 161390000.000000 147602000.000000 137343000.000000 128040000.000000 109444000.000000 97680000.000000 86253000.000000 78852000.000000 78325000.000000 70915533.000000 61582582.000000 35027000.000000 30430000.000000 32883000.000000 38740000.000000 21818000.000000 18620000.000000 18590000.000000 26638000.000000 31001000.000000 28566000.000000 18036000.000000 21256000.000000 17428000.000000 9995000.000000 9490000.000000 8164967.000000 7156989.000000 9442000.000000 8731000.000000 8302000.000000 7506000.000000 6846000.000000 6446000.000000 5032000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.822000 0.777000 0.784000 0.886000 0.673000 0.715000 0.935000 1.048000 1.200000 1.353000 1.061000 1.163000 1.160000 0.958000 0.915000 0.602000 0.542000
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company NaN 9131.515000 22395.996000 37928.982000 33821.027000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 66918.151000 77129.464000 43686.326000 36584.088000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Public Company NaN Operating NaN No NaN NaN Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services NaN 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic Materials Packaging and Materials: Paper and Plastic NaN NaN Materials; Materials; Containers and Packaging... Materials Materials Containers and Packaging Paper and Plastic Packaging Products and Mater... Bekasi NaN NaN NaN NA% NaN NaN NaN NaN NaN NaN NaN NaN PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 NaN NaN NaN 3.171000 1.849000 0.397000 0.279000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2.532000 0.891000 0.259000 0.116000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 18470.909000 16160.048000 -15748.231000 -13908.977000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 26979.387000 35187.194000 10379.496000 5381.327000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8508.479000 19027.146000 26127.727000 19290.304000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5217.791000 18152.157000 2309.696000 1102.312000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 28.664000 14.360000 4.889000 16.514000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 66918.151000 77129.464000 43686.326000 36584.088000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 9131.515000 22395.996000 37928.982000 33821.027000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2835.577000 9595.659000 15429.582000 17861.356000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 57786.636000 54733.468000 5757.344000 2763.062000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 29813.794000 27877.647000 26738.757000 25626.326000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40843.331000 37002.120000 32303.664000 30325.181000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 54702.368000 52931.736000 44150.214000 36215.903000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2629.162000 5081.433000 3948.041000 -4738.235000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4465.941000 6785.251000 5446.039000 -3352.747000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2629.162000 5081.433000 3948.041000 -4738.235000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 899.758000 2288.792000 2052.793000 -4690.516000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8343.775000 -26767.823000 7568.441000 1967.910000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -2271.124000 5946.648000 539.116000 -32.844000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1543043824.000000 1537579370.000000 1229546000.000000 571400000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 948.817070 55.351773 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 615.000000 36.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 60622.214000 64329.128000 21186.926000 20624.418000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4249.362000 6520.486000 573.838000 34.722000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10041.786000 9556.735000 5626.787000 4095.608000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 3.171000 1.849000 0.397000 0.279000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company NaN 20093470.573188 21545086.944192 21197974.640881 9685324.903374 9268917.351480 8427827.077252 8713242.360857 11934035.187236 12314807.459430 14025286.606475 11507764.542355 8840383.482359 10840297.762755 7019323.859661 3763830.000000 3099452.000000 4360950.000000 33732579.888996 33243187.213530 30787462.520356 14769924.153273 11521759.429112 11820817.650070 12287671.907708 14134486.114136 14460055.871406 16420535.888287 14028411.858435 14757757.263945 12175363.933647 10077243.517333 4890266.000000 4199977.000000 3549129.000000 Public Company NaN Operating Subsidiary NaN No NaN NaN Yes No No PT ABM Investama Tbk, together with its subsid... PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Coal and Consumable Fuels Energy and Utilities Oil, Gas and Coal Coal and Consumable Fuels NaN Energy; Energy; Oil, Gas and Consumable Fuels;... Energy Energy Oil, Gas and Consumable Fuels Coal and Consumable Fuels Jakarta PT Tiara Marga Trakindo NaN NaN 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo NaN NaN Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 NaN NaN NaN 1.067000 0.986000 1.145000 1.652000 1.196000 1.204000 1.460000 1.597000 0.792000 0.883000 0.982000 0.996000 1.226000 1.362000 0.893000 1.113000 0.592000 0.905000 0.844000 0.792000 1.341000 0.969000 0.992000 1.275000 1.328000 0.653000 0.751000 0.820000 0.813000 1.007000 1.088000 0.700000 0.879000 0.430000 540116.972988 -138088.846896 1393425.586718 2785291.548858 716862.070496 610980.039406 1477581.268563 1720113.072412 -1048360.536690 -622368.364089 -75076.681040 -19818.463770 820288.622790 1134634.650895 -252891.000000 203475.000000 -953832.000000 8603535.372060 9598638.433986 10973792.911797 7055017.392177 4375629.087504 3608327.316374 4690972.433270 4601979.099836 4002183.122758 4692284.395771 4203180.206570 4670518.461795 4449825.549909 4270489.900468 2106194.000000 2001334.000000 1384649.000000 8063418.399072 9736727.280882 9580367.325079 4269725.843319 3658767.017008 2997347.276968 3213391.164707 2881866.027424 5050543.659448 5314652.759860 4278256.887610 4690336.925565 3629536.927119 3135855.249573 2359085.000000 1797859.000000 2338481.000000 976088.594994 821228.155566 864077.600244 565420.432554 525300.327976 411458.649184 441376.280596 406041.471732 345572.528640 293631.497503 310286.074145 499804.401930 442934.444820 414473.810135 301356.000000 233936.000000 241667.000000 77287.962918 47921.324472 68165.694646 145468.209915 43412.280696 124924.565348 78087.463339 208496.797292 304715.857400 359407.215314 308703.011060 234000.429255 171860.938376 26318.699181 11526.000000 NaN NaN 33732579.888996 33243187.213530 30787462.520356 14769924.153273 11521759.429112 11820817.650070 12287671.907708 14134486.114136 14460055.871406 16420535.888287 14028411.858435 14757757.263945 12175363.933647 10077243.517333 4890266.000000 4199977.000000 3549129.000000 20093470.573188 21545086.944192 21197974.640881 9685324.903374 9268917.351480 8427827.077252 8713242.360857 11934035.187236 12314807.459430 14025286.606475 11507764.542355 10840297.762755 8840383.482359 7019323.859661 3763830.000000 3099452.000000 4360950.000000 10650442.128438 10137708.047964 10408734.918322 4363219.444311 4815187.839656 4751102.996552 4920968.773924 6569397.072784 4716889.153288 5460877.970722 5966403.514665 4363521.366120 3501077.172306 2832092.967225 841659.000000 NaN NaN 1725644.443698 1070033.159496 932422.887775 66960.900000 557120.000000 484330.000000 NaN NaN 579496.717636 675321.089765 323324.159965 740148.951675 520493.454485 494015.259308 292208.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 15716952.113922 16033280.386032 14577725.216805 5488144.613091 5924993.624080 5400701.282240 5215817.182160 7009762.688972 7134999.566212 8304395.601394 8039725.363235 7610896.646745 6493573.658040 4929981.462200 1924066.000000 0.000000 0.000000 13639109.315808 11698100.269338 9589487.879475 5084599.249899 2252842.077632 3392990.572818 3574429.546851 2200450.926900 2145248.411976 2395249.281812 2520647.316080 3917459.501190 3334980.451288 3057919.657672 1126436.000000 1100525.000000 -811821.000000 13588532.603310 13083527.221044 10798972.554367 6404601.223980 5698003.631872 5952020.777318 6748196.663272 8540482.052180 9309009.686380 10701896.185132 8731295.576750 8657844.015315 6588204.391554 4881836.576369 2172994.000000 1532725.000000 1469802.000000 16940553.969294 16775091.191981 13717060.583375 9379940.152987 7360843.103808 6853297.177677 8527758.336357 7217935.093074 6164493.688407 7070612.704500 6865298.865170 6504601.420018 6719153.515715 5237512.675191 3789687.000000 3455803.000000 3114382.000000 19019676.227701 22748651.299773 21468049.600463 14622288.077965 8840833.965492 8378371.179746 11008635.659721 9244047.765335 7868310.286515 8775353.280985 8599050.952989 8115915.925543 8311255.281959 6607997.885733 4486419.000000 3926320.000000 3235172.000000 1405297.314532 4260726.217364 6039382.223438 4531608.021944 359223.936602 809280.825757 2132909.657311 763888.620366 695084.433659 85615.766681 -781424.815807 327174.492051 466344.893687 706361.557448 271266.000000 491429.000000 -469841.000000 3736427.208202 6016608.771238 7545384.213516 5399394.243944 1591016.404358 1645292.178698 2653600.347789 1987378.442476 2021789.251641 1549664.004501 1237520.491127 1299731.078470 1614985.150831 1250603.533610 705326.000000 NaN NaN 1405297.314532 4260726.217364 6039382.223438 4531608.021944 359223.936602 809280.825757 2132909.657311 763888.620366 695084.433659 85615.766681 -781424.815807 327174.492051 466344.893687 706361.557448 271266.000000 491429.000000 -469841.000000 2208286.963756 4809124.839499 5077732.593725 2664181.082945 -550213.689470 55073.183258 957348.122798 50838.656519 91939.054880 -607731.656746 -1373861.491832 21660.865098 116452.543303 484431.520834 127376.000000 -11346.000000 -3913.000000 5673781.353325 5901279.191712 6262674.404548 5216623.032704 1929513.838089 850217.381364 1934408.478086 2018788.409131 1602614.652688 2292600.227669 1330187.486686 1715558.666979 1249385.895957 53032.416782 612476.000000 678998.000000 -4564.000000 -289365.113950 -502652.039715 -232487.728337 1831719.103847 106265.604590 -595842.773237 47878.928040 789290.497254 -408173.515297 107928.957648 169184.976267 -192036.292693 -708061.937615 1190873.399695 -181536.000000 455151.000000 7861.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 825760000.000000 826000000.000000 NaN 9746.204100 9360.761000 9030.381200 3909.494300 2092.405400 4212.342450 6249.684550 6332.279500 5588.924950 7984.178500 8397.153250 8259.495000 8259.495000 10530.856125 NaN NaN NaN 3540.000000 3400.000000 3280.000000 1420.000000 760.000000 1530.000000 2270.000000 2300.000000 2030.000000 2900.000000 3050.000000 3000.000000 3000.000000 3825.000000 NaN NaN NaN 29356061.429730 27731380.655370 24167213.096280 10572743.862990 8177835.701712 8793691.855058 8790246.729011 9210213.615872 9280247.978188 10699644.883206 10560372.679315 11528356.147935 9828554.109328 7987901.119872 3050502.000000 1100525.000000 -811821.000000 2741781.997248 2907757.321224 3441719.228344 3380709.965967 1522129.237896 1410416.880994 2265170.861332 1907200.309552 1242565.677740 1930012.824268 1526592.624775 1256331.810840 1233004.384532 1669222.334305 433039.000000 614575.000000 159424.000000 241953.535626 216885.738972 251403.717345 223331.241996 236740.734304 240865.597962 45742.429116 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.067000 0.986000 1.145000 1.652000 1.196000 1.204000 1.460000 1.597000 0.792000 0.883000 0.982000 0.996000 1.226000 1.362000 0.893000 1.113000 0.592000
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company NaN 115267.049000 107904.478000 120390.576000 122407.148000 155435.120000 154466.505000 161107.849000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 278143.466000 264359.356000 269542.435000 262419.786000 206482.511000 199903.930000 203429.610000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Public Company NaN Operating NaN No NaN NaN Yes No No PT Ace Oldfields Tbk manufactures and sells pa... NaN NaN NaN 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Building Products Industrials Capital Goods Building Products NaN Industrials; Capital Goods; Building Products;... Industrials Capital Goods Building Products Building Products Bogor NaN NaN NaN NA% NaN NaN NaN NaN NaN NaN NaN NaN Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 NaN NaN NaN 1.997000 1.974000 1.828000 1.814000 1.308000 1.309000 1.310000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.172000 1.072000 1.033000 1.210000 0.699000 0.537000 0.544000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 86839.444000 78355.409000 74169.643000 72372.271000 23870.410000 22439.724000 23621.044000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 173948.142000 158762.285000 163700.210000 161289.971000 101493.623000 94943.288000 99749.278000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 87108.698000 80406.876000 89530.566000 88917.700000 77623.213000 72503.564000 76128.234000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 71327.348000 71649.956000 70940.942000 53641.362000 47231.311000 56009.830000 58268.430000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 147.189000 224.208000 244.110000 NaN NaN NaN 35.264000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 278143.466000 264359.356000 269542.435000 262419.786000 206482.511000 199903.930000 203429.610000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 115267.049000 107904.478000 120390.576000 122407.148000 155435.120000 154466.505000 161107.849000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1634.488000 1073.554000 1449.214000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 62574.148000 60824.332000 68829.023000 70330.607000 57947.634000 58677.517000 58922.593000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 89651.801000 87684.384000 99772.844000 100011.914000 133144.255000 138006.077000 141918.039000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 162876.417000 156454.878000 149151.859000 140012.638000 51047.391000 45437.426000 42321.761000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 100287.643000 101849.807000 102292.856000 97649.202000 101747.189000 102175.913000 101709.941000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 130570.138000 114707.655000 112090.876000 106484.602000 103949.885000 107761.935000 113631.570000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 184692.659000 161660.709000 153828.141000 139351.625000 131083.726000 130073.784000 136605.549000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 20523.971000 18341.355000 15142.784000 15351.764000 12508.497000 9495.797000 9791.271000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 24221.391000 22206.902000 18812.802000 18288.391000 14108.647000 10873.891000 11133.338000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 20523.971000 18341.355000 15142.784000 15351.764000 12508.497000 9495.797000 9791.271000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 11300.748000 9505.923000 7864.938000 6178.641000 5750.754000 3591.997000 2840.922000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5509.571000 6666.933000 -14257.143000 -4560.385000 11269.340000 7629.488000 5507.511000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1390.124000 -9025.851000 -22833.804000 46687.897000 4214.702000 449.762000 1393.988000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1292808150.000000 1292808150.000000 1292808150.000000 1292570540.000000 630000000.000000 902570540.000000 902570540.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 67.226024 64.640407 71.091653 93.065079 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 52.000000 50.000000 55.000000 72.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 252528.218000 244139.262000 248924.703000 240024.552000 184191.645000 183443.502000 184239.800000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 26195.870000 24805.746000 33831.597000 56665.401000 9977.504000 5762.802000 5313.040000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1.997000 1.974000 1.828000 1.814000 1.308000 1.309000 1.310000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company NaN 2953727.000000 2212725.000000 1440027.000000 1362982.000000 2731074.000000 10160043.000000 7509598.000000 3869352.000000 1201946.000000 1264639.000000 831601.000000 536559.738000 737915.640000 193550.159000 96961.292000 NaN NaN 2812734.000000 2608782.000000 2111024.000000 2478713.000000 3055106.000000 10446519.000000 8936391.000000 5306479.000000 2503171.000000 1929498.000000 1473649.000000 1298358.203000 754771.051000 359091.317000 226443.835000 NaN NaN Public Company NaN Operating Subsidiary NaN No NaN NaN Yes No No PT Acset Indonusa Tbk provides construction an... PT Acset Indonusa Tbk, an integrated construct... NaN Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Construction and Engineering Industrials Capital Goods Construction and Engineering NaN Industrials; Capital Goods; Construction and E... Industrials Capital Goods Construction and Engineering Construction and Engineering Jakarta PT Karya Supra Perkasa NaN NaN 0.501000 NaN Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 NaN NaN NaN 0.856000 0.999000 1.150000 1.403000 0.844000 0.946000 1.097000 1.273000 1.796000 1.326000 1.563000 1.484000 1.151000 1.371000 1.504000 NaN NaN 0.750000 0.870000 1.043000 1.141000 0.623000 0.826000 0.794000 0.937000 1.298000 0.897000 0.948000 0.922000 0.750000 0.948000 0.935000 NaN NaN -420134.000000 -3142.000000 209226.000000 519658.000000 -409901.000000 -538088.000000 717200.000000 1010675.000000 927046.000000 391523.000000 437650.000000 346109.300000 79802.352000 70129.762000 47966.205000 NaN NaN 2491320.000000 2166914.000000 1606973.000000 1808369.000000 2210364.000000 9456832.000000 8120252.000000 4717565.000000 2092380.000000 1590910.000000 1214765.000000 1061422.848000 607779.928000 259326.070000 143194.646000 NaN NaN 2911454.000000 2170056.000000 1397747.000000 1288711.000000 2620265.000000 9994920.000000 7403052.000000 3706890.000000 1165334.000000 1199387.000000 777115.000000 715313.548000 527977.576000 189196.308000 95228.441000 NaN NaN 182037.000000 138376.000000 64156.000000 95506.000000 93676.000000 262326.000000 961291.000000 349646.000000 370809.000000 315771.000000 309266.000000 237777.966000 135685.746000 67149.636000 27583.420000 NaN NaN 5679.000000 6666.000000 7352.000000 6104.000000 49626.000000 13146.000000 12480.000000 34602.000000 9532.000000 4593.000000 4094.000000 6015.411000 NaN 191.925000 145.979000 NaN NaN 2812734.000000 2608782.000000 2111024.000000 2478713.000000 3055106.000000 10446519.000000 8936391.000000 5306479.000000 2503171.000000 1929498.000000 1473649.000000 1298358.203000 754771.051000 359091.317000 226443.835000 NaN NaN 2953727.000000 2212725.000000 1440027.000000 1362982.000000 2731074.000000 10160043.000000 7509598.000000 3869352.000000 1201946.000000 1264639.000000 831601.000000 737915.640000 536559.738000 193550.159000 96961.292000 NaN NaN NaN NaN 3341.000000 22160.000000 51397.000000 104117.000000 63083.000000 138669.000000 20327.000000 56147.000000 44362.000000 16885.953000 5039.545000 1967.620000 466.667000 NaN NaN 285000.000000 40000.000000 NaN NaN 245000.000000 817923.000000 2656388.000000 1092179.000000 255000.000000 350000.000000 45337.000000 15961.846000 26338.333000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 285000.000000 43341.000000 22171.000000 51569.000000 1082372.000000 4210330.000000 3183252.000000 1871951.000000 312608.000000 440262.000000 272965.000000 118266.063000 125610.468000 30522.840000 20866.667000 NaN NaN -140993.000000 396057.000000 670997.000000 1115731.000000 324032.000000 286476.000000 1426793.000000 1437127.000000 1301225.000000 664859.000000 642048.000000 560442.562000 218211.313000 165541.157000 129482.543000 NaN NaN 263754.000000 336870.000000 429592.000000 543775.000000 657998.000000 745130.000000 755129.000000 486798.000000 370306.000000 310061.000000 242007.000000 220839.892000 134582.169000 89379.957000 80250.650000 NaN NaN 3371726.000000 2389679.000000 1348817.000000 1642358.000000 1500270.000000 4046981.000000 3026009.000000 2561089.000000 1514363.000000 1132494.000000 1101969.000000 818537.622000 554357.668000 356616.043000 244572.004000 NaN NaN 3172312.000000 2349638.000000 1036870.000000 1494671.000000 1204429.000000 3947173.000000 3725296.000000 3026989.000000 1794002.000000 1356868.000000 1350908.000000 1014502.030000 669905.664000 429063.355000 303107.369000 NaN NaN -363885.000000 -190416.000000 -464514.000000 -614271.000000 -1082033.000000 -430375.000000 497768.000000 310722.000000 182096.000000 130916.000000 176807.000000 146399.359000 77033.290000 48495.165000 42562.582000 NaN NaN -271954.000000 -88291.000000 -354321.000000 -497358.000000 -957036.000000 -306643.000000 621841.000000 397442.000000 243054.000000 180822.000000 234231.000000 194155.134000 102386.835000 68401.903000 56844.284000 NaN NaN -363885.000000 -190416.000000 -464514.000000 -614271.000000 -1082033.000000 -430375.000000 497768.000000 310722.000000 182096.000000 130916.000000 176807.000000 146399.359000 77033.290000 48495.165000 42562.582000 NaN NaN -542065.000000 -276638.000000 -451613.000000 -693366.000000 -1340079.000000 -1131849.000000 21419.000000 153791.000000 67555.000000 42222.000000 103897.000000 99215.342000 52233.546000 36486.248000 27770.706000 NaN NaN -122713.000000 -101705.000000 -216864.000000 197089.000000 1761692.000000 -341724.000000 -857235.000000 -1128265.000000 -158255.000000 -24968.000000 -43287.000000 -112217.697000 44407.666000 30836.348000 -19897.347000 NaN NaN 129384.000000 92868.000000 -265851.000000 398257.000000 -108366.000000 -40888.000000 7535.000000 75904.000000 78544.000000 13831.000000 1788.000000 -19912.184000 44619.830000 3503.348000 -7196.844000 NaN NaN 12675160000.000000 12675160000.000000 12675160000.000000 12675160000.000000 6425160000.000000 700000000.000000 700000000.000000 700000000.000000 700000000.000000 500000000.000000 500000000.000000 500000000.000000 400000000.000000 400000000.000000 400000000.000000 NaN NaN 1090.063760 1723.821760 1990.000120 2661.783600 2827.070400 679.000000 1088.500000 1722.000000 1974.000000 1510.000000 1862.500000 995.000000 NaN NaN NaN NaN NaN 86.000000 136.000000 157.000000 210.000000 440.000000 970.000000 1555.000000 2460.000000 2820.000000 3020.000000 3725.000000 1990.000000 NaN NaN NaN NaN NaN 144007.000000 439398.000000 693168.000000 1167300.000000 1406404.000000 4496806.000000 4610045.000000 3309078.000000 1613833.000000 1105121.000000 915013.000000 678708.625000 343821.782000 196063.997000 150349.210000 NaN NaN 428058.000000 298674.000000 205806.000000 471657.000000 73400.000000 181766.000000 222654.000000 215119.000000 139215.000000 60671.000000 49575.000000 48718.694000 64965.045000 20345.215000 16841.867000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0.856000 0.999000 1.150000 1.403000 0.844000 0.946000 1.097000 1.273000 1.796000 1.326000 1.563000 1.484000 1.151000 1.371000 1.504000 NaN NaN
=== Contoh nilai time_flag sebelum normalisasi ===
['STATIC' '2024' '2023' '2022' '2021' '2020' '2019' '2018' '2017' '2016'
 '2015' '2014' '2013' '2012' '2011' '2010' '2009' '2008' 'STATIC.1'
 'STATIC.2']
def normalize_time_flag(x):
    if pd.isna(x):
        return x
    x_str = str(x)
    if x_str == "STATIC":
        return "STATIC"
    # "2024.1" -> "2024", "2024.0" -> "2024"
    x_str = x_str.split(".")[0]
    return x_str

var_level = df_raw.columns.get_level_values("variable")
flag_raw  = df_raw.columns.get_level_values("time_flag")

flag_norm = [normalize_time_flag(v) for v in flag_raw]

df_raw.columns = pd.MultiIndex.from_arrays(
    [var_level, flag_norm],
    names=["variable", "time_flag"]
)

print("=== Nilai unik time_flag setelah normalisasi ===")
print(pd.unique(df_raw.columns.get_level_values("time_flag")))
=== Nilai unik time_flag setelah normalisasi ===
['STATIC' '2024' '2023' '2022' '2021' '2020' '2019' '2018' '2017' '2016'
 '2015' '2014' '2013' '2012' '2011' '2010' '2009' '2008']
df_raw = df_raw.groupby(
    axis=1,
    level=["variable", "time_flag"],
    sort=False
).first()

df_raw.columns = df_raw.columns.set_names(["variable", "time_flag"])

print("=== df_raw setelah penggabungan kolom duplikat ===")
display(df_raw.head())
/tmp/ipykernel_2095/1584443115.py:1: FutureWarning: DataFrame.groupby with axis=1 is deprecated. Do `frame.T.groupby(...)` without axis instead.
  df_raw = df_raw.groupby(
=== df_raw setelah penggabungan kolom duplikat ===
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Total Liabilities (Rp.M) Total Assets (Rp.M) Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
time_flag STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None 137185000.000000 130480000.000000 125742000.000000 131785000.000000 126054000.000000 103958000.000000 88893000.000000 86354000.000000 74067000.000000 72745000.000000 55830000.000000 44391000.000000 50527000.000000 42073000.000000 44086000.000000 48228553.000000 47258399.000000 299675000.000000 287042000.000000 274817000.000000 277184000.000000 246943000.000000 221208000.000000 206196000.000000 198484000.000000 179611000.000000 166173000.000000 141822000.000000 127951000.000000 111369000.000000 103054000.000000 100501000.000000 97814160.000000 91256250.000000 Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN None None None 0.822000 0.777000 0.784000 0.886000 0.673000 0.715000 0.935000 1.048000 1.200000 1.353000 1.061000 1.163000 1.160000 0.958000 0.915000 0.602000 0.542000 0.692000 0.643000 0.630000 0.730000 0.510000 0.543000 0.677000 0.818000 0.993000 1.031000 0.795000 0.974000 0.965000 0.703000 0.687000 0.474000 0.420000 -13687000.000000 -15955000.000000 -15162000.000000 -7854000.000000 -22590000.000000 -16647000.000000 -2993000.000000 2185000.000000 7939000.000000 12499000.000000 1976000.000000 4638000.000000 3866000.000000 -931000.000000 -1744000.000000 -10707101.000000 -12375841.000000 63080000.000000 55613000.000000 55073000.000000 61277000.000000 46503000.000000 41722000.000000 43268000.000000 47561000.000000 47701000.000000 47912000.000000 34294000.000000 33075000.000000 27973000.000000 21258000.000000 18729000.000000 16186024.000000 14622310.000000 76767000.000000 71568000.000000 70235000.000000 69131000.000000 69093000.000000 58369000.000000 46261000.000000 45376000.000000 39762000.000000 35413000.000000 32318000.000000 28437000.000000 24107000.000000 22189000.000000 20473000.000000 26893125.000000 26998151.000000 1096000.000000 997000.000000 1144000.000000 779000.000000 983000.000000 585000.000000 717000.000000 631000.000000 584000.000000 528000.000000 474000.000000 509000.000000 579000.000000 758000.000000 515000.000000 435244.000000 511950.000000 6655000.000000 6520000.000000 7124000.000000 5108000.000000 4993000.000000 5471000.000000 5218000.000000 1576000.000000 1463000.000000 2147000.000000 641000.000000 1186000.000000 849000.000000 731000.000000 883000.000000 722850.000000 1875773.000000 25518000.000000 27773000.000000 27331000.000000 36319000.000000 30561000.000000 32293000.000000 31410000.000000 24964000.000000 23015000.000000 26229000.000000 11525000.000000 10410000.000000 11803000.000000 12644000.000000 16246000.000000 14249575.000000 11444575.000000 11525000.000000 9650000.000000 8191000.000000 6682000.000000 9934000.000000 8705000.000000 4043000.000000 2289000.000000 911000.000000 602000.000000 1810000.000000 432000.000000 37000.000000 100000.000000 56000.000000 43850.000000 46000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 76868000.000000 68124000.000000 62853000.000000 69078000.000000 65462000.000000 52084000.000000 44087000.000000 35472000.000000 31799000.000000 34612000.000000 23452000.000000 20256000.000000 19275000.000000 17871000.000000 21910000.000000 21329926.000000 17584731.000000 162490000.000000 156562000.000000 149075000.000000 145399000.000000 120889000.000000 117250000.000000 117303000.000000 112130000.000000 105544000.000000 93428000.000000 85992000.000000 77424000.000000 66978000.000000 60981000.000000 56415000.000000 49585607.000000 43997851.000000 207476000.000000 203339000.000000 193022000.000000 183495000.000000 179489000.000000 156973000.000000 143248000.000000 130171000.000000 114498000.000000 103700000.000000 94809000.000000 86761000.000000 77047000.000000 74897000.000000 75832000.000000 76419897.000000 71066244.000000 60010000.000000 58238000.000000 54658000.000000 53530000.000000 50675000.000000 60315000.000000 61252000.000000 53119000.000000 47465000.000000 42893000.000000 35651000.000000 32803000.000000 29602000.000000 27992000.000000 25400000.000000 23565712.000000 22159917.000000 149967000.000000 149216000.000000 147306000.000000 143210000.000000 136462000.000000 135567000.000000 130784000.000000 128256000.000000 116333000.000000 102470000.000000 89696000.000000 82967000.000000 77143000.000000 71253000.000000 69177000.000000 67677518.000000 64166429.000000 43129000.000000 44885000.000000 45202000.000000 43318000.000000 43332000.000000 42283000.000000 38624000.000000 43727000.000000 40000000.000000 33694000.000000 29813000.000000 28589000.000000 26667000.000000 23248000.000000 22894000.000000 23831275.000000 23225173.000000 67694000.000000 70054000.000000 71042000.000000 75032000.000000 65522000.000000 64296000.000000 58804000.000000 63136000.000000 58532000.000000 52228000.000000 46139000.000000 43773000.000000 40876000.000000 37548000.000000 37506000.000000 37787661.000000 35538389.000000 43129000.000000 44885000.000000 45202000.000000 43318000.000000 43332000.000000 42283000.000000 38624000.000000 43727000.000000 40000000.000000 33694000.000000 29813000.000000 28589000.000000 26667000.000000 23248000.000000 22894000.000000 23831275.000000 23225173.000000 30743000.000000 32208000.000000 27720000.000000 34099000.000000 29563000.000000 27592000.000000 26979000.000000 32701000.000000 29172000.000000 23317000.000000 21274000.000000 20290000.000000 18362000.000000 15470000.000000 15870000.000000 16042898.000000 14725429.000000 61600000.000000 60581000.000000 73354000.000000 68353000.000000 65317000.000000 54949000.000000 45671000.000000 49405000.000000 47231000.000000 43669000.000000 37736000.000000 36574000.000000 27941000.000000 30553000.000000 27759000.000000 29811604.000000 24553925.000000 4898000.000000 -2940000.000000 -6364000.000000 17722000.000000 2347000.000000 803000.000000 -7706000.000000 -4622000.000000 1650000.000000 10445000.000000 2976000.000000 1578000.000000 3484000.000000 514000.000000 1315000.000000 915515.000000 -3250846.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 98198216600.000000 98175853600.000000 97100853600.000000 95745344100.000000 96931696596.000000 98347123896.000000 98347123896.000000 98347123896.000000 268458.606986 391295.755570 371483.312250 400211.355064 327895.936946 393276.999902 371483.312250 439836.241704 394267.622068 304836.025428 281273.820564 208766.835240 173339.797814 137673.219768 156371.926995 185876.064163 135790.870326 2710.000000 3950.000000 3750.000000 4040.000000 3310.000000 3970.000000 3750.000000 4440.000000 3980.000000 3105.000000 2865.000000 2150.000000 1810.000000 1410.000000 1590.000000 1890.000000 1380.000000 239358000.000000 224686000.000000 211928000.000000 214477000.000000 186351000.000000 169334000.000000 161390000.000000 147602000.000000 137343000.000000 128040000.000000 109444000.000000 97680000.000000 86253000.000000 78852000.000000 78325000.000000 70915533.000000 61582582.000000 35027000.000000 30430000.000000 32883000.000000 38740000.000000 21818000.000000 18620000.000000 18590000.000000 26638000.000000 31001000.000000 28566000.000000 18036000.000000 21256000.000000 17428000.000000 9995000.000000 9490000.000000 8164967.000000 7156989.000000 9442000.000000 8731000.000000 8302000.000000 7506000.000000 6846000.000000 6446000.000000 5032000.000000 NaN NaN NaN NaN None None None None None None
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None 9131.515000 22395.996000 37928.982000 33821.027000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 66918.151000 77129.464000 43686.326000 36584.088000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 None None None 3.171000 1.849000 0.397000 0.279000 None None None None None None None NaN None None None None None 2.532000 0.891000 0.259000 0.116000 None None None None None None None NaN None None NaN NaN NaN 18470.909000 16160.048000 -15748.231000 -13908.977000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 26979.387000 35187.194000 10379.496000 5381.327000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8508.479000 19027.146000 26127.727000 19290.304000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5217.791000 18152.157000 2309.696000 1102.312000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 28.664000 14.360000 4.889000 16.514000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2835.577000 9595.659000 15429.582000 17861.356000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 57786.636000 54733.468000 5757.344000 2763.062000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 29813.794000 27877.647000 26738.757000 25626.326000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40843.331000 37002.120000 32303.664000 30325.181000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 54702.368000 52931.736000 44150.214000 36215.903000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2629.162000 5081.433000 3948.041000 -4738.235000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4465.941000 6785.251000 5446.039000 -3352.747000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2629.162000 5081.433000 3948.041000 -4738.235000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 899.758000 2288.792000 2052.793000 -4690.516000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8343.775000 -26767.823000 7568.441000 1967.910000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -2271.124000 5946.648000 539.116000 -32.844000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1543043824.000000 1537579370.000000 1229546000.000000 571400000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 948.817070 55.351773 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 615.000000 36.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 60622.214000 64329.128000 21186.926000 20624.418000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4249.362000 6520.486000 573.838000 34.722000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10041.786000 9556.735000 5626.787000 4095.608000 NaN NaN NaN NaN NaN NaN NaN None None None None None None
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None 20093470.573188 21545086.944192 21197974.640881 9685324.903374 9268917.351480 8427827.077252 8713242.360857 11934035.187236 12314807.459430 14025286.606475 11507764.542355 8840383.482359 10840297.762755 7019323.859661 3763830.000000 3099452.000000 4360950.000000 33732579.888996 33243187.213530 30787462.520356 14769924.153273 11521759.429112 11820817.650070 12287671.907708 14134486.114136 14460055.871406 16420535.888287 14028411.858435 14757757.263945 12175363.933647 10077243.517333 4890266.000000 4199977.000000 3549129.000000 Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 None None None 1.067000 0.986000 1.145000 1.652000 1.196000 1.204000 1.460000 1.597000 0.792000 0.883000 0.982000 0.996000 1.226000 1.362000 0.893000 1.113000 0.592000 0.905000 0.844000 0.792000 1.341000 0.969000 0.992000 1.275000 1.328000 0.653000 0.751000 0.820000 0.813000 1.007000 1.088000 0.700000 0.879000 0.430000 540116.972988 -138088.846896 1393425.586718 2785291.548858 716862.070496 610980.039406 1477581.268563 1720113.072412 -1048360.536690 -622368.364089 -75076.681040 -19818.463770 820288.622790 1134634.650895 -252891.000000 203475.000000 -953832.000000 8603535.372060 9598638.433986 10973792.911797 7055017.392177 4375629.087504 3608327.316374 4690972.433270 4601979.099836 4002183.122758 4692284.395771 4203180.206570 4670518.461795 4449825.549909 4270489.900468 2106194.000000 2001334.000000 1384649.000000 8063418.399072 9736727.280882 9580367.325079 4269725.843319 3658767.017008 2997347.276968 3213391.164707 2881866.027424 5050543.659448 5314652.759860 4278256.887610 4690336.925565 3629536.927119 3135855.249573 2359085.000000 1797859.000000 2338481.000000 976088.594994 821228.155566 864077.600244 565420.432554 525300.327976 411458.649184 441376.280596 406041.471732 345572.528640 293631.497503 310286.074145 499804.401930 442934.444820 414473.810135 301356.000000 233936.000000 241667.000000 77287.962918 47921.324472 68165.694646 145468.209915 43412.280696 124924.565348 78087.463339 208496.797292 304715.857400 359407.215314 308703.011060 234000.429255 171860.938376 26318.699181 11526.000000 NaN NaN 10650442.128438 10137708.047964 10408734.918322 4363219.444311 4815187.839656 4751102.996552 4920968.773924 6569397.072784 4716889.153288 5460877.970722 5966403.514665 4363521.366120 3501077.172306 2832092.967225 841659.000000 NaN NaN 1725644.443698 1070033.159496 932422.887775 66960.900000 557120.000000 484330.000000 NaN NaN 579496.717636 675321.089765 323324.159965 740148.951675 520493.454485 494015.259308 292208.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 15716952.113922 16033280.386032 14577725.216805 5488144.613091 5924993.624080 5400701.282240 5215817.182160 7009762.688972 7134999.566212 8304395.601394 8039725.363235 7610896.646745 6493573.658040 4929981.462200 1924066.000000 0.000000 0.000000 13639109.315808 11698100.269338 9589487.879475 5084599.249899 2252842.077632 3392990.572818 3574429.546851 2200450.926900 2145248.411976 2395249.281812 2520647.316080 3917459.501190 3334980.451288 3057919.657672 1126436.000000 1100525.000000 -811821.000000 13588532.603310 13083527.221044 10798972.554367 6404601.223980 5698003.631872 5952020.777318 6748196.663272 8540482.052180 9309009.686380 10701896.185132 8731295.576750 8657844.015315 6588204.391554 4881836.576369 2172994.000000 1532725.000000 1469802.000000 16940553.969294 16775091.191981 13717060.583375 9379940.152987 7360843.103808 6853297.177677 8527758.336357 7217935.093074 6164493.688407 7070612.704500 6865298.865170 6504601.420018 6719153.515715 5237512.675191 3789687.000000 3455803.000000 3114382.000000 19019676.227701 22748651.299773 21468049.600463 14622288.077965 8840833.965492 8378371.179746 11008635.659721 9244047.765335 7868310.286515 8775353.280985 8599050.952989 8115915.925543 8311255.281959 6607997.885733 4486419.000000 3926320.000000 3235172.000000 1405297.314532 4260726.217364 6039382.223438 4531608.021944 359223.936602 809280.825757 2132909.657311 763888.620366 695084.433659 85615.766681 -781424.815807 327174.492051 466344.893687 706361.557448 271266.000000 491429.000000 -469841.000000 3736427.208202 6016608.771238 7545384.213516 5399394.243944 1591016.404358 1645292.178698 2653600.347789 1987378.442476 2021789.251641 1549664.004501 1237520.491127 1299731.078470 1614985.150831 1250603.533610 705326.000000 NaN NaN 1405297.314532 4260726.217364 6039382.223438 4531608.021944 359223.936602 809280.825757 2132909.657311 763888.620366 695084.433659 85615.766681 -781424.815807 327174.492051 466344.893687 706361.557448 271266.000000 491429.000000 -469841.000000 2208286.963756 4809124.839499 5077732.593725 2664181.082945 -550213.689470 55073.183258 957348.122798 50838.656519 91939.054880 -607731.656746 -1373861.491832 21660.865098 116452.543303 484431.520834 127376.000000 -11346.000000 -3913.000000 5673781.353325 5901279.191712 6262674.404548 5216623.032704 1929513.838089 850217.381364 1934408.478086 2018788.409131 1602614.652688 2292600.227669 1330187.486686 1715558.666979 1249385.895957 53032.416782 612476.000000 678998.000000 -4564.000000 -289365.113950 -502652.039715 -232487.728337 1831719.103847 106265.604590 -595842.773237 47878.928040 789290.497254 -408173.515297 107928.957648 169184.976267 -192036.292693 -708061.937615 1190873.399695 -181536.000000 455151.000000 7861.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 825760000.000000 826000000.000000 NaN 9746.204100 9360.761000 9030.381200 3909.494300 2092.405400 4212.342450 6249.684550 6332.279500 5588.924950 7984.178500 8397.153250 8259.495000 8259.495000 10530.856125 NaN NaN NaN 3540.000000 3400.000000 3280.000000 1420.000000 760.000000 1530.000000 2270.000000 2300.000000 2030.000000 2900.000000 3050.000000 3000.000000 3000.000000 3825.000000 NaN NaN NaN 29356061.429730 27731380.655370 24167213.096280 10572743.862990 8177835.701712 8793691.855058 8790246.729011 9210213.615872 9280247.978188 10699644.883206 10560372.679315 11528356.147935 9828554.109328 7987901.119872 3050502.000000 1100525.000000 -811821.000000 2741781.997248 2907757.321224 3441719.228344 3380709.965967 1522129.237896 1410416.880994 2265170.861332 1907200.309552 1242565.677740 1930012.824268 1526592.624775 1256331.810840 1233004.384532 1669222.334305 433039.000000 614575.000000 159424.000000 241953.535626 216885.738972 251403.717345 223331.241996 236740.734304 240865.597962 45742.429116 NaN NaN NaN NaN None None None None None None
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None 115267.049000 107904.478000 120390.576000 122407.148000 155435.120000 154466.505000 161107.849000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 278143.466000 264359.356000 269542.435000 262419.786000 206482.511000 199903.930000 203429.610000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 None None None 1.997000 1.974000 1.828000 1.814000 1.308000 1.309000 1.310000 None None None None NaN None None None None None 1.172000 1.072000 1.033000 1.210000 0.699000 0.537000 0.544000 None None None None NaN None None NaN NaN NaN 86839.444000 78355.409000 74169.643000 72372.271000 23870.410000 22439.724000 23621.044000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 173948.142000 158762.285000 163700.210000 161289.971000 101493.623000 94943.288000 99749.278000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 87108.698000 80406.876000 89530.566000 88917.700000 77623.213000 72503.564000 76128.234000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 71327.348000 71649.956000 70940.942000 53641.362000 47231.311000 56009.830000 58268.430000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 147.189000 224.208000 244.110000 NaN NaN NaN 35.264000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1634.488000 1073.554000 1449.214000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 62574.148000 60824.332000 68829.023000 70330.607000 57947.634000 58677.517000 58922.593000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 89651.801000 87684.384000 99772.844000 100011.914000 133144.255000 138006.077000 141918.039000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 162876.417000 156454.878000 149151.859000 140012.638000 51047.391000 45437.426000 42321.761000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 100287.643000 101849.807000 102292.856000 97649.202000 101747.189000 102175.913000 101709.941000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 130570.138000 114707.655000 112090.876000 106484.602000 103949.885000 107761.935000 113631.570000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 184692.659000 161660.709000 153828.141000 139351.625000 131083.726000 130073.784000 136605.549000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 20523.971000 18341.355000 15142.784000 15351.764000 12508.497000 9495.797000 9791.271000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 24221.391000 22206.902000 18812.802000 18288.391000 14108.647000 10873.891000 11133.338000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 20523.971000 18341.355000 15142.784000 15351.764000 12508.497000 9495.797000 9791.271000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 11300.748000 9505.923000 7864.938000 6178.641000 5750.754000 3591.997000 2840.922000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5509.571000 6666.933000 -14257.143000 -4560.385000 11269.340000 7629.488000 5507.511000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1390.124000 -9025.851000 -22833.804000 46687.897000 4214.702000 449.762000 1393.988000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1292808150.000000 1292808150.000000 1292808150.000000 1292570540.000000 630000000.000000 902570540.000000 902570540.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 67.226024 64.640407 71.091653 93.065079 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 52.000000 50.000000 55.000000 72.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 252528.218000 244139.262000 248924.703000 240024.552000 184191.645000 183443.502000 184239.800000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 26195.870000 24805.746000 33831.597000 56665.401000 9977.504000 5762.802000 5313.040000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN None None None None None None
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None 2953727.000000 2212725.000000 1440027.000000 1362982.000000 2731074.000000 10160043.000000 7509598.000000 3869352.000000 1201946.000000 1264639.000000 831601.000000 536559.738000 737915.640000 193550.159000 96961.292000 NaN NaN 2812734.000000 2608782.000000 2111024.000000 2478713.000000 3055106.000000 10446519.000000 8936391.000000 5306479.000000 2503171.000000 1929498.000000 1473649.000000 1298358.203000 754771.051000 359091.317000 226443.835000 NaN NaN Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 None None None 0.856000 0.999000 1.150000 1.403000 0.844000 0.946000 1.097000 1.273000 1.796000 1.326000 1.563000 1.484000 1.151000 1.371000 1.504000 None None 0.750000 0.870000 1.043000 1.141000 0.623000 0.826000 0.794000 0.937000 1.298000 0.897000 0.948000 0.922000 0.750000 0.948000 0.935000 NaN NaN -420134.000000 -3142.000000 209226.000000 519658.000000 -409901.000000 -538088.000000 717200.000000 1010675.000000 927046.000000 391523.000000 437650.000000 346109.300000 79802.352000 70129.762000 47966.205000 NaN NaN 2491320.000000 2166914.000000 1606973.000000 1808369.000000 2210364.000000 9456832.000000 8120252.000000 4717565.000000 2092380.000000 1590910.000000 1214765.000000 1061422.848000 607779.928000 259326.070000 143194.646000 NaN NaN 2911454.000000 2170056.000000 1397747.000000 1288711.000000 2620265.000000 9994920.000000 7403052.000000 3706890.000000 1165334.000000 1199387.000000 777115.000000 715313.548000 527977.576000 189196.308000 95228.441000 NaN NaN 182037.000000 138376.000000 64156.000000 95506.000000 93676.000000 262326.000000 961291.000000 349646.000000 370809.000000 315771.000000 309266.000000 237777.966000 135685.746000 67149.636000 27583.420000 NaN NaN 5679.000000 6666.000000 7352.000000 6104.000000 49626.000000 13146.000000 12480.000000 34602.000000 9532.000000 4593.000000 4094.000000 6015.411000 NaN 191.925000 145.979000 NaN NaN NaN NaN 3341.000000 22160.000000 51397.000000 104117.000000 63083.000000 138669.000000 20327.000000 56147.000000 44362.000000 16885.953000 5039.545000 1967.620000 466.667000 NaN NaN 285000.000000 40000.000000 NaN NaN 245000.000000 817923.000000 2656388.000000 1092179.000000 255000.000000 350000.000000 45337.000000 15961.846000 26338.333000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 285000.000000 43341.000000 22171.000000 51569.000000 1082372.000000 4210330.000000 3183252.000000 1871951.000000 312608.000000 440262.000000 272965.000000 118266.063000 125610.468000 30522.840000 20866.667000 NaN NaN -140993.000000 396057.000000 670997.000000 1115731.000000 324032.000000 286476.000000 1426793.000000 1437127.000000 1301225.000000 664859.000000 642048.000000 560442.562000 218211.313000 165541.157000 129482.543000 NaN NaN 263754.000000 336870.000000 429592.000000 543775.000000 657998.000000 745130.000000 755129.000000 486798.000000 370306.000000 310061.000000 242007.000000 220839.892000 134582.169000 89379.957000 80250.650000 NaN NaN 3371726.000000 2389679.000000 1348817.000000 1642358.000000 1500270.000000 4046981.000000 3026009.000000 2561089.000000 1514363.000000 1132494.000000 1101969.000000 818537.622000 554357.668000 356616.043000 244572.004000 NaN NaN 3172312.000000 2349638.000000 1036870.000000 1494671.000000 1204429.000000 3947173.000000 3725296.000000 3026989.000000 1794002.000000 1356868.000000 1350908.000000 1014502.030000 669905.664000 429063.355000 303107.369000 NaN NaN -363885.000000 -190416.000000 -464514.000000 -614271.000000 -1082033.000000 -430375.000000 497768.000000 310722.000000 182096.000000 130916.000000 176807.000000 146399.359000 77033.290000 48495.165000 42562.582000 NaN NaN -271954.000000 -88291.000000 -354321.000000 -497358.000000 -957036.000000 -306643.000000 621841.000000 397442.000000 243054.000000 180822.000000 234231.000000 194155.134000 102386.835000 68401.903000 56844.284000 NaN NaN -363885.000000 -190416.000000 -464514.000000 -614271.000000 -1082033.000000 -430375.000000 497768.000000 310722.000000 182096.000000 130916.000000 176807.000000 146399.359000 77033.290000 48495.165000 42562.582000 NaN NaN -542065.000000 -276638.000000 -451613.000000 -693366.000000 -1340079.000000 -1131849.000000 21419.000000 153791.000000 67555.000000 42222.000000 103897.000000 99215.342000 52233.546000 36486.248000 27770.706000 NaN NaN -122713.000000 -101705.000000 -216864.000000 197089.000000 1761692.000000 -341724.000000 -857235.000000 -1128265.000000 -158255.000000 -24968.000000 -43287.000000 -112217.697000 44407.666000 30836.348000 -19897.347000 NaN NaN 129384.000000 92868.000000 -265851.000000 398257.000000 -108366.000000 -40888.000000 7535.000000 75904.000000 78544.000000 13831.000000 1788.000000 -19912.184000 44619.830000 3503.348000 -7196.844000 NaN NaN 12675160000.000000 12675160000.000000 12675160000.000000 12675160000.000000 6425160000.000000 700000000.000000 700000000.000000 700000000.000000 700000000.000000 500000000.000000 500000000.000000 500000000.000000 400000000.000000 400000000.000000 400000000.000000 NaN NaN 1090.063760 1723.821760 1990.000120 2661.783600 2827.070400 679.000000 1088.500000 1722.000000 1974.000000 1510.000000 1862.500000 995.000000 NaN NaN NaN NaN NaN 86.000000 136.000000 157.000000 210.000000 440.000000 970.000000 1555.000000 2460.000000 2820.000000 3020.000000 3725.000000 1990.000000 NaN NaN NaN NaN NaN 144007.000000 439398.000000 693168.000000 1167300.000000 1406404.000000 4496806.000000 4610045.000000 3309078.000000 1613833.000000 1105121.000000 915013.000000 678708.625000 343821.782000 196063.997000 150349.210000 NaN NaN 428058.000000 298674.000000 205806.000000 471657.000000 73400.000000 181766.000000 222654.000000 215119.000000 139215.000000 60671.000000 49575.000000 48718.694000 64965.045000 20345.215000 16841.867000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN None None None None None None
ticker_col = ("exchange_ticker", "STATIC")

mask_valid = df_raw[ticker_col].notna()
df_raw = df_raw[mask_valid].copy()

print("=== Setelah drop baris tanpa exchange_ticker (STATIC) ===")
display(df_raw.head())
print("Jumlah baris (emiten) setelah filter:", len(df_raw))
=== Setelah drop baris tanpa exchange_ticker (STATIC) ===
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Total Liabilities (Rp.M) Total Assets (Rp.M) Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
time_flag STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None 137185000.000000 130480000.000000 125742000.000000 131785000.000000 126054000.000000 103958000.000000 88893000.000000 86354000.000000 74067000.000000 72745000.000000 55830000.000000 44391000.000000 50527000.000000 42073000.000000 44086000.000000 48228553.000000 47258399.000000 299675000.000000 287042000.000000 274817000.000000 277184000.000000 246943000.000000 221208000.000000 206196000.000000 198484000.000000 179611000.000000 166173000.000000 141822000.000000 127951000.000000 111369000.000000 103054000.000000 100501000.000000 97814160.000000 91256250.000000 Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN None None None 0.822000 0.777000 0.784000 0.886000 0.673000 0.715000 0.935000 1.048000 1.200000 1.353000 1.061000 1.163000 1.160000 0.958000 0.915000 0.602000 0.542000 0.692000 0.643000 0.630000 0.730000 0.510000 0.543000 0.677000 0.818000 0.993000 1.031000 0.795000 0.974000 0.965000 0.703000 0.687000 0.474000 0.420000 -13687000.000000 -15955000.000000 -15162000.000000 -7854000.000000 -22590000.000000 -16647000.000000 -2993000.000000 2185000.000000 7939000.000000 12499000.000000 1976000.000000 4638000.000000 3866000.000000 -931000.000000 -1744000.000000 -10707101.000000 -12375841.000000 63080000.000000 55613000.000000 55073000.000000 61277000.000000 46503000.000000 41722000.000000 43268000.000000 47561000.000000 47701000.000000 47912000.000000 34294000.000000 33075000.000000 27973000.000000 21258000.000000 18729000.000000 16186024.000000 14622310.000000 76767000.000000 71568000.000000 70235000.000000 69131000.000000 69093000.000000 58369000.000000 46261000.000000 45376000.000000 39762000.000000 35413000.000000 32318000.000000 28437000.000000 24107000.000000 22189000.000000 20473000.000000 26893125.000000 26998151.000000 1096000.000000 997000.000000 1144000.000000 779000.000000 983000.000000 585000.000000 717000.000000 631000.000000 584000.000000 528000.000000 474000.000000 509000.000000 579000.000000 758000.000000 515000.000000 435244.000000 511950.000000 6655000.000000 6520000.000000 7124000.000000 5108000.000000 4993000.000000 5471000.000000 5218000.000000 1576000.000000 1463000.000000 2147000.000000 641000.000000 1186000.000000 849000.000000 731000.000000 883000.000000 722850.000000 1875773.000000 25518000.000000 27773000.000000 27331000.000000 36319000.000000 30561000.000000 32293000.000000 31410000.000000 24964000.000000 23015000.000000 26229000.000000 11525000.000000 10410000.000000 11803000.000000 12644000.000000 16246000.000000 14249575.000000 11444575.000000 11525000.000000 9650000.000000 8191000.000000 6682000.000000 9934000.000000 8705000.000000 4043000.000000 2289000.000000 911000.000000 602000.000000 1810000.000000 432000.000000 37000.000000 100000.000000 56000.000000 43850.000000 46000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 76868000.000000 68124000.000000 62853000.000000 69078000.000000 65462000.000000 52084000.000000 44087000.000000 35472000.000000 31799000.000000 34612000.000000 23452000.000000 20256000.000000 19275000.000000 17871000.000000 21910000.000000 21329926.000000 17584731.000000 162490000.000000 156562000.000000 149075000.000000 145399000.000000 120889000.000000 117250000.000000 117303000.000000 112130000.000000 105544000.000000 93428000.000000 85992000.000000 77424000.000000 66978000.000000 60981000.000000 56415000.000000 49585607.000000 43997851.000000 207476000.000000 203339000.000000 193022000.000000 183495000.000000 179489000.000000 156973000.000000 143248000.000000 130171000.000000 114498000.000000 103700000.000000 94809000.000000 86761000.000000 77047000.000000 74897000.000000 75832000.000000 76419897.000000 71066244.000000 60010000.000000 58238000.000000 54658000.000000 53530000.000000 50675000.000000 60315000.000000 61252000.000000 53119000.000000 47465000.000000 42893000.000000 35651000.000000 32803000.000000 29602000.000000 27992000.000000 25400000.000000 23565712.000000 22159917.000000 149967000.000000 149216000.000000 147306000.000000 143210000.000000 136462000.000000 135567000.000000 130784000.000000 128256000.000000 116333000.000000 102470000.000000 89696000.000000 82967000.000000 77143000.000000 71253000.000000 69177000.000000 67677518.000000 64166429.000000 43129000.000000 44885000.000000 45202000.000000 43318000.000000 43332000.000000 42283000.000000 38624000.000000 43727000.000000 40000000.000000 33694000.000000 29813000.000000 28589000.000000 26667000.000000 23248000.000000 22894000.000000 23831275.000000 23225173.000000 67694000.000000 70054000.000000 71042000.000000 75032000.000000 65522000.000000 64296000.000000 58804000.000000 63136000.000000 58532000.000000 52228000.000000 46139000.000000 43773000.000000 40876000.000000 37548000.000000 37506000.000000 37787661.000000 35538389.000000 43129000.000000 44885000.000000 45202000.000000 43318000.000000 43332000.000000 42283000.000000 38624000.000000 43727000.000000 40000000.000000 33694000.000000 29813000.000000 28589000.000000 26667000.000000 23248000.000000 22894000.000000 23831275.000000 23225173.000000 30743000.000000 32208000.000000 27720000.000000 34099000.000000 29563000.000000 27592000.000000 26979000.000000 32701000.000000 29172000.000000 23317000.000000 21274000.000000 20290000.000000 18362000.000000 15470000.000000 15870000.000000 16042898.000000 14725429.000000 61600000.000000 60581000.000000 73354000.000000 68353000.000000 65317000.000000 54949000.000000 45671000.000000 49405000.000000 47231000.000000 43669000.000000 37736000.000000 36574000.000000 27941000.000000 30553000.000000 27759000.000000 29811604.000000 24553925.000000 4898000.000000 -2940000.000000 -6364000.000000 17722000.000000 2347000.000000 803000.000000 -7706000.000000 -4622000.000000 1650000.000000 10445000.000000 2976000.000000 1578000.000000 3484000.000000 514000.000000 1315000.000000 915515.000000 -3250846.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 99062216600.000000 98198216600.000000 98175853600.000000 97100853600.000000 95745344100.000000 96931696596.000000 98347123896.000000 98347123896.000000 98347123896.000000 268458.606986 391295.755570 371483.312250 400211.355064 327895.936946 393276.999902 371483.312250 439836.241704 394267.622068 304836.025428 281273.820564 208766.835240 173339.797814 137673.219768 156371.926995 185876.064163 135790.870326 2710.000000 3950.000000 3750.000000 4040.000000 3310.000000 3970.000000 3750.000000 4440.000000 3980.000000 3105.000000 2865.000000 2150.000000 1810.000000 1410.000000 1590.000000 1890.000000 1380.000000 239358000.000000 224686000.000000 211928000.000000 214477000.000000 186351000.000000 169334000.000000 161390000.000000 147602000.000000 137343000.000000 128040000.000000 109444000.000000 97680000.000000 86253000.000000 78852000.000000 78325000.000000 70915533.000000 61582582.000000 35027000.000000 30430000.000000 32883000.000000 38740000.000000 21818000.000000 18620000.000000 18590000.000000 26638000.000000 31001000.000000 28566000.000000 18036000.000000 21256000.000000 17428000.000000 9995000.000000 9490000.000000 8164967.000000 7156989.000000 9442000.000000 8731000.000000 8302000.000000 7506000.000000 6846000.000000 6446000.000000 5032000.000000 NaN NaN NaN NaN None None None None None None
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None 9131.515000 22395.996000 37928.982000 33821.027000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 66918.151000 77129.464000 43686.326000 36584.088000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 None None None 3.171000 1.849000 0.397000 0.279000 None None None None None None None NaN None None None None None 2.532000 0.891000 0.259000 0.116000 None None None None None None None NaN None None NaN NaN NaN 18470.909000 16160.048000 -15748.231000 -13908.977000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 26979.387000 35187.194000 10379.496000 5381.327000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8508.479000 19027.146000 26127.727000 19290.304000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5217.791000 18152.157000 2309.696000 1102.312000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 28.664000 14.360000 4.889000 16.514000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2835.577000 9595.659000 15429.582000 17861.356000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 57786.636000 54733.468000 5757.344000 2763.062000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 29813.794000 27877.647000 26738.757000 25626.326000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40843.331000 37002.120000 32303.664000 30325.181000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 54702.368000 52931.736000 44150.214000 36215.903000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2629.162000 5081.433000 3948.041000 -4738.235000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4465.941000 6785.251000 5446.039000 -3352.747000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2629.162000 5081.433000 3948.041000 -4738.235000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 899.758000 2288.792000 2052.793000 -4690.516000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8343.775000 -26767.823000 7568.441000 1967.910000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN -2271.124000 5946.648000 539.116000 -32.844000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1543043824.000000 1537579370.000000 1229546000.000000 571400000.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 948.817070 55.351773 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 615.000000 36.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 60622.214000 64329.128000 21186.926000 20624.418000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4249.362000 6520.486000 573.838000 34.722000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10041.786000 9556.735000 5626.787000 4095.608000 NaN NaN NaN NaN NaN NaN NaN None None None None None None
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None 20093470.573188 21545086.944192 21197974.640881 9685324.903374 9268917.351480 8427827.077252 8713242.360857 11934035.187236 12314807.459430 14025286.606475 11507764.542355 8840383.482359 10840297.762755 7019323.859661 3763830.000000 3099452.000000 4360950.000000 33732579.888996 33243187.213530 30787462.520356 14769924.153273 11521759.429112 11820817.650070 12287671.907708 14134486.114136 14460055.871406 16420535.888287 14028411.858435 14757757.263945 12175363.933647 10077243.517333 4890266.000000 4199977.000000 3549129.000000 Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 None None None 1.067000 0.986000 1.145000 1.652000 1.196000 1.204000 1.460000 1.597000 0.792000 0.883000 0.982000 0.996000 1.226000 1.362000 0.893000 1.113000 0.592000 0.905000 0.844000 0.792000 1.341000 0.969000 0.992000 1.275000 1.328000 0.653000 0.751000 0.820000 0.813000 1.007000 1.088000 0.700000 0.879000 0.430000 540116.972988 -138088.846896 1393425.586718 2785291.548858 716862.070496 610980.039406 1477581.268563 1720113.072412 -1048360.536690 -622368.364089 -75076.681040 -19818.463770 820288.622790 1134634.650895 -252891.000000 203475.000000 -953832.000000 8603535.372060 9598638.433986 10973792.911797 7055017.392177 4375629.087504 3608327.316374 4690972.433270 4601979.099836 4002183.122758 4692284.395771 4203180.206570 4670518.461795 4449825.549909 4270489.900468 2106194.000000 2001334.000000 1384649.000000 8063418.399072 9736727.280882 9580367.325079 4269725.843319 3658767.017008 2997347.276968 3213391.164707 2881866.027424 5050543.659448 5314652.759860 4278256.887610 4690336.925565 3629536.927119 3135855.249573 2359085.000000 1797859.000000 2338481.000000 976088.594994 821228.155566 864077.600244 565420.432554 525300.327976 411458.649184 441376.280596 406041.471732 345572.528640 293631.497503 310286.074145 499804.401930 442934.444820 414473.810135 301356.000000 233936.000000 241667.000000 77287.962918 47921.324472 68165.694646 145468.209915 43412.280696 124924.565348 78087.463339 208496.797292 304715.857400 359407.215314 308703.011060 234000.429255 171860.938376 26318.699181 11526.000000 NaN NaN 10650442.128438 10137708.047964 10408734.918322 4363219.444311 4815187.839656 4751102.996552 4920968.773924 6569397.072784 4716889.153288 5460877.970722 5966403.514665 4363521.366120 3501077.172306 2832092.967225 841659.000000 NaN NaN 1725644.443698 1070033.159496 932422.887775 66960.900000 557120.000000 484330.000000 NaN NaN 579496.717636 675321.089765 323324.159965 740148.951675 520493.454485 494015.259308 292208.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 15716952.113922 16033280.386032 14577725.216805 5488144.613091 5924993.624080 5400701.282240 5215817.182160 7009762.688972 7134999.566212 8304395.601394 8039725.363235 7610896.646745 6493573.658040 4929981.462200 1924066.000000 0.000000 0.000000 13639109.315808 11698100.269338 9589487.879475 5084599.249899 2252842.077632 3392990.572818 3574429.546851 2200450.926900 2145248.411976 2395249.281812 2520647.316080 3917459.501190 3334980.451288 3057919.657672 1126436.000000 1100525.000000 -811821.000000 13588532.603310 13083527.221044 10798972.554367 6404601.223980 5698003.631872 5952020.777318 6748196.663272 8540482.052180 9309009.686380 10701896.185132 8731295.576750 8657844.015315 6588204.391554 4881836.576369 2172994.000000 1532725.000000 1469802.000000 16940553.969294 16775091.191981 13717060.583375 9379940.152987 7360843.103808 6853297.177677 8527758.336357 7217935.093074 6164493.688407 7070612.704500 6865298.865170 6504601.420018 6719153.515715 5237512.675191 3789687.000000 3455803.000000 3114382.000000 19019676.227701 22748651.299773 21468049.600463 14622288.077965 8840833.965492 8378371.179746 11008635.659721 9244047.765335 7868310.286515 8775353.280985 8599050.952989 8115915.925543 8311255.281959 6607997.885733 4486419.000000 3926320.000000 3235172.000000 1405297.314532 4260726.217364 6039382.223438 4531608.021944 359223.936602 809280.825757 2132909.657311 763888.620366 695084.433659 85615.766681 -781424.815807 327174.492051 466344.893687 706361.557448 271266.000000 491429.000000 -469841.000000 3736427.208202 6016608.771238 7545384.213516 5399394.243944 1591016.404358 1645292.178698 2653600.347789 1987378.442476 2021789.251641 1549664.004501 1237520.491127 1299731.078470 1614985.150831 1250603.533610 705326.000000 NaN NaN 1405297.314532 4260726.217364 6039382.223438 4531608.021944 359223.936602 809280.825757 2132909.657311 763888.620366 695084.433659 85615.766681 -781424.815807 327174.492051 466344.893687 706361.557448 271266.000000 491429.000000 -469841.000000 2208286.963756 4809124.839499 5077732.593725 2664181.082945 -550213.689470 55073.183258 957348.122798 50838.656519 91939.054880 -607731.656746 -1373861.491832 21660.865098 116452.543303 484431.520834 127376.000000 -11346.000000 -3913.000000 5673781.353325 5901279.191712 6262674.404548 5216623.032704 1929513.838089 850217.381364 1934408.478086 2018788.409131 1602614.652688 2292600.227669 1330187.486686 1715558.666979 1249385.895957 53032.416782 612476.000000 678998.000000 -4564.000000 -289365.113950 -502652.039715 -232487.728337 1831719.103847 106265.604590 -595842.773237 47878.928040 789290.497254 -408173.515297 107928.957648 169184.976267 -192036.292693 -708061.937615 1190873.399695 -181536.000000 455151.000000 7861.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 2753165000.000000 825760000.000000 826000000.000000 NaN 9746.204100 9360.761000 9030.381200 3909.494300 2092.405400 4212.342450 6249.684550 6332.279500 5588.924950 7984.178500 8397.153250 8259.495000 8259.495000 10530.856125 NaN NaN NaN 3540.000000 3400.000000 3280.000000 1420.000000 760.000000 1530.000000 2270.000000 2300.000000 2030.000000 2900.000000 3050.000000 3000.000000 3000.000000 3825.000000 NaN NaN NaN 29356061.429730 27731380.655370 24167213.096280 10572743.862990 8177835.701712 8793691.855058 8790246.729011 9210213.615872 9280247.978188 10699644.883206 10560372.679315 11528356.147935 9828554.109328 7987901.119872 3050502.000000 1100525.000000 -811821.000000 2741781.997248 2907757.321224 3441719.228344 3380709.965967 1522129.237896 1410416.880994 2265170.861332 1907200.309552 1242565.677740 1930012.824268 1526592.624775 1256331.810840 1233004.384532 1669222.334305 433039.000000 614575.000000 159424.000000 241953.535626 216885.738972 251403.717345 223331.241996 236740.734304 240865.597962 45742.429116 NaN NaN NaN NaN None None None None None None
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None 115267.049000 107904.478000 120390.576000 122407.148000 155435.120000 154466.505000 161107.849000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 278143.466000 264359.356000 269542.435000 262419.786000 206482.511000 199903.930000 203429.610000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 None None None 1.997000 1.974000 1.828000 1.814000 1.308000 1.309000 1.310000 None None None None NaN None None None None None 1.172000 1.072000 1.033000 1.210000 0.699000 0.537000 0.544000 None None None None NaN None None NaN NaN NaN 86839.444000 78355.409000 74169.643000 72372.271000 23870.410000 22439.724000 23621.044000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 173948.142000 158762.285000 163700.210000 161289.971000 101493.623000 94943.288000 99749.278000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 87108.698000 80406.876000 89530.566000 88917.700000 77623.213000 72503.564000 76128.234000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 71327.348000 71649.956000 70940.942000 53641.362000 47231.311000 56009.830000 58268.430000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 147.189000 224.208000 244.110000 NaN NaN NaN 35.264000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1634.488000 1073.554000 1449.214000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 62574.148000 60824.332000 68829.023000 70330.607000 57947.634000 58677.517000 58922.593000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 89651.801000 87684.384000 99772.844000 100011.914000 133144.255000 138006.077000 141918.039000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 162876.417000 156454.878000 149151.859000 140012.638000 51047.391000 45437.426000 42321.761000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 100287.643000 101849.807000 102292.856000 97649.202000 101747.189000 102175.913000 101709.941000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 130570.138000 114707.655000 112090.876000 106484.602000 103949.885000 107761.935000 113631.570000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 184692.659000 161660.709000 153828.141000 139351.625000 131083.726000 130073.784000 136605.549000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 20523.971000 18341.355000 15142.784000 15351.764000 12508.497000 9495.797000 9791.271000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 24221.391000 22206.902000 18812.802000 18288.391000 14108.647000 10873.891000 11133.338000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 20523.971000 18341.355000 15142.784000 15351.764000 12508.497000 9495.797000 9791.271000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 11300.748000 9505.923000 7864.938000 6178.641000 5750.754000 3591.997000 2840.922000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5509.571000 6666.933000 -14257.143000 -4560.385000 11269.340000 7629.488000 5507.511000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1390.124000 -9025.851000 -22833.804000 46687.897000 4214.702000 449.762000 1393.988000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1292808150.000000 1292808150.000000 1292808150.000000 1292570540.000000 630000000.000000 902570540.000000 902570540.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 67.226024 64.640407 71.091653 93.065079 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 52.000000 50.000000 55.000000 72.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 252528.218000 244139.262000 248924.703000 240024.552000 184191.645000 183443.502000 184239.800000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 26195.870000 24805.746000 33831.597000 56665.401000 9977.504000 5762.802000 5313.040000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN None None None None None None
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None 2953727.000000 2212725.000000 1440027.000000 1362982.000000 2731074.000000 10160043.000000 7509598.000000 3869352.000000 1201946.000000 1264639.000000 831601.000000 536559.738000 737915.640000 193550.159000 96961.292000 NaN NaN 2812734.000000 2608782.000000 2111024.000000 2478713.000000 3055106.000000 10446519.000000 8936391.000000 5306479.000000 2503171.000000 1929498.000000 1473649.000000 1298358.203000 754771.051000 359091.317000 226443.835000 NaN NaN Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 None None None 0.856000 0.999000 1.150000 1.403000 0.844000 0.946000 1.097000 1.273000 1.796000 1.326000 1.563000 1.484000 1.151000 1.371000 1.504000 None None 0.750000 0.870000 1.043000 1.141000 0.623000 0.826000 0.794000 0.937000 1.298000 0.897000 0.948000 0.922000 0.750000 0.948000 0.935000 NaN NaN -420134.000000 -3142.000000 209226.000000 519658.000000 -409901.000000 -538088.000000 717200.000000 1010675.000000 927046.000000 391523.000000 437650.000000 346109.300000 79802.352000 70129.762000 47966.205000 NaN NaN 2491320.000000 2166914.000000 1606973.000000 1808369.000000 2210364.000000 9456832.000000 8120252.000000 4717565.000000 2092380.000000 1590910.000000 1214765.000000 1061422.848000 607779.928000 259326.070000 143194.646000 NaN NaN 2911454.000000 2170056.000000 1397747.000000 1288711.000000 2620265.000000 9994920.000000 7403052.000000 3706890.000000 1165334.000000 1199387.000000 777115.000000 715313.548000 527977.576000 189196.308000 95228.441000 NaN NaN 182037.000000 138376.000000 64156.000000 95506.000000 93676.000000 262326.000000 961291.000000 349646.000000 370809.000000 315771.000000 309266.000000 237777.966000 135685.746000 67149.636000 27583.420000 NaN NaN 5679.000000 6666.000000 7352.000000 6104.000000 49626.000000 13146.000000 12480.000000 34602.000000 9532.000000 4593.000000 4094.000000 6015.411000 NaN 191.925000 145.979000 NaN NaN NaN NaN 3341.000000 22160.000000 51397.000000 104117.000000 63083.000000 138669.000000 20327.000000 56147.000000 44362.000000 16885.953000 5039.545000 1967.620000 466.667000 NaN NaN 285000.000000 40000.000000 NaN NaN 245000.000000 817923.000000 2656388.000000 1092179.000000 255000.000000 350000.000000 45337.000000 15961.846000 26338.333000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 285000.000000 43341.000000 22171.000000 51569.000000 1082372.000000 4210330.000000 3183252.000000 1871951.000000 312608.000000 440262.000000 272965.000000 118266.063000 125610.468000 30522.840000 20866.667000 NaN NaN -140993.000000 396057.000000 670997.000000 1115731.000000 324032.000000 286476.000000 1426793.000000 1437127.000000 1301225.000000 664859.000000 642048.000000 560442.562000 218211.313000 165541.157000 129482.543000 NaN NaN 263754.000000 336870.000000 429592.000000 543775.000000 657998.000000 745130.000000 755129.000000 486798.000000 370306.000000 310061.000000 242007.000000 220839.892000 134582.169000 89379.957000 80250.650000 NaN NaN 3371726.000000 2389679.000000 1348817.000000 1642358.000000 1500270.000000 4046981.000000 3026009.000000 2561089.000000 1514363.000000 1132494.000000 1101969.000000 818537.622000 554357.668000 356616.043000 244572.004000 NaN NaN 3172312.000000 2349638.000000 1036870.000000 1494671.000000 1204429.000000 3947173.000000 3725296.000000 3026989.000000 1794002.000000 1356868.000000 1350908.000000 1014502.030000 669905.664000 429063.355000 303107.369000 NaN NaN -363885.000000 -190416.000000 -464514.000000 -614271.000000 -1082033.000000 -430375.000000 497768.000000 310722.000000 182096.000000 130916.000000 176807.000000 146399.359000 77033.290000 48495.165000 42562.582000 NaN NaN -271954.000000 -88291.000000 -354321.000000 -497358.000000 -957036.000000 -306643.000000 621841.000000 397442.000000 243054.000000 180822.000000 234231.000000 194155.134000 102386.835000 68401.903000 56844.284000 NaN NaN -363885.000000 -190416.000000 -464514.000000 -614271.000000 -1082033.000000 -430375.000000 497768.000000 310722.000000 182096.000000 130916.000000 176807.000000 146399.359000 77033.290000 48495.165000 42562.582000 NaN NaN -542065.000000 -276638.000000 -451613.000000 -693366.000000 -1340079.000000 -1131849.000000 21419.000000 153791.000000 67555.000000 42222.000000 103897.000000 99215.342000 52233.546000 36486.248000 27770.706000 NaN NaN -122713.000000 -101705.000000 -216864.000000 197089.000000 1761692.000000 -341724.000000 -857235.000000 -1128265.000000 -158255.000000 -24968.000000 -43287.000000 -112217.697000 44407.666000 30836.348000 -19897.347000 NaN NaN 129384.000000 92868.000000 -265851.000000 398257.000000 -108366.000000 -40888.000000 7535.000000 75904.000000 78544.000000 13831.000000 1788.000000 -19912.184000 44619.830000 3503.348000 -7196.844000 NaN NaN 12675160000.000000 12675160000.000000 12675160000.000000 12675160000.000000 6425160000.000000 700000000.000000 700000000.000000 700000000.000000 700000000.000000 500000000.000000 500000000.000000 500000000.000000 400000000.000000 400000000.000000 400000000.000000 NaN NaN 1090.063760 1723.821760 1990.000120 2661.783600 2827.070400 679.000000 1088.500000 1722.000000 1974.000000 1510.000000 1862.500000 995.000000 NaN NaN NaN NaN NaN 86.000000 136.000000 157.000000 210.000000 440.000000 970.000000 1555.000000 2460.000000 2820.000000 3020.000000 3725.000000 1990.000000 NaN NaN NaN NaN NaN 144007.000000 439398.000000 693168.000000 1167300.000000 1406404.000000 4496806.000000 4610045.000000 3309078.000000 1613833.000000 1105121.000000 915013.000000 678708.625000 343821.782000 196063.997000 150349.210000 NaN NaN 428058.000000 298674.000000 205806.000000 471657.000000 73400.000000 181766.000000 222654.000000 215119.000000 139215.000000 60671.000000 49575.000000 48718.694000 64965.045000 20345.215000 16841.867000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN None None None None None None
Jumlah baris (emiten) setelah filter: 924
# mask STATIC
static_mask = df_raw.columns.get_level_values("time_flag") == "STATIC"

df_static = df_raw.loc[:, static_mask].copy()

print("=== df_static (masih 2-level header, semua STATIC) ===")
display(df_static.head())

# flatten
# ambil level 'STATIC' → tinggal nama variable saja
df_static = df_static.xs("STATIC", axis=1, level="time_flag")

print("=== df_static setelah flatten (1 header, 1 baris per emiten) ===")
display(df_static.head())
=== df_static (masih 2-level header, semua STATIC) ===
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year
time_flag STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC STATIC
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN None None None
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 None None None
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 None None None
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 None None None
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 None None None
=== df_static setelah flatten (1 header, 1 baris per emiten) ===
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN None None None
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 None None None
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 None None None
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 None None None
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 None None None
all_flags = df_raw.columns.get_level_values("time_flag")
years = sorted({
    f for f in all_flags
    if (str(f) != "STATIC") and pd.notna(f)
})

print("=== Daftar Year unik (String) ===")
print(years)
=== Daftar Year unik (String) ===
['2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024']
panel_frames = []

for y in years:
    # Ambil semua kolom yang time_flag = y  (misal 2024)
    df_y = df_raw.xs(y, axis=1, level="time_flag")

    # Gabung dengan kolom STATIC (company_name, industry, dll)
    tmp = pd.concat([df_static, df_y], axis=1)

    # Tambahkan kolom Year
    tmp = tmp.copy()
    # Kalau mau int:
    tmp["Year"] = pd.to_numeric(y, errors="ignore")

    panel_frames.append(tmp)

# Gabungkan semua year jadi 1 DataFrame panjang
df_final = pd.concat(panel_frames, ignore_index=True)

print("=== df_final (panel awal, sebelum filter) ===")
display(df_final.head())
print("Shape df_final:", df_final.shape)
=== df_final (panel awal, sebelum filter) ===
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:13: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  tmp["Year"] = pd.to_numeric(y, errors="ignore")
/tmp/ipykernel_2095/1820188604.py:18: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_final = pd.concat(panel_frames, ignore_index=True)
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) Year
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN None None None 47258399.000000 91256250.000000 0.542000 0.420000 -12375841.000000 14622310.000000 26998151.000000 511950.000000 1875773.000000 11444575.000000 46000.000000 NaN 17584731.000000 43997851.000000 71066244.000000 22159917.000000 64166429.000000 23225173.000000 35538389.000000 23225173.000000 14725429.000000 24553925.000000 -3250846.000000 98347123896.000000 135790.870326 1380.000000 61582582.000000 7156989.000000 NaN 2008
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 None None None 4360950.000000 3549129.000000 0.592000 0.430000 -953832.000000 1384649.000000 2338481.000000 241667.000000 NaN NaN NaN NaN 0.000000 -811821.000000 1469802.000000 3114382.000000 3235172.000000 -469841.000000 NaN -469841.000000 -3913.000000 -4564.000000 7861.000000 NaN NaN NaN -811821.000000 159424.000000 NaN 2008
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
Shape df_final: (15708, 91)
# Buang baris yang mungkin masih ada NaN di exchange_ticker atau Year
df_final = df_final[
    df_final["exchange_ticker"].notna() &
    df_final["Year"].notna()
].copy()

print("=== df_final setelah filter ticker & Year non-NaN ===")
display(df_final.head(20))

print("Total baris:", len(df_final))
print("Jumlah emiten unik:", df_final["exchange_ticker"].nunique())
print("Jumlah Year unik:", df_final["Year"].nunique())
=== df_final setelah filter ticker & Year non-NaN ===
variable Entity Name Entity ID Exchange exchange_ticker Primary Industry 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Date MM/dd/yyyy IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) Year
0 Perusahaan Perseroan (Persero) PT Telekomunika... 4210975 IDX IDX:TLKM Integrated Telecommunication Services Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaT NaN None None None 47258399.000000 91256250.000000 0.542000 0.420000 -12375841.000000 14622310.000000 26998151.000000 511950.000000 1875773.000000 11444575.000000 46000.000000 NaN 17584731.000000 43997851.000000 71066244.000000 22159917.000000 64166429.000000 23225173.000000 35538389.000000 23225173.000000 14725429.000000 24553925.000000 -3250846.000000 98347123896.000000 135790.870326 1380.000000 61582582.000000 7156989.000000 NaN 2008
1 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 109420637 IDX IDX:PACK Packaging and Materials: Paper and Plastic Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 2023-02-06 162.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
2 PT ABM Investama Tbk (IDX:ABMM) 4980353 IDX IDX:ABMM Coal and Consumable Fuels Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 2011-12-05 3750.000000 None None None 4360950.000000 3549129.000000 0.592000 0.430000 -953832.000000 1384649.000000 2338481.000000 241667.000000 NaN NaN NaN NaN 0.000000 -811821.000000 1469802.000000 3114382.000000 3235172.000000 -469841.000000 NaN -469841.000000 -3913.000000 -4564.000000 7861.000000 NaN NaN NaN -811821.000000 159424.000000 NaN 2008
3 PT Ace Oldfields Tbk (IDX:KUAS) 7649048 IDX IDX:KUAS Building Products Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 2021-10-25 195.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
4 PT Acset Indonusa Tbk (IDX:ACST) 4990054 IDX IDX:ACST Construction and Engineering Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2013-06-20 2500.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
5 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 4422654 IDX IDX:AADI Coal and Consumable Fuels Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 2024-12-03 5550.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
6 PT Adhi Commuter Properti Tbk (IDX:ADCP) 13992197 IDX IDX:ADCP Real Estate Development Real Estate Indonesia Jalan Pengantin Ali No. 88 Ciracas www.adcp.co.id PT Adhi Commuter Properti Tbk operates as a ma... Public Company None Operating Subsidiary None No None None Yes No No PT Adhi Commuter Properti Tbk operates in the ... Smart Building; Real Estate Technology Property Management, Real Estate 2018.000000 2018-03-09 00:00:00 NaN NaT Dec 2025-09-01 Real Estate Development Real Estate Management and Development Real Estate Development None Real Estate Real Estate Management and Development Real Estate Management and Development Jakarta Timur PT Adhi Karya (Persero) Tbk ADHI IDX:ADHI NA% Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia PT Adhi Karya (Persero) Tbk (Current Subsidiar... NaN NaN NaN 0.000000 330700.000000 17.857800 2022-02-21 130.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
7 PT Adhi Kartiko Pratama Tbk (IDX:NICE) 114680692 IDX IDX:NICE Diversified Metals and Mining Materials Indonesia Jalan Sorumba Nomor 80 www.akp.co.id PT Adhi Kartiko Pratama Tbk operates as a nick... Public Company None Operating Subsidiary Stock Corporation No Full Consolidated Yes No No PT Adhi Kartiko Pratama Tbk operates as a nick... Marine Transportation; Mining Technology Mining 2008.000000 2008-07-09 00:00:00 2008.000000 2008-07-09 Dec 2025-09-01 Diversified Metals and Mining; Diversified Met... Metals and Mining Diversified Metals and Mining None Materials Materials Metals and Mining Kendari PT. Energy Battery Indonesia None None 0.600000 Jakarta Selatan Unclassified LX International Corp. A001120 KOSE:A001120 Seoul Trading Companies and Distributors South Korea PT Indo Tambangraya Megah Tbk (Current Investm... 0.150000 9382800.000000 3828.182400 NaN NaN NaN 2024-01-05 438.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
8 PT Adhi Karya (Persero) Tbk (IDX:ADHI) 4995632 IDX IDX:ADHI Construction and Engineering Industrials Indonesia Jalan Raya Pasar Minggu Km. 18 adhi.co.id PT Adhi Karya (Persero) Tbk engages in the con... Public Company None Operating None No None None Yes No No None Environmental Engineering Construction,Infrastructure,Real Estate 1960.000000 1960-03-11 00:00:00 NaN NaT Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta Indonesia None None NA% Jakarta Diversified Support Services Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Current Investment, Majority) 0.260000 21597230.000000 5528.890880 0.060000 5119600.000000 1310.617600 NaT NaN None None None 4525468.985000 5125368.542000 1.174000 0.856000 689925.514000 4652976.411000 3963050.897000 606987.785000 15869.334000 498313.341000 217249.869000 NaN 820626.327000 599899.556000 247790.039000 6095668.547000 6639941.611000 192704.468000 223441.322000 192704.468000 82994.360000 -3306.168000 -419393.749000 1769847500.000000 486.356400 270.000000 1420525.883000 365762.580000 NaN 2008
9 PT Adi Sarana Armada Tbk (IDX:ASSA) 4994188 IDX IDX:ASSA Passenger Ground Transportation Industrials Indonesia Graha Kirana Building www.assarent.co.id PT Adi Sarana Armada Tbk provides corporate ca... Public Company None Operating None No None None Yes No No None Fleet Management; Freight Service; Car Sharing Logistics,Railroad,Transportation 1999.000000 1999-12-17 00:00:00 NaN NaT Dec 2025-09-01 Passenger Ground Transportation; Motor Vehicle... Transportation Passenger Ground Transportation None Industrials Transportation Ground Transportation Jakarta Utara None None None NA% None None None None None None None None PT Triputra Investindo Arya (Prior Investment,... 8.180000 302116753.000000 332328.428300 23.460000 866110656.000000 952721.721600 2012-11-08 390.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
10 PT Adira Dinamika Multi Finance Tbk (IDX:ADMF) 4310851 IDX IDX:ADMF Specialty Finance: Consumer Focused Financials Indonesia Millennium Centennial Center adira.co.id PT Adira Dinamika Multi Finance Tbk provides c... Public Company None Operating Subsidiary Stock Corporation No Summary Consolidated Yes No No PT Adira Dinamika Multi Finance Tbk provides c... Consumer Lending; Micro Lending Financial Services 1990.000000 1990-11-13 00:00:00 NaN NaT Dec 2025-09-01 Specialty Finance: Consumer Focused Specialty Finance Specialty Finance: Consumer Focused None Financials Financial Services Consumer Finance Jakarta Selatan PT Bank Danamon Indonesia Tbk BDMN IDX:BDMN 0.920700 Jakarta Selatan Bank Mitsubishi UFJ Financial Group, Inc. 8306 TSE:8306 Tokyo Bank Japan MUFG Bank, Ltd. (Prior Subsidiary or Operating... 0.440000 4366312.000000 38423.545600 NaN NaN NaN NaT NaN None None None 1642021.000000 3592024.000000 2.395000 2.278000 1417431.000000 2433353.000000 1015922.000000 NaN NaN 254534.000000 NaN NaN 844876.000000 1950003.000000 155195.000000 749482.000000 2930949.000000 1406208.000000 NaN NaN 1020233.000000 -3207435.000000 97892.000000 1000000000.000000 1450.000000 1450.000000 2794879.000000 474195.000000 NaN 2008
11 PT Adiwarna Anugerah Abadi Tbk (IDX:NAIK) 12731053 IDX IDX:NAIK Office Services and Supplies Industrials Indonesia Perkantoran Mutiara Taman Palem No.53 www.adiwarna.co.id PT Adiwarna Anugerah Abadi Tbk designs, suppli... Public Company None Operating Subsidiary None No None None Yes No No None Environment, Health and Safety (EH&S) None 2007.000000 2007-05-08 00:00:00 NaN NaT None 2025-09-01 Office Services and Supplies Commercial and Professional Services Office Services and Supplies None Industrials Commercial and Professional Services Commercial Services and Supplies Jakarta Barat PT Adiwarna Anugerah Investama None None 0.725800 None Unclassified PT Adiwarna Anugerah Investama None None None Unclassified Indonesia PT Adiwarna Anugerah Investama (Current Subsid... 0.040000 1392000.000000 175.392000 20.610000 685616400.000000 86387.666400 2024-11-11 107.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
12 PT Aesler Grup Internasional Tbk (IDX:RONY) 20023601 IDX IDX:RONY Construction and Engineering Industrials Indonesia Noble House Building None PT Aesler Grup Internasional Tbk provides arch... Public Company None Operating None No None None Yes No No PT Aesler Grup Internasional Tbk (PT Aesler) o... Sensors Architecture, Construction 2017.000000 2017-08-04 00:00:00 NaN NaT Dec NaT Construction and Engineering; Construction Sup... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta Selatan None None None NA% None None None None None None None None Honour Accord Limited (Pending Acquisition or ... NaN NaN NaN 0.000000 0.000000 NaN 2020-04-07 100.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
13 PT Agro Bahari Nusantara Tbk (IDX:UDNG) 114111620 IDX IDX:UDNG Packaged Foods and Meats Producers Consumer Indonesia Ruko Shibuya SBC 012 PIK 2 abn.farm PT Agro Bahari Nusantara Tbk, together with it... Public Company None Operating None No None None Yes No No PT Agro Bahari Nusantara Tbk operates primaril... Aquaculture Aquaculture, Food Processing 2019.000000 2019-04-01 00:00:00 NaN NaT Dec 2025-09-01 Packaged Foods and Meats Producers; Seafood, S... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Tangerang None None None NA% None None None None None None None None PT Adrina Abdi Wisesa (Current Investment, Min... NaN NaN NaN 71.430000 1250000000.000000 4337500.000000 2023-10-27 100.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
14 PT Agro Yasa Lestari Tbk (IDX:AYLS) 12884080 IDX IDX:AYLS Trading Companies and Distributors Industrials Indonesia Gondangdia Lama Building 25 agroyasalestari.com PT Agro Yasa Lestari Tbk designs, supplies, an... Public Company None Operating Subsidiary None No None None Yes No No None None Civil Engineering, Construction 2010.000000 2010-02-15 00:00:00 NaN NaT Dec NaT Trading Companies and Distributors; Constructi... Capital Goods Trading Companies and Distributors None Industrials Capital Goods Trading Companies and Distributors Jakarta Pusat PT Anugrah Cakrawala Dunia None None 0.696900 Grogol Petamburan Trading Companies and Distributors PT Anugrah Cakrawala Dunia None None Grogol Petamburan Trading Companies and Distributors Indonesia PT Anugrah Cakrawala Dunia (Current Subsidiary... NaN NaN NaN NaN NaN NaN 2020-02-07 100.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
15 PT Agung Menjangan Mas Tbk (IDX:AMMS) 106546520 IDX IDX:AMMS Packaged Foods and Meats Producers Consumer Indonesia Generali Tower Gran Rubina Business Park agungmm.com PT Agung Menjangan Mas Tbk provides services t... Public Company None Operating Subsidiary None No None None Yes No No PT Agung Menjangan Mas Tbk engages in the agri... Aquaculture None 2004.000000 None NaN NaT Dec NaT Packaged Foods and Meats Producers; Seafood, S... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Mandara Mas Semesta None None 0.997700 None Unclassified PT Mandara Mas Semesta None None None Unclassified Indonesia PT Mandara Mas Semesta (Current Subsidiary or ... NaN NaN NaN 2.540000 30437500.000000 14549.125000 2022-08-04 100.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
16 PT Agung Podomoro Land Tbk (IDX:APLN) 4432432 IDX IDX:APLN Real Estate Development Real Estate Indonesia APL Tower www.agungpodomoroland.com PT Agung Podomoro Land Tbk, together with its ... Public Company None Operating Subsidiary Stock Corporation No Full Consolidated Yes No No PT Agung Podomoro Land Tbk engages in property... None Commercial, Property Development, Real Estate,... 2004.000000 2004-07-30 00:00:00 NaN NaT Dec 2025-08-01 Real Estate Development Real Estate Management and Development Real Estate Development None Real Estate Real Estate Management and Development Real Estate Management and Development Jakarta PT Indofica None None 0.827200 Jakarta Real Estate Development PT Indofica None None Jakarta Real Estate Development Indonesia PT Indofica (Current Subsidiary or Operating U... 0.020000 3760100.000000 368.489800 5.020000 1139706185.000000 111691.206130 2010-10-28 365.000000 None None None 2032513.571000 2734460.554000 5.148000 1.978000 1088876.420000 1351411.625000 262535.205000 803761.971000 2972.490000 995393.484000 NaN NaN 1070393.484000 701946.983000 1229306.782000 686364.623000 810031.342000 -50087.790000 -48343.054000 -50087.790000 -25050.220000 734367.660000 280429.191000 150000000.000000 NaN NaN 1772340.467000 340551.102000 NaN 2008
17 PT Agung Semesta Sejahtera Tbk (IDX:TARA) 4990209 IDX IDX:TARA Construction and Engineering Industrials Indonesia Wisma 77 Lt. 19 www.agungsemestasejahtera.com PT Agung Semesta Sejahtera Tbk primarily engag... Public Company None Operating None No None None Yes No No PT Agung Semesta Sejahtera Tbk engages in dive... None Property Development, Property Management, Rea... 2006.000000 2006-06-01 00:00:00 NaN NaT Dec NaT Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta Barat None None None NA% None None None None None None None None None 5.480000 551389038.000000 14336.114988 NaN NaN NaN 2014-07-08 106.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
18 PT AirAsia Indonesia Tbk (IDX:CMPP) 7476312 IDX IDX:CMPP Passenger Airlines Industrials Indonesia AirAsia Redhouse ir.aaid.co.id PT AirAsia Indonesia Tbk provides scheduled co... Public Company None Operating None No None None Yes No No PT Airasia Indonesia Tbk is a prominent airlin... None Air Transportation, Transportation 1989.000000 1989-07-25 00:00:00 NaN NaT Dec NaT Passenger Airlines; Commercial Airlines Transportation Passenger Airlines None Industrials Transportation Passenger Airlines Tangerang None None None NA% None None None None None None None None Capital A Berhad (Prior Subsidiary or Operatin... NaN NaN NaN NaN NaN NaN NaT NaN None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
19 PT Akasha Wira International Tbk (IDX:ADES) 4913827 IDX IDX:ADES Soft Drinks and Non-alcoholic Beverages Consumer Indonesia Jl. TB. Simatupang Kav. 89 RT 01 RW 02 www.akashainternational.com PT Akasha Wira International Tbk engages in th... Public Company None Operating Subsidiary None No None None Yes No No PT Akasha Wira International Tbk engages in th... Lifestyle; Nutraceutical; Alternative Protein Consumer Goods, Manufacturing 1985.000000 None 2006.000000 2006-03-10 Dec 2025-09-01 Soft Drinks and Non-alcoholic Beverages; Bottl... Producers Beverage Producers Soft Drinks and Non-alcoholic Beverages Consumer Staples Food, Beverage and Tobacco Beverages Jakarta Selatan Water Partners Bottling S.A. None None 0.915200 Zurich Unclassified Water Partners Bottling S.A. None None Zurich Unclassified Switzerland Nestlé S.A. (Prior Investment, Minority); Wate... 0.010000 62100.000000 954.787500 0.000000 11900.000000 182.962500 NaT NaN None None None 133117.000000 185015.000000 0.514000 0.394000 -56009.000000 59208.000000 115217.000000 9581.000000 993.000000 NaN 84251.000000 NaN 84251.000000 51898.000000 124311.000000 94734.000000 129542.000000 -38740.000000 -21976.000000 -38740.000000 -15208.000000 -48514.000000 25286.000000 589896800.000000 132.726780 225.000000 136149.000000 29311.000000 NaN 2008
Total baris: 15708
Jumlah emiten unik: 924
Jumlah Year unik: 17
# Tentukan beberapa kolom penting di depan
kolom_depan = [
    "exchange_ticker",
    "Year",
    "Entity Name",
    "IPO Date MM/dd/yyyy",
    "Primary Industry",
]

# Sisanya biarkan mengikuti urutan semula
kolom_lain = [c for c in df_final.columns if c not in kolom_depan]

df_findat_final = df_final[kolom_depan + kolom_lain]

print("=== df_final dengan urutan kolom yang rapi ===")
df_findat_final
=== df_final dengan urutan kolom yang rapi ===
variable exchange_ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
0 IDX:TLKM 2008 Perusahaan Perseroan (Persero) PT Telekomunika... NaT Integrated Telecommunication Services 4210975 IDX Technology, Media & Telecommunications Indonesia Jl. Japati No. 1 www.telkom.co.id Perusahaan Perseroan (Persero) PT Telekomunika... Public Company None Operating Subsidiary None No None None Yes No No Perusahaan Perseroan (Persero) PT Telekomunika... Network Backbone; Optical Infrastructure; Clou... Digital Media, Information Technology, Telecom... 1884.000000 27/03/1884 01:00:00 NaN NaT Dec 2025-08-01 Integrated Telecommunication Services Telecommunication Services Integrated Telecommunication Services None Communication Services Telecommunication Services Diversified Telecommunication Services Bandung PT Danantara Asset Management (Persero) None None 0.520900 Jakarta Construction and Engineering Indonesia None None Jakarta Diversified Support Services Indonesia Indonesia (Prior Subsidiary or Operating Unit,... 21.060000 20859696180.000000 77180875.866000 0.090000 85029954.000000 314610.829800 NaN None None None 47258399.000000 91256250.000000 0.542000 0.420000 -12375841.000000 14622310.000000 26998151.000000 511950.000000 1875773.000000 11444575.000000 46000.000000 NaN 17584731.000000 43997851.000000 71066244.000000 22159917.000000 64166429.000000 23225173.000000 35538389.000000 23225173.000000 14725429.000000 24553925.000000 -3250846.000000 98347123896.000000 135790.870326 1380.000000 61582582.000000 7156989.000000 NaN
1 IDX:PACK 2008 PT Abadi Nusantara Hijau Investama Tbk (IDX:PACK) 2023-02-06 Packaging and Materials: Paper and Plastic 109420637 IDX Materials Indonesia Jl. Jababeka 2 Block C/11-D www.flexypack.com PT Abadi Nusantara Hijau Investama Tbk provide... Public Company None Operating None No None None Yes No No PT Abadi Nusantara Hijau Investama Tbk provide... Packaging Services None 2019.000000 2019-11-18 00:00:00 NaN NaT Dec NaT Packaging and Materials: Paper and Plastic Packaging and Materials: Paper and Plastic None None Materials Materials Containers and Packaging Bekasi None None None NA% None None None None None None None None PT Benson Kapital Indonesia (Current Investmen... 23.240000 371188000.000000 965088.800000 0.000000 0.000000 NaN 162.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 IDX:ABMM 2008 PT ABM Investama Tbk (IDX:ABMM) 2011-12-05 Coal and Consumable Fuels 4980353 IDX Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 3750.000000 None None None 4360950.000000 3549129.000000 0.592000 0.430000 -953832.000000 1384649.000000 2338481.000000 241667.000000 NaN NaN NaN NaN 0.000000 -811821.000000 1469802.000000 3114382.000000 3235172.000000 -469841.000000 NaN -469841.000000 -3913.000000 -4564.000000 7861.000000 NaN NaN NaN -811821.000000 159424.000000 NaN
3 IDX:KUAS 2008 PT Ace Oldfields Tbk (IDX:KUAS) 2021-10-25 Building Products 7649048 IDX Industrials Indonesia Jl. Raya Cileungsi Jonggol www.aceoldfields.com PT Ace Oldfields Tbk manufactures and sells pa... Public Company None Operating None No None None Yes No No None None None 1989.000000 1989-09-18 00:00:00 NaN NaT Dec 2025-09-01 Building Products; Hardware Tools and Equipmen... Capital Goods Building Products None Industrials Capital Goods Building Products Bogor None None None NA% None None None None None None None None Oldfields Holdings Limited (Prior Investment, ... NaN NaN NaN 0.870000 11225400.000000 763.327200 195.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 IDX:ACST 2008 PT Acset Indonusa Tbk (IDX:ACST) 2013-06-20 Construction and Engineering 4990054 IDX Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 00:00:00 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2500.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
15703 IDX:ADMG 2024 PT. Polychem Indonesia Tbk (IDX:ADMG) NaT Commodity Chemicals 4986761 IDX Materials Indonesia Gedung Wisma 46 Kota BNI www.polychemindo.com PT. Polychem Indonesia Tbk engages in the chem... Public Company None Operating None No None None Yes No No None Bio-based and Renewable Materials Chemical, Manufacturing 1978.000000 None NaN NaT Dec 2025-08-01 Commodity Chemicals; Industrial Organic Chemic... Chemicals Commodity Chemicals None Materials Materials Chemicals Jakarta Pusat Provestment Limited None None 0.495000 None Unclassified Provestment Limited None None None Unclassified Indonesia HSBC Global Asset Management (UK) Limited (Pri... NaN NaN NaN 6.700000 260689900.000000 42231.763800 NaN None None None 633525.279930 2502397.042404 1.582000 0.658000 324806.222988 883354.230822 558548.007834 457628.197014 9209.520918 NaN NaN NaN 2306.714616 1868871.762474 1550937.131766 1721786.548931 1738143.281730 -64988.560197 8869.037256 -64988.560197 -161541.845097 29243.074738 23742.525826 3889179559.000000 423.920572 109.000000 1871178.477090 204124.233702 NaN
15704 IDX:BIMA 2024 PT. Primarindo Asia Infrastructure, Tbk. (IDX:... NaT Footwear Producers 4914053 IDX Consumer Indonesia Gedung Tatapuri www.primarindo.co.id PT. Primarindo Asia Infrastructure, Tbk. engag... Public Company None Operating Subsidiary None No None None Yes No No PT. Primarindo Asia Infrastructure, Tbk. engag... Lifestyle Shoes 1988.000000 1988-07-01 00:00:00 NaN NaT Dec 2025-09-01 Footwear Producers Producers Apparel, Footwear and Textile Producers Footwear Producers Consumer Discretionary Consumer Durables and Apparel Textiles, Apparel and Luxury Goods Jakarta PT. Golden Lestari None None 0.865600 None Footwear Producers PT. Golden Lestari None None None Footwear Producers Indonesia PT. Golden Lestari (Current Subsidiary or Oper... NaN NaN NaN NaN NaN NaN NaN None None None 254016.336000 319791.244000 0.486000 0.057000 -65139.176000 61640.844000 126780.020000 53945.441000 151.607000 NaN 38535.590000 NaN 39348.507000 65774.907000 144368.933000 63473.693000 92500.319000 -7837.238000 -7539.673000 -7837.238000 -14713.779000 576.555000 574.851000 608175716.000000 52.911287 87.000000 105123.414000 1132.703000 2149.983000
15705 IDX:ARTI 2024 PT. Ratu Prabu Energi, Tbk (IDX:ARTI) NaT Oil and Gas Equipment and Services 4978413 IDX Energy and Utilities Indonesia Gedung Ratu Prabu 1 www.ratuprabuenergi.com PT. Ratu Prabu Energi, Tbk, through its subsid... Public Company None Operating None No None None Yes No No PT. Ratu Prabu Energi Tbk, through its subsidi... Mining Technology Energy, Oil and Gas 1993.000000 1993-03-31 01:00:00 1993.000000 1993-03-31 01:00:00 Dec NaT Oil and Gas Equipment and Services; Oil and Ga... Oil, Gas and Coal Oil and Gas Equipment and Services None Energy Energy Energy Equipment and Services Jakarta Selatan None None None NA% None None None None None None None None None NaN NaN NaN 1.830000 143195600.000000 286.391200 NaN None None None 753564.461000 550707.999000 0.002000 0.002000 -744152.585000 1449.639000 745602.224000 NaN NaN NaN NaN NaN 7447.628000 -202856.462000 80983.328000 24540.998000 37082.047000 1384.617000 19343.993000 1384.617000 -4425.791000 1400.707000 -530.714000 7840000000.000000 15.680000 2.000000 -195408.833000 464.548000 NaN
15706 IDX:TGRA 2024 PT. Terregra Asia Energy Tbk (IDX:TGRA) 2017-05-15 Renewable Electricity 6676356 IDX Energy and Utilities Indonesia Lippo Puri Tower www.terregra.co.id PT. Terregra Asia Energy Tbk develops, builds,... Public Company None Operating None No None None Yes No No PT. Terregra Asia Energy Tbk is a prominent pl... Clean Energy; CleanTech; Power Grid; Utility S... Energy, Renewable Energy 1995.000000 1995-11-07 00:00:00 NaN NaT Dec 2025-09-01 Renewable Electricity; Hydroelectric Power Gen... Renewable Electricity None None Utilities Utilities Independent Power and Renewable Electricity Pr... Jakarta Barat PT terregra asia equity None None 0.164600 None Unclassified PT terregra asia equity None None None Unclassified Indonesia Permodalan Nasional Berhad (Current Investment... 76.540000 2104808600.000000 56829.832200 5.970000 164141600.000000 4431.823200 200.000000 None None None 147870.135000 458585.037000 0.249000 0.017000 -41786.202000 13851.873000 55638.076000 NaN NaN 88291.188000 8816.043000 NaN 97107.231000 310714.902000 356206.187000 355.071000 NaN -13672.830000 -13091.231000 -13672.830000 -23698.806000 -4570.877000 -566.809000 2750000000.000000 85.250000 31.000000 407822.132000 181.181000 NaN
15707 IDX:FILM 2024 PT.MD Entertainment Tbk (IDX:FILM) 2018-08-02 Movies and Entertainment 10882429 IDX Technology, Media & Telecommunications Indonesia MD Place, Tower 1 www.mdentertainment.com PT.MD Entertainment Tbk produces, trades in, a... Public Company None Operating None No None None Yes No No PT.MD Entertainment Tbk produces, trades in, a... Digital Media; Content Creation Film Production, TV 2002.000000 2002-08-01 00:00:00 NaN NaT Dec 2025-09-01 Movies and Entertainment; Entertainment Produc... Media and Entertainment Movies and Entertainment None Communication Services Media and Entertainment Entertainment Jakarta None None None NA% None None None None None None None None Seoul Broadcasting System (Current Investment,... 0.450000 44259784.000000 324202.917800 62.690000 6204924122.000000 45451069.193650 210.000000 None None None 1226285.218000 3937308.585000 2.227000 0.949000 576812.777000 1047028.354000 470215.577000 505070.855000 6179.398000 702642.890000 224320.000000 NaN 1006762.890000 2711023.367000 1009918.730000 187256.689000 455949.732000 70451.896000 97855.130000 70451.896000 20551.670000 -89533.613000 -145940.433000 9897787962.000000 38205.461533 3860.000000 3717786.257000 372089.069000 1096619.608000

15708 rows × 91 columns

# Rename kolom 'exchange_ticker' jadi 'ticker'
df_findat_final = df_findat_final.rename(columns={'exchange_ticker': 'ticker'})

# Hapus 'IDX:' prefix dari kolom 'ticker'
df_findat_final['ticker'] = df_findat_final['ticker'].astype(str).str.replace('IDX:', '', regex=False)

# sort DF berdasarkan 'ticker' asc, lalu 'Year' desc
df_findat_final = df_findat_final.sort_values(by=['ticker', 'Year'], ascending=[True, False]).reset_index(drop=True)

# Display
df_findat_final.head()
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Day Close Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
0 AADI 2024 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 42324475.248000 96469808.484000 2.537000 2.292000 21593100.594000 35641809.096000 14048708.502000 1103501.802000 105989.232000 23185756.224000 NaN NaN 23924525.640000 54145333.236000 22391497.002000 61072270.545424 84304634.017260 18392374.252099 19927346.291702 18392374.252099 21026086.808611 18994042.847576 -16098252.230656 7786891760.000000 65993.907666 8475.000000 78069858.876000 25454061.012000 37588.830000
1 AADI 2023 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 35027575.128000 108867787.224000 1.818000 1.699000 22687219.212000 50406307.896000 27719088.684000 1003297.260000 66758.034000 2978539.704000 NaN NaN 14784754.278000 73840212.096000 14962801.392000 63789705.022615 90132389.148923 21711813.969577 23121835.271885 21711813.969577 19592972.794962 9069085.144385 -12888255.983885 7008202560.000000 NaN NaN 88624966.374000 39810523.914000 35390.544000
2 AADI 2022 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 53697263.230000 123705349.494000 2.043000 1.960000 34306837.619000 67190488.975000 32883651.356000 1864970.784000 10124.908000 16805809.909000 NaN NaN 18638045.561000 70008086.264000 13750882.913000 56091453.934708 114740624.204931 52675640.780862 57656683.481331 52675640.780862 34894343.232646 46564112.440085 27880000.623946 7008203000.000000 NaN NaN 88646131.825000 54122633.598000 32610.900000
3 AADI 2021 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 36597123.720000 88200470.070000 2.217000 2.091000 18995952.510000 34608541.707000 15612589.197000 1033762.320000 95027.490000 16900161.822000 NaN NaN 18489656.871000 51603346.350000 15934956.066000 33903719.536034 55264915.482548 18421357.075862 23354567.767490 18421357.075862 11866461.387490 15245298.528812 5766604.814061 7008203000.000000 NaN NaN 70093003.221000 24558551.190000 6154.704000
4 AADI 2020 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Ubah Nama Kolom

df_findat_final = df_findat_final.rename(columns={'Day Close Price (Rp.)': 'Year Close Stock Price (Rp.)'})
df_findat_final.head()
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
0 AADI 2024 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 42324475.248000 96469808.484000 2.537000 2.292000 21593100.594000 35641809.096000 14048708.502000 1103501.802000 105989.232000 23185756.224000 NaN NaN 23924525.640000 54145333.236000 22391497.002000 61072270.545424 84304634.017260 18392374.252099 19927346.291702 18392374.252099 21026086.808611 18994042.847576 -16098252.230656 7786891760.000000 65993.907666 8475.000000 78069858.876000 25454061.012000 37588.830000
1 AADI 2023 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 35027575.128000 108867787.224000 1.818000 1.699000 22687219.212000 50406307.896000 27719088.684000 1003297.260000 66758.034000 2978539.704000 NaN NaN 14784754.278000 73840212.096000 14962801.392000 63789705.022615 90132389.148923 21711813.969577 23121835.271885 21711813.969577 19592972.794962 9069085.144385 -12888255.983885 7008202560.000000 NaN NaN 88624966.374000 39810523.914000 35390.544000
2 AADI 2022 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 53697263.230000 123705349.494000 2.043000 1.960000 34306837.619000 67190488.975000 32883651.356000 1864970.784000 10124.908000 16805809.909000 NaN NaN 18638045.561000 70008086.264000 13750882.913000 56091453.934708 114740624.204931 52675640.780862 57656683.481331 52675640.780862 34894343.232646 46564112.440085 27880000.623946 7008203000.000000 NaN NaN 88646131.825000 54122633.598000 32610.900000
3 AADI 2021 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 36597123.720000 88200470.070000 2.217000 2.091000 18995952.510000 34608541.707000 15612589.197000 1033762.320000 95027.490000 16900161.822000 NaN NaN 18489656.871000 51603346.350000 15934956.066000 33903719.536034 55264915.482548 18421357.075862 23354567.767490 18421357.075862 11866461.387490 15245298.528812 5766604.814061 7008203000.000000 NaN NaN 70093003.221000 24558551.190000 6154.704000
4 AADI 2020 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

Cek Saham Tersedia di Financial Data

list_symbol_findat = df_findat_final['ticker'].unique().tolist()
print(list_symbol_findat)
print(len(list_symbol_findat))
['AADI', 'AALI', 'ABBA', 'ABDA', 'ABMM', 'ACES', 'ACRO', 'ACST', 'ADCP', 'ADES', 'ADHI', 'ADMF', 'ADMG', 'ADMR', 'ADRO', 'AEGS', 'AGAR', 'AGII', 'AGRO', 'AGRS', 'AHAP', 'AIMS', 'AISA', 'AKKU', 'AKPI', 'AKRA', 'AKSI', 'ALDO', 'ALII', 'ALKA', 'ALMI', 'ALTO', 'AMAG', 'AMAN', 'AMAR', 'AMFG', 'AMIN', 'AMMN', 'AMMS', 'AMOR', 'AMRT', 'ANDI', 'ANJT', 'ANTM', 'APEX', 'APIC', 'APII', 'APLI', 'APLN', 'ARCI', 'AREA', 'ARGO', 'ARII', 'ARKA', 'ARKO', 'ARNA', 'ARTA', 'ARTI', 'ARTO', 'ASBI', 'ASDM', 'ASGR', 'ASHA', 'ASII', 'ASJT', 'ASLC', 'ASLI', 'ASMI', 'ASPI', 'ASPR', 'ASRI', 'ASRM', 'ASSA', 'ATAP', 'ATIC', 'ATLA', 'AUTO', 'AVIA', 'AWAN', 'AXIO', 'AYAM', 'AYLS', 'BABP', 'BABY', 'BACA', 'BAIK', 'BAJA', 'BALI', 'BANK', 'BAPA', 'BAPI', 'BATA', 'BATR', 'BAUT', 'BAYU', 'BBCA', 'BBHI', 'BBKP', 'BBLD', 'BBMD', 'BBNI', 'BBRI', 'BBRM', 'BBSI', 'BBSS', 'BBTN', 'BBYB', 'BCAP', 'BCIC', 'BCIP', 'BDKR', 'BDMN', 'BEBS', 'BEEF', 'BEER', 'BEKS', 'BELI', 'BELL', 'BESS', 'BEST', 'BFIN', 'BGTG', 'BHAT', 'BHIT', 'BIKA', 'BIKE', 'BIMA', 'BINA', 'BINO', 'BIPI', 'BIPP', 'BIRD', 'BISI', 'BJBR', 'BJTM', 'BKDP', 'BKSL', 'BKSW', 'BLES', 'BLOG', 'BLTA', 'BLTZ', 'BLUE', 'BMAS', 'BMBL', 'BMHS', 'BMRI', 'BMSR', 'BMTR', 'BNBA', 'BNBR', 'BNGA', 'BNII', 'BNLI', 'BOAT', 'BOBA', 'BOGA', 'BOLA', 'BOLT', 'BOSS', 'BPFI', 'BPII', 'BPTR', 'BRAM', 'BREN', 'BRIS', 'BRMS', 'BRNA', 'BRPT', 'BRRC', 'BSBK', 'BSDE', 'BSIM', 'BSML', 'BSSR', 'BSWD', 'BTEK', 'BTON', 'BTPN', 'BTPS', 'BUAH', 'BUDI', 'BUKA', 'BUKK', 'BULL', 'BUMI', 'BUVA', 'BVIC', 'BWPT', 'BYAN', 'CAKK', 'CAMP', 'CANI', 'CARE', 'CARS', 'CASA', 'CASH', 'CASS', 'CBDK', 'CBPE', 'CBRE', 'CBUT', 'CCSI', 'CDIA', 'CEKA', 'CENT', 'CFIN', 'CGAS', 'CHEK', 'CHEM', 'CHIP', 'CINT', 'CITA', 'CITY', 'CLAY', 'CLEO', 'CLPI', 'CMNP', 'CMNT', 'CMPP', 'CMRY', 'CNKO', 'CNMA', 'COAL', 'COCO', 'COIN', 'CPIN', 'CPRI', 'CPRO', 'CRAB', 'CRSN', 'CSAP', 'CSIS', 'CSMI', 'CSRA', 'CTBN', 'CTRA', 'CTTH', 'CUAN', 'CYBR', 'DAAZ', 'DADA', 'DART', 'DATA', 'DAYA', 'DCII', 'DEAL', 'DEFI', 'DEPO', 'DEWA', 'DEWI', 'DFAM', 'DGIK', 'DGNS', 'DGWG', 'DIGI', 'DILD', 'DIVA', 'DKFT', 'DKHH', 'DLTA', 'DMAS', 'DMMX', 'DMND', 'DNAR', 'DNET', 'DOID', 'DOOH', 'DOSS', 'DPNS', 'DPUM', 'DRMA', 'DSFI', 'DSNG', 'DSSA', 'DUTI', 'DVLA', 'DWGL', 'DYAN', 'EAST', 'ECII', 'EDGE', 'EKAD', 'ELIT', 'ELPI', 'ELSA', 'ELTY', 'EMAS', 'EMDE', 'EMTK', 'ENAK', 'ENRG', 'ENZO', 'EPAC', 'EPMT', 'ERAA', 'ERAL', 'ERTX', 'ESIP', 'ESSA', 'ESTA', 'ESTI', 'ETWA', 'EURO', 'EXCL', 'FAPA', 'FAST', 'FASW', 'FILM', 'FIMP', 'FIRE', 'FISH', 'FITT', 'FLMC', 'FMII', 'FOLK', 'FOOD', 'FORE', 'FORU', 'FPNI', 'FUJI', 'FUTR', 'FWCT', 'GAMA', 'GDST', 'GDYR', 'GEMA', 'GEMS', 'GGRM', 'GGRP', 'GHON', 'GIAA', 'GJTL', 'GLOB', 'GLVA', 'GMFI', 'GMTD', 'GOLD', 'GOLF', 'GOOD', 'GOTO', 'GPRA', 'GPSO', 'GRIA', 'GRPH', 'GRPM', 'GSMF', 'GTBO', 'GTRA', 'GTSI', 'GULA', 'GUNA', 'GWSA', 'GZCO', 'HADE', 'HAIS', 'HAJJ', 'HALO', 'HATM', 'HBAT', 'HDFA', 'HDIT', 'HEAL', 'HELI', 'HERO', 'HEXA', 'HGII', 'HILL', 'HITS', 'HKMU', 'HMSP', 'HOKI', 'HOMI', 'HOPE', 'HRME', 'HRTA', 'HRUM', 'HUMI', 'HYGN', 'IATA', 'IBFN', 'IBOS', 'IBST', 'ICBP', 'ICON', 'IDEA', 'IDPR', 'IFII', 'IFSH', 'IGAR', 'IKAI', 'IKAN', 'IKBI', 'IKPM', 'IMAS', 'IMJS', 'IMPC', 'INAF', 'INAI', 'INCF', 'INCI', 'INCO', 'INDF', 'INDO', 'INDR', 'INDS', 'INDX', 'INDY', 'INET', 'INKP', 'INOV', 'INPC', 'INPP', 'INPS', 'INRU', 'INTA', 'INTD', 'INTP', 'IOTF', 'IPAC', 'IPCC', 'IPCM', 'IPOL', 'IPPE', 'IPTV', 'IRRA', 'IRSX', 'ISAP', 'ISAT', 'ISEA', 'ISSP', 'ITIC', 'ITMA', 'ITMG', 'JARR', 'JAST', 'JATI', 'JAWA', 'JAYA', 'JECC', 'JGLE', 'JIHD', 'JKON', 'JMAS', 'JPFA', 'JRPT', 'JSMR', 'JSPT', 'JTPE', 'KAEF', 'KAQI', 'KARW', 'KAYU', 'KBAG', 'KBLI', 'KBLM', 'KBLV', 'KDSI', 'KDTN', 'KEEN', 'KEJU', 'KETR', 'KIAS', 'KICI', 'KIJA', 'KING', 'KINO', 'KIOS', 'KJEN', 'KKES', 'KKGI', 'KLAS', 'KLBF', 'KLIN', 'KMDS', 'KMTR', 'KOBX', 'KOCI', 'KOIN', 'KOKA', 'KONI', 'KOPI', 'KOTA', 'KPIG', 'KRAS', 'KREN', 'KRYA', 'KSIX', 'KUAS', 'LABA', 'LABS', 'LAJU', 'LAND', 'LAPD', 'LCKM', 'LEAD', 'LFLO', 'LIFE', 'LINK', 'LION', 'LIVE', 'LMAX', 'LMPI', 'LMSH', 'LOPI', 'LPCK', 'LPGI', 'LPIN', 'LPKR', 'LPLI', 'LPPF', 'LPPS', 'LRNA', 'LSIP', 'LTLS', 'LUCK', 'LUCY', 'MAHA', 'MAIN', 'MANG', 'MAPA', 'MAPB', 'MAPI', 'MARI', 'MARK', 'MASB', 'MAXI', 'MAYA', 'MBAP', 'MBMA', 'MBSS', 'MBTO', 'MCAS', 'MCOL', 'MCOR', 'MDIA', 'MDIY', 'MDKA', 'MDKI', 'MDLA', 'MDLN', 'MDRN', 'MEDC', 'MEDS', 'MEGA', 'MEJA', 'MENN', 'MERI', 'MERK', 'META', 'MFMI', 'MGLV', 'MGNA', 'MGRO', 'MHKI', 'MICE', 'MIDI', 'MIKA', 'MINA', 'MINE', 'MIRA', 'MITI', 'MKAP', 'MKNT', 'MKPI', 'MKTR', 'MLBI', 'MLIA', 'MLPL', 'MLPT', 'MMIX', 'MMLP', 'MNCN', 'MOLI', 'MORA', 'MPIX', 'MPMX', 'MPOW', 'MPPA', 'MPRO', 'MPXL', 'MRAT', 'MREI', 'MSIE', 'MSIN', 'MSJA', 'MSKY', 'MSTI', 'MTDL', 'MTEL', 'MTFN', 'MTLA', 'MTMH', 'MTPS', 'MTSM', 'MTWI', 'MUTU', 'MYOH', 'MYOR', 'MYTX', 'NAIK', 'NANO', 'NASA', 'NASI', 'NATO', 'NAYZ', 'NCKL', 'NELY', 'NEST', 'NETV', 'NFCX', 'NICE', 'NICK', 'NICL', 'NIKL', 'NINE', 'NIRO', 'NISP', 'NOBU', 'NPGF', 'NRCA', 'NSSS', 'NTBK', 'NZIA', 'OASA', 'OBAT', 'OBMD', 'OILS', 'OKAS', 'OLIV', 'OMED', 'OMRE', 'OPMS', 'PACK', 'PADA', 'PADI', 'PALM', 'PAMG', 'PANI', 'PANR', 'PANS', 'PART', 'PBID', 'PBRX', 'PBSA', 'PCAR', 'PDES', 'PDPP', 'PEGE', 'PEHA', 'PEVE', 'PGAS', 'PGEO', 'PGJO', 'PGLI', 'PGUN', 'PICO', 'PIPA', 'PJAA', 'PJHB', 'PKPK', 'PLAN', 'PLIN', 'PMJS', 'PMMP', 'PMUI', 'PNBN', 'PNBS', 'PNGO', 'PNIN', 'PNLF', 'PNSE', 'POLA', 'POLI', 'POLL', 'POLU', 'POLY', 'PORT', 'POWR', 'PPGL', 'PPRE', 'PPRI', 'PPRO', 'PRAY', 'PRDA', 'PRIM', 'PSAB', 'PSAT', 'PSDN', 'PSGO', 'PSKT', 'PSSI', 'PTBA', 'PTDU', 'PTIS', 'PTMP', 'PTMR', 'PTPP', 'PTPS', 'PTPW', 'PTRO', 'PTSN', 'PTSP', 'PUDP', 'PURA', 'PURI', 'PWON', 'PYFA', 'PZZA', 'RAAM', 'RAFI', 'RAJA', 'RALS', 'RANC', 'RATU', 'RBMS', 'RCCC', 'RDTX', 'REAL', 'RELF', 'RELI', 'RGAS', 'RICY', 'RIGS', 'RISE', 'RMKE', 'RMKO', 'ROCK', 'RODA', 'RONY', 'ROTI', 'RSCH', 'RSGK', 'RUIS', 'RUNS', 'SAFE', 'SAGE', 'SAME', 'SAMF', 'SAPX', 'SATU', 'SBAT', 'SBMA', 'SCCO', 'SCMA', 'SCNP', 'SDMU', 'SDPC', 'SDRA', 'SEMA', 'SFAN', 'SGER', 'SGRO', 'SHID', 'SHIP', 'SICO', 'SIDO', 'SILO', 'SIMP', 'SINI', 'SIPD', 'SKBM', 'SKLT', 'SKRN', 'SLIS', 'SMAR', 'SMBR', 'SMCB', 'SMDM', 'SMDR', 'SMGA', 'SMGR', 'SMIL', 'SMKL', 'SMKM', 'SMLE', 'SMMA', 'SMMT', 'SMRA', 'SMSM', 'SNLK', 'SOCI', 'SOFA', 'SOHO', 'SOLA', 'SONA', 'SOSS', 'SOTS', 'SOUL', 'SPMA', 'SPRE', 'SPTO', 'SQMI', 'SRAJ', 'SRSN', 'SRTG', 'SSIA', 'SSMS', 'SSTM', 'STAA', 'STAR', 'STRK', 'STTP', 'SULI', 'SUNI', 'SUPR', 'SURE', 'SURI', 'SWAT', 'SWID', 'TALF', 'TAMA', 'TAMU', 'TAPG', 'TARA', 'TAXI', 'TAYS', 'TBIG', 'TBLA', 'TBMS', 'TCID', 'TCPI', 'TEBE', 'TECH', 'TELE', 'TFAS', 'TFCO', 'TGKA', 'TGRA', 'TGUK', 'TIFA', 'TINS', 'TIRA', 'TIRT', 'TKIM', 'TLDN', 'TLKM', 'TMAS', 'TMPO', 'TNCA', 'TOBA', 'TOOL', 'TOPS', 'TOSK', 'TOTL', 'TOTO', 'TOWR', 'TOYS', 'TPIA', 'TPMA', 'TRGU', 'TRIM', 'TRIN', 'TRIS', 'TRJA', 'TRON', 'TRST', 'TRUE', 'TRUK', 'TRUS', 'TSPC', 'TUGU', 'TYRE', 'UANG', 'UCID', 'UDNG', 'UFOE', 'ULTJ', 'UNIC', 'UNIQ', 'UNSP', 'UNTD', 'UNTR', 'UNVR', 'URBN', 'UVCR', 'VAST', 'VERN', 'VICI', 'VICO', 'VINS', 'VISI', 'VIVA', 'VKTR', 'VOKS', 'VRNA', 'VTNY', 'WAPO', 'WEGE', 'WEHA', 'WGSH', 'WICO', 'WIDI', 'WIFI', 'WIIM', 'WIKA', 'WINE', 'WINR', 'WINS', 'WIRG', 'WMPP', 'WMUU', 'WOMF', 'WOOD', 'WOWS', 'WSBP', 'WSKT', 'WTON', 'XDIF', 'XIFE', 'XISB', 'XMGB', 'XMLF', 'XPSG', 'YELO', 'YOII', 'YPAS', 'YULE', 'YUPI', 'ZATA', 'ZBRA', 'ZINC', 'ZONE', 'ZYRX']
924

Hapus Efek Fund/Nonperusahaan (Ticker diawali X)

df_findat_final[df_findat_final['ticker'].str.startswith('X')]['Entity Name'].unique().tolist()
['PT Danareksa Investment Management - Danareksa ETF Indonesia Top 40 Fund (IDX:XDIF)',
 'Pt Indo Premier Investment Management - FTSE Indonesia ESG ETF (IDX:XIFE)',
 'Pt Indo Premier Investment Management - Reksa Dana Premier Etf Indonesia Sovereign Bonds (IDX:XISB)',
 'PT Majoris Asset Management - Government Bonds ETF (IDX:XMGB)',
 'Pt Mandiri Manajemen Investasi - Reksa Dana Indeks Mandiri Indeks LQ45 (IDX:XMLF)',
 'Pt Pinnacle Persada Investama - Pinnacle Indonesia Esg Etf (IDX:XPSG)']
df_findat_final = df_findat_final[~df_findat_final['ticker'].str.startswith('X')]
print("Cek Apakah Emiten Fund (Bukan Perusahaan) Masih Ada :")
df_findat_final[df_findat_final['ticker'].str.startswith('X')]['Entity Name'].unique().tolist()
Cek Apakah Emiten Fund (Bukan Perusahaan) Masih Ada :
[]

Hapus Perusahaan Baru IPO (2024-2025)

df_emiten_idx[df_emiten_idx['Tanggal Pencatatan'].dt.year.isin([2024, 2025])]
Kode Nama Perusahaan Tanggal Pencatatan Saham Papan Pencatatan Tanggal Masuk Tanggal Keluar Kriteria PPK Distress_PPK
884 ASLI Asri Karya Lestari Tbk. 2024-01-05 6.250.000.000 Pengembangan NaT NaT <NA> No No
885 CGAS Citra Nusantara Gemilang Tbk. 2024-01-08 1.771.499.039 Pengembangan 2024-03-04 2024-04-04 [10] Yes Yes
886 NICE Adhi Kartiko Pratama Tbk. 2024-01-09 6.082.020.000 Pengembangan NaT NaT <NA> No No
887 MSJA Multi Spunindo Jaya Tbk. 2024-01-10 5.882.352.900 Pengembangan NaT NaT <NA> No No
888 SMLE Sinergi Multi Lestarindo Tbk. 2024-01-10 2.328.153.048 Pengembangan NaT NaT <NA> No No
... ... ... ... ... ... ... ... ... ... ...
943 KAQI Jantra Grupo Indonesia Tbk. 2025-03-10 2.075.800.000 Pengembangan NaT NaT <NA> No No
944 YUPI Yupi Indo Jelly Gum Tbk. 2025-03-25 8.544.488.700 Utama NaT NaT <NA> No No
945 FORE Fore Kopi Indonesia Tbk. 2025-04-14 8.918.359.270 Pengembangan NaT NaT <NA> No No
946 MDLA Medela Potentia Tbk. 2025-04-15 14.012.825.000 Utama NaT NaT <NA> No No
947 DKHH Cipta Sarana Medika Tbk. 2025-05-08 2.550.000.000 Pengembangan 2025-07-22 2025-07-31 [10] Yes Yes

64 rows × 10 columns

list_perusahaan_baru_ipo = df_emiten_idx[df_emiten_idx['Tanggal Pencatatan'].dt.year.isin([2024, 2025])]['Kode'].tolist()
list_perusahaan_baru_ipo.append('PJHB')
list_perusahaan_baru_ipo
['ASLI',
 'CGAS',
 'NICE',
 'MSJA',
 'SMLE',
 'ACRO',
 'MANG',
 'GRPH',
 'SMGA',
 'UNTD',
 'TOSK',
 'MPIX',
 'ALII',
 'MKAP',
 'MEJA',
 'LIVE',
 'HYGN',
 'BAIK',
 'VISI',
 'AREA',
 'MHKI',
 'ATLA',
 'DATA',
 'SOLA',
 'BATR',
 'SPRE',
 'PART',
 'GOLF',
 'ISEA',
 'BLES',
 'GUNA',
 'LABS',
 'DOSS',
 'NEST',
 'PTMR',
 'VERN',
 'DAAZ',
 'BOAT',
 'NAIK',
 'AADI',
 'MDIY',
 'KSIX',
 'RATU',
 'YOII',
 'HGII',
 'BRRC',
 'DGWG',
 'CBDK',
 'OBAT',
 'MINE',
 'ASPR',
 'PSAT',
 'COIN',
 'CDIA',
 'BLOG',
 'MERI',
 'CHEK',
 'PMUI',
 'EMAS',
 'KAQI',
 'YUPI',
 'FORE',
 'MDLA',
 'DKHH',
 'PJHB']
print('Baris data finansial yang akan dihapus :')
df_findat_final[df_findat_final['ticker'].isin(list_perusahaan_baru_ipo)]
Baris data finansial yang akan dihapus :
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
0 AADI 2024 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 42324475.248000 96469808.484000 2.537000 2.292000 21593100.594000 35641809.096000 14048708.502000 1103501.802000 105989.232000 23185756.224000 NaN NaN 23924525.640000 54145333.236000 22391497.002000 61072270.545424 84304634.017260 18392374.252099 19927346.291702 18392374.252099 21026086.808611 18994042.847576 -16098252.230656 7786891760.000000 65993.907666 8475.000000 78069858.876000 25454061.012000 37588.830000
1 AADI 2023 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 35027575.128000 108867787.224000 1.818000 1.699000 22687219.212000 50406307.896000 27719088.684000 1003297.260000 66758.034000 2978539.704000 NaN NaN 14784754.278000 73840212.096000 14962801.392000 63789705.022615 90132389.148923 21711813.969577 23121835.271885 21711813.969577 19592972.794962 9069085.144385 -12888255.983885 7008202560.000000 NaN NaN 88624966.374000 39810523.914000 35390.544000
2 AADI 2022 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 53697263.230000 123705349.494000 2.043000 1.960000 34306837.619000 67190488.975000 32883651.356000 1864970.784000 10124.908000 16805809.909000 NaN NaN 18638045.561000 70008086.264000 13750882.913000 56091453.934708 114740624.204931 52675640.780862 57656683.481331 52675640.780862 34894343.232646 46564112.440085 27880000.623946 7008203000.000000 NaN NaN 88646131.825000 54122633.598000 32610.900000
3 AADI 2021 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None 36597123.720000 88200470.070000 2.217000 2.091000 18995952.510000 34608541.707000 15612589.197000 1033762.320000 95027.490000 16900161.822000 NaN NaN 18489656.871000 51603346.350000 15934956.066000 33903719.536034 55264915.482548 18421357.075862 23354567.767490 18421357.075862 11866461.387490 15245298.528812 5766604.814061 7008203000.000000 NaN NaN 70093003.221000 24558551.190000 6154.704000
4 AADI 2020 PT Adaro Andalan Indonesia Tbk (IDX:AADI) 2024-12-03 Coal and Consumable Fuels 4422654 IDX Energy and Utilities Indonesia Cyber 2 Tower www.adaroindonesia.com PT Adaro Andalan Indonesia Tbk engages in the ... Public Company None Operating None No None None Yes No No None Freight Service; Marine Transportation; Mining... None 2004.000000 2004-12-01 00:00:00 NaN NaT None 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta None None None NA% None None None None None None None None PT Alamtri Resources Indonesia Tbk (Current In... 1.890000 147513763.000000 1143231.663250 5.870000 456756180.000000 3539860.395000 5550.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
15618 YUPI 2012 PT Yupi Indo Jelly Gum Tbk (IDX:YUPI) 2025-03-21 Packaged Foods and Meats Producers 8608372 IDX Consumer Indonesia Gedung Mugi Griya Lt 4 www.yupindo.com PT Yupi Indo Jelly Gum Tbk manufactures and se... Public Company None Operating Subsidiary None No None None Yes No No None Fast-Moving Consumer Goods; Packaging Services... None 1995.000000 1995-07-06 00:00:00 NaN NaT None 2025-09-01 Packaged Foods and Meats Producers; Confection... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta Selatan PT Sweets Indonesia None None 0.899000 Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... PT Sweets Indonesia None None Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... Indonesia Affinity Equity Partners Limited (Current Inve... NaN NaN NaN NaN NaN NaN 2390.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15619 YUPI 2011 PT Yupi Indo Jelly Gum Tbk (IDX:YUPI) 2025-03-21 Packaged Foods and Meats Producers 8608372 IDX Consumer Indonesia Gedung Mugi Griya Lt 4 www.yupindo.com PT Yupi Indo Jelly Gum Tbk manufactures and se... Public Company None Operating Subsidiary None No None None Yes No No None Fast-Moving Consumer Goods; Packaging Services... None 1995.000000 1995-07-06 00:00:00 NaN NaT None 2025-09-01 Packaged Foods and Meats Producers; Confection... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta Selatan PT Sweets Indonesia None None 0.899000 Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... PT Sweets Indonesia None None Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... Indonesia Affinity Equity Partners Limited (Current Inve... NaN NaN NaN NaN NaN NaN 2390.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15620 YUPI 2010 PT Yupi Indo Jelly Gum Tbk (IDX:YUPI) 2025-03-21 Packaged Foods and Meats Producers 8608372 IDX Consumer Indonesia Gedung Mugi Griya Lt 4 www.yupindo.com PT Yupi Indo Jelly Gum Tbk manufactures and se... Public Company None Operating Subsidiary None No None None Yes No No None Fast-Moving Consumer Goods; Packaging Services... None 1995.000000 1995-07-06 00:00:00 NaN NaT None 2025-09-01 Packaged Foods and Meats Producers; Confection... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta Selatan PT Sweets Indonesia None None 0.899000 Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... PT Sweets Indonesia None None Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... Indonesia Affinity Equity Partners Limited (Current Inve... NaN NaN NaN NaN NaN NaN 2390.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15621 YUPI 2009 PT Yupi Indo Jelly Gum Tbk (IDX:YUPI) 2025-03-21 Packaged Foods and Meats Producers 8608372 IDX Consumer Indonesia Gedung Mugi Griya Lt 4 www.yupindo.com PT Yupi Indo Jelly Gum Tbk manufactures and se... Public Company None Operating Subsidiary None No None None Yes No No None Fast-Moving Consumer Goods; Packaging Services... None 1995.000000 1995-07-06 00:00:00 NaN NaT None 2025-09-01 Packaged Foods and Meats Producers; Confection... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta Selatan PT Sweets Indonesia None None 0.899000 Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... PT Sweets Indonesia None None Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... Indonesia Affinity Equity Partners Limited (Current Inve... NaN NaN NaN NaN NaN NaN 2390.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15622 YUPI 2008 PT Yupi Indo Jelly Gum Tbk (IDX:YUPI) 2025-03-21 Packaged Foods and Meats Producers 8608372 IDX Consumer Indonesia Gedung Mugi Griya Lt 4 www.yupindo.com PT Yupi Indo Jelly Gum Tbk manufactures and se... Public Company None Operating Subsidiary None No None None Yes No No None Fast-Moving Consumer Goods; Packaging Services... None 1995.000000 1995-07-06 00:00:00 NaN NaT None 2025-09-01 Packaged Foods and Meats Producers; Confection... Producers Packaged Foods and Meats Producers None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta Selatan PT Sweets Indonesia None None 0.899000 Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... PT Sweets Indonesia None None Jakarta Selatan Holding Companies, Patent Owners, and Trusts o... Indonesia Affinity Equity Partners Limited (Current Inve... NaN NaN NaN NaN NaN NaN 2390.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

1105 rows × 91 columns

df_findat_final = df_findat_final[~df_findat_final['ticker'].isin(list_perusahaan_baru_ipo)]
print("Dataset Setelah Emiten Baru IPO Dihapus :\n")
df_findat_final
Dataset Setelah Emiten Baru IPO Dihapus :
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
17 AALI 2024 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 5591163.000000 28793225.000000 2.605000 1.126000 5195985.000000 8433638.000000 3237653.000000 3981669.000000 NaN 1500000.000000 NaN NaN 3189537.000000 23202062.000000 17429693.000000 18358928.000000 21815035.000000 1788141.000000 3202738.000000 1788141.000000 1186783.000000 3379195.000000 1146504.000000 1924688333.000000 11933.067665 6200.000000 26391599.000000 3236012.000000 NaN
18 AALI 2023 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 6280237.000000 28846243.000000 1.834000 0.765000 3236061.000000 7118202.000000 3882141.000000 3122454.000000 NaN 1689754.000000 NaN NaN 4005052.000000 22566006.000000 18105649.000000 17950652.000000 20745473.000000 1672092.000000 3007949.000000 1672092.000000 1088170.000000 2538738.000000 469892.000000 1924688333.000000 13520.935539 7025.000000 26571058.000000 2089508.000000 NaN
19 AALI 2022 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 7006119.000000 29249340.000000 3.600000 1.227000 5337669.000000 7390608.000000 2052939.000000 3434768.000000 NaN 4048767.000000 NaN NaN 4053767.000000 22243221.000000 17996321.000000 18176356.000000 21828591.000000 2447192.000000 3710458.000000 2447192.000000 1792050.000000 1835397.000000 -2276406.000000 1924688333.000000 15445.623872 8025.000000 26296988.000000 1619616.000000 NaN
20 AALI 2021 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 9228733.000000 30399906.000000 1.579000 0.752000 3453812.000000 9414208.000000 5960396.000000 3381506.000000 NaN 2253611.000000 NaN NaN 5818072.000000 21171173.000000 17781227.000000 19442136.000000 24322048.000000 3066334.000000 4314916.000000 3066334.000000 2067362.000000 4895119.000000 2917130.000000 1924688333.000000 18284.539164 9500.000000 26989245.000000 3896022.000000 NaN
21 AALI 2020 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 8533437.000000 27781231.000000 3.313000 1.322000 4145384.000000 5937890.000000 1792506.000000 2505048.000000 NaN 5858300.000000 NaN NaN 5858300.000000 19247794.000000 17741481.000000 15809752.000000 18807043.000000 1708412.000000 3031177.000000 1708412.000000 893779.000000 2322164.000000 595526.000000 1924688333.000000 23721.783704 12325.000000 25106094.000000 978892.000000 NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
15703 ZYRX 2012 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 2021-03-26 Technology Hardware, Storage and Peripherals 5557676 IDX Technology, Media & Telecommunications Indonesia Jl. Daan Mogot No. 59 zyrex.com PT Zyrexindo Mandiri Buana Tbk assembles and s... Public Company None Operating None No Full Consolidated Yes No No PT Zyrexindo Mandiri Buana Tbk actively operat... Software Development; Sensors; Cloud Infrastru... None 1996.000000 None 1996.000000 1996-05-14 Dec 2025-08-01 Technology Hardware, Storage and Peripherals; ... Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Jakarta Barat None None None NA% None None None None None None None None None NaN NaN NaN 75.160000 1002076700.000000 178369.652600 250.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15704 ZYRX 2011 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 2021-03-26 Technology Hardware, Storage and Peripherals 5557676 IDX Technology, Media & Telecommunications Indonesia Jl. Daan Mogot No. 59 zyrex.com PT Zyrexindo Mandiri Buana Tbk assembles and s... Public Company None Operating None No Full Consolidated Yes No No PT Zyrexindo Mandiri Buana Tbk actively operat... Software Development; Sensors; Cloud Infrastru... None 1996.000000 None 1996.000000 1996-05-14 Dec 2025-08-01 Technology Hardware, Storage and Peripherals; ... Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Jakarta Barat None None None NA% None None None None None None None None None NaN NaN NaN 75.160000 1002076700.000000 178369.652600 250.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15705 ZYRX 2010 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 2021-03-26 Technology Hardware, Storage and Peripherals 5557676 IDX Technology, Media & Telecommunications Indonesia Jl. Daan Mogot No. 59 zyrex.com PT Zyrexindo Mandiri Buana Tbk assembles and s... Public Company None Operating None No Full Consolidated Yes No No PT Zyrexindo Mandiri Buana Tbk actively operat... Software Development; Sensors; Cloud Infrastru... None 1996.000000 None 1996.000000 1996-05-14 Dec 2025-08-01 Technology Hardware, Storage and Peripherals; ... Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Jakarta Barat None None None NA% None None None None None None None None None NaN NaN NaN 75.160000 1002076700.000000 178369.652600 250.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15706 ZYRX 2009 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 2021-03-26 Technology Hardware, Storage and Peripherals 5557676 IDX Technology, Media & Telecommunications Indonesia Jl. Daan Mogot No. 59 zyrex.com PT Zyrexindo Mandiri Buana Tbk assembles and s... Public Company None Operating None No Full Consolidated Yes No No PT Zyrexindo Mandiri Buana Tbk actively operat... Software Development; Sensors; Cloud Infrastru... None 1996.000000 None 1996.000000 1996-05-14 Dec 2025-08-01 Technology Hardware, Storage and Peripherals; ... Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Jakarta Barat None None None NA% None None None None None None None None None NaN NaN NaN 75.160000 1002076700.000000 178369.652600 250.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
15707 ZYRX 2008 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 2021-03-26 Technology Hardware, Storage and Peripherals 5557676 IDX Technology, Media & Telecommunications Indonesia Jl. Daan Mogot No. 59 zyrex.com PT Zyrexindo Mandiri Buana Tbk assembles and s... Public Company None Operating None No Full Consolidated Yes No No PT Zyrexindo Mandiri Buana Tbk actively operat... Software Development; Sensors; Cloud Infrastru... None 1996.000000 None 1996.000000 1996-05-14 Dec 2025-08-01 Technology Hardware, Storage and Peripherals; ... Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Information Technology Technology Hardware and Equipment Technology Hardware, Storage and Peripherals Jakarta Barat None None None NA% None None None None None None None None None NaN NaN NaN 75.160000 1002076700.000000 178369.652600 250.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

14501 rows × 91 columns

Hapus Baris Tahun Sebelum IPO

print('Cek perusahaan yang ada di df_findat_final tapi tidak ada di df_emiten_idx')
df_findat_final[~df_findat_final['ticker'].isin(df_emiten_idx['Kode'])]
Cek perusahaan yang ada di df_findat_final tapi tidak ada di df_emiten_idx
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
dict_perusahaan_tahun_ipo = dict(zip(df_emiten_idx['Kode'], df_emiten_idx['Tanggal Pencatatan'].dt.year))
print(dict_perusahaan_tahun_ipo)
{'AALI': 1997, 'ABBA': 2002, 'ABDA': 1989, 'ABMM': 2011, 'ACES': 2007, 'ACST': 2013, 'ADES': 1994, 'ADHI': 2004, 'ADMF': 2004, 'ADMG': 1993, 'ADRO': 2008, 'AGII': 2016, 'AGRO': 2003, 'AGRS': 2014, 'AHAP': 1990, 'AIMS': 2001, 'AISA': 1997, 'AKKU': 2004, 'AKPI': 1992, 'AKRA': 1994, 'AKSI': 2001, 'ALDO': 2011, 'ALKA': 1990, 'ALMI': 1997, 'ALTO': 2012, 'AMAG': 2005, 'AMFG': 1995, 'AMIN': 2015, 'AMRT': 2009, 'ANJT': 2013, 'ANTM': 1997, 'APEX': 2013, 'APIC': 2002, 'APII': 2013, 'APLI': 2000, 'APLN': 2010, 'ARGO': 1991, 'ARII': 2011, 'ARNA': 2001, 'ARTA': 2002, 'ARTI': 2003, 'ARTO': 2016, 'ASBI': 1989, 'ASDM': 1989, 'ASGR': 1989, 'ASII': 1990, 'ASJT': 2003, 'ASMI': 2014, 'ASRI': 2007, 'ASRM': 1990, 'ASSA': 2012, 'ATIC': 2015, 'AUTO': 1998, 'BABP': 2002, 'BACA': 2007, 'BAJA': 2011, 'BALI': 2014, 'BAPA': 2008, 'BATA': 1982, 'BAYU': 1989, 'BBCA': 2000, 'BBHI': 2015, 'BBKP': 2006, 'BBLD': 1990, 'BBMD': 2013, 'BBNI': 1996, 'BBRI': 2003, 'BBRM': 2013, 'BBTN': 2009, 'BBYB': 2015, 'BCAP': 2001, 'BCIC': 1997, 'BCIP': 2009, 'BDMN': 1989, 'BEKS': 2001, 'BEST': 2012, 'BFIN': 1990, 'BGTG': 2016, 'BHIT': 1997, 'BIKA': 2015, 'BIMA': 1994, 'BINA': 2014, 'BIPI': 2010, 'BIPP': 1995, 'BIRD': 2014, 'BISI': 2007, 'BJBR': 2010, 'BJTM': 2012, 'BKDP': 2007, 'BKSL': 1997, 'BKSW': 2002, 'BLTA': 1990, 'BLTZ': 2014, 'BMAS': 2013, 'BMRI': 2003, 'BMSR': 1999, 'BMTR': 1995, 'BNBA': 2006, 'BNBR': 1989, 'BNGA': 1989, 'BNII': 1989, 'BNLI': 1990, 'BOLT': 2015, 'BPFI': 2009, 'BPII': 2014, 'BRAM': 1990, 'BRMS': 2010, 'BRNA': 1989, 'BRPT': 1993, 'BSDE': 2008, 'BSIM': 2010, 'BSSR': 2012, 'BSWD': 2002, 'BTEK': 2004, 'BTEL': 2006, 'BTON': 2001, 'BTPN': 2008, 'BUDI': 1995, 'BUKK': 2015, 'BULL': 2011, 'BUMI': 1990, 'BUVA': 2010, 'BVIC': 1999, 'BWPT': 2009, 'BYAN': 2008, 'CANI': 2014, 'CASS': 2011, 'CEKA': 1996, 'CENT': 2001, 'CFIN': 1990, 'CINT': 2014, 'CITA': 2002, 'CLPI': 2001, 'CMNP': 1995, 'CMPP': 1994, 'CNKO': 2001, 'CNTX': 1979, 'COWL': 2007, 'CPIN': 1991, 'CPRO': 2006, 'CSAP': 2007, 'CTBN': 1989, 'CTRA': 1994, 'CTTH': 1996, 'DART': 1990, 'DEFI': 2001, 'DEWA': 2007, 'DGIK': 2007, 'DILD': 1991, 'DKFT': 1997, 'DLTA': 1984, 'DMAS': 2015, 'DNAR': 2014, 'DNET': 2000, 'DOID': 2001, 'DPNS': 1990, 'DSFI': 2000, 'DSNG': 2013, 'DSSA': 2009, 'DUTI': 1994, 'DVLA': 1994, 'DYAN': 2013, 'ECII': 2013, 'EKAD': 1990, 'ELSA': 2008, 'ELTY': 1995, 'EMDE': 2011, 'EMTK': 2010, 'ENRG': 2004, 'EPMT': 1994, 'ERAA': 2011, 'ERTX': 1990, 'ESSA': 2012, 'ESTI': 1992, 'ETWA': 1997, 'EXCL': 2005, 'FAST': 1993, 'FASW': 1994, 'FISH': 2002, 'FMII': 2000, 'FORU': 2002, 'FPNI': 2002, 'GAMA': 2012, 'GDST': 2009, 'GDYR': 1980, 'GEMA': 2002, 'GEMS': 2011, 'GGRM': 1990, 'GIAA': 2011, 'GJTL': 1990, 'GLOB': 2012, 'GMTD': 2000, 'GOLD': 2010, 'GOLL': 2014, 'GPRA': 2007, 'GSMF': 1989, 'GTBO': 2009, 'GWSA': 2011, 'GZCO': 2008, 'HADE': 2004, 'HDFA': 2011, 'HERO': 1989, 'HEXA': 1995, 'HITS': 1997, 'HMSP': 1990, 'HOME': 2008, 'HOTL': 2013, 'HRUM': 2010, 'IATA': 2006, 'IBFN': 2014, 'IBST': 2012, 'ICBP': 2010, 'ICON': 2005, 'IGAR': 1990, 'IIKP': 2002, 'IKAI': 1997, 'IKBI': 1991, 'IMAS': 1993, 'IMJS': 2013, 'IMPC': 2014, 'INAF': 2001, 'INAI': 1994, 'INCI': 1990, 'INCO': 1990, 'INDF': 1994, 'INDR': 1990, 'INDS': 1990, 'INDX': 2001, 'INDY': 2008, 'INKP': 1990, 'INPC': 1990, 'INPP': 2004, 'INRU': 1990, 'INTA': 1993, 'INTD': 1989, 'INTP': 1989, 'IPOL': 2010, 'ISAT': 1994, 'ISSP': 2013, 'ITMA': 1990, 'ITMG': 2007, 'JAWA': 2011, 'JECC': 1992, 'JIHD': 1984, 'JKON': 2007, 'JPFA': 1989, 'JRPT': 1994, 'JSMR': 2007, 'JSPT': 1998, 'JTPE': 2002, 'KAEF': 2001, 'KARW': 1994, 'KBLI': 1992, 'KBLM': 1992, 'KBLV': 2000, 'KBRI': 2008, 'KDSI': 1996, 'KIAS': 1994, 'KICI': 1993, 'KIJA': 1995, 'KKGI': 1991, 'KLBF': 1991, 'KOBX': 2012, 'KOIN': 2008, 'KONI': 1995, 'KOPI': 2015, 'KPIG': 2000, 'KRAS': 2010, 'KREN': 2002, 'LAPD': 2001, 'LCGP': 2007, 'LEAD': 2013, 'LINK': 2014, 'LION': 1993, 'LMAS': 2001, 'LMPI': 1994, 'LMSH': 1990, 'LPCK': 1997, 'LPGI': 1997, 'LPIN': 1990, 'LPKR': 1996, 'LPLI': 1989, 'LPPF': 1989, 'LPPS': 1994, 'LRNA': 2014, 'LSIP': 1996, 'LTLS': 1997, 'MAGP': 2013, 'MAIN': 2006, 'MAPI': 2004, 'MASA': 2005, 'MAYA': 1997, 'MBAP': 2014, 'MBSS': 2011, 'MBTO': 2011, 'MCOR': 2007, 'MDIA': 2014, 'MDKA': 2015, 'MDLN': 1993, 'MDRN': 1991, 'MEDC': 1994, 'MEGA': 2000, 'MERK': 1981, 'META': 2001, 'MFIN': 2005, 'MFMI': 2010, 'MGNA': 2014, 'MICE': 2005, 'MIDI': 2010, 'MIKA': 2015, 'MIRA': 1997, 'MITI': 1997, 'MKPI': 2009, 'MLBI': 1981, 'MLIA': 1994, 'MLPL': 1989, 'MLPT': 2013, 'MMLP': 2015, 'MNCN': 2007, 'MPMX': 2013, 'MPPA': 1992, 'MRAT': 1995, 'MREI': 1989, 'MSKY': 2012, 'MTDL': 1990, 'MTFN': 1990, 'MTLA': 2011, 'MTSM': 1992, 'MYOH': 2000, 'MYOR': 1990, 'MYTX': 1989, 'NELY': 2012, 'NIKL': 2009, 'NIRO': 2012, 'NISP': 1994, 'NOBU': 2013, 'NRCA': 2013, 'OCAP': 2003, 'OKAS': 2006, 'OMRE': 1994, 'PADI': 2012, 'PALM': 2012, 'PANR': 2001, 'PANS': 2000, 'PBRX': 1990, 'PDES': 2008, 'PEGE': 2005, 'PGAS': 2003, 'PGLI': 2000, 'PICO': 1996, 'PJAA': 2004, 'PKPK': 2007, 'PLAS': 2001, 'PLIN': 1992, 'PNBN': 1982, 'PNBS': 2014, 'PNIN': 1983, 'PNLF': 1983, 'PNSE': 1990, 'POLY': 1991, 'POOL': 1991, 'PPRO': 2015, 'PSAB': 2003, 'PSDN': 1994, 'PSKT': 1995, 'PTBA': 2002, 'PTIS': 2011, 'PTPP': 2010, 'PTRO': 1990, 'PTSN': 2007, 'PTSP': 1994, 'PUDP': 1994, 'PWON': 1989, 'PYFA': 2001, 'RAJA': 2006, 'RALS': 1996, 'RANC': 2012, 'RBMS': 1997, 'RDTX': 1990, 'RELI': 2005, 'RICY': 1998, 'RIGS': 1990, 'RIMO': 2000, 'RODA': 2001, 'ROTI': 2010, 'RUIS': 2006, 'SAFE': 1994, 'SAME': 2013, 'SCCO': 1982, 'SCMA': 2002, 'SCPI': 1990, 'SDMU': 2011, 'SDPC': 1990, 'SDRA': 2006, 'SGRO': 2007, 'SHID': 1990, 'SIDO': 2013, 'SILO': 2013, 'SIMA': 1994, 'SIMP': 2011, 'SIPD': 1996, 'SKBM': 2012, 'SKLT': 1993, 'SKYB': 2010, 'SMAR': 1992, 'SMBR': 2013, 'SMCB': 1977, 'SMDM': 1995, 'SMDR': 1999, 'SMGR': 1991, 'SMMA': 1995, 'SMMT': 1997, 'SMRA': 1990, 'SMRU': 2011, 'SMSM': 1996, 'SOCI': 2014, 'SONA': 1992, 'SPMA': 1994, 'SQMI': 2004, 'SRAJ': 2011, 'SRIL': 2013, 'SRSN': 1993, 'SRTG': 2013, 'SSIA': 1997, 'SSMS': 2013, 'SSTM': 1997, 'STAR': 2011, 'STTP': 1996, 'SUGI': 2002, 'SULI': 1994, 'SUPR': 2011, 'TALF': 2014, 'TARA': 2014, 'TAXI': 2012, 'TBIG': 2010, 'TBLA': 2000, 'TBMS': 1990, 'TCID': 1993, 'TELE': 2012, 'TFCO': 1980, 'TGKA': 1990, 'TIFA': 2011, 'TINS': 1995, 'TIRA': 1993, 'TIRT': 1999, 'TKIM': 1990, 'TLKM': 1995, 'TMAS': 2003, 'TMPO': 2001, 'TOBA': 2012, 'TOTL': 2006, 'TOTO': 1990, 'TOWR': 2010, 'TPIA': 2008, 'TPMA': 2013, 'TRAM': 2008, 'TRIL': 2008, 'TRIM': 2000, 'TRIO': 2009, 'TRIS': 2012, 'TRST': 1990, 'TRUS': 2002, 'TSPC': 1994, 'ULTJ': 1990, 'UNIC': 1989, 'UNIT': 2002, 'UNSP': 1990, 'UNTR': 1989, 'UNVR': 1982, 'VICO': 2013, 'VINS': 2015, 'VIVA': 2011, 'VOKS': 1990, 'VRNA': 2008, 'WAPO': 2001, 'WEHA': 2007, 'WICO': 1994, 'WIIM': 2012, 'WIKA': 2007, 'WINS': 2010, 'WOMF': 2004, 'WSKT': 2012, 'WTON': 2014, 'YPAS': 2008, 'YULE': 2004, 'ZBRA': 1991, 'SHIP': 2016, 'CASA': 2016, 'DAYA': 2016, 'DPUM': 2015, 'IDPR': 2015, 'JGLE': 2016, 'KINO': 2015, 'MARI': 2016, 'MKNT': 2015, 'MTRA': 2016, 'OASA': 2016, 'POWR': 2016, 'INCF': 2016, 'WSBP': 2016, 'PBSA': 2016, 'PRDA': 2016, 'BOGA': 2016, 'BRIS': 2018, 'PORT': 2017, 'CARS': 2017, 'MINA': 2017, 'CLEO': 2017, 'TAMU': 2017, 'CSIS': 2017, 'TGRA': 2017, 'FIRE': 2017, 'TOPS': 2017, 'KMTR': 2017, 'ARMY': 2017, 'MAPB': 2017, 'WOOD': 2017, 'HRTA': 2017, 'MABA': 2017, 'HOKI': 2017, 'MPOW': 2017, 'MARK': 2017, 'NASA': 2017, 'MDKI': 2017, 'BELL': 2017, 'KIOS': 2017, 'GMFI': 2017, 'MTWI': 2017, 'ZINC': 2017, 'MCAS': 2017, 'PPRE': 2017, 'WEGE': 2017, 'PSSI': 2017, 'MORA': 2022, 'DWGL': 2017, 'PBID': 2017, 'JMAS': 2017, 'CAMP': 2017, 'IPCM': 2017, 'PCAR': 2017, 'LCKM': 2018, 'BOSS': 2018, 'HELI': 2018, 'JSKY': 2018, 'INPS': 2018, 'GHON': 2018, 'TDPM': 2018, 'DFAM': 2018, 'NICK': 2018, 'BTPS': 2018, 'SPTO': 2018, 'PRIM': 2018, 'HEAL': 2018, 'TRUK': 2018, 'PZZA': 2018, 'TUGU': 2018, 'MSIN': 2018, 'SWAT': 2018, 'TNCA': 2018, 'MAPA': 2018, 'TCPI': 2018, 'IPCC': 2018, 'RISE': 2018, 'BPTR': 2018, 'POLL': 2018, 'NFCX': 2018, 'MGRO': 2018, 'NUSA': 2018, 'FILM': 2018, 'ANDI': 2018, 'LAND': 2018, 'MOLI': 2018, 'PANI': 2018, 'DIGI': 2018, 'CITY': 2018, 'SAPX': 2018, 'SURE': 2018, 'HKMU': 2018, 'MPRO': 2018, 'DUCK': 2018, 'GOOD': 2018, 'SKRN': 2018, 'YELO': 2018, 'CAKK': 2018, 'SATU': 2018, 'SOSS': 2018, 'DEAL': 2018, 'POLA': 2018, 'DIVA': 2018, 'LUCK': 2018, 'URBN': 2018, 'SOTS': 2018, 'ZONE': 2018, 'PEHA': 2018, 'FOOD': 2019, 'BEEF': 2019, 'POLI': 2019, 'CLAY': 2019, 'NATO': 2019, 'JAYA': 2019, 'COCO': 2019, 'MTPS': 2019, 'CPRI': 2019, 'HRME': 2019, 'POSA': 2019, 'JAST': 2019, 'FITT': 2019, 'BOLA': 2019, 'CCSI': 2019, 'SFAN': 2019, 'POLU': 2019, 'KJEN': 2019, 'KAYU': 2019, 'ITIC': 2019, 'PAMG': 2019, 'IPTV': 2019, 'BLUE': 2019, 'ENVY': 2019, 'EAST': 2019, 'LIFE': 2019, 'FUJI': 2019, 'KOTA': 2019, 'INOV': 2019, 'ARKA': 2019, 'SMKL': 2019, 'HDIT': 2019, 'KEEN': 2019, 'BAPI': 2019, 'TFAS': 2019, 'GGRP': 2019, 'OPMS': 2019, 'NZIA': 2019, 'SLIS': 2019, 'PURE': 2019, 'IRRA': 2019, 'DMMX': 2019, 'SINI': 2019, 'WOWS': 2019, 'ESIP': 2019, 'TEBE': 2019, 'KEJU': 2019, 'PSGO': 2019, 'AGAR': 2019, 'IFSH': 2019, 'REAL': 2019, 'IFII': 2019, 'PMJS': 2019, 'UCID': 2019, 'GLVA': 2019, 'PGJO': 2020, 'AMAR': 2020, 'CSRA': 2020, 'INDO': 2020, 'AMOR': 2020, 'TRIN': 2020, 'DMND': 2020, 'PURA': 2020, 'PTPW': 2020, 'TAMA': 2020, 'IKAN': 2020, 'SAMF': 2020, 'SBAT': 2020, 'KBAG': 2020, 'CBMF': 2020, 'RONY': 2020, 'CSMI': 2020, 'BBSS': 2020, 'BHAT': 2020, 'CASH': 2020, 'TECH': 2020, 'EPAC': 2020, 'UANG': 2020, 'PGUN': 2020, 'SOFA': 2020, 'PPGL': 2020, 'TOYS': 2020, 'SGER': 2020, 'TRJA': 2020, 'PNGO': 2020, 'SCNP': 2020, 'BBSI': 2020, 'KMDS': 2020, 'PURI': 2020, 'SOHO': 2020, 'HOMI': 2020, 'ROCK': 2020, 'ENZO': 2020, 'PLAN': 2020, 'PTDU': 2020, 'ATAP': 2020, 'VICI': 2020, 'PMMP': 2020, 'WIFI': 2020, 'FAPA': 2021, 'DCII': 2021, 'KETR': 2021, 'DGNS': 2021, 'UFOE': 2021, 'BANK': 2021, 'WMUU': 2021, 'EDGE': 2021, 'UNIQ': 2021, 'BEBS': 2021, 'SNLK': 2021, 'ZYRX': 2021, 'LFLO': 2021, 'FIMP': 2021, 'TAPG': 2021, 'NPGF': 2021, 'LUCY': 2021, 'ADCP': 2021, 'HOPE': 2021, 'MGLV': 2021, 'TRUE': 2021, 'LABA': 2021, 'ARCI': 2021, 'IPAC': 2021, 'MASB': 2021, 'BMHS': 2021, 'FLMC': 2021, 'NICL': 2021, 'UVCR': 2021, 'BUKA': 2021, 'HAIS': 2021, 'OILS': 2021, 'GPSO': 2021, 'MCOL': 2021, 'RSGK': 2021, 'RUNS': 2021, 'SBMA': 2021, 'CMNT': 2021, 'GTSI': 2021, 'IDEA': 2021, 'KUAS': 2021, 'BOBA': 2021, 'MTEL': 2021, 'DEPO': 2021, 'BINO': 2021, 'CMRY': 2021, 'WGSH': 2021, 'TAYS': 2021, 'WMPP': 2021, 'RMKE': 2021, 'OBMD': 2021, 'AVIA': 2021, 'IPPE': 2021, 'NASI': 2021, 'BSML': 2021, 'DRMA': 2021, 'ADMR': 2022, 'SEMA': 2022, 'ASLC': 2022, 'NETV': 2022, 'BAUT': 2022, 'ENAK': 2022, 'NTBK': 2022, 'SMKM': 2022, 'STAA': 2022, 'NANO': 2022, 'BIKE': 2022, 'WIRG': 2022, 'SICO': 2022, 'GOTO': 2022, 'TLDN': 2022, 'MTMH': 2022, 'WINR': 2022, 'IBOS': 2022, 'OLIV': 2022, 'ASHA': 2022, 'SWID': 2022, 'TRGU': 2022, 'ARKO': 2022, 'CHEM': 2022, 'DEWI': 2022, 'AXIO': 2022, 'KRYA': 2022, 'HATM': 2022, 'RCCC': 2022, 'GULA': 2022, 'JARR': 2022, 'AMMS': 2022, 'RAFI': 2022, 'KKES': 2022, 'ELPI': 2022, 'EURO': 2022, 'KLIN': 2022, 'TOOL': 2022, 'BUAH': 2022, 'CRAB': 2022, 'MEDS': 2022, 'COAL': 2022, 'PRAY': 2022, 'CBUT': 2022, 'BELI': 2022, 'MKTR': 2022, 'OMED': 2022, 'BSBK': 2022, 'PDPP': 2022, 'KDTN': 2022, 'ZATA': 2022, 'NINE': 2022, 'MMIX': 2022, 'PADA': 2022, 'ISAP': 2022, 'VTNY': 2022, 'SOUL': 2023, 'ELIT': 2023, 'BEER': 2023, 'CBPE': 2023, 'SUNI': 2023, 'CBRE': 2023, 'WINE': 2023, 'BMBL': 2023, 'PEVE': 2023, 'LAJU': 2023, 'FWCT': 2023, 'NAYZ': 2023, 'IRSX': 2023, 'PACK': 2023, 'VAST': 2023, 'CHIP': 2023, 'HALO': 2023, 'KING': 2023, 'PGEO': 2023, 'FUTR': 2023, 'HILL': 2023, 'BDKR': 2023, 'PTMP': 2023, 'SAGE': 2023, 'TRON': 2023, 'CUAN': 2023, 'NSSS': 2023, 'GTRA': 2023, 'HAJJ': 2023, 'PIPA': 2023, 'NCKL': 2023, 'MENN': 2023, 'AWAN': 2023, 'MBMA': 2023, 'RAAM': 2023, 'DOOH': 2023, 'JATI': 2023, 'TYRE': 2023, 'MPXL': 2023, 'SMIL': 2023, 'KLAS': 2023, 'MAXI': 2023, 'VKTR': 2023, 'RELF': 2023, 'AMMN': 2023, 'CRSN': 2023, 'GRPM': 2023, 'WIDI': 2023, 'TGUK': 2023, 'INET': 2023, 'MAHA': 2023, 'RMKO': 2023, 'CNMA': 2023, 'FOLK': 2023, 'HBAT': 2023, 'GRIA': 2023, 'PPRI': 2023, 'ERAL': 2023, 'CYBR': 2023, 'MUTU': 2023, 'LMAX': 2023, 'HUMI': 2023, 'MSIE': 2023, 'RSCH': 2023, 'BABY': 2023, 'AEGS': 2023, 'IOTF': 2023, 'KOCI': 2023, 'PTPS': 2023, 'BREN': 2023, 'STRK': 2023, 'KOKA': 2023, 'LOPI': 2023, 'UDNG': 2023, 'RGAS': 2023, 'MSTI': 2023, 'IKPM': 2023, 'AYAM': 2023, 'SURI': 2023, 'ASLI': 2024, 'CGAS': 2024, 'NICE': 2024, 'MSJA': 2024, 'SMLE': 2024, 'ACRO': 2024, 'MANG': 2024, 'GRPH': 2024, 'SMGA': 2024, 'UNTD': 2024, 'TOSK': 2024, 'MPIX': 2024, 'ALII': 2024, 'MKAP': 2024, 'MEJA': 2024, 'LIVE': 2024, 'HYGN': 2024, 'BAIK': 2024, 'VISI': 2024, 'AREA': 2024, 'MHKI': 2024, 'ATLA': 2024, 'DATA': 2024, 'SOLA': 2024, 'BATR': 2024, 'SPRE': 2024, 'PART': 2024, 'GOLF': 2024, 'ISEA': 2024, 'BLES': 2024, 'GUNA': 2024, 'LABS': 2024, 'DOSS': 2024, 'NEST': 2024, 'PTMR': 2024, 'VERN': 2024, 'DAAZ': 2024, 'BOAT': 2024, 'NAIK': 2024, 'AADI': 2024, 'MDIY': 2024, 'KSIX': 2025, 'RATU': 2025, 'YOII': 2025, 'HGII': 2025, 'BRRC': 2025, 'DGWG': 2025, 'CBDK': 2025, 'OBAT': 2025, 'MINE': 2025, 'ASPR': 2025, 'PSAT': 2025, 'COIN': 2025, 'CDIA': 2025, 'BLOG': 2025, 'MERI': 2025, 'CHEK': 2025, 'PMUI': 2025, 'EMAS': 2025, 'KAQI': 2025, 'YUPI': 2025, 'FORE': 2025, 'MDLA': 2025, 'DKHH': 2025, 'AYLS': 2020, 'DADA': 2020, 'ASPI': 2020, 'ESTA': 2020, 'BESS': 2020, 'AMAN': 2020, 'CARE': 2020}
indices_to_drop = []

for ticker, ipo_year in dict_perusahaan_tahun_ipo.items():
    # Find rows where the ticker matches and the year is before the IPO year
    rows_before_ipo = df_findat_final[
        (df_findat_final['ticker'] == ticker) &
        (df_findat_final['Year'] <= ipo_year)
    ]
    indices_to_drop.extend(rows_before_ipo.index.tolist())
# Baris yang akan dihapus
df_findat_final.loc[indices_to_drop]
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
81 ABMM 2011 PT ABM Investama Tbk (IDX:ABMM) 2011-12-05 Coal and Consumable Fuels 4980353 IDX Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 3750.000000 None None None 7019323.859661 10077243.517333 1.362000 1.088000 1134634.650895 4270489.900468 3135855.249573 414473.810135 26318.699181 2832092.967225 494015.259308 NaN 4929981.462200 3057919.657672 4881836.576369 5237512.675191 6607997.885733 706361.557448 1250603.533610 706361.557448 484431.520834 53032.416782 1190873.399695 2753165000.000000 10530.856125 3825.000000 7987901.119872 1669222.334305 NaN
82 ABMM 2010 PT ABM Investama Tbk (IDX:ABMM) 2011-12-05 Coal and Consumable Fuels 4980353 IDX Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 3750.000000 None None None 3763830.000000 4890266.000000 0.893000 0.700000 -252891.000000 2106194.000000 2359085.000000 301356.000000 11526.000000 841659.000000 292208.000000 NaN 1924066.000000 1126436.000000 2172994.000000 3789687.000000 4486419.000000 271266.000000 705326.000000 271266.000000 127376.000000 612476.000000 -181536.000000 825760000.000000 NaN NaN 3050502.000000 433039.000000 NaN
83 ABMM 2009 PT ABM Investama Tbk (IDX:ABMM) 2011-12-05 Coal and Consumable Fuels 4980353 IDX Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 3750.000000 None None None 3099452.000000 4199977.000000 1.113000 0.879000 203475.000000 2001334.000000 1797859.000000 233936.000000 NaN NaN NaN NaN 0.000000 1100525.000000 1532725.000000 3455803.000000 3926320.000000 491429.000000 NaN 491429.000000 -11346.000000 678998.000000 455151.000000 826000000.000000 NaN NaN 1100525.000000 614575.000000 NaN
84 ABMM 2008 PT ABM Investama Tbk (IDX:ABMM) 2011-12-05 Coal and Consumable Fuels 4980353 IDX Energy and Utilities Indonesia Tiara Marga Trakindo I building www.abm-investama.com PT ABM Investama Tbk, together with its subsid... Public Company None Operating Subsidiary None No None None Yes No No PT ABM Investama Tbk operating in the sectors ... Clean Energy; Freight Service; Marine Transpor... Energy, Precious Metals 2006.000000 2006-06-01 00:00:00 NaN NaT Dec 2025-09-01 Coal and Consumable Fuels Oil, Gas and Coal Coal and Consumable Fuels None Energy Energy Oil, Gas and Consumable Fuels Jakarta PT Tiara Marga Trakindo None None 0.535500 Jakarta Industrial Conglomerates PT Tiara Marga Trakindo None None Jakarta Industrial Conglomerates Indonesia PT Tiara Marga Trakindo (Current Subsidiary or... 0.830000 22926501.000000 68779.503000 7.340000 202136500.000000 606409.500000 3750.000000 None None None 4360950.000000 3549129.000000 0.592000 0.430000 -953832.000000 1384649.000000 2338481.000000 241667.000000 NaN NaN NaN NaN 0.000000 -811821.000000 1469802.000000 3114382.000000 3235172.000000 -469841.000000 NaN -469841.000000 -3913.000000 -4564.000000 7861.000000 NaN NaN NaN -811821.000000 159424.000000 NaN
130 ACST 2013 PT Acset Indonusa Tbk (IDX:ACST) 2013-06-20 Construction and Engineering 4990054 IDX Industrials Indonesia ACSET Building www.acset.co PT Acset Indonusa Tbk provides construction an... Public Company None Operating Subsidiary None No None None Yes No No PT Acset Indonusa Tbk, an integrated construct... None Civil Engineering, Construction 1995.000000 1995-01-10 00:00:00 1995.000000 1995-01-10 Dec 2025-09-01 Construction and Engineering; Commercial Const... Capital Goods Construction and Engineering None Industrials Capital Goods Construction and Engineering Jakarta PT Karya Supra Perkasa None None 0.501000 None Unclassified Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Karya Supra Perkasa (Current Subsidiary or ... 0.110000 20245000.000000 2753.320000 NaN NaN NaN 2500.000000 None None None 536559.738000 1298358.203000 1.484000 0.922000 346109.300000 1061422.848000 715313.548000 237777.966000 6015.411000 16885.953000 15961.846000 NaN 118266.063000 560442.562000 220839.892000 818537.622000 1014502.030000 146399.359000 194155.134000 146399.359000 99215.342000 -112217.697000 -19912.184000 500000000.000000 995.000000 1990.000000 678708.625000 48718.694000 NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3293 CARE 2012 PT Metro Healthcare Indonesia Tbk (IDX:CARE) 2020-03-11 Health Care Facilities 19890578 IDX Health Care Indonesia Jl. Raya Serang Km 16,8 www.metrohealthcareindonesia.co.id PT Metro Healthcare Indonesia Tbk owns, operat... Public Company None Operating None No None None Yes No No PT Metro Healthcare Indonesia Tbk engages prim... Outpatient Care; Assistive Technology; Digital... Facilities Support Services, Health Care, Hosp... 2015.000000 2015-10-07 00:00:00 NaN NaT Dec 2025-09-01 Health Care Facilities; Hospitals and Healthca... Health Care Providers and Services Health Care Facilities None Health Care Health Care Equipment and Services Health Care Providers and Services Tangerang None None None NA% None None None None None None None None Pt Anugrah Kasih Rajawali (Current Investment,... 20.370000 6773088070.000000 2438311.705200 NaN NaN NaN 103.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3294 CARE 2011 PT Metro Healthcare Indonesia Tbk (IDX:CARE) 2020-03-11 Health Care Facilities 19890578 IDX Health Care Indonesia Jl. Raya Serang Km 16,8 www.metrohealthcareindonesia.co.id PT Metro Healthcare Indonesia Tbk owns, operat... Public Company None Operating None No None None Yes No No PT Metro Healthcare Indonesia Tbk engages prim... Outpatient Care; Assistive Technology; Digital... Facilities Support Services, Health Care, Hosp... 2015.000000 2015-10-07 00:00:00 NaN NaT Dec 2025-09-01 Health Care Facilities; Hospitals and Healthca... Health Care Providers and Services Health Care Facilities None Health Care Health Care Equipment and Services Health Care Providers and Services Tangerang None None None NA% None None None None None None None None Pt Anugrah Kasih Rajawali (Current Investment,... 20.370000 6773088070.000000 2438311.705200 NaN NaN NaN 103.000000 None None None NaN NaN None None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3295 CARE 2010 PT Metro Healthcare Indonesia Tbk (IDX:CARE) 2020-03-11 Health Care Facilities 19890578 IDX Health Care Indonesia Jl. Raya Serang Km 16,8 www.metrohealthcareindonesia.co.id PT Metro Healthcare Indonesia Tbk owns, operat... Public Company None Operating None No None None Yes No No PT Metro Healthcare Indonesia Tbk engages prim... Outpatient Care; Assistive Technology; Digital... Facilities Support Services, Health Care, Hosp... 2015.000000 2015-10-07 00:00:00 NaN NaT Dec 2025-09-01 Health Care Facilities; Hospitals and Healthca... Health Care Providers and Services Health Care Facilities None Health Care Health Care Equipment and Services Health Care Providers and Services Tangerang None None None NA% None None None None None None None None Pt Anugrah Kasih Rajawali (Current Investment,... 20.370000 6773088070.000000 2438311.705200 NaN NaN NaN 103.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3296 CARE 2009 PT Metro Healthcare Indonesia Tbk (IDX:CARE) 2020-03-11 Health Care Facilities 19890578 IDX Health Care Indonesia Jl. Raya Serang Km 16,8 www.metrohealthcareindonesia.co.id PT Metro Healthcare Indonesia Tbk owns, operat... Public Company None Operating None No None None Yes No No PT Metro Healthcare Indonesia Tbk engages prim... Outpatient Care; Assistive Technology; Digital... Facilities Support Services, Health Care, Hosp... 2015.000000 2015-10-07 00:00:00 NaN NaT Dec 2025-09-01 Health Care Facilities; Hospitals and Healthca... Health Care Providers and Services Health Care Facilities None Health Care Health Care Equipment and Services Health Care Providers and Services Tangerang None None None NA% None None None None None None None None Pt Anugrah Kasih Rajawali (Current Investment,... 20.370000 6773088070.000000 2438311.705200 NaN NaN NaN 103.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3297 CARE 2008 PT Metro Healthcare Indonesia Tbk (IDX:CARE) 2020-03-11 Health Care Facilities 19890578 IDX Health Care Indonesia Jl. Raya Serang Km 16,8 www.metrohealthcareindonesia.co.id PT Metro Healthcare Indonesia Tbk owns, operat... Public Company None Operating None No None None Yes No No PT Metro Healthcare Indonesia Tbk engages prim... Outpatient Care; Assistive Technology; Digital... Facilities Support Services, Health Care, Hosp... 2015.000000 2015-10-07 00:00:00 NaN NaT Dec 2025-09-01 Health Care Facilities; Hospitals and Healthca... Health Care Providers and Services Health Care Facilities None Health Care Health Care Equipment and Services Health Care Providers and Services Tangerang None None None NA% None None None None None None None None Pt Anugrah Kasih Rajawali (Current Investment,... 20.370000 6773088070.000000 2438311.705200 NaN NaN NaN 103.000000 None None None NaN NaN None NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

5952 rows × 91 columns

# Drop the identified rows from df_findat_final
df_findat_final = df_findat_final.drop(indices_to_drop)

print("Dataset setelah baris tahun sebelum IPO dihapus :")
display(df_findat_final.head())
print(f"Jumlah baris setelah penghapusan: {len(df_findat_final)}")
Dataset setelah baris tahun sebelum IPO dihapus :
variable ticker Year Entity Name IPO Date MM/dd/yyyy Primary Industry Entity ID Exchange 1st Level Primary Industry Country / Region Name Address 1 Web Address Business Description Company Type Investor Type Company Status Ownership Structure Activist Investor? Yes/No Institution Coverage Level Consolidation Status Has Current Financials? Yes/No Has Bank Regulatory Financials? Yes/No Has Third Party Financials? Yes/No Long Business Description Topic Tags Crunchbase Categories Year Established Date Established MM/dd/yyyy Year Incorporated Date Incorporated MM/dd/yyyy Month of Fiscal Year End Headcount As Of MM/dd/yyyy Industry Classification 2nd Level Primary Industry 3rd Level Primary Industry 4th Level Primary Industry Sector Industry Group Industry City Parent Company Name Parent Ticker Parent Exchange: Ticker Parent Percent Owned (%) Parent City Parent Industry Ultimate Parent Company Name Ultimate Parent Ticker Ultimate Parent Exchange: Ticker Ultimate Parent City Ultimate Parent Industry Ultimate Parent Country / Region All Investors Percent Owned - All Institutions (%) Shares Owned - All Institutions (actual) Market Value - All Institutions (Rp.B) Percent Owned - Insiders (%) Shares Owned - Insiders (actual) Market Value - Insiders (Rp.B) IPO Price (Rp.) Location Type Data Precision Data Year Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.B) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M)
17 AALI 2024 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 5591163.000000 28793225.000000 2.605000 1.126000 5195985.000000 8433638.000000 3237653.000000 3981669.000000 NaN 1500000.000000 NaN NaN 3189537.000000 23202062.000000 17429693.000000 18358928.000000 21815035.000000 1788141.000000 3202738.000000 1788141.000000 1186783.000000 3379195.000000 1146504.000000 1924688333.000000 11933.067665 6200.000000 26391599.000000 3236012.000000 NaN
18 AALI 2023 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 6280237.000000 28846243.000000 1.834000 0.765000 3236061.000000 7118202.000000 3882141.000000 3122454.000000 NaN 1689754.000000 NaN NaN 4005052.000000 22566006.000000 18105649.000000 17950652.000000 20745473.000000 1672092.000000 3007949.000000 1672092.000000 1088170.000000 2538738.000000 469892.000000 1924688333.000000 13520.935539 7025.000000 26571058.000000 2089508.000000 NaN
19 AALI 2022 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 7006119.000000 29249340.000000 3.600000 1.227000 5337669.000000 7390608.000000 2052939.000000 3434768.000000 NaN 4048767.000000 NaN NaN 4053767.000000 22243221.000000 17996321.000000 18176356.000000 21828591.000000 2447192.000000 3710458.000000 2447192.000000 1792050.000000 1835397.000000 -2276406.000000 1924688333.000000 15445.623872 8025.000000 26296988.000000 1619616.000000 NaN
20 AALI 2021 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 9228733.000000 30399906.000000 1.579000 0.752000 3453812.000000 9414208.000000 5960396.000000 3381506.000000 NaN 2253611.000000 NaN NaN 5818072.000000 21171173.000000 17781227.000000 19442136.000000 24322048.000000 3066334.000000 4314916.000000 3066334.000000 2067362.000000 4895119.000000 2917130.000000 1924688333.000000 18284.539164 9500.000000 26989245.000000 3896022.000000 NaN
21 AALI 2020 PT Astra Agro Lestari Tbk (IDX:AALI) NaT Agricultural Products and Services 4567075 IDX Consumer Indonesia Jl Puloayang Raya www.astra-agro.co.id PT Astra Agro Lestari Tbk engages in the crude... Public Company None Operating Subsidiary None No None None Yes No No PT Astra Agro Lestari Tbk is a prominent playe... None Agriculture, Business Intelligence, Communities 1988.000000 1988-10-03 00:00:00 NaN NaT Dec 2025-09-01 Agricultural Products and Services; Grain And ... Producers Agricultural Products and Services None Consumer Staples Food, Beverage and Tobacco Food Products Jakarta PT Astra International Tbk ASII IDX:ASII 0.796800 Jakarta Automobile Manufacturers Jardine Matheson Holdings Limited J36 SGX:J36 Hamilton Industrial Conglomerates Bermuda PT Astra International Tbk (Current Subsidiary... 2.100000 40473542.000000 315693.627600 NaN NaN NaN NaN None None None 8533437.000000 27781231.000000 3.313000 1.322000 4145384.000000 5937890.000000 1792506.000000 2505048.000000 NaN 5858300.000000 NaN NaN 5858300.000000 19247794.000000 17741481.000000 15809752.000000 18807043.000000 1708412.000000 3031177.000000 1708412.000000 893779.000000 2322164.000000 595526.000000 1924688333.000000 23721.783704 12325.000000 25106094.000000 978892.000000 NaN
Jumlah baris setelah penghapusan: 8549

Sesuaikan Billion ke Million

rp_b_columns = [col for col in df_findat_final.columns if 'Rp.B' in col]

if rp_b_columns:
    for col in rp_b_columns:
        df_findat_final[col] = df_findat_final[col] * 1000
        new_col_name = col.replace('(Rp.B)', '(Rp.M)')
        df_findat_final = df_findat_final.rename(columns={col: new_col_name})
    print(f"Successfully converted {len(rp_b_columns)} column(s) from 'Rp.B' to 'Rp.M' and multiplied values by 1000.")
    print("Updated columns:")
    for col_name in rp_b_columns:
        print(f"- {col_name.replace('(Rp.B)', '(Rp.M)')}")
else:
    print("No columns found with 'Rp.B' in their name in df_findat_final.")
Successfully converted 3 column(s) from 'Rp.B' to 'Rp.M' and multiplied values by 1000.
Updated columns:
- Market Value - All Institutions (Rp.M)
- Market Value - Insiders (Rp.M)
- Market Capitalization (Rp.M)

Hapus Kolom Unused

cols_to_drop = [
    "Location Type",
    "Data Year",
    "Data Precision",
    "Investor Type",
    "Parent Ticker",
    "Ultimate Parent Ticker",
    "Date Incorporated MM/dd/yyyy",
    "Parent Exchange: Ticker",
    "Ownership Structure",
    "4th Level Primary Industry",
    "Year Incorporated",
    "Institution Coverage Level",
    "Ultimate Parent City",
    "Parent City",
    "IPO Price (Rp.)",
    "Ultimate Parent Company Name",
    "Ultimate Parent Country / Region",
    "Parent Company Name",
    "Topic Tags",
    "Long Business Description",
    "Headcount As Of MM/dd/yyyy",
    "Crunchbase Categories",
    "All Investors",
    # "Date Established MM/dd/yyyy",
    "Web Address",
    "Month of Fiscal Year End",
    "Entity ID",
    "Primary Industry",
    "Exchange",
    "Country / Region Name",
    "Address 1",
    "Has Bank Regulatory Financials? Yes/No",
    "Has Current Financials? Yes/No",
    "Has Third Party Financials? Yes/No",
    "Activist Investor? Yes/No",
    "Company Status",
    "Company Type",
    "Business Description",
    "Industry Classification",
    "2nd Level Primary Industry",
    "IPO Date MM/dd/yyyy",
    "3rd Level Primary Industry",
    "City",
    "Industry",
    "Parent Industry",
    "Ultimate Parent Exchange: Ticker",
    "Ultimate Parent Industry",
    "Consolidation Status",
    "Market Value - All Institutions (Rp.M)",
    "Shares Owned - All Institutions (actual)",
    "Market Value - Insiders (Rp.M)",
    "Shares Owned - Insiders (actual)",
]

df_findat_final = df_findat_final.drop(columns=cols_to_drop, errors='ignore')

print(f"Ukuran dataframe setelah drop: {df_findat_final.shape}")
Ukuran dataframe setelah drop: (8549, 40)
print("Sisa kolom:")
df_findat_final.columns.tolist()
Sisa kolom:
['ticker',
 'Year',
 'Entity Name',
 '1st Level Primary Industry',
 'Year Established',
 'Date Established MM/dd/yyyy',
 'Sector',
 'Industry Group',
 'Parent Percent Owned (%)',
 'Percent Owned - All Institutions (%)',
 'Percent Owned - Insiders (%)',
 'Total Liabilities (Rp.M)',
 'Total Assets (Rp.M)',
 'Current Ratio (x)',
 'Quick Ratio (x)',
 'Working Capital (Rp.M)',
 'Total Current Assets (Rp.M)',
 'Total Current Liabilities (Rp.M)',
 'Inventory (Rp.M)',
 'Prepaid Exp. (Rp.M)',
 'Long-term Debt (Rp.M)',
 'Short-term Borrowings (Rp.M)',
 'Current Portion of LT Debt & Leases (Rp.M)',
 'Total Debt (Rp.M)',
 'Total Equity (Rp.M)',
 'Net Property, Plant & Equipment (Rp.M)',
 'Cost Of Goods Sold (Rp.M)',
 'Total Revenue (Rp.M)',
 'Operating Income (Rp.M)',
 'EBITDA (Rp.M)',
 'EBIT (Rp.M)',
 'Net Income to Company (Rp.M)',
 'Cash from Ops. (Rp.M)',
 'Net Change in Cash (Rp.M)',
 'ECS Total Common Shares Outstanding (actual)',
 'Market Capitalization (Rp.M)',
 'Year Close Stock Price (Rp.)',
 'Total Capital (Rp.M)',
 'Cash & Short-term Investments (Rp.M)',
 'Net Intangibles (Rp.M)']

Sesuaikan String NA & NM

Cek kolom non-numerik terlebih dahulu.

numeric_cols = df_findat_final.select_dtypes(include=['number']).columns.tolist()
categorical_cols = df_findat_final.select_dtypes(include=['object']).columns.tolist()

print("Numeric columns:")
print(numeric_cols)
print("\nCategorical columns:")
print(categorical_cols)
Numeric columns:
['Year', 'Year Established', 'Percent Owned - All Institutions (%)', 'Percent Owned - Insiders (%)', 'Total Liabilities (Rp.M)', 'Total Assets (Rp.M)', 'Working Capital (Rp.M)', 'Total Current Assets (Rp.M)', 'Total Current Liabilities (Rp.M)', 'Inventory (Rp.M)', 'Prepaid Exp. (Rp.M)', 'Long-term Debt (Rp.M)', 'Short-term Borrowings (Rp.M)', 'Current Portion of LT Debt & Leases (Rp.M)', 'Total Debt (Rp.M)', 'Total Equity (Rp.M)', 'Net Property, Plant & Equipment (Rp.M)', 'Cost Of Goods Sold (Rp.M)', 'Total Revenue (Rp.M)', 'Operating Income (Rp.M)', 'EBITDA (Rp.M)', 'EBIT (Rp.M)', 'Net Income to Company (Rp.M)', 'Cash from Ops. (Rp.M)', 'Net Change in Cash (Rp.M)', 'ECS Total Common Shares Outstanding (actual)', 'Market Capitalization (Rp.M)', 'Year Close Stock Price (Rp.)', 'Total Capital (Rp.M)', 'Cash & Short-term Investments (Rp.M)', 'Net Intangibles (Rp.M)']

Categorical columns:
['ticker', 'Entity Name', '1st Level Primary Industry', 'Date Established MM/dd/yyyy', 'Sector', 'Industry Group', 'Parent Percent Owned (%)', 'Current Ratio (x)', 'Quick Ratio (x)']

Ubah string NA, NM, atau NAN menjadi null

# Kolom yang akan dicek dan diconvert
target_cols = [
    'ticker',
    'Entity Name',
    '1st Level Primary Industry',
    'Date Established MM/dd/yyyy',
    'Sector',
    'Industry Group',
    'Parent Percent Owned (%)',
    'Current Ratio (x)',
    'Quick Ratio (x)'
]

# Pastikan hanya menggunakan kolom yang ada di dataframe (untuk menghindari error jika ada typo nama kolom)
# valid_cols = [c for c in target_cols if c in df_findat_final.columns]
valid_cols = target_cols

# Pola Regex
# Menangkap: "na", "nan", "nm" dengan variasi spasi di awal
# dan variasi spasi/persen di akhir.
trash_pattern_specific = r'(?i)^\s*(?:NA|NAN|NM)[\s%]*$'

# --- TAHAP 1: DETEKSI & TAMPILKAN ---

# Buat filter hanya pada kolom target
# Convert ke string sementara (.astype(str)) agar regex berjalan lancar
mask = df_findat_final[valid_cols].astype(str).apply(
    lambda x: x.str.contains(trash_pattern_specific, regex=True)
)

# Ambil baris yang setidaknya memiliki 1 nilai sampah di kolom target
rows_with_trash = df_findat_final[mask.any(axis=1)]

print(f"Ditemukan {len(rows_with_trash)} baris yang mengandung 'NA', 'NAN', atau 'NM' pada kolom target.")

if len(rows_with_trash) > 0:
    print("\n--- Preview Data (Hanya Kolom Target) ---")
    # Menampilkan hanya kolom target sesuai permintaan
    display(rows_with_trash[valid_cols])

# --- TAHAP 2: UBAH JADI NULL ---

# Lakukan replace hanya pada kolom target
df_findat_final[valid_cols] = df_findat_final[valid_cols].replace(
    to_replace=trash_pattern_specific,
    value=np.nan,
    regex=True
)

print("\n[SUKSES] Nilai tersebut telah diubah menjadi Null (NaN).")
Ditemukan 3806 baris yang mengandung 'NA', 'NAN', atau 'NM' pada kolom target.

--- Preview Data (Hanya Kolom Target) ---
variable ticker Entity Name 1st Level Primary Industry Date Established MM/dd/yyyy Sector Industry Group Parent Percent Owned (%) Current Ratio (x) Quick Ratio (x)
136 ADCP PT Adhi Commuter Properti Tbk (IDX:ADCP) Real Estate 2018-03-09 00:00:00 Real Estate Real Estate Management and Development NA% 1.441000 0.047000
137 ADCP PT Adhi Commuter Properti Tbk (IDX:ADCP) Real Estate 2018-03-09 00:00:00 Real Estate Real Estate Management and Development NA% 1.333000 0.133000
138 ADCP PT Adhi Commuter Properti Tbk (IDX:ADCP) Real Estate 2018-03-09 00:00:00 Real Estate Real Estate Management and Development NA% 0.960000 0.064000
170 ADHI PT Adhi Karya (Persero) Tbk (IDX:ADHI) Industrials 1960-03-11 00:00:00 Industrials Capital Goods NA% 1.123000 0.697000
171 ADHI PT Adhi Karya (Persero) Tbk (IDX:ADHI) Industrials 1960-03-11 00:00:00 Industrials Capital Goods NA% 1.144000 0.843000
... ... ... ... ... ... ... ... ... ...
15678 ZONE PT Mega Perintis Tbk (IDX:ZONE) Consumer 2005-10-21 00:00:00 Consumer Discretionary Consumer Discretionary Distribution and Retail NA% 1.583000 0.168000
15679 ZONE PT Mega Perintis Tbk (IDX:ZONE) Consumer 2005-10-21 00:00:00 Consumer Discretionary Consumer Discretionary Distribution and Retail NA% 2.369000 0.477000
15691 ZYRX PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) Technology, Media & Telecommunications None Information Technology Technology Hardware and Equipment NA% 3.402000 0.775000
15692 ZYRX PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) Technology, Media & Telecommunications None Information Technology Technology Hardware and Equipment NA% 2.073000 0.401000
15693 ZYRX PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) Technology, Media & Telecommunications None Information Technology Technology Hardware and Equipment NA% 1.442000 0.668000

3806 rows × 9 columns


[SUKSES] Nilai tersebut telah diubah menjadi Null (NaN).
/tmp/ipykernel_2095/3875649896.py:44: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_findat_final[valid_cols] = df_findat_final[valid_cols].replace(
print("--- HASIL VERIFIKASI KEBERSIHAN DATA ---")
print(f"Mengecek {len(valid_cols)} kolom target...\n")

total_sisa = 0

for col in valid_cols:
    # LANGKAH KUNCI:
    # .dropna() membuang Null asli agar tidak diubah jadi string "nan"
    # .astype(str) mengubah sisa data menjadi string untuk dicek regex
    sisa_data = df_findat_final[col].dropna().astype(str)

    # Hitung berapa yang cocok dengan pola sampah
    jumlah_sampah = sisa_data.str.contains(trash_pattern_specific, regex=True).sum()

    if jumlah_sampah > 0:
        print(f"[!] Kolom '{col}' MASIH KOTOR: ditemukan {jumlah_sampah} nilai.")
        total_sisa += jumlah_sampah
    else:
        print(f"[OK] Kolom '{col}': Bersih.")

print("-" * 40)
if total_sisa == 0:
    print("KESIMPULAN: Sukses! Tidak ada lagi nilai NA, NAN, atau NM di kolom-kolom tersebut.")
else:
    print(f"PERINGATAN: Masih ada total {total_sisa} nilai sampah yang tertinggal.")
--- HASIL VERIFIKASI KEBERSIHAN DATA ---
Mengecek 9 kolom target...

[OK] Kolom 'ticker': Bersih.
[OK] Kolom 'Entity Name': Bersih.
[OK] Kolom '1st Level Primary Industry': Bersih.
[OK] Kolom 'Date Established MM/dd/yyyy': Bersih.
[OK] Kolom 'Sector': Bersih.
[OK] Kolom 'Industry Group': Bersih.
[OK] Kolom 'Parent Percent Owned (%)': Bersih.
[OK] Kolom 'Current Ratio (x)': Bersih.
[OK] Kolom 'Quick Ratio (x)': Bersih.
----------------------------------------
KESIMPULAN: Sukses! Tidak ada lagi nilai NA, NAN, atau NM di kolom-kolom tersebut.

Ubah Kolom Numerik yang Masih String

numeric_cols = df_findat_final.select_dtypes(include=['number']).columns.tolist()
categorical_cols = df_findat_final.select_dtypes(include=['object']).columns.tolist()

print("Numeric columns:")
print(numeric_cols)
print("\nCategorical columns:")
print(categorical_cols)
Numeric columns:
['Year', 'Year Established', 'Percent Owned - All Institutions (%)', 'Percent Owned - Insiders (%)', 'Total Liabilities (Rp.M)', 'Total Assets (Rp.M)', 'Current Ratio (x)', 'Quick Ratio (x)', 'Working Capital (Rp.M)', 'Total Current Assets (Rp.M)', 'Total Current Liabilities (Rp.M)', 'Inventory (Rp.M)', 'Prepaid Exp. (Rp.M)', 'Long-term Debt (Rp.M)', 'Short-term Borrowings (Rp.M)', 'Current Portion of LT Debt & Leases (Rp.M)', 'Total Debt (Rp.M)', 'Total Equity (Rp.M)', 'Net Property, Plant & Equipment (Rp.M)', 'Cost Of Goods Sold (Rp.M)', 'Total Revenue (Rp.M)', 'Operating Income (Rp.M)', 'EBITDA (Rp.M)', 'EBIT (Rp.M)', 'Net Income to Company (Rp.M)', 'Cash from Ops. (Rp.M)', 'Net Change in Cash (Rp.M)', 'ECS Total Common Shares Outstanding (actual)', 'Market Capitalization (Rp.M)', 'Year Close Stock Price (Rp.)', 'Total Capital (Rp.M)', 'Cash & Short-term Investments (Rp.M)', 'Net Intangibles (Rp.M)']

Categorical columns:
['ticker', 'Entity Name', '1st Level Primary Industry', 'Date Established MM/dd/yyyy', 'Sector', 'Industry Group', 'Parent Percent Owned (%)']

Parent Percent Owned (%)

df_findat_final['Parent Percent Owned (%)'].unique()
array([0.7968, 0.5116, 0.8776, 0.5355, 0.6, 0.501, nan, 0.9152, 0.9207,
       0.495, 0.84, 0.4566, 0.8685, 0.9149, 0.6257, 0.8363, 0.568, 0.7421,
       0.596, 0.9825, 0.6875, 0.5109, 0.8079, 0.9604, 0.7095, 0.5839,
       0.9977, 0.5319, 0.9592, 0.65, 0.5784, 0.588, 0.8272, 1, 0.7333,
       0.7686, 0.5011, 0.7739, 0.776, 0.0101, 0.5146, 0.8, 0.9999, 0.6969,
       0.9235, 0.747, 0.5969, 0.5367, 0.8201, 0.5494, 0.6088, 0.6688,
       0.676, 0.8944, 0.5682, 0.75, 0.7291, 0.3445, 0.5048, 0.7317,
       0.7059, 0.6611, 0.7911, 0.7929, 0.4815, 0.2393, 0.54,
       '15.85%; 6.30%', 0.8656, 0.2283, 0.5249, 0.3852, 0.5113, 0.5267,
       0.9157, 0.51, 0.811, 0.5737, 0.52, 0.4575, 0.2953, 0.9144,
       '33.95%; 45.02%', 0.9871, 0.576, 0.8451, 0.6577, 0.6159, 0.6467,
       0.5147, 0.2009, 0.5456, 0.6714, 0.5999, 0.5, 0.9096, 0.9105, 0.7,
       0.4423, 0.5502, 0.6706, 0.6113, 0.68, 0.8702, 0.9616, 0.5149,
       0.5961, 0.7021, 0.606, 0.7777, 0.5577, 0.5099, 0.5475, 0.0963,
       0.6112, 0.5553, 0.32, 0.5723, 0.5284, 0.7386, 0.5343, 0.5229,
       0.6163, 0.5833, 0.5728, 0.8973, 0.9961, 0.5118, 0.6929, 0.5989,
       0.8856, 0.9246, 0.4852, 0.8213, 0.8236, 0.511, 0.6677, 0.9247,
       0.5469, 0.7999, 0.5646, 0.6817, 0.8689, 0.7926, 0.997, 0.7906,
       '50.00%; 50.00%', 0.7733, 0.925, 0.6107, 0.7981, 0.85, 0.7474,
       0.6928, 0.5043, 0.72, 0.7517, 0.6828, 0.848, 0.708, 0.996, 0.5434,
       0.6565, 0.6358, 0.4943, 0.7832, 0.7084, 0.7979, 0.7199, 0.5507,
       0.7017, 0.9998, 0.5566, 0.7942, 0.9146, 0.9764, 0.4949, 0.9197,
       0.8066, 0.5007, 0.6728, 0.881, 0.5628, 0.5554, 0.0538, 0.7371,
       0.9242, 0.5473, 0.5604, 0.7128, 0.6067, 0.7848, 0.99, 0.6564,
       0.569, 0.6514, 0.9991, 0.5256, 0.4003, 0.5795, 0.5298, 0.6402,
       0.5767, 0.9002, 0.8019, 0.5421, 0.4947, 0.5602, 0.7481, 0.6607,
       0.8031, 0.9204, 0.7692, 0.525, 0.9987, 0.55, 0.625, 0.8842, 0.9909,
       0.727, 0.5075, 0.9, 0.6252, 0.8083, 0.8171, 0.57, 0.6752, 0.5714,
       0.595, 0.5572, 0.5727, 0.6884, 0.7909, 0.4239, 0.5004, 0.6726,
       0.515, 0.5802, 0.7399, 0.763, 0.9935, 0.7874, 0.5649, 0.7709,
       0.6187, 0.8178, 0.4203, 0.8694, 0.8367, 0.5138, 0.5669, 0.505,
       0.7126, 0.2053, 0.7257, 0.919, 0.9233, 0.8679, 0.5903, 0.7505,
       0.5951, 0.8469, 0.8489, 0.805, 0.5128, 0.6344, 0.4, 0.7525, 0.8508,
       0.2397, 0.6098, 0.833, 0.6215, 0.7466, 0.6293, 0.5677, 0.5696,
       0.6901, 0.6196, 0.5009, 0.7118, 0.4604, 0.673, 0.2971, 0.6786,
       0.557, 0.8498, 0.5785, 0.6495, 0.6593, 0.8182, 0.97, 0.9912,
       0.6868, 0.685, 0.6479, 0.5886, 0.7056, 0.7792, 0.8649, 0.8054,
       0.8492, 0.993, 0.7984, 0.777, 0.7188, 0.7426, 0.6301, 0.7136, 0.45,
       0.9075, 0.668, 0.9194, 0.6572, 0.7897, 0.8162, 0.7346, 0.5975,
       0.7125, 0.9239, 0.7551, 0.8352, 0.9897, 0.5797, 0.512, 0.8007,
       0.5611, 0.5104, 0.7165, 0.3383, 0.5812, 0.7989, 0.793, 0.7562,
       0.5027, 0.5375, 0.7665, 0.5676, 0.9996, 0.7722, 0.678, 0.9189,
       0.629, 0.7115, 0.7995, 0.1646, 0.6934, 0.8465, 0.7354, 0.5967,
       0.5209, 0.8522, 0.6191, 0.761, 0.5875, 0.565, 0.5246, 0.5956,
       0.5112, 0.6218, 0.8381, 0.266, 0.5283, 0.6415, 0.7753, 0.585,
       0.6055, 0.5929, 0.2378, 0.7429, 0.6998, 0.7295, 0.5694, 0.8966,
       0.6744, 0.701, 0.6505, 0.6749, 0.6815, 0.7534, 0.8946, 0.912,
       0.6321], dtype=object)

Terlihat bahwa sebagian besar data pada kolom ‘Parent Percent Owned (%)’ masih berupa desimal, belum persentase. Ada juga yang berisi 2 data karena memiliki 2 parent. Untuk itu data kolom ini perlu disesuaikan.

def clean_ownership_data(value):
    # handle "NA%" atau data kosong/null
    if pd.isna(value) or value == "NA%":
        return np.nan

    val_str = str(value).strip() # trim spasi

    # handle jika ada MULTIPLE values (dipisahkan titik koma ';')
    # Contoh: "15.85; 6.30" atau "50%; 25%"
    if ";" in val_str:
        parts = val_str.split(";")
        total = 0
        valid_parts = 0
        for part in parts:
            # Panggil fungsi ini sendiri secara rekursif untuk setiap bagian
            cleaned_part = clean_ownership_data(part)
            if pd.notna(cleaned_part):
                total += cleaned_part
                valid_parts += 1
        return total if valid_parts > 0 else np.nan

    # handle format persentase (misal 50.25%) -> hapus % jadi float
    if "%" in val_str:
        try:
            return float(val_str.replace("%", ""))
        except ValueError:
            return np.nan

    # 4. Handle format desimal atau angka biasa
    else:
        try:
            float_val = float(val_str)

            # LOGIC TAMBAHAN :
            # angka <= 1, kemungkinan desimal (0.50 -> 50%)
            # angka > 1, kemungkinan sudah persen tapi tanpa simbol (15.85 -> 15.85%)
            if float_val <= 1.0:
                return float_val * 100
            else:
                return float_val
        except ValueError:
            return np.nan

# terapkan
df_findat_final["Parent Percent Owned (%)"] = df_findat_final["Parent Percent Owned (%)"].apply(clean_ownership_data)

# cek hasil
print("Statistik Data:")
print(df_findat_final["Parent Percent Owned (%)"].describe())
print("\nContoh data:")
print(df_findat_final[["ticker", "Year", "Parent Percent Owned (%)"]].sample(10))
Statistik Data:
count   4868.000000
mean      66.388841
std       17.783044
min        1.010000
25%       54.892500
50%       65.140000
75%       80.000000
max      100.000000
Name: Parent Percent Owned (%), dtype: float64

Contoh data:
variable ticker  Year  Parent Percent Owned (%)
5648       GJTL  2020                       NaN
187        ADMF  2024                 92.070000
3180       BVIC  2023                 44.230000
12649      SCMA  2023                 71.360000
13113      SMGR  2018                 51.200000
3478       CEKA  2014                 87.020000
11382      PNIN  2015                 29.710000
3470       CEKA  2022                 87.020000
10660      OILS  2023                       NaN
12196      RDTX  2017                       NaN

Tambah Kolom Tahun IPO

dict_perusahaan_tahun_ipo = dict(zip(df_emiten_idx['Kode'], df_emiten_idx['Tanggal Pencatatan'].dt.year))
print(dict_perusahaan_tahun_ipo)
{'AALI': 1997, 'ABBA': 2002, 'ABDA': 1989, 'ABMM': 2011, 'ACES': 2007, 'ACST': 2013, 'ADES': 1994, 'ADHI': 2004, 'ADMF': 2004, 'ADMG': 1993, 'ADRO': 2008, 'AGII': 2016, 'AGRO': 2003, 'AGRS': 2014, 'AHAP': 1990, 'AIMS': 2001, 'AISA': 1997, 'AKKU': 2004, 'AKPI': 1992, 'AKRA': 1994, 'AKSI': 2001, 'ALDO': 2011, 'ALKA': 1990, 'ALMI': 1997, 'ALTO': 2012, 'AMAG': 2005, 'AMFG': 1995, 'AMIN': 2015, 'AMRT': 2009, 'ANJT': 2013, 'ANTM': 1997, 'APEX': 2013, 'APIC': 2002, 'APII': 2013, 'APLI': 2000, 'APLN': 2010, 'ARGO': 1991, 'ARII': 2011, 'ARNA': 2001, 'ARTA': 2002, 'ARTI': 2003, 'ARTO': 2016, 'ASBI': 1989, 'ASDM': 1989, 'ASGR': 1989, 'ASII': 1990, 'ASJT': 2003, 'ASMI': 2014, 'ASRI': 2007, 'ASRM': 1990, 'ASSA': 2012, 'ATIC': 2015, 'AUTO': 1998, 'BABP': 2002, 'BACA': 2007, 'BAJA': 2011, 'BALI': 2014, 'BAPA': 2008, 'BATA': 1982, 'BAYU': 1989, 'BBCA': 2000, 'BBHI': 2015, 'BBKP': 2006, 'BBLD': 1990, 'BBMD': 2013, 'BBNI': 1996, 'BBRI': 2003, 'BBRM': 2013, 'BBTN': 2009, 'BBYB': 2015, 'BCAP': 2001, 'BCIC': 1997, 'BCIP': 2009, 'BDMN': 1989, 'BEKS': 2001, 'BEST': 2012, 'BFIN': 1990, 'BGTG': 2016, 'BHIT': 1997, 'BIKA': 2015, 'BIMA': 1994, 'BINA': 2014, 'BIPI': 2010, 'BIPP': 1995, 'BIRD': 2014, 'BISI': 2007, 'BJBR': 2010, 'BJTM': 2012, 'BKDP': 2007, 'BKSL': 1997, 'BKSW': 2002, 'BLTA': 1990, 'BLTZ': 2014, 'BMAS': 2013, 'BMRI': 2003, 'BMSR': 1999, 'BMTR': 1995, 'BNBA': 2006, 'BNBR': 1989, 'BNGA': 1989, 'BNII': 1989, 'BNLI': 1990, 'BOLT': 2015, 'BPFI': 2009, 'BPII': 2014, 'BRAM': 1990, 'BRMS': 2010, 'BRNA': 1989, 'BRPT': 1993, 'BSDE': 2008, 'BSIM': 2010, 'BSSR': 2012, 'BSWD': 2002, 'BTEK': 2004, 'BTEL': 2006, 'BTON': 2001, 'BTPN': 2008, 'BUDI': 1995, 'BUKK': 2015, 'BULL': 2011, 'BUMI': 1990, 'BUVA': 2010, 'BVIC': 1999, 'BWPT': 2009, 'BYAN': 2008, 'CANI': 2014, 'CASS': 2011, 'CEKA': 1996, 'CENT': 2001, 'CFIN': 1990, 'CINT': 2014, 'CITA': 2002, 'CLPI': 2001, 'CMNP': 1995, 'CMPP': 1994, 'CNKO': 2001, 'CNTX': 1979, 'COWL': 2007, 'CPIN': 1991, 'CPRO': 2006, 'CSAP': 2007, 'CTBN': 1989, 'CTRA': 1994, 'CTTH': 1996, 'DART': 1990, 'DEFI': 2001, 'DEWA': 2007, 'DGIK': 2007, 'DILD': 1991, 'DKFT': 1997, 'DLTA': 1984, 'DMAS': 2015, 'DNAR': 2014, 'DNET': 2000, 'DOID': 2001, 'DPNS': 1990, 'DSFI': 2000, 'DSNG': 2013, 'DSSA': 2009, 'DUTI': 1994, 'DVLA': 1994, 'DYAN': 2013, 'ECII': 2013, 'EKAD': 1990, 'ELSA': 2008, 'ELTY': 1995, 'EMDE': 2011, 'EMTK': 2010, 'ENRG': 2004, 'EPMT': 1994, 'ERAA': 2011, 'ERTX': 1990, 'ESSA': 2012, 'ESTI': 1992, 'ETWA': 1997, 'EXCL': 2005, 'FAST': 1993, 'FASW': 1994, 'FISH': 2002, 'FMII': 2000, 'FORU': 2002, 'FPNI': 2002, 'GAMA': 2012, 'GDST': 2009, 'GDYR': 1980, 'GEMA': 2002, 'GEMS': 2011, 'GGRM': 1990, 'GIAA': 2011, 'GJTL': 1990, 'GLOB': 2012, 'GMTD': 2000, 'GOLD': 2010, 'GOLL': 2014, 'GPRA': 2007, 'GSMF': 1989, 'GTBO': 2009, 'GWSA': 2011, 'GZCO': 2008, 'HADE': 2004, 'HDFA': 2011, 'HERO': 1989, 'HEXA': 1995, 'HITS': 1997, 'HMSP': 1990, 'HOME': 2008, 'HOTL': 2013, 'HRUM': 2010, 'IATA': 2006, 'IBFN': 2014, 'IBST': 2012, 'ICBP': 2010, 'ICON': 2005, 'IGAR': 1990, 'IIKP': 2002, 'IKAI': 1997, 'IKBI': 1991, 'IMAS': 1993, 'IMJS': 2013, 'IMPC': 2014, 'INAF': 2001, 'INAI': 1994, 'INCI': 1990, 'INCO': 1990, 'INDF': 1994, 'INDR': 1990, 'INDS': 1990, 'INDX': 2001, 'INDY': 2008, 'INKP': 1990, 'INPC': 1990, 'INPP': 2004, 'INRU': 1990, 'INTA': 1993, 'INTD': 1989, 'INTP': 1989, 'IPOL': 2010, 'ISAT': 1994, 'ISSP': 2013, 'ITMA': 1990, 'ITMG': 2007, 'JAWA': 2011, 'JECC': 1992, 'JIHD': 1984, 'JKON': 2007, 'JPFA': 1989, 'JRPT': 1994, 'JSMR': 2007, 'JSPT': 1998, 'JTPE': 2002, 'KAEF': 2001, 'KARW': 1994, 'KBLI': 1992, 'KBLM': 1992, 'KBLV': 2000, 'KBRI': 2008, 'KDSI': 1996, 'KIAS': 1994, 'KICI': 1993, 'KIJA': 1995, 'KKGI': 1991, 'KLBF': 1991, 'KOBX': 2012, 'KOIN': 2008, 'KONI': 1995, 'KOPI': 2015, 'KPIG': 2000, 'KRAS': 2010, 'KREN': 2002, 'LAPD': 2001, 'LCGP': 2007, 'LEAD': 2013, 'LINK': 2014, 'LION': 1993, 'LMAS': 2001, 'LMPI': 1994, 'LMSH': 1990, 'LPCK': 1997, 'LPGI': 1997, 'LPIN': 1990, 'LPKR': 1996, 'LPLI': 1989, 'LPPF': 1989, 'LPPS': 1994, 'LRNA': 2014, 'LSIP': 1996, 'LTLS': 1997, 'MAGP': 2013, 'MAIN': 2006, 'MAPI': 2004, 'MASA': 2005, 'MAYA': 1997, 'MBAP': 2014, 'MBSS': 2011, 'MBTO': 2011, 'MCOR': 2007, 'MDIA': 2014, 'MDKA': 2015, 'MDLN': 1993, 'MDRN': 1991, 'MEDC': 1994, 'MEGA': 2000, 'MERK': 1981, 'META': 2001, 'MFIN': 2005, 'MFMI': 2010, 'MGNA': 2014, 'MICE': 2005, 'MIDI': 2010, 'MIKA': 2015, 'MIRA': 1997, 'MITI': 1997, 'MKPI': 2009, 'MLBI': 1981, 'MLIA': 1994, 'MLPL': 1989, 'MLPT': 2013, 'MMLP': 2015, 'MNCN': 2007, 'MPMX': 2013, 'MPPA': 1992, 'MRAT': 1995, 'MREI': 1989, 'MSKY': 2012, 'MTDL': 1990, 'MTFN': 1990, 'MTLA': 2011, 'MTSM': 1992, 'MYOH': 2000, 'MYOR': 1990, 'MYTX': 1989, 'NELY': 2012, 'NIKL': 2009, 'NIRO': 2012, 'NISP': 1994, 'NOBU': 2013, 'NRCA': 2013, 'OCAP': 2003, 'OKAS': 2006, 'OMRE': 1994, 'PADI': 2012, 'PALM': 2012, 'PANR': 2001, 'PANS': 2000, 'PBRX': 1990, 'PDES': 2008, 'PEGE': 2005, 'PGAS': 2003, 'PGLI': 2000, 'PICO': 1996, 'PJAA': 2004, 'PKPK': 2007, 'PLAS': 2001, 'PLIN': 1992, 'PNBN': 1982, 'PNBS': 2014, 'PNIN': 1983, 'PNLF': 1983, 'PNSE': 1990, 'POLY': 1991, 'POOL': 1991, 'PPRO': 2015, 'PSAB': 2003, 'PSDN': 1994, 'PSKT': 1995, 'PTBA': 2002, 'PTIS': 2011, 'PTPP': 2010, 'PTRO': 1990, 'PTSN': 2007, 'PTSP': 1994, 'PUDP': 1994, 'PWON': 1989, 'PYFA': 2001, 'RAJA': 2006, 'RALS': 1996, 'RANC': 2012, 'RBMS': 1997, 'RDTX': 1990, 'RELI': 2005, 'RICY': 1998, 'RIGS': 1990, 'RIMO': 2000, 'RODA': 2001, 'ROTI': 2010, 'RUIS': 2006, 'SAFE': 1994, 'SAME': 2013, 'SCCO': 1982, 'SCMA': 2002, 'SCPI': 1990, 'SDMU': 2011, 'SDPC': 1990, 'SDRA': 2006, 'SGRO': 2007, 'SHID': 1990, 'SIDO': 2013, 'SILO': 2013, 'SIMA': 1994, 'SIMP': 2011, 'SIPD': 1996, 'SKBM': 2012, 'SKLT': 1993, 'SKYB': 2010, 'SMAR': 1992, 'SMBR': 2013, 'SMCB': 1977, 'SMDM': 1995, 'SMDR': 1999, 'SMGR': 1991, 'SMMA': 1995, 'SMMT': 1997, 'SMRA': 1990, 'SMRU': 2011, 'SMSM': 1996, 'SOCI': 2014, 'SONA': 1992, 'SPMA': 1994, 'SQMI': 2004, 'SRAJ': 2011, 'SRIL': 2013, 'SRSN': 1993, 'SRTG': 2013, 'SSIA': 1997, 'SSMS': 2013, 'SSTM': 1997, 'STAR': 2011, 'STTP': 1996, 'SUGI': 2002, 'SULI': 1994, 'SUPR': 2011, 'TALF': 2014, 'TARA': 2014, 'TAXI': 2012, 'TBIG': 2010, 'TBLA': 2000, 'TBMS': 1990, 'TCID': 1993, 'TELE': 2012, 'TFCO': 1980, 'TGKA': 1990, 'TIFA': 2011, 'TINS': 1995, 'TIRA': 1993, 'TIRT': 1999, 'TKIM': 1990, 'TLKM': 1995, 'TMAS': 2003, 'TMPO': 2001, 'TOBA': 2012, 'TOTL': 2006, 'TOTO': 1990, 'TOWR': 2010, 'TPIA': 2008, 'TPMA': 2013, 'TRAM': 2008, 'TRIL': 2008, 'TRIM': 2000, 'TRIO': 2009, 'TRIS': 2012, 'TRST': 1990, 'TRUS': 2002, 'TSPC': 1994, 'ULTJ': 1990, 'UNIC': 1989, 'UNIT': 2002, 'UNSP': 1990, 'UNTR': 1989, 'UNVR': 1982, 'VICO': 2013, 'VINS': 2015, 'VIVA': 2011, 'VOKS': 1990, 'VRNA': 2008, 'WAPO': 2001, 'WEHA': 2007, 'WICO': 1994, 'WIIM': 2012, 'WIKA': 2007, 'WINS': 2010, 'WOMF': 2004, 'WSKT': 2012, 'WTON': 2014, 'YPAS': 2008, 'YULE': 2004, 'ZBRA': 1991, 'SHIP': 2016, 'CASA': 2016, 'DAYA': 2016, 'DPUM': 2015, 'IDPR': 2015, 'JGLE': 2016, 'KINO': 2015, 'MARI': 2016, 'MKNT': 2015, 'MTRA': 2016, 'OASA': 2016, 'POWR': 2016, 'INCF': 2016, 'WSBP': 2016, 'PBSA': 2016, 'PRDA': 2016, 'BOGA': 2016, 'BRIS': 2018, 'PORT': 2017, 'CARS': 2017, 'MINA': 2017, 'CLEO': 2017, 'TAMU': 2017, 'CSIS': 2017, 'TGRA': 2017, 'FIRE': 2017, 'TOPS': 2017, 'KMTR': 2017, 'ARMY': 2017, 'MAPB': 2017, 'WOOD': 2017, 'HRTA': 2017, 'MABA': 2017, 'HOKI': 2017, 'MPOW': 2017, 'MARK': 2017, 'NASA': 2017, 'MDKI': 2017, 'BELL': 2017, 'KIOS': 2017, 'GMFI': 2017, 'MTWI': 2017, 'ZINC': 2017, 'MCAS': 2017, 'PPRE': 2017, 'WEGE': 2017, 'PSSI': 2017, 'MORA': 2022, 'DWGL': 2017, 'PBID': 2017, 'JMAS': 2017, 'CAMP': 2017, 'IPCM': 2017, 'PCAR': 2017, 'LCKM': 2018, 'BOSS': 2018, 'HELI': 2018, 'JSKY': 2018, 'INPS': 2018, 'GHON': 2018, 'TDPM': 2018, 'DFAM': 2018, 'NICK': 2018, 'BTPS': 2018, 'SPTO': 2018, 'PRIM': 2018, 'HEAL': 2018, 'TRUK': 2018, 'PZZA': 2018, 'TUGU': 2018, 'MSIN': 2018, 'SWAT': 2018, 'TNCA': 2018, 'MAPA': 2018, 'TCPI': 2018, 'IPCC': 2018, 'RISE': 2018, 'BPTR': 2018, 'POLL': 2018, 'NFCX': 2018, 'MGRO': 2018, 'NUSA': 2018, 'FILM': 2018, 'ANDI': 2018, 'LAND': 2018, 'MOLI': 2018, 'PANI': 2018, 'DIGI': 2018, 'CITY': 2018, 'SAPX': 2018, 'SURE': 2018, 'HKMU': 2018, 'MPRO': 2018, 'DUCK': 2018, 'GOOD': 2018, 'SKRN': 2018, 'YELO': 2018, 'CAKK': 2018, 'SATU': 2018, 'SOSS': 2018, 'DEAL': 2018, 'POLA': 2018, 'DIVA': 2018, 'LUCK': 2018, 'URBN': 2018, 'SOTS': 2018, 'ZONE': 2018, 'PEHA': 2018, 'FOOD': 2019, 'BEEF': 2019, 'POLI': 2019, 'CLAY': 2019, 'NATO': 2019, 'JAYA': 2019, 'COCO': 2019, 'MTPS': 2019, 'CPRI': 2019, 'HRME': 2019, 'POSA': 2019, 'JAST': 2019, 'FITT': 2019, 'BOLA': 2019, 'CCSI': 2019, 'SFAN': 2019, 'POLU': 2019, 'KJEN': 2019, 'KAYU': 2019, 'ITIC': 2019, 'PAMG': 2019, 'IPTV': 2019, 'BLUE': 2019, 'ENVY': 2019, 'EAST': 2019, 'LIFE': 2019, 'FUJI': 2019, 'KOTA': 2019, 'INOV': 2019, 'ARKA': 2019, 'SMKL': 2019, 'HDIT': 2019, 'KEEN': 2019, 'BAPI': 2019, 'TFAS': 2019, 'GGRP': 2019, 'OPMS': 2019, 'NZIA': 2019, 'SLIS': 2019, 'PURE': 2019, 'IRRA': 2019, 'DMMX': 2019, 'SINI': 2019, 'WOWS': 2019, 'ESIP': 2019, 'TEBE': 2019, 'KEJU': 2019, 'PSGO': 2019, 'AGAR': 2019, 'IFSH': 2019, 'REAL': 2019, 'IFII': 2019, 'PMJS': 2019, 'UCID': 2019, 'GLVA': 2019, 'PGJO': 2020, 'AMAR': 2020, 'CSRA': 2020, 'INDO': 2020, 'AMOR': 2020, 'TRIN': 2020, 'DMND': 2020, 'PURA': 2020, 'PTPW': 2020, 'TAMA': 2020, 'IKAN': 2020, 'SAMF': 2020, 'SBAT': 2020, 'KBAG': 2020, 'CBMF': 2020, 'RONY': 2020, 'CSMI': 2020, 'BBSS': 2020, 'BHAT': 2020, 'CASH': 2020, 'TECH': 2020, 'EPAC': 2020, 'UANG': 2020, 'PGUN': 2020, 'SOFA': 2020, 'PPGL': 2020, 'TOYS': 2020, 'SGER': 2020, 'TRJA': 2020, 'PNGO': 2020, 'SCNP': 2020, 'BBSI': 2020, 'KMDS': 2020, 'PURI': 2020, 'SOHO': 2020, 'HOMI': 2020, 'ROCK': 2020, 'ENZO': 2020, 'PLAN': 2020, 'PTDU': 2020, 'ATAP': 2020, 'VICI': 2020, 'PMMP': 2020, 'WIFI': 2020, 'FAPA': 2021, 'DCII': 2021, 'KETR': 2021, 'DGNS': 2021, 'UFOE': 2021, 'BANK': 2021, 'WMUU': 2021, 'EDGE': 2021, 'UNIQ': 2021, 'BEBS': 2021, 'SNLK': 2021, 'ZYRX': 2021, 'LFLO': 2021, 'FIMP': 2021, 'TAPG': 2021, 'NPGF': 2021, 'LUCY': 2021, 'ADCP': 2021, 'HOPE': 2021, 'MGLV': 2021, 'TRUE': 2021, 'LABA': 2021, 'ARCI': 2021, 'IPAC': 2021, 'MASB': 2021, 'BMHS': 2021, 'FLMC': 2021, 'NICL': 2021, 'UVCR': 2021, 'BUKA': 2021, 'HAIS': 2021, 'OILS': 2021, 'GPSO': 2021, 'MCOL': 2021, 'RSGK': 2021, 'RUNS': 2021, 'SBMA': 2021, 'CMNT': 2021, 'GTSI': 2021, 'IDEA': 2021, 'KUAS': 2021, 'BOBA': 2021, 'MTEL': 2021, 'DEPO': 2021, 'BINO': 2021, 'CMRY': 2021, 'WGSH': 2021, 'TAYS': 2021, 'WMPP': 2021, 'RMKE': 2021, 'OBMD': 2021, 'AVIA': 2021, 'IPPE': 2021, 'NASI': 2021, 'BSML': 2021, 'DRMA': 2021, 'ADMR': 2022, 'SEMA': 2022, 'ASLC': 2022, 'NETV': 2022, 'BAUT': 2022, 'ENAK': 2022, 'NTBK': 2022, 'SMKM': 2022, 'STAA': 2022, 'NANO': 2022, 'BIKE': 2022, 'WIRG': 2022, 'SICO': 2022, 'GOTO': 2022, 'TLDN': 2022, 'MTMH': 2022, 'WINR': 2022, 'IBOS': 2022, 'OLIV': 2022, 'ASHA': 2022, 'SWID': 2022, 'TRGU': 2022, 'ARKO': 2022, 'CHEM': 2022, 'DEWI': 2022, 'AXIO': 2022, 'KRYA': 2022, 'HATM': 2022, 'RCCC': 2022, 'GULA': 2022, 'JARR': 2022, 'AMMS': 2022, 'RAFI': 2022, 'KKES': 2022, 'ELPI': 2022, 'EURO': 2022, 'KLIN': 2022, 'TOOL': 2022, 'BUAH': 2022, 'CRAB': 2022, 'MEDS': 2022, 'COAL': 2022, 'PRAY': 2022, 'CBUT': 2022, 'BELI': 2022, 'MKTR': 2022, 'OMED': 2022, 'BSBK': 2022, 'PDPP': 2022, 'KDTN': 2022, 'ZATA': 2022, 'NINE': 2022, 'MMIX': 2022, 'PADA': 2022, 'ISAP': 2022, 'VTNY': 2022, 'SOUL': 2023, 'ELIT': 2023, 'BEER': 2023, 'CBPE': 2023, 'SUNI': 2023, 'CBRE': 2023, 'WINE': 2023, 'BMBL': 2023, 'PEVE': 2023, 'LAJU': 2023, 'FWCT': 2023, 'NAYZ': 2023, 'IRSX': 2023, 'PACK': 2023, 'VAST': 2023, 'CHIP': 2023, 'HALO': 2023, 'KING': 2023, 'PGEO': 2023, 'FUTR': 2023, 'HILL': 2023, 'BDKR': 2023, 'PTMP': 2023, 'SAGE': 2023, 'TRON': 2023, 'CUAN': 2023, 'NSSS': 2023, 'GTRA': 2023, 'HAJJ': 2023, 'PIPA': 2023, 'NCKL': 2023, 'MENN': 2023, 'AWAN': 2023, 'MBMA': 2023, 'RAAM': 2023, 'DOOH': 2023, 'JATI': 2023, 'TYRE': 2023, 'MPXL': 2023, 'SMIL': 2023, 'KLAS': 2023, 'MAXI': 2023, 'VKTR': 2023, 'RELF': 2023, 'AMMN': 2023, 'CRSN': 2023, 'GRPM': 2023, 'WIDI': 2023, 'TGUK': 2023, 'INET': 2023, 'MAHA': 2023, 'RMKO': 2023, 'CNMA': 2023, 'FOLK': 2023, 'HBAT': 2023, 'GRIA': 2023, 'PPRI': 2023, 'ERAL': 2023, 'CYBR': 2023, 'MUTU': 2023, 'LMAX': 2023, 'HUMI': 2023, 'MSIE': 2023, 'RSCH': 2023, 'BABY': 2023, 'AEGS': 2023, 'IOTF': 2023, 'KOCI': 2023, 'PTPS': 2023, 'BREN': 2023, 'STRK': 2023, 'KOKA': 2023, 'LOPI': 2023, 'UDNG': 2023, 'RGAS': 2023, 'MSTI': 2023, 'IKPM': 2023, 'AYAM': 2023, 'SURI': 2023, 'ASLI': 2024, 'CGAS': 2024, 'NICE': 2024, 'MSJA': 2024, 'SMLE': 2024, 'ACRO': 2024, 'MANG': 2024, 'GRPH': 2024, 'SMGA': 2024, 'UNTD': 2024, 'TOSK': 2024, 'MPIX': 2024, 'ALII': 2024, 'MKAP': 2024, 'MEJA': 2024, 'LIVE': 2024, 'HYGN': 2024, 'BAIK': 2024, 'VISI': 2024, 'AREA': 2024, 'MHKI': 2024, 'ATLA': 2024, 'DATA': 2024, 'SOLA': 2024, 'BATR': 2024, 'SPRE': 2024, 'PART': 2024, 'GOLF': 2024, 'ISEA': 2024, 'BLES': 2024, 'GUNA': 2024, 'LABS': 2024, 'DOSS': 2024, 'NEST': 2024, 'PTMR': 2024, 'VERN': 2024, 'DAAZ': 2024, 'BOAT': 2024, 'NAIK': 2024, 'AADI': 2024, 'MDIY': 2024, 'KSIX': 2025, 'RATU': 2025, 'YOII': 2025, 'HGII': 2025, 'BRRC': 2025, 'DGWG': 2025, 'CBDK': 2025, 'OBAT': 2025, 'MINE': 2025, 'ASPR': 2025, 'PSAT': 2025, 'COIN': 2025, 'CDIA': 2025, 'BLOG': 2025, 'MERI': 2025, 'CHEK': 2025, 'PMUI': 2025, 'EMAS': 2025, 'KAQI': 2025, 'YUPI': 2025, 'FORE': 2025, 'MDLA': 2025, 'DKHH': 2025, 'AYLS': 2020, 'DADA': 2020, 'ASPI': 2020, 'ESTA': 2020, 'BESS': 2020, 'AMAN': 2020, 'CARE': 2020}
# pastikan key di dict cocok dengan format ticker (4 huruf uppercase)
df_findat_final["IPO Year"] = (
    df_findat_final["ticker"]
    .map(dict_perusahaan_tahun_ipo)
    .astype("Int64") # nullable integer kalau ada ticker yang tidak ketemu di dict
)

df_findat_final[["ticker", "Year", "IPO Year"]].head()
variable ticker Year IPO Year
17 AALI 2024 1997
18 AALI 2023 1997
19 AALI 2022 1997
20 AALI 2021 1997
21 AALI 2020 1997
missing_tickers = (
    df_findat_final.loc[df_findat_final["IPO Year"].isna(), "ticker"]
    .dropna()
    .unique()
)

if len(missing_tickers) > 0:
    raise ValueError(
        f"Ada perusahaan yang tidak punya tahun IPO di dict_perusahaan_tahun_ipo: "
        f"{', '.join(sorted(map(str, missing_tickers)))}"
    )

Hasil Load Data Finansial

df_findat_final.sample(5)
variable ticker Year Entity Name 1st Level Primary Industry Year Established Date Established MM/dd/yyyy Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
9359 MFMI 2015 PT Multifiling Mitra Indonesia Tbk (IDX:MFMI) Industrials 1992.000000 1992-07-09 00:00:00 Industrials Commercial and Professional Services 99.350000 99.350000 NaN 22281.136000 184786.689000 2.642000 2.348000 22158.153000 35655.126000 13496.973000 383.592000 2982.015000 NaN NaN NaN 0.000000 162505.553000 146599.674000 40390.034000 84504.787000 21223.384000 29999.458000 21223.384000 16469.954000 29431.978000 -1191.658000 757581000.000000 141667.647000 187.000000 162505.553000 20073.198000 NaN 2010
14423 TPIA 2017 PT Chandra Asri Pacific Tbk (IDX:TPIA) Materials 1984.000000 1984-11-02 01:00:00 Materials Materials NaN 0.600000 5.200000 17873341.992000 40495893.024000 2.434000 1.787000 11411603.472000 19371334.216000 7959730.744000 3217503.044000 NaN 7496508.668000 NaN NaN 8553063.308000 22622551.032000 19624546.740000 25073030.945538 32366794.323508 6214133.725292 7276659.962954 6214133.725292 4271223.251815 5278303.911692 7277288.961785 71334081040.000000 107001121.560000 1500.000000 31175614.340000 11421418.016000 NaN 2008
11629 PRDA 2023 PT Prodia Widyahusada Tbk (IDX:PRDA) Health Care 1973.000000 1973-05-07 00:00:00 Health Care Health Care Equipment and Services 57.000000 3.430000 0.000000 347447.000000 2708056.000000 5.496000 5.092000 1056733.000000 1291763.000000 235030.000000 42266.000000 10545.000000 1767.000000 NaN NaN 31362.000000 2360609.000000 1013836.000000 957101.000000 2222466.000000 306265.000000 386264.000000 306265.000000 259324.000000 411285.000000 -155443.000000 937500000.000000 5062500.000000 5400.000000 2391971.000000 992813.000000 226805.000000 2016
14044 TFCO 2022 PT Tifico Fiber Indonesia Tbk (IDX:TFCO) Consumer 1973.000000 1973-10-25 00:00:00 Consumer Discretionary Consumer Durables and Apparel NaN NaN 18.590000 420263.827169 5188274.725403 4.766000 2.267000 1322344.431025 1673476.597632 351132.166607 718959.592172 8209.281618 NaN 32061.064697 NaN 33380.144544 4768010.898234 2681691.829120 3223796.855986 3348508.996207 69367.709771 155320.202297 69367.709771 50728.864905 18146.017285 -582903.242471 4823076400.000000 3134999.660000 650.000000 4801391.042778 490776.248766 NaN 1980
746 ANTM 2009 PT Aneka Tambang Tbk (IDX:ANTM) Materials 1968.000000 1968-07-05 00:00:00 Materials Materials 65.000000 6.490000 0.000000 1748127.419000 9939996.438000 7.108000 5.089000 4565615.138000 5313146.234000 747531.096000 1170505.411000 44049.314000 247692.581000 NaN NaN 497376.856000 8191869.019000 3671314.053000 7468784.704000 8711370.255000 587521.105000 1151954.635000 587521.105000 595230.900000 995409.694000 -510635.805000 9523033750.000000 20950674.250000 2200.000000 8689245.875000 2773582.727000 NaN 1997

Perbaikan Data Finansial

Cek Kesesuaian Tipe Data Kolom

numeric_cols = df_findat_final.select_dtypes(include=['number']).columns.tolist()
categorical_cols = df_findat_final.select_dtypes(include=['object']).columns.tolist()

print("Numeric columns:")
print(numeric_cols)
print("\nCategorical columns:")
print(categorical_cols)
Numeric columns:
['Year', 'Year Established', 'Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'Percent Owned - Insiders (%)', 'Total Liabilities (Rp.M)', 'Total Assets (Rp.M)', 'Current Ratio (x)', 'Quick Ratio (x)', 'Working Capital (Rp.M)', 'Total Current Assets (Rp.M)', 'Total Current Liabilities (Rp.M)', 'Inventory (Rp.M)', 'Prepaid Exp. (Rp.M)', 'Long-term Debt (Rp.M)', 'Short-term Borrowings (Rp.M)', 'Current Portion of LT Debt & Leases (Rp.M)', 'Total Debt (Rp.M)', 'Total Equity (Rp.M)', 'Net Property, Plant & Equipment (Rp.M)', 'Cost Of Goods Sold (Rp.M)', 'Total Revenue (Rp.M)', 'Operating Income (Rp.M)', 'EBITDA (Rp.M)', 'EBIT (Rp.M)', 'Net Income to Company (Rp.M)', 'Cash from Ops. (Rp.M)', 'Net Change in Cash (Rp.M)', 'ECS Total Common Shares Outstanding (actual)', 'Market Capitalization (Rp.M)', 'Year Close Stock Price (Rp.)', 'Total Capital (Rp.M)', 'Cash & Short-term Investments (Rp.M)', 'Net Intangibles (Rp.M)', 'IPO Year']

Categorical columns:
['ticker', 'Entity Name', '1st Level Primary Industry', 'Date Established MM/dd/yyyy', 'Sector', 'Industry Group']
print('Cek apakah Date Established sudah berformat Datetime:')
print(pd.api.types.is_datetime64_any_dtype(df_findat_final['Date Established MM/dd/yyyy']))
df_findat_final['Date Established MM/dd/yyyy'].head(3)
Cek apakah Date Established sudah berformat Datetime:
False
Date Established MM/dd/yyyy
17 1988-10-03 00:00:00
18 1988-10-03 00:00:00
19 1988-10-03 00:00:00

print('Konversi Date Established ke Datetime dan Ubah Nama Kolom:')
df_findat_final['Date Established MM/dd/yyyy'] = pd.to_datetime(df_findat_final['Date Established MM/dd/yyyy'], errors="coerce")
df_findat_final = df_findat_final.rename(columns={'Date Established MM/dd/yyyy': 'Date Established'})
df_findat_final['Date Established'].head(3)
Konversi Date Established ke Datetime dan Ubah Nama Kolom:
Date Established
17 1988-10-03
18 1988-10-03
19 1988-10-03

Cek Null yg Bisa Dihitung Manual

Total Aset = Total Ekuitas + Liabilitas

cols_to_check = [
    'Total Assets (Rp.M)',
    'Total Equity (Rp.M)',
    'Total Liabilities (Rp.M)'
]

# Cek yang bisa diisi
null_counts_before = df_findat_final[cols_to_check].isnull().sum(axis=1)
rows_target = (null_counts_before == 1).sum()
print(f"Jumlah baris yang akan diperbaiki (tepat 1 null): {rows_target}")
if rows_target == 0:
    print("Tidak ada baris yang bisa diperbaiki.")
Jumlah baris yang akan diperbaiki (tepat 1 null): 0
Tidak ada baris yang bisa diperbaiki.

Market Cap = Harga x Jumlah Saham

Dari ketiga kolom tersebut, jika yang null hanya 1 maka dapat dihitung.

cols_to_check = [
    'ECS Total Common Shares Outstanding (actual)',
    'Market Capitalization (Rp.M)',
    'Year Close Stock Price (Rp.)'
]

col_shares = 'ECS Total Common Shares Outstanding (actual)'
col_mcap   = 'Market Capitalization (Rp.M)'
col_price  = 'Year Close Stock Price (Rp.)'

# 1. Cek jumlah null awal
null_counts_before = df_findat_final[cols_to_check].isnull().sum(axis=1)
rows_target = (null_counts_before == 1).sum()
print(f"Jumlah baris yang akan diperbaiki (tepat 1 null): {rows_target}")

# ---------------------------------------------------------
# PROSES PENGISIAN (IMPUTASI) DENGAN RUMUS
# ---------------------------------------------------------

# KASUS A: Shares Kosong -> Hitung pakai (Market Cap * 1jt) / Price
# Syarat: Shares IS NULL, tapi Market Cap & Price TIDAK NULL
mask_shares_null = (
    df_findat_final[col_shares].isnull() &
    df_findat_final[col_mcap].notnull() &
    df_findat_final[col_price].notnull()
)
df_findat_final.loc[mask_shares_null, col_shares] = (
    df_findat_final.loc[mask_shares_null, col_mcap] * 1_000_000
) / df_findat_final.loc[mask_shares_null, col_price]


# KASUS B: Market Cap Kosong -> Hitung pakai (Price * Shares) / 1jt
# Syarat: Market Cap IS NULL, tapi Price & Shares TIDAK NULL
mask_mcap_null = (
    df_findat_final[col_mcap].isnull() &
    df_findat_final[col_price].notnull() &
    df_findat_final[col_shares].notnull()
)
df_findat_final.loc[mask_mcap_null, col_mcap] = (
    df_findat_final.loc[mask_mcap_null, col_price] * df_findat_final.loc[mask_mcap_null, col_shares]
) / 1_000_000


# KASUS C: Price Kosong -> Hitung pakai (Market Cap * 1jt) / Shares
# Syarat: Price IS NULL, tapi Market Cap & Shares TIDAK NULL
mask_price_null = (
    df_findat_final[col_price].isnull() &
    df_findat_final[col_mcap].notnull() &
    df_findat_final[col_shares].notnull()
)
df_findat_final.loc[mask_price_null, col_price] = (
    df_findat_final.loc[mask_price_null, col_mcap] * 1_000_000
) / df_findat_final.loc[mask_price_null, col_shares]

# ---------------------------------------------------------

# Verifikasi Hasil
null_counts_after = df_findat_final[cols_to_check].isnull().sum(axis=1)
rows_remaining = (null_counts_after == 1).sum()
print(f"Sisa baris dengan 1 null setelah perbaikan: {rows_remaining} (Harus 0)")
Jumlah baris yang akan diperbaiki (tepat 1 null): 38
Sisa baris dengan 1 null setelah perbaikan: 0 (Harus 0)

Working Capital = CA - CL

cols_to_check = [
    'Working Capital (Rp.M)',
    'Total Current Assets (Rp.M)',
    'Total Current Liabilities (Rp.M)'
]

# Cek jumlah null tepat 1
null_counts_before = df_findat_final[cols_to_check].isnull().sum(axis=1)
rows_target = (null_counts_before == 1).sum()
print(f"Jumlah baris yang dapat diperbaiki (tepat 1 null): {rows_target}")
Jumlah baris yang dapat diperbaiki (tepat 1 null): 21
df_findat_final[df_findat_final[cols_to_check].isna().sum(axis=1)==1][cols_to_check]
variable Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M)
3011 NaN 303261.676000 101907.258000
3012 NaN 233819.275000 67363.137000
3013 NaN 194827.419000 41344.686000
3014 NaN 189163.251000 41766.037000
3015 NaN 176074.194000 30419.619000
3016 NaN 138161.400000 25235.541000
3017 NaN 128801.476000 30523.107000
3019 NaN 125563.723000 24837.582000
3020 NaN 126889.991000 34947.793000
5731 NaN 88045.362000 29098.404000
5732 NaN 112647.222000 31756.190000
5733 NaN 110339.347000 25792.856000
5734 NaN 114100.749000 31386.202000
5738 NaN 78360.594000 10766.730000
5739 NaN 78937.813000 8735.836000
5740 NaN 78380.255000 13497.036000
9879 NaN 586852.139000 236276.100000
9880 NaN 459338.630000 215622.712000
9881 NaN 432576.455000 195801.413000
9892 NaN 279386.668000 38918.133000
9893 NaN 274498.610000 43498.273000
# Cek apakah benar working capital nilainya sama dengan total current assets dikurangi total current liabilities
wc  = "Working Capital (Rp.M)"
tca = "Total Current Assets (Rp.M)"
tcl = "Total Current Liabilities (Rp.M)"

# hanya cek baris yang lengkap (tidak null)
mask = df_findat_final[[wc, tca, tcl]].notna().all(axis=1)

calc = df_findat_final[tca] - df_findat_final[tcl]
diff = (df_findat_final.loc[mask, wc] - calc.loc[mask]).abs()

print("Jumlah baris dicek:", int(mask.sum()))
print("Jumlah yang sama persis:", int((diff == 0).sum()))
print("Jumlah yang beda:", int((diff != 0).sum()))
print("Max abs diff:", float(diff.max()))
print("Median abs diff:", float(diff.median()))
Jumlah baris dicek: 8468
Jumlah yang sama persis: 4134
Jumlah yang beda: 4334
Max abs diff: 0.0010000020265579224
Median abs diff: 1.8189894035458565e-12
# Hitung WC = CA - CL
wc_calculated = df_findat_final['Total Current Assets (Rp.M)'] - df_findat_final['Total Current Liabilities (Rp.M)']

# Tentukan baris 'Working Capital (Rp.M)' null
# DAN kedua kolom 'Total Current Assets (Rp.M)' & 'Total Current Liabilities (Rp.M)' tidak null
mask_to_fill = (
    df_findat_final['Working Capital (Rp.M)'].isnull() &
    df_findat_final['Total Current Assets (Rp.M)'].notnull() &
    df_findat_final['Total Current Liabilities (Rp.M)'].notnull()
)

# Isi null
df_findat_final.loc[mask_to_fill, 'Working Capital (Rp.M)'] = wc_calculated[mask_to_fill]

print("Null values di 'Working Capital (Rp.M)' yang memungkinkan diisi berhasil diisi.")
print(f"Jumlah baris yang diimputasi dengan wc_calculated: {mask_to_fill.sum()}")
print(f"Jumlah null di 'Working Capital (Rp.M)' setelah proses: {df_findat_final['Working Capital (Rp.M)'].isnull().sum()}")
Null values di 'Working Capital (Rp.M)' yang memungkinkan diisi berhasil diisi.
Jumlah baris yang diimputasi dengan wc_calculated: 21
Jumlah null di 'Working Capital (Rp.M)' setelah proses: 60

Total Debt = LTD + STB + CPLTD

df_findat_final[(df_findat_final['Total Debt (Rp.M)'].isna()) &
                (df_findat_final['Short-term Borrowings (Rp.M)'].notna()) &
                (df_findat_final['Current Portion of LT Debt & Leases (Rp.M)'].notna()) &
                (df_findat_final['Long-term Debt (Rp.M)'].notna())
                ]
# Tidak ada yang bisa diisi dengan dihitung
variable ticker Year Entity Name 1st Level Primary Industry Year Established Date Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year

Total Capital = Total Equity + Total Debt

jml_bisa_diisi = len(df_findat_final[(df_findat_final['Total Capital (Rp.M)'].isna()) &
                      (df_findat_final['Total Equity (Rp.M)'].notna()) &
                      (df_findat_final['Total Debt (Rp.M)'].notna())
                    ])
print(f"Jumlah baris yang bisa diisi: {jml_bisa_diisi}")
Jumlah baris yang bisa diisi: 669
tc = "Total Capital (Rp.M)"
te = "Total Equity (Rp.M)"
td = "Total Debt (Rp.M)"

tc_calc = df_findat_final[te] + df_findat_final[td]

mask = df_findat_final[[tc, te, td]].notna().all(axis=1)

diff = df_findat_final.loc[mask, tc] - tc_calc.loc[mask]
abs_diff = diff.abs()

# error relatif (hindari pembagian 0)
den = df_findat_final.loc[mask, tc].abs().replace(0, np.nan)
rel_err = abs_diff / den

print("n dibandingkan:", int(mask.sum()))
print("match persis:", int((diff == 0).sum()), "| prop:", float((diff == 0).mean()))
print("median abs diff:", float(abs_diff.median()))
print("mean abs diff:", float(abs_diff.mean()))
print("median rel err:", float(rel_err.median()))
n dibandingkan: 7799
match persis: 5571 | prop: 0.714322349019105
median abs diff: 0.0
mean abs diff: 0.00011411735155438838
median rel err: 0.0
# Isi Total Capital dengan rumus TE + TD

mask_fill = (
    df_findat_final["Total Capital (Rp.M)"].isna() &
    df_findat_final[["Total Equity (Rp.M)", "Total Debt (Rp.M)"]].notna().all(axis=1)
)

df_findat_final.loc[mask_fill, "Total Capital (Rp.M)"] = (
    df_findat_final.loc[mask_fill, "Total Equity (Rp.M)"] +
    df_findat_final.loc[mask_fill, "Total Debt (Rp.M)"]
)
print('Sisa null Total Capital sekarang : ', df_findat_final['Total Capital (Rp.M)'].isna().sum())
Sisa null Total Capital sekarang :  81

Year Established

print('Jumlah baris yang Year Established-nya null:', df_findat_final['Year Established'].isna().sum())
Jumlah baris yang Year Established-nya null: 21
print('Cek baris dimana Year Established null tapi Date Established ada')
display(df_findat_final[(df_findat_final['Year Established'].isna()) &
                (df_findat_final['Date Established'].notna())])

if (len(df_findat_final[(df_findat_final['Year Established'].isna()) &
                (df_findat_final['Date Established'].notna())]) == 0):
    print('Tidak ada Year Established kosong yang bisa diisi dengan Date Established')
Cek baris dimana Year Established null tapi Date Established ada
variable ticker Year Entity Name 1st Level Primary Industry Year Established Date Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
Tidak ada Year Established kosong yang bisa diisi dengan Date Established

Year Established tidak bisa diisi dengan Date Established, maka drop Date Established

# Drop Date Established
df_findat_final = df_findat_final.drop(columns=['Date Established'])
print('Perusahaan yang punya baris dengan Year Established null:')
perusahaan_dengan_baris_year_established_null = df_findat_final[df_findat_final['Year Established'].isna()]['Entity Name'].unique().tolist()
perusahaan_dengan_baris_year_established_null
Perusahaan yang punya baris dengan Year Established null:
['PT Ashmore Asset Management Indonesia Tbk (IDX:AMOR)',
 'PT Bank Syariah Indonesia Tbk (IDX:BRIS)',
 'PT Saratoga Investama Sedaya Tbk (IDX:SRTG)']
print('Baris Year Established null:')
df_findat_final[df_findat_final['Year Established'].isna()][['Entity Name','Year', 'Year Established']]
Baris Year Established null:
variable Entity Name Year Year Established
663 PT Ashmore Asset Management Indonesia Tbk (IDX... 2024 NaN
664 PT Ashmore Asset Management Indonesia Tbk (IDX... 2023 NaN
665 PT Ashmore Asset Management Indonesia Tbk (IDX... 2022 NaN
666 PT Ashmore Asset Management Indonesia Tbk (IDX... 2021 NaN
2805 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2024 NaN
2806 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2023 NaN
2807 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2022 NaN
2808 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2021 NaN
2809 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2020 NaN
2810 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2019 NaN
13515 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2024 NaN
13516 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2023 NaN
13517 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2022 NaN
13518 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2021 NaN
13519 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2020 NaN
13520 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2019 NaN
13521 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2018 NaN
13522 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2017 NaN
13523 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2016 NaN
13524 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2015 NaN
13525 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2014 NaN
print('Cek apakah bisa diisi dengan baris lain\n')
df_findat_final[df_findat_final['Entity Name'].isin(perusahaan_dengan_baris_year_established_null)][['Entity Name','Year', 'Year Established']]
Cek apakah bisa diisi dengan baris lain
variable Entity Name Year Year Established
663 PT Ashmore Asset Management Indonesia Tbk (IDX... 2024 NaN
664 PT Ashmore Asset Management Indonesia Tbk (IDX... 2023 NaN
665 PT Ashmore Asset Management Indonesia Tbk (IDX... 2022 NaN
666 PT Ashmore Asset Management Indonesia Tbk (IDX... 2021 NaN
2805 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2024 NaN
2806 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2023 NaN
2807 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2022 NaN
2808 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2021 NaN
2809 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2020 NaN
2810 PT Bank Syariah Indonesia Tbk (IDX:BRIS) 2019 NaN
13515 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2024 NaN
13516 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2023 NaN
13517 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2022 NaN
13518 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2021 NaN
13519 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2020 NaN
13520 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2019 NaN
13521 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2018 NaN
13522 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2017 NaN
13523 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2016 NaN
13524 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2015 NaN
13525 PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2014 NaN

Cek Kolom Tidak Boleh Negatif (Biasanya)

columns_to_check_negative = ['Total Revenue (Rp.M)', 'Market Capitalization (Rp.M)', 'Total Assets (Rp.M)']

for col in columns_to_check_negative:
    negative_count = (df_findat_final[col] < 0).sum()
    print(f"Jumlah baris dengan nilai negatif pada kolom '{col}': {negative_count}")
Jumlah baris dengan nilai negatif pada kolom 'Total Revenue (Rp.M)': 71
Jumlah baris dengan nilai negatif pada kolom 'Market Capitalization (Rp.M)': 0
Jumlah baris dengan nilai negatif pada kolom 'Total Assets (Rp.M)': 0
df_findat_final[df_findat_final['Total Revenue (Rp.M)'] < 0][['Entity Name']].value_counts()
count
Entity Name
PT Lenox Pasifik Investama Tbk (IDX:LPPS) 7
PT Intan Baru Prana Tbk (IDX:IBFN) 6
PT Bank KB Indonesia Tbk (IDX:BBKP) 5
PT Minna Padi Investama Sekuritas Tbk (IDX:PADI) 5
PT Panca Global Kapital Tbk (IDX:PEGE) 4
PT Pool Advista Finance Tbk (IDX:POLA) 4
PT Capitalinc Investment Tbk (IDX:MTFN) 3
PT Charnic Capital Tbk (IDX:NICK) 3
PT. Bank Pembangunan Daerah Banten, Tbk (IDX:BEKS) 3
PT Bank JTrust Indonesia Tbk (IDX:BCIC) 3
PT Bank QNB Indonesia Tbk (IDX:BKSW) 3
PT Provident Investasi Bersama Tbk (IDX:PALM) 2
PT Danasupra Erapacific Tbk (IDX:DEFI) 2
PT Bank Panin Dubai Syariah Tbk (IDX:PNBS) 2
PT Saratoga Investama Sedaya Tbk (IDX:SRTG) 2
PT Radana Bhaskara Finance Tbk (IDX:HDFA) 2
PT Indonesia Prima Property Tbk (IDX:OMRE) 2
PT Bank Permata Tbk (IDX:BNLI) 1
PT Bank IBK Indonesia Tbk (IDX:AGRS) 1
PT Allo Bank Indonesia Tbk (IDX:BBHI) 1
PT Bank Jago Tbk (IDX:ARTO) 1
PT Bank MNC Internasional Tbk (IDX:BABP) 1
PT Bank of India Indonesia Tbk (IDX:BSWD) 1
PT Bank Raya Indonesia Tbk (IDX:AGRO) 1
PT MNC Tourism Indonesia Tbk (IDX:KPIG) 1
PT Himalaya Energi Perkasa Tbk (IDX:HADE) 1
PT Mineral Sumberdaya Mandiri Tbk (IDX:AKSI) 1
PT Magna Investama Mandiri Tbk (IDX:MGNA) 1
PT Mizuho Leasing Indonesia Tbk (IDX:VRNA) 1
PT Yulie Sekuritas Indonesia Tbk (IDX:YULE) 1

cols = ["ticker","Year","Sector", "Industry Group",
        "Total Revenue (Rp.M)", "Operating Income (Rp.M)",
        "EBITDA (Rp.M)", "Net Income to Company (Rp.M)"]

df_findat_final.loc[df_findat_final["Total Revenue (Rp.M)"] < 0, cols] \
               .sort_values(["ticker","Year"])
variable ticker Year Sector Industry Group Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) Net Income to Company (Rp.M)
309 AGRO 2021 Financials Banks -2900117.934000 -3302855.412000 NaN -3045701.407000
328 AGRS 2019 Financials Banks -46978.000000 -270402.000000 NaN -248836.000000
455 AKSI 2011 Industrials Transportation -29020.539000 -38088.940000 -37466.047000 -36437.585000
991 ARTO 2019 Financials Banks -48665.000000 -91150.000000 NaN -121966.000000
1401 BABP 2017 Financials Banks -349818.000000 -886730.000000 NaN -685193.000000
... ... ... ... ... ... ... ... ...
11424 POLA 2024 Financials Financial Services -5408.036000 -29851.381000 NaN -28745.813000
13521 SRTG 2018 Financials Financial Services -6089443.000000 -6313642.000000 -6312597.000000 -6134832.000000
13516 SRTG 2023 Financials Financial Services -10991269.000000 -11211922.000000 -11210658.000000 -10151341.000000
15051 VRNA 2018 Financials Financial Services -125436.117000 -202662.629000 NaN -192758.906000
15593 YULE 2020 Financials Financial Services -1657.122000 -10844.380000 NaN -7225.945000

71 rows × 8 columns

Mayoritas perusahaan finansial dan Net Income memang negatif, sehingga sesuai dan tetap dipertahankan.

Cek Zero Values

zero_values_summary = {}

for col in df_findat_final.select_dtypes(include=np.number).columns:
    zero_count = (df_findat_final[col] == 0).sum()
    if zero_count > 0:
        percentage = (zero_count / len(df_findat_final)) * 100
        zero_values_summary[col] = {
            "count": zero_count,
            "percentage": f"{percentage:.2f}%"
        }

if zero_values_summary:
    print("Columns in df_findat_final with zero values:")
    for col_name, data in zero_values_summary.items():
        print(f"- {col_name}: {data['count']} zeros ({data['percentage']})")
else:
    print("No numeric columns in df_findat_final contain zero values.")
Columns in df_findat_final with zero values:
- Percent Owned - All Institutions (%): 201 zeros (2.35%)
- Percent Owned - Insiders (%): 630 zeros (7.37%)
- Current Ratio (x): 2 zeros (0.02%)
- Quick Ratio (x): 2 zeros (0.02%)
- Inventory (Rp.M): 13 zeros (0.15%)
- Total Debt (Rp.M): 804 zeros (9.40%)
- Net Property, Plant & Equipment (Rp.M): 7 zeros (0.08%)

Cek Kolom Seharusnya Tidak Kosong

cols_to_impute = [
    "Net Property, Plant & Equipment (Rp.M)", "Total Revenue (Rp.M)",
    "Cash from Ops. (Rp.M)", "Net Change in Cash (Rp.M)", "Total Assets (Rp.M)"
]

for col in cols_to_impute:
    print(f"Jumlah Null pada {col}: {df_findat_final[col].isnull().sum()}")
Jumlah Null pada Net Property, Plant & Equipment (Rp.M): 79
Jumlah Null pada Total Revenue (Rp.M): 91
Jumlah Null pada Cash from Ops. (Rp.M): 62
Jumlah Null pada Net Change in Cash (Rp.M): 62
Jumlah Null pada Total Assets (Rp.M): 60

Jika perlu imputasi, imputasi dilakukan di tahap setelah feature engineering agar dataset yang mempertahankan null bisa dibuat fitur-fitur raisonya terlebih dahulu.

Cek Null

Jumlah Null Tiap Kolom

null_counts = df_findat_final.isnull().sum()
total_rows = len(df_findat_final)
null_percentages = (null_counts / total_rows) * 100

null_summary_df = pd.DataFrame({
    'Null Count': null_counts,
    'Null Percentage': null_percentages
})

null_summary_df = null_summary_df.sort_values(by='Null Count', ascending=False)

print("Summary of Null Values in df_findat_final:")
print(null_summary_df.to_string())
Summary of Null Values in df_findat_final:
                                              Null Count  Null Percentage
variable                                                                 
Current Portion of LT Debt & Leases (Rp.M)          8212        96.058018
Net Intangibles (Rp.M)                              6786        79.377705
Percent Owned - All Institutions (%)                3983        46.590244
Parent Percent Owned (%)                            3681        43.057668
Short-term Borrowings (Rp.M)                        2970        34.740905
Long-term Debt (Rp.M)                               2641        30.892502
Percent Owned - Insiders (%)                        2578        30.155574
Prepaid Exp. (Rp.M)                                 1522        17.803252
Inventory (Rp.M)                                    1266        14.808750
EBITDA (Rp.M)                                       1166        13.639022
EBIT (Rp.M)                                         1159        13.557141
Current Ratio (x)                                    766         8.960112
Quick Ratio (x)                                      764         8.936718
Cost Of Goods Sold (Rp.M)                            240         2.807346
Total Revenue (Rp.M)                                  91         1.064452
Total Capital (Rp.M)                                  81         0.947479
Total Debt (Rp.M)                                     81         0.947479
Net Property, Plant & Equipment (Rp.M)                79         0.924085
Net Change in Cash (Rp.M)                             62         0.725231
Cash from Ops. (Rp.M)                                 62         0.725231
Operating Income (Rp.M)                               61         0.713534
Working Capital (Rp.M)                                60         0.701836
Total Current Assets (Rp.M)                           60         0.701836
Total Assets (Rp.M)                                   60         0.701836
Net Income to Company (Rp.M)                          60         0.701836
Total Equity (Rp.M)                                   60         0.701836
Cash & Short-term Investments (Rp.M)                  60         0.701836
Total Current Liabilities (Rp.M)                      60         0.701836
Total Liabilities (Rp.M)                              58         0.678442
Market Capitalization (Rp.M)                          52         0.608258
Year Close Stock Price (Rp.)                          52         0.608258
ECS Total Common Shares Outstanding (actual)          28         0.327524
Year Established                                      21         0.245643
Sector                                                 0         0.000000
Industry Group                                         0         0.000000
1st Level Primary Industry                             0         0.000000
Year                                                   0         0.000000
ticker                                                 0         0.000000
Entity Name                                            0         0.000000
IPO Year                                               0         0.000000

Jumlah Baris untuk tiap Jumlah Null

# hitung frekuensi jumlah null per baris
print('Jumlah baris untuk tiap jumlah null:')
hasil_null_per_baris = df_findat_final.isnull().sum(axis=1).value_counts().sort_index()
print(hasil_null_per_baris)
Jumlah baris untuk tiap jumlah null:
1      236
2     1057
3     1766
4     1958
5     1483
6      877
7      468
8      294
9      210
10      95
11      26
12      18
13       1
26       4
27       8
28      16
29       9
30       8
31       7
32       8
Name: count, dtype: int64
print('Jumlah baris dengan null >25 :')
df_findat_final[df_findat_final.isnull().sum(axis=1) > 25]
Jumlah baris dengan null >25 :
variable ticker Year Entity Name 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
527 ALTO 2024 PT Tri Banyan Tirta Tbk (IDX:ALTO) Consumer 1997.000000 Consumer Staples Food, Beverage and Tobacco 51.090000 16.440000 2.240000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2191870558.000000 35069.928928 16.000000 NaN NaN NaN 2012
1904 BEBS 2024 PT Berkah Beton Sadaya Tbk (IDX:BEBS) Materials 2019.000000 Materials Materials NaN 5.810000 4.510000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 45000000000.000000 225000.000000 5.000000 NaN NaN NaN 2021
2108 BIKA 2024 PT Binakarya Jaya Abadi Tbk (IDX:BIKA) Real Estate 2007.000000 Real Estate Real Estate Management and Development NaN NaN 72.190000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 592280000.000000 32575.400000 55.000000 NaN NaN NaN 2015
2703 BOSS 2024 PT. Borneo Olah Sarana Sukses Tbk (IDX:BOSS) Energy and Utilities 2011.000000 Energy Energy NaN NaN 0.020000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1400000000.000000 70000.000000 50.000000 NaN NaN NaN 2018
2704 BOSS 2023 PT. Borneo Olah Sarana Sukses Tbk (IDX:BOSS) Energy and Utilities 2011.000000 Energy Energy NaN NaN 0.020000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1400000000.000000 70000.000000 50.000000 NaN NaN NaN 2018
3002 BTEK 2014 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3003 BTEK 2013 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3004 BTEK 2012 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3005 BTEK 2011 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3006 BTEK 2010 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3007 BTEK 2009 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3008 BTEK 2008 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) Consumer 2001.000000 Consumer Staples Food, Beverage and Tobacco NaN 14.650000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2004
3208 BWPT 2012 PT Eagle High Plantations Tbk (IDX:BWPT) Consumer 2000.000000 Consumer Staples Food, Beverage and Tobacco NaN 0.060000 0.040000 4789012.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2009
3209 BWPT 2011 PT Eagle High Plantations Tbk (IDX:BWPT) Consumer 2000.000000 Consumer Staples Food, Beverage and Tobacco NaN 0.060000 0.040000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2009
3210 BWPT 2010 PT Eagle High Plantations Tbk (IDX:BWPT) Consumer 2000.000000 Consumer Staples Food, Beverage and Tobacco NaN 0.060000 0.040000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2009
3732 CMPP 2015 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3733 CMPP 2014 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3734 CMPP 2013 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3735 CMPP 2012 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3736 CMPP 2011 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3737 CMPP 2010 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3738 CMPP 2009 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3739 CMPP 2008 PT AirAsia Indonesia Tbk (IDX:CMPP) Industrials 1989.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1994
3859 CPRI 2024 PT Capri Nusa Satu Properti Tbk (IDX:CPRI) Real Estate 2011.000000 Real Estate Real Estate Management and Development NaN NaN 0.720000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2433379958.000000 121668.997900 50.000000 NaN NaN NaN 2019
3860 CPRI 2023 PT Capri Nusa Satu Properti Tbk (IDX:CPRI) Real Estate 2011.000000 Real Estate Real Estate Management and Development NaN NaN 0.720000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2433379958.000000 121668.997900 50.000000 NaN NaN NaN 2019
3861 CPRI 2022 PT Capri Nusa Satu Properti Tbk (IDX:CPRI) Real Estate 2011.000000 Real Estate Real Estate Management and Development NaN NaN 0.720000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2433379958.000000 121668.997900 50.000000 NaN NaN NaN 2019
4182 DEAL 2024 PT Dewata Freightinternational Tbk (IDX:DEAL) Industrials 1995.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1146170959.000000 6877.025754 6.000000 NaN NaN NaN 2018
4183 DEAL 2023 PT Dewata Freightinternational Tbk (IDX:DEAL) Industrials 1995.000000 Industrials Transportation NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1146170959.000000 10315.538631 9.000000 NaN NaN NaN 2018
5134 ETWA 2024 PT Eterindo Wahanatama Tbk (IDX:ETWA) Energy and Utilities 1992.000000 Energy Energy 79.260000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4668671400.000000 326806.998000 70.000000 NaN NaN NaN 1997
5135 ETWA 2023 PT Eterindo Wahanatama Tbk (IDX:ETWA) Energy and Utilities 1992.000000 Energy Energy 79.260000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4668671400.000001 452861.125800 97.000000 NaN NaN NaN 1997
5491 GAMA 2024 PT Aksara Global Development Tbk (IDX:GAMA) Real Estate 2003.000000 Real Estate Real Estate Management and Development NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10011027656.000000 180198.497808 18.000000 NaN NaN NaN 2012
5492 GAMA 2023 PT Aksara Global Development Tbk (IDX:GAMA) Real Estate 2003.000000 Real Estate Real Estate Management and Development NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10011027656.000000 180198.497808 18.000000 NaN NaN NaN 2012
5493 GAMA 2022 PT Aksara Global Development Tbk (IDX:GAMA) Real Estate 2003.000000 Real Estate Real Estate Management and Development NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10011027656.000000 500551.382800 50.000000 NaN NaN NaN 2012
5570 GEMS 2013 PT Golden Energy Mines Tbk (IDX:GEMS) Energy and Utilities 1997.000000 Energy Energy 51.000000 0.020000 0.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2011
5571 GEMS 2012 PT Golden Energy Mines Tbk (IDX:GEMS) Energy and Utilities 1997.000000 Energy Energy 51.000000 0.020000 0.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2011
6273 HKMU 2024 PT HK Metals Utama Tbk (IDX:HKMU) Industrials 1995.000000 Industrials Capital Goods NaN NaN 0.100000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 3221750000.000000 161087.500000 50.000000 NaN NaN NaN 2018
6274 HKMU 2023 PT HK Metals Utama Tbk (IDX:HKMU) Industrials 1995.000000 Industrials Capital Goods NaN NaN 0.100000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 3221750000.000000 161087.500000 50.000000 NaN NaN NaN 2018
6544 ICON 2008 PT Island Concepts Indonesia Tbk (IDX:ICON) Industrials 2001.000000 Industrials Commercial and Professional Services NaN 5.020000 36.140000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2005
7191 IPPE 2024 PT Indo Pureco Pratama Tbk (IDX:IPPE) Consumer 2019.000000 Consumer Staples Food, Beverage and Tobacco NaN NaN 5.320000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4600000000.000001 64400.000000 14.000000 NaN NaN NaN 2021
7684 KAYU 2024 PT Darmi Bersaudara Tbk (IDX:KAYU) Materials 1998.000000 Materials Materials 54.210000 NaN 0.050000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 665000000.000000 11970.000000 18.000000 NaN NaN NaN 2019
9571 MKNT 2024 PT Mitra Komunikasi Nusantara Tbk (IDX:MKNT) Technology, Media & Telecommunications 2008.000000 Information Technology Technology Hardware and Equipment NaN 5.010000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5500000000.000000 5500.000000 1.000000 NaN NaN NaN 2015
9572 MKNT 2023 PT Mitra Komunikasi Nusantara Tbk (IDX:MKNT) Technology, Media & Telecommunications 2008.000000 Information Technology Technology Hardware and Equipment NaN 5.010000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 5500000000.000000 11000.000000 2.000000 NaN NaN NaN 2015
10149 MYOH 2024 PT Samindo Resources Tbk (IDX:MYOH) Energy and Utilities 2000.000000 Energy Energy 59.030000 10.570000 14.180000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2206312500.000000 3508036.875000 1590.000000 NaN NaN NaN 2000
11288 PMMP 2024 PT Panca Mitra Multiperdana Tbk (IDX:PMMP) Consumer 1997.000000 Consumer Staples Food, Beverage and Tobacco 51.000000 NaN 62.450000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2588300000.000000 194122.500000 75.000000 NaN NaN NaN 2020
11458 POLL 2024 PT Pollux Properties Indonesia Tbk (IDX:POLL) Real Estate 2014.000000 Real Estate Real Estate Management and Development 84.980000 6.010000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8318823600.000000 931708.243200 112.000000 NaN NaN NaN 2018
12597 SBAT 2024 PT Sejahtera Bintang Abadi Textile Tbk (IDX:SBAT) Consumer 2003.000000 Consumer Discretionary Consumer Durables and Apparel NaN NaN 34.480000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4752982978.000000 4752.982978 1.000000 NaN NaN NaN 2020
12598 SBAT 2023 PT Sejahtera Bintang Abadi Textile Tbk (IDX:SBAT) Consumer 2003.000000 Consumer Discretionary Consumer Durables and Apparel NaN NaN 34.480000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 4752982978.000000 42776.846802 9.000000 NaN NaN NaN 2020
12728 SDRA 2012 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... Financials 1906.000000 Financials Banks 90.750000 NaN 0.020000 4573918.000000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2006
12729 SDRA 2011 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... Financials 1906.000000 Financials Banks 90.750000 NaN 0.020000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2006
12730 SDRA 2010 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... Financials 1906.000000 Financials Banks 90.750000 NaN 0.020000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2006
12731 SDRA 2009 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... Financials 1906.000000 Financials Banks 90.750000 NaN 0.020000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2006
12732 SDRA 2008 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... Financials 1906.000000 Financials Banks 90.750000 NaN 0.020000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2006
13474 SQMI 2014 PT Wilton Makmur indonesia Tbk. (IDX:SQMI) Energy and Utilities 2000.000000 Energy Energy 75.620000 41.730000 20.320000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 301200000.000000 448788.000000 1490.000000 NaN NaN NaN 2004
13736 SWAT 2024 PT Sriwahana Adityakarta Tbk (IDX:SWAT) Materials 1990.000000 Materials Materials 77.220000 NaN 11.800000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 3019200000.000000 75480.000000 25.000000 NaN NaN NaN 2018
13991 TECH 2024 PT Indosterling Technomedia TBK (IDX:TECH) Technology, Media & Telecommunications 2011.000000 Information Technology Software and Services 79.950000 0.050000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1256300000.000000 62815.000000 50.000000 NaN NaN NaN 2020
13992 TECH 2023 PT Indosterling Technomedia TBK (IDX:TECH) Technology, Media & Telecommunications 2011.000000 Information Technology Software and Services 79.950000 0.050000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1256300000.000000 62815.000000 50.000000 NaN NaN NaN 2020
14314 TOPS 2024 PT Totalindo Eka Persada Tbk (IDX:TOPS) Industrials 1996.000000 Industrials Capital Goods 58.750000 NaN 5.800000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 33330000000.000000 33330.000000 1.000000 NaN NaN NaN 2017
14399 TOYS 2024 PT Sunindo Adipersada Tbk (IDX:TOYS) Consumer 1991.000000 Consumer Discretionary Consumer Durables and Apparel NaN NaN 39.900000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1435000712.000000 11480.005696 8.000000 NaN NaN NaN 2020
14431 TPIA 2009 PT Chandra Asri Pacific Tbk (IDX:TPIA) Materials 1984.000000 Materials Materials NaN 0.600000 5.200000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2008
15640 ZBRA 2024 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) Health Care 1987.000000 Health Care Health Care Equipment and Services 63.210000 30.770000 2.270000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2510706263.000000 135578.138202 54.000000 NaN NaN NaN 1991

Null pada Kolom Penentu Financial Distress

Selain status masuknya perusahaan ke Papan Pemantauan Khusus, financial distress juga ditentukan dengan Total Ekuitas dan Laba Bersih. Cek apakah ada baris yang memiliki null pada kedua kolom tadi.

print('Baris dengan Net Income to Company atau Total Equity null :\n')
df_findat_final[(df_findat_final['Net Income to Company (Rp.M)'].isna()) | (df_findat_final['Total Equity (Rp.M)'].isna())][['Entity Name','Year', 'Net Income to Company (Rp.M)', 'Total Equity (Rp.M)']]
Baris dengan Net Income to Company atau Total Equity null :
variable Entity Name Year Net Income to Company (Rp.M) Total Equity (Rp.M)
527 PT Tri Banyan Tirta Tbk (IDX:ALTO) 2024 NaN NaN
1904 PT Berkah Beton Sadaya Tbk (IDX:BEBS) 2024 NaN NaN
2108 PT Binakarya Jaya Abadi Tbk (IDX:BIKA) 2024 NaN NaN
2703 PT. Borneo Olah Sarana Sukses Tbk (IDX:BOSS) 2024 NaN NaN
2704 PT. Borneo Olah Sarana Sukses Tbk (IDX:BOSS) 2023 NaN NaN
3002 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2014 NaN NaN
3003 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2013 NaN NaN
3004 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2012 NaN NaN
3005 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2011 NaN NaN
3006 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2010 NaN NaN
3007 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2009 NaN NaN
3008 PT Bumi Teknokultura Unggul Tbk (IDX:BTEK) 2008 NaN NaN
3208 PT Eagle High Plantations Tbk (IDX:BWPT) 2012 NaN NaN
3209 PT Eagle High Plantations Tbk (IDX:BWPT) 2011 NaN NaN
3210 PT Eagle High Plantations Tbk (IDX:BWPT) 2010 NaN NaN
3732 PT AirAsia Indonesia Tbk (IDX:CMPP) 2015 NaN NaN
3733 PT AirAsia Indonesia Tbk (IDX:CMPP) 2014 NaN NaN
3734 PT AirAsia Indonesia Tbk (IDX:CMPP) 2013 NaN NaN
3735 PT AirAsia Indonesia Tbk (IDX:CMPP) 2012 NaN NaN
3736 PT AirAsia Indonesia Tbk (IDX:CMPP) 2011 NaN NaN
3737 PT AirAsia Indonesia Tbk (IDX:CMPP) 2010 NaN NaN
3738 PT AirAsia Indonesia Tbk (IDX:CMPP) 2009 NaN NaN
3739 PT AirAsia Indonesia Tbk (IDX:CMPP) 2008 NaN NaN
3859 PT Capri Nusa Satu Properti Tbk (IDX:CPRI) 2024 NaN NaN
3860 PT Capri Nusa Satu Properti Tbk (IDX:CPRI) 2023 NaN NaN
3861 PT Capri Nusa Satu Properti Tbk (IDX:CPRI) 2022 NaN NaN
4182 PT Dewata Freightinternational Tbk (IDX:DEAL) 2024 NaN NaN
4183 PT Dewata Freightinternational Tbk (IDX:DEAL) 2023 NaN NaN
5134 PT Eterindo Wahanatama Tbk (IDX:ETWA) 2024 NaN NaN
5135 PT Eterindo Wahanatama Tbk (IDX:ETWA) 2023 NaN NaN
5491 PT Aksara Global Development Tbk (IDX:GAMA) 2024 NaN NaN
5492 PT Aksara Global Development Tbk (IDX:GAMA) 2023 NaN NaN
5493 PT Aksara Global Development Tbk (IDX:GAMA) 2022 NaN NaN
5570 PT Golden Energy Mines Tbk (IDX:GEMS) 2013 NaN NaN
5571 PT Golden Energy Mines Tbk (IDX:GEMS) 2012 NaN NaN
6273 PT HK Metals Utama Tbk (IDX:HKMU) 2024 NaN NaN
6274 PT HK Metals Utama Tbk (IDX:HKMU) 2023 NaN NaN
6544 PT Island Concepts Indonesia Tbk (IDX:ICON) 2008 NaN NaN
7191 PT Indo Pureco Pratama Tbk (IDX:IPPE) 2024 NaN NaN
7684 PT Darmi Bersaudara Tbk (IDX:KAYU) 2024 NaN NaN
9571 PT Mitra Komunikasi Nusantara Tbk (IDX:MKNT) 2024 NaN NaN
9572 PT Mitra Komunikasi Nusantara Tbk (IDX:MKNT) 2023 NaN NaN
10149 PT Samindo Resources Tbk (IDX:MYOH) 2024 NaN NaN
11288 PT Panca Mitra Multiperdana Tbk (IDX:PMMP) 2024 NaN NaN
11458 PT Pollux Properties Indonesia Tbk (IDX:POLL) 2024 NaN NaN
12597 PT Sejahtera Bintang Abadi Textile Tbk (IDX:SBAT) 2024 NaN NaN
12598 PT Sejahtera Bintang Abadi Textile Tbk (IDX:SBAT) 2023 NaN NaN
12728 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2012 NaN NaN
12729 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2011 NaN NaN
12730 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2010 NaN NaN
12731 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2009 NaN NaN
12732 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2008 NaN NaN
13474 PT Wilton Makmur indonesia Tbk. (IDX:SQMI) 2014 NaN NaN
13736 PT Sriwahana Adityakarta Tbk (IDX:SWAT) 2024 NaN NaN
13991 PT Indosterling Technomedia TBK (IDX:TECH) 2024 NaN NaN
13992 PT Indosterling Technomedia TBK (IDX:TECH) 2023 NaN NaN
14314 PT Totalindo Eka Persada Tbk (IDX:TOPS) 2024 NaN NaN
14399 PT Sunindo Adipersada Tbk (IDX:TOYS) 2024 NaN NaN
14431 PT Chandra Asri Pacific Tbk (IDX:TPIA) 2009 NaN NaN
15640 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) 2024 NaN NaN
print('Keseluruhan data dari perusahaan tersebut :')
perusahaan_yang_laba_atau_ekuitas_null = df_findat_final[(df_findat_final['Net Income to Company (Rp.M)'].isna()) | (df_findat_final['Total Equity (Rp.M)'].isna())]['Entity Name'].unique().tolist()
df_findat_final[df_findat_final['Entity Name'].isin(perusahaan_yang_laba_atau_ekuitas_null)][['Entity Name','Year', 'Net Income to Company (Rp.M)', 'Total Equity (Rp.M)']]
Keseluruhan data dari perusahaan tersebut :
variable Entity Name Year Net Income to Company (Rp.M) Total Equity (Rp.M)
527 PT Tri Banyan Tirta Tbk (IDX:ALTO) 2024 NaN NaN
528 PT Tri Banyan Tirta Tbk (IDX:ALTO) 2023 -25917.766000 323765.890000
529 PT Tri Banyan Tirta Tbk (IDX:ALTO) 2022 -16129.027000 348916.160000
530 PT Tri Banyan Tirta Tbk (IDX:ALTO) 2021 -8932.198000 363835.661000
531 PT Tri Banyan Tirta Tbk (IDX:ALTO) 2020 -10506.939000 372883.080000
... ... ... ... ...
15652 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) 2012 -8699.679000 9807.578000
15653 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) 2011 -9334.155000 18507.257000
15654 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) 2010 -9424.290000 27841.411000
15655 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) 2009 -7642.007000 37729.599000
15656 PT Dosni Roha Indonesia Tbk (IDX:ZBRA) 2008 -7037.408000 45371.606000

291 rows × 4 columns

Untuk konsistensi data dan pelabelan target prediksi, baris yang null pada Total Ekuitas ATAU Net Income perlu dihapus.

df_findat_final = df_findat_final.dropna(subset=['Net Income to Company (Rp.M)', 'Total Equity (Rp.M)'], how='any')

Null Total Asset, Ekuitas, atau Liabilitas

df_findat_final[
    (df_findat_final['Total Assets (Rp.M)'].isna()) |
    (df_findat_final['Total Equity (Rp.M)'].isna()) |
    (df_findat_final['Total Liabilities (Rp.M)'].isna())]
variable ticker Year Entity Name 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year

Null Total Lembar Saham

print('Baris data yang total lembar sahamnya null:')
df_findat_final[df_findat_final['ECS Total Common Shares Outstanding (actual)'].isna()][['Entity Name','Year', 'ECS Total Common Shares Outstanding (actual)']]
Baris data yang total lembar sahamnya null:
variable Entity Name Year ECS Total Common Shares Outstanding (actual)
12727 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2013 NaN
print("Perusahaan yang memiliki baris total lembar saham null:")
tickers_with_null_total_shares = df_findat_final[df_findat_final['ECS Total Common Shares Outstanding (actual)'].isna()]['Entity Name'].unique().tolist()
tickers_with_null_total_shares
Perusahaan yang memiliki baris total lembar saham null:
['PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:SDRA)']
print('Cek apakah perusahaan tsb ada baris lain yang tidak null pada total lembar sahamnya :')
df_findat_final[df_findat_final['Entity Name'].isin(tickers_with_null_total_shares)][['Entity Name','Year', 'ECS Total Common Shares Outstanding (actual)']]
Cek apakah perusahaan tsb ada baris lain yang tidak null pada total lembar sahamnya :
variable Entity Name Year ECS Total Common Shares Outstanding (actual)
12716 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2024 14692189889.000000
12717 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2023 8568234364.000000
12718 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2022 8568234364.000000
12719 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2021 8568234364.000000
12720 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2020 6580926254.000000
12721 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2019 6580926254.000000
12722 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2018 6580926254.000000
12723 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2017 6580926254.000000
12724 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2016 5072356660.000000
12725 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2015 5072356660.000000
12726 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2014 5072356660.000000
12727 PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:... 2013 NaN
print('Perusahaan yang punya data lembar saham di baris lain:')
df_findat_final[(df_findat_final['Entity Name'].isin(tickers_with_null_total_shares)) & (df_findat_final['ECS Total Common Shares Outstanding (actual)'].notna())]['Entity Name'].unique().tolist()
Perusahaan yang punya data lembar saham di baris lain:
['PT Bank Woori Saudara Indonesia 1906 Tbk (IDX:SDRA)']

Baris Tidak Layak Pakai

Cek dan hapus baris-baris yang tidak layak pakai, untuk baris yang :
- terlalu banyak null - null pada account keuangan yang krusial - pola null tidak masuk akal sehingga merusak konsistensi data

# TODO

Kesesuaian Tipe Data Kolom

df_findat_final.info()
<class 'pandas.core.frame.DataFrame'>
Index: 8489 entries, 17 to 15693
Data columns (total 40 columns):
 #   Column                                        Non-Null Count  Dtype  
---  ------                                        --------------  -----  
 0   ticker                                        8489 non-null   object 
 1   Year                                          8489 non-null   int64  
 2   Entity Name                                   8489 non-null   object 
 3   1st Level Primary Industry                    8489 non-null   object 
 4   Year Established                              8468 non-null   float64
 5   Sector                                        8489 non-null   object 
 6   Industry Group                                8489 non-null   object 
 7   Parent Percent Owned (%)                      4848 non-null   float64
 8   Percent Owned - All Institutions (%)          4542 non-null   float64
 9   Percent Owned - Insiders (%)                  5938 non-null   float64
 10  Total Liabilities (Rp.M)                      8489 non-null   float64
 11  Total Assets (Rp.M)                           8489 non-null   float64
 12  Current Ratio (x)                             7783 non-null   float64
 13  Quick Ratio (x)                               7785 non-null   float64
 14  Working Capital (Rp.M)                        8489 non-null   float64
 15  Total Current Assets (Rp.M)                   8489 non-null   float64
 16  Total Current Liabilities (Rp.M)              8489 non-null   float64
 17  Inventory (Rp.M)                              7283 non-null   float64
 18  Prepaid Exp. (Rp.M)                           7027 non-null   float64
 19  Long-term Debt (Rp.M)                         5908 non-null   float64
 20  Short-term Borrowings (Rp.M)                  5579 non-null   float64
 21  Current Portion of LT Debt & Leases (Rp.M)    337 non-null    float64
 22  Total Debt (Rp.M)                             8468 non-null   float64
 23  Total Equity (Rp.M)                           8489 non-null   float64
 24  Net Property, Plant & Equipment (Rp.M)        8470 non-null   float64
 25  Cost Of Goods Sold (Rp.M)                     8309 non-null   float64
 26  Total Revenue (Rp.M)                          8458 non-null   float64
 27  Operating Income (Rp.M)                       8488 non-null   float64
 28  EBITDA (Rp.M)                                 7383 non-null   float64
 29  EBIT (Rp.M)                                   7390 non-null   float64
 30  Net Income to Company (Rp.M)                  8489 non-null   float64
 31  Cash from Ops. (Rp.M)                         8487 non-null   float64
 32  Net Change in Cash (Rp.M)                     8487 non-null   float64
 33  ECS Total Common Shares Outstanding (actual)  8488 non-null   float64
 34  Market Capitalization (Rp.M)                  8464 non-null   float64
 35  Year Close Stock Price (Rp.)                  8464 non-null   float64
 36  Total Capital (Rp.M)                          8468 non-null   float64
 37  Cash & Short-term Investments (Rp.M)          8489 non-null   float64
 38  Net Intangibles (Rp.M)                        1763 non-null   float64
 39  IPO Year                                      8489 non-null   Int64  
dtypes: Int64(1), float64(33), int64(1), object(5)
memory usage: 2.7+ MB
df_findat_final['Year Established'].head(3)
Year Established
17 1988.000000
18 1988.000000
19 1988.000000

Kolom ‘Year Established’ harusnya integer, bukan float.

import pandas.testing as tm

original_col = df_findat_final['Year Established'].copy()
converted_col = df_findat_final['Year Established'].astype('Int64')

try:
    # convert balik 'converted_col' ke float hanya untuk perbandingan
    # check_dtype=False: abaikan beda tipe (float vs int), fokus ke nilainya
    tm.assert_series_equal(original_col, converted_col.astype(float), check_dtype=False)
    print("SUKSES: Semua nilai sama persis. Konversi aman.")
except AssertionError as e:
    print("GAGAL: Ada nilai yang berubah (mungkin karena pembulatan desimal).")
    print(e)
SUKSES: Semua nilai sama persis. Konversi aman.
# Cek apakah ada nilai yang memiliki koma/desimal (selain NaN)
# dropna() digunakan agar NaN tidak dianggap error
ada_desimal = (df_findat_final['Year Established'].dropna() % 1 != 0).any()

if ada_desimal:
    print("HATI-HATI: Ada data yang mengandung desimal. Konversi ke Int64 akan membuang komanya.")
    # Lihat data mana yang punya desimal
    print(df_findat_final[df_findat_final['Year Established'] % 1 != 0])
else:
    print("AMAN: Semua data adalah bilangan bulat atau NaN.")
AMAN: Semua data adalah bilangan bulat atau NaN.
print('CONVERT')
df_findat_final['Year Established'] = df_findat_final['Year Established'].astype('Int64')
print("Cek isi 'Year Established' sekarang:")
df_findat_final['Year Established'].head(3)
CONVERT
Cek isi 'Year Established' sekarang:
Year Established
17 1988
18 1988
19 1988

Sort dan Reset Index

df_findat_final = (
    df_findat_final
    .sort_values(by=["ticker", "Year"], ascending=[True,  True])
    .reset_index(drop=True)
)

Hasil Dataset Finansial

print('Hasil dataset df_findat_final :')
print(df_findat_final.shape)
df_findat_final
Hasil dataset df_findat_final :
(8489, 40)
variable ticker Year Entity Name 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Total Equity (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Net Income to Company (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1183215.000000 6519791.000000 1.944000 0.878000 959489.000000 1975656.000000 1016167.000000 781363.000000 37429.000000 NaN NaN NaN 0.000000 5336576.000000 4123645.000000 4357818.000000 8161217.000000 3370969.000000 3616720.000000 3370969.000000 2715518.000000 2087429.000000 -145096.000000 1574745000.000000 15432501.000000 9800.000000 5336576.000000 867676.000000 NaN 1997
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1144783.000000 7571399.000000 1.826000 1.007000 775450.000000 1714426.000000 938976.000000 610031.000000 36849.000000 NaN NaN NaN 0.000000 6426616.000000 5242447.000000 4322498.000000 7424283.000000 2603280.000000 2898342.000000 2603280.000000 1729648.000000 1984894.000000 -79127.000000 1574745000.000000 35825448.750000 22750.000000 6426616.000000 788549.000000 NaN 1997
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1334542.000000 8791799.000000 1.932000 1.262000 989325.000000 2051177.000000 1061852.000000 624694.000000 22315.000000 NaN NaN NaN 0.000000 7457257.000000 6103150.000000 5234372.000000 8843721.000000 2992793.000000 3335987.000000 2992793.000000 2103652.000000 2946657.000000 452232.000000 1574745000.000000 41258319.000000 26200.000000 7457257.000000 1240781.000000 NaN 1997
3 AALI 2011 PT Astra Agro Lestari Tbk (IDX:AALI) Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1778337.000000 10204495.000000 1.265000 0.582000 389456.000000 1857025.000000 1467569.000000 769903.000000 NaN NaN NaN NaN 0.000000 8426158.000000 7702571.000000 6837674.000000 10772582.000000 3195661.000000 3572651.000000 3195661.000000 2498565.000000 3162475.000000 -402591.000000 1574745000.000000 34171966.500000 21700.000000 8426158.000000 838190.000000 NaN 1997
4 AALI 2012 PT Astra Agro Lestari Tbk (IDX:AALI) Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 4701077.000000 12419820.000000 0.685000 0.107000 -820145.000000 1780395.000000 2600540.000000 1249050.000000 NaN NaN 971950.000000 NaN 971950.000000 9365411.000000 9894266.000000 7206837.000000 11564319.000000 3453729.000000 3973578.000000 3453729.000000 2520266.000000 2609511.000000 -610421.000000 1574745000.000000 31022476.500000 19700.000000 10337361.000000 227769.000000 NaN 1997
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8484 ZONE 2023 PT Mega Perintis Tbk (IDX:ZONE) Consumer 2005 Consumer Discretionary Consumer Discretionary Distribution and Retail NaN NaN 62.030000 376866.895000 752956.580000 1.787000 0.183000 187443.551000 425743.875000 238300.324000 370381.888000 8229.119000 45537.359000 85403.842000 NaN 230078.796000 376089.685000 254442.974000 327373.203000 735452.174000 80467.569000 109639.609000 80467.569000 46972.766000 101276.087000 -292.586000 870171478.000000 965890.340580 1110.000000 606168.481000 4617.740000 36266.170000 2018
8485 ZONE 2024 PT Mega Perintis Tbk (IDX:ZONE) Consumer 2005 Consumer Discretionary Consumer Discretionary Distribution and Retail NaN NaN 62.030000 378069.858000 748744.072000 1.750000 0.178000 175199.380000 408802.739000 233603.359000 356567.003000 9325.106000 37101.093000 111850.141000 NaN 262139.509000 370674.214000 262571.197000 347862.483000 708360.249000 33764.860000 68145.652000 33764.860000 7044.347000 92620.371000 3123.094000 870171478.000000 717891.469350 825.000000 632813.723000 7740.834000 36707.806000 2018
8486 ZYRX 2022 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) Technology, Media & Telecommunications 1996 Information Technology Technology Hardware and Equipment NaN NaN 75.160000 438940.489000 707229.819000 1.442000 0.668000 190967.877000 623252.109000 432284.232000 321857.019000 32.094000 NaN 154814.692000 NaN 154972.192000 268289.329000 62069.361000 626487.712000 770370.215000 124050.223000 126197.456000 124050.223000 78627.417000 108226.350000 205303.596000 1333333837.000000 426666.704320 320.000000 423261.521000 206376.347000 NaN 2021
8487 ZYRX 2023 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) Technology, Media & Telecommunications 1996 Information Technology Technology Hardware and Equipment NaN NaN 75.160000 201592.951000 491041.729000 2.073000 0.401000 208245.855000 402244.527000 193998.671000 320652.316000 1146.130000 136.413000 123103.971000 NaN 123328.362000 289448.779000 68457.678000 198332.059000 289633.302000 75643.212000 77211.203000 75643.212000 32952.892000 -128496.218000 -193672.184000 1333334556.000000 221333.536296 166.000000 412777.140000 12704.163000 149.572000 2021
8488 ZYRX 2024 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) Technology, Media & Telecommunications 1996 Information Technology Technology Hardware and Equipment NaN NaN 75.160000 92393.711000 392444.599000 3.402000 0.775000 201817.814000 285854.627000 84036.813000 219621.479000 1021.593000 41.627000 46780.579000 NaN 47050.482000 300050.888000 92660.098000 296495.058000 364238.674000 37276.725000 38767.823000 37276.725000 15171.892000 113472.348000 -6431.849000 1333334556.000000 177333.495948 133.000000 347101.370000 6272.314000 388.017000 2021

8489 rows × 40 columns

df_findat_final.isna().sum()
0
variable
ticker 0
Year 0
Entity Name 0
1st Level Primary Industry 0
Year Established 21
Sector 0
Industry Group 0
Parent Percent Owned (%) 3641
Percent Owned - All Institutions (%) 3947
Percent Owned - Insiders (%) 2551
Total Liabilities (Rp.M) 0
Total Assets (Rp.M) 0
Current Ratio (x) 706
Quick Ratio (x) 704
Working Capital (Rp.M) 0
Total Current Assets (Rp.M) 0
Total Current Liabilities (Rp.M) 0
Inventory (Rp.M) 1206
Prepaid Exp. (Rp.M) 1462
Long-term Debt (Rp.M) 2581
Short-term Borrowings (Rp.M) 2910
Current Portion of LT Debt & Leases (Rp.M) 8152
Total Debt (Rp.M) 21
Total Equity (Rp.M) 0
Net Property, Plant & Equipment (Rp.M) 19
Cost Of Goods Sold (Rp.M) 180
Total Revenue (Rp.M) 31
Operating Income (Rp.M) 1
EBITDA (Rp.M) 1106
EBIT (Rp.M) 1099
Net Income to Company (Rp.M) 0
Cash from Ops. (Rp.M) 2
Net Change in Cash (Rp.M) 2
ECS Total Common Shares Outstanding (actual) 1
Market Capitalization (Rp.M) 25
Year Close Stock Price (Rp.) 25
Total Capital (Rp.M) 21
Cash & Short-term Investments (Rp.M) 0
Net Intangibles (Rp.M) 6726
IPO Year 0

Pelabelan Target Prediksi Financial Distress

Fungsi Integrasi

def distress_target_labeling_and_adjustment(
    df_findat_final: pd.DataFrame,
    df_emiten_idx: pd.DataFrame,
    range_years: int,
    distress_type: str,
    labeling_logic: str,
    col_ticker: str = "ticker",
    col_year: str = "Year",
    col_equity: str = "Total Equity (Rp.M)",
    col_net_income: str = "Net Income to Company (Rp.M)",
    col_kode: str = "Kode",
    col_tanggal_masuk: str = "Tanggal Masuk",
    col_distress_ppk: str = "Distress_PPK",
    col_distress_year: str = "tahun_distress",
    col_target: str = "target_distress",
    ppk_year_min: int = 2021,
    ppk_year_max: int = 2025,
    verbose: bool = True,
) -> pd.DataFrame:
    """
    Membuat label target prediksi distress (0/1/NA) + tahun distress pertama (tahun_distress)
    berdasarkan salah satu indikator distress: 'ppk', 'neg_equity', 'consecutive_loss'.

    Note:
    - Baris yang tidak bisa ditentukan targetnya TIDAK dihapus; target_distress cukup di-NA-kan.
    - Aturan "no recovery" diterapkan dengan meng-NA-kan target pada tahun-tahun tertentu setelah distress.
    - Untuk neg_equity: tahun dianggap ambigu bila row missing atau equity null.
    - Untuk consecutive_loss: distress(y) hanya observable bila NI(y) dan NI(y-1) ada & tidak null & year berurutan.
    - Untuk PPK: gunakan Distress_PPK == 'Yes', coverage diasumsikan ppk_year_min hingga ppk_year_max.

    Parameters
    ----------
    range_years : int > 0
    labeling_logic : 'within' atau 'in_exactly'
      - within: target=1 bila distress terjadi pada t+1..t+range
      - in_exactly: target=1 bila distress terjadi tepat pada t+range

    Returns
    -------
    df_out : pd.DataFrame
      Copy dari df_findat_final + kolom tahun_distress dan target_distress (nullable Int64).
    """

    # Range harus >0
    if not isinstance(range_years, int) or range_years <= 0:
        raise ValueError("range_years harus integer > 0")

    distress_type = str(distress_type).strip().lower()
    labeling_logic = str(labeling_logic).strip().lower()

    if distress_type not in {"ppk", "neg_equity", "consecutive_loss"}:
        raise ValueError("distress_type harus salah satu dari: 'ppk', 'neg_equity', 'consecutive_loss'")
    if labeling_logic not in {"within", "in_exactly"}:
        raise ValueError("labeling_logic harus 'within' atau 'in_exactly'")

    # copy dari df_findat_final
    df = df_findat_final.copy()

    # Cek ketersediaan kolom
    required_cols = {col_ticker, col_year}
    missing_cols = [c for c in required_cols if c not in df.columns]
    if missing_cols:
        raise KeyError(f"Kolom wajib tidak ditemukan di df_findat_final: {missing_cols}")

    # Pastikan Year numeric int
    df[col_year] = pd.to_numeric(df[col_year], errors="coerce").astype("Int64")
    if df[col_year].isna().any():
        raise ValueError("Ada nilai Year yang tidak bisa dikonversi ke integer.")

    if verbose:
        print("--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---")
        print(f"Tipe distress       : {distress_type}")
        print(f"Range tahun prediksi: {range_years}")
        print(f"Logika pelabelan    : {labeling_logic}")
        print(f"Shape awal          : {df.shape}")

    # ======================================================================
    # A) Hitung tahun_distress per ticker (distress_year_map: ticker -> distress year)
    # ======================================================================
    distress_year_map = pd.Series(dtype="Int64")

    if distress_type == "ppk":
        # Cek ketersediaan kolom wajid di df_emiten_idx
        for c in [col_kode, col_distress_ppk, col_tanggal_masuk]:
            if c not in df_emiten_idx.columns:
                raise KeyError(f"Kolom '{c}' tidak ditemukan di df_emiten_idx")

        emiten = df_emiten_idx.copy()
        emiten[col_tanggal_masuk] = pd.to_datetime(emiten[col_tanggal_masuk], errors="coerce")

        # Cari yang Distress_PPK bernilai YES dan ada tanggal masuknya
        emiten_distress = emiten.loc[emiten[col_distress_ppk].astype(str).str.upper().eq("YES") & emiten[col_tanggal_masuk].notna(), [col_kode, col_tanggal_masuk]]

        # Ada distress
        if not emiten_distress.empty:
            emiten_distress = emiten_distress.assign(_year=emiten_distress[col_tanggal_masuk].dt.year.astype("Int64"))
            distress_year_map = emiten_distress.groupby(col_kode)["_year"].min().astype("Int64")
        # Tidak ada distress
        else:
            distress_year_map = pd.Series(dtype="Int64")

    elif distress_type == "neg_equity":
        # Cek ketersediaan kolom ekuitas di df_findat_final
        if col_equity not in df.columns:
            raise KeyError(f"Kolom '{col_equity}' tidak ditemukan di df_findat_final")

        # Pastikan numerik dan cari yang negatif tidak null
        equity = pd.to_numeric(df[col_equity], errors="coerce")
        mask_neg = equity.notna() & (equity < 0)

        # distress year = tahun pertama equity negatif yang TEROBSERVASI (non-null)
        if mask_neg.any():
            distress_year_map = (
                df.loc[mask_neg]
                .groupby(col_ticker)[col_year]
                .min()
                .astype("Int64")
            )
        else:
            distress_year_map = pd.Series(dtype="Int64")

    else:  # distress_type == "consecutive_loss"
        # Cek ketersediaan kolom net income di df_findat_final
        if col_net_income not in df.columns:
            raise KeyError(f"Kolom '{col_net_income}' tidak ditemukan di df_findat_final")

        # pastikan numerik
        tmp = df[[col_ticker, col_year, col_net_income]].copy()
        tmp[col_net_income] = pd.to_numeric(tmp[col_net_income], errors="coerce")

        # sort berdasarkan ticker-year agar shift benar
        tmp = tmp.sort_values([col_ticker, col_year])

        # cari nilai prev year dan prev net income untuk tiap ticker-year
        prev_year = tmp.groupby(col_ticker)[col_year].shift(1)
        prev_ni = tmp.groupby(col_ticker)[col_net_income].shift(1)

        # distress di tahun y JIKA DAN HANYA JIKA y dan y-1 ada dan berurutan, NI(y) & NI(y-1) non-null dan negatif
        cond = (
            tmp[col_net_income].notna() & # net income tahun tsb ada
            prev_ni.notna() & # net income tahun sebelumnya ada
            prev_year.notna() & # tahun sebelumnya ada
            ((tmp[col_year] - prev_year) == 1) & # selisih tahun tsb dan tahun sbelumnya 1 (negatif berturut-turut)
            (tmp[col_net_income] < 0) & # net income tahun tsb negatif
            (prev_ni < 0) # net income tahun sebelumnya negatif
        )

        if cond.any(): # ditemukan distress
            distress_year_map = (
                tmp.loc[cond]
                .groupby(col_ticker)[col_year]
                .min()
                .astype("Int64")
            )
        else: # tidak ditemukan distress
            distress_year_map = pd.Series(dtype="Int64")

    # Assign tahun_distress ke semua baris
    df[col_distress_year] = df[col_ticker].map(distress_year_map).astype("Int64")

    # ======================================================================
    # B) Inisialisasi target_distress (0/1) lalu apply 'censoring + ambiguity' dengan NA
    # ======================================================================

    # buat kolom, isi 0 semua dulu
    df[col_target] = pd.Series(0, index=df.index, dtype="Int64")

    t = df[col_year].astype(int) # tahun data
    d = df[col_distress_year]    # tahun distress Int64 (nullable)
    r = range_years              # rentang tahun prediksi

    t_arr = df[col_year].to_numpy(dtype=float)            # e.g. [2019., 2020., ...]
    d_arr = df[col_distress_year].to_numpy(dtype=float)   # e.g. [2023., nan, ...]
    has_d = ~np.isnan(d_arr)

    if labeling_logic == "within":
        mask_one = has_d & (d_arr >= (t_arr + 1)) & (d_arr <= (t_arr + r)) # ada distress, terjadi antara t+1 hingga t+r inklusif
    else:  # labeling_logic == "in_exactly"
        mask_one = has_d & (d_arr == (t_arr + r)) # ada distress, terjadi tepat t+r

    df.loc[mask_one, col_target] = 1 # baris yang memenuhi diisi 1

    # ======================================================================
    # C) "No recovery" censoring: set NA untuk tahun-tahun yang tidak dipakai
    # ======================================================================

    if labeling_logic == "within":
        # NA untuk Year >= tahun_distress
        mask_censor = has_d & (t_arr >= d_arr) # d.notna() & (t >= d.astype(int))
    else: # labeling_logic == "in_exactly"
        # NA untuk Year >= (tahun_distress - r + 1)
        mask_censor = has_d & (t_arr >= (d_arr - r + 1)) # d.notna() & (t >= (d.astype(int) - r + 1))

    df.loc[mask_censor, col_target] = pd.NA

    # ======================================================================
    # D) Ambiguity / observability: hanya mempengaruhi label 0 (kalau tidak pasti => NA)
    #    - within: butuh semua tahun t+1..t+r harus observable
    #    - in_exactly: butuh tahun t+r saja yang harus observable
    # ======================================================================
    # Hanya cek baris yang saat ini masih 0 (bukan 1, bukan NA)
    mask_zero = df[col_target].eq(0)

    if mask_zero.any():
        if distress_type == "ppk":
            # Kalau ticker tidak ada di df_emiten_idx, tidak observable.
            known_tickers = set(df_emiten_idx[col_kode].astype(str).unique()) if col_kode in df_emiten_idx.columns else set()
            ticker_known = df[col_ticker].astype(str).isin(known_tickers)

            if labeling_logic == "within":
                observability_ok = (
                    ticker_known & # ticker harus known
                    ((t + 1) >= ppk_year_min) & # year + 1 harus >= ppk tersedia terkecil
                    ((t + r) <= ppk_year_max) # year + range harus <= ppk tersedia terbesar
                )
            else: # labeling_logic == "in_exactly"
                observability_ok = (
                    ticker_known & # ticker harus known
                    ((t + r) >= ppk_year_min) & # year + range harus >= ppk tersedia terkecil
                    ((t + r) <= ppk_year_max) # year + range harus <= ppk tersedia terbesar
                )

            # pada baris yang kolom target 0 dan tidak observable, isi null
            df.loc[mask_zero & ~observability_ok, col_target] = pd.NA

            # REVISI untuk within, label 1 juga wajib observable (kalau tidak -> NA)
            # bertujuan agar tahun-tahun akhir tidak menumpuk label distress semua, proporsi distress train-test lebih setara
            # karena baris dg tahun-tahun terakhir tidak memiliki r tahun ke depan
            if labeling_logic == "within":
                df.loc[df[col_target].eq(1) & ~observability_ok, col_target] = pd.NA

        elif distress_type == "neg_equity":
            equity = pd.to_numeric(df[col_equity], errors="coerce") # pastikan equity numeric
            df_equity_observable = df.loc[equity.notna(), [col_ticker, col_year]].copy() # ticker-year yang equity tidak null, bisa ditentukan distressnya

            # MultiIndex pasangan (ticker, year) yang OBSERVABLE untuk equity
            index_equity_observable = pd.MultiIndex.from_frame(df_equity_observable.astype({col_year: int}))

            if labeling_logic == "within":
                observability_ok = np.ones(len(df), dtype=bool) # isi 1 semua dulu
                for k in range(1, r + 1): # cek untuk tiap r dari 1 sampai r -> ( tahun target t+1, t+2, ... , t+r )
                    candidate = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), (t + k).astype(int)]) # buat multiindex pair ticker-target(t+k)
                    observability_ok &= candidate.isin(index_equity_observable) # cek apakah ada di observable, jika iya maka boolean diakumulasi ke observability_ok
                observability_ok = pd.Series(observability_ok, index=df.index) # ubah ke series agar indeksnya sama dengan df
            else: # labeling_logic == "in_exactly"
                candidate = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), (t + r).astype(int)]) # hanya cek t+r
                observability_ok = pd.Series(candidate.isin(index_equity_observable), index=df.index) # cek apakah observable

            df.loc[mask_zero & ~observability_ok, col_target] = pd.NA # yang target 0 dan tidak observable, maka diset null

            # REVISI untuk within, label 1 juga wajib observable (kalau tidak -> NA)
            # bertujuan agar tahun-tahun akhir tidak menumpuk label distress semua, proporsi distress train-test lebih setara
            # karena baris dg tahun-tahun terakhir tidak memiliki r tahun ke depan
            if labeling_logic == "within":
                df.loc[df[col_target].eq(1) & ~observability_ok, col_target] = pd.NA

        else:  # distress_type == "consecutive_loss"
            ni = pd.to_numeric(df[col_net_income], errors="coerce") # pastikan net income numeric
            df_ni_observable = df.loc[ni.notna(), [col_ticker, col_year]].copy() # ticker-year yang net income tidak null, bisa ditentukan distressnya

            # MultiIndex pasangan (ticker, year) yang OBSERVABLE untuk NI (row ada & NI non-null)
            index_ni_observable = pd.MultiIndex.from_frame(df_ni_observable.astype({col_year: int}))

            if labeling_logic == "within":
                observability_ok = np.ones(len(df), dtype=bool) # isi 1 semua dulu
                for k in range(1, r + 1): # cek untuk tiap r dari 1 sampai r -> ( tahun target t+1, t+2, ... , t+r )
                    y = (t + k).astype(int) # tahun target t+k
                    y_prev = (t + k - 1).astype(int) # tahun sebelumnya

                    candidate_y = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y]) # multiindex ticker dan y
                    candidate_prev = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y_prev]) # multiindex ticker dan y_prev

                    # distress(y) observable hanya jika NI(y) dan NI(y-1) observable
                    observability_ok &= candidate_y.isin(index_ni_observable) & candidate_prev.isin(index_ni_observable) # cek apakah y dan yprev ada di observable, jika iya maka boolean diakumulasi ke observability_ok

                observability_ok = pd.Series(observability_ok, index=df.index) # sesuaikan index
            else: # labeling_logic == "in_exactly" (cek hanya untuk tepat r tahun setelah t)
                y = (t + r).astype(int) # tahun target t+k
                y_prev = (t + r - 1).astype(int) # tahun sebelum target

                candidate_y = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y]) # multiindex ticker dan y
                candidate_prev = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y_prev]) # multiindex ticker dan yprev

                observability_ok = pd.Series(candidate_y.isin(index_ni_observable) & candidate_prev.isin(index_ni_observable), index=df.index) # cek apakah y dan yprev ada di observable, masukkan ke observability_ok

            df.loc[mask_zero & ~observability_ok, col_target] = pd.NA # yang targetnya 0 dan observabilty tidak ok, maka null

            # REVISI untuk within, label 1 juga wajib observable (kalau tidak -> NA)
            # bertujuan agar tahun-tahun akhir tidak menumpuk label distress semua, proporsi distress train-test lebih setara
            # karena baris dg tahun-tahun terakhir tidak memiliki r tahun ke depan
            if labeling_logic == "within":
                df.loc[df[col_target].eq(1) & ~observability_ok, col_target] = pd.NA

    # Urutkan Kolom
    first_cols = [col_ticker, col_year, 'Entity Name', col_target, col_distress_year, col_equity, col_net_income]
    df = df[first_cols + [col for col in df.columns if col not in first_cols]]

    if verbose:
        vc = df[col_target].value_counts(dropna=False)
        print("--- RINGKASAN HASIL LABELING ---")
        print(vc)
        print()

    return df
def distress_target_labeling_and_adjustment_all_indicators_at_once(
    df_findat_final: pd.DataFrame,
    df_emiten_idx: pd.DataFrame,
    range_years: int,
    # distress_type: str,
    labeling_logic: str,
    col_ticker: str = "ticker",
    col_year: str = "Year",
    col_equity: str = "Total Equity (Rp.M)",
    col_net_income: str = "Net Income to Company (Rp.M)",
    col_kode: str = "Kode",
    col_tanggal_masuk: str = "Tanggal Masuk",
    col_distress_ppk: str = "Distress_PPK",
    col_distress_year: str = "tahun_distress",
    col_target: str = "target_distress",
    ppk_year_min: int = 2021,
    ppk_year_max: int = 2025,
    verbose: bool = True,
) -> pd.DataFrame:
    """
    Membuat label target prediksi distress (0/1/NA) + tahun distress pertama (tahun_distress)
    berdasarkan salah satu indikator distress: 'ppk', 'neg_equity', 'consecutive_loss'.

    Note:
    - Baris yang tidak bisa ditentukan targetnya TIDAK dihapus; target_distress cukup di-NA-kan.
    - Aturan "no recovery" diterapkan dengan meng-NA-kan target pada tahun-tahun tertentu setelah distress.
    - Untuk neg_equity: tahun dianggap ambigu bila row missing atau equity null.
    - Untuk consecutive_loss: distress(y) hanya observable bila NI(y) dan NI(y-1) ada & tidak null & year berurutan.
    - Untuk PPK: gunakan Distress_PPK == 'Yes', coverage diasumsikan ppk_year_min hingga ppk_year_max.

    Parameters
    ----------
    range_years : int > 0
    labeling_logic : 'within' atau 'in_exactly'
        - within: target=1 bila distress terjadi pada t+1..t+range
        - in_exactly: target=1 bila distress terjadi tepat pada t+range

    Returns
    -------
    df_out : pd.DataFrame
        Copy dari df_findat_final + kolom tahun_distress dan target_distress (nullable Int64).
    """

    # CEK INPUT KONFIGURASI
    # Range harus >0
    if not isinstance(range_years, int) or range_years <= 0:
        raise ValueError("range_years harus integer > 0")

    # distress_type = str(distress_type).strip().lower()
    labeling_logic = str(labeling_logic).strip().lower()

    # if distress_type not in {"ppk", "neg_equity", "consecutive_loss"}:
    #     raise ValueError("distress_type harus salah satu dari: 'ppk', 'neg_equity', 'consecutive_loss'")
    if labeling_logic not in {"within", "in_exactly"}:
        raise ValueError("labeling_logic harus 'within' atau 'in_exactly'")

    # copy dari df_findat_final
    df = df_findat_final.copy()

    # Cek ketersediaan kolom
    required_cols = {col_ticker, col_year}
    missing_cols = [c for c in required_cols if c not in df.columns]
    if missing_cols:
        raise KeyError(f"Kolom wajib tidak ditemukan di df_findat_final: {missing_cols}")

    # Pastikan Year numeric int
    df[col_year] = pd.to_numeric(df[col_year], errors="coerce").astype("Int64")
    if df[col_year].isna().any():
        raise ValueError("Ada nilai Year yang tidak bisa dikonversi ke integer.")

    # -- BUAT UNTUK SEMUA TIPE INDIKATOR DISTRESS -- #
    # Dijadikan 1 dataset dengan kolom berbeda-beda #
    for distress_type in ["ppk", "neg_equity", "consecutive_loss"]:

        # Set nama kolom yang akan dibuat
        col_distress_year = f"tahun_distress_{distress_type}"
        col_target = f"target_distress_{distress_type}"

        if verbose:
            print("--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---")
            print(f"Tipe distress       : {distress_type}")
            print(f"Range tahun prediksi: {range_years}")
            print(f"Logika pelabelan    : {labeling_logic}")
            print(f"Shape awal          : {df.shape}")

        # ======================================================================
        # A) Hitung tahun_distress per ticker (distress_year_map: ticker -> distress year)
        # ======================================================================
        distress_year_map = pd.Series(dtype="Int64")

        if distress_type == "ppk":
            # Cek ketersediaan kolom wajid di df_emiten_idx
            for c in [col_kode, col_distress_ppk, col_tanggal_masuk]:
                if c not in df_emiten_idx.columns:
                    raise KeyError(f"Kolom '{c}' tidak ditemukan di df_emiten_idx")

            emiten = df_emiten_idx.copy()
            emiten[col_tanggal_masuk] = pd.to_datetime(emiten[col_tanggal_masuk], errors="coerce")

            # Cari yang Distress_PPK bernilai YES dan ada tanggal masuknya
            emiten_distress = emiten.loc[emiten[col_distress_ppk].astype(str).str.upper().eq("YES") & emiten[col_tanggal_masuk].notna(), [col_kode, col_tanggal_masuk]]

            # IF ada distress
            if not emiten_distress.empty:
                emiten_distress = emiten_distress.assign(_year=emiten_distress[col_tanggal_masuk].dt.year.astype("Int64"))
                distress_year_map = emiten_distress.groupby(col_kode)["_year"].min().astype("Int64")
            # ELSE (tidak ada distress)
            else:
                distress_year_map = pd.Series(dtype="Int64")

        elif distress_type == "neg_equity":
            # Cek ketersediaan kolom ekuitas di df_findat_final
            if col_equity not in df.columns:
                raise KeyError(f"Kolom '{col_equity}' tidak ditemukan di df_findat_final")

            # Pastikan numerik dan cari yang negatif && tidak null
            equity = pd.to_numeric(df[col_equity], errors="coerce")
            mask_neg = equity.notna() & (equity < 0)

            # distress year = tahun pertama equity negatif yang TEROBSERVASI (non-null)
            if mask_neg.any():
                distress_year_map = (
                    df.loc[mask_neg]
                    .groupby(col_ticker)[col_year]
                    .min()
                    .astype("Int64")
                )
            else:
                distress_year_map = pd.Series(dtype="Int64")

        else:  # distress_type == "consecutive_loss"
            # Cek ketersediaan kolom Net Income di df_findat_final
            if col_net_income not in df.columns:
                raise KeyError(f"Kolom '{col_net_income}' tidak ditemukan di df_findat_final")

            # pastikan numerik
            tmp = df[[col_ticker, col_year, col_net_income]].copy()
            tmp[col_net_income] = pd.to_numeric(tmp[col_net_income], errors="coerce")

            # sort berdasarkan ticker-year agar shift benar
            tmp = tmp.sort_values([col_ticker, col_year])

            # cari nilai prev year dan prev net income untuk tiap ticker-year
            prev_year = tmp.groupby(col_ticker)[col_year].shift(1)
            prev_ni = tmp.groupby(col_ticker)[col_net_income].shift(1)

            # distress di tahun y JIKA DAN HANYA JIKA y dan y-1 ada dan berurutan DAN NI(y) & NI(y-1) non-null negatif
            cond = (
                tmp[col_net_income].notna() & # net income tahun tsb ada
                prev_ni.notna() & # net income tahun sebelumnya ada
                prev_year.notna() & # tahun sebelumnya ada
                ((tmp[col_year] - prev_year) == 1) & # selisih tahun tsb dan tahun sbelumnya 1 (berturut-turut)
                (tmp[col_net_income] < 0) & # net income tahun tsb negatif
                (prev_ni < 0) # net income tahun sebelumnya negatif
            )

            if cond.any(): # ditemukan distress
                distress_year_map = (
                    tmp.loc[cond]
                    .groupby(col_ticker)[col_year]
                    .min()
                    .astype("Int64")
                )
            else: # tidak ditemukan distress
                distress_year_map = pd.Series(dtype="Int64")

        # Assign tahun_distress ke semua baris
        df[col_distress_year] = df[col_ticker].map(distress_year_map).astype("Int64")

        # ======================================================================
        # B) Inisialisasi target_distress (0/1) lalu apply 'censoring + ambiguity' dengan NA
        # ======================================================================

        # buat kolom target, isi 0 semua dulu
        df[col_target] = pd.Series(0, index=df.index, dtype="Int64")

        t = df[col_year].astype(int) # tahun data
        d = df[col_distress_year]    # tahun distress Int64 (nullable)
        r = range_years              # rentang tahun prediksi

        t_arr = df[col_year].to_numpy(dtype=float)            # e.g. [2019., 2020., ...] kolom berisi tahun, tidak ada null
        d_arr = df[col_distress_year].to_numpy(dtype=float)   # e.g. [2023., nan, ...] kolom berisi tahun distress, null artinya tidak pernah distress
        has_d = ~np.isnan(d_arr)

        if labeling_logic == "within":
            mask_one = has_d & (d_arr >= (t_arr + 1)) & (d_arr <= (t_arr + r)) # ada distress, terjadi antara t+1 hingga t+r inklusif
        else:  # labeling_logic == "in_exactly"
            mask_one = has_d & (d_arr == (t_arr + r)) # ada distress, distress terjadi tepat di t+r

        df.loc[mask_one, col_target] = 1 # baris yang memenuhi mask sblmnya diisi 1 pada kolom target

        # ======================================================================
        # C) "No recovery" censoring: set NA untuk tahun-tahun yang tidak dipakai
        # ======================================================================

        if labeling_logic == "within":
            # di-NA-kan untuk yang Year >= tahun_distress
            mask_censor = has_d & (t_arr >= d_arr) # d.notna() & (t >= d.astype(int))
        else: # labeling_logic == "in_exactly"
            # di-NA-kan untuk yang Year >= (tahun_distress - r + 1)
            mask_censor = has_d & (t_arr >= (d_arr - r + 1)) # d.notna() & (t >= (d.astype(int) - r + 1))

        df.loc[mask_censor, col_target] = pd.NA

        # ======================================================================
        # D) Ambiguity / observability: hanya mempengaruhi label 0 (kalau tidak pasti => NA)
        #    - within: butuh semua tahun t+1..t+r harus observable
        #    - in_exactly: butuh tahun t+r saja yang harus observable
        # ======================================================================
        # Hanya cek baris yang saat ini masih 0 (bukan 1, bukan NA)
        mask_zero = df[col_target].eq(0)

        if mask_zero.any():
            if distress_type == "ppk":
                # Kalau ticker tidak ada di df_emiten_idx, tidak observable.
                known_tickers = set(df_emiten_idx[col_kode].astype(str).unique()) if col_kode in df_emiten_idx.columns else set()
                ticker_known = df[col_ticker].astype(str).isin(known_tickers)

                if labeling_logic == "within":
                    observability_ok = (
                        ticker_known & # ticker harus known
                        ((t + 1) >= ppk_year_min) & # year + 1 harus >= ppk tersedia terkecil
                        ((t + r) <= ppk_year_max) # year + range harus <= ppk tersedia terbesar
                    )
                else: # labeling_logic == "in_exactly"
                    observability_ok = (
                        ticker_known & # ticker harus known
                        ((t + r) >= ppk_year_min) & # year + range harus >= ppk tersedia terkecil
                        ((t + r) <= ppk_year_max) # year + range harus <= ppk tersedia terbesar
                    )

                # pada baris yang kolom target 0 dan tidak observable, isi null
                df.loc[mask_zero & ~observability_ok, col_target] = pd.NA

                # REVISI untuk within, label 1 juga wajib observable (kalau tidak -> NA)
                # bertujuan agar tahun-tahun akhir tidak menumpuk label distress semua, proporsi distress train-test lebih setara
                # karena baris dg tahun-tahun terakhir tidak memiliki r tahun ke depan
                if labeling_logic == "within":
                    df.loc[df[col_target].eq(1) & ~observability_ok, col_target] = pd.NA

            elif distress_type == "neg_equity":
                equity = pd.to_numeric(df[col_equity], errors="coerce") # pastikan equity numeric
                df_equity_observable = df.loc[equity.notna(), [col_ticker, col_year]].copy() # ticker-year yang equity tidak null, bisa ditentukan distressnya

                # MultiIndex pasangan (ticker, year) yang OBSERVABLE untuk equity
                index_equity_observable = pd.MultiIndex.from_frame(df_equity_observable.astype({col_year: int}))

                if labeling_logic == "within":
                    observability_ok = np.ones(len(df), dtype=bool) # isi 1 semua dulu
                    for k in range(1, r + 1): # cek untuk tiap r dari 1 sampai r -> ( tahun target t+1, t+2, ... , t+r )
                        candidate = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), (t + k).astype(int)]) # buat multiindex pair ticker-target(t+k)
                        observability_ok &= candidate.isin(index_equity_observable) # cek apakah ada di observable, jika iya maka boolean diakumulasi ke observability_ok
                    observability_ok = pd.Series(observability_ok, index=df.index) # ubah ke series agar indeksnya sama dengan df
                else: # labeling_logic == "in_exactly"
                    candidate = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), (t + r).astype(int)]) # hanya cek t+r
                    observability_ok = pd.Series(candidate.isin(index_equity_observable), index=df.index) # cek apakah observable

                df.loc[mask_zero & ~observability_ok, col_target] = pd.NA # yang target 0 dan tidak observable, maka diset null

                # REVISI untuk within, label 1 juga wajib observable (kalau tidak -> NA)
                # bertujuan agar tahun-tahun akhir tidak menumpuk label distress semua, proporsi distress train-test lebih setara
                # karena baris dg tahun-tahun terakhir tidak memiliki r tahun ke depan
                if labeling_logic == "within":
                    df.loc[df[col_target].eq(1) & ~observability_ok, col_target] = pd.NA

            else:  # distress_type == "consecutive_loss"
                ni = pd.to_numeric(df[col_net_income], errors="coerce") # pastikan net income numeric
                df_ni_observable = df.loc[ni.notna(), [col_ticker, col_year]].copy() # ticker-year yang net income tidak null, bisa ditentukan distressnya

                # MultiIndex pasangan (ticker, year) yang OBSERVABLE untuk NI (row ada & NI non-null)
                index_ni_observable = pd.MultiIndex.from_frame(df_ni_observable.astype({col_year: int}))

                if labeling_logic == "within":
                    observability_ok = np.ones(len(df), dtype=bool) # isi 1 semua dulu
                    for k in range(1, r + 1): # cek untuk tiap r dari 1 sampai r -> ( tahun target t+1, t+2, ... , t+r )
                        y = (t + k).astype(int) # tahun target t+k
                        y_prev = (t + k - 1).astype(int) # tahun sebelumnya

                        candidate_y = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y]) # multiindex ticker dan y
                        candidate_prev = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y_prev]) # multiindex ticker dan y_prev

                        # distress(y) observable hanya jika NI(y) dan NI(y-1) observable
                        observability_ok &= candidate_y.isin(index_ni_observable) & candidate_prev.isin(index_ni_observable) # cek apakah y dan yprev ada di observable, jika iya maka boolean diakumulasi ke observability_ok

                    observability_ok = pd.Series(observability_ok, index=df.index) # sesuaikan index
                else: # labeling_logic == "in_exactly" (cek hanya untuk tepat r tahun setelah t)
                    y = (t + r).astype(int) # tahun target t+k
                    y_prev = (t + r - 1).astype(int) # tahun sebelum target

                    candidate_y = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y]) # multiindex ticker dan y
                    candidate_prev = pd.MultiIndex.from_arrays([df[col_ticker].astype(str), y_prev]) # multiindex ticker dan yprev

                    observability_ok = pd.Series(candidate_y.isin(index_ni_observable) & candidate_prev.isin(index_ni_observable), index=df.index) # cek apakah y dan yprev ada di observable, masukkan ke observability_ok

                df.loc[mask_zero & ~observability_ok, col_target] = pd.NA # yang targetnya 0 dan observabilty tidak ok, maka null

                # REVISI untuk within, label 1 juga wajib observable (kalau tidak -> NA)
                # bertujuan agar tahun-tahun akhir tidak menumpuk label distress semua, proporsi distress train-test lebih setara
                # karena baris dg tahun-tahun terakhir tidak memiliki r tahun ke depan
                if labeling_logic == "within":
                    df.loc[df[col_target].eq(1) & ~observability_ok, col_target] = pd.NA

        # Urutkan Kolom
        first_cols = [col_ticker, col_year, 'Entity Name', col_equity, col_net_income, col_target, col_distress_year]
        df = df[first_cols + [col for col in df.columns if col not in first_cols]]

        if verbose:
            vc = df[col_target].value_counts(dropna=False)
            print("--- RINGKASAN HASIL LABELING ---")
            print(vc)
            print()

    return df

CONFIG Target & Range Prediksi

RANGE = 2
# LABELING_LOGIC = 'in_exactly'
LABELING_LOGIC = 'within'

df_integrated_ppk = distress_target_labeling_and_adjustment(
                          df_findat_final=df_findat_final,
                          df_emiten_idx=df_emiten_idx,
                          range_years=RANGE,
                          distress_type='ppk',
                          labeling_logic=LABELING_LOGIC)

df_integrated_neg_eq = distress_target_labeling_and_adjustment(
                          df_findat_final=df_findat_final,
                          df_emiten_idx=df_emiten_idx,
                          range_years=RANGE,
                          distress_type='neg_equity',
                          labeling_logic=LABELING_LOGIC)

df_integrated_2_loss = distress_target_labeling_and_adjustment(
                          df_findat_final=df_findat_final,
                          df_emiten_idx=df_emiten_idx,
                          range_years=RANGE,
                          distress_type='consecutive_loss',
                          labeling_logic=LABELING_LOGIC)
--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---
Tipe distress       : ppk
Range tahun prediksi: 2
Logika pelabelan    : within
Shape awal          : (8489, 40)
--- RINGKASAN HASIL LABELING ---
target_distress
<NA>    5906
0       2073
1        510
Name: count, dtype: Int64

--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---
Tipe distress       : neg_equity
Range tahun prediksi: 2
Logika pelabelan    : within
Shape awal          : (8489, 40)
--- RINGKASAN HASIL LABELING ---
target_distress
0       6287
<NA>    2086
1        116
Name: count, dtype: Int64

--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---
Tipe distress       : consecutive_loss
Range tahun prediksi: 2
Logika pelabelan    : within
Shape awal          : (8489, 40)
--- RINGKASAN HASIL LABELING ---
target_distress
0       4595
<NA>    3329
1        565
Name: count, dtype: Int64
RANGE = 2
LABELING_LOGIC = 'within' # 'in_exactly'

df_integrated_all_indicators = distress_target_labeling_and_adjustment_all_indicators_at_once(
                                  df_findat_final=df_findat_final,
                                  df_emiten_idx=df_emiten_idx,
                                  range_years=RANGE,
                                  labeling_logic=LABELING_LOGIC)
--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---
Tipe distress       : ppk
Range tahun prediksi: 2
Logika pelabelan    : within
Shape awal          : (8489, 40)
--- RINGKASAN HASIL LABELING ---
target_distress_ppk
<NA>    5906
0       2073
1        510
Name: count, dtype: Int64

--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---
Tipe distress       : neg_equity
Range tahun prediksi: 2
Logika pelabelan    : within
Shape awal          : (8489, 42)
--- RINGKASAN HASIL LABELING ---
target_distress_neg_equity
0       6287
<NA>    2086
1        116
Name: count, dtype: Int64

--- MEMPROSES DATA DENGAN KONFIGURASI BERIKUT ---
Tipe distress       : consecutive_loss
Range tahun prediksi: 2
Logika pelabelan    : within
Shape awal          : (8489, 44)
--- RINGKASAN HASIL LABELING ---
target_distress_consecutive_loss
0       4595
<NA>    3329
1        565
Name: count, dtype: Int64

Uji Hasil

def audit_distress_labeling_suite(
    df_findat_final: pd.DataFrame,
    df_emiten_idx: pd.DataFrame | None = None,
    ranges=(1, 2),
    distress_types=("ppk", "neg_equity", "consecutive_loss"),
    labeling_logics=("within", "in_exactly"),
    labeling_fn=None,  # default: distress_target_labeling_and_adjustment kalau ada di scope
    precomputed: dict | None = None,  # optional: {(distress_type, labeling_logic, r): df_out}
    col_ticker: str = "ticker",
    col_year: str = "Year",
    col_equity: str = "Total Equity (Rp.M)",
    col_net_income: str = "Net Income to Company (Rp.M)",
    col_distress_year: str = "tahun_distress",
    col_target: str = "target_distress",
    # PPK specifics
    col_kode: str = "Kode",
    col_tanggal_masuk: str = "Tanggal Masuk",
    col_distress_ppk: str = "Distress_PPK",
    ppk_year_min: int = 2021,
    ppk_year_max: int = 2025,
    # audit behavior
    sample_rows: int = 8,
    recompute_distress_year: bool = True,  # cek ulang tahun_distress
):
    """
    Audit konsistensi output labeling untuk berbagai konfigurasi.
    Return:
      - summary_df: ringkasan jumlah pelanggaran per aturan per konfigurasi
      - issues: dict contoh baris pelanggaran untuk tiap konfigurasi
    """
    if labeling_fn is None:
        labeling_fn = distress_target_labeling_and_adjustment  # harus ada di scope notebook kamu

    def _sample(df, n=sample_rows):
        if df is None or len(df) == 0:
            return df
        return df.head(n)

    def _recompute_distress_year(df_out, distress_type):
        """Recompute tahun_distress dari df_out + (df_emiten_idx kalau ppk). Return Series map per ticker."""
        if distress_type == "neg_equity":
            eq = pd.to_numeric(df_out[col_equity], errors="coerce")
            mask = eq.notna() & (eq < 0)
            if not mask.any():
                return pd.Series(dtype="Int64")
            return df_out.loc[mask].groupby(col_ticker)[col_year].min().astype("Int64")

        if distress_type == "consecutive_loss":
            tmp = df_out[[col_ticker, col_year, col_net_income]].copy()
            tmp[col_net_income] = pd.to_numeric(tmp[col_net_income], errors="coerce")
            tmp = tmp.sort_values([col_ticker, col_year])
            prev_year = tmp.groupby(col_ticker)[col_year].shift(1)
            prev_ni = tmp.groupby(col_ticker)[col_net_income].shift(1)
            cond = (
                tmp[col_net_income].notna() &
                prev_ni.notna() &
                prev_year.notna() &
                ((tmp[col_year] - prev_year) == 1) &
                (tmp[col_net_income] < 0) &
                (prev_ni < 0)
            )
            if not cond.any():
                return pd.Series(dtype="Int64")
            return tmp.loc[cond].groupby(col_ticker)[col_year].min().astype("Int64")

        if distress_type == "ppk":
            if df_emiten_idx is None:
                return pd.Series(dtype="Int64")
            em = df_emiten_idx.copy()
            if col_tanggal_masuk in em.columns:
                em[col_tanggal_masuk] = pd.to_datetime(em[col_tanggal_masuk], errors="coerce")
            mask = (
                em[col_distress_ppk].astype(str).str.upper().eq("YES") &
                em[col_tanggal_masuk].notna()
            )
            em_dist = em.loc[mask, [col_kode, col_tanggal_masuk]].copy()
            if em_dist.empty:
                return pd.Series(dtype="Int64")
            em_dist["_year"] = em_dist[col_tanggal_masuk].dt.year.astype("Int64")
            return em_dist.groupby(col_kode)["_year"].min().astype("Int64")

        return pd.Series(dtype="Int64")

    def _audit_single(df_out, distress_type, labeling_logic, r):
        """Return (summary_row_dict, issues_dict)."""
        issues = {}

        # basic columns check
        need_cols = {col_ticker, col_year, col_distress_year, col_target}
        miss = [c for c in need_cols if c not in df_out.columns]
        if miss:
            return (
                dict(
                    distress_type=distress_type, labeling_logic=labeling_logic, range_years=r,
                    n_rows=len(df_out),
                    error=f"Missing columns: {miss}",
                ),
                {"missing_columns": miss},
            )

        df_chk = df_out.copy()
        df_chk[col_year] = pd.to_numeric(df_chk[col_year], errors="coerce")
        t_arr = df_chk[col_year].to_numpy(dtype=float)
        d_arr = pd.to_numeric(df_chk[col_distress_year], errors="coerce").to_numpy(dtype=float)

        target = df_chk[col_target]
        # handle target possibly object -> numeric Int64-like comparisons
        # (if target already Int64, this is fine)
        is1 = target.eq(1)
        is0 = target.eq(0)
        isna = target.isna()

        has_d = ~np.isnan(d_arr)

        # -------- Rule checks --------
        # R1: target==1 => d exists
        v_r1 = is1 & ~has_d
        issues["R1_target1_requires_distress_year"] = _sample(df_chk.loc[v_r1, [col_ticker, col_year, col_distress_year, col_target]])

        # R2: target==1 must satisfy window condition
        if labeling_logic == "within":
            ok_r2 = (d_arr >= (t_arr + 1)) & (d_arr <= (t_arr + r))
        else:
            ok_r2 = (d_arr == (t_arr + r))
        v_r2 = is1 & ~ok_r2
        issues["R2_target1_window_mismatch"] = _sample(df_chk.loc[v_r2, [col_ticker, col_year, col_distress_year, col_target]])

        # R3: target==0 => (d NA) OR (d > t+r)
        ok_r3 = (~has_d) | (d_arr > (t_arr + r))
        v_r3 = is0 & ~ok_r3
        issues["R3_target0_inconsistent_with_distress_year"] = _sample(df_chk.loc[v_r3, [col_ticker, col_year, col_distress_year, col_target]])

        # R4: censoring no-recovery
        if labeling_logic == "within":
            should_be_na = has_d & (t_arr >= d_arr)
        else:
            should_be_na = has_d & (t_arr >= (d_arr - r + 1))
        v_r4 = (~isna) & should_be_na
        issues["R4_no_recovery_censor_violations"] = _sample(df_chk.loc[v_r4, [col_ticker, col_year, col_distress_year, col_target]])

        # R5: anchor year exists => must be 1
        # within: Year in [d-r, d-1] => target should be 1 (if row exists and not censored)
        # exact: Year == d-r => target should be 1 (if row exists)
        # We'll check row-level using d_arr, not groupby.
        if labeling_logic == "within":
            in_anchor = has_d & (t_arr >= (d_arr - r)) & (t_arr <= (d_arr - 1))
            v_r5 = in_anchor & ~is1 & ~isna  # if NA due to other reasons, still suspicious, but we won't flag NA here
        else:
            in_anchor = has_d & (t_arr == (d_arr - r))
            v_r5 = in_anchor & ~is1  # should never be 0/NA per current function logic
        issues["R5_anchor_year_should_be_1"] = _sample(df_chk.loc[v_r5, [col_ticker, col_year, col_distress_year, col_target]])

        # R6: observability for rows labeled 0 (strong check)
        # Only possible if we have required columns / df_emiten_idx for ppk
        v_r6 = pd.Series(False, index=df_chk.index)

        if distress_type == "ppk":
            if df_emiten_idx is not None and col_kode in df_emiten_idx.columns:
                known = set(df_emiten_idx[col_kode].astype(str).unique())
                ticker_known = df_chk[col_ticker].astype(str).isin(known).to_numpy()
                if labeling_logic == "within":
                    obs_ok = ticker_known & ((t_arr + 1) >= ppk_year_min) & ((t_arr + r) <= ppk_year_max)
                else:
                    obs_ok = ticker_known & ((t_arr + r) >= ppk_year_min) & ((t_arr + r) <= ppk_year_max)
                v_r6 = is0 & ~obs_ok

        elif distress_type == "neg_equity":
            if col_equity in df_chk.columns:
                eq = pd.to_numeric(df_chk[col_equity], errors="coerce")
                df_obs = df_chk.loc[eq.notna(), [col_ticker, col_year]].copy()
                idx_obs = pd.MultiIndex.from_frame(df_obs.astype({col_year: int}))

                if labeling_logic == "within":
                    ok = np.ones(len(df_chk), dtype=bool)
                    for k in range(1, r + 1):
                        cand = pd.MultiIndex.from_arrays([df_chk[col_ticker].astype(str), (df_chk[col_year].astype(int) + k)])
                        ok &= cand.isin(idx_obs)
                    v_r6 = is0 & ~ok
                else:
                    cand = pd.MultiIndex.from_arrays([df_chk[col_ticker].astype(str), (df_chk[col_year].astype(int) + r)])
                    ok = cand.isin(idx_obs)
                    v_r6 = is0 & ~ok

        elif distress_type == "consecutive_loss":
            if col_net_income in df_chk.columns:
                ni = pd.to_numeric(df_chk[col_net_income], errors="coerce")
                df_obs = df_chk.loc[ni.notna(), [col_ticker, col_year]].copy()
                idx_obs = pd.MultiIndex.from_frame(df_obs.astype({col_year: int}))

                if labeling_logic == "within":
                    ok = np.ones(len(df_chk), dtype=bool)
                    base_year = df_chk[col_year].astype(int)
                    for k in range(1, r + 1):
                        y = base_year + k
                        y_prev = base_year + k - 1
                        cand_y = pd.MultiIndex.from_arrays([df_chk[col_ticker].astype(str), y])
                        cand_prev = pd.MultiIndex.from_arrays([df_chk[col_ticker].astype(str), y_prev])
                        ok &= cand_y.isin(idx_obs) & cand_prev.isin(idx_obs)
                    v_r6 = is0 & ~ok
                else:
                    base_year = df_chk[col_year].astype(int)
                    y = base_year + r
                    y_prev = base_year + r - 1
                    cand_y = pd.MultiIndex.from_arrays([df_chk[col_ticker].astype(str), y])
                    cand_prev = pd.MultiIndex.from_arrays([df_chk[col_ticker].astype(str), y_prev])
                    ok = cand_y.isin(idx_obs) & cand_prev.isin(idx_obs)
                    v_r6 = is0 & ~ok

        issues["R6_target0_requires_observable_horizon"] = _sample(df_chk.loc[v_r6, [col_ticker, col_year, col_distress_year, col_target]])

        # R7: recompute tahun_distress and compare (optional)
        v_r7 = pd.Series(False, index=df_chk.index)
        if recompute_distress_year:
            recomputed_map = _recompute_distress_year(df_chk, distress_type)  # Series index=ticker->year
            if not recomputed_map.empty:
                # map to rows
                d2 = df_chk[col_ticker].map(recomputed_map)
                # Compare: treat both as numeric, allow NA==NA
                a = pd.to_numeric(df_chk[col_distress_year], errors="coerce")
                b = pd.to_numeric(d2, errors="coerce")
                v_r7 = ~(a.fillna(-999999).eq(b.fillna(-999999)))
            else:
                # if recomputed empty, then all years should be NA
                a = pd.to_numeric(df_chk[col_distress_year], errors="coerce")
                v_r7 = a.notna()

        issues["R7_tahun_distress_mismatch_recomputed"] = _sample(df_chk.loc[v_r7, [col_ticker, col_year, col_distress_year, col_target]])

        # summary counts
        summary = dict(
            distress_type=distress_type,
            labeling_logic=labeling_logic,
            range_years=r,
            n_rows=len(df_chk),
            n_target_1=int(is1.sum()),
            n_target_0=int(is0.sum()),
            n_target_na=int(isna.sum()),
            n_R1=int(v_r1.sum()),
            n_R2=int(v_r2.sum()),
            n_R3=int(v_r3.sum()),
            n_R4=int(v_r4.sum()),
            n_R5=int(v_r5.sum()),
            n_R6=int(v_r6.sum()),
            n_R7=int(v_r7.sum()) if recompute_distress_year else 0,
        )

        # Keep only non-empty issue samples to reduce clutter
        issues = {k: v for k, v in issues.items() if v is not None and len(v) > 0}
        return summary, issues

    summary_rows = []
    all_issues = {}

    for distress_type in distress_types:
        for labeling_logic in labeling_logics:
            for r in ranges:
                cfg = (distress_type, labeling_logic, int(r))

                if precomputed is not None and cfg in precomputed:
                    df_out = precomputed[cfg]
                else:
                    # call labeling function
                    if distress_type == "ppk":
                        if df_emiten_idx is None:
                            raise ValueError("df_emiten_idx wajib disediakan untuk distress_type='ppk'")
                        df_out = labeling_fn(
                            df_findat_final=df_findat_final,
                            df_emiten_idx=df_emiten_idx,
                            range_years=int(r),
                            distress_type=distress_type,
                            labeling_logic=labeling_logic,
                            verbose=False,
                        )
                    else:
                        # labeling_fn saat ini butuh df_emiten_idx sebagai argumen juga
                        df_out = labeling_fn(
                            df_findat_final=df_findat_final,
                            df_emiten_idx=df_emiten_idx if df_emiten_idx is not None else pd.DataFrame({col_kode: []}),
                            range_years=int(r),
                            distress_type=distress_type,
                            labeling_logic=labeling_logic,
                            verbose=False,
                        )

                summary, issues = _audit_single(df_out, distress_type, labeling_logic, int(r))
                summary_rows.append(summary)
                all_issues[cfg] = issues  # selalu simpan, meskipun kosong {}

    summary_df = pd.DataFrame(summary_rows).sort_values(["distress_type", "labeling_logic", "range_years"]).reset_index(drop=True)
    return summary_df, all_issues
summary, issues = audit_distress_labeling_suite(
    df_findat_final=df_findat_final,
    df_emiten_idx=df_emiten_idx,
    ranges=[1,2,3],
    distress_types=["ppk","neg_equity","consecutive_loss"],
    labeling_logics=["within","in_exactly"],
    sample_rows=10,
    recompute_distress_year=True
)

summary
# Kalau ada pelanggaran, lihat contohnya:
issues.keys()
cfg = ("neg_equity","in_exactly",2)


for cfg in issues.keys():
    print(f"Cek konfigurasi : {cfg}")
    if issues[cfg]:
        print(f"Jumlah baris kesalahan: {len(issues[cfg])}")
        display(issues[cfg])
    else:
        print("Tidak ada isu untuk konfigurasi ini.")
Cek konfigurasi : ('ppk', 'within', 1)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('ppk', 'within', 2)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('ppk', 'within', 3)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('ppk', 'in_exactly', 1)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('ppk', 'in_exactly', 2)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('ppk', 'in_exactly', 3)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('neg_equity', 'within', 1)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('neg_equity', 'within', 2)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('neg_equity', 'within', 3)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('neg_equity', 'in_exactly', 1)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('neg_equity', 'in_exactly', 2)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('neg_equity', 'in_exactly', 3)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('consecutive_loss', 'within', 1)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('consecutive_loss', 'within', 2)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('consecutive_loss', 'within', 3)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('consecutive_loss', 'in_exactly', 1)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('consecutive_loss', 'in_exactly', 2)
Tidak ada isu untuk konfigurasi ini.
Cek konfigurasi : ('consecutive_loss', 'in_exactly', 3)
Tidak ada isu untuk konfigurasi ini.
issues.keys()
dict_keys([('ppk', 'within', 1), ('ppk', 'within', 2), ('ppk', 'within', 3), ('ppk', 'in_exactly', 1), ('ppk', 'in_exactly', 2), ('ppk', 'in_exactly', 3), ('neg_equity', 'within', 1), ('neg_equity', 'within', 2), ('neg_equity', 'within', 3), ('neg_equity', 'in_exactly', 1), ('neg_equity', 'in_exactly', 2), ('neg_equity', 'in_exactly', 3), ('consecutive_loss', 'within', 1), ('consecutive_loss', 'within', 2), ('consecutive_loss', 'within', 3), ('consecutive_loss', 'in_exactly', 1), ('consecutive_loss', 'in_exactly', 2), ('consecutive_loss', 'in_exactly', 3)])
summary.query("distress_type=='neg_equity' and labeling_logic=='within' and range_years==2")
distress_type labeling_logic range_years n_rows n_target_1 n_target_0 n_target_na n_R1 n_R2 n_R3 n_R4 n_R5 n_R6 n_R7
10 neg_equity within 2 8489 116 6287 2086 0 0 0 0 0 0 0
df_integrated_ppk[(df_integrated_ppk['Year']<(2020)) & (df_integrated_ppk['target_distress'].notna())]
variable ticker Year Entity Name target_distress tahun_distress Total Equity (Rp.M) Net Income to Company (Rp.M) 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year

Cek hasil dataset integrated yang menggabungkan semua tipe distress.

Hasil harus sama dengan dataset yang tiap tipe distressnya dipisah.

print("Cek perbedaan antara dataset distress PPK yang dipisah dan digabung:")

pd.concat([df_integrated_ppk,
            (df_integrated_all_indicators
            .drop(columns=["target_distress_neg_equity", "target_distress_consecutive_loss",
                          "tahun_distress_neg_equity", "tahun_distress_consecutive_loss"], errors="ignore")
            .rename(columns={"target_distress_ppk": "target_distress",
                            "tahun_distress_ppk": "tahun_distress"}))
          ]).drop_duplicates(keep=False)
Cek perbedaan antara dataset distress PPK yang dipisah dan digabung:
variable ticker Year Entity Name target_distress tahun_distress Total Equity (Rp.M) Net Income to Company (Rp.M) 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
print("Cek perbedaan antara dataset distress ekuitas negatif yang dipisah dan digabung:")

pd.concat([df_integrated_neg_eq,
            (df_integrated_all_indicators
            .drop(columns=["target_distress_ppk", "target_distress_consecutive_loss",
                          "tahun_distress_ppk", "tahun_distress_consecutive_loss"], errors="ignore")
            .rename(columns={"target_distress_neg_equity": "target_distress",
                            "tahun_distress_neg_equity": "tahun_distress"}))
          ]).drop_duplicates(keep=False)
Cek perbedaan antara dataset distress ekuitas negatif yang dipisah dan digabung:
variable ticker Year Entity Name target_distress tahun_distress Total Equity (Rp.M) Net Income to Company (Rp.M) 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
print("Cek perbedaan antara dataset distress rugi 2 tahun yang dipisah dan digabung:")

pd.concat([df_integrated_2_loss,
            (df_integrated_all_indicators
            .drop(columns=["target_distress_neg_equity", "target_distress_ppk",
                          "tahun_distress_neg_equity", "tahun_distress_ppk"], errors="ignore")
            .rename(columns={"target_distress_consecutive_loss": "target_distress",
                            "tahun_distress_consecutive_loss": "tahun_distress"}))
          ]).drop_duplicates(keep=False)
Cek perbedaan antara dataset distress rugi 2 tahun yang dipisah dan digabung:
variable ticker Year Entity Name target_distress tahun_distress Total Equity (Rp.M) Net Income to Company (Rp.M) 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year

Pilih dan Copy Hasil Dataset Terintegrasi

# df_findat_integrated = df_integrated_ppk.copy()
# df_findat_integrated = df_integrated_neg_eq.copy()
# df_findat_integrated = df_integrated_2_loss.copy()
df_findat_integrated = df_integrated_all_indicators.copy()
# # temporary, cuma utk liat output kode2 setelahnya
# df_findat_integrated = df_integrated_ppk[df_integrated_ppk['target_distress'].notna()].copy()
# df_findat_integrated = df_findat_integrated.rename(columns={'target_distress': 'distress'})

Data Understanding

Sebaran Data

df_findat_integrated.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8489 entries, 0 to 8488
Data columns (total 46 columns):
 #   Column                                        Non-Null Count  Dtype  
---  ------                                        --------------  -----  
 0   ticker                                        8489 non-null   object 
 1   Year                                          8489 non-null   Int64  
 2   Entity Name                                   8489 non-null   object 
 3   Total Equity (Rp.M)                           8489 non-null   float64
 4   Net Income to Company (Rp.M)                  8489 non-null   float64
 5   target_distress_consecutive_loss              5160 non-null   Int64  
 6   tahun_distress_consecutive_loss               4169 non-null   Int64  
 7   target_distress_neg_equity                    6403 non-null   Int64  
 8   tahun_distress_neg_equity                     1073 non-null   Int64  
 9   target_distress_ppk                           2583 non-null   Int64  
 10  tahun_distress_ppk                            3421 non-null   Int64  
 11  1st Level Primary Industry                    8489 non-null   object 
 12  Year Established                              8468 non-null   Int64  
 13  Sector                                        8489 non-null   object 
 14  Industry Group                                8489 non-null   object 
 15  Parent Percent Owned (%)                      4848 non-null   float64
 16  Percent Owned - All Institutions (%)          4542 non-null   float64
 17  Percent Owned - Insiders (%)                  5938 non-null   float64
 18  Total Liabilities (Rp.M)                      8489 non-null   float64
 19  Total Assets (Rp.M)                           8489 non-null   float64
 20  Current Ratio (x)                             7783 non-null   float64
 21  Quick Ratio (x)                               7785 non-null   float64
 22  Working Capital (Rp.M)                        8489 non-null   float64
 23  Total Current Assets (Rp.M)                   8489 non-null   float64
 24  Total Current Liabilities (Rp.M)              8489 non-null   float64
 25  Inventory (Rp.M)                              7283 non-null   float64
 26  Prepaid Exp. (Rp.M)                           7027 non-null   float64
 27  Long-term Debt (Rp.M)                         5908 non-null   float64
 28  Short-term Borrowings (Rp.M)                  5579 non-null   float64
 29  Current Portion of LT Debt & Leases (Rp.M)    337 non-null    float64
 30  Total Debt (Rp.M)                             8468 non-null   float64
 31  Net Property, Plant & Equipment (Rp.M)        8470 non-null   float64
 32  Cost Of Goods Sold (Rp.M)                     8309 non-null   float64
 33  Total Revenue (Rp.M)                          8458 non-null   float64
 34  Operating Income (Rp.M)                       8488 non-null   float64
 35  EBITDA (Rp.M)                                 7383 non-null   float64
 36  EBIT (Rp.M)                                   7390 non-null   float64
 37  Cash from Ops. (Rp.M)                         8487 non-null   float64
 38  Net Change in Cash (Rp.M)                     8487 non-null   float64
 39  ECS Total Common Shares Outstanding (actual)  8488 non-null   float64
 40  Market Capitalization (Rp.M)                  8464 non-null   float64
 41  Year Close Stock Price (Rp.)                  8464 non-null   float64
 42  Total Capital (Rp.M)                          8468 non-null   float64
 43  Cash & Short-term Investments (Rp.M)          8489 non-null   float64
 44  Net Intangibles (Rp.M)                        1763 non-null   float64
 45  IPO Year                                      8489 non-null   Int64  
dtypes: Int64(9), float64(32), object(5)
memory usage: 3.1+ MB
# =========================
# SETUP KOLOM (df_findat_integrated)
# =========================
df = df_findat_integrated

# Exclude:
# - ticker, Year, Entity Name
# - kolom awalan 'tahun' atau 'target'
exclude_exact = {'ticker', 'Year', 'Entity Name'}
exclude_prefixes = ('tahun', 'target')

cols_to_exclude = {
    c for c in df.columns
    if (c in exclude_exact) or c.startswith(exclude_prefixes)
}

potential_cols = [c for c in df.columns if c not in cols_to_exclude]

# kategorikal khusus
cat_cols = ['1st Level Primary Industry', 'Sector', 'Industry Group']
cat_cols = [c for c in cat_cols if c in df.columns]

# numerik selain kolom kategorikal
numeric_cols = [
    c for c in potential_cols
    if (c not in cat_cols) and pd.api.types.is_numeric_dtype(df[c])
]

print(f"Total Baris Data: {len(df)}")
print(f"Fitur Numerik: {len(numeric_cols)}")
print(f"Fitur Kategorikal (pie): {len(cat_cols)} -> {cat_cols}")

N = len(df)

# =========================
# VISUALISASI NUMERIK (Boxplot + Hist) - format sama persis
# =========================
features_per_page = 5
num_batches = math.ceil(len(numeric_cols) / features_per_page)

MAX_POINTS_PLOT = 80_000
MAX_POINTS_KDE  = 8_000
HIST_BINS       = 50

for i in range(num_batches):
    start = i * features_per_page
    end = min((i + 1) * features_per_page, len(numeric_cols))
    batch = numeric_cols[start:end]

    fig, axes = plt.subplots(len(batch), 2, figsize=(16, 4 * len(batch)))
    fig.suptitle(f'Distribusi Numerik Part {i+1}', fontsize=16, fontweight='bold', y=1.01)

    if len(batch) == 1:
        axes = [axes]

    for idx, col in enumerate(batch):
        ax_box = axes[idx][0]
        ax_hist = axes[idx][1]

        try:
            s_raw = df[col]

            # hitung null (tanpa mengubah df)
            null_count = int(s_raw.isna().sum())
            null_prop = null_count / N if N else 0.0

            # bersihkan untuk plotting: inf -> nan, coerce numeric, dropna sementara
            s_clean = (
                s_raw.replace([np.inf, -np.inf], np.nan)
                     .pipe(pd.to_numeric, errors="coerce")
                     .dropna()
            )

            if s_clean.empty:
                msg = f"ALL NULL/INF | Null: {null_count} ({null_prop:.1%})"
                ax_box.set_title(f"Outlier Check: {col}", fontsize=10, fontweight='bold')
                ax_box.text(0.5, 0.5, msg, ha='center', va='center')
                ax_hist.set_title(msg, fontsize=10)
                ax_hist.text(0.5, 0.5, "No data to plot", ha='center', va='center')
                continue

            # sampling agar tidak berat
            s_plot = s_clean.sample(MAX_POINTS_PLOT, random_state=42) if len(s_clean) > MAX_POINTS_PLOT else s_clean

            # statistik (dari non-null)
            desc = s_plot.describe()
            # skew = s_plot.skew()

            stats_text = (
                f"Min: {desc['min']:.2f} | Max: {desc['max']:.2f} | "
                f"Mean: {desc['mean']:.2f} | Med: {desc['50%']:.2f} | "
                # f"Skew: {skew:.2f} | "
                f"Null: {null_count} ({null_prop:.1%})"
            )

            # boxplot
            sns.boxplot(x=s_plot, ax=ax_box, color='#3498db')
            ax_box.set_title(f"Outlier Check: {col}", fontsize=10, fontweight='bold')
            ax_box.set_xlabel('')

            # hist (+ KDE dibatasi agar tidak hang)
            use_kde = (s_plot.nunique() > 1) and (len(s_plot) <= MAX_POINTS_KDE)
            sns.histplot(s_plot, bins=HIST_BINS, kde=use_kde, ax=ax_hist, color='#e67e22', stat='density')

            ax_hist.axvline(desc['mean'], color='red', linestyle='--', label='Mean')
            ax_hist.axvline(desc['50%'], color='green', linestyle='-', label='Median')
            ax_hist.set_title(stats_text, fontsize=10)
            ax_hist.legend(loc='upper right', fontsize='small')
            ax_hist.set_xlabel('')

        except Exception as e:
            err = f"{type(e).__name__}: {e}"
            ax_box.clear()
            ax_hist.clear()
            ax_box.set_title(f"Outlier Check: {col}", fontsize=10, fontweight='bold')
            ax_box.text(0.5, 0.5, f"Error:\n{err}", ha='center', va='center', wrap=True)
            ax_hist.set_title(f"Error on: {col}", fontsize=10)
            ax_hist.text(0.5, 0.5, f"Error:\n{err}", ha='center', va='center', wrap=True)

    plt.tight_layout()
    plt.show()
    plt.close(fig)
    plt.close('all')

# =========================
# VISUALISASI KATEGORIKAL (Pie Chart)
# =========================
# - tampilkan jumlah + persentase
# - termasuk NaN kalau ada
# - diasumsikan nunique <= 30 (sesuai requirement)
if len(cat_cols) > 0:
    for col in cat_cols:
        s = df[col]

        # value_counts termasuk NaN
        vc = s.value_counts(dropna=False)

        # label NaN agar terlihat
        labels = [("NaN" if pd.isna(x) else str(x)) for x in vc.index]
        sizes = vc.values
        total = sizes.sum()

        # autopct yang menampilkan count + percent
        def autopct_count_pct(pct):
            count = int(round(pct * total / 100.0))
            return f"{count}\n({pct:.1f}%)"

        fig, ax = plt.subplots(figsize=(10, 7))
        wedges, texts, autotexts = ax.pie(
            sizes,
            labels=labels,
            autopct=autopct_count_pct,
            startangle=90,
            textprops={'fontsize': 10}
        )
        ax.set_title(f"{col} | Total: {total} | Null: {int(s.isna().sum())} ({(s.isna().mean() if total else 0):.1%})",
                     fontsize=14, fontweight='bold')
        ax.axis('equal')  # pie jadi bulat
        plt.tight_layout()
        plt.show()
        plt.close(fig)
        plt.close('all')
Total Baris Data: 8489
Fitur Numerik: 34
Fitur Kategorikal (pie): 3 -> ['1st Level Primary Industry', 'Sector', 'Industry Group']

cat_cols = ['1st Level Primary Industry', 'Sector', 'Industry Group']
df = df_findat_integrated[cat_cols].copy().fillna("NaN")

# urutkan kolom: unik paling sedikit -> paling banyak (kiri -> kanan)
order = sorted(cat_cols, key=lambda c: df[c].nunique(dropna=False))
left_col, mid_col, right_col = order

# urutkan kategori kiri dari count terbesar
left_cats = df[left_col].value_counts(dropna=False).index.tolist()

# untuk level lain: biarkan urut by frequency juga (rapi, simple)
mid_cats = df[mid_col].value_counts(dropna=False).index.tolist()
right_cats = df[right_col].value_counts(dropna=False).index.tolist()

def node_id(col, val):   return f"{col}||{val}"   # unik (internal)
def node_label(val):     return str(val)          # yang ditampilkan (tanpa nama kolom)

node_ids = (
    [node_id(left_col, v) for v in left_cats] +
    [node_id(mid_col, v) for v in mid_cats] +
    [node_id(right_col, v) for v in right_cats]
)
node_labels = (
    [node_label(v) for v in left_cats] +
    [node_label(v) for v in mid_cats] +
    [node_label(v) for v in right_cats]
)
id_to_index = {nid: i for i, nid in enumerate(node_ids)}

# hitung flow kiri->tengah dan tengah->kanan
flow_lm = df.groupby([left_col, mid_col]).size().reset_index(name="value")
flow_mr = df.groupby([mid_col, right_col]).size().reset_index(name="value")

sources, targets, values = [], [], []

for _, r in flow_lm.iterrows():
    sources.append(id_to_index[node_id(left_col, r[left_col])])
    targets.append(id_to_index[node_id(mid_col,  r[mid_col])])
    values.append(int(r["value"]))

for _, r in flow_mr.iterrows():
    sources.append(id_to_index[node_id(mid_col,   r[mid_col])])
    targets.append(id_to_index[node_id(right_col, r[right_col])])
    values.append(int(r["value"]))

fig = go.Figure(
    data=[go.Sankey(
        arrangement="snap",
        node=dict(
            label=node_labels,
            pad=12,
            thickness=16
        ),
        link=dict(
            source=sources,
            target=targets,
            value=values
        )
    )]
)

fig.update_layout(
    # title=f"{left_col} → {mid_col} → {right_col} (n={len(df)})",
    title={
        "text": "Alur Sankey Diagram Kolom Sektor/Industri per BARIS DATA",
        "x": 0.5,          # center
        "xanchor": "center"
    },
    font_size=11,
    height=1100,  # perpanjang ke bawah supaya lebih lega
    annotations=[
        dict(x=0.02, y=1.03, xref="paper", yref="paper",
             text=f"<b>{left_col}</b>", showarrow=False, xanchor="left"),
        dict(x=0.50, y=1.03, xref="paper", yref="paper",
             text=f"<b>{mid_col}</b>", showarrow=False, xanchor="center"),
        dict(x=0.98, y=1.03, xref="paper", yref="paper",
             text=f"<b>{right_col}</b>", showarrow=False, xanchor="right"),
    ]
)

fig.show()

Analisis dan Eksplorasi Data

Analisis Indikator Papan Pemantauan Khusus IDX

Analisis Indikator Ekuitas Negatif

Analisis Indikator Rugi 2 Tahun Berturut-turut

Analisis MNAR Kolom Raw

Verifikasi Kualitias Data

DatPrep : Feature Engineering

Pilih Fitur Sektor/Industri

df_findat_integrated
variable ticker Year Entity Name Total Equity (Rp.M) Net Income to Company (Rp.M) target_distress_consecutive_loss tahun_distress_consecutive_loss target_distress_neg_equity tahun_distress_neg_equity target_distress_ppk tahun_distress_ppk 1st Level Primary Industry Year Established Sector Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) 5336576.000000 2715518.000000 0 <NA> 0 <NA> <NA> <NA> Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1183215.000000 6519791.000000 1.944000 0.878000 959489.000000 1975656.000000 1016167.000000 781363.000000 37429.000000 NaN NaN NaN 0.000000 4123645.000000 4357818.000000 8161217.000000 3370969.000000 3616720.000000 3370969.000000 2087429.000000 -145096.000000 1574745000.000000 15432501.000000 9800.000000 5336576.000000 867676.000000 NaN 1997
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) 6426616.000000 1729648.000000 0 <NA> 0 <NA> <NA> <NA> Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1144783.000000 7571399.000000 1.826000 1.007000 775450.000000 1714426.000000 938976.000000 610031.000000 36849.000000 NaN NaN NaN 0.000000 5242447.000000 4322498.000000 7424283.000000 2603280.000000 2898342.000000 2603280.000000 1984894.000000 -79127.000000 1574745000.000000 35825448.750000 22750.000000 6426616.000000 788549.000000 NaN 1997
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) 7457257.000000 2103652.000000 0 <NA> 0 <NA> <NA> <NA> Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1334542.000000 8791799.000000 1.932000 1.262000 989325.000000 2051177.000000 1061852.000000 624694.000000 22315.000000 NaN NaN NaN 0.000000 6103150.000000 5234372.000000 8843721.000000 2992793.000000 3335987.000000 2992793.000000 2946657.000000 452232.000000 1574745000.000000 41258319.000000 26200.000000 7457257.000000 1240781.000000 NaN 1997
3 AALI 2011 PT Astra Agro Lestari Tbk (IDX:AALI) 8426158.000000 2498565.000000 0 <NA> 0 <NA> <NA> <NA> Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 1778337.000000 10204495.000000 1.265000 0.582000 389456.000000 1857025.000000 1467569.000000 769903.000000 NaN NaN NaN NaN 0.000000 7702571.000000 6837674.000000 10772582.000000 3195661.000000 3572651.000000 3195661.000000 3162475.000000 -402591.000000 1574745000.000000 34171966.500000 21700.000000 8426158.000000 838190.000000 NaN 1997
4 AALI 2012 PT Astra Agro Lestari Tbk (IDX:AALI) 9365411.000000 2520266.000000 0 <NA> 0 <NA> <NA> <NA> Consumer 1988 Consumer Staples Food, Beverage and Tobacco 79.680000 2.100000 NaN 4701077.000000 12419820.000000 0.685000 0.107000 -820145.000000 1780395.000000 2600540.000000 1249050.000000 NaN NaN 971950.000000 NaN 971950.000000 9894266.000000 7206837.000000 11564319.000000 3453729.000000 3973578.000000 3453729.000000 2609511.000000 -610421.000000 1574745000.000000 31022476.500000 19700.000000 10337361.000000 227769.000000 NaN 1997
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8484 ZONE 2023 PT Mega Perintis Tbk (IDX:ZONE) 376089.685000 46972.766000 <NA> <NA> <NA> <NA> 0 <NA> Consumer 2005 Consumer Discretionary Consumer Discretionary Distribution and Retail NaN NaN 62.030000 376866.895000 752956.580000 1.787000 0.183000 187443.551000 425743.875000 238300.324000 370381.888000 8229.119000 45537.359000 85403.842000 NaN 230078.796000 254442.974000 327373.203000 735452.174000 80467.569000 109639.609000 80467.569000 101276.087000 -292.586000 870171478.000000 965890.340580 1110.000000 606168.481000 4617.740000 36266.170000 2018
8485 ZONE 2024 PT Mega Perintis Tbk (IDX:ZONE) 370674.214000 7044.347000 <NA> <NA> <NA> <NA> <NA> <NA> Consumer 2005 Consumer Discretionary Consumer Discretionary Distribution and Retail NaN NaN 62.030000 378069.858000 748744.072000 1.750000 0.178000 175199.380000 408802.739000 233603.359000 356567.003000 9325.106000 37101.093000 111850.141000 NaN 262139.509000 262571.197000 347862.483000 708360.249000 33764.860000 68145.652000 33764.860000 92620.371000 3123.094000 870171478.000000 717891.469350 825.000000 632813.723000 7740.834000 36707.806000 2018
8486 ZYRX 2022 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 268289.329000 78627.417000 0 <NA> 0 <NA> 0 <NA> Technology, Media & Telecommunications 1996 Information Technology Technology Hardware and Equipment NaN NaN 75.160000 438940.489000 707229.819000 1.442000 0.668000 190967.877000 623252.109000 432284.232000 321857.019000 32.094000 NaN 154814.692000 NaN 154972.192000 62069.361000 626487.712000 770370.215000 124050.223000 126197.456000 124050.223000 108226.350000 205303.596000 1333333837.000000 426666.704320 320.000000 423261.521000 206376.347000 NaN 2021
8487 ZYRX 2023 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 289448.779000 32952.892000 <NA> <NA> <NA> <NA> 0 <NA> Technology, Media & Telecommunications 1996 Information Technology Technology Hardware and Equipment NaN NaN 75.160000 201592.951000 491041.729000 2.073000 0.401000 208245.855000 402244.527000 193998.671000 320652.316000 1146.130000 136.413000 123103.971000 NaN 123328.362000 68457.678000 198332.059000 289633.302000 75643.212000 77211.203000 75643.212000 -128496.218000 -193672.184000 1333334556.000000 221333.536296 166.000000 412777.140000 12704.163000 149.572000 2021
8488 ZYRX 2024 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 300050.888000 15171.892000 <NA> <NA> <NA> <NA> <NA> <NA> Technology, Media & Telecommunications 1996 Information Technology Technology Hardware and Equipment NaN NaN 75.160000 92393.711000 392444.599000 3.402000 0.775000 201817.814000 285854.627000 84036.813000 219621.479000 1021.593000 41.627000 46780.579000 NaN 47050.482000 92660.098000 296495.058000 364238.674000 37276.725000 38767.823000 37276.725000 113472.348000 -6431.849000 1333334556.000000 177333.495948 133.000000 347101.370000 6272.314000 388.017000 2021

8489 rows × 46 columns

Analisis

Unique value dan null

print('Isi Sector :')
print(df_findat_integrated['Sector'].unique())
print('\nIsi 1st Level Primary Industry:')
print(df_findat_integrated['1st Level Primary Industry'].unique())
print('\nIsi Indusry Group')
print(df_findat_integrated['Industry Group'].unique())
Isi Sector :
['Consumer Staples' 'Communication Services' 'Financials' 'Energy'
 'Consumer Discretionary' 'Industrials' 'Real Estate' 'Materials'
 'Utilities' 'Information Technology' 'Health Care']

Isi 1st Level Primary Industry:
['Consumer' 'Technology, Media & Telecommunications' 'Financials'
 'Energy and Utilities' 'Industrials' 'Real Estate' 'Materials'
 'Health Care']

Isi Indusry Group
['Food, Beverage and Tobacco' 'Media and Entertainment' 'Insurance'
 'Energy' 'Consumer Discretionary Distribution and Retail' 'Capital Goods'
 'Real Estate Management and Development' 'Financial Services' 'Materials'
 'Automobiles and Components' 'Banks' 'Consumer Services' 'Transportation'
 'Consumer Staples Distribution and Retail'
 'Consumer Durables and Apparel' 'Utilities'
 'Commercial and Professional Services' 'Software and Services'
 'Technology Hardware and Equipment' 'Telecommunication Services'
 'Health Care Equipment and Services'
 'Pharmaceuticals, Biotechnology and Life Sciences'
 'Household and Personal Products']
(df_findat_integrated[["Sector", "1st Level Primary Industry", "Industry Group"]]
  .agg(["count", "nunique"])
  .T
  .assign(missing=lambda x: len(df_findat_final) - x["count"])
)
count nunique missing
variable
Sector 8489 11 0
1st Level Primary Industry 8489 8 0
Industry Group 8489 23 0

Cek pemetaan dari yg paling detail ke yang lebih general

# Berapa banyak Sector unik untuk tiap Industry Group?
ig_to_sector_n = (df_findat_integrated
                  .groupby("Industry Group")["Sector"]
                  .nunique(dropna=True)
                  .sort_values(ascending=False))

ig_to_sector_n  # kalau semuanya 1, berarti deterministik
Sector
Industry Group
Automobiles and Components 1
Banks 1
Capital Goods 1
Commercial and Professional Services 1
Consumer Discretionary Distribution and Retail 1
Consumer Durables and Apparel 1
Consumer Services 1
Consumer Staples Distribution and Retail 1
Energy 1
Financial Services 1
Food, Beverage and Tobacco 1
Health Care Equipment and Services 1
Household and Personal Products 1
Insurance 1
Materials 1
Media and Entertainment 1
Pharmaceuticals, Biotechnology and Life Sciences 1
Real Estate Management and Development 1
Software and Services 1
Technology Hardware and Equipment 1
Telecommunication Services 1
Transportation 1
Utilities 1

ig_to_primary_n = (df_findat_integrated
                   .groupby("Industry Group")["1st Level Primary Industry"]
                   .nunique(dropna=True)
                   .sort_values(ascending=False))
ig_to_primary_n
1st Level Primary Industry
Industry Group
Capital Goods 2
Consumer Services 2
Consumer Discretionary Distribution and Retail 2
Software and Services 2
Financial Services 2
Banks 1
Automobiles and Components 1
Consumer Durables and Apparel 1
Commercial and Professional Services 1
Energy 1
Consumer Staples Distribution and Retail 1
Health Care Equipment and Services 1
Household and Personal Products 1
Insurance 1
Food, Beverage and Tobacco 1
Materials 1
Media and Entertainment 1
Pharmaceuticals, Biotechnology and Life Sciences 1
Real Estate Management and Development 1
Technology Hardware and Equipment 1
Telecommunication Services 1
Transportation 1
Utilities 1

Lihat tiap tipe sektor/industri terhadap distress

targets = ["target_distress_ppk", "target_distress_neg_equity", "target_distress_consecutive_loss"]
def distress_rate_multi_targets(df, group_col, target_cols):
    print('Distress rate pada fitur', group_col)
    n = df.groupby(group_col).size().rename("n")
    rates = df.groupby(group_col)[target_cols].mean()
    return pd.concat([n, rates], axis=1).reset_index()
distress_rate_multi_targets(df_findat_integrated, "Industry Group", targets).sort_values(by=targets, ascending=False)
Distress rate pada fitur Industry Group
Industry Group n target_distress_ppk target_distress_neg_equity target_distress_consecutive_loss
6 Consumer Services 360 0.333333 0.021352 0.214286
5 Consumer Durables and Apparel 323 0.287234 0.037037 0.172840
15 Media and Entertainment 254 0.269663 0.036269 0.167832
17 Real Estate Management and Development 854 0.251852 0.004399 0.115163
2 Capital Goods 769 0.228814 0.028269 0.129032
3 Commercial and Professional Services 132 0.228571 0.000000 0.065217
21 Transportation 544 0.220339 0.053731 0.198276
14 Materials 1019 0.204082 0.014851 0.111831
8 Energy 665 0.201087 0.037895 0.150150
18 Software and Services 82 0.194444 0.000000 0.238095
9 Financial Services 419 0.183486 0.000000 0.072165
20 Telecommunication Services 208 0.180328 0.023529 0.093750
4 Consumer Discretionary Distribution and Retail 322 0.174757 0.028436 0.122222
10 Food, Beverage and Tobacco 802 0.159533 0.011475 0.080235
7 Consumer Staples Distribution and Retail 159 0.155556 0.015625 0.107843
13 Insurance 277 0.146341 0.000000 0.008696
19 Technology Hardware and Equipment 93 0.138889 0.050847 0.119048
22 Utilities 65 0.125000 0.044444 0.125000
11 Health Care Equipment and Services 146 0.120690 0.020833 0.103896
16 Pharmaceuticals, Biotechnology and Life Sciences 129 0.117647 0.018182 0.047619
0 Automobiles and Components 131 0.117647 0.000000 0.060000
12 Household and Personal Products 101 0.085714 0.000000 0.092308
1 Banks 635 0.078212 0.001961 0.048729
distress_rate_multi_targets(df_findat_integrated, "Sector", targets).sort_values(by=targets, ascending=False)
Distress rate pada fitur Sector
Sector n target_distress_ppk target_distress_neg_equity target_distress_consecutive_loss
9 Real Estate 854 0.251852 0.004399 0.115163
1 Consumer Discretionary 1136 0.251462 0.023990 0.154908
0 Communication Services 462 0.233333 0.030303 0.132841
6 Industrials 1445 0.225446 0.033764 0.141952
8 Materials 1019 0.204082 0.014851 0.111831
3 Energy 665 0.201087 0.037895 0.150150
7 Information Technology 175 0.166667 0.027523 0.178571
2 Consumer Staples 1062 0.151335 0.011029 0.085546
10 Utilities 65 0.125000 0.044444 0.125000
4 Financials 1331 0.124324 0.000909 0.046324
5 Health Care 275 0.119565 0.019417 0.071429
distress_rate_multi_targets(df_findat_integrated, "1st Level Primary Industry", targets).sort_values(by=targets, ascending=False)
Distress rate pada fitur 1st Level Primary Industry
1st Level Primary Industry n target_distress_ppk target_distress_neg_equity target_distress_consecutive_loss
6 Real Estate 871 0.257353 0.004304 0.116858
4 Industrials 1428 0.227477 0.034274 0.144703
7 Technology, Media & Telecommunications 638 0.210762 0.029661 0.143662
5 Materials 1019 0.204082 0.014851 0.111831
0 Consumer 2210 0.198830 0.017295 0.116605
1 Energy and Utilities 730 0.192308 0.038462 0.147453
2 Financials 1318 0.122951 0.000918 0.046843
3 Health Care 275 0.119565 0.019417 0.071429
vc = df_findat_integrated["Industry Group"].value_counts()
print("min:", vc.min(), "median:", vc.median(), "max:", vc.max(), "max/min:", vc.max()/vc.min())
vc
min: 65 median: 277.0 max: 1019 max/min: 15.676923076923076
count
Industry Group
Materials 1019
Real Estate Management and Development 854
Food, Beverage and Tobacco 802
Capital Goods 769
Energy 665
Banks 635
Transportation 544
Financial Services 419
Consumer Services 360
Consumer Durables and Apparel 323
Consumer Discretionary Distribution and Retail 322
Insurance 277
Media and Entertainment 254
Telecommunication Services 208
Consumer Staples Distribution and Retail 159
Health Care Equipment and Services 146
Commercial and Professional Services 132
Automobiles and Components 131
Pharmaceuticals, Biotechnology and Life Sciences 129
Household and Personal Products 101
Technology Hardware and Equipment 93
Software and Services 82
Utilities 65

Berikut ini insight yang ditemukan untuk ketiga kasus distress dengan range prediksi within 2 years:

Terlihat bahwa Industry Group merupakan fitur yang paling detail dengan banyak nilai unik, sedangkan fitur 1st Level Primary Industry merupakan fitur yang paling general dengan sedikit nilai unik. Apabila Industry Group dipetakan terhadap Sector hasilnya terlihat terpetakan 1-on-1, sedangkan terhadap 1st Level Primary Industry hasilnya ada 5 yang 2-on-1 dan kebanyakan sisanya tetap 1-on-1.

Pada jenis Financials dari fitur Sector, ditemukan bahwa rate distressnya sebesar 0.143. Namun, pada jenis Banks, Financial Services, dan Insurance dari fitur Industry Group, terlihat bahwa ketiganya memiliki rate distress yang bervariasi, ada yang lebih tinggi dan ada yang lebih rendah dari 0.143. Hal ini menunjukkan bahwa fitur Industry Group memiliki kemungkinan untuk dapat menjadi prediktor atau setidaknya pemisah yang lebih baik daripada Sector yang terlalu general, begitu pula fitur 1st Level Primary Industry. Dengan demikian, pada tahap selanjutnya, fitur Industry Group dipilih untuk merepresentasikan pada sektor/industri apa perusahaan beroperasi, sedangkan fitur lainnya akan didrop untuk mengurangi redundansi.

Pilih Kolom Industry Group

# Pilih kolom 'Industry Group' yang akan dipertahankan
df_findat_integrated = df_findat_integrated.drop(['Sector', '1st Level Primary Industry'], axis=1)
columns_to_check = ['Sector', '1st Level Primary Industry', 'Industry Group']
print('CEK KOLOM PADA df_findat_integrated :')
for col in columns_to_check:
    if col in df_findat_integrated.columns:
        print(f"- '{col}' ADA.")
    else:
        print(f"- '{col}' TIDAK ADA.")
CEK KOLOM PADA df_findat_integrated :
- 'Sector' TIDAK ADA.
- '1st Level Primary Industry' TIDAK ADA.
- 'Industry Group' ADA.

(?) Null Handling Pre-Building

Dilakukan khusus pada dataset yang dihilangkan nullnya.

df_findat_integrated_with_null = df_findat_integrated.copy()
null_counts_fitur = df_findat_integrated_with_null.isnull().sum()
total_rows_fitur = len(df_findat_integrated_with_null)
null_percentages_fitur = (null_counts_fitur / total_rows_fitur) * 100

null_summary_fitur_df = pd.DataFrame({
    'Null Count': null_counts_fitur,
    'Null Pctg': null_percentages_fitur
})

null_summary_fitur_df = null_summary_fitur_df.sort_values(by='Null Count', ascending=False)

print("Summary Null Values di df_findat_integrated_with_null:")
print(null_summary_fitur_df.to_string())
Summary Null Values di df_findat_integrated_with_null:
                                              Null Count  Null Pctg
variable                                                           
Current Portion of LT Debt & Leases (Rp.M)          8152  96.030157
tahun_distress_neg_equity                           7416  87.360113
Net Intangibles (Rp.M)                              6726  79.231947
target_distress_ppk                                 5906  69.572388
tahun_distress_ppk                                  5068  59.700789
tahun_distress_consecutive_loss                     4320  50.889386
Percent Owned - All Institutions (%)                3947  46.495465
Parent Percent Owned (%)                            3641  42.890800
target_distress_consecutive_loss                    3329  39.215455
Short-term Borrowings (Rp.M)                        2910  34.279656
Long-term Debt (Rp.M)                               2581  30.404052
Percent Owned - Insiders (%)                        2551  30.050654
target_distress_neg_equity                          2086  24.572977
Prepaid Exp. (Rp.M)                                 1462  17.222288
Inventory (Rp.M)                                    1206  14.206620
EBITDA (Rp.M)                                       1106  13.028625
EBIT (Rp.M)                                         1099  12.946166
Current Ratio (x)                                    706   8.316645
Quick Ratio (x)                                      704   8.293085
Cost Of Goods Sold (Rp.M)                            180   2.120391
Total Revenue (Rp.M)                                  31   0.365178
Year Close Stock Price (Rp.)                          25   0.294499
Market Capitalization (Rp.M)                          25   0.294499
Total Debt (Rp.M)                                     21   0.247379
Total Capital (Rp.M)                                  21   0.247379
Year Established                                      21   0.247379
Net Property, Plant & Equipment (Rp.M)                19   0.223819
Net Change in Cash (Rp.M)                              2   0.023560
Cash from Ops. (Rp.M)                                  2   0.023560
Operating Income (Rp.M)                                1   0.011780
ECS Total Common Shares Outstanding (actual)           1   0.011780
Net Income to Company (Rp.M)                           0   0.000000
ticker                                                 0   0.000000
Year                                                   0   0.000000
Entity Name                                            0   0.000000
Total Equity (Rp.M)                                    0   0.000000
Total Current Assets (Rp.M)                            0   0.000000
Working Capital (Rp.M)                                 0   0.000000
Total Current Liabilities (Rp.M)                       0   0.000000
Total Liabilities (Rp.M)                               0   0.000000
Total Assets (Rp.M)                                    0   0.000000
Industry Group                                         0   0.000000
Cash & Short-term Investments (Rp.M)                   0   0.000000
IPO Year                                               0   0.000000
null_counts_per_row_fitur = df_findat_integrated_with_null.isnull().sum(axis=1)
null_counts_grouped_fitur = null_counts_per_row_fitur.value_counts().sort_index(ascending=False)

print("Jumlah baris berdasarkan jumlah nilai null (df_findat_integrated_with_null, diurutkan dari yang terbanyak):")
print(null_counts_grouped_fitur.to_string())
Jumlah baris berdasarkan jumlah nilai null (df_findat_integrated_with_null, diurutkan dari yang terbanyak):
18       1
17       2
16      12
15      17
14      46
13     171
12     264
11     406
10     715
9      961
8     1475
7     1761
6     1490
5      784
4      331
3       49
2        4
print('Baris dengan banyak null (>25)')
df_findat_integrated_with_null[df_findat_integrated_with_null.isna().sum(axis=1)>25]
Baris dengan banyak null (>25)
variable ticker Year Entity Name Total Equity (Rp.M) Net Income to Company (Rp.M) target_distress_consecutive_loss tahun_distress_consecutive_loss target_distress_neg_equity tahun_distress_neg_equity target_distress_ppk tahun_distress_ppk Year Established Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) Current Ratio (x) Quick Ratio (x) Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year

Feature Building

Fungsi Penyusun Fitur

def build_features(df_raw):
    df = df_raw.copy()

    # Function Pembagi
    # bagi dengan aman: jika 0 atau NaN -> NaN, bukan inf.
    def safe_div(num, denom):
        # if isinstance(denom, pd.Series) and (denom == 0).any():
        #     print('dibagi 0!!!')
        # elif not isinstance(denom, pd.Series) and denom == 0:
        #     print('dibagi 0!!!')
        res = num / denom
        return res.replace([np.inf, -np.inf], np.nan)

    # Fungsi log agar bisa menerima negatif
    # input 0 hasilnya juga 0 dengan menambahkan angka sangat kecil
    small_num = 1e-6
    def signed_log(x):
        return np.sign(x) * np.log(np.abs(x) + small_num)

    # Sort & Reset Index
    df = df.sort_values(["ticker", "Year"]).reset_index(drop=True)

    # Nama fitur
    CA      = df['Total Current Assets (Rp.M)']
    CL      = df['Total Current Liabilities (Rp.M)']
    TA      = df['Total Assets (Rp.M)']
    TL      = df['Total Liabilities (Rp.M)']
    Equity  = df['Total Equity (Rp.M)']
    Debt_rep = df['Total Debt (Rp.M)']

    LTD     = df['Long-term Debt (Rp.M)']
    STB     = df['Short-term Borrowings (Rp.M)']
    CPLTD   = df['Current Portion of LT Debt & Leases (Rp.M)']

    Inventory = df['Inventory (Rp.M)']
    Prepaid   = df['Prepaid Exp. (Rp.M)']
    PPE       = df['Net Property, Plant & Equipment (Rp.M)']

    Sales   = df['Total Revenue (Rp.M)']
    COGS    = df['Cost Of Goods Sold (Rp.M)']
    OpInc   = df['Operating Income (Rp.M)']
    EBITDA  = df['EBITDA (Rp.M)']
    EBIT    = df['EBIT (Rp.M)']
    NI      = df['Net Income to Company (Rp.M)']

    CFO     = df['Cash from Ops. (Rp.M)']
    NetCash = df['Net Change in Cash (Rp.M)']

    CashST  = df['Cash & Short-term Investments (Rp.M)']
    Intang  = df['Net Intangibles (Rp.M)']

    Shares  = df['ECS Total Common Shares Outstanding (actual)']
    MktCap = df['Market Capitalization (Rp.M)']
    Price   = df['Year Close Stock Price (Rp.)']
    TotalCap = df['Total Capital (Rp.M)']

    WC = df['Working Capital (Rp.M)']
    Debt = df['Total Debt (Rp.M)']

    Sales_log = signed_log(Sales)
    MktCap_log = signed_log(MktCap)
    TA_log = signed_log(TA)

    # Umur perusahaan
    AgeWhenIPO = df['IPO Year'] - df['Year Established']
    YearsSinceIPO = df['Year'] - df['IPO Year']

    # Net debt
    NetDebt = Debt - CashST


    #### SUSUN NUMERIK ####

    # fitur dasar identitas & struktur
    df['Age_When_IPO'] = AgeWhenIPO
    df['Years_Since_IPO'] = YearsSinceIPO

    # --- LIQUIDITY & WORKING CAPITAL ----
    df = df.rename(columns={"Current Ratio (x)": "CR", "Quick Ratio (x)": "QR"})

    # df['WC_TA'] = safe_div(WC, TA) # UDAH DI ALTMAN
    df['WC_Sales'] = safe_div(WC, Sales)

    df['CA_TA'] = safe_div(CA, TA)
    df['CL_TA'] = safe_div(CL, TA)
    df['CashST_TA'] = safe_div(CashST, TA)
    df['CashST_CL'] = safe_div(CashST, CL)
    df['Inventory_CA'] = safe_div(Inventory, CA)
    df['Prepaid_CA'] = safe_div(Prepaid, CA)

    # --- LEVERAGE & CAPITAL STRUCTURE ---
    df['TL_TA'] = safe_div(TL, TA)
    df['Debt_TA'] = safe_div(Debt, TA)
    df['Debt_Equity'] = safe_div(Debt, Equity) # DER
    df['Equity_TA'] = safe_div(Equity, TA)
    df['NetDebt_EBITDA'] = safe_div(NetDebt, EBITDA) # Leverage Ratio

    df['PPE_TA'] = safe_div(PPE, TA)
    df['Intang_TA'] = safe_div(Intang, TA)

    # Altman-like komponen yang bisa dihitung
    df['Altman_X1_WC_TA'] = safe_div(WC, TA)
    df['Altman_X3_EBIT_TA'] = safe_div(EBIT, TA)
    df['Altman_X4_MVE_TL'] = safe_div(MktCap, TL)
    df['Altman_X5_SalesTA_AssetTurnover'] = safe_div(Sales, TA)

    # --- PROFITABILITY & MARGINS ---
    df['ROA'] = safe_div(NI, TA)
    df['ROE'] = safe_div(NI, Equity)
    # df['EBIT_TA'] = safe_div(EBIT, TA) # UDAH DI ALTMAN
    df['EBITDA_TA'] = safe_div(EBITDA, TA)

    df['GrossMargin'] = safe_div(Sales - COGS, Sales)
    df['OpMargin'] = safe_div(OpInc, Sales)
    df['NetMargin'] = safe_div(NI, Sales)

    # --- CASH FLOW BASED ---
    df['CFO_TA'] = safe_div(CFO, TA)
    df['CFO_TL'] = safe_div(CFO, TL)
    df['CFO_Sales'] = safe_div(CFO, Sales)
    df['NetCash_TA'] = safe_div(NetCash, TA)

    # --- EFFICIENCY SEDERHANA (TURNOVER) ---
    # df['AssetTurnover'] = safe_div(Sales, TA) # UDAH DI ALTMAN

    # --- PER SHARE & MARKET ---
    df['EPS_proxy'] = safe_div(NI, Shares) * 1_000_000     # Rp per saham, dibuaat proporsional thd aproksimasi EPS karena ketidaktersediaan data cc
    df['Sales_per_share'] = safe_div(Sales, Shares) * 1_000_000
    df['CFO_per_share'] = safe_div(CFO, Shares) * 1_000_000

    df['log_TA'] = TA_log
    df['log_Sales'] = Sales_log
    df['log_MktCap'] = MktCap_log
    df['PB'] = safe_div(MktCap, Equity)        # Price-to-book approx
    # TODO : Bisa tambahkan P/E, nnti cek dulu unit NI & Shares

    #### FITUR GROWTH YoY ####

    # Tambahkan fill_method=None untuk menghilangkan warning dan memastikan akurasi
    df['Sales_growth'] = df.groupby('ticker')['Total Revenue (Rp.M)'].pct_change(fill_method=None)
    df['NI_growth']    = df.groupby('ticker')['Net Income to Company (Rp.M)'].pct_change(fill_method=None)
    df['TA_growth']    = df.groupby('ticker')['Total Assets (Rp.M)'].pct_change(fill_method=None)
    df['Equity_growth'] = df.groupby('ticker')['Total Equity (Rp.M)'].pct_change(fill_method=None)
    df['CFO_growth']    = df.groupby('ticker')['Cash from Ops. (Rp.M)'].pct_change(fill_method=None)

    #### ENCODING FITUR KATEGORIKAL ####

    # Buat copy kolom untuk dipakai analisis (dihapus lagi nanti)
    df['Industry_Group_Copy'] = df['Industry Group'].str.replace(',', '')

    # One-hot encoding untuk Industry Group
    df_fitur_result = pd.get_dummies(
        df,
        columns=['Industry_Group_Copy'],
        prefix='industry',
        drop_first=True
    )

    #### URUTKAN KOLOM HASIL AKHIR ####

    first_cols = [
        "ticker",
        "Year",
        "Entity Name",
        "target_distress_ppk",
        "tahun_distress_ppk",
        "Total Equity (Rp.M)",
        "target_distress_neg_equity",
        "tahun_distress_neg_equity",
        "Net Income to Company (Rp.M)",
        "target_distress_consecutive_loss",
        "tahun_distress_consecutive_loss"
    ]
    first_cols = [c for c in first_cols if c in df_fitur_result.columns]
    df_fitur_result = df_fitur_result[first_cols + [c for c in df_fitur_result.columns if c not in first_cols]]

    # Delete Columns
    # sementara disimpan dulu

    return df_fitur_result.copy()
df_findat_integrated[['Year', 'Year Established', 'IPO Year']].dtypes
0
variable
Year Int64
Year Established Int64
IPO Year Int64

Execute Feature Building

Dataset disini masih mempertahankan null

df_fitur = build_features(df_findat_integrated)
df_fitur
ticker Year Entity Name target_distress_ppk tahun_distress_ppk Total Equity (Rp.M) target_distress_neg_equity tahun_distress_neg_equity Net Income to Company (Rp.M) target_distress_consecutive_loss tahun_distress_consecutive_loss Year Established Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) Total Liabilities (Rp.M) Total Assets (Rp.M) CR QR Working Capital (Rp.M) Total Current Assets (Rp.M) Total Current Liabilities (Rp.M) Inventory (Rp.M) Prepaid Exp. (Rp.M) Long-term Debt (Rp.M) Short-term Borrowings (Rp.M) Current Portion of LT Debt & Leases (Rp.M) Total Debt (Rp.M) Net Property, Plant & Equipment (Rp.M) Cost Of Goods Sold (Rp.M) Total Revenue (Rp.M) Operating Income (Rp.M) EBITDA (Rp.M) EBIT (Rp.M) Cash from Ops. (Rp.M) Net Change in Cash (Rp.M) ECS Total Common Shares Outstanding (actual) Market Capitalization (Rp.M) Year Close Stock Price (Rp.) Total Capital (Rp.M) Cash & Short-term Investments (Rp.M) Net Intangibles (Rp.M) IPO Year Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 5336576.000000 0 <NA> 2715518.000000 0 <NA> 1988 Food, Beverage and Tobacco 79.680000 2.100000 NaN 1183215.000000 6519791.000000 1.944000 0.878000 959489.000000 1975656.000000 1016167.000000 781363.000000 37429.000000 NaN NaN NaN 0.000000 4123645.000000 4357818.000000 8161217.000000 3370969.000000 3616720.000000 3370969.000000 2087429.000000 -145096.000000 1574745000.000000 15432501.000000 9800.000000 5336576.000000 867676.000000 NaN 1997 9 11 0.117567 0.303024 0.155859 0.133083 0.853871 0.395495 0.018945 0.181481 0.000000 0.000000 0.818519 -0.239907 0.632481 NaN 0.147166 0.517036 13.042854 1.251761 0.416504 0.508850 0.554729 0.466033 0.413047 0.332734 0.320168 1.764201 0.255774 -0.022255 1724.417604 5182.564161 1325.566362 15.690353 15.914904 16.551986 2.891836 NaN NaN NaN NaN NaN False False False False False False False False False True False False False False False False False False False False False False
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 6426616.000000 0 <NA> 1729648.000000 0 <NA> 1988 Food, Beverage and Tobacco 79.680000 2.100000 NaN 1144783.000000 7571399.000000 1.826000 1.007000 775450.000000 1714426.000000 938976.000000 610031.000000 36849.000000 NaN NaN NaN 0.000000 5242447.000000 4322498.000000 7424283.000000 2603280.000000 2898342.000000 2603280.000000 1984894.000000 -79127.000000 1574745000.000000 35825448.750000 22750.000000 6426616.000000 788549.000000 NaN 1997 9 12 0.104448 0.226435 0.124016 0.104148 0.839797 0.355822 0.021493 0.151198 0.000000 0.000000 0.848802 -0.272069 0.692401 NaN 0.102418 0.343831 31.294532 0.980570 0.228445 0.269138 0.382801 0.417789 0.350644 0.232972 0.262157 1.733860 0.267352 -0.010451 1098.367037 4714.593791 1260.454232 15.839888 15.820267 17.394169 5.574543 -0.090297 -0.363050 0.161295 0.204258 -0.049120 False False False False False False False False False True False False False False False False False False False False False False
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 7457257.000000 0 <NA> 2103652.000000 0 <NA> 1988 Food, Beverage and Tobacco 79.680000 2.100000 NaN 1334542.000000 8791799.000000 1.932000 1.262000 989325.000000 2051177.000000 1061852.000000 624694.000000 22315.000000 NaN NaN NaN 0.000000 6103150.000000 5234372.000000 8843721.000000 2992793.000000 3335987.000000 2992793.000000 2946657.000000 452232.000000 1574745000.000000 41258319.000000 26200.000000 7457257.000000 1240781.000000 NaN 1997 9 13 0.111868 0.233306 0.120778 0.141129 1.168507 0.304554 0.010879 0.151794 0.000000 0.000000 0.848206 -0.371938 0.694187 NaN 0.112528 0.340407 30.915714 1.005906 0.239274 0.282095 0.379443 0.408126 0.338409 0.237870 0.335160 2.207991 0.333192 0.051438 1335.868347 5615.970205 1871.196289 15.989330 15.995218 17.535363 5.532640 0.191189 0.216231 0.161186 0.160371 0.484541 False False False False False False False False False True False False False False False False False False False False False False
3 AALI 2011 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 8426158.000000 0 <NA> 2498565.000000 0 <NA> 1988 Food, Beverage and Tobacco 79.680000 2.100000 NaN 1778337.000000 10204495.000000 1.265000 0.582000 389456.000000 1857025.000000 1467569.000000 769903.000000 NaN NaN NaN NaN 0.000000 7702571.000000 6837674.000000 10772582.000000 3195661.000000 3572651.000000 3195661.000000 3162475.000000 -402591.000000 1574745000.000000 34171966.500000 21700.000000 8426158.000000 838190.000000 NaN 1997 9 14 0.036153 0.181981 0.143816 0.082139 0.571142 0.414589 NaN 0.174270 0.000000 0.000000 0.825730 -0.234613 0.754821 NaN 0.038165 0.313162 19.215687 1.055670 0.244849 0.296525 0.350106 0.365271 0.296648 0.231937 0.309910 1.778333 0.293567 -0.039452 1586.647362 6840.842168 2008.245779 16.138339 16.192515 17.346916 4.055462 0.218105 0.187727 0.160683 0.129927 0.073242 False False False False False False False False False True False False False False False False False False False False False False
4 AALI 2012 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 9365411.000000 0 <NA> 2520266.000000 0 <NA> 1988 Food, Beverage and Tobacco 79.680000 2.100000 NaN 4701077.000000 12419820.000000 0.685000 0.107000 -820145.000000 1780395.000000 2600540.000000 1249050.000000 NaN NaN 971950.000000 NaN 971950.000000 9894266.000000 7206837.000000 11564319.000000 3453729.000000 3973578.000000 3453729.000000 2609511.000000 -610421.000000 1574745000.000000 31022476.500000 19700.000000 10337361.000000 227769.000000 NaN 1997 9 15 -0.070920 0.143351 0.209386 0.018339 0.087585 0.701558 NaN 0.378514 0.078258 0.103781 0.754070 0.187282 0.796651 NaN -0.066035 0.278082 6.599015 0.931118 0.202923 0.269104 0.319938 0.376804 0.298654 0.217935 0.210109 0.555088 0.225652 -0.049149 1600.428006 7343.613728 1657.100673 16.334804 16.263435 17.250223 3.312452 0.073496 0.008685 0.217093 0.111469 -0.174852 False False False False False False False False False True False False False False False False False False False False False False
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8484 ZONE 2023 PT Mega Perintis Tbk (IDX:ZONE) 0 <NA> 376089.685000 <NA> <NA> 46972.766000 <NA> <NA> 2005 Consumer Discretionary Distribution and Retail NaN NaN 62.030000 376866.895000 752956.580000 1.787000 0.183000 187443.551000 425743.875000 238300.324000 370381.888000 8229.119000 45537.359000 85403.842000 NaN 230078.796000 254442.974000 327373.203000 735452.174000 80467.569000 109639.609000 80467.569000 101276.087000 -292.586000 870171478.000000 965890.340580 1110.000000 606168.481000 4617.740000 36266.170000 2018 13 5 0.254868 0.565430 0.316486 0.006133 0.019378 0.869964 0.019329 0.500516 0.305567 0.611766 0.499484 2.056383 0.337925 0.048165 0.248943 0.106869 2.562948 0.976752 0.062384 0.124898 0.145612 0.554868 0.109412 0.063869 0.134505 0.268732 0.137706 -0.000389 53.981045 845.180740 116.386356 13.531763 13.508241 13.780806 2.568245 0.092989 -0.356013 0.155229 0.084306 -0.015960 False False False True False False False False False False False False False False False False False False False False False False
8485 ZONE 2024 PT Mega Perintis Tbk (IDX:ZONE) <NA> <NA> 370674.214000 <NA> <NA> 7044.347000 <NA> <NA> 2005 Consumer Discretionary Distribution and Retail NaN NaN 62.030000 378069.858000 748744.072000 1.750000 0.178000 175199.380000 408802.739000 233603.359000 356567.003000 9325.106000 37101.093000 111850.141000 NaN 262139.509000 262571.197000 347862.483000 708360.249000 33764.860000 68145.652000 33764.860000 92620.371000 3123.094000 870171478.000000 717891.469350 825.000000 632813.723000 7740.834000 36707.806000 2018 13 6 0.247331 0.545985 0.311994 0.010338 0.033137 0.872223 0.022811 0.504939 0.350106 0.707197 0.495061 3.733161 0.350682 0.049026 0.233991 0.045095 1.898833 0.946065 0.009408 0.019004 0.091013 0.508919 0.047666 0.009945 0.123701 0.244982 0.130753 0.004171 8.095355 814.046733 106.439217 13.526153 13.470708 13.484074 1.936718 -0.036837 -0.850033 -0.005595 -0.014399 -0.085467 False False False True False False False False False False False False False False False False False False False False False False
8486 ZYRX 2022 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 0 <NA> 268289.329000 0 <NA> 78627.417000 0 <NA> 1996 Technology Hardware and Equipment NaN NaN 75.160000 438940.489000 707229.819000 1.442000 0.668000 190967.877000 623252.109000 432284.232000 321857.019000 32.094000 NaN 154814.692000 NaN 154972.192000 62069.361000 626487.712000 770370.215000 124050.223000 126197.456000 124050.223000 108226.350000 205303.596000 1333333837.000000 426666.704320 320.000000 423261.521000 206376.347000 NaN 2021 25 1 0.247891 0.881258 0.611236 0.291809 0.477409 0.516415 0.000051 0.620648 0.219126 0.577631 0.379352 -0.407331 0.087764 NaN 0.270022 0.175403 0.972038 1.089278 0.111177 0.293069 0.178439 0.186771 0.161027 0.102064 0.153029 0.246563 0.140486 0.290293 58.970540 577.777443 81.169732 13.469111 13.554626 12.963758 1.590323 NaN NaN NaN NaN NaN False False False False False False False False False False False False False False False False False False True False False False
8487 ZYRX 2023 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 0 <NA> 289448.779000 <NA> <NA> 32952.892000 <NA> <NA> 1996 Technology Hardware and Equipment NaN NaN 75.160000 201592.951000 491041.729000 2.073000 0.401000 208245.855000 402244.527000 193998.671000 320652.316000 1146.130000 136.413000 123103.971000 NaN 123328.362000 68457.678000 198332.059000 289633.302000 75643.212000 77211.203000 75643.212000 -128496.218000 -193672.184000 1333334556.000000 221333.536296 166.000000 412777.140000 12704.163000 149.572000 2021 25 2 0.718998 0.819166 0.395076 0.025872 0.065486 0.797158 0.002849 0.410541 0.251157 0.426080 0.589459 1.432748 0.139413 0.000305 0.424090 0.154046 1.097923 0.589834 0.067108 0.113847 0.157240 0.315230 0.261169 0.113775 -0.261681 -0.637404 -0.443651 -0.394411 24.714646 217.224777 -96.372075 13.104284 12.576371 12.307426 0.764673 -0.624034 -0.580898 -0.305683 0.078868 -2.187291 False False False False False False False False False False False False False False False False False False True False False False
8488 ZYRX 2024 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) <NA> <NA> 300050.888000 <NA> <NA> 15171.892000 <NA> <NA> 1996 Technology Hardware and Equipment NaN NaN 75.160000 92393.711000 392444.599000 3.402000 0.775000 201817.814000 285854.627000 84036.813000 219621.479000 1021.593000 41.627000 46780.579000 NaN 47050.482000 92660.098000 296495.058000 364238.674000 37276.725000 38767.823000 37276.725000 113472.348000 -6431.849000 1333334556.000000 177333.495948 133.000000 347101.370000 6272.314000 388.017000 2021 25 3 0.554081 0.728395 0.214137 0.015983 0.074638 0.768298 0.003574 0.235431 0.119891 0.156808 0.764569 1.051856 0.236110 0.000989 0.514258 0.094986 1.919324 0.928128 0.038660 0.050564 0.098785 0.185987 0.102341 0.041654 0.289142 1.228139 0.311533 -0.016389 11.378909 273.178755 85.104183 12.880151 12.805565 12.085787 0.591011 0.257586 -0.539588 -0.200792 0.036629 -1.883079 False False False False False False False False False False False False False False False False False False True False False False

8489 rows × 108 columns

Hapus Kolom Raw Number

exclude = {'ticker', 'Year', 'Entity Name', 'Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'Percent Owned - Insiders (%)', 'Industry Group'}

raw_cols = [c for c in df_fitur.columns if c in set(df_findat_final.columns) and c not in exclude]
raw_cols
['Total Equity (Rp.M)',
 'Net Income to Company (Rp.M)',
 'Year Established',
 'Total Liabilities (Rp.M)',
 'Total Assets (Rp.M)',
 'Working Capital (Rp.M)',
 'Total Current Assets (Rp.M)',
 'Total Current Liabilities (Rp.M)',
 'Inventory (Rp.M)',
 'Prepaid Exp. (Rp.M)',
 'Long-term Debt (Rp.M)',
 'Short-term Borrowings (Rp.M)',
 'Current Portion of LT Debt & Leases (Rp.M)',
 'Total Debt (Rp.M)',
 'Net Property, Plant & Equipment (Rp.M)',
 'Cost Of Goods Sold (Rp.M)',
 'Total Revenue (Rp.M)',
 'Operating Income (Rp.M)',
 'EBITDA (Rp.M)',
 'EBIT (Rp.M)',
 'Cash from Ops. (Rp.M)',
 'Net Change in Cash (Rp.M)',
 'ECS Total Common Shares Outstanding (actual)',
 'Market Capitalization (Rp.M)',
 'Year Close Stock Price (Rp.)',
 'Total Capital (Rp.M)',
 'Cash & Short-term Investments (Rp.M)',
 'Net Intangibles (Rp.M)',
 'IPO Year']
df_fitur = df_fitur.drop(columns=raw_cols)
df_fitur
ticker Year Entity Name target_distress_ppk tahun_distress_ppk target_distress_neg_equity tahun_distress_neg_equity target_distress_consecutive_loss tahun_distress_consecutive_loss Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) CR QR Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.944000 0.878000 9 11 0.117567 0.303024 0.155859 0.133083 0.853871 0.395495 0.018945 0.181481 0.000000 0.000000 0.818519 -0.239907 0.632481 NaN 0.147166 0.517036 13.042854 1.251761 0.416504 0.508850 0.554729 0.466033 0.413047 0.332734 0.320168 1.764201 0.255774 -0.022255 1724.417604 5182.564161 1325.566362 15.690353 15.914904 16.551986 2.891836 NaN NaN NaN NaN NaN False False False False False False False False False True False False False False False False False False False False False False
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.826000 1.007000 9 12 0.104448 0.226435 0.124016 0.104148 0.839797 0.355822 0.021493 0.151198 0.000000 0.000000 0.848802 -0.272069 0.692401 NaN 0.102418 0.343831 31.294532 0.980570 0.228445 0.269138 0.382801 0.417789 0.350644 0.232972 0.262157 1.733860 0.267352 -0.010451 1098.367037 4714.593791 1260.454232 15.839888 15.820267 17.394169 5.574543 -0.090297 -0.363050 0.161295 0.204258 -0.049120 False False False False False False False False False True False False False False False False False False False False False False
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.932000 1.262000 9 13 0.111868 0.233306 0.120778 0.141129 1.168507 0.304554 0.010879 0.151794 0.000000 0.000000 0.848206 -0.371938 0.694187 NaN 0.112528 0.340407 30.915714 1.005906 0.239274 0.282095 0.379443 0.408126 0.338409 0.237870 0.335160 2.207991 0.333192 0.051438 1335.868347 5615.970205 1871.196289 15.989330 15.995218 17.535363 5.532640 0.191189 0.216231 0.161186 0.160371 0.484541 False False False False False False False False False True False False False False False False False False False False False False
3 AALI 2011 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.265000 0.582000 9 14 0.036153 0.181981 0.143816 0.082139 0.571142 0.414589 NaN 0.174270 0.000000 0.000000 0.825730 -0.234613 0.754821 NaN 0.038165 0.313162 19.215687 1.055670 0.244849 0.296525 0.350106 0.365271 0.296648 0.231937 0.309910 1.778333 0.293567 -0.039452 1586.647362 6840.842168 2008.245779 16.138339 16.192515 17.346916 4.055462 0.218105 0.187727 0.160683 0.129927 0.073242 False False False False False False False False False True False False False False False False False False False False False False
4 AALI 2012 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 0.685000 0.107000 9 15 -0.070920 0.143351 0.209386 0.018339 0.087585 0.701558 NaN 0.378514 0.078258 0.103781 0.754070 0.187282 0.796651 NaN -0.066035 0.278082 6.599015 0.931118 0.202923 0.269104 0.319938 0.376804 0.298654 0.217935 0.210109 0.555088 0.225652 -0.049149 1600.428006 7343.613728 1657.100673 16.334804 16.263435 17.250223 3.312452 0.073496 0.008685 0.217093 0.111469 -0.174852 False False False False False False False False False True False False False False False False False False False False False False
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8484 ZONE 2023 PT Mega Perintis Tbk (IDX:ZONE) 0 <NA> <NA> <NA> <NA> <NA> Consumer Discretionary Distribution and Retail NaN NaN 62.030000 1.787000 0.183000 13 5 0.254868 0.565430 0.316486 0.006133 0.019378 0.869964 0.019329 0.500516 0.305567 0.611766 0.499484 2.056383 0.337925 0.048165 0.248943 0.106869 2.562948 0.976752 0.062384 0.124898 0.145612 0.554868 0.109412 0.063869 0.134505 0.268732 0.137706 -0.000389 53.981045 845.180740 116.386356 13.531763 13.508241 13.780806 2.568245 0.092989 -0.356013 0.155229 0.084306 -0.015960 False False False True False False False False False False False False False False False False False False False False False False
8485 ZONE 2024 PT Mega Perintis Tbk (IDX:ZONE) <NA> <NA> <NA> <NA> <NA> <NA> Consumer Discretionary Distribution and Retail NaN NaN 62.030000 1.750000 0.178000 13 6 0.247331 0.545985 0.311994 0.010338 0.033137 0.872223 0.022811 0.504939 0.350106 0.707197 0.495061 3.733161 0.350682 0.049026 0.233991 0.045095 1.898833 0.946065 0.009408 0.019004 0.091013 0.508919 0.047666 0.009945 0.123701 0.244982 0.130753 0.004171 8.095355 814.046733 106.439217 13.526153 13.470708 13.484074 1.936718 -0.036837 -0.850033 -0.005595 -0.014399 -0.085467 False False False True False False False False False False False False False False False False False False False False False False
8486 ZYRX 2022 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 0 <NA> 0 <NA> 0 <NA> Technology Hardware and Equipment NaN NaN 75.160000 1.442000 0.668000 25 1 0.247891 0.881258 0.611236 0.291809 0.477409 0.516415 0.000051 0.620648 0.219126 0.577631 0.379352 -0.407331 0.087764 NaN 0.270022 0.175403 0.972038 1.089278 0.111177 0.293069 0.178439 0.186771 0.161027 0.102064 0.153029 0.246563 0.140486 0.290293 58.970540 577.777443 81.169732 13.469111 13.554626 12.963758 1.590323 NaN NaN NaN NaN NaN False False False False False False False False False False False False False False False False False False True False False False
8487 ZYRX 2023 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 0 <NA> <NA> <NA> <NA> <NA> Technology Hardware and Equipment NaN NaN 75.160000 2.073000 0.401000 25 2 0.718998 0.819166 0.395076 0.025872 0.065486 0.797158 0.002849 0.410541 0.251157 0.426080 0.589459 1.432748 0.139413 0.000305 0.424090 0.154046 1.097923 0.589834 0.067108 0.113847 0.157240 0.315230 0.261169 0.113775 -0.261681 -0.637404 -0.443651 -0.394411 24.714646 217.224777 -96.372075 13.104284 12.576371 12.307426 0.764673 -0.624034 -0.580898 -0.305683 0.078868 -2.187291 False False False False False False False False False False False False False False False False False False True False False False
8488 ZYRX 2024 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) <NA> <NA> <NA> <NA> <NA> <NA> Technology Hardware and Equipment NaN NaN 75.160000 3.402000 0.775000 25 3 0.554081 0.728395 0.214137 0.015983 0.074638 0.768298 0.003574 0.235431 0.119891 0.156808 0.764569 1.051856 0.236110 0.000989 0.514258 0.094986 1.919324 0.928128 0.038660 0.050564 0.098785 0.185987 0.102341 0.041654 0.289142 1.228139 0.311533 -0.016389 11.378909 273.178755 85.104183 12.880151 12.805565 12.085787 0.591011 0.257586 -0.539588 -0.200792 0.036629 -1.883079 False False False False False False False False False False False False False False False False False False True False False False

8489 rows × 79 columns

Hasil Kolom Tersisa

df_fitur.columns.to_list()
['ticker',
 'Year',
 'Entity Name',
 'target_distress_ppk',
 'tahun_distress_ppk',
 'target_distress_neg_equity',
 'tahun_distress_neg_equity',
 'target_distress_consecutive_loss',
 'tahun_distress_consecutive_loss',
 'Industry Group',
 'Parent Percent Owned (%)',
 'Percent Owned - All Institutions (%)',
 'Percent Owned - Insiders (%)',
 'CR',
 'QR',
 'Age_When_IPO',
 'Years_Since_IPO',
 'WC_Sales',
 'CA_TA',
 'CL_TA',
 'CashST_TA',
 'CashST_CL',
 'Inventory_CA',
 'Prepaid_CA',
 'TL_TA',
 'Debt_TA',
 'Debt_Equity',
 'Equity_TA',
 'NetDebt_EBITDA',
 'PPE_TA',
 'Intang_TA',
 'Altman_X1_WC_TA',
 'Altman_X3_EBIT_TA',
 'Altman_X4_MVE_TL',
 'Altman_X5_SalesTA_AssetTurnover',
 'ROA',
 'ROE',
 'EBITDA_TA',
 'GrossMargin',
 'OpMargin',
 'NetMargin',
 'CFO_TA',
 'CFO_TL',
 'CFO_Sales',
 'NetCash_TA',
 'EPS_proxy',
 'Sales_per_share',
 'CFO_per_share',
 'log_TA',
 'log_Sales',
 'log_MktCap',
 'PB',
 'Sales_growth',
 'NI_growth',
 'TA_growth',
 'Equity_growth',
 'CFO_growth',
 'industry_Banks',
 'industry_Capital Goods',
 'industry_Commercial and Professional Services',
 'industry_Consumer Discretionary Distribution and Retail',
 'industry_Consumer Durables and Apparel',
 'industry_Consumer Services',
 'industry_Consumer Staples Distribution and Retail',
 'industry_Energy',
 'industry_Financial Services',
 'industry_Food Beverage and Tobacco',
 'industry_Health Care Equipment and Services',
 'industry_Household and Personal Products',
 'industry_Insurance',
 'industry_Materials',
 'industry_Media and Entertainment',
 'industry_Pharmaceuticals Biotechnology and Life Sciences',
 'industry_Real Estate Management and Development',
 'industry_Software and Services',
 'industry_Technology Hardware and Equipment',
 'industry_Telecommunication Services',
 'industry_Transportation',
 'industry_Utilities']

Pemahaman Data Fitur

Sebaran Data

targets = [col for col in df_fitur.columns if col.startswith('target')]
excluded_cols = [
    'ticker', 'Year', 'Entity Name',
    'tahun_distress_ppk', 'tahun_distress_neg_equity', 'tahun_distress_consecutive_loss'
]

# --- 1. Persiapan & Pemisahan Kolom ---
cols_to_exclude = targets + excluded_cols
potential_cols = [col for col in df_fitur.columns if col not in cols_to_exclude]

numeric_cols = []
categorical_cols = []

for col in potential_cols:
    # Cek prioritas: Industry -> Boolean -> Object -> Numeric
    if col.startswith('industry') or df_fitur[col].dtype == 'bool' or df_fitur[col].dtype == 'object':
        categorical_cols.append(col)
    elif pd.api.types.is_numeric_dtype(df_fitur[col]):
        numeric_cols.append(col)

print(f"Total Baris Data: {len(df_fitur)}")
print(f"Fitur Numerik: {len(numeric_cols)}")
print(f"Fitur Kategorikal: {len(categorical_cols)}")
Total Baris Data: 8489
Fitur Numerik: 47
Fitur Kategorikal: 23
# =========================
# PILIH KOLOM NUMERIK SAJA
# =========================
targets = [col for col in df_fitur.columns if col.startswith('target')]
industries = [col for col in df_fitur.columns if col.startswith('industry')]
excluded_cols = [
    'ticker', 'Year', 'Entity Name',
    'tahun_distress_ppk', 'tahun_distress_neg_equity', 'tahun_distress_consecutive_loss'
]

cols_to_exclude = set(targets + excluded_cols + industries)
potential_cols = [col for col in df_fitur.columns if col not in cols_to_exclude]

numeric_cols = [
    col for col in potential_cols
    if pd.api.types.is_numeric_dtype(df_fitur[col])
]

print(f"Total Baris Data: {len(df_fitur)}")
print(f"Fitur Numerik: {len(numeric_cols)}")

N = len(df_fitur)

# =========================
# VISUALISASI NUMERIK (Boxplot + Hist)
# =========================
features_per_page = 5
num_batches = math.ceil(len(numeric_cols) / features_per_page)

MAX_POINTS_PLOT = 80_000   # sampling agar plotting stabil (tidak mengubah df)
MAX_POINTS_KDE  = 8_000    # KDE hanya kalau data kecil (hindari hang)
HIST_BINS       = 50       # bins tetap agar cepat & konsisten

for i in range(num_batches):
    start = i * features_per_page
    end = min((i + 1) * features_per_page, len(numeric_cols))
    batch = numeric_cols[start:end]

    fig, axes = plt.subplots(len(batch), 2, figsize=(16, 4 * len(batch)))
    fig.suptitle(f'Distribusi Numerik Part {i+1}', fontsize=16, fontweight='bold', y=1.01)

    if len(batch) == 1:
        axes = [axes]

    for idx, col in enumerate(batch):
        ax_box = axes[idx][0]
        ax_hist = axes[idx][1]

        try:
            s_raw = df_fitur[col]

            # hitung null (tanpa mengubah df)
            null_count = int(s_raw.isna().sum())
            null_prop = null_count / N if N else 0.0

            # bersihkan untuk plotting: inf -> nan, coerce numeric, dropna sementara
            s_clean = (
                s_raw.replace([np.inf, -np.inf], np.nan)
                     .pipe(pd.to_numeric, errors="coerce")
                     .dropna()
            )

            if s_clean.empty:
                msg = f"ALL NULL/INF | Null: {null_count} ({null_prop:.1%})"
                ax_box.set_title(f"Outlier Check: {col}", fontsize=10, fontweight='bold')
                ax_box.text(0.5, 0.5, msg, ha='center', va='center')
                ax_hist.set_title(msg, fontsize=10)
                ax_hist.text(0.5, 0.5, "No data to plot", ha='center', va='center')
                continue

            # sampling agar tidak berat
            s_plot = s_clean.sample(MAX_POINTS_PLOT, random_state=42) if len(s_clean) > MAX_POINTS_PLOT else s_clean

            # statistik (dari non-null)
            desc = s_plot.describe()
            skew = s_plot.skew()

            stats_text = (
                f"Min: {desc['min']:.2f} | Max: {desc['max']:.2f} | "
                f"Mean: {desc['mean']:.2f} | Med: {desc['50%']:.2f} | "
                f"Skew: {skew:.2f} | "
                f"Null: {null_count} ({null_prop:.1%})"
            )

            # boxplot
            sns.boxplot(x=s_plot, ax=ax_box, color='#3498db')
            ax_box.set_title(f"Outlier Check: {col}", fontsize=10, fontweight='bold')
            ax_box.set_xlabel('')

            # hist (+ KDE dibatasi agar tidak hang)
            use_kde = (s_plot.nunique() > 1) and (len(s_plot) <= MAX_POINTS_KDE)
            sns.histplot(s_plot, bins=HIST_BINS, kde=use_kde, ax=ax_hist, color='#e67e22', stat='density')

            ax_hist.axvline(desc['mean'], color='red', linestyle='--', label='Mean')
            ax_hist.axvline(desc['50%'], color='green', linestyle='-', label='Median')
            ax_hist.set_title(stats_text, fontsize=10)
            ax_hist.legend(loc='upper right', fontsize='small')
            ax_hist.set_xlabel('')

        except Exception as e:
            err = f"{type(e).__name__}: {e}"
            ax_box.clear()
            ax_hist.clear()
            ax_box.set_title(f"Outlier Check: {col}", fontsize=10, fontweight='bold')
            ax_box.text(0.5, 0.5, f"Error:\n{err}", ha='center', va='center', wrap=True)
            ax_hist.set_title(f"Error on: {col}", fontsize=10)
            ax_hist.text(0.5, 0.5, f"Error:\n{err}", ha='center', va='center', wrap=True)

    plt.tight_layout()
    plt.show()
    plt.close(fig)
    plt.close('all')
Total Baris Data: 8489
Fitur Numerik: 47

# Menghitung min dan max, lalu di-transpose (.T) agar nama kolom berjejer ke bawah
min_max_summary = df_fitur[numeric_cols].agg(['min', 'max']).T

print("=== Ringkasan Nilai Minimum dan Maksimum ===")
print(min_max_summary)
=== Ringkasan Nilai Minimum dan Maksimum ===
                                                  min            max
Parent Percent Owned (%)                     1.010000     100.000000
Percent Owned - All Institutions (%)         0.000000      99.350000
Percent Owned - Insiders (%)                 0.000000      92.500000
CR                                           0.000000     276.365000
QR                                           0.000000     297.354000
Age_When_IPO                                 0.000000     184.000000
Years_Since_IPO                              1.000000      47.000000
WC_Sales                                -34330.458213   15731.271526
CA_TA                                        0.001489       1.000000
CL_TA                                        0.000026    3183.852925
CashST_TA                                    0.000004       0.998560
CashST_CL                                    0.000128    8055.691012
Inventory_CA                                 0.000000       2.029279
Prepaid_CA                                   0.000000       0.680819
TL_TA                                        0.000102    3191.109276
Debt_TA                                      0.000000    1089.080293
Debt_Equity                              -2932.733637     121.548567
Equity_TA                                -3190.109289       0.999898
NetDebt_EBITDA                           -7836.128283    9588.426487
PPE_TA                                       0.000000       0.989719
Intang_TA                                    0.000000       1.337714
Altman_X1_WC_TA                          -3183.211894       0.995606
Altman_X3_EBIT_TA                         -428.451925       1.373432
Altman_X4_MVE_TL                             0.002928    6996.499691
Altman_X5_SalesTA_AssetTurnover             -1.172519      28.823814
ROA                                      -1391.146305    3612.433265
ROE                                      -1453.379504     139.022391
EBITDA_TA                                 -110.412651      19.026523
GrossMargin                              -1312.195304       9.075947
OpMargin                                 -1685.703170      91.388504
NetMargin                                -1672.147241     984.260833
CFO_TA                                     -90.064793       1.950671
CFO_TL                                     -92.228120      58.936858
CFO_Sales                                -3425.034582     797.276777
NetCash_TA                                  -6.540044       0.848656
EPS_proxy                            -25683068.783069  918674.008205
Sales_per_share                      -23102507.936508 2127660.925358
CFO_per_share                         -9389487.162303   17421.566813
log_TA                                       4.167146      21.610014
log_Sales                                  -16.212612      19.617387
log_MktCap                                   8.621553      24.636501
PB                                       -1848.307716   38071.722785
Sales_growth                              -265.130822    1923.627045
NI_growth                                -6386.715890    3864.340840
TA_growth                                   -0.999342    3154.072957
Equity_growth                             -871.179934    1060.375319
CFO_growth                                -613.065049    1397.118210

Korelasi Antar Kolom

Pearson

corr_matrix_pearson = (
    df_fitur[numeric_cols]
    .apply(pd.to_numeric, errors="coerce")
    .corr()
)

mask = np.triu(np.ones_like(corr_matrix_pearson, dtype=bool))

plt.figure(figsize=(18, 14))
sns.heatmap(
    corr_matrix_pearson,
    mask=mask,
    cmap="RdBu_r",
    center=0,
    vmin=-1,
    vmax=1,
    linewidths=0.3,
    cbar_kws={"shrink": 0.8}
)
plt.title("Heatmap Korelasi (PEARSON) Antar Kolom Numerik pada df_fitur", fontsize=14, fontweight="bold")
plt.xticks(rotation=45, ha="right")
plt.yticks(rotation=0)
plt.tight_layout()
plt.show()

# 1. Tentukan ambang batas (threshold) korelasi tinggi, misalnya 0.8 atau 0.85
threshold = 0.80

# 2. Ambil nilai absolut dari matriks korelasi
corr_abs_pearson = corr_matrix_pearson.abs()

# 3. Buat "topeng" (mask) untuk mengambil nilai di segitiga atas (upper triangle)
# k=1 berfungsi untuk membuang garis diagonal utama (korelasi dengan diri sendiri)
upper_triangle = corr_abs_pearson.where(np.triu(np.ones(corr_abs_pearson.shape), k=1).astype(bool))

# 4. Ubah format menjadi series berjejer (stack) dan saring berdasarkan threshold
high_corr_pairs = upper_triangle.stack()[upper_triangle.stack() > threshold]

# 5. Urutkan dari korelasi tertinggi ke terendah, lalu cetak
high_corr_pairs = high_corr_pairs.sort_values(ascending=False)

print(f"Daftar pasangan fitur dengan korelasi Pearson > {threshold}:\n")
for (fitur_1, fitur_2), nilai_absolut in high_corr_pairs.items():
    # Mengambil nilai asli (positif/negatif) dari matriks awal
    nilai_asli = corr_matrix_pearson.loc[fitur_1, fitur_2]
    
    print(f"{fitur_1} & {fitur_2} : {nilai_asli:.4f}")
Daftar pasangan fitur dengan korelasi Pearson > 0.8:

TL_TA & Equity_TA : -1.0000
CL_TA & Altman_X1_WC_TA : -1.0000
CL_TA & Equity_TA : -0.9996
CL_TA & TL_TA : 0.9996
Equity_TA & Altman_X1_WC_TA : 0.9996
TL_TA & Altman_X1_WC_TA : -0.9996
EPS_proxy & Sales_per_share : 0.9984
Debt_TA & Equity_TA : -0.9981
TL_TA & Debt_TA : 0.9981
Altman_X1_WC_TA & Altman_X3_EBIT_TA : 0.9971
CL_TA & Altman_X3_EBIT_TA : -0.9970
CL_TA & Debt_TA : 0.9964
Debt_TA & Altman_X1_WC_TA : -0.9964
Equity_TA & Altman_X3_EBIT_TA : 0.9960
TL_TA & Altman_X3_EBIT_TA : -0.9960
Altman_X3_EBIT_TA & CFO_TA : 0.9940
Debt_TA & Altman_X3_EBIT_TA : -0.9899
Altman_X1_WC_TA & CFO_TA : 0.9875
CL_TA & CFO_TA : -0.9875
Equity_TA & CFO_TA : 0.9865
TL_TA & CFO_TA : -0.9865
Debt_TA & CFO_TA : -0.9798
CR & QR : 0.9522
EBITDA_TA & CFO_TA : 0.9510
Altman_X3_EBIT_TA & EBITDA_TA : 0.9494
Altman_X1_WC_TA & EBITDA_TA : 0.9355
CL_TA & EBITDA_TA : -0.9355
Equity_TA & EBITDA_TA : 0.9351
TL_TA & EBITDA_TA : -0.9351
Debt_TA & EBITDA_TA : -0.9244
QR & CashST_CL : 0.8509
log_TA & log_MktCap : 0.8266
WC_Sales & CFO_Sales : 0.8116
CR & CashST_CL : 0.8060

Spearman

corr_matrix_spearman = (
    df_fitur[numeric_cols]
    .apply(pd.to_numeric, errors="coerce")
    .corr(method='spearman')
)

mask = np.triu(np.ones_like(corr_matrix_spearman, dtype=bool))

plt.figure(figsize=(18, 14))
sns.heatmap(
    corr_matrix_spearman,
    mask=mask,
    cmap="RdBu_r",
    center=0,
    vmin=-1,
    vmax=1,
    linewidths=0.3,
    cbar_kws={"shrink": 0.8}
)
plt.title("Heatmap Korelasi (SPEARMAN) Antar Kolom Numerik pada df_fitur", fontsize=14, fontweight="bold")
plt.xticks(rotation=45, ha="right")
plt.yticks(rotation=0)
plt.tight_layout()
plt.show()

# 1. Tentukan ambang batas (threshold) korelasi tinggi, misalnya 0.8 atau 0.85
threshold = 0.80

# 2. Ambil nilai absolut dari matriks korelasi
corr_abs_spearman = corr_matrix_spearman.abs()

# 3. Buat "topeng" (mask) untuk mengambil nilai di segitiga atas (upper triangle)
# k=1 berfungsi untuk membuang garis diagonal utama (korelasi dengan diri sendiri)
upper_triangle = corr_abs_spearman.where(np.triu(np.ones(corr_abs_spearman.shape), k=1).astype(bool))

# 4. Ubah format menjadi series berjejer (stack) dan saring berdasarkan threshold
high_corr_pairs = upper_triangle.stack()[upper_triangle.stack() > threshold]

# 5. Urutkan dari korelasi tertinggi ke terendah, lalu cetak
high_corr_pairs = high_corr_pairs.sort_values(ascending=False)

print(f"Daftar pasangan fitur dengan korelasi Spearman > {threshold}:\n")
for (fitur_1, fitur_2), nilai_absolut in high_corr_pairs.items():
    # Mengambil nilai asli (positif/negatif) dari matriks awal
    nilai_asli = corr_matrix_spearman.loc[fitur_1, fitur_2]
    
    print(f"{fitur_1} & {fitur_2} : {nilai_asli:.4f}")
Daftar pasangan fitur dengan korelasi Spearman > 0.8:

TL_TA & Equity_TA : -0.9820
CFO_TA & CFO_TL : 0.9357
Altman_X3_EBIT_TA & EBITDA_TA : 0.9344
CR & Altman_X1_WC_TA : 0.9094
CR & WC_Sales : 0.8636
CFO_TA & CFO_per_share : 0.8615
Altman_X3_EBIT_TA & ROA : 0.8475
log_TA & log_MktCap : 0.8339
WC_Sales & Altman_X1_WC_TA : 0.8322
ROA & EPS_proxy : 0.8270
CashST_TA & CashST_CL : 0.8212
CR & QR : 0.8211
CFO_TA & CFO_Sales : 0.8182
ROA & ROE : 0.8065
CFO_TL & CFO_Sales : 0.8044
OpMargin & NetMargin : 0.8038
CFO_TL & CFO_per_share : 0.8012

Variance Inflation Factors (VIF)

# # 1. Siapkan data (VIF tidak bisa memproses data yang memiliki missing values/NaN)
# # Pastikan Anda menggunakan data yang sudah di-imputasi!
# X = df_fitur[numeric_cols].copy()

# # 2. Tambahkan konstanta (Intercept)
# # Ini adalah langkah WAJIB. Tanpa konstanta, nilai VIF akan terdistorsi menjadi sangat besar
# X = add_constant(X)

# # 3. Hitung VIF untuk setiap fitur
# vif_data = pd.DataFrame()
# vif_data["Fitur"] = X.columns
# vif_data["VIF"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]

# # 4. Buang baris 'const' (karena kita hanya peduli pada VIF rasio keuangannya saja)
# vif_data = vif_data[vif_data["Fitur"] != "const"]

# # 5. Urutkan dari VIF tertinggi ke terendah agar rapi di grafik
# vif_data = vif_data.sort_values(by="VIF", ascending=False)

# # ==========================================
# # BAGIAN VISUALISASI
# # ==========================================
# plt.figure(figsize=(10, max(6, len(numeric_cols) * 0.4))) # Tinggi gambar menyesuaikan jumlah fitur

# # Buat bar chart
# sns.barplot(x="VIF", y="Fitur", data=vif_data, palette="coolwarm_r")

# # Tambahkan garis putus-putus sebagai batas toleransi (Threshold)
# plt.axvline(x=10, color='red', linestyle='--', linewidth=2, label='Batas Bahaya (VIF = 10)')
# plt.axvline(x=5, color='orange', linestyle='--', linewidth=2, label='Batas Peringatan (VIF = 5)')

# # Rapikan teks dan label
# plt.title("Deteksi Multikolinearitas dengan Variance Inflation Factor (VIF)", fontsize=14, pad=15)
# plt.xlabel("Skor VIF", fontsize=12)
# plt.ylabel("Fitur / Rasio Keuangan", fontsize=12)
# plt.legend()
# plt.tight_layout()

# # Tampilkan grafik
# plt.show()

# # Cetak juga dalam bentuk tabel teks untuk dokumentasi
# print(vif_data.to_string(index=False))

Sebaran Nilai Negatif

id_cols = ['ticker', 'Year', 'Entity Name']
cols_to_check = [
    col for col in df_fitur.select_dtypes(include=['number']).columns
    if 'growth' not in col.lower()
    and col not in id_cols
    and 'distress' not in col.lower()
]

neg_counts = (df_fitur[cols_to_check] < 0).sum()

neg_proportions = (neg_counts / len(df_fitur)) * 100

# gabungkan 1 df
neg_report = pd.DataFrame({
    'Negative Count': neg_counts,
    'Percentage (%)': neg_proportions
}).sort_values(by='Negative Count', ascending=False)

print(f"Total baris dalam dataset: {len(df_fitur)}")
print("-" * 50)
print(neg_report)
Total baris dalam dataset: 8489
--------------------------------------------------
                                      Negative Count  Percentage (%)
NetCash_TA                                      4025       47.414301
NetDebt_EBITDA                                  2694       31.735187
CFO_TA                                          2529       29.791495
CFO_TL                                          2529       29.791495
CFO_per_share                                   2528       29.779715
CFO_Sales                                       2506       29.520556
Altman_X1_WC_TA                                 2391       28.165862
WC_Sales                                        2384       28.083402
ROA                                             2032       23.936859
EPS_proxy                                       2032       23.936859
NetMargin                                       1947       22.935564
ROE                                             1884       22.193427
OpMargin                                        1636       19.271999
Altman_X3_EBIT_TA                               1540       18.141124
EBITDA_TA                                        935       11.014254
GrossMargin                                      340        4.005183
Equity_TA                                        310        3.651785
Debt_Equity                                      308        3.628225
PB                                               307        3.616445
log_Sales                                         71        0.836376
Sales_per_share                                   71        0.836376
Altman_X5_SalesTA_AssetTurnover                   71        0.836376
Parent Percent Owned (%)                           0        0.000000
QR                                                 0        0.000000
Percent Owned - Insiders (%)                       0        0.000000
Percent Owned - All Institutions (%)               0        0.000000
CL_TA                                              0        0.000000
CA_TA                                              0        0.000000
Years_Since_IPO                                    0        0.000000
Age_When_IPO                                       0        0.000000
CR                                                 0        0.000000
Altman_X4_MVE_TL                                   0        0.000000
Debt_TA                                            0        0.000000
TL_TA                                              0        0.000000
CashST_TA                                          0        0.000000
Intang_TA                                          0        0.000000
PPE_TA                                             0        0.000000
CashST_CL                                          0        0.000000
Prepaid_CA                                         0        0.000000
Inventory_CA                                       0        0.000000
log_TA                                             0        0.000000
log_MktCap                                         0        0.000000
id_cols = ['ticker', 'Year', 'Entity Name']

cols_to_check = [
    col for col in df_fitur.select_dtypes(include=['number']).columns
    if 'growth' not in col.lower()
    and col not in id_cols
    and 'distress' not in col.lower()
]

df_negatif = df_fitur[(df_fitur[cols_to_check] < 0).any(axis=1)]

df_negatif
ticker Year Entity Name target_distress_ppk tahun_distress_ppk target_distress_neg_equity tahun_distress_neg_equity target_distress_consecutive_loss tahun_distress_consecutive_loss Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) CR QR Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.944000 0.878000 9 11 0.117567 0.303024 0.155859 0.133083 0.853871 0.395495 0.018945 0.181481 0.000000 0.000000 0.818519 -0.239907 0.632481 NaN 0.147166 0.517036 13.042854 1.251761 0.416504 0.508850 0.554729 0.466033 0.413047 0.332734 0.320168 1.764201 0.255774 -0.022255 1724.417604 5182.564161 1325.566362 15.690353 15.914904 16.551986 2.891836 NaN NaN NaN NaN NaN False False False False False False False False False True False False False False False False False False False False False False
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.826000 1.007000 9 12 0.104448 0.226435 0.124016 0.104148 0.839797 0.355822 0.021493 0.151198 0.000000 0.000000 0.848802 -0.272069 0.692401 NaN 0.102418 0.343831 31.294532 0.980570 0.228445 0.269138 0.382801 0.417789 0.350644 0.232972 0.262157 1.733860 0.267352 -0.010451 1098.367037 4714.593791 1260.454232 15.839888 15.820267 17.394169 5.574543 -0.090297 -0.363050 0.161295 0.204258 -0.049120 False False False False False False False False False True False False False False False False False False False False False False
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.932000 1.262000 9 13 0.111868 0.233306 0.120778 0.141129 1.168507 0.304554 0.010879 0.151794 0.000000 0.000000 0.848206 -0.371938 0.694187 NaN 0.112528 0.340407 30.915714 1.005906 0.239274 0.282095 0.379443 0.408126 0.338409 0.237870 0.335160 2.207991 0.333192 0.051438 1335.868347 5615.970205 1871.196289 15.989330 15.995218 17.535363 5.532640 0.191189 0.216231 0.161186 0.160371 0.484541 False False False False False False False False False True False False False False False False False False False False False False
3 AALI 2011 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.265000 0.582000 9 14 0.036153 0.181981 0.143816 0.082139 0.571142 0.414589 NaN 0.174270 0.000000 0.000000 0.825730 -0.234613 0.754821 NaN 0.038165 0.313162 19.215687 1.055670 0.244849 0.296525 0.350106 0.365271 0.296648 0.231937 0.309910 1.778333 0.293567 -0.039452 1586.647362 6840.842168 2008.245779 16.138339 16.192515 17.346916 4.055462 0.218105 0.187727 0.160683 0.129927 0.073242 False False False False False False False False False True False False False False False False False False False False False False
4 AALI 2012 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> <NA> 0 <NA> 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 0.685000 0.107000 9 15 -0.070920 0.143351 0.209386 0.018339 0.087585 0.701558 NaN 0.378514 0.078258 0.103781 0.754070 0.187282 0.796651 NaN -0.066035 0.278082 6.599015 0.931118 0.202923 0.269104 0.319938 0.376804 0.298654 0.217935 0.210109 0.555088 0.225652 -0.049149 1600.428006 7343.613728 1657.100673 16.334804 16.263435 17.250223 3.312452 0.073496 0.008685 0.217093 0.111469 -0.174852 False False False False False False False False False True False False False False False False False False False False False False
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
8483 ZONE 2022 PT Mega Perintis Tbk (IDX:ZONE) 0 <NA> 0 <NA> 0 <NA> Consumer Discretionary Distribution and Retail NaN NaN 62.030000 1.877000 0.161000 13 4 0.259725 0.573719 0.305585 0.007534 0.024653 0.867753 0.044572 0.467846 0.309258 0.581144 0.532154 1.399138 0.324746 0.049686 0.268134 0.176153 3.509987 1.032373 0.111910 0.210295 0.215650 0.559230 0.170629 0.108400 0.157904 0.337512 0.152952 -0.002362 83.823150 773.274480 118.273962 13.387464 13.419324 13.883460 3.085819 0.450564 1.369640 0.158230 0.222280 0.033258 False False False True False False False False False False False False False False False False False False False False False False
8484 ZONE 2023 PT Mega Perintis Tbk (IDX:ZONE) 0 <NA> <NA> <NA> <NA> <NA> Consumer Discretionary Distribution and Retail NaN NaN 62.030000 1.787000 0.183000 13 5 0.254868 0.565430 0.316486 0.006133 0.019378 0.869964 0.019329 0.500516 0.305567 0.611766 0.499484 2.056383 0.337925 0.048165 0.248943 0.106869 2.562948 0.976752 0.062384 0.124898 0.145612 0.554868 0.109412 0.063869 0.134505 0.268732 0.137706 -0.000389 53.981045 845.180740 116.386356 13.531763 13.508241 13.780806 2.568245 0.092989 -0.356013 0.155229 0.084306 -0.015960 False False False True False False False False False False False False False False False False False False False False False False
8486 ZYRX 2022 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 0 <NA> 0 <NA> 0 <NA> Technology Hardware and Equipment NaN NaN 75.160000 1.442000 0.668000 25 1 0.247891 0.881258 0.611236 0.291809 0.477409 0.516415 0.000051 0.620648 0.219126 0.577631 0.379352 -0.407331 0.087764 NaN 0.270022 0.175403 0.972038 1.089278 0.111177 0.293069 0.178439 0.186771 0.161027 0.102064 0.153029 0.246563 0.140486 0.290293 58.970540 577.777443 81.169732 13.469111 13.554626 12.963758 1.590323 NaN NaN NaN NaN NaN False False False False False False False False False False False False False False False False False False True False False False
8487 ZYRX 2023 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) 0 <NA> <NA> <NA> <NA> <NA> Technology Hardware and Equipment NaN NaN 75.160000 2.073000 0.401000 25 2 0.718998 0.819166 0.395076 0.025872 0.065486 0.797158 0.002849 0.410541 0.251157 0.426080 0.589459 1.432748 0.139413 0.000305 0.424090 0.154046 1.097923 0.589834 0.067108 0.113847 0.157240 0.315230 0.261169 0.113775 -0.261681 -0.637404 -0.443651 -0.394411 24.714646 217.224777 -96.372075 13.104284 12.576371 12.307426 0.764673 -0.624034 -0.580898 -0.305683 0.078868 -2.187291 False False False False False False False False False False False False False False False False False False True False False False
8488 ZYRX 2024 PT Zyrexindo Mandiri Buana Tbk (IDX:ZYRX) <NA> <NA> <NA> <NA> <NA> <NA> Technology Hardware and Equipment NaN NaN 75.160000 3.402000 0.775000 25 3 0.554081 0.728395 0.214137 0.015983 0.074638 0.768298 0.003574 0.235431 0.119891 0.156808 0.764569 1.051856 0.236110 0.000989 0.514258 0.094986 1.919324 0.928128 0.038660 0.050564 0.098785 0.185987 0.102341 0.041654 0.289142 1.228139 0.311533 -0.016389 11.378909 273.178755 85.104183 12.880151 12.805565 12.085787 0.591011 0.257586 -0.539588 -0.200792 0.036629 -1.883079 False False False False False False False False False False False False False False False False False False True False False False

7188 rows × 79 columns

Yang normal negatif :
- NetCash_TA - CFO_TA, CFO_TL, CFO_Sales - ROA, ROE, NetMargin, OpMargin - WC_TA, WC_Sales, Altman_X1_WCTA - Altman_X3_EBITTA, EBIT_TA - EPS_proxy

Bisa negatif tapi hati-hati :
- NetDebt_EBITDA

Sangat jarang dan perlu cek definisi :
- GrossMargin - Equity_TA, Debt_Equity - PB

Sebaran Null

features_with_null = [
    col for col in df_fitur.columns[df_fitur.isnull().any()]
    if col not in ['ticker', 'Year', 'Entity Name']
    and not col.startswith(('target', 'tahun'))
]
features_with_null
['Parent Percent Owned (%)',
 'Percent Owned - All Institutions (%)',
 'Percent Owned - Insiders (%)',
 'CR',
 'QR',
 'Age_When_IPO',
 'WC_Sales',
 'Inventory_CA',
 'Prepaid_CA',
 'Debt_TA',
 'Debt_Equity',
 'NetDebt_EBITDA',
 'PPE_TA',
 'Intang_TA',
 'Altman_X3_EBIT_TA',
 'Altman_X4_MVE_TL',
 'Altman_X5_SalesTA_AssetTurnover',
 'EBITDA_TA',
 'GrossMargin',
 'OpMargin',
 'NetMargin',
 'CFO_TA',
 'CFO_TL',
 'CFO_Sales',
 'NetCash_TA',
 'EPS_proxy',
 'Sales_per_share',
 'CFO_per_share',
 'log_Sales',
 'log_MktCap',
 'PB',
 'Sales_growth',
 'NI_growth',
 'TA_growth',
 'Equity_growth',
 'CFO_growth']

Jumlah Per Kolom dan Per Baris

for distress in ['distress_ppk', 'distress_neg_equity', 'distress_consecutive_loss']:
    print(f"\n=== {distress} ===")

    null_summary_fitur_df = pd.DataFrame({
        'Null Count': df_fitur[df_fitur['target_' + distress].notna()][features_with_null].isnull().sum(),
        'Null Pctg': (df_fitur[df_fitur['target_' + distress].notna()][features_with_null].isnull().sum() / len(df_fitur[df_fitur['target_' + distress].notna()])) * 100
    }).sort_values(by='Null Count', ascending=False)

    null_summary_fitur_df['Null Pctg'] = null_summary_fitur_df['Null Pctg'].map('{:.2f}%'.format)

    print("Summary Null Values :")
    print(null_summary_fitur_df.to_string())

=== distress_ppk ===
Summary Null Values :
                                      Null Count Null Pctg
Intang_TA                                   1579    61.13%
Percent Owned - All Institutions (%)        1280    49.55%
Parent Percent Owned (%)                    1137    44.02%
Percent Owned - Insiders (%)                 697    26.98%
Prepaid_CA                                   447    17.31%
Inventory_CA                                 357    13.82%
NetDebt_EBITDA                               300    11.61%
EBITDA_TA                                    291    11.27%
Altman_X3_EBIT_TA                            288    11.15%
Sales_growth                                 213     8.25%
CR                                           207     8.01%
QR                                           205     7.94%
TA_growth                                    202     7.82%
Equity_growth                                202     7.82%
NI_growth                                    202     7.82%
CFO_growth                                   202     7.82%
GrossMargin                                   52     2.01%
Age_When_IPO                                  11     0.43%
Debt_Equity                                    9     0.35%
Debt_TA                                        9     0.35%
PPE_TA                                         6     0.23%
OpMargin                                       5     0.19%
Altman_X5_SalesTA_AssetTurnover                5     0.19%
WC_Sales                                       5     0.19%
log_Sales                                      5     0.19%
NetMargin                                      5     0.19%
Sales_per_share                                5     0.19%
CFO_Sales                                      5     0.19%
Altman_X4_MVE_TL                               2     0.08%
PB                                             2     0.08%
log_MktCap                                     2     0.08%
CFO_per_share                                  0     0.00%
CFO_TA                                         0     0.00%
EPS_proxy                                      0     0.00%
NetCash_TA                                     0     0.00%
CFO_TL                                         0     0.00%

=== distress_neg_equity ===
Summary Null Values :
                                      Null Count Null Pctg
Intang_TA                                   5348    83.52%
Percent Owned - All Institutions (%)        2773    43.31%
Parent Percent Owned (%)                    2638    41.20%
Percent Owned - Insiders (%)                1947    30.41%
Prepaid_CA                                  1109    17.32%
Inventory_CA                                 941    14.70%
NetDebt_EBITDA                               923    14.42%
EBITDA_TA                                    903    14.10%
Altman_X3_EBIT_TA                            896    13.99%
Sales_growth                                 720    11.24%
CFO_growth                                   704    10.99%
NI_growth                                    700    10.93%
Equity_growth                                700    10.93%
TA_growth                                    700    10.93%
CR                                           567     8.86%
QR                                           565     8.82%
GrossMargin                                  152     2.37%
Altman_X4_MVE_TL                              21     0.33%
Debt_Equity                                   21     0.33%
Debt_TA                                       21     0.33%
PB                                            21     0.33%
log_MktCap                                    21     0.33%
Age_When_IPO                                  15     0.23%
CFO_Sales                                     15     0.23%
Sales_per_share                               14     0.22%
PPE_TA                                        14     0.22%
WC_Sales                                      13     0.20%
Altman_X5_SalesTA_AssetTurnover               13     0.20%
OpMargin                                      13     0.20%
NetMargin                                     13     0.20%
log_Sales                                     13     0.20%
CFO_per_share                                  3     0.05%
CFO_TA                                         2     0.03%
NetCash_TA                                     2     0.03%
CFO_TL                                         2     0.03%
EPS_proxy                                      1     0.02%

=== distress_consecutive_loss ===
Summary Null Values :
                                      Null Count Null Pctg
Intang_TA                                   4367    84.63%
Percent Owned - All Institutions (%)        2082    40.35%
Parent Percent Owned (%)                    1980    38.37%
Percent Owned - Insiders (%)                1540    29.84%
Prepaid_CA                                   809    15.68%
NetDebt_EBITDA                               798    15.47%
EBITDA_TA                                    785    15.21%
Altman_X3_EBIT_TA                            785    15.21%
Inventory_CA                                 778    15.08%
Sales_growth                                 722    13.99%
CFO_growth                                   714    13.84%
NI_growth                                    712    13.80%
Equity_growth                                712    13.80%
TA_growth                                    712    13.80%
CR                                           520    10.08%
QR                                           518    10.04%
GrossMargin                                  110     2.13%
Altman_X4_MVE_TL                              17     0.33%
log_MktCap                                    17     0.33%
PB                                            17     0.33%
Age_When_IPO                                  15     0.29%
Debt_TA                                       14     0.27%
Debt_Equity                                   14     0.27%
CFO_Sales                                     10     0.19%
Sales_per_share                               10     0.19%
OpMargin                                       9     0.17%
Altman_X5_SalesTA_AssetTurnover                9     0.17%
WC_Sales                                       9     0.17%
log_Sales                                      9     0.17%
NetMargin                                      9     0.17%
PPE_TA                                         6     0.12%
CFO_per_share                                  2     0.04%
NetCash_TA                                     1     0.02%
EPS_proxy                                      1     0.02%
CFO_TA                                         1     0.02%
CFO_TL                                         1     0.02%
null_summary_fitur_df = pd.DataFrame({
    'Null Count': df_fitur[features_with_null].isnull().sum(),
    'Null Pctg': (df_fitur[features_with_null].isnull().sum() / len(df_fitur)) * 100
}).sort_values(by='Null Count', ascending=False)

null_summary_fitur_df['Null Pctg'] = null_summary_fitur_df['Null Pctg'].map('{:.2f}%'.format)

print("Summary Null Values di df_fitur:")
print(null_summary_fitur_df.to_string())
Summary Null Values di df_fitur:
                                      Null Count Null Pctg
Intang_TA                                   6726    79.23%
Percent Owned - All Institutions (%)        3947    46.50%
Parent Percent Owned (%)                    3641    42.89%
Percent Owned - Insiders (%)                2551    30.05%
Prepaid_CA                                  1462    17.22%
Inventory_CA                                1206    14.21%
NetDebt_EBITDA                              1126    13.26%
EBITDA_TA                                   1106    13.03%
Altman_X3_EBIT_TA                           1099    12.95%
Sales_growth                                 902    10.63%
CFO_growth                                   857    10.10%
NI_growth                                    853    10.05%
Equity_growth                                853    10.05%
TA_growth                                    853    10.05%
CR                                           706     8.32%
QR                                           704     8.29%
GrossMargin                                  198     2.33%
CFO_Sales                                     33     0.39%
Sales_per_share                               32     0.38%
Altman_X5_SalesTA_AssetTurnover               31     0.37%
log_Sales                                     31     0.37%
WC_Sales                                      31     0.37%
OpMargin                                      31     0.37%
NetMargin                                     31     0.37%
Altman_X4_MVE_TL                              25     0.29%
PB                                            25     0.29%
log_MktCap                                    25     0.29%
Debt_Equity                                   21     0.25%
Debt_TA                                       21     0.25%
Age_When_IPO                                  21     0.25%
PPE_TA                                        19     0.22%
CFO_per_share                                  3     0.04%
CFO_TA                                         2     0.02%
NetCash_TA                                     2     0.02%
CFO_TL                                         2     0.02%
EPS_proxy                                      1     0.01%

Jumlah Baris tiap Kombinasi Jumlah Null

null_counts_per_row_fitur = df_fitur.isnull().sum(axis=1)
null_counts_grouped_fitur = null_counts_per_row_fitur.value_counts().sort_index(ascending=False)

print("Jumlah baris berdasarkan jumlah nilai null (df_fitur, diurutkan dari yang terbanyak):")
print(null_counts_grouped_fitur.to_string())
Jumlah baris berdasarkan jumlah nilai null (df_fitur, diurutkan dari yang terbanyak):
23       1
21       1
20       1
19       5
18       4
17      22
16      28
15      37
14      62
13     115
12     264
11     433
10     586
9      391
8      541
7      960
6     1778
5     1819
4      973
3      391
2       68
1        9

Proporsi Industri pada Null tiap Kolom

# Pastikan variabel df_fitur dan list features_with_null telah didefinisikan sebelumnya
total_baris_df = len(df_fitur)
n_features = len(features_with_null)

if n_features == 0:
    print("Tidak ada fitur yang memiliki nilai null untuk divisualisasikan.")
else:
    cols = 4
    rows = math.ceil(n_features / cols)

    fig, axes = plt.subplots(rows, cols, figsize=(6 * cols, 4.5 * rows))
    axes = axes.flatten()

    # --- 1. PEMETAAN WARNA KONSISTEN ---
    # Mengambil semua kategori unik Industry Group yang ada di df_fitur
    semua_industri = df_fitur['Industry Group'].dropna().unique()

    # Membuat dictionary warna menggunakan palet 'tab20' (mendukung hingga 20 warna berbeda)
    cmap = plt.get_cmap('tab20')
    color_mapping = {}
    for idx, industri in enumerate(semua_industri):
        color_mapping[industri] = cmap(idx % cmap.N)

    # Menetapkan warna abu-abu terang secara absolut untuk kategori 'Other'
    color_mapping['Other'] = '#D3D3D3'

    for i, feature in enumerate(features_with_null):
        ax = axes[i]

        df_null = df_fitur[df_fitur[feature].isnull()]
        total_null = len(df_null)
        pct_dari_total = (total_null / total_baris_df) * 100

        jumlah_sebaran = df_null['Industry Group'].value_counts()
        persentase_sebaran = (jumlah_sebaran / total_null) * 100

        mask_utama = persentase_sebaran >= 10
        mask_other = persentase_sebaran < 10

        final_counts = jumlah_sebaran[mask_utama].copy()

        other_count = jumlah_sebaran[mask_other].sum()
        if other_count > 0:
            final_counts['Other'] = other_count

        custom_labels = []
        custom_colors = []

        for idx, val in final_counts.items():
            pct = (val / total_null) * 100

            # Memotong teks yang panjang
            nama_grup_wrapped = textwrap.fill(str(idx), width=15)
            custom_labels.append(f"{nama_grup_wrapped}\n{val} ({pct:.1f}%)")

            # Memanggil warna dari dictionary menggunakan nama industri yang asli
            custom_colors.append(color_mapping[idx])

        # Memasukkan custom_colors ke dalam parameter colors
        ax.pie(final_counts, labels=custom_labels, colors=custom_colors, startangle=90,
               wedgeprops={'edgecolor': 'white', 'linewidth': 1},
               textprops={'fontsize': 9})

        ax.set_title(f"{feature}\nTotal Null: {total_null} ({pct_dari_total:.2f}% dari total)",
                     fontsize=11, fontweight='bold')

        # --- 2. GARIS PEMBATAS HITAM TIPIS ---
        # Memaksa frame kotak untuk tampil di sekitar pie chart
        ax.set_frame_on(True)
        # Menghapus penanda angka (ticks) agar kotak tetap bersih
        ax.set_xticks([])
        ax.set_yticks([])
        # Mengatur warna dan ketebalan garis tepi kotak menjadi hitam tipis
        for spine in ax.spines.values():
            spine.set_edgecolor('black')
            spine.set_linewidth(0.5)
            spine.set_visible(True)

    # Menghapus subplot yang tidak terpakai
    for j in range(i + 1, len(axes)):
        fig.delaxes(axes[j])

    # Merapatkan jarak antar plot
    plt.tight_layout(h_pad=0.5, w_pad=1.0)
    plt.show()

for feature in features_with_null:
    # Mengambil subset data di mana kolom fitur tersebut bernilai null
    df_null = df_fitur[df_fitur[feature].isnull()]

    # Menghitung total baris yang null pada fitur tersebut
    total_null = len(df_null)

    print(f"=== Fitur: {feature} ===")
    print(f"Total Baris Null : {total_null}")

    if total_null > 0:
        # Menghitung jumlah null di tiap Industry Group
        jumlah_sebaran = df_null['Industry Group'].value_counts()

        # Menghitung persentase sebaran null di tiap Industry Group
        persentase_sebaran = df_null['Industry Group'].value_counts(normalize=True) * 100

        # Menggabungkan hasil ke dalam satu DataFrame agar tampilannya rapi
        df_sebaran = pd.DataFrame({
            'Jumlah Null': jumlah_sebaran,
            'Persentase (%)': persentase_sebaran
        })

        # Membulatkan persentase menjadi 2 angka di belakang koma
        df_sebaran['Persentase (%)'] = df_sebaran['Persentase (%)'].round(2)

        print(df_sebaran)
    else:
        print("Tidak ada nilai null pada fitur ini.")

    print("\n" + "="*40 + "\n")
=== Fitur: Parent Percent Owned (%) ===
Total Baris Null : 3641
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Real Estate Management and Development                    531       14.580000
Materials                                                 449       12.330000
Capital Goods                                             399       10.960000
Food, Beverage and Tobacco                                378       10.380000
Energy                                                    331        9.090000
Transportation                                            255        7.000000
Consumer Services                                         191        5.250000
Financial Services                                        182        5.000000
Consumer Discretionary Distribution and Retail            139        3.820000
Consumer Durables and Apparel                             133        3.650000
Media and Entertainment                                    92        2.530000
Technology Hardware and Equipment                          82        2.250000
Commercial and Professional Services                       74        2.030000
Banks                                                      70        1.920000
Telecommunication Services                                 65        1.790000
Software and Services                                      59        1.620000
Insurance                                                  51        1.400000
Consumer Staples Distribution and Retail                   39        1.070000
Utilities                                                  32        0.880000
Health Care Equipment and Services                         28        0.770000
Automobiles and Components                                 22        0.600000
Pharmaceuticals, Biotechnology and Life Sciences           21        0.580000
Household and Personal Products                            18        0.490000

========================================

=== Fitur: Percent Owned - All Institutions (%) ===
Total Baris Null : 3947
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Materials                                                 467       11.830000
Real Estate Management and Development                    456       11.550000
Capital Goods                                             437       11.070000
Food, Beverage and Tobacco                                295        7.470000
Transportation                                            266        6.740000
Consumer Durables and Apparel                             251        6.360000
Consumer Services                                         219        5.550000
Energy                                                    201        5.090000
Banks                                                     198        5.020000
Financial Services                                        167        4.230000
Insurance                                                 134        3.390000
Telecommunication Services                                112        2.840000
Media and Entertainment                                   110        2.790000
Consumer Discretionary Distribution and Retail            108        2.740000
Consumer Staples Distribution and Retail                   96        2.430000
Commercial and Professional Services                       68        1.720000
Health Care Equipment and Services                         68        1.720000
Technology Hardware and Equipment                          62        1.570000
Pharmaceuticals, Biotechnology and Life Sciences           61        1.550000
Automobiles and Components                                 60        1.520000
Household and Personal Products                            55        1.390000
Software and Services                                      37        0.940000
Utilities                                                  19        0.480000

========================================

=== Fitur: Percent Owned - Insiders (%) ===
Total Baris Null : 2551
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Capital Goods                                             320       12.540000
Real Estate Management and Development                    267       10.470000
Food, Beverage and Tobacco                                262       10.270000
Financial Services                                        210        8.230000
Banks                                                     189        7.410000
Materials                                                 170        6.660000
Energy                                                    161        6.310000
Consumer Durables and Apparel                             126        4.940000
Consumer Services                                         126        4.940000
Transportation                                            103        4.040000
Insurance                                                  95        3.720000
Pharmaceuticals, Biotechnology and Life Sciences           85        3.330000
Consumer Discretionary Distribution and Retail             80        3.140000
Commercial and Professional Services                       72        2.820000
Telecommunication Services                                 52        2.040000
Consumer Staples Distribution and Retail                   51        2.000000
Automobiles and Components                                 41        1.610000
Health Care Equipment and Services                         41        1.610000
Software and Services                                      41        1.610000
Media and Entertainment                                    33        1.290000
Household and Personal Products                            19        0.740000
Technology Hardware and Equipment                           7        0.270000

========================================

=== Fitur: CR ===
Total Baris Null : 706
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Banks                                           635       89.940000
Insurance                                        34        4.820000
Financial Services                               30        4.250000
Real Estate Management and Development            3        0.420000
Transportation                                    2        0.280000
Capital Goods                                     2        0.280000

========================================

=== Fitur: QR ===
Total Baris Null : 704
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Banks                                           635       90.200000
Insurance                                        34        4.830000
Financial Services                               30        4.260000
Transportation                                    2        0.280000
Capital Goods                                     2        0.280000
Real Estate Management and Development            1        0.140000

========================================

=== Fitur: Age_When_IPO ===
Total Baris Null : 21
                    Jumlah Null  Persentase (%)
Industry Group                                 
Financial Services           15       71.430000
Banks                         6       28.570000

========================================

=== Fitur: WC_Sales ===
Total Baris Null : 31
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Energy                                            6       19.350000
Materials                                         6       19.350000
Transportation                                    5       16.130000
Utilities                                         3        9.680000
Real Estate Management and Development            3        9.680000
Capital Goods                                     2        6.450000
Consumer Services                                 2        6.450000
Commercial and Professional Services              2        6.450000
Telecommunication Services                        1        3.230000
Financial Services                                1        3.230000

========================================

=== Fitur: Inventory_CA ===
Total Baris Null : 1206
                                                Jumlah Null  Persentase (%)
Industry Group                                                             
Financial Services                                      381       31.590000
Insurance                                               253       20.980000
Transportation                                          112        9.290000
Banks                                                    80        6.630000
Telecommunication Services                               74        6.140000
Real Estate Management and Development                   63        5.220000
Capital Goods                                            63        5.220000
Energy                                                   49        4.060000
Consumer Services                                        36        2.990000
Media and Entertainment                                  22        1.820000
Software and Services                                    21        1.740000
Commercial and Professional Services                     16        1.330000
Utilities                                                16        1.330000
Materials                                                11        0.910000
Food, Beverage and Tobacco                                5        0.410000
Household and Personal Products                           2        0.170000
Consumer Discretionary Distribution and Retail            2        0.170000

========================================

=== Fitur: Prepaid_CA ===
Total Baris Null : 1462
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Financial Services                                        391       26.740000
Real Estate Management and Development                    277       18.950000
Energy                                                    129        8.820000
Capital Goods                                             114        7.800000
Materials                                                  95        6.500000
Food, Beverage and Tobacco                                 73        4.990000
Transportation                                             73        4.990000
Consumer Services                                          50        3.420000
Commercial and Professional Services                       33        2.260000
Software and Services                                      28        1.920000
Consumer Discretionary Distribution and Retail             25        1.710000
Insurance                                                  21        1.440000
Automobiles and Components                                 20        1.370000
Telecommunication Services                                 20        1.370000
Banks                                                      20        1.370000
Consumer Durables and Apparel                              19        1.300000
Consumer Staples Distribution and Retail                   18        1.230000
Technology Hardware and Equipment                          17        1.160000
Utilities                                                  15        1.030000
Media and Entertainment                                    14        0.960000
Pharmaceuticals, Biotechnology and Life Sciences            8        0.550000
Household and Personal Products                             1        0.070000
Health Care Equipment and Services                          1        0.070000

========================================

=== Fitur: Debt_TA ===
Total Baris Null : 21
                                 Jumlah Null  Persentase (%)
Industry Group                                              
Materials                                  9       42.860000
Telecommunication Services                 7       33.330000
Household and Personal Products            5       23.810000

========================================

=== Fitur: Debt_Equity ===
Total Baris Null : 21
                                 Jumlah Null  Persentase (%)
Industry Group                                              
Materials                                  9       42.860000
Telecommunication Services                 7       33.330000
Household and Personal Products            5       23.810000

========================================

=== Fitur: NetDebt_EBITDA ===
Total Baris Null : 1126
                                 Jumlah Null  Persentase (%)
Industry Group                                              
Banks                                    635       56.390000
Financial Services                       375       33.300000
Insurance                                 34        3.020000
Energy                                    18        1.600000
Software and Services                     17        1.510000
Capital Goods                             15        1.330000
Consumer Services                         10        0.890000
Materials                                  9        0.800000
Telecommunication Services                 7        0.620000
Household and Personal Products            5        0.440000
Transportation                             1        0.090000

========================================

=== Fitur: PPE_TA ===
Total Baris Null : 19
                            Jumlah Null  Persentase (%)
Industry Group                                         
Financial Services                    9       47.370000
Capital Goods                         3       15.790000
Transportation                        3       15.790000
Energy                                3       15.790000
Telecommunication Services            1        5.260000

========================================

=== Fitur: Intang_TA ===
Total Baris Null : 6726
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Materials                                                 849       12.620000
Real Estate Management and Development                    752       11.180000
Food, Beverage and Tobacco                                660        9.810000
Capital Goods                                             645        9.590000
Energy                                                    594        8.830000
Transportation                                            470        6.990000
Banks                                                     417        6.200000
Financial Services                                        329        4.890000
Consumer Services                                         315        4.680000
Consumer Durables and Apparel                             261        3.880000
Consumer Discretionary Distribution and Retail            227        3.370000
Insurance                                                 206        3.060000
Media and Entertainment                                   155        2.300000
Telecommunication Services                                137        2.040000
Consumer Staples Distribution and Retail                  115        1.710000
Commercial and Professional Services                      100        1.490000
Automobiles and Components                                 99        1.470000
Health Care Equipment and Services                         92        1.370000
Household and Personal Products                            83        1.230000
Pharmaceuticals, Biotechnology and Life Sciences           77        1.140000
Technology Hardware and Equipment                          70        1.040000
Utilities                                                  54        0.800000
Software and Services                                      19        0.280000

========================================

=== Fitur: Altman_X3_EBIT_TA ===
Total Baris Null : 1099
                            Jumlah Null  Persentase (%)
Industry Group                                         
Banks                               635       57.780000
Financial Services                  375       34.120000
Insurance                            34        3.090000
Software and Services                17        1.550000
Energy                               17        1.550000
Capital Goods                        10        0.910000
Consumer Services                    10        0.910000
Telecommunication Services            1        0.090000

========================================

=== Fitur: Altman_X4_MVE_TL ===
Total Baris Null : 25
                            Jumlah Null  Persentase (%)
Industry Group                                         
Banks                                 6       24.000000
Consumer Services                     6       24.000000
Materials                             4       16.000000
Energy                                3       12.000000
Food, Beverage and Tobacco            2        8.000000
Transportation                        2        8.000000
Financial Services                    1        4.000000
Capital Goods                         1        4.000000

========================================

=== Fitur: Altman_X5_SalesTA_AssetTurnover ===
Total Baris Null : 31
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Energy                                            6       19.350000
Materials                                         6       19.350000
Transportation                                    5       16.130000
Utilities                                         3        9.680000
Real Estate Management and Development            3        9.680000
Capital Goods                                     2        6.450000
Consumer Services                                 2        6.450000
Commercial and Professional Services              2        6.450000
Telecommunication Services                        1        3.230000
Financial Services                                1        3.230000

========================================

=== Fitur: EBITDA_TA ===
Total Baris Null : 1106
                            Jumlah Null  Persentase (%)
Industry Group                                         
Banks                               635       57.410000
Financial Services                  375       33.910000
Insurance                            34        3.070000
Energy                               18        1.630000
Software and Services                17        1.540000
Capital Goods                        15        1.360000
Consumer Services                    10        0.900000
Telecommunication Services            1        0.090000
Transportation                        1        0.090000

========================================

=== Fitur: GrossMargin ===
Total Baris Null : 198
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Banks                                            87       43.940000
Financial Services                               43       21.720000
Materials                                        14        7.070000
Commercial and Professional Services             13        6.570000
Energy                                           12        6.060000
Capital Goods                                    11        5.560000
Transportation                                    5        2.530000
Consumer Services                                 3        1.520000
Real Estate Management and Development            3        1.520000
Utilities                                         3        1.520000
Software and Services                             1        0.510000
Telecommunication Services                        1        0.510000
Food, Beverage and Tobacco                        1        0.510000
Insurance                                         1        0.510000

========================================

=== Fitur: OpMargin ===
Total Baris Null : 31
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Energy                                            6       19.350000
Materials                                         6       19.350000
Transportation                                    5       16.130000
Utilities                                         3        9.680000
Real Estate Management and Development            3        9.680000
Capital Goods                                     2        6.450000
Consumer Services                                 2        6.450000
Commercial and Professional Services              2        6.450000
Telecommunication Services                        1        3.230000
Financial Services                                1        3.230000

========================================

=== Fitur: NetMargin ===
Total Baris Null : 31
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Energy                                            6       19.350000
Materials                                         6       19.350000
Transportation                                    5       16.130000
Utilities                                         3        9.680000
Real Estate Management and Development            3        9.680000
Capital Goods                                     2        6.450000
Consumer Services                                 2        6.450000
Commercial and Professional Services              2        6.450000
Telecommunication Services                        1        3.230000
Financial Services                                1        3.230000

========================================

=== Fitur: CFO_TA ===
Total Baris Null : 2
                Jumlah Null  Persentase (%)
Industry Group                             
Energy                    2      100.000000

========================================

=== Fitur: CFO_TL ===
Total Baris Null : 2
                Jumlah Null  Persentase (%)
Industry Group                             
Energy                    2      100.000000

========================================

=== Fitur: CFO_Sales ===
Total Baris Null : 33
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Energy                                            8       24.240000
Materials                                         6       18.180000
Transportation                                    5       15.150000
Utilities                                         3        9.090000
Real Estate Management and Development            3        9.090000
Capital Goods                                     2        6.060000
Consumer Services                                 2        6.060000
Commercial and Professional Services              2        6.060000
Telecommunication Services                        1        3.030000
Financial Services                                1        3.030000

========================================

=== Fitur: NetCash_TA ===
Total Baris Null : 2
                Jumlah Null  Persentase (%)
Industry Group                             
Energy                    2      100.000000

========================================

=== Fitur: EPS_proxy ===
Total Baris Null : 1
                Jumlah Null  Persentase (%)
Industry Group                             
Banks                     1      100.000000

========================================

=== Fitur: Sales_per_share ===
Total Baris Null : 32
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Materials                                         6       18.750000
Energy                                            6       18.750000
Transportation                                    5       15.620000
Real Estate Management and Development            3        9.380000
Utilities                                         3        9.380000
Consumer Services                                 2        6.250000
Capital Goods                                     2        6.250000
Commercial and Professional Services              2        6.250000
Financial Services                                1        3.120000
Telecommunication Services                        1        3.120000
Banks                                             1        3.120000

========================================

=== Fitur: CFO_per_share ===
Total Baris Null : 3
                Jumlah Null  Persentase (%)
Industry Group                             
Energy                    2       66.670000
Banks                     1       33.330000

========================================

=== Fitur: log_Sales ===
Total Baris Null : 31
                                        Jumlah Null  Persentase (%)
Industry Group                                                     
Energy                                            6       19.350000
Materials                                         6       19.350000
Transportation                                    5       16.130000
Utilities                                         3        9.680000
Real Estate Management and Development            3        9.680000
Capital Goods                                     2        6.450000
Consumer Services                                 2        6.450000
Commercial and Professional Services              2        6.450000
Telecommunication Services                        1        3.230000
Financial Services                                1        3.230000

========================================

=== Fitur: log_MktCap ===
Total Baris Null : 25
                            Jumlah Null  Persentase (%)
Industry Group                                         
Banks                                 6       24.000000
Consumer Services                     6       24.000000
Materials                             4       16.000000
Energy                                3       12.000000
Food, Beverage and Tobacco            2        8.000000
Transportation                        2        8.000000
Financial Services                    1        4.000000
Capital Goods                         1        4.000000

========================================

=== Fitur: PB ===
Total Baris Null : 25
                            Jumlah Null  Persentase (%)
Industry Group                                         
Banks                                 6       24.000000
Consumer Services                     6       24.000000
Materials                             4       16.000000
Energy                                3       12.000000
Food, Beverage and Tobacco            2        8.000000
Transportation                        2        8.000000
Financial Services                    1        4.000000
Capital Goods                         1        4.000000

========================================

=== Fitur: Sales_growth ===
Total Baris Null : 902
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Materials                                                 100       11.090000
Real Estate Management and Development                     93       10.310000
Food, Beverage and Tobacco                                 92       10.200000
Capital Goods                                              88        9.760000
Transportation                                             68        7.540000
Energy                                                     65        7.210000
Banks                                                      48        5.320000
Consumer Services                                          42        4.660000
Consumer Discretionary Distribution and Retail             37        4.100000
Financial Services                                         34        3.770000
Media and Entertainment                                    30        3.330000
Consumer Durables and Apparel                              27        2.990000
Health Care Equipment and Services                         24        2.660000
Insurance                                                  21        2.330000
Telecommunication Services                                 20        2.220000
Software and Services                                      19        2.110000
Commercial and Professional Services                       18        2.000000
Technology Hardware and Equipment                          16        1.770000
Consumer Staples Distribution and Retail                   15        1.660000
Utilities                                                  13        1.440000
Household and Personal Products                            12        1.330000
Automobiles and Components                                 11        1.220000
Pharmaceuticals, Biotechnology and Life Sciences            9        1.000000

========================================

=== Fitur: NI_growth ===
Total Baris Null : 853
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Food, Beverage and Tobacco                                 92       10.790000
Materials                                                  92       10.790000
Real Estate Management and Development                     88       10.320000
Capital Goods                                              85        9.960000
Transportation                                             59        6.920000
Energy                                                     56        6.570000
Banks                                                      48        5.630000
Consumer Services                                          38        4.450000
Consumer Discretionary Distribution and Retail             37        4.340000
Financial Services                                         32        3.750000
Media and Entertainment                                    30        3.520000
Consumer Durables and Apparel                              27        3.170000
Health Care Equipment and Services                         24        2.810000
Insurance                                                  21        2.460000
Software and Services                                      19        2.230000
Telecommunication Services                                 18        2.110000
Technology Hardware and Equipment                          16        1.880000
Commercial and Professional Services                       15        1.760000
Consumer Staples Distribution and Retail                   15        1.760000
Household and Personal Products                            12        1.410000
Automobiles and Components                                 11        1.290000
Utilities                                                   9        1.060000
Pharmaceuticals, Biotechnology and Life Sciences            9        1.060000

========================================

=== Fitur: TA_growth ===
Total Baris Null : 853
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Food, Beverage and Tobacco                                 92       10.790000
Materials                                                  92       10.790000
Real Estate Management and Development                     88       10.320000
Capital Goods                                              85        9.960000
Transportation                                             59        6.920000
Energy                                                     56        6.570000
Banks                                                      48        5.630000
Consumer Services                                          38        4.450000
Consumer Discretionary Distribution and Retail             37        4.340000
Financial Services                                         32        3.750000
Media and Entertainment                                    30        3.520000
Consumer Durables and Apparel                              27        3.170000
Health Care Equipment and Services                         24        2.810000
Insurance                                                  21        2.460000
Software and Services                                      19        2.230000
Telecommunication Services                                 18        2.110000
Technology Hardware and Equipment                          16        1.880000
Commercial and Professional Services                       15        1.760000
Consumer Staples Distribution and Retail                   15        1.760000
Household and Personal Products                            12        1.410000
Automobiles and Components                                 11        1.290000
Utilities                                                   9        1.060000
Pharmaceuticals, Biotechnology and Life Sciences            9        1.060000

========================================

=== Fitur: Equity_growth ===
Total Baris Null : 853
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Food, Beverage and Tobacco                                 92       10.790000
Materials                                                  92       10.790000
Real Estate Management and Development                     88       10.320000
Capital Goods                                              85        9.960000
Transportation                                             59        6.920000
Energy                                                     56        6.570000
Banks                                                      48        5.630000
Consumer Services                                          38        4.450000
Consumer Discretionary Distribution and Retail             37        4.340000
Financial Services                                         32        3.750000
Media and Entertainment                                    30        3.520000
Consumer Durables and Apparel                              27        3.170000
Health Care Equipment and Services                         24        2.810000
Insurance                                                  21        2.460000
Software and Services                                      19        2.230000
Telecommunication Services                                 18        2.110000
Technology Hardware and Equipment                          16        1.880000
Commercial and Professional Services                       15        1.760000
Consumer Staples Distribution and Retail                   15        1.760000
Household and Personal Products                            12        1.410000
Automobiles and Components                                 11        1.290000
Utilities                                                   9        1.060000
Pharmaceuticals, Biotechnology and Life Sciences            9        1.060000

========================================

=== Fitur: CFO_growth ===
Total Baris Null : 857
                                                  Jumlah Null  Persentase (%)
Industry Group                                                               
Food, Beverage and Tobacco                                 92       10.740000
Materials                                                  92       10.740000
Real Estate Management and Development                     88       10.270000
Capital Goods                                              85        9.920000
Energy                                                     60        7.000000
Transportation                                             59        6.880000
Banks                                                      48        5.600000
Consumer Services                                          38        4.430000
Consumer Discretionary Distribution and Retail             37        4.320000
Financial Services                                         32        3.730000
Media and Entertainment                                    30        3.500000
Consumer Durables and Apparel                              27        3.150000
Health Care Equipment and Services                         24        2.800000
Insurance                                                  21        2.450000
Software and Services                                      19        2.220000
Telecommunication Services                                 18        2.100000
Technology Hardware and Equipment                          16        1.870000
Commercial and Professional Services                       15        1.750000
Consumer Staples Distribution and Retail                   15        1.750000
Household and Personal Products                            12        1.400000
Automobiles and Components                                 11        1.280000
Utilities                                                   9        1.050000
Pharmaceuticals, Biotechnology and Life Sciences            9        1.050000

========================================

Sebaran Null tiap Tahun Data

total_baris_df = len(df_fitur)
n_features = len(features_with_null)

# Mendefinisikan rentang tahun unik secara eksplisit (2008 hingga 2024)
all_years = list(range(2008, 2025))

if n_features == 0:
    print("Tidak ada fitur yang memiliki nilai null untuk divisualisasikan.")
else:
    cols = 4
    rows = math.ceil(n_features / cols)

    fig, axes = plt.subplots(rows, cols, figsize=(7 * cols, 6 * rows))
    axes = axes.flatten()

    for i, feature in enumerate(features_with_null):
        ax = axes[i]

        df_null = df_fitur[df_fitur[feature].isnull()]
        total_null = len(df_null)
        pct_dari_total = (total_null / total_baris_df) * 100

        # Menghitung jumlah null dan melakukan reindex agar mencakup semua tahun 2008-2024
        jumlah_sebaran = df_null['Year'].value_counts().reindex(all_years, fill_value=0)

        # Menghitung persentase terhadap total null pada fitur tersebut
        # Jika total_null == 0, diabaikan karena fitur tersebut tidak akan masuk ke list
        persentase_sebaran = (jumlah_sebaran / total_null) * 100

        years = jumlah_sebaran.index.astype(str)
        counts = jumlah_sebaran.values
        pcts = persentase_sebaran.values

        bars = ax.bar(years, counts, color='steelblue')

        # Menambahkan teks anotasi secara vertikal di atas setiap batang
        for bar, count, pct in zip(bars, counts, pcts):
            # Teks anotasi hanya ditambahkan jika jumlah null > 0 agar grafik tetap bersih
            if count > 0:
                height = bar.get_height()
                ax.annotate(f'{int(count)} ({pct:.1f}%)',
                            xy=(bar.get_x() + bar.get_width() / 2, height),
                            xytext=(0, 5),
                            textcoords="offset points",
                            ha='center', va='bottom',
                            fontsize=9, rotation=90)

        ax.set_title(f"{feature}\nTotal Null: {total_null} ({pct_dari_total:.2f}% dari total)",
                     fontsize=11, fontweight='bold')
        ax.set_xlabel('Tahun', fontsize=10)
        ax.set_ylabel('Jumlah Null', fontsize=10)

        ax.set_xticks(range(len(years)))
        ax.set_xticklabels(years, rotation=90)

        if max(counts) > 0:
            ax.set_ylim(0, max(counts) * 1.6)

    # Menghapus subplot (axes) yang tidak terpakai
    for j in range(i + 1, len(axes)):
        fig.delaxes(axes[j])

    plt.tight_layout()
    plt.show()

for feature in features_with_null:
    # Mengambil subset data di mana kolom fitur tersebut bernilai null
    df_null = df_fitur[df_fitur[feature].isnull()]

    # Menghitung total baris yang null pada fitur tersebut
    total_null = len(df_null)

    print(f"=== Fitur: {feature} ===")
    print(f"Total Baris Null : {total_null}")

    if total_null > 0:
        # Menghitung jumlah null di tiap Year
        jumlah_sebaran = df_null['Year'].value_counts()

        # Menghitung persentase sebaran null di tiap Year
        persentase_sebaran = df_null['Year'].value_counts(normalize=True) * 100

        # Menggabungkan hasil ke dalam satu DataFrame agar tampilannya rapi
        df_sebaran = pd.DataFrame({
            'Jumlah Null': jumlah_sebaran,
            'Persentase (%)': persentase_sebaran
        })

        # Membulatkan persentase menjadi 2 angka di belakang koma
        df_sebaran['Persentase (%)'] = df_sebaran['Persentase (%)'].round(2)

        print(df_sebaran.sort_index(ascending=False))
    else:
        print("Tidak ada nilai null pada fitur ini.")

    print("\n" + "="*40 + "\n")
=== Fitur: Parent Percent Owned (%) ===
Total Baris Null : 3641
      Jumlah Null  Persentase (%)
Year                             
2024          403       11.070000
2023          359        9.860000
2022          330        9.060000
2021          292        8.020000
2020          261        7.170000
2019          234        6.430000
2018          211        5.800000
2017          196        5.380000
2016          186        5.110000
2015          176        4.830000
2014          167        4.590000
2013          160        4.390000
2012          149        4.090000
2011          139        3.820000
2010          131        3.600000
2009          126        3.460000
2008          121        3.320000

========================================

=== Fitur: Percent Owned - All Institutions (%) ===
Total Baris Null : 3947
      Jumlah Null  Persentase (%)
Year                             
2024          460       11.650000
2023          405       10.260000
2022          367        9.300000
2021          327        8.280000
2020          286        7.250000
2019          243        6.160000
2018          213        5.400000
2017          200        5.070000
2016          196        4.970000
2015          189        4.790000
2014          176        4.460000
2013          168        4.260000
2012          156        3.950000
2011          145        3.670000
2010          142        3.600000
2009          140        3.550000
2008          134        3.390000

========================================

=== Fitur: Percent Owned - Insiders (%) ===
Total Baris Null : 2551
      Jumlah Null  Persentase (%)
Year                             
2024          205        8.040000
2023          196        7.680000
2022          193        7.570000
2021          187        7.330000
2020          178        6.980000
2019          170        6.660000
2018          159        6.230000
2017          149        5.840000
2016          146        5.720000
2015          142        5.570000
2014          133        5.210000
2013          128        5.020000
2012          121        4.740000
2011          116        4.550000
2010          113        4.430000
2009          109        4.270000
2008          106        4.160000

========================================

=== Fitur: CR ===
Total Baris Null : 706
      Jumlah Null  Persentase (%)
Year                             
2024           55        7.790000
2023           54        7.650000
2022           57        8.070000
2021           55        7.790000
2020           50        7.080000
2019           47        6.660000
2018           45        6.370000
2017           44        6.230000
2016           44        6.230000
2015           42        5.950000
2014           37        5.240000
2013           32        4.530000
2012           31        4.390000
2011           32        4.530000
2010           28        3.970000
2009           27        3.820000
2008           26        3.680000

========================================

=== Fitur: QR ===
Total Baris Null : 704
      Jumlah Null  Persentase (%)
Year                             
2024           55        7.810000
2023           54        7.670000
2022           56        7.950000
2021           54        7.670000
2020           50        7.100000
2019           47        6.680000
2018           45        6.390000
2017           44        6.250000
2016           44        6.250000
2015           42        5.970000
2014           37        5.260000
2013           32        4.550000
2012           31        4.400000
2011           32        4.550000
2010           28        3.980000
2009           27        3.840000
2008           26        3.690000

========================================

=== Fitur: Age_When_IPO ===
Total Baris Null : 21
      Jumlah Null  Persentase (%)
Year                             
2024            3       14.290000
2023            3       14.290000
2022            3       14.290000
2021            3       14.290000
2020            2        9.520000
2019            2        9.520000
2018            1        4.760000
2017            1        4.760000
2016            1        4.760000
2015            1        4.760000
2014            1        4.760000

========================================

=== Fitur: WC_Sales ===
Total Baris Null : 31
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.230000
2023            1        3.230000
2022            2        6.450000
2021            1        3.230000
2020            2        6.450000
2019            2        6.450000
2018            2        6.450000
2017            2        6.450000
2016            4       12.900000
2015            2        6.450000
2014            1        3.230000
2013            1        3.230000
2012            1        3.230000
2011            2        6.450000
2010            4       12.900000
2009            2        6.450000
2008            1        3.230000

========================================

=== Fitur: Inventory_CA ===
Total Baris Null : 1206
      Jumlah Null  Persentase (%)
Year                             
2024          112        9.290000
2023          103        8.540000
2022          101        8.370000
2021           98        8.130000
2020           83        6.880000
2019           77        6.380000
2018           66        5.470000
2017           65        5.390000
2016           65        5.390000
2015           64        5.310000
2014           57        4.730000
2013           59        4.890000
2012           52        4.310000
2011           52        4.310000
2010           52        4.310000
2009           49        4.060000
2008           51        4.230000

========================================

=== Fitur: Prepaid_CA ===
Total Baris Null : 1462
      Jumlah Null  Persentase (%)
Year                             
2024          141        9.640000
2023          134        9.170000
2022          126        8.620000
2021          123        8.410000
2020          112        7.660000
2019           89        6.090000
2018           79        5.400000
2017           74        5.060000
2016           74        5.060000
2015           74        5.060000
2014           72        4.920000
2013           68        4.650000
2012           58        3.970000
2011           54        3.690000
2010           62        4.240000
2009           64        4.380000
2008           58        3.970000

========================================

=== Fitur: Debt_TA ===
Total Baris Null : 21
      Jumlah Null  Persentase (%)
Year                             
2022            3       14.290000
2021            3       14.290000
2020            3       14.290000
2019            2        9.520000
2018            1        4.760000
2017            1        4.760000
2016            1        4.760000
2015            1        4.760000
2014            2        9.520000
2013            2        9.520000
2009            1        4.760000
2008            1        4.760000

========================================

=== Fitur: Debt_Equity ===
Total Baris Null : 21
      Jumlah Null  Persentase (%)
Year                             
2022            3       14.290000
2021            3       14.290000
2020            3       14.290000
2019            2        9.520000
2018            1        4.760000
2017            1        4.760000
2016            1        4.760000
2015            1        4.760000
2014            2        9.520000
2013            2        9.520000
2009            1        4.760000
2008            1        4.760000

========================================

=== Fitur: NetDebt_EBITDA ===
Total Baris Null : 1126
      Jumlah Null  Persentase (%)
Year                             
2024           80        7.100000
2023           80        7.100000
2022           83        7.370000
2021           81        7.190000
2020           79        7.020000
2019           77        6.840000
2018           73        6.480000
2017           72        6.390000
2016           71        6.310000
2015           68        6.040000
2014           62        5.510000
2013           57        5.060000
2012           52        4.620000
2011           51        4.530000
2010           48        4.260000
2009           47        4.170000
2008           45        4.000000

========================================

=== Fitur: PPE_TA ===
Total Baris Null : 19
      Jumlah Null  Persentase (%)
Year                             
2024            3       15.790000
2023            1        5.260000
2022            1        5.260000
2021            2       10.530000
2020            2       10.530000
2019            1        5.260000
2018            1        5.260000
2017            2       10.530000
2016            2       10.530000
2015            1        5.260000
2014            1        5.260000
2011            1        5.260000
2010            1        5.260000

========================================

=== Fitur: Intang_TA ===
Total Baris Null : 6726
      Jumlah Null  Persentase (%)
Year                             
2024          493        7.330000
2023          452        6.720000
2022          440        6.540000
2021          414        6.160000
2020          393        5.840000
2019          367        5.460000
2018          341        5.070000
2017          470        6.990000
2016          458        6.810000
2015          439        6.530000
2014          414        6.160000
2013          392        5.830000
2012          367        5.460000
2011          344        5.110000
2010          325        4.830000
2009          315        4.680000
2008          302        4.490000

========================================

=== Fitur: Altman_X3_EBIT_TA ===
Total Baris Null : 1099
      Jumlah Null  Persentase (%)
Year                             
2024           80        7.280000
2023           80        7.280000
2022           79        7.190000
2021           77        7.010000
2020           75        6.820000
2019           74        6.730000
2018           71        6.460000
2017           71        6.460000
2016           69        6.280000
2015           68        6.190000
2014           60        5.460000
2013           55        5.000000
2012           52        4.730000
2011           50        4.550000
2010           48        4.370000
2009           46        4.190000
2008           44        4.000000

========================================

=== Fitur: Altman_X4_MVE_TL ===
Total Baris Null : 25
      Jumlah Null  Persentase (%)
Year                             
2024            1        4.000000
2022            1        4.000000
2021            1        4.000000
2020            1        4.000000
2018            1        4.000000
2017            1        4.000000
2016            1        4.000000
2015            1        4.000000
2014            2        8.000000
2013            3       12.000000
2012            1        4.000000
2011            1        4.000000
2010            3       12.000000
2009            2        8.000000
2008            5       20.000000

========================================

=== Fitur: Altman_X5_SalesTA_AssetTurnover ===
Total Baris Null : 31
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.230000
2023            1        3.230000
2022            2        6.450000
2021            1        3.230000
2020            2        6.450000
2019            2        6.450000
2018            2        6.450000
2017            2        6.450000
2016            4       12.900000
2015            2        6.450000
2014            1        3.230000
2013            1        3.230000
2012            1        3.230000
2011            2        6.450000
2010            4       12.900000
2009            2        6.450000
2008            1        3.230000

========================================

=== Fitur: EBITDA_TA ===
Total Baris Null : 1106
      Jumlah Null  Persentase (%)
Year                             
2024           80        7.230000
2023           80        7.230000
2022           80        7.230000
2021           78        7.050000
2020           76        6.870000
2019           75        6.780000
2018           72        6.510000
2017           71        6.420000
2016           70        6.330000
2015           68        6.150000
2014           60        5.420000
2013           55        4.970000
2012           52        4.700000
2011           51        4.610000
2010           48        4.340000
2009           46        4.160000
2008           44        3.980000

========================================

=== Fitur: GrossMargin ===
Total Baris Null : 198
      Jumlah Null  Persentase (%)
Year                             
2024           12        6.060000
2023           12        6.060000
2022           15        7.580000
2021           13        6.570000
2020           14        7.070000
2019           11        5.560000
2018           10        5.050000
2017           12        6.060000
2016           17        8.590000
2015           14        7.070000
2014           10        5.050000
2013           10        5.050000
2012           10        5.050000
2011            8        4.040000
2010           11        5.560000
2009            9        4.550000
2008           10        5.050000

========================================

=== Fitur: OpMargin ===
Total Baris Null : 31
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.230000
2023            1        3.230000
2022            2        6.450000
2021            1        3.230000
2020            2        6.450000
2019            2        6.450000
2018            2        6.450000
2017            2        6.450000
2016            4       12.900000
2015            2        6.450000
2014            1        3.230000
2013            1        3.230000
2012            1        3.230000
2011            2        6.450000
2010            4       12.900000
2009            2        6.450000
2008            1        3.230000

========================================

=== Fitur: NetMargin ===
Total Baris Null : 31
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.230000
2023            1        3.230000
2022            2        6.450000
2021            1        3.230000
2020            2        6.450000
2019            2        6.450000
2018            2        6.450000
2017            2        6.450000
2016            4       12.900000
2015            2        6.450000
2014            1        3.230000
2013            1        3.230000
2012            1        3.230000
2011            2        6.450000
2010            4       12.900000
2009            2        6.450000
2008            1        3.230000

========================================

=== Fitur: CFO_TA ===
Total Baris Null : 2
      Jumlah Null  Persentase (%)
Year                             
2011            1       50.000000
2010            1       50.000000

========================================

=== Fitur: CFO_TL ===
Total Baris Null : 2
      Jumlah Null  Persentase (%)
Year                             
2011            1       50.000000
2010            1       50.000000

========================================

=== Fitur: CFO_Sales ===
Total Baris Null : 33
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.030000
2023            1        3.030000
2022            2        6.060000
2021            1        3.030000
2020            2        6.060000
2019            2        6.060000
2018            2        6.060000
2017            2        6.060000
2016            4       12.120000
2015            2        6.060000
2014            1        3.030000
2013            1        3.030000
2012            1        3.030000
2011            3        9.090000
2010            5       15.150000
2009            2        6.060000
2008            1        3.030000

========================================

=== Fitur: NetCash_TA ===
Total Baris Null : 2
      Jumlah Null  Persentase (%)
Year                             
2011            1       50.000000
2010            1       50.000000

========================================

=== Fitur: EPS_proxy ===
Total Baris Null : 1
      Jumlah Null  Persentase (%)
Year                             
2013            1      100.000000

========================================

=== Fitur: Sales_per_share ===
Total Baris Null : 32
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.120000
2023            1        3.120000
2022            2        6.250000
2021            1        3.120000
2020            2        6.250000
2019            2        6.250000
2018            2        6.250000
2017            2        6.250000
2016            4       12.500000
2015            2        6.250000
2014            1        3.120000
2013            2        6.250000
2012            1        3.120000
2011            2        6.250000
2010            4       12.500000
2009            2        6.250000
2008            1        3.120000

========================================

=== Fitur: CFO_per_share ===
Total Baris Null : 3
      Jumlah Null  Persentase (%)
Year                             
2013            1       33.330000
2011            1       33.330000
2010            1       33.330000

========================================

=== Fitur: log_Sales ===
Total Baris Null : 31
      Jumlah Null  Persentase (%)
Year                             
2024            1        3.230000
2023            1        3.230000
2022            2        6.450000
2021            1        3.230000
2020            2        6.450000
2019            2        6.450000
2018            2        6.450000
2017            2        6.450000
2016            4       12.900000
2015            2        6.450000
2014            1        3.230000
2013            1        3.230000
2012            1        3.230000
2011            2        6.450000
2010            4       12.900000
2009            2        6.450000
2008            1        3.230000

========================================

=== Fitur: log_MktCap ===
Total Baris Null : 25
      Jumlah Null  Persentase (%)
Year                             
2024            1        4.000000
2022            1        4.000000
2021            1        4.000000
2020            1        4.000000
2018            1        4.000000
2017            1        4.000000
2016            1        4.000000
2015            1        4.000000
2014            2        8.000000
2013            3       12.000000
2012            1        4.000000
2011            1        4.000000
2010            3       12.000000
2009            2        8.000000
2008            5       20.000000

========================================

=== Fitur: PB ===
Total Baris Null : 25
      Jumlah Null  Persentase (%)
Year                             
2024            1        4.000000
2022            1        4.000000
2021            1        4.000000
2020            1        4.000000
2018            1        4.000000
2017            1        4.000000
2016            1        4.000000
2015            1        4.000000
2014            2        8.000000
2013            3       12.000000
2012            1        4.000000
2011            1        4.000000
2010            3       12.000000
2009            2        8.000000
2008            5       20.000000

========================================

=== Fitur: Sales_growth ===
Total Baris Null : 902
      Jumlah Null  Persentase (%)
Year                             
2024           81        8.980000
2023           60        6.650000
2022           58        6.430000
2021           53        5.880000
2020           56        6.210000
2019           54        5.990000
2018           37        4.100000
2017           20        2.220000
2016           23        2.550000
2015           25        2.770000
2014           28        3.100000
2013           26        2.880000
2012           25        2.770000
2011           24        2.660000
2010           14        1.550000
2009           16        1.770000
2008          302       33.480000

========================================

=== Fitur: NI_growth ===
Total Baris Null : 853
      Jumlah Null  Persentase (%)
Year                             
2024           79        9.260000
2023           57        6.680000
2022           56        6.570000
2021           50        5.860000
2020           52        6.100000
2019           51        5.980000
2018           33        3.870000
2017           15        1.760000
2016           19        2.230000
2015           23        2.700000
2014           26        3.050000
2013           25        2.930000
2012           23        2.700000
2011           19        2.230000
2010           10        1.170000
2009           13        1.520000
2008          302       35.400000

========================================

=== Fitur: TA_growth ===
Total Baris Null : 853
      Jumlah Null  Persentase (%)
Year                             
2024           79        9.260000
2023           57        6.680000
2022           56        6.570000
2021           50        5.860000
2020           52        6.100000
2019           51        5.980000
2018           33        3.870000
2017           15        1.760000
2016           19        2.230000
2015           23        2.700000
2014           26        3.050000
2013           25        2.930000
2012           23        2.700000
2011           19        2.230000
2010           10        1.170000
2009           13        1.520000
2008          302       35.400000

========================================

=== Fitur: Equity_growth ===
Total Baris Null : 853
      Jumlah Null  Persentase (%)
Year                             
2024           79        9.260000
2023           57        6.680000
2022           56        6.570000
2021           50        5.860000
2020           52        6.100000
2019           51        5.980000
2018           33        3.870000
2017           15        1.760000
2016           19        2.230000
2015           23        2.700000
2014           26        3.050000
2013           25        2.930000
2012           23        2.700000
2011           19        2.230000
2010           10        1.170000
2009           13        1.520000
2008          302       35.400000

========================================

=== Fitur: CFO_growth ===
Total Baris Null : 857
      Jumlah Null  Persentase (%)
Year                             
2024           79        9.220000
2023           57        6.650000
2022           56        6.530000
2021           50        5.830000
2020           52        6.070000
2019           51        5.950000
2018           33        3.850000
2017           15        1.750000
2016           19        2.220000
2015           23        2.680000
2014           26        3.030000
2013           25        2.920000
2012           24        2.800000
2011           21        2.450000
2010           11        1.280000
2009           13        1.520000
2008          302       35.240000

========================================

Potensi Fitur Missing Indicator

features_with_null = [
    col for col in df_fitur.columns[df_fitur.isnull().any()]
    if col not in ['ticker', 'Year', 'Entity Name']
    and not col.startswith(('target', 'tahun'))
]
features_with_null
['Parent Percent Owned (%)',
 'Percent Owned - All Institutions (%)',
 'Percent Owned - Insiders (%)',
 'CR',
 'QR',
 'Age_When_IPO',
 'WC_Sales',
 'Inventory_CA',
 'Prepaid_CA',
 'Debt_TA',
 'Debt_Equity',
 'NetDebt_EBITDA',
 'PPE_TA',
 'Intang_TA',
 'Altman_X3_EBIT_TA',
 'Altman_X4_MVE_TL',
 'Altman_X5_SalesTA_AssetTurnover',
 'EBITDA_TA',
 'GrossMargin',
 'OpMargin',
 'NetMargin',
 'CFO_TA',
 'CFO_TL',
 'CFO_Sales',
 'NetCash_TA',
 'EPS_proxy',
 'Sales_per_share',
 'CFO_per_share',
 'log_Sales',
 'log_MktCap',
 'PB',
 'Sales_growth',
 'NI_growth',
 'TA_growth',
 'Equity_growth',
 'CFO_growth']

Jaccard Similarity Global

Dihitung secara global tanpa memisahkan jenis target

if len(features_with_null) == 0:
    print("Tidak ada fitur yang memiliki nilai null untuk dianalisis.")
else:
    # 1. Membuat DataFrame berisi missing indicator (True jika null, False jika ada nilai)
    df_missing = df_fitur[features_with_null].isnull()

    # 2. Menginisialisasi matriks kosong untuk menyimpan nilai Jaccard Similarity
    num_features = len(features_with_null)
    jaccard_matrix = np.zeros((num_features, num_features))

    # 3. Menghitung Jaccard Similarity untuk setiap pasangan fitur
    for i in range(num_features):
        for j in range(num_features):
            col_i = df_missing.iloc[:, i]
            col_j = df_missing.iloc[:, j]

            # Intersection: Jumlah baris di mana KEDUA fitur bernilai null
            intersection = (col_i & col_j).sum()

            # Union: Jumlah baris di mana SALAH SATU atau KEDUA fitur bernilai null
            union = (col_i | col_j).sum()

            # Menghitung Jaccard Similarity (mencegah pembagian dengan nol)
            if union == 0:
                jaccard_matrix[i, j] = 1.0
            else:
                jaccard_matrix[i, j] = intersection / union

    # 4. Mengubah matriks numpy menjadi DataFrame agar memiliki nama baris dan kolom
    df_jaccard = pd.DataFrame(jaccard_matrix, index=features_with_null, columns=features_with_null)

    # 5. Memvisualisasikan matriks menggunakan Heatmap dari Seaborn
    # Ukuran gambar disesuaikan dengan jumlah fitur agar kotak tidak terlalu sempit
    plt.figure(figsize=(max(8, num_features * 0.8), max(8, num_features * 0.8)))

    sns.heatmap(df_jaccard,
                annot=True,              # Menampilkan angka kemiripan di dalam kotak
                fmt=".2f",               # Membulatkan angka menjadi 2 desimal
                cmap='coolwarm',         # Skema warna (merah = tinggi, biru = rendah)
                vmin=0, vmax=1,          # Rentang nilai Jaccard (0 hingga 1)
                linewidths=0.5,          # Garis pembatas antar kotak
                square=True,             # Memaksa bentuk sel menjadi persegi
                cbar_kws={"shrink": .8}) # Menyesuaikan ukuran colorbar (legenda warna)

    plt.title('Heatmap Jaccard Similarity antar Missing Indicator',
              fontsize=14, fontweight='bold', pad=20)
    plt.xticks(rotation=90)
    plt.yticks(rotation=0)

    plt.tight_layout()
    plt.show()

    # # --- 6. Menampilkan 10 Pasangan dengan Jaccard Similarity Tertinggi ---

    # # Membuat 'mask' berbentuk segitiga atas (upper triangle) untuk menghindari
    # # perbandingan kolom dengan dirinya sendiri (diagonal) dan duplikasi pasangan
    # mask_segitiga_atas = np.triu(np.ones(df_jaccard.shape), k=1).astype(bool)

    # # Menerapkan mask pada DataFrame dan mengubah format matriks menjadi baris (unstack)
    # pasangan_kemiripan = df_jaccard.where(mask_segitiga_atas).stack()

    # # Mengurutkan dari nilai kemiripan tertinggi ke terendah, lalu mengambil 10 teratas
    # top_10_pasangan = pasangan_kemiripan.sort_values(ascending=False).head(50)

    # # Mencetak hasil dengan format yang rapi
    # print("=== 10 Pasangan Kolom dengan Jaccard Similarity Tertinggi ===")
    # for indeks, nilai_kemiripan in enumerate(top_10_pasangan.items(), start=1):
    #     kolom_1 = nilai_kemiripan[0][0]
    #     kolom_2 = nilai_kemiripan[0][1]
    #     skor = nilai_kemiripan[1]

    #     print(f"{indeks}. {kolom_1} & {kolom_2} -> Skor: {skor:.4f}")

if len(features_with_null) == 0:
    print("Tidak ada fitur yang memiliki nilai null untuk dianalisis.")
else:
    # 1. Membuat DataFrame boolean untuk missing indicator
    df_missing = df_fitur[features_with_null].isnull()

    # 2. Inisialisasi dictionary untuk mengelompokkan kolom
    # Key: tuple pola boolean (True/False) dari atas ke bawah
    # Value: list berisi nama-nama kolom yang memiliki pola tersebut
    kelompok_null = {}

    for col in features_with_null:
        # Mengonversi array boolean menjadi tuple agar dapat menjadi key dictionary
        pola = tuple(df_missing[col].values)

        if pola not in kelompok_null:
            kelompok_null[pola] = []

        kelompok_null[pola].append(col)

    # 3. Menampilkan hasil pengelompokan (hanya untuk kelompok yang berisi > 1 kolom)
    print("=== Kelompok Kolom dengan Missing Indicator Sama Persis (Jaccard = 1.0) ===")

    kelompok_ditemukan = False
    nomor_kelompok = 1

    for pola, daftar_kolom in kelompok_null.items():
        # Hanya mencetak jika ada lebih dari 1 kolom dalam kelompok tersebut
        if len(daftar_kolom) > 1:
            kelompok_ditemukan = True
            print(f"Kelompok {nomor_kelompok} ({len(daftar_kolom)} kolom tergabung):")

            # Mencetak nama-nama kolom yang tergabung dalam satu baris agar rapi
            print(f" -> {', '.join(daftar_kolom)}\n")

            nomor_kelompok += 1

    if not kelompok_ditemukan:
        print("Tidak ditemukan kelompok kolom yang pola kekosongannya sama persis (Jaccard = 1.0).")
=== Kelompok Kolom dengan Missing Indicator Sama Persis (Jaccard = 1.0) ===
Kelompok 1 (5 kolom tergabung):
 -> WC_Sales, Altman_X5_SalesTA_AssetTurnover, OpMargin, NetMargin, log_Sales

Kelompok 2 (2 kolom tergabung):
 -> Debt_TA, Debt_Equity

Kelompok 3 (3 kolom tergabung):
 -> Altman_X4_MVE_TL, log_MktCap, PB

Kelompok 4 (3 kolom tergabung):
 -> CFO_TA, CFO_TL, NetCash_TA

Kelompok 5 (3 kolom tergabung):
 -> NI_growth, TA_growth, Equity_growth
# missing_indicators_used_global = features_with_null.copy()

# if len(missing_indicators_used_global) == 0:
#     print("Tidak ada fitur yang memiliki nilai null untuk diproses.")
# else:
#     # 2. Membuat DataFrame boolean (True jika null, False jika tidak)
#     # Hal ini dilakukan di luar loop agar perhitungan Jaccard jauh lebih cepat
#     df_missing = df_fitur[missing_indicators_used_global].isnull()

#     # Varians untuk masing-masing missing indicator
#     # True/False diubah ke 1/0 agar varians bisa dihitung
#     varians_missing = df_missing.astype(int).var()

#     # 3. Inisialisasi variabel untuk filter
#     kolom_dibuang = set()
#     threshold = 0.93

#     print(f"=== Proses Eliminasi Missing Indicator ===")
#     print(f"Jumlah kolom awal : {len(missing_indicators_used_global)}")
#     print(f"Threshold Jaccard : {threshold} (Inklusif)\n")

#     # 4. Melakukan iterasi berpasangan (Greedy Filtering)
#     for i in range(len(missing_indicators_used_global)):
#         kolom_utama = missing_indicators_used_global[i]

#         # Jika kolom utama ini sudah tereliminasi sebelumnya, maka lewati
#         if kolom_utama in kolom_dibuang:
#             continue

#         col_i = df_missing[kolom_utama]

#         # Bandingkan kolom utama dengan semua kolom yang berada di sebelah kanannya
#         for j in range(i + 1, len(missing_indicators_used_global)):
#             kolom_pembanding = missing_indicators_used_global[j]

#             # Jika kolom pembanding sudah tereliminasi, tidak perlu dihitung lagi
#             if kolom_pembanding in kolom_dibuang:
#                 continue

#             col_j = df_missing[kolom_pembanding]

#             # Perhitungan Jaccard Similarity
#             intersection = (col_i & col_j).sum()
#             union = (col_i | col_j).sum()

#             if union == 0:
#                 jaccard_sim = 1.0
#             else:
#                 jaccard_sim = intersection / union

#             ## Evaluasi terhadap threshold (inklusif: >= 0.95)
#             if jaccard_sim >= threshold:
#                 kolom_dibuang.add(kolom_pembanding)
#                 print(f"[-] Eliminasi: '{kolom_pembanding}' (Mirip dengan '{kolom_utama}' | Skor: {jaccard_sim:.4f})")

#     # 5. Memperbarui list missing_indicators_used_global hanya dengan kolom yang dipertahankan
#     missing_indicators_used_global = [
#         col for col in missing_indicators_used_global
#         if col not in kolom_dibuang
#     ]

#     # 6. Menampilkan ringkasan hasil akhir
#     print("\n=== Ringkasan Hasil Akhir ===")
#     print(f"Jumlah kolom yang dieliminasi : {len(kolom_dibuang)}")
#     print(f"Jumlah kolom yang tersisa     : {len(missing_indicators_used_global)}")
#     print("\nDaftar kolom yang akan digunakan untuk membuat missing indicator:")
#     for col in missing_indicators_used_global:
#         print(f" -> {col}")
# missing_indicators_used_global = features_with_null.copy()

# if len(missing_indicators_used_global) == 0:
#     print("Tidak ada fitur yang memiliki nilai null untuk diproses.")
# else:
#     # 2. Membuat DataFrame boolean (True jika null, False jika tidak)
#     # Hal ini dilakukan di luar loop agar perhitungan Jaccard jauh lebih cepat
#     df_missing = df_fitur[missing_indicators_used_global].isnull()

#     # Varians untuk masing-masing missing indicator
#     # True/False diubah ke 1/0 agar varians bisa dihitung
#     varians_missing = df_missing.astype(int).var()

#     # 3. Inisialisasi variabel untuk filter
#     kolom_dibuang = set()
#     threshold = 0.93

#     print(f"=== Proses Eliminasi Missing Indicator ===")
#     print(f"Jumlah kolom awal : {len(missing_indicators_used_global)}")
#     print(f"Threshold Jaccard : {threshold} (Inklusif)\n")

#     # 4. Hitung semua pasangan yang memiliki Jaccard >= threshold
#     pasangan_mirip = []

#     for i in range(len(missing_indicators_used_global)):
#         kolom_i = missing_indicators_used_global[i]
#         col_i = df_missing[kolom_i]

#         for j in range(i + 1, len(missing_indicators_used_global)):
#             kolom_j = missing_indicators_used_global[j]
#             col_j = df_missing[kolom_j]

#             # Perhitungan Jaccard Similarity
#             intersection = (col_i & col_j).sum()
#             union = (col_i | col_j).sum()

#             if union == 0:
#                 jaccard_sim = 1.0
#             else:
#                 jaccard_sim = intersection / union

#             # Simpan hanya pasangan yang lolos threshold
#             if jaccard_sim >= threshold:
#                 pasangan_mirip.append((kolom_i, kolom_j, jaccard_sim))

#     # 5. Eliminasi iteratif berdasarkan:
#     #    - pasangan aktif dengan Jaccard tertinggi
#     #    - varians lebih rendah
#     #    - degree aktif lebih kecil
#     #    - nama kolom
#     while True:
#         # Ambil hanya pasangan yang kedua kolomnya belum dibuang
#         pasangan_aktif = [
#             (kolom_a, kolom_b, skor_jaccard)
#             for kolom_a, kolom_b, skor_jaccard in pasangan_mirip
#             if kolom_a not in kolom_dibuang and kolom_b not in kolom_dibuang
#         ]

#         # Jika sudah tidak ada pasangan aktif, selesai
#         if len(pasangan_aktif) == 0:
#             break

#         # Hitung degree aktif (jumlah pasangan aktif) tiap kolom
#         degree_aktif = {}
#         for kolom_a, kolom_b, _ in pasangan_aktif:
#             degree_aktif[kolom_a] = degree_aktif.get(kolom_a, 0) + 1
#             degree_aktif[kolom_b] = degree_aktif.get(kolom_b, 0) + 1

#         # Ambil pasangan aktif dengan Jaccard tertinggi
#         # Tie-breaker tambahan pada nama kolom agar hasil deterministik
#         kolom_utama, kolom_pembanding, jaccard_sim = max(
#             pasangan_aktif,
#             key=lambda x: (x[2], x[0], x[1])
#         )

#         var_utama = varians_missing[kolom_utama]
#         var_pembanding = varians_missing[kolom_pembanding]

#         degree_utama = degree_aktif[kolom_utama]
#         degree_pembanding = degree_aktif[kolom_pembanding]

#         # Tentukan kolom yang dieliminasi
#         # 1. Buang yang variansnya lebih rendah
#         if var_utama < var_pembanding:
#             kolom_dieliminasi = kolom_utama
#             kolom_dipertahankan = kolom_pembanding
#         elif var_pembanding < var_utama:
#             kolom_dieliminasi = kolom_pembanding
#             kolom_dipertahankan = kolom_utama

#         # 2. Jika varians sama, buang yang degree aktifnya lebih kecil
#         elif degree_utama < degree_pembanding:
#             kolom_dieliminasi = kolom_utama
#             kolom_dipertahankan = kolom_pembanding
#         elif degree_pembanding < degree_utama:
#             kolom_dieliminasi = kolom_pembanding
#             kolom_dipertahankan = kolom_utama

#         # 3. Jika masih sama, pakai nama kolom sebagai tie-breaker
#         #    Di sini: buang nama kolom yang lebih besar secara alfabetis
#         else:
#             if kolom_utama > kolom_pembanding:
#                 kolom_dieliminasi = kolom_utama
#                 kolom_dipertahankan = kolom_pembanding
#             else:
#                 kolom_dieliminasi = kolom_pembanding
#                 kolom_dipertahankan = kolom_utama

#         kolom_dibuang.add(kolom_dieliminasi)

#         print(
#             f"[-] Eliminasi: '{kolom_dieliminasi}' "
#             f"(Mirip dengan '{kolom_dipertahankan}' | Skor: {jaccard_sim:.4f})"
#         )

#     # 6. Memperbarui list missing_indicators_used_global hanya dengan kolom yang dipertahankan
#     missing_indicators_used_global = [
#         col for col in missing_indicators_used_global
#         if col not in kolom_dibuang
#     ]

#     # 7. Menampilkan ringkasan hasil akhir
#     print("\n=== Ringkasan Hasil Akhir ===")
#     print(f"Jumlah kolom yang dieliminasi : {len(kolom_dibuang)}")
#     print(f"Jumlah kolom yang tersisa     : {len(missing_indicators_used_global)}")
#     print("\nDaftar kolom yang akan digunakan untuk membuat missing indicator:")
#     for col in missing_indicators_used_global:
#         print(f" -> {col}")
missing_indicators_used_global = features_with_null.copy()

if len(missing_indicators_used_global) == 0:
    print("Tidak ada fitur yang memiliki nilai null untuk diproses.")
else:
    # 2. Membuat DataFrame boolean (True jika null, False jika tidak)
    # Hal ini dilakukan di luar loop agar perhitungan Jaccard jauh lebih cepat
    df_missing = df_fitur[missing_indicators_used_global].isnull()

    # Varians untuk masing-masing missing indicator
    # True/False diubah ke 1/0 agar varians bisa dihitung
    varians_missing = df_missing.astype(int).var()

    # 3. Inisialisasi variabel untuk filter
    kolom_dibuang = set()
    threshold = 0.90

    print(f"=== Proses Eliminasi Missing Indicator ===")
    print(f"Jumlah kolom awal : {len(missing_indicators_used_global)}")
    print(f"Threshold Jaccard : {threshold} (Inklusif)\n")

    # 4. Hitung semua pasangan yang memiliki Jaccard >= threshold
    pasangan_mirip = []

    for i in range(len(missing_indicators_used_global)):
        kolom_i = missing_indicators_used_global[i]
        col_i = df_missing[kolom_i]

        for j in range(i + 1, len(missing_indicators_used_global)):
            kolom_j = missing_indicators_used_global[j]
            col_j = df_missing[kolom_j]

            # Perhitungan Jaccard Similarity
            intersection = (col_i & col_j).sum()
            union = (col_i | col_j).sum()

            if union == 0:
                jaccard_sim = 1.0
            else:
                jaccard_sim = intersection / union

            # Simpan hanya pasangan yang lolos threshold
            if jaccard_sim >= threshold:
                pasangan_mirip.append((kolom_i, kolom_j, jaccard_sim))

    # 5. Eliminasi iteratif berdasarkan:
    #    - pasangan aktif dengan Jaccard tertinggi
    #    - varians lebih rendah
    #    - degree aktif lebih kecil
    #    - nama kolom
    while True:
        # Ambil hanya pasangan yang kedua kolomnya belum dibuang
        pasangan_aktif = [
            (kolom_a, kolom_b, skor_jaccard)
            for kolom_a, kolom_b, skor_jaccard in pasangan_mirip
            if kolom_a not in kolom_dibuang and kolom_b not in kolom_dibuang
        ]

        # Jika sudah tidak ada pasangan aktif, selesai
        if len(pasangan_aktif) == 0:
            break

        # Hitung degree aktif (jumlah pasangan aktif) tiap kolom
        degree_aktif = {}
        for kolom_a, kolom_b, _ in pasangan_aktif:
            degree_aktif[kolom_a] = degree_aktif.get(kolom_a, 0) + 1
            degree_aktif[kolom_b] = degree_aktif.get(kolom_b, 0) + 1

        # Ambil pasangan aktif dengan Jaccard tertinggi
        # Tie-breaker tambahan pada nama kolom agar hasil deterministik
        kolom_utama, kolom_pembanding, jaccard_sim = max(
            pasangan_aktif,
            key=lambda x: (x[2], x[0], x[1])
        )

        var_utama = varians_missing[kolom_utama]
        var_pembanding = varians_missing[kolom_pembanding]

        degree_utama = degree_aktif[kolom_utama]
        degree_pembanding = degree_aktif[kolom_pembanding]

        # Tentukan kolom yang dieliminasi
        # 1. Buang yang variansnya lebih rendah
        if var_utama < var_pembanding:
            kolom_dieliminasi = kolom_utama
            kolom_dipertahankan = kolom_pembanding
        elif var_pembanding < var_utama:
            kolom_dieliminasi = kolom_pembanding
            kolom_dipertahankan = kolom_utama

        # 2. Jika varians sama, buang yang degree aktifnya lebih kecil
        elif degree_utama < degree_pembanding:
            kolom_dieliminasi = kolom_utama
            kolom_dipertahankan = kolom_pembanding
        elif degree_pembanding < degree_utama:
            kolom_dieliminasi = kolom_pembanding
            kolom_dipertahankan = kolom_utama

        # 3. Jika masih sama, pakai nama kolom sebagai tie-breaker
        #    Di sini: buang nama kolom yang lebih besar secara alfabetis
        else:
            if kolom_utama > kolom_pembanding:
                kolom_dieliminasi = kolom_utama
                kolom_dipertahankan = kolom_pembanding
            else:
                kolom_dieliminasi = kolom_pembanding
                kolom_dipertahankan = kolom_utama

        kolom_dibuang.add(kolom_dieliminasi)

        print(
            f"[-] Eliminasi: '{kolom_dieliminasi}' "
            f"(Mirip dengan '{kolom_dipertahankan}' | Skor: {jaccard_sim:.4f})"
        )

    # 6. Memperbarui list missing_indicators_used_global hanya dengan kolom yang dipertahankan
    missing_indicators_used_global = [
        col for col in missing_indicators_used_global
        if col not in kolom_dibuang
    ]

    # 7. Menampilkan ringkasan hasil akhir
    print("\n=== Ringkasan Hasil Akhir ===")
    print(f"Jumlah kolom yang dieliminasi : {len(kolom_dibuang)}")
    print(f"Jumlah kolom yang tersisa     : {len(missing_indicators_used_global)}")
    print("\nDaftar kolom yang akan digunakan untuk membuat missing indicator:")
    for col in missing_indicators_used_global:
        print(f" -> {col}")
=== Proses Eliminasi Missing Indicator ===
Jumlah kolom awal : 36
Threshold Jaccard : 0.9 (Inklusif)

[-] Eliminasi: 'log_MktCap' (Mirip dengan 'PB' | Skor: 1.0000)
[-] Eliminasi: 'log_Sales' (Mirip dengan 'WC_Sales' | Skor: 1.0000)
[-] Eliminasi: 'WC_Sales' (Mirip dengan 'OpMargin' | Skor: 1.0000)
[-] Eliminasi: 'TA_growth' (Mirip dengan 'Equity_growth' | Skor: 1.0000)
[-] Eliminasi: 'OpMargin' (Mirip dengan 'NetMargin' | Skor: 1.0000)
[-] Eliminasi: 'NI_growth' (Mirip dengan 'Equity_growth' | Skor: 1.0000)
[-] Eliminasi: 'Debt_TA' (Mirip dengan 'Debt_Equity' | Skor: 1.0000)
[-] Eliminasi: 'NetCash_TA' (Mirip dengan 'CFO_TL' | Skor: 1.0000)
[-] Eliminasi: 'CFO_TL' (Mirip dengan 'CFO_TA' | Skor: 1.0000)
[-] Eliminasi: 'NetMargin' (Mirip dengan 'Altman_X5_SalesTA_AssetTurnover' | Skor: 1.0000)
[-] Eliminasi: 'PB' (Mirip dengan 'Altman_X4_MVE_TL' | Skor: 1.0000)
[-] Eliminasi: 'QR' (Mirip dengan 'CR' | Skor: 0.9972)
[-] Eliminasi: 'Equity_growth' (Mirip dengan 'CFO_growth' | Skor: 0.9953)
[-] Eliminasi: 'Altman_X3_EBIT_TA' (Mirip dengan 'EBITDA_TA' | Skor: 0.9937)
[-] Eliminasi: 'EBITDA_TA' (Mirip dengan 'NetDebt_EBITDA' | Skor: 0.9822)
[-] Eliminasi: 'Altman_X5_SalesTA_AssetTurnover' (Mirip dengan 'Sales_per_share' | Skor: 0.9688)
[-] Eliminasi: 'CFO_growth' (Mirip dengan 'Sales_growth' | Skor: 0.9415)
[-] Eliminasi: 'Sales_per_share' (Mirip dengan 'CFO_Sales' | Skor: 0.9118)

=== Ringkasan Hasil Akhir ===
Jumlah kolom yang dieliminasi : 18
Jumlah kolom yang tersisa     : 18

Daftar kolom yang akan digunakan untuk membuat missing indicator:
 -> Parent Percent Owned (%)
 -> Percent Owned - All Institutions (%)
 -> Percent Owned - Insiders (%)
 -> CR
 -> Age_When_IPO
 -> Inventory_CA
 -> Prepaid_CA
 -> Debt_Equity
 -> NetDebt_EBITDA
 -> PPE_TA
 -> Intang_TA
 -> Altman_X4_MVE_TL
 -> GrossMargin
 -> CFO_TA
 -> CFO_Sales
 -> EPS_proxy
 -> CFO_per_share
 -> Sales_growth
if len(missing_indicators_used_global) == 0:
    print("Tidak ada fitur dalam daftar missing_indicators_used_global untuk dianalisis.")
else:
    # 1. Membuat DataFrame berisi missing indicator hanya untuk kolom yang tersisa
    df_missing = df_fitur[missing_indicators_used_global].isnull()

    # 2. Menginisialisasi matriks kosong dengan dimensi sesuai jumlah kolom yang difilter
    num_features = len(missing_indicators_used_global)
    jaccard_matrix = np.zeros((num_features, num_features))

    # 3. Menghitung Jaccard Similarity untuk setiap pasangan fitur yang tersisa
    for i in range(num_features):
        for j in range(num_features):
            col_i = df_missing.iloc[:, i]
            col_j = df_missing.iloc[:, j]

            # Intersection: Jumlah baris di mana KEDUA fitur bernilai null
            intersection = (col_i & col_j).sum()

            # Union: Jumlah baris di mana SALAH SATU atau KEDUA fitur bernilai null
            union = (col_i | col_j).sum()

            # Menghitung Jaccard Similarity (mencegah pembagian dengan nol)
            if union == 0:
                jaccard_matrix[i, j] = 1.0
            else:
                jaccard_matrix[i, j] = intersection / union

    # 4. Mengubah matriks numpy menjadi DataFrame agar memiliki nama baris dan kolom yang tepat
    df_jaccard = pd.DataFrame(jaccard_matrix,
                              index=missing_indicators_used_global,
                              columns=missing_indicators_used_global)

    # 5. Memvisualisasikan matriks menggunakan Heatmap dari Seaborn
    # Ukuran gambar disesuaikan secara dinamis dengan jumlah fitur yang tersisa
    plt.figure(figsize=(max(8, num_features * 0.8), max(8, num_features * 0.8)))

    sns.heatmap(df_jaccard,
                annot=True,              # Menampilkan angka kemiripan di dalam kotak
                fmt=".2f",               # Membulatkan angka menjadi 2 desimal
                cmap='coolwarm',         # Skema warna (merah = tinggi, biru = rendah)
                vmin=0, vmax=1,          # Rentang nilai Jaccard (0 hingga 1)
                linewidths=0.5,          # Garis pembatas antar kotak
                square=True,             # Memaksa bentuk sel menjadi persegi
                cbar_kws={"shrink": .8}) # Menyesuaikan ukuran colorbar (legenda warna)

    # Memperbarui judul agar mencerminkan bahwa data telah difilter
    plt.title('Heatmap Jaccard Similarity (Setelah Reduksi Dimensi)',
              fontsize=14, fontweight='bold', pad=20)
    plt.xticks(rotation=90)
    plt.yticks(rotation=0)

    plt.tight_layout()
    plt.show()

Filter Persentase Fitur Null thd Tiap Target

if len(missing_indicators_used_global) == 0:
    print("Daftar missing_indicators_used_global kosong. Tidak ada yang perlu dihitung.")
else:
    total_baris = len(df_fitur)
    hasil_perhitungan = []

    # Menghitung jumlah dan persentase null untuk setiap kolom
    for col in missing_indicators_used_global:
        jumlah_null = df_fitur[col].isnull().sum()
        persentase_null = (jumlah_null / total_baris) * 100

        hasil_perhitungan.append({
            'Nama Fitur': col,
            'Jumlah Null': jumlah_null,
            'Persentase (%)': persentase_null
        })

    # Mengonversi list dictionary menjadi DataFrame
    df_rekap_null = pd.DataFrame(hasil_perhitungan)

    # Mengurutkan data dari persentase terbesar ke terkecil
    df_rekap_null = df_rekap_null.sort_values(by='Persentase (%)', ascending=False).reset_index(drop=True)

    # Membulatkan nilai persentase agar tampilannya lebih rapi (2 angka di belakang koma)
    df_rekap_null['Persentase (%)'] = df_rekap_null['Persentase (%)'].round(2)

    # Mencetak hasil
    print(f"=== Rekapitulasi Missing Values Scr Global ===")
    print(f"Total Baris Data (df_fitur): {total_baris}\n")
    print(df_rekap_null.to_string())
=== Rekapitulasi Missing Values Scr Global ===
Total Baris Data (df_fitur): 8489

                              Nama Fitur  Jumlah Null  Persentase (%)
0                              Intang_TA         6726       79.230000
1   Percent Owned - All Institutions (%)         3947       46.500000
2               Parent Percent Owned (%)         3641       42.890000
3           Percent Owned - Insiders (%)         2551       30.050000
4                             Prepaid_CA         1462       17.220000
5                           Inventory_CA         1206       14.210000
6                         NetDebt_EBITDA         1126       13.260000
7                           Sales_growth          902       10.630000
8                                     CR          706        8.320000
9                            GrossMargin          198        2.330000
10                             CFO_Sales           33        0.390000
11                      Altman_X4_MVE_TL           25        0.290000
12                          Age_When_IPO           21        0.250000
13                           Debt_Equity           21        0.250000
14                                PPE_TA           19        0.220000
15                         CFO_per_share            3        0.040000
16                                CFO_TA            2        0.020000
17                             EPS_proxy            1        0.010000
# # Mendapatkan list kolom target yang diawali dengan 'target'
# kolom_target = [col for col in df_fitur.columns if col.startswith('target')]

# if len(missing_indicators_used_global) == 0:
#     print("Daftar missing_indicators_used_global kosong. Tidak ada yang perlu dihitung.")
# elif len(kolom_target) == 0:
#     print("Tidak ditemukan kolom yang namanya diawali dengan 'target' pada df_fitur.")
# else:
#     # Melakukan iterasi untuk setiap kolom target
#     for target in kolom_target:
#         print(f"=== Rekapitulasi Missing Values untuk Target: '{target}' ===")

#         # Mengambil subset data di mana kolom target saat ini tidak bernilai null
#         df_subset = df_fitur[df_fitur[target].notnull()]
#         total_baris_subset = len(df_subset)
#         target_positif = df_subset[target].sum()

#         print(f"Total Baris Data (Target '{target}' tidak null): {total_baris_subset}")
#         print(f"Total Baris Bertarget Positif: {target_positif} atau {target_positif/total_baris_subset*100:.2f}% dari total baris tipe target tsb\n")

#         if total_baris_subset == 0:
#             print("Tidak ada data yang valid (semua baris pada target ini null).\n")
#             print("="*60 + "\n")
#             continue

#         hasil_perhitungan = []

#         # Menghitung jumlah dan persentase null untuk setiap kolom pada df_subset
#         for col in missing_indicators_used_global:
#             jumlah_null = df_subset[col].isnull().sum()
#             persentase_null = (jumlah_null / total_baris_subset) * 100

#             hasil_perhitungan.append({
#                 'Nama Fitur': col,
#                 'Jumlah Null': jumlah_null,
#                 'Persentase (%)': persentase_null
#             })

#         # Mengonversi list dictionary menjadi DataFrame
#         df_rekap_null = pd.DataFrame(hasil_perhitungan)

#         # Mengurutkan data dari persentase terbesar ke terkecil
#         df_rekap_null = df_rekap_null.sort_values(by='Persentase (%)', ascending=False).reset_index(drop=True)

#         # Membulatkan nilai persentase agar tampilannya lebih rapi (2 angka di belakang koma)
#         df_rekap_null['Persentase (%)'] = df_rekap_null['Persentase (%)'].round(2)

#         # Mencetak hasil
#         print(df_rekap_null.to_string())
#         print("\n" + "="*60 + "\n")
# df_fitur dan missing_indicators_used_global telah terdefinisi sebelumnya

# Mendapatkan list kolom target yang diawali dengan 'target'
kolom_target = [col for col in df_fitur.columns if col.startswith('target')]

if len(missing_indicators_used_global) == 0:
    print("Daftar missing_indicators_used_global kosong. Tidak ada yang perlu dihitung.")
elif len(kolom_target) == 0:
    print("Tidak ditemukan kolom yang namanya diawali dengan 'target' pada df_fitur.")
else:
    # Melakukan iterasi untuk setiap kolom target
    for target in kolom_target:
        print(f"=== Rekapitulasi Missing Values untuk Target: '{target}' ===")

        # Mengambil subset data di mana kolom target saat ini tidak bernilai null
        df_subset = df_fitur[df_fitur[target].notnull()]
        total_baris_subset = len(df_subset)

        # Dikonversi ke int agar tampilannya tidak berupa desimal (misal 15.0)
        target_positif = int(df_subset[target].sum())

        print(f"Total Baris Data (Target '{target}' tidak null): {total_baris_subset}")
        print(f"Total Baris Bertarget Positif: {target_positif} atau {target_positif/total_baris_subset*100:.2f}% dari total baris tipe target tsb\n")

        if total_baris_subset == 0:
            print("Tidak ada data yang valid (semua baris pada target ini null).\n")
            print("="*60 + "\n")
            continue

        hasil_perhitungan = []

        # Menghitung jumlah dan persentase null untuk setiap kolom pada df_subset
        for col in missing_indicators_used_global:
            # Masking boolean untuk fitur yang null
            is_null_mask = df_subset[col].isnull()

            # Perhitungan 1: Total Null
            jumlah_null = is_null_mask.sum()
            persentase_null = (jumlah_null / total_baris_subset) * 100

            # Perhitungan 2: Null DAN Target = 1
            # Menggunakan operator & untuk mencari irisan kedua kondisi
            jumlah_null_target_1 = (is_null_mask & (df_subset[target] == 1)).sum()
            persentase_null_target_1 = (jumlah_null_target_1 / total_baris_subset) * 100

            hasil_perhitungan.append({
                'Nama Fitur': col,
                'Jumlah Null': jumlah_null,
                'Persentase (%)': persentase_null,
                'Null & Target=1': jumlah_null_target_1,
                '% Null & Target=1': persentase_null_target_1
            })

        # Mengonversi list dictionary menjadi DataFrame
        df_rekap_null = pd.DataFrame(hasil_perhitungan)

        # Mengurutkan data dari persentase terbesar ke terkecil
        df_rekap_null = df_rekap_null.sort_values(by='Persentase (%)', ascending=False).reset_index(drop=True)

        # Membulatkan nilai persentase agar tampilannya lebih rapi (2 angka di belakang koma)
        df_rekap_null['Persentase (%)'] = df_rekap_null['Persentase (%)'].round(2)
        df_rekap_null['% Null & Target=1'] = df_rekap_null['% Null & Target=1'].round(2)

        # Mencetak hasil
        print(df_rekap_null.to_string())
        print("\n" + "="*60 + "\n")
=== Rekapitulasi Missing Values untuk Target: 'target_distress_ppk' ===
Total Baris Data (Target 'target_distress_ppk' tidak null): 2583
Total Baris Bertarget Positif: 510 atau 19.74% dari total baris tipe target tsb

                              Nama Fitur  Jumlah Null  Persentase (%)  Null & Target=1  % Null & Target=1
0                              Intang_TA         1579       61.130000              342          13.240000
1   Percent Owned - All Institutions (%)         1280       49.550000              335          12.970000
2               Parent Percent Owned (%)         1137       44.020000              280          10.840000
3           Percent Owned - Insiders (%)          697       26.980000              171           6.620000
4                             Prepaid_CA          447       17.310000              114           4.410000
5                           Inventory_CA          357       13.820000               73           2.830000
6                         NetDebt_EBITDA          300       11.610000               41           1.590000
7                           Sales_growth          213        8.250000               38           1.470000
8                                     CR          207        8.010000               21           0.810000
9                            GrossMargin           52        2.010000                2           0.080000
10                          Age_When_IPO           11        0.430000                0           0.000000
11                           Debt_Equity            9        0.350000                0           0.000000
12                                PPE_TA            6        0.230000                0           0.000000
13                             CFO_Sales            5        0.190000                0           0.000000
14                      Altman_X4_MVE_TL            2        0.080000                2           0.080000
15                                CFO_TA            0        0.000000                0           0.000000
16                             EPS_proxy            0        0.000000                0           0.000000
17                         CFO_per_share            0        0.000000                0           0.000000

============================================================

=== Rekapitulasi Missing Values untuk Target: 'target_distress_neg_equity' ===
Total Baris Data (Target 'target_distress_neg_equity' tidak null): 6403
Total Baris Bertarget Positif: 116 atau 1.81% dari total baris tipe target tsb

                              Nama Fitur  Jumlah Null  Persentase (%)  Null & Target=1  % Null & Target=1
0                              Intang_TA         5348       83.520000               92           1.440000
1   Percent Owned - All Institutions (%)         2773       43.310000               79           1.230000
2               Parent Percent Owned (%)         2638       41.200000               76           1.190000
3           Percent Owned - Insiders (%)         1947       30.410000               38           0.590000
4                             Prepaid_CA         1109       17.320000               25           0.390000
5                           Inventory_CA          941       14.700000               14           0.220000
6                         NetDebt_EBITDA          923       14.420000                7           0.110000
7                           Sales_growth          720       11.240000               14           0.220000
8                                     CR          567        8.860000                1           0.020000
9                            GrossMargin          152        2.370000                5           0.080000
10                           Debt_Equity           21        0.330000                0           0.000000
11                      Altman_X4_MVE_TL           21        0.330000                4           0.060000
12                             CFO_Sales           15        0.230000                1           0.020000
13                          Age_When_IPO           15        0.230000                0           0.000000
14                                PPE_TA           14        0.220000                0           0.000000
15                         CFO_per_share            3        0.050000                0           0.000000
16                                CFO_TA            2        0.030000                0           0.000000
17                             EPS_proxy            1        0.020000                0           0.000000

============================================================

=== Rekapitulasi Missing Values untuk Target: 'target_distress_consecutive_loss' ===
Total Baris Data (Target 'target_distress_consecutive_loss' tidak null): 5160
Total Baris Bertarget Positif: 565 atau 10.95% dari total baris tipe target tsb

                              Nama Fitur  Jumlah Null  Persentase (%)  Null & Target=1  % Null & Target=1
0                              Intang_TA         4367       84.630000              469           9.090000
1   Percent Owned - All Institutions (%)         2082       40.350000              336           6.510000
2               Parent Percent Owned (%)         1980       38.370000              293           5.680000
3           Percent Owned - Insiders (%)         1540       29.840000              185           3.590000
4                             Prepaid_CA          809       15.680000              110           2.130000
5                         NetDebt_EBITDA          798       15.470000               51           0.990000
6                           Inventory_CA          778       15.080000               61           1.180000
7                           Sales_growth          722       13.990000              128           2.480000
8                                     CR          520       10.080000               25           0.480000
9                            GrossMargin          110        2.130000               13           0.250000
10                      Altman_X4_MVE_TL           17        0.330000                4           0.080000
11                          Age_When_IPO           15        0.290000                0           0.000000
12                           Debt_Equity           14        0.270000                2           0.040000
13                             CFO_Sales           10        0.190000                5           0.100000
14                                PPE_TA            6        0.120000                0           0.000000
15                         CFO_per_share            2        0.040000                0           0.000000
16                                CFO_TA            1        0.020000                0           0.000000
17                             EPS_proxy            1        0.020000                0           0.000000

============================================================
# Mendapatkan list kolom target
kolom_target = [col for col in df_fitur.columns if col.startswith('target')]

# Dictionary untuk menyimpan hasil lolos Tahap 1 saja
fitur_lolos_tahap1 = dict()

if len(missing_indicators_used_global) == 0:
    print("Daftar missing_indicators_used_global kosong.")
elif len(kolom_target) == 0:
    print("Tidak ditemukan kolom target.")
else:
    for target in kolom_target:
        print(f"\n{'='*60}")
        print(f"TAHAP 1: FILTER JUMLAH NULL (MIN. 20) UNTUK '{target}'")
        print(f"{'='*60}")

        # Subset data di mana target valid
        df_subset = df_fitur[df_fitur[target].notnull()]

        if len(df_subset) == 0:
            print("Tidak ada data valid untuk target ini.")
            continue

        lolos = []
        ditolak = []

        # Evaluasi satu per satu fitur global
        for col in missing_indicators_used_global:
            jumlah_null = df_subset[col].isnull().sum()

            if jumlah_null >= 20:
                lolos.append((col, jumlah_null))
            else:
                ditolak.append((col, jumlah_null))

        # Simpan nama fitur yang lolos ke dictionary
        fitur_lolos_tahap1[target] = [item[0] for item in lolos]

        # Menampilkan ringkasan hasil
        print(f"Total fitur dievaluasi: {len(missing_indicators_used_global)}")
        print(f"Lolos (>= 20 null)    : {len(lolos)}")
        print(f"Ditolak (< 20 null)   : {len(ditolak)}\n")

        print("--- DAFTAR FITUR DITOLAK (< 20 Null) ---")
        if len(ditolak) > 0:
            for col, n in ditolak:
                print(f"[-] {col:<35} : {n} null")
        else:
            print("Tidak ada fitur yang ditolak.")

        print("\n--- DAFTAR FITUR LOLOS (>= 20 Null) ---")
        if len(lolos) > 0:
            for col, n in lolos:
                print(f"[+] {col:<35} : {n} null")
        else:
            print("Tidak ada fitur yang lolos.")

============================================================
TAHAP 1: FILTER JUMLAH NULL (MIN. 20) UNTUK 'target_distress_ppk'
============================================================
Total fitur dievaluasi: 18
Lolos (>= 20 null)    : 10
Ditolak (< 20 null)   : 8

--- DAFTAR FITUR DITOLAK (< 20 Null) ---
[-] Age_When_IPO                        : 11 null
[-] Debt_Equity                         : 9 null
[-] PPE_TA                              : 6 null
[-] Altman_X4_MVE_TL                    : 2 null
[-] CFO_TA                              : 0 null
[-] CFO_Sales                           : 5 null
[-] EPS_proxy                           : 0 null
[-] CFO_per_share                       : 0 null

--- DAFTAR FITUR LOLOS (>= 20 Null) ---
[+] Parent Percent Owned (%)            : 1137 null
[+] Percent Owned - All Institutions (%) : 1280 null
[+] Percent Owned - Insiders (%)        : 697 null
[+] CR                                  : 207 null
[+] Inventory_CA                        : 357 null
[+] Prepaid_CA                          : 447 null
[+] NetDebt_EBITDA                      : 300 null
[+] Intang_TA                           : 1579 null
[+] GrossMargin                         : 52 null
[+] Sales_growth                        : 213 null

============================================================
TAHAP 1: FILTER JUMLAH NULL (MIN. 20) UNTUK 'target_distress_neg_equity'
============================================================
Total fitur dievaluasi: 18
Lolos (>= 20 null)    : 12
Ditolak (< 20 null)   : 6

--- DAFTAR FITUR DITOLAK (< 20 Null) ---
[-] Age_When_IPO                        : 15 null
[-] PPE_TA                              : 14 null
[-] CFO_TA                              : 2 null
[-] CFO_Sales                           : 15 null
[-] EPS_proxy                           : 1 null
[-] CFO_per_share                       : 3 null

--- DAFTAR FITUR LOLOS (>= 20 Null) ---
[+] Parent Percent Owned (%)            : 2638 null
[+] Percent Owned - All Institutions (%) : 2773 null
[+] Percent Owned - Insiders (%)        : 1947 null
[+] CR                                  : 567 null
[+] Inventory_CA                        : 941 null
[+] Prepaid_CA                          : 1109 null
[+] Debt_Equity                         : 21 null
[+] NetDebt_EBITDA                      : 923 null
[+] Intang_TA                           : 5348 null
[+] Altman_X4_MVE_TL                    : 21 null
[+] GrossMargin                         : 152 null
[+] Sales_growth                        : 720 null

============================================================
TAHAP 1: FILTER JUMLAH NULL (MIN. 20) UNTUK 'target_distress_consecutive_loss'
============================================================
Total fitur dievaluasi: 18
Lolos (>= 20 null)    : 10
Ditolak (< 20 null)   : 8

--- DAFTAR FITUR DITOLAK (< 20 Null) ---
[-] Age_When_IPO                        : 15 null
[-] Debt_Equity                         : 14 null
[-] PPE_TA                              : 6 null
[-] Altman_X4_MVE_TL                    : 17 null
[-] CFO_TA                              : 1 null
[-] CFO_Sales                           : 10 null
[-] EPS_proxy                           : 1 null
[-] CFO_per_share                       : 2 null

--- DAFTAR FITUR LOLOS (>= 20 Null) ---
[+] Parent Percent Owned (%)            : 1980 null
[+] Percent Owned - All Institutions (%) : 2082 null
[+] Percent Owned - Insiders (%)        : 1540 null
[+] CR                                  : 520 null
[+] Inventory_CA                        : 778 null
[+] Prepaid_CA                          : 809 null
[+] NetDebt_EBITDA                      : 798 null
[+] Intang_TA                           : 4367 null
[+] GrossMargin                         : 110 null
[+] Sales_growth                        : 722 null
fitur_lolos_tahap1
{'target_distress_ppk': ['Parent Percent Owned (%)',
  'Percent Owned - All Institutions (%)',
  'Percent Owned - Insiders (%)',
  'CR',
  'Inventory_CA',
  'Prepaid_CA',
  'NetDebt_EBITDA',
  'Intang_TA',
  'GrossMargin',
  'Sales_growth'],
 'target_distress_neg_equity': ['Parent Percent Owned (%)',
  'Percent Owned - All Institutions (%)',
  'Percent Owned - Insiders (%)',
  'CR',
  'Inventory_CA',
  'Prepaid_CA',
  'Debt_Equity',
  'NetDebt_EBITDA',
  'Intang_TA',
  'Altman_X4_MVE_TL',
  'GrossMargin',
  'Sales_growth'],
 'target_distress_consecutive_loss': ['Parent Percent Owned (%)',
  'Percent Owned - All Institutions (%)',
  'Percent Owned - Insiders (%)',
  'CR',
  'Inventory_CA',
  'Prepaid_CA',
  'NetDebt_EBITDA',
  'Intang_TA',
  'GrossMargin',
  'Sales_growth']}

Fisher’s Exact Test

# # Menggunakan dictionary baru agar hasil sebelumnya tidak tertimpa
# null_fisher_summaries = dict()

# # Loop per target
# for target in [col for col in df_fitur.columns if col.startswith('target')]:
#     print(f"\n{'='*60}")
#     print(f"FISHER'S EXACT TEST: SIGNIFICANCE OF NULL PATTERN FOR {target}")
#     print(f"{'='*60}")

#     # Filter baris yang targetnya valid (tidak null)
#     df_clean = df_fitur[df_fitur[target].notna()].copy()

#     results = []

#     # Hanya mengevaluasi kolom yang telah lolos filter sebelumnya
#     for col in missing_indicators_used_global:
#         # Menghitung elemen untuk tabel kontingensi 2x2 secara eksplisit
#         # Hal ini mencegah error dimensi jika kebetulan tidak ada null di subset ini
#         is_null = df_clean[col].isnull()

#         target_0 = df_clean[target] == 0
#         target_1 = df_clean[target] == 1

#         # a: Fitur Tidak Null & Target 0
#         # b: Fitur Tidak Null & Target 1
#         # c: Fitur Null & Target 0
#         # d: Fitur Null & Target 1
#         a = (~is_null & target_0).sum()
#         b = (~is_null & target_1).sum()
#         c = (is_null & target_0).sum()
#         d = (is_null & target_1).sum()

#         contingency_table = [[a, b],
#                              [c, d]]

#         # Hitung Fisher's Exact Test
#         # odds_ratio = rasio odds, p = p-value
#         odds_ratio, p = fisher_exact(contingency_table, alternative='two-sided')

#         # Hitung -Log10 p-value untuk visualisasi
#         # ditambah (1e-100) agar tidak error log(0) saat p-value sangat kecil (0.0)
#         log_p = -np.log10(p + 1e-100)

#         results.append({
#             'Fitur': col,
#             'P-Value': p,
#             'Log_P': log_p,
#             'Odds_Ratio': odds_ratio, # Fisher juga memberikan Rasio Odds yang berguna untuk interpretasi
#             'Signifikan': 'Ya' if p < 0.05 else 'Tidak'
#         })

#     # Buat df hasil & urutkan dari yang paling signifikan (p-value terkecil / log_p terbesar)
#     df_results = pd.DataFrame(results).sort_values(by='Log_P', ascending=True)

#     # Visualisasi
#     # Tinggi otomatis menyesuaikan jumlah fitur (dengan batas minimal 4)
#     tinggi_fig = max(4, len(missing_indicators_used_global) * 0.4)
#     plt.figure(figsize=(10, tinggi_fig))

#     # Warna hijau signifikan, abu-abu tidak
#     colors = ['#2ecc71' if x == 'Ya' else '#95a5a6' for x in df_results['Signifikan']]

#     bars = plt.barh(df_results['Fitur'], df_results['Log_P'], color=colors)

#     # Garis batas signifikansi ( p = 0.05 => -log10(0.05) )
#     threshold = -np.log10(0.05)
#     plt.axvline(x=threshold, color='red', linestyle='--', linewidth=1.5, label='Threshold (p=0.05)')

#     plt.title(f'Signifikansi Pola Null terhadap {target} (Fisher\'s Exact)\n(Semakin Panjang = Semakin Penting)', fontsize=14)
#     plt.xlabel('-Log10(P-Value)', fontsize=12)
#     plt.ylabel('Nama Fitur', fontsize=12)
#     plt.legend(loc='lower right')

#     # Label p-value asli di ujung tiap batang
#     for bar, p_val in zip(bars, df_results['P-Value']):
#         width = bar.get_width()
#         label = f'p={p_val:.4f}' if p_val >= 0.0001 else 'p<0.0001'
#         plt.text(width + 0.1, bar.get_y() + bar.get_height()/2, label,
#                  va='center', fontsize=9, color='black')

#     plt.tight_layout()
#     plt.show()

#     # Tampilkan (hanya yang signifikan)
#     print(f"Fitur dengan Pola Null Paling Signifikan untuk {target}:")
#     kolom_tampil = ['Fitur', 'P-Value', 'Odds_Ratio', 'Signifikan']
#     df_sig = df_results[df_results['P-Value'] < 0.05][kolom_tampil].sort_values(by='P-Value')

#     if len(df_sig) > 0:
#         print(df_sig.to_string(index=False))
#     else:
#         print("Tidak ada fitur yang pola null-nya signifikan terhadap target ini.")

#     print("\n")

#     # Simpan hasil untuk diekstrak nantinya
#     null_fisher_summaries[target] = df_results
# Pastikan fitur_lolos_tahap1 sudah terisi dari eksekusi kode sebelumnya
if 'fitur_lolos_tahap1' not in locals() or len(fitur_lolos_tahap1) == 0:
    print("Variabel 'fitur_lolos_tahap1' kosong. Jalankan dulu kode filter Tahap 1 (Batas Null >= 20).")
else:
    # Loop per target
    for target, fitur_list in fitur_lolos_tahap1.items():
        print(f"\n{'='*70}")
        print(f"VISUALISASI FISHER'S EXACT TEST: '{target}'")
        print(f"{'='*70}")

        if len(fitur_list) == 0:
            print(f"Tidak ada fitur yang lolos evaluasi Tahap 1 untuk target {target}. Lewati visualisasi.")
            continue

        # Filter baris yang targetnya valid (tidak null)
        df_subset = df_fitur[df_fitur[target].notnull()].copy()

        results = []

        for col in fitur_list:
            is_null = df_subset[col].isnull()
            target_0 = df_subset[target] == 0
            target_1 = df_subset[target] == 1

            # Hitung matriks kontingensi 2x2
            a = (~is_null & target_0).sum()
            b = (~is_null & target_1).sum()
            c = (is_null & target_0).sum()
            d = (is_null & target_1).sum()

            # Eksekusi Fisher's Exact Test
            odds_ratio, p_value = fisher_exact([[a, b], [c, d]])

            # Hitung -Log10 p-value (tambah 1e-100 agar tidak error log(0) jika p sangat kecil)
            log_p = -np.log10(p_value + 1e-100)

            results.append({
                'Fitur': col,
                'P-Value': p_value,
                'Log_P': log_p,
                'Odds_Ratio': odds_ratio,
                'Signifikan': 'Ya' if p_value < 0.05 else 'Tidak'
            })

        # Konversi ke DataFrame & urutkan dari yang paling signifikan
        df_results = pd.DataFrame(results).sort_values(by='Log_P', ascending=True)

        # ==========================================
        # BAGIAN PLOTTING (VISUALISASI)
        # ==========================================
        # Tinggi figur menyesuaikan jumlah fitur (minimal 4 inci agar tidak terlalu sempit)
        tinggi_fig = max(4, len(fitur_list) * 0.4)
        plt.figure(figsize=(12, tinggi_fig))

        # Warna batang: Hijau untuk signifikan (<0.05), Abu-abu untuk tidak signifikan
        colors = ['#2ecc71' if x == 'Ya' else '#95a5a6' for x in df_results['Signifikan']]

        bars = plt.barh(df_results['Fitur'], df_results['Log_P'], color=colors)

        # Garis batas signifikansi merah ( p = 0.05 => -log10(0.05) ~ 1.301 )
        threshold_val = -np.log10(0.05)
        plt.axvline(x=threshold_val, color='#e74c3c', linestyle='--', linewidth=2,
                    label=f'Threshold Signifikansi (p=0.05)')

        # Pengaturan label dan judul
        plt.title(f"Fisher's Exact Test: Kekuatan Sinyal Null terhadap {target}\n(Melewati Garis Merah = Signifikan)",
                  fontsize=14, fontweight='bold', pad=15)
        plt.xlabel('-Log10(P-Value)', fontsize=12, fontweight='bold')
        plt.ylabel('Nama Fitur (Hanya yang Null >= 20)', fontsize=12, fontweight='bold')

        # Tambahkan area abu-abu transparan untuk zona "Ditolak" (kiri garis merah)
        plt.axvspan(0, threshold_val, color='gray', alpha=0.1)

        plt.legend(loc='lower right', fontsize=10)

        # Menambahkan teks p-value asli di ujung tiap batang
        for bar, p_val in zip(bars, df_results['P-Value']):
            width = bar.get_width()
            # Format teks: jika p sangat kecil, tampilkan < 0.0001
            teks_label = f" p = {p_val:.4f}" if p_val >= 0.0001 else " p < 0.0001"

            plt.text(width + 0.05, bar.get_y() + bar.get_height()/2, teks_label,
                     va='center', fontsize=10, color='black', fontweight='bold')

        plt.tight_layout()
        plt.show()

        # Cetak Ringkasan Angka
        print(f"Ringkasan {target}:")
        jml_lolos = (df_results['P-Value'] < 0.05).sum()
        jml_gagal = len(df_results) - jml_lolos
        print(f"- Fitur Signifikan (Hijau) : {jml_lolos}")
        print(f"- Fitur Ditolak (Abu-abu)  : {jml_gagal}\n")

======================================================================
VISUALISASI FISHER'S EXACT TEST: 'target_distress_ppk'
======================================================================

Ringkasan target_distress_ppk:
- Fitur Signifikan (Hijau) : 8
- Fitur Ditolak (Abu-abu)  : 2


======================================================================
VISUALISASI FISHER'S EXACT TEST: 'target_distress_neg_equity'
======================================================================

Ringkasan target_distress_neg_equity:
- Fitur Signifikan (Hijau) : 5
- Fitur Ditolak (Abu-abu)  : 7


======================================================================
VISUALISASI FISHER'S EXACT TEST: 'target_distress_consecutive_loss'
======================================================================

Ringkasan target_distress_consecutive_loss:
- Fitur Signifikan (Hijau) : 7
- Fitur Ditolak (Abu-abu)  : 3
# 1. PERSIAPAN DICTIONARY PENYIMPANAN FINAL
fitur_lolos_tahap2_fisher = dict()

# Pastikan fitur_lolos_tahap1 sudah ada dari eksekusi sebelumnya
if 'fitur_lolos_tahap1' not in locals() or len(fitur_lolos_tahap1) == 0:
    print("Variabel 'fitur_lolos_tahap1' tidak ditemukan. Jalankan filter Tahap 1 terlebih dahulu.")
else:
    for target, fitur_list in fitur_lolos_tahap1.items():
        print(f"\n{'='*70}")
        print(f"TAHAP 2: EKSEKUSI FISHER'S EXACT TEST UNTUK '{target}'")
        print(f"{'='*70}")

        if len(fitur_list) == 0:
            print(f"Tidak ada fitur yang dievaluasi untuk {target}.")
            fitur_lolos_tahap2_fisher[target] = []
            continue

        df_subset = df_fitur[df_fitur[target].notnull()]
        lolos_fisher = []

        # Eksekusi uji statistik
        for col in fitur_list:
            is_null = df_subset[col].isnull()
            target_0 = df_subset[target] == 0
            target_1 = df_subset[target] == 1

            a = (~is_null & target_0).sum()
            b = (~is_null & target_1).sum()
            c = (is_null & target_0).sum()
            d = (is_null & target_1).sum()

            odds_ratio, p_value = fisher_exact([[a, b], [c, d]])

            # SIMPAN HANYA JIKA P-VALUE < 0.05
            if p_value < 0.05:
                lolos_fisher.append(col)

        # Simpan list fitur yang lolos ke dalam dictionary final
        fitur_lolos_tahap2_fisher[target] = lolos_fisher

        print(f"Dari {len(fitur_list)} fitur yang masuk, {len(lolos_fisher)} fitur LOLOS (p < 0.05).")
        print(f"Daftar tersimpan di: fitur_lolos_tahap2_fisher['{target}']")

======================================================================
TAHAP 2: EKSEKUSI FISHER'S EXACT TEST UNTUK 'target_distress_ppk'
======================================================================
Dari 10 fitur yang masuk, 8 fitur LOLOS (p < 0.05).
Daftar tersimpan di: fitur_lolos_tahap2_fisher['target_distress_ppk']

======================================================================
TAHAP 2: EKSEKUSI FISHER'S EXACT TEST UNTUK 'target_distress_neg_equity'
======================================================================
Dari 12 fitur yang masuk, 5 fitur LOLOS (p < 0.05).
Daftar tersimpan di: fitur_lolos_tahap2_fisher['target_distress_neg_equity']

======================================================================
TAHAP 2: EKSEKUSI FISHER'S EXACT TEST UNTUK 'target_distress_consecutive_loss'
======================================================================
Dari 10 fitur yang masuk, 7 fitur LOLOS (p < 0.05).
Daftar tersimpan di: fitur_lolos_tahap2_fisher['target_distress_consecutive_loss']

Kolom Terpilih untuk Missing Indicator

kolom_missing_indicator = fitur_lolos_tahap2_fisher.copy()

# cek hasil
for key_target in kolom_missing_indicator:
    print(f"Key: {key_target}")
    print('Kolom yang akan dibuatkan missing indicatornya:')
    print(kolom_missing_indicator[key_target])
    print()
Key: target_distress_ppk
Kolom yang akan dibuatkan missing indicatornya:
['Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'Percent Owned - Insiders (%)', 'CR', 'Prepaid_CA', 'NetDebt_EBITDA', 'Intang_TA', 'GrossMargin']

Key: target_distress_neg_equity
Kolom yang akan dibuatkan missing indicatornya:
['Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'CR', 'NetDebt_EBITDA', 'Altman_X4_MVE_TL']

Key: target_distress_consecutive_loss
Kolom yang akan dibuatkan missing indicatornya:
['Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'CR', 'Inventory_CA', 'Prepaid_CA', 'NetDebt_EBITDA', 'Sales_growth']
# # kolom_missing_indicator harus sudah terdefinisi

# if 'kolom_missing_indicator' not in locals() or len(kolom_missing_indicator) == 0:
#     print("Variabel 'kolom_missing_indicator' tidak ditemukan. Jalankan kode sebelumnya terlebih dahulu.")
# else:

#     # TAHAP FINAL: PEMBUATAN KOLOM BOOLEAN DI DF_FITUR
#     print(f"\n{'='*70}")
#     print("TAHAP FINAL: INJEKSI KOLOM '_is_missing' KE DF_FITUR")
#     print(f"{'='*70}")

#     # Mengumpulkan SEMUA fitur unik yang lolos dari setidaknya satu target
#     # Menggunakan 'set' untuk otomatis menghapus duplikat antar target
#     fitur_global_final = set()
#     for fitur_list in kolom_missing_indicator.values():
#         fitur_global_final.update(fitur_list)

#     fitur_global_final = list(fitur_global_final)

#     if len(fitur_global_final) > 0:
#         print(f"Ditemukan total {len(fitur_global_final)} fitur unik secara global.")
#         print("Memulai pembuatan kolom missing indicator...\n")

#         kolom_dibuat = 0
#         for col in fitur_global_final:
#             nama_kolom_baru = f"{col}_is_missing"

#             # Pengecekan agar tidak membuat kolom ganda jika kode dijalankan 2x
#             if nama_kolom_baru not in df_fitur.columns:
#                 # Membuat kolom biner (1 untuk null, 0 untuk ada isinya)
#                 df_fitur[nama_kolom_baru] = df_fitur[col].isnull().astype(int)
#                 print(f"[+] Dibuat: {nama_kolom_baru}")
#                 kolom_dibuat += 1
#             else:
#                 print(f"[-] Terlewati: {nama_kolom_baru} (Kolom sudah ada)")

#         print(f"\nSelesai! {kolom_dibuat} kolom baru berhasil ditambahkan ke df_fitur secara permanen.")
#     else:
#         print("Tidak ada satu pun fitur yang lolos uji Fisher dari seluruh target. Tidak ada kolom baru dibuat.")
# df_fitur

Cross Tab Terhadap Target

Digunakan untuk menganalisis perbedaan jika suatu fitur null atau tidak null memang menghasilkan perubahan proporsi distress.

pd.crosstab(df_fitur['Parent Percent Owned (%)'].isnull(), df_fitur['target_distress_consecutive_loss'])
target_distress_consecutive_loss 0 1
Parent Percent Owned (%)
False 2908 272
True 1687 293
pd.crosstab(df_fitur['Equity_TA'].isnull(), df_fitur['target_distress_consecutive_loss'])
target_distress_consecutive_loss 0 1
Equity_TA
False 4595 565
# Cek hasil crosstab kalau ada yang tanpa null
ct = pd.crosstab(df_fitur['Equity_TA'].isnull(), df_fitur['target_distress_consecutive_loss'])
ct = ct.reindex([False, True], fill_value=0) # TAMBAHAN AGAR ketika suatu col null semua, maka tetap terbuat 2 index (not null dan null)
ct.index = ['Not Null', 'Null']
ct
target_distress_consecutive_loss 0 1
Not Null 4595 565
Null 0 0
### NOTE: Kode tidak dipakai karena menampilkan semua kolom, bukan yang terpilih saja
### ---

# # Daftar Kolom Target
# targets = [col for col in df_fitur.columns if col.startswith('target')]

# # Tempat menyimpan hasil summary (untuk EDA/Analisis)
# null_ct_summaries = dict()

# # Pastikan missing_indicators_used_global sudah terdefinisi dari tahap sebelumnya
# if len(missing_indicators_used_global) == 0:
#     print("Tidak ada fitur di missing_indicators_used_global untuk divisualisasikan.")
# else:
#     # Loop per target
#     for target in targets:
#         print(f"\n{'='*60}")
#         print(f"ANALISIS PROPORSI DISTRESS {target} TERHADAP KETERISIAN DATA")
#         print(f"{'='*60}")

#         # Filter baris yang targetnya tidak null
#         df_check = df_fitur[df_fitur[target].notna()].copy()

#         summary_list = []

#         num_features = len(missing_indicators_used_global)
#         rows = (num_features // 4) + (1 if num_features % 4 != 0 else 0)

#         if rows == 0:
#             continue

#         fig, axes = plt.subplots(rows, 4, figsize=(20, 5 * rows))

#         # Penanganan dimensi axes
#         if num_features == 1:
#             axes = [axes]
#         else:
#             axes = axes.flatten()

#         for i, col in enumerate(missing_indicators_used_global):
#             # Hitung jumlah Null vs Not Null
#             is_null = df_check[col].isnull()
#             n_null = int(is_null.sum())
#             n_notnull = int((~is_null).sum())
#             total = n_null + n_notnull
#             prop_null = (n_null / total) if total > 0 else 0

#             # Hitung Crosstab proporsi
#             ct = pd.crosstab(is_null, df_check[target], normalize='index')

#             # Reindex agar matriks tetap 2x2
#             ct = ct.reindex(index=[False, True], fill_value=0)
#             ct = ct.reindex(columns=[0, 1], fill_value=0)
#             ct.index = ['Not Null', 'Null']

#             # Delta = P(1|Null) - P(1|Not Null)
#             delta = ct.loc['Null', 1] - ct.loc['Not Null', 1]

#             summary_list.append({
#                 'Fitur': col,
#                 'Total_Null': n_null,
#                 'Prop_Null (%)': prop_null * 100,
#                 'Delta_Prob_Target_1 (%)': delta * 100
#             })

#             # Plotting
#             ax = axes[i]
#             ct.plot(kind='bar', stacked=True, ax=ax, color=['#3498db', '#e74c3c'], legend=True)
#             ax.set_title(f"{col}\nNull: {prop_null:.2%}\nDelta Target 1: {delta:+.1%}",
#                          fontsize=10, fontweight='bold')

#             ax.set_xticklabels([f'Ada\n(n={n_notnull})', f'Null\n(n={n_null})'], rotation=0)
#             ax.set_xlabel('')

#             # Label persen pada bagian merah (Target=1)
#             if len(ax.containers) > 1:
#                 for bar in ax.containers[1]:
#                     height = bar.get_height()
#                     if height > 0.05:
#                         ax.text(bar.get_x() + bar.get_width()/2, bar.get_y() + height/2,
#                                 f'{height:.1%}', ha='center', va='center',
#                                 color='white', fontweight='bold', fontsize=9)

#         # Hapus axes sisa
#         for j in range(i + 1, len(axes)):
#             fig.delaxes(axes[j])

#         plt.tight_layout()
#         plt.show()

#         # =========================
#         # RINGKASAN SELURUH FITUR
#         # =========================
#         df_summary = pd.DataFrame(summary_list)

#         # Urutkan berdasarkan besarnya pengaruh (Absolute Delta)
#         df_summary = df_summary.sort_values(by='Delta_Prob_Target_1 (%)', key=abs, ascending=False)

#         null_ct_summaries[target] = df_summary

#         print(f"\nRingkasan Pengaruh Seluruh Missing Indicator terhadap {target}:")
#         print(df_summary.to_string(index=False))
#         print("\n" + "-"*60)
# Tempat menyimpan hasil summary (untuk EDA/Analisis)
null_ct_summaries = dict()

# Pastikan fitur_lolos_tahap2_fisher sudah terdefinisi dari tahap sebelumnya
if 'fitur_lolos_tahap2_fisher' not in locals() or len(fitur_lolos_tahap2_fisher) == 0:
    print("Dictionary fitur_lolos_tahap2_fisher belum terdefinisi. Silakan jalankan tahap eksekusi Fisher's Exact Test sebelumnya.")
else:
    # Loop per target berdasarkan key dan list fitur yang ada di dictionary
    for target, fitur_terpilih in fitur_lolos_tahap2_fisher.items():
        print(f"\n{'='*60}")
        print(f"ANALISIS PROPORSI DISTRESS {target} TERHADAP KETERISIAN DATA")
        print(f"{'='*60}")

        if len(fitur_terpilih) == 0:
            print(f"Tidak ada fitur missing indicator yang lolos uji Fisher untuk {target}. Melewati visualisasi.")
            continue

        # Filter baris yang targetnya tidak null
        df_check = df_fitur[df_fitur[target].notna()].copy()

        summary_list = []

        # Menyesuaikan jumlah fitur dengan list fitur yang lolos per target
        num_features = len(fitur_terpilih)
        rows = (num_features // 4) + (1 if num_features % 4 != 0 else 0)

        if rows == 0:
            continue

        fig, axes = plt.subplots(rows, 4, figsize=(20, 5 * rows))

        # Penanganan dimensi axes
        if num_features == 1:
            axes = [axes]
        else:
            axes = axes.flatten()

        # Iterasi hanya pada fitur yang lolos untuk target saat ini
        for i, col in enumerate(fitur_terpilih):
            # Hitung jumlah Null vs Not Null
            is_null = df_check[col].isnull()
            n_null = int(is_null.sum())
            n_notnull = int((~is_null).sum())
            total = n_null + n_notnull
            prop_null = (n_null / total) if total > 0 else 0

            # Hitung Crosstab proporsi
            ct = pd.crosstab(is_null, df_check[target], normalize='index')

            # Reindex agar matriks tetap 2x2
            ct = ct.reindex(index=[False, True], fill_value=0)
            ct = ct.reindex(columns=[0, 1], fill_value=0)
            ct.index = ['Not Null', 'Null']

            # Delta = P(1|Null) - P(1|Not Null)
            delta = ct.loc['Null', 1] - ct.loc['Not Null', 1]

            summary_list.append({
                'Fitur': col,
                'Total_Null': n_null,
                'Prop_Null (%)': prop_null * 100,
                'Delta_Prob_Target_1 (%)': delta * 100
            })

            # Plotting
            ax = axes[i]
            ct.plot(kind='bar', stacked=True, ax=ax, color=['#3498db', '#e74c3c'], legend=True)
            ax.set_title(f"{col}\nNull: {prop_null:.2%}\nDelta Target 1: {delta:+.1%}",
                         fontsize=10, fontweight='bold')

            ax.set_xticklabels([f'Ada\n(n={n_notnull})', f'Null\n(n={n_null})'], rotation=0)
            ax.set_xlabel('')

            # Label persen pada bagian merah (Target=1)
            if len(ax.containers) > 1:
                for bar in ax.containers[1]:
                    height = bar.get_height()
                    if height > 0.05:
                        ax.text(bar.get_x() + bar.get_width()/2, bar.get_y() + height/2,
                                f'{height:.1%}', ha='center', va='center',
                                color='white', fontweight='bold', fontsize=9)

        # Hapus axes sisa
        for j in range(i + 1, len(axes)):
            fig.delaxes(axes[j])

        plt.tight_layout()
        plt.show()

        # =========================
        # RINGKASAN SELURUH FITUR
        # =========================
        df_summary = pd.DataFrame(summary_list)

        # Urutkan berdasarkan besarnya pengaruh (Absolute Delta)
        df_summary = df_summary.sort_values(by='Delta_Prob_Target_1 (%)', key=abs, ascending=False)

        null_ct_summaries[target] = df_summary

        print(f"\nRingkasan Pengaruh Seluruh Missing Indicator yang Lolos terhadap {target}:")
        print(df_summary.to_string(index=False))
        print("\n" + "-"*60)

============================================================
ANALISIS PROPORSI DISTRESS target_distress_ppk TERHADAP KETERISIAN DATA
============================================================


Ringkasan Pengaruh Seluruh Missing Indicator yang Lolos terhadap target_distress_ppk:
                               Fitur  Total_Null  Prop_Null (%)  Delta_Prob_Target_1 (%)
                         GrossMargin          52       2.013163               -16.224964
Percent Owned - All Institutions (%)        1280      49.554781                12.741330
                                  CR         207       8.013937               -10.435881
            Parent Percent Owned (%)        1137      44.018583                 8.720262
                          Prepaid_CA         447      17.305459                 6.964030
                      NetDebt_EBITDA         300      11.614402                -6.876478
        Percent Owned - Insiders (%)         697      26.984127                 6.559167
                           Intang_TA        1579      61.130468                 4.926210

------------------------------------------------------------

============================================================
ANALISIS PROPORSI DISTRESS target_distress_neg_equity TERHADAP KETERISIAN DATA
============================================================


Ringkasan Pengaruh Seluruh Missing Indicator yang Lolos terhadap target_distress_neg_equity:
                               Fitur  Total_Null  Prop_Null (%)  Delta_Prob_Target_1 (%)
                    Altman_X4_MVE_TL          21       0.327971                17.292683
Percent Owned - All Institutions (%)        2773      43.307824                 1.829616
            Parent Percent Owned (%)        2638      41.199438                 1.818553
                                  CR         567       8.855224                -1.794161
                      NetDebt_EBITDA         923      14.415118                -1.230655

------------------------------------------------------------

============================================================
ANALISIS PROPORSI DISTRESS target_distress_consecutive_loss TERHADAP KETERISIAN DATA
============================================================


Ringkasan Pengaruh Seluruh Missing Indicator yang Lolos terhadap target_distress_consecutive_loss:
                               Fitur  Total_Null  Prop_Null (%)  Delta_Prob_Target_1 (%)
Percent Owned - All Institutions (%)        2082      40.348837                 8.698432
                        Sales_growth         722      13.992248                 7.881754
                                  CR         520      10.077519                -6.830239
            Parent Percent Owned (%)        1980      38.372093                 6.244521
                      NetDebt_EBITDA         798      15.465116                -5.392608
                        Inventory_CA         778      15.077519                -3.660980
                          Prepaid_CA         809      15.678295                 3.139667

------------------------------------------------------------

Crosstab Perubahan Proporsi Distress tidak digunakan untuk filtering karena sudah terevaluasi dengan Fisher’s Exact Test, hanya untuk kebutuhan visualisasi saja.

Phi Coef Visualization

from sklearn.metrics import matthews_corrcoef

if 'kolom_missing_indicator' not in locals() or len(kolom_missing_indicator) == 0:
    print("Dictionary 'kolom_missing_indicator' kosong atau belum terdefinisi.")
else:
    # Loop untuk setiap target
    for target, fitur_terpilih in kolom_missing_indicator.items():
        print(f"\n{'='*70}")
        print(f"VISUALISASI PHI COEFFICIENT (EFFECT SIZE): '{target}'")
        print(f"{'='*70}")

        if len(fitur_terpilih) == 0:
            print(f"Tidak ada fitur yang lolos untuk target {target}. Lewati visualisasi.")
            continue

        # Filter baris yang targetnya valid (tidak null)
        df_subset = df_fitur[df_fitur[target].notnull()].copy()

        # Ekstrak label target (1/0)
        y_true = df_subset[target].astype(int)

        results = []

        # Hitung Phi untuk masing-masing fitur
        for col in fitur_terpilih:
            # Buat array biner: 1 jika Null, 0 jika ada datanya
            is_missing_array = df_subset[col].isnull().astype(int)

            # Hitung Phi Coefficient (MCC)
            phi_score = matthews_corrcoef(y_true, is_missing_array)

            results.append({
                'Fitur': col,
                'Phi_Coefficient': phi_score,
                'Abs_Phi': abs(phi_score)
            })

        # ==========================================
        # PERUBAHAN DI SINI: Urutkan berdasarkan Phi asli
        # ascending=True agar di bar chart, nilai positif tertinggi ada di atas
        # ==========================================
        df_phi = pd.DataFrame(results).sort_values(by='Phi_Coefficient', ascending=True)

        # ==========================================
        # BAGIAN PLOTTING (VISUALISASI)
        # ==========================================
        tinggi_fig = max(4, len(fitur_terpilih) * 0.4)
        plt.figure(figsize=(10, tinggi_fig))

        colors = ['#ff9999' if val > 0 else '#87ceeb' for val in df_phi['Phi_Coefficient']]

        bars = plt.barh(df_phi['Fitur'], df_phi['Phi_Coefficient'], color=colors)

        # Tambahkan garis vertikal di titik 0
        plt.axvline(x=0, color='black', linestyle='-', linewidth=1.5)

        # Pengaturan label dan judul
        plt.title(f"Arah & Kekuatan Hubungan (Phi Coefficient) terhadap {target}\n(Diurutkan dari Paling Negatif ke Paling Positif)",
                  fontsize=12, fontweight='bold', pad=15)
        plt.xlabel('Phi Coefficient (\u03C6)', fontsize=11, fontweight='bold')
        plt.ylabel('Missing Indicator', fontsize=11, fontweight='bold')

        # Menambahkan nilai teks di ujung setiap batang
        for bar, phi_val in zip(bars, df_phi['Phi_Coefficient']):
            if phi_val > 0:
                pos_x = bar.get_width() + 0.005
                alignment = 'left'
            else:
                pos_x = bar.get_width() - 0.005
                alignment = 'right'

            plt.text(pos_x, bar.get_y() + bar.get_height()/2, f"{phi_val:+.3f}",
                     va='center', ha=alignment, fontsize=10, color='black')

        # Limit sumbu X agar simetris
        max_val = df_phi['Abs_Phi'].max()
        plt.xlim(-(max_val + 0.05), (max_val + 0.05))

        # Legenda Kustom
        from matplotlib.patches import Patch
        legend_elements = [
            Patch(facecolor='#ff9999', label='Positif (+): Jika Null, Risiko Distress Naik'),
            Patch(facecolor='#87ceeb', label='Negatif (-): Jika Null, Risiko Distress Turun (Aman)')
        ]
        plt.legend(handles=legend_elements, loc='best', fontsize=9)

        plt.tight_layout()
        plt.show()

        # Cetak Ringkasan Angka
        print(f"Hasil Phi Coeff untuk {target}:")
        df_top = df_phi.sort_values(by='Phi_Coefficient', ascending=False)
        print(df_top[['Fitur', 'Phi_Coefficient']].to_string(index=False))
        print("\n")

======================================================================
VISUALISASI PHI COEFFICIENT (EFFECT SIZE): 'target_distress_ppk'
======================================================================

Hasil Phi Coeff untuk target_distress_ppk:
                               Fitur  Phi_Coefficient
Percent Owned - All Institutions (%)         0.160032
            Parent Percent Owned (%)         0.108745
        Percent Owned - Insiders (%)         0.073139
                          Prepaid_CA         0.066181
                           Intang_TA         0.060323
                      NetDebt_EBITDA        -0.055347
                         GrossMargin        -0.057246
                                  CR        -0.071179



======================================================================
VISUALISASI PHI COEFFICIENT (EFFECT SIZE): 'target_distress_neg_equity'
======================================================================

Hasil Phi Coeff untuk target_distress_neg_equity:
                               Fitur  Phi_Coefficient
                    Altman_X4_MVE_TL         0.074131
Percent Owned - All Institutions (%)         0.067973
            Parent Percent Owned (%)         0.067111
                      NetDebt_EBITDA        -0.032410
                                  CR        -0.038217



======================================================================
VISUALISASI PHI COEFFICIENT (EFFECT SIZE): 'target_distress_consecutive_loss'
======================================================================

Hasil Phi Coeff untuk target_distress_consecutive_loss:
                               Fitur  Phi_Coefficient
Percent Owned - All Institutions (%)         0.136662
            Parent Percent Owned (%)         0.097247
                        Sales_growth         0.087562
                          Prepaid_CA         0.036558
                        Inventory_CA        -0.041952
                      NetDebt_EBITDA        -0.062442
                                  CR        -0.065846

Sebaran Tahun Fiskal

targets = [col for col in df_fitur.columns if col.startswith('target')]

for target in targets:
    print('\nSebaran Baris Data pada Tiap Tahun Fiskal untuk Target', target, ':')
    print(df_fitur[df_fitur[target].notna()]['Year'].value_counts().sort_index())

Sebaran Baris Data pada Tiap Tahun Fiskal untuk Target target_distress_ppk :
Year
2020    611
2021    654
2022    667
2023    651
Name: count, dtype: Int64

Sebaran Baris Data pada Tiap Tahun Fiskal untuk Target target_distress_neg_equity :
Year
2008    291
2009    302
2010    310
2011    328
2012    347
2013    370
2014    395
2015    417
2016    432
2017    440
2018    469
2019    514
2020    557
2021    596
2022    635
Name: count, dtype: Int64

Sebaran Baris Data pada Tiap Tahun Fiskal untuk Target target_distress_consecutive_loss :
Year
2008    302
2009    287
2010    289
2011    303
2012    315
2013    331
2014    344
2015    346
2016    340
2017    336
2018    354
2019    386
2020    401
2021    399
2022    427
Name: count, dtype: Int64
# --- 1. Persiapan Target ---
targets = [col for col in df_fitur.columns if col.startswith('target')]

# --- 2. Setup Canvas (1 Baris, 3 Kolom) ---
# figsize=(18, 6) memberikan rasio yang pas untuk 3 chart berdampingan
fig, axes = plt.subplots(1, len(targets), figsize=(18, 6))

# Handle jika target hanya 1 (bungkus jadi list agar loop aman)
if len(targets) == 1:
    axes = [axes]

# --- 3. Loop Visualisasi ---
for i, target in enumerate(targets):
    ax = axes[i]

    # A. Olah Data
    # Filter notna -> ambil kolom Year -> hitung -> urutkan tahun
    data_counts = df_fitur[df_fitur[target].notna()]['Year'].value_counts().sort_index()

    # Ubah index tahun menjadi string agar jarak antar bar rapi
    x = data_counts.index.astype(str)
    y = data_counts.values

    # B. Plot Bar (Volume)
    bars = ax.bar(x, y, color='#3498db', alpha=0.6, label='Jumlah Data', zorder=2)

    # C. Plot Line (Tren)
    ax.plot(x, y, color='#e74c3c', marker='o', linewidth=2, markersize=6, label='Tren', zorder=3)

    # D. Anotasi Angka (Label)
    # Menambahkan angka di atas bar/titik
    for j, val in enumerate(y):
        ax.text(j, val + (val * 0.02), # Posisi sedikit di atas nilai asli
                f'{val}',
                ha='center', va='bottom', fontsize=10, fontweight='normal') # Font tidak bold

    # E. Kosmetik & Layout
    target_name = ""
    if target == 'target_distress_ppk':
        target_name = 'Papan Pemantauan Khusus'
    elif target == 'target_distress_neg_equity':
        target_name = 'Ekuitas Negatif'
    elif target == 'target_distress_consecutive_loss':
        target_name = 'Rugi Bersih 2 Tahun Berturut-turut'
    else:
        target_name = target
    ax.set_title(f'Sebaran Data Point pada Tahun Fiskal untuk Target\nDistress {target_name}', fontsize=12, fontweight='bold')
    ax.set_xlabel('Tahun Fiskal')
    ax.set_ylabel('Jumlah Baris Data')

    # Grid di belakang
    ax.grid(axis='y', linestyle='--', alpha=0.5, zorder=0)

    # [PERBAIKAN 1] Rotasi Label Sumbu X Vertikal (90 derajat)
    ax.tick_params(axis='x', rotation=90)

    # [PERBAIKAN 2] Menambah Headroom Sumbu Y
    # Kita ambil nilai maksimum y, lalu tambah 15% agar angka tidak mentok atas
    y_max = max(y)
    ax.set_ylim(0, y_max * 1.15)

# Agar layout rapi dan judul tidak saling tabrak
plt.tight_layout()
plt.show()

# --- 1. Persiapan Target ---
targets = [col for col in df_fitur.columns if col.startswith('target')]

# --- 2. Setup Canvas ---
fig, axes = plt.subplots(1, len(targets), figsize=(18, 7))

if len(targets) == 1:
    axes = [axes]

# --- 3. Loop Visualisasi ---
for i, target in enumerate(targets):
    ax = axes[i]

    # A. Mapping Nama Target
    target_name = ""
    if target == 'target_distress_ppk':
        target_name = 'Papan Pemantauan Khusus'
    elif target == 'target_distress_neg_equity':
        target_name = 'Ekuitas Negatif'
    elif target == 'target_distress_consecutive_loss':
        target_name = 'Rugi Bersih 2 Tahun Berturut-turut'
    else:
        target_name = target

    # B. Olah Data (Kumulatif)
    counts = df_fitur[df_fitur[target].notna()]['Year'].value_counts().sort_index()
    cumsum_values = counts.cumsum()
    total_data = counts.sum()
    cumsum_pct = (cumsum_values / total_data) * 100

    x = counts.index.astype(str)
    y = cumsum_values.values
    pcts = cumsum_pct.values

    # C. Logika Pewarnaan (Train vs Test)
    # Jika persentase kumulatif <= 80%, anggap sebagai Train (Kuning)
    # Sisanya adalah Test (Biru)
    colors = []
    for pct in pcts:
        if pct <= 80.0:
            colors.append('#f1c40f') # Kuning Emas (Train)
        else:
            colors.append('#3498db') # Biru (Test)

    # D. Plot Bar dengan List Warna
    bars = ax.bar(x, y, color=colors, alpha=0.85, edgecolor='black', linewidth=0.5)

    # E. Anotasi Angka
    for j, (val, pct) in enumerate(zip(y, pcts)):
        label_text = f"{val}\n({pct:.1f}%)"
        ax.text(j, val + (total_data * 0.02),
                label_text,
                ha='center', va='bottom', fontsize=9, fontweight='normal', color='black')

    # F. Garis Ambang Batas
    limit_70 = total_data * 0.70
    limit_80 = total_data * 0.80

    ax.axhline(limit_70, color='#e67e22', linestyle='--', linewidth=1.5, alpha=0.7) # Garis 70%
    ax.axhline(limit_80, color='#c0392b', linestyle='--', linewidth=2)    # Garis 80% (Batas Split)

    # G. Legenda Manual (Kuning vs Biru)
    legend_elements = [
        Patch(facecolor='#f1c40f', edgecolor='black', label='Dataset Train'),
        Patch(facecolor='#3498db', edgecolor='black', label='Dataset Test'),
        plt.Line2D([0], [0], color='#e67e22', linestyle='--', label='Threshold 70%'),
        plt.Line2D([0], [0], color='#c0392b', linestyle='--', label='Threshold 80%')
    ]
    ax.legend(handles=legend_elements, loc='upper left', fontsize='small')

    # H. Kosmetik
    ax.set_title(f'Simulasi Time-Based Split (Train vs Test)\nTarget: {target_name}', fontsize=12, fontweight='bold')
    ax.set_xlabel('Tahun Fiskal')
    ax.set_ylabel('Total Data Point Terakumulasi')
    ax.grid(axis='y', linestyle=':', alpha=0.4)
    ax.tick_params(axis='x', rotation=90)
    ax.set_ylim(0, total_data * 1.35) # Headroom

plt.tight_layout()
plt.show()

Sebaran Label Target (Terprediksi Akan Distress)

targets = [col for col in df_fitur.columns if col.startswith('target')]

for target in targets:
    distress_count = (df_fitur[target]==1).sum()
    all_count_per_indicator = df_fitur[target].notna().sum()
    prop = round(distress_count/all_count_per_indicator*100, 2)
    print('\nSebaran Tahun Fiskal pada Target', target, ':')
    print(df_fitur[(df_fitur[target].notna()) & (df_fitur[target]==1)]['Year'].value_counts().sort_index())
    print('Total ada',distress_count,'baris data yang dilabeli distress dari',all_count_per_indicator,'total data (',prop,'% )')

Sebaran Tahun Fiskal pada Target target_distress_ppk :
Year
2020     44
2021     92
2022    168
2023    206
Name: count, dtype: Int64
Total ada 510 baris data yang dilabeli distress dari 2583 total data ( 19.74 % )

Sebaran Tahun Fiskal pada Target target_distress_neg_equity :
Year
2008     4
2009     3
2010     4
2011     5
2012     3
2013     2
2014     5
2015    11
2016    10
2017     9
2018    13
2019    13
2020    14
2021     9
2022    11
Name: count, dtype: Int64
Total ada 116 baris data yang dilabeli distress dari 6403 total data ( 1.81 % )

Sebaran Tahun Fiskal pada Target target_distress_consecutive_loss :
Year
2008    36
2009    13
2010    16
2011    19
2012    21
2013    33
2014    43
2015    42
2016    32
2017    29
2018    49
2019    74
2020    63
2021    42
2022    53
Name: count, dtype: Int64
Total ada 565 baris data yang dilabeli distress dari 5160 total data ( 10.95 % )
# --- 1. Persiapan Target ---
targets = [col for col in df_fitur.columns if col.startswith('target')]

# --- 2. Setup Canvas (1 Baris, 3 Kolom) ---
# figsize=(18, 6) memberikan rasio yang pas untuk 3 chart berdampingan
fig, axes = plt.subplots(1, len(targets), figsize=(18, 6))

# Handle jika target hanya 1 (bungkus jadi list agar loop aman)
if len(targets) == 1:
    axes = [axes]

# --- 3. Loop Visualisasi ---
for i, target in enumerate(targets):
    ax = axes[i]

    # A. Olah Data
    # Filter notna -> ambil kolom Year -> hitung -> urutkan tahun
    data_counts = df_fitur[(df_fitur[target].notna()) & (df_fitur[target]==1)]['Year'].value_counts().sort_index()

    # Ubah index tahun menjadi string agar jarak antar bar rapi
    x = data_counts.index.astype(str)
    y = data_counts.values

    # B. Plot Bar (Volume)
    bars = ax.bar(x, y, color='#3498db', alpha=0.6, label='Jumlah Label Distress', zorder=2)

    # C. Plot Line (Tren)
    ax.plot(x, y, color='#e74c3c', marker='o', linewidth=2, markersize=6, label='Tren', zorder=3)

    # D. Anotasi Angka (Label)
    # Menambahkan angka di atas bar/titik
    for j, val in enumerate(y):
        ax.text(j, val + (val * 0.02), # Posisi sedikit di atas nilai asli
                f'{val}',
                ha='center', va='bottom', fontsize=10, fontweight='normal') # Font tidak bold

    # E. Kosmetik & Layout
    target_name = ""
    if target == 'target_distress_ppk':
        target_name = 'Papan Pemantauan Khusus'
    elif target == 'target_distress_neg_equity':
        target_name = 'Ekuitas Negatif'
    elif target == 'target_distress_consecutive_loss':
        target_name = 'Rugi Bersih 2 Tahun Berturut-turut'
    else:
        target_name = target
    ax.set_title(f'Sebaran Label Distress (Target = 1)\nTarget Distress : {target_name}', fontsize=12, fontweight='bold')
    ax.set_xlabel('Tahun Fiskal')
    ax.set_ylabel('Jumlah Baris dengan Label Distress')

    # Grid di belakang
    ax.grid(axis='y', linestyle='--', alpha=0.5, zorder=0)

    # [PERBAIKAN 1] Rotasi Label Sumbu X Vertikal (90 derajat)
    ax.tick_params(axis='x', rotation=90)

    # [PERBAIKAN 2] Menambah Headroom Sumbu Y
    # Kita ambil nilai maksimum y, lalu tambah 15% agar angka tidak mentok atas
    y_max = max(y)
    ax.set_ylim(0, y_max * 1.15)

# Agar layout rapi dan judul tidak saling tabrak
plt.tight_layout()
plt.show()

# --- 1. Persiapan Target ---
targets = [col for col in df_fitur.columns if col.startswith('target')]

# --- 2. Setup Canvas ---
fig, axes = plt.subplots(1, len(targets), figsize=(18, 7))

# Handle jika target hanya 1
if len(targets) == 1:
    axes = [axes]

# --- 3. Loop Visualisasi ---
for i, target in enumerate(targets):
    ax = axes[i]

    # A. Mapping Nama Target
    target_name = ""
    if target == 'target_distress_ppk':
        target_name = 'Papan Pemantauan Khusus'
    elif target == 'target_distress_neg_equity':
        target_name = 'Ekuitas Negatif'
    elif target == 'target_distress_consecutive_loss':
        target_name = 'Rugi Bersih 2 Tahun Berturut-turut'
    else:
        target_name = target

    # B. Olah Data (FILTER HANYA TARGET == 1)
    # Filter notna DAN target==1 -> ambil kolom Year -> hitung -> urutkan tahun
    counts = df_fitur[(df_fitur[target].notna()) & (df_fitur[target] == 1)]['Year'].value_counts().sort_index()

    # Hitung Kumulatif
    cumsum_values = counts.cumsum()
    total_distress = counts.sum() # Total kasus distress
    cumsum_pct = (cumsum_values / total_distress) * 100

    x = counts.index.astype(str)
    y = cumsum_values.values
    pcts = cumsum_pct.values

    # C. Logika Pewarnaan (Train vs Test berdasarkan akumulasi Distress)
    colors = []
    for pct in pcts:
        if pct <= 80.0:
            colors.append('#f1c40f') # Kuning Emas (Train)
        else:
            colors.append('#3498db') # Biru (Test)

    # D. Plot Bar
    bars = ax.bar(x, y, color=colors, alpha=0.85, edgecolor='black', linewidth=0.5)

    # E. Anotasi Angka
    for j, (val, pct) in enumerate(zip(y, pcts)):
        label_text = f"{val}\n({pct:.1f}%)"
        ax.text(j, val + (total_distress * 0.02),
                label_text,
                ha='center', va='bottom', fontsize=9, fontweight='normal', color='black')

    # F. Garis Ambang Batas (Berdasarkan Total Distress)
    limit_70 = total_distress * 0.70
    limit_80 = total_distress * 0.80

    ax.axhline(limit_70, color='#e67e22', linestyle='--', linewidth=1.5, alpha=0.7)
    ax.axhline(limit_80, color='#c0392b', linestyle='--', linewidth=2)

    # G. Legenda Manual
    legend_elements = [
        Patch(facecolor='#f1c40f', edgecolor='black', label='Train'),
        Patch(facecolor='#3498db', edgecolor='black', label='Test'),
        plt.Line2D([0], [0], color='#e67e22', linestyle='--', label='Threshold 70%'),
        plt.Line2D([0], [0], color='#c0392b', linestyle='--', label='Threshold 80%')
    ]
    ax.legend(handles=legend_elements, loc='upper left', fontsize='small')

    # H. Kosmetik
    ax.set_title(f'Akumulasi Label Distress (Target=1)\nTarget: {target_name}', fontsize=12, fontweight='bold')
    ax.set_xlabel('Tahun Fiskal')
    ax.set_ylabel('Total Kumulatif Label Distress')
    ax.grid(axis='y', linestyle=':', alpha=0.4)
    ax.tick_params(axis='x', rotation=90)

    # Headroom
    ax.set_ylim(0, total_distress * 1.35)

plt.tight_layout()
plt.show()

Semuanya selaras dengan proporsi split train test berdasarkan jumlah kumulatif baris data per tahun fiskal pada bagian sebelumnya. Untuk itu, split dataset berlabel distress papan pemantauan khusus dilakukan pada tahun 2022, sedangkan untuk label distress ekuitas negatif dan rugi 2 tahun berturut-turut pada tahun 2019.

Untuk label target papan pemantauan khusus, perbedaan proporsi sebaran label antara train dan test cukup signifikan dari threshold : - Ada 74.6% baris data yang masuk train untuk label papan pemantauan khusus. - Namun, hanya 58.7% saja baris berlabel distress yang masuk ke train.

Tapi tidak masalah karena split di tahun tersebut sudah yang paling mendekati.

DatPrep : Lanjutan FeatEng

Hapus Kolom Industri

Kolom Industri dipertahankan karena untuk keperluan imputasi di dalam tiap fold pada saat cross validation.

# df_fitur = df_fitur.drop(columns=['Industry Group'])
# df_fitur.head(3)

Ubah Penamaan Key Dict Missing Indicator

# Membuat key baru sambil ambil & hapus isi dari key lama
kolom_missing_indicator['ppk'] = kolom_missing_indicator.pop('target_distress_ppk')
kolom_missing_indicator['negeq'] = kolom_missing_indicator.pop('target_distress_neg_equity')
kolom_missing_indicator['conloss'] = kolom_missing_indicator.pop('target_distress_consecutive_loss')

# cek hasil
for key_target in kolom_missing_indicator:
    print(f"Key: {key_target}")
    print('Kolom yang akan dibuatkan missing indicatornya:')
    print(kolom_missing_indicator[key_target])
    print()
Key: ppk
Kolom yang akan dibuatkan missing indicatornya:
['Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'Percent Owned - Insiders (%)', 'CR', 'Prepaid_CA', 'NetDebt_EBITDA', 'Intang_TA', 'GrossMargin']

Key: negeq
Kolom yang akan dibuatkan missing indicatornya:
['Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'CR', 'NetDebt_EBITDA', 'Altman_X4_MVE_TL']

Key: conloss
Kolom yang akan dibuatkan missing indicatornya:
['Parent Percent Owned (%)', 'Percent Owned - All Institutions (%)', 'CR', 'Inventory_CA', 'Prepaid_CA', 'NetDebt_EBITDA', 'Sales_growth']

Split Jenis Target Financial Distress

cols_distress = [col for col in df_fitur.columns if col.startswith('target') or col.startswith('tahun')]
cols_distress
['target_distress_ppk',
 'tahun_distress_ppk',
 'target_distress_neg_equity',
 'tahun_distress_neg_equity',
 'target_distress_consecutive_loss',
 'tahun_distress_consecutive_loss']
[col for col in cols_distress if not col.endswith('ppk')] # tes aja
['target_distress_neg_equity',
 'tahun_distress_neg_equity',
 'target_distress_consecutive_loss',
 'tahun_distress_consecutive_loss']

Pisahkan dataset untuk masing-masing jenis indikator distress dengan melakukan :
- Pilih kolom label target yang bersesuaian, pilih yang tidak null - Drop kolom-kolom dari indikator lain - Rename kolom target dan tahun distress agar selaras semua

# Papan Pemantauan Khusus
df_fitur_ppk = (df_fitur[df_fitur['target_distress_ppk'].notna()]
                .drop([col for col in cols_distress if not col.endswith('ppk')], axis=1)
                .rename(columns=lambda x: x.removesuffix('_ppk'))
                ).reset_index(drop=True)

# Ekuitas Negatif
df_fitur_negeq = (df_fitur[df_fitur['target_distress_neg_equity'].notna()]
                  .drop([col for col in cols_distress if not col.endswith('neg_equity')], axis=1)
                  .rename(columns=lambda x: x.removesuffix('_neg_equity'))
                  ).reset_index(drop=True)

# Rugi 2 Tahun Berturut-turut
df_fitur_conloss = (df_fitur[df_fitur['target_distress_consecutive_loss'].notna()]
                    .drop([col for col in cols_distress if not col.endswith('consecutive_loss')], axis=1)
                    .rename(columns=lambda x: x.removesuffix('_consecutive_loss'))
                    ).reset_index(drop=True)
print('=== Dataset Fitur dengan Label Distress Papan Pemantauan Khusus yang berukuran',df_fitur_ppk.shape,'===')
df_fitur_ppk.head(3)
=== Dataset Fitur dengan Label Distress Papan Pemantauan Khusus yang berukuran (2583, 75) ===
ticker Year Entity Name target_distress tahun_distress Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) CR QR Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2020 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 3.313000 1.322000 9 23 0.220417 0.213737 0.064522 0.035236 0.546102 0.421875 NaN 0.307166 0.210873 0.304362 0.692834 1.609740 0.638614 NaN 0.149215 0.061495 2.779863 0.676969 0.032172 0.046435 0.109109 0.159371 0.090839 0.047524 0.083588 0.272125 0.123473 0.021436 464.375964 9771.474517 1206.514302 17.139871 16.749742 16.981904 1.232442 0.077599 2.668607 0.029922 0.014188 0.796850 False False False False False False False False False True False False False False False False False False False False False False
1 AALI 2021 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.579000 0.752000 9 24 0.142003 0.309679 0.196066 0.128159 0.653652 0.359192 NaN 0.303578 0.191385 0.274811 0.696422 0.445443 0.584911 NaN 0.113613 0.100867 1.981262 0.800070 0.068006 0.097650 0.141938 0.200637 0.126072 0.085000 0.161024 0.530422 0.201263 0.095959 1074.128192 12636.876102 2543.330739 17.229950 17.006894 16.721566 0.863653 0.293241 1.313057 0.094261 0.099927 1.107999 False False False False False False False False False True False False False False False False False False False False False False
2 AALI 2022 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 3.600000 1.227000 9 25 0.244527 0.252676 0.070188 0.055373 0.788926 0.464748 NaN 0.239531 0.138593 0.182247 0.760469 0.656024 0.615273 NaN 0.182489 0.083667 2.204591 0.746293 0.061268 0.080566 0.126856 0.167314 0.112109 0.082096 0.062750 0.261971 0.084082 -0.077828 931.085812 11341.364015 953.607381 17.191368 16.898731 16.552836 0.694397 -0.102518 -0.133171 -0.037848 0.050637 -0.625056 False False False False False False False False False True False False False False False False False False False False False False
print('=== Dataset Fitur dengan Label Distress Ekuitas Negatif yang berukuran',df_fitur_negeq.shape,'===')
df_fitur_negeq.head(3)
=== Dataset Fitur dengan Label Distress Ekuitas Negatif yang berukuran (6403, 75) ===
ticker Year Entity Name target_distress tahun_distress Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) CR QR Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.944000 0.878000 9 11 0.117567 0.303024 0.155859 0.133083 0.853871 0.395495 0.018945 0.181481 0.000000 0.000000 0.818519 -0.239907 0.632481 NaN 0.147166 0.517036 13.042854 1.251761 0.416504 0.508850 0.554729 0.466033 0.413047 0.332734 0.320168 1.764201 0.255774 -0.022255 1724.417604 5182.564161 1325.566362 15.690353 15.914904 16.551986 2.891836 NaN NaN NaN NaN NaN False False False False False False False False False True False False False False False False False False False False False False
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.826000 1.007000 9 12 0.104448 0.226435 0.124016 0.104148 0.839797 0.355822 0.021493 0.151198 0.000000 0.000000 0.848802 -0.272069 0.692401 NaN 0.102418 0.343831 31.294532 0.980570 0.228445 0.269138 0.382801 0.417789 0.350644 0.232972 0.262157 1.733860 0.267352 -0.010451 1098.367037 4714.593791 1260.454232 15.839888 15.820267 17.394169 5.574543 -0.090297 -0.363050 0.161295 0.204258 -0.049120 False False False False False False False False False True False False False False False False False False False False False False
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.932000 1.262000 9 13 0.111868 0.233306 0.120778 0.141129 1.168507 0.304554 0.010879 0.151794 0.000000 0.000000 0.848206 -0.371938 0.694187 NaN 0.112528 0.340407 30.915714 1.005906 0.239274 0.282095 0.379443 0.408126 0.338409 0.237870 0.335160 2.207991 0.333192 0.051438 1335.868347 5615.970205 1871.196289 15.989330 15.995218 17.535363 5.532640 0.191189 0.216231 0.161186 0.160371 0.484541 False False False False False False False False False True False False False False False False False False False False False False
print('=== Dataset Fitur dengan Label Distress Rugi 2 Tahun Berturut-turut yang berukuran',df_fitur_conloss.shape,'===')
df_fitur_conloss.head(3)
=== Dataset Fitur dengan Label Distress Rugi 2 Tahun Berturut-turut yang berukuran (5160, 75) ===
ticker Year Entity Name target_distress tahun_distress Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) CR QR Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2008 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.944000 0.878000 9 11 0.117567 0.303024 0.155859 0.133083 0.853871 0.395495 0.018945 0.181481 0.000000 0.000000 0.818519 -0.239907 0.632481 NaN 0.147166 0.517036 13.042854 1.251761 0.416504 0.508850 0.554729 0.466033 0.413047 0.332734 0.320168 1.764201 0.255774 -0.022255 1724.417604 5182.564161 1325.566362 15.690353 15.914904 16.551986 2.891836 NaN NaN NaN NaN NaN False False False False False False False False False True False False False False False False False False False False False False
1 AALI 2009 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.826000 1.007000 9 12 0.104448 0.226435 0.124016 0.104148 0.839797 0.355822 0.021493 0.151198 0.000000 0.000000 0.848802 -0.272069 0.692401 NaN 0.102418 0.343831 31.294532 0.980570 0.228445 0.269138 0.382801 0.417789 0.350644 0.232972 0.262157 1.733860 0.267352 -0.010451 1098.367037 4714.593791 1260.454232 15.839888 15.820267 17.394169 5.574543 -0.090297 -0.363050 0.161295 0.204258 -0.049120 False False False False False False False False False True False False False False False False False False False False False False
2 AALI 2010 PT Astra Agro Lestari Tbk (IDX:AALI) 0 <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.932000 1.262000 9 13 0.111868 0.233306 0.120778 0.141129 1.168507 0.304554 0.010879 0.151794 0.000000 0.000000 0.848206 -0.371938 0.694187 NaN 0.112528 0.340407 30.915714 1.005906 0.239274 0.282095 0.379443 0.408126 0.338409 0.237870 0.335160 2.207991 0.333192 0.051438 1335.868347 5615.970205 1871.196289 15.989330 15.995218 17.535363 5.532640 0.191189 0.216231 0.161186 0.160371 0.484541 False False False False False False False False False True False False False False False False False False False False False False
all_dfs = {'ppk': df_fitur_ppk, 'negeq': df_fitur_negeq, 'conloss': df_fitur_conloss}
all_dfs.keys()
dict_keys(['ppk', 'negeq', 'conloss'])

Modelling

Split Train Test dan X y

# all_dfs = {'ppk': df_fitur_ppk, 'negeq': df_fitur_negeq, 'conloss': df_fitur_conloss}
# kolom_missing_indicator = {'ppk': ['fitur_A', ...], 'negeq': [...], 'conloss': [...]}

metadata_cols = ['ticker', 'Year', 'Entity Name', 'tahun_distress', 'Industry Group']
target_col = 'target_distress'

split_years = {
    'ppk': 2023,
    'negeq': 2020,
    'conloss': 2020
} # tahun disini & setelah-setelahnya masuk test

# Dictionary utama untuk menyimpan split data mentah
dict_data_splits = {}

for target_name, df_target in all_dfs.items():
    # data diurutkan berdasarkan tahun untuk mencegah leakage urutan
    df_target = df_target.sort_values(by=['Year', 'ticker']).reset_index(drop=True)
    
    year_limit = split_years[target_name]
    
    # Pisahkan X dan y (metadata masih ada di X)
    X = df_target.drop(columns=[target_col])
    y = df_target[target_col]
    
    # Split time-based
    train_mask = X['Year'] < year_limit
    test_mask = X['Year'] >= year_limit
    
    dict_data_splits[target_name] = {
        'X_train': X[train_mask].copy().reset_index(drop=True),
        'X_test': X[test_mask].copy().reset_index(drop=True),
        'y_train': y[train_mask].copy().reset_index(drop=True),
        'y_test': y[test_mask].copy().reset_index(drop=True)
    }
    print(f"[{target_name.upper()}] Train size: {len(X[train_mask])}, Test size: {len(X[test_mask])}")
[PPK] Train size: 1932, Test size: 651
[NEGEQ] Train size: 4615, Test size: 1788
[CONLOSS] Train size: 3933, Test size: 1227
def print_dict_structure(d, indent=0):
    for key, value in d.items():
        # Cetak key dengan spasi sesuai tingkatannya
        print('    ' * indent + f"├── {key}")
        
        # Jika isinya adalah dictionary lagi, telusuri lebih dalam
        if isinstance(value, dict):
            print_dict_structure(value, indent + 1)
        else:
            # Jika sudah mentok (misalnya isinya DataFrame), cetak tipe datanya
            print('    ' * (indent + 1) + f"└── (Isi: {type(value).__name__})")

print_dict_structure(dict_data_splits)
├── ppk
    ├── X_train
        └── (Isi: DataFrame)
    ├── X_test
        └── (Isi: DataFrame)
    ├── y_train
        └── (Isi: Series)
    ├── y_test
        └── (Isi: Series)
├── negeq
    ├── X_train
        └── (Isi: DataFrame)
    ├── X_test
        └── (Isi: DataFrame)
    ├── y_train
        └── (Isi: Series)
    ├── y_test
        └── (Isi: Series)
├── conloss
    ├── X_train
        └── (Isi: DataFrame)
    ├── X_test
        └── (Isi: DataFrame)
    ├── y_train
        └── (Isi: Series)
    ├── y_test
        └── (Isi: Series)
dict_data_splits['ppk']['X_test'].head(3)
ticker Year Entity Name tahun_distress Industry Group Parent Percent Owned (%) Percent Owned - All Institutions (%) Percent Owned - Insiders (%) CR QR Age_When_IPO Years_Since_IPO WC_Sales CA_TA CL_TA CashST_TA CashST_CL Inventory_CA Prepaid_CA TL_TA Debt_TA Debt_Equity Equity_TA NetDebt_EBITDA PPE_TA Intang_TA Altman_X1_WC_TA Altman_X3_EBIT_TA Altman_X4_MVE_TL Altman_X5_SalesTA_AssetTurnover ROA ROE EBITDA_TA GrossMargin OpMargin NetMargin CFO_TA CFO_TL CFO_Sales NetCash_TA EPS_proxy Sales_per_share CFO_per_share log_TA log_Sales log_MktCap PB Sales_growth NI_growth TA_growth Equity_growth CFO_growth industry_Banks industry_Capital Goods industry_Commercial and Professional Services industry_Consumer Discretionary Distribution and Retail industry_Consumer Durables and Apparel industry_Consumer Services industry_Consumer Staples Distribution and Retail industry_Energy industry_Financial Services industry_Food Beverage and Tobacco industry_Health Care Equipment and Services industry_Household and Personal Products industry_Insurance industry_Materials industry_Media and Entertainment industry_Pharmaceuticals Biotechnology and Life Sciences industry_Real Estate Management and Development industry_Software and Services industry_Technology Hardware and Equipment industry_Telecommunication Services industry_Transportation industry_Utilities
0 AALI 2023 PT Astra Agro Lestari Tbk (IDX:AALI) <NA> Food, Beverage and Tobacco 79.680000 2.100000 NaN 1.834000 0.765000 9 26 0.155989 0.246764 0.134580 0.072436 0.538236 0.438658 NaN 0.217714 0.138841 0.177482 0.782286 0.636827 0.627661 NaN 0.112183 0.057966 2.152934 0.719174 0.037723 0.048222 0.104275 0.134720 0.080600 0.052453 0.088009 0.404242 0.122376 0.016290 565.374654 10778.614202 1319.038494 17.177490 16.847839 16.419750 0.599173 -0.049619 -0.392779 -0.013781 0.014512 0.383209 False False False False False False False False False True False False False False False False False False False False False False
1 ABBA 2023 PT Mahaka Media Tbk (IDX:ABBA) 2024 Media and Entertainment 51.160000 NaN 0.010000 0.551000 0.377000 10 21 -0.510978 0.464570 0.842947 0.116017 0.137633 0.035783 0.014761 1.390180 0.751819 -1.926851 -0.390180 -4.774142 0.106254 0.056911 -0.378377 -0.169481 0.542985 0.740497 -0.193300 0.495411 -0.133176 0.290642 -0.228875 -0.261041 -0.215986 -0.155365 -0.291677 -0.158563 -13.316065 51.011484 -14.878874 12.510378 12.209944 12.229137 -1.934610 0.179525 0.692448 -0.302784 -4.596127 -0.391259 False False False False False False False False False False False False False False True False False False False False False False
2 ABDA 2023 PT Asuransi Bina Dana Arta Tbk (IDX:ABDA) 2025 Insurance 87.760000 NaN 0.000000 4.143000 3.843000 7 34 2.161418 0.871290 0.210323 0.764564 3.635184 NaN 0.000571 0.418694 0.000000 0.000000 0.581306 -24.397668 0.025011 NaN 0.660966 0.027747 3.227599 0.305802 0.031742 0.054605 0.031338 0.460030 0.090734 0.103800 -0.011484 -0.027428 -0.037554 0.104000 136.235201 1312.478131 -49.288315 14.795508 13.610692 15.096633 2.324728 0.046444 -0.072007 0.077806 0.028809 -0.165972 False False False False False False False False False False False False True False False False False False False False False False

Inisialisasi dan Konfigurasi Model

Konfigurasi Variabel, Model, dan Compute Type

# List konfigurasi
targets = ['ppk', 'negeq', 'conloss']
null_strategies = ['keep', 'impute']
feat_strategies = ['all', 'corr', 'pca']
# # NOTE : CONFIG / KONFIGURASI !!!
# compute_type = 'gpu'
## ((sudah dipindah di paling awal notebook))

if compute_type == 'cpu':
    model_names = ['RandomForest', 'AdaBoost']
    n_jobs_optuna = -1  #  seluruh core dipakai untuk paralel optuna
else: # gpu
    model_names = ['XGBoost', 'LightGBM', 'CatBoost']
    n_jobs_optuna = 1   # DILARANG paralel agar VRAM GPU tidak crash
# Dictionary untuk menyimpan hasil akhir Optuna dan CV
dict_master_results = {}

Fungsi Cross Validation

def get_custom_cv_indices(X_train_df):
    """
    Menghasilkan list tuple (train_indices, val_indices) berdasarkan window-expanding 'Year'.
    """
    years = sorted(X_train_df['Year'].unique())
    cv_indices = []
    
    # Mulai dari tahun kedua agar fold pertama punya minimal 1 tahun train
    for i in range(1, len(years)):
        val_year = years[i]
        
        # Train: Semua tahun sebelum val_year
        train_idx = X_train_df.index[X_train_df['Year'] < val_year].tolist()
        # Validation: Hanya tahun val_year
        val_idx = X_train_df.index[X_train_df['Year'] == val_year].tolist()
        
        cv_indices.append((train_idx, val_idx))
        
    return cv_indices

Fungsi Imputasi dan Low Corr Feat Selection

def apply_custom_imputation(df_train, df_test, fitur_cols):
    # 1. GABUNGKAN SEMENTARA (Temporal Concat)
    # Tujuannya agar FFILL bisa mengalir mulus dari akhir Train ke awal Test, 
    # dan juga mengalir di dalam Test itu sendiri.
    df_train_temp = df_train.copy()
    df_test_temp = df_test.copy()
    
    df_train_temp['is_test'] = 0
    df_test_temp['is_test'] = 1
    
    combined = pd.concat([df_train_temp, df_test_temp], axis=0)
    
    for col in fitur_cols:
        combined[col] = pd.to_numeric(combined[col], errors='coerce').astype(float)
        
    combined = combined.sort_values(by=['ticker', 'Year'])
    
    # 2. LOGIKA FFILL YANG KETAT (Mencegah loncat jika baris tahun bolong)
    # Buat dataframe bergeser (shift 1 ke bawah) per ticker
    shifted = combined.groupby('ticker')[fitur_cols + ['Year']].shift(1)
    
    # Masking: Cek apakah baris sebelumnya persis berjarak 1 tahun
    is_gap_one_year = ((combined['Year'] - shifted['Year']) == 1).fillna(False).astype(bool)
    
    # Lakukan ffill hanya pada sel yang jaraknya 1 tahun
    for col in fitur_cols:
        # Jika nilai sekarang NaN, dan jarak dengan baris sebelumnya 1 tahun, 
        # maka ambil nilai baris sebelumnya. Jika tidak, biarkan tetap NaN.
        combined[col] = np.where(
            combined[col].isna() & is_gap_one_year, 
            shifted[col], 
            combined[col]
        )
        
    # 3. PISAHKAN KEMBALI TRAIN DAN TEST
    train_imp = combined[combined['is_test'] == 0].drop(columns=['is_test']).copy()
    test_imp = combined[combined['is_test'] == 1].drop(columns=['is_test']).copy()
    
    # 4. EXTREME VALUE IMPUTATION (cuma dari train untuk mencegah Leakage)
    for col in fitur_cols:
        min_train = train_imp[col].min()
        if pd.isna(min_train):
            min_train = 0.0

        std_train = train_imp[col].std()
        if pd.isna(std_train) or std_train == 0:
            std_train = 1.0
            
        # Rumus custom nilai ekstrim menyesuaikan distribusi data
        extreme_val = min_train - (std_train * 10) - 100000.0
        
        train_imp[col] = train_imp[col].fillna(extreme_val)
        test_imp[col] = test_imp[col].fillna(extreme_val)
        
    return train_imp, test_imp

#######

# def apply_custom_imputation(df_train, df_test, fitur_cols):
#     """
#     Fungsi untuk melakukan imputasi custom: FFILL -> Group Median -> Global Median.
#     Proses 'fit' (perhitungan median) murni hanya dilakukan pada df_train untuk mencegah leakage.
#     """
    
#     # Gunakan copy agar tidak mengubah dataframe asli di luar fungsi (mencegah SettingWithCopyWarning)
#     train_imp = df_train.copy()
#     test_imp = df_test.copy()

#     # ---> [PERBAIKAN ERROR INT64 & NATYPE] <---
#     # Lakukan casting tipe data ke FLOAT paling awal sebelum operasi matematis apapun
#     for col in fitur_cols:
#         train_imp[col] = pd.to_numeric(train_imp[col], errors='coerce').astype(float)
#         test_imp[col] = pd.to_numeric(test_imp[col], errors='coerce').astype(float)
    
#     # --- TAHAP 1: Forward Fill (Berdasarkan Ticker) ---
#     # Pastikan Train terurut berdasarkan waktu
#     train_imp = train_imp.sort_values(by=['ticker', 'Year'])
#     train_imp[fitur_cols] = train_imp.groupby('ticker')[fitur_cols].ffill()
    
#     # Untuk Test/Val, kita ambil nilai TERAKHIR dari Train untuk tiap ticker (Mencegah leakage)
#     last_known_train = train_imp.groupby('ticker')[fitur_cols].last()
#     for col in fitur_cols:
#         test_imp[col] = test_imp[col].fillna(test_imp['ticker'].map(last_known_train[col]))
        
#     # --- TAHAP 2: Group Median (Industry Group + Size Bin) ---
#     # Binning log_TA (Membagi ukuran perusahaan menjadi Small, Medium, Large)
#     # Pastikan nama kolom 'log_TA' sesuai dengan nama asli di datasetmu
#     bins = pd.qcut(train_imp['log_TA'], q=3, retbins=True, duplicates='drop')[1]
#     bins[0], bins[-1] = -np.inf, np.inf # Perlebar batas untuk antisipasi nilai ekstrem di Test
    
#     train_imp['Size_Bin'] = pd.cut(train_imp['log_TA'], bins=bins, labels=['Small', 'Medium', 'Large'])
#     test_imp['Size_Bin'] = pd.cut(test_imp['log_TA'], bins=bins, labels=['Small', 'Medium', 'Large'])
    
#     # Hitung median grup HANYA dari Train
#     group_medians = train_imp.groupby(['Industry Group', 'Size_Bin'], observed=False)[fitur_cols].median()
    
#     # Eksekusi pengisian di Train
#     train_imp[fitur_cols] = train_imp.groupby(['Industry Group', 'Size_Bin'], observed=False)[fitur_cols].transform(lambda x: x.fillna(x.median()))
    
#     # Eksekusi pengisian di Test (Mapping dari tabel group_medians milik Train)
#     val_keys = pd.MultiIndex.from_arrays([test_imp['Industry Group'], test_imp['Size_Bin']])
#     mapped_medians = group_medians.reindex(val_keys).values
#     test_imp[fitur_cols] = test_imp[fitur_cols].fillna(pd.DataFrame(mapped_medians, index=test_imp.index, columns=fitur_cols))
    
#     # --- TAHAP 3: Global Median (Fallback) ---
#     # Berjaga-jaga jika ada grup yang isinya kosong semua sehingga mediannya tetap NaN
#     global_medians = train_imp[fitur_cols].median()
#     train_imp[fitur_cols] = train_imp[fitur_cols].fillna(global_medians)
#     test_imp[fitur_cols] = test_imp[fitur_cols].fillna(global_medians)

#     # --->  TAHAP 4 PERBAIKAN ERROR PCA (Extreme Fallback) <---
#     # Jika fitur 100% kosong, median global juga NaN. Kita paksa jadi 0 agar PCA tidak crash.
#     train_imp[fitur_cols] = train_imp[fitur_cols].fillna(0)
#     test_imp[fitur_cols] = test_imp[fitur_cols].fillna(0)
    
#     return train_imp, test_imp

def get_low_corr_features_target_aware(X_train_fold, y_train_fold, threshold=0.85):
    X_num = X_train_fold.select_dtypes(include=[np.number])

    # Cari kolom konstan
    constant_cols = [col for col in X_num.columns if X_num[col].nunique() <= 1]
    # Buang dari perhitungan korelasi agar tidak ada warning (tidak terpakai juga)
    X_num = X_num.drop(columns=constant_cols)

    # Masukkan fitur konstan ke dalam daftar buang agar ikut dihapus dari dataset akhir
    to_drop = set(constant_cols)

    # Hitung korelasi antar fitur tersisa dan thd target
    with warnings.catch_warnings():
        warnings.simplefilter("ignore") # Abaikan semua warning di dalam blok ini
        corr_matrix = X_num.corr(method='spearman').abs()
        target_corr = X_num.apply(lambda col: col.corr(y_train_fold, method='spearman')).abs()

    cols = corr_matrix.columns
    
    for i in range(len(cols)):
        for j in range(i+1, len(cols)):
            col_i, col_j = cols[i], cols[j]
            # Lewati jika salah satu sudah masuk daftar drop
            if col_i in to_drop or col_j in to_drop:
                continue
                
            # cek korelasi antar fitur yg melebihi threshold
            if corr_matrix.loc[col_i, col_j] > threshold:
                # perbaikan jika target_corr bernilai NaN maka dianggap 0 (tidak berkorelasi dengan target)
                corr_i = target_corr[col_i] if pd.notna(target_corr[col_i]) else 0
                corr_j = target_corr[col_j] if pd.notna(target_corr[col_j]) else 0
                
                # Bandingkan korelasi terhadap target, drop yang lebih kecil
                if corr_i > corr_j:
                    to_drop.add(col_j)
                else:
                    to_drop.add(col_i)
                    
    return list(to_drop)

# def get_low_corr_features(X_train_fold, threshold=0.85):
#     """
#     Mencari fitur yang harus di-drop agar tidak ada fitur yang saling berkorelasi > threshold.
#     Metadata diabaikan dalam perhitungan.
#     """
#     # Ambil hanya kolom numerik dan abaikan metadata
#     X_num = X_train_fold.drop(columns=metadata_cols, errors='ignore').select_dtypes(include=[np.number])
#     corr_matrix = X_num.corr().abs()
    
#     # Ambil segitiga atas dari matriks korelasi
#     upper = corr_matrix.where(np.triu(np.ones(corr_matrix.shape), k=1).astype(bool))
    
#     # Cari nama kolom yang korelasinya di atas threshold
#     to_drop = [column for column in upper.columns if any(upper[column] > threshold)]
#     return to_drop

Fungsi Objective Optuna untuk Hyperparameter Tuning

# --- DEFINISI FUNGSI OPTUNA ---
def objective(trial, m_name, n_strat, f_strat, X_train_full, y_train_full, cv_indices):
    # Hyperparameter Space Search
    if m_name == 'RandomForest':
        params = {
            # 'n_estimators': trial.suggest_int('n_estimators', 50, 300),
            # 'max_depth': trial.suggest_int('max_depth', 3, 15),
            # 'class_weight': 'balanced',
            'random_state': 42,
            # 'n_jobs': -1
            'n_estimators': trial.suggest_int('n_estimators', 100, 500),
            'max_depth': trial.suggest_int('max_depth', 5, 20),
            'min_samples_split': trial.suggest_int('min_samples_split', 2, 10),
            'min_samples_leaf': trial.suggest_int('min_samples_leaf', 1, 10),
            'max_features': trial.suggest_categorical('max_features', ['sqrt', 'log2', None]),
            'n_jobs': -1 # Memaksimalkan 4 core CPU kaggle
        }
        model = RandomForestClassifier(**params)
    elif m_name == 'XGBoost':
        params = {
            # 'n_estimators': trial.suggest_int('n_estimators', 50, 300),
            # 'max_depth': trial.suggest_int('max_depth', 3, 10),
            # 'learning_rate': trial.suggest_float('learning_rate', 1e-3, 0.3, log=True),
            # 'scale_pos_weight': trial.suggest_float('scale_pos_weight', 1, 20), # Berguna untuk imbalance
            # 'tree_method': 'hist',
            # 'device': 'cuda', # GPU
            'random_state': 42,
            'n_estimators': trial.suggest_int('n_estimators', 100, 1000),
            'max_depth': trial.suggest_int('max_depth', 3, 7), # Jangan lebih dari 7 untuk data <10k baris
            'learning_rate': trial.suggest_float('learning_rate', 1e-3, 0.1, log=True),
            'subsample': trial.suggest_float('subsample', 0.6, 1.0),
            'colsample_bytree': trial.suggest_float('colsample_bytree', 0.6, 1.0),
            'gamma': trial.suggest_float('gamma', 0, 5), # Penalti kompleksitas node (penting!)
            'reg_alpha': trial.suggest_float('reg_alpha', 1e-3, 10.0, log=True), # L1 Regularization
            'reg_lambda': trial.suggest_float('reg_lambda', 1e-3, 10.0, log=True), # L2 Regularization
            'tree_method': 'hist',
            'device': 'cuda' # GPU
        }
        model = XGBClassifier(**params)
    elif m_name == 'LightGBM':
        params = {
            # 'n_estimators': trial.suggest_int('n_estimators', 50, 300),
            # 'max_depth': trial.suggest_int('max_depth', 3, 15),
            # 'learning_rate': trial.suggest_float('learning_rate', 1e-3, 0.3, log=True),
            # 'class_weight': 'balanced',
            # 'device_type': 'gpu', # Gunakan GPU
            'random_state': 42,
            'verbose': -1,
            'n_estimators': trial.suggest_int('n_estimators', 100, 1000),
            'num_leaves': trial.suggest_int('num_leaves', 15, 63), # Rule of thumb: < 2^max_depth
            'max_depth': trial.suggest_int('max_depth', 3, 7),
            'learning_rate': trial.suggest_float('learning_rate', 1e-3, 0.1, log=True),
            'min_child_samples': trial.suggest_int('min_child_samples', 10, 50), # Kunci anti-overfitting
            'subsample': trial.suggest_float('subsample', 0.6, 1.0),
            'colsample_bytree': trial.suggest_float('colsample_bytree', 0.6, 1.0),
            'reg_alpha': trial.suggest_float('reg_alpha', 1e-3, 10.0, log=True),
            'reg_lambda': trial.suggest_float('reg_lambda', 1e-3, 10.0, log=True),
            'device': 'gpu'
        }
        model = LGBMClassifier(**params)
    elif m_name == 'AdaBoost':
        params = {
            # 'n_estimators': trial.suggest_int('n_estimators', 50, 300),
            # 'learning_rate': trial.suggest_float('learning_rate', 1e-3, 0.5, log=True),
            'random_state': 42,
            'n_estimators': trial.suggest_int('n_estimators', 50, 300),
            'learning_rate': trial.suggest_float('learning_rate', 1e-3, 1.0, log=True),
        }
        model = AdaBoostClassifier(**params)
    elif m_name == 'CatBoost':
        params = {
            # 'iterations': trial.suggest_int('iterations', 50, 300),
            # 'depth': trial.suggest_int('depth', 3, 10),
            # 'learning_rate': trial.suggest_float('learning_rate', 1e-3, 0.3, log=True),
            # 'auto_class_weights': 'Balanced',
            # 'task_type': 'GPU', # Gunakan GPU
            # 'verbose': 0,
            'random_seed': 42,
            'iterations': trial.suggest_int('iterations', 100, 500),
            'depth': trial.suggest_int('depth', 3, 6),
            'learning_rate': trial.suggest_float('learning_rate', 5e-3, 0.2, log=True),
            'l2_leaf_reg': trial.suggest_float('l2_leaf_reg', 0.1, 10.0), # CatBoost sangat sensitif pada L2
            'border_count': trial.suggest_int('border_count', 32, 128),
            'task_type': 'GPU',
            'verbose': 0
        }
        model = CatBoostClassifier(**params)

    # 2. Proses Custom CV tiap fold
    fold_pr_auc = []
    
    for train_idx, val_idx in cv_indices:
        # Split data di fold ini
        X_tr_fold = X_train_full.iloc[train_idx].copy()
        X_val_fold = X_train_full.iloc[val_idx].copy()
        y_tr_fold = y_train_full.iloc[train_idx].copy()
        y_val_fold = y_train_full.iloc[val_idx].copy()
        
        # -- TAHAP PREPROCESSING DI DALAM FOLD --

        # A. Imputasi
        if n_strat == 'impute':
            # Ambil kolom fitur saja (tanpa metadata)
            fitur_cols = [c for c in X_tr_fold.columns if c not in metadata_cols]
            
            # Panggil fungsi custom imputation
            X_tr_fold, X_val_fold = apply_custom_imputation(
                df_train=X_tr_fold, 
                df_test=X_val_fold, 
                fitur_cols=fitur_cols
            )

        # Penyimpanan metadata untuk nanti digabung kembali jika diperlukan (misal untuk PCA yang butuh fitur asli)
        meta_tr = X_tr_fold[metadata_cols].reset_index(drop=True)
        meta_val = X_val_fold[metadata_cols].reset_index(drop=True)
            
        # B. Feature Strategy (Semua fitur yang ada sudah dipastikan tidak null di sini jika strat impute)
        if f_strat == 'corr':
            cols_to_drop = get_low_corr_features_target_aware(X_tr_fold, y_tr_fold, threshold=0.85)
            X_tr_fold = X_tr_fold.drop(columns=cols_to_drop)
            X_val_fold = X_val_fold.drop(columns=cols_to_drop)
        
        elif f_strat == 'pca':
            fitur_cols = [c for c in X_tr_fold.columns if c not in metadata_cols]

            # --- Buang Fitur Konstan Sebelum PCA ---
            constant_cols = [col for col in fitur_cols if X_tr_fold[col].nunique() <= 1]
            if constant_cols:
                X_tr_fold = X_tr_fold.drop(columns=constant_cols)
                X_val_fold = X_val_fold.drop(columns=constant_cols)
                # Perbarui daftar fitur setelah kolom konstan dibuang
                fitur_cols = [c for c in fitur_cols if c not in constant_cols]

            scaler = StandardScaler()
            pca = PCA(n_components=0.95, random_state=42) # Retain 95% variance
            
            # Scaler & PCA
            X_tr_pca = pca.fit_transform(scaler.fit_transform(X_tr_fold[fitur_cols]))
            X_val_pca = pca.transform(scaler.transform(X_val_fold[fitur_cols]))
            
            # # Rekonstruksi DataFrame (simpan kembali metadata)
            # meta_tr = X_tr_fold[metadata_cols].reset_index(drop=True)
            # meta_val = X_val_fold[metadata_cols].reset_index(drop=True)
            ### Sudah dipindah di atas ###
            
            pca_cols = [f"PC_{i}" for i in range(X_tr_pca.shape[1])]
            X_tr_fold = pd.concat([meta_tr, pd.DataFrame(X_tr_pca, columns=pca_cols)], axis=1)
            X_val_fold = pd.concat([meta_val, pd.DataFrame(X_val_pca, columns=pca_cols)], axis=1)

        # C. Drop Metadata Sesaat Sebelum Training
        X_tr_final = X_tr_fold.drop(columns=metadata_cols, errors='ignore')
        X_val_final = X_val_fold.drop(columns=metadata_cols, errors='ignore')
        
        # D. Training & Scoring
        model.fit(X_tr_final, y_tr_fold)
        
        # Ambil probabilitas kelas positif (index 1)
        y_val_probs = model.predict_proba(X_val_final)[:, 1]
        
        # Hitung PR-AUC (Average Precision)
        fold_score = average_precision_score(y_val_fold, y_val_probs)
        fold_pr_auc.append(fold_score)
        
    # Return rata-rata PR-AUC dari seluruh CV window
    return np.mean(fold_pr_auc)

Model Training

# limit()
# import warnings
# warnings.filterwarnings('ignore') # Matikan warning untuk output yang bersih

# =====================================================================
# KONFIGURASI BACKUP
# =====================================================================
# True  : Lanjutkan eksperimen dari file pickle yang ada di GDrive.
# False : Mulai dari awal (WARNING: Akan menimpa file backup di GDrive!)
resume_from_backup = True
# =====================================================================

backup_file_path = prefix_path + f'pickle/eksperimen_skripsi_backup_{compute_type}.pkl'

if resume_from_backup:
    if os.path.exists(backup_file_path):
        with open(backup_file_path, 'rb') as f:
            dict_master_results = pickle.load(f)
        print(f"✅ Berhasil me-load backup {compute_type.upper()}!")
        print(f"Terdapat {len(dict_master_results)} eksperimen yang sudah selesai.")
        print("Sistem akan melewati eksperimen tersebut dan melanjutkan sisanya...\n")
    else:
        print(f"⚠️ File backup tidak ditemukan di {backup_file_path}")
        print("Memulai dict_master_results kosong...\n")
        dict_master_results = {}
else:
    print("⚠️ Memulai ulang eksperimen dari AWAL (dict_master_results kosong).")
    print("File backup di GDrive akan ditimpa saat eksperimen pertama selesai!\n")
    dict_master_results = {}


# NESTED LOOP SEMUA KONFIGURASI TRAINING
for t_name in targets:
    # Ambil data spesifik target ini
    X_train_full = dict_data_splits[t_name]['X_train'].copy()
    y_train_full = dict_data_splits[t_name]['y_train'].copy()
    
    # Ekstrak indeks Custom CV
    cv_indices = get_custom_cv_indices(X_train_full)
    
    for n_strat in null_strategies:
        # pembuatan missing indicator
        # di luar fold
        # dan hanya jika strateginya impute
        if n_strat == 'impute':
            cols_to_flag = kolom_missing_indicator[t_name]
            for col in cols_to_flag:
                # tambah missing indicator (astype int agar jadi 1/0)
                X_train_full[f"{col}_is_missing"] = X_train_full[col].isnull().astype(int)
        
        for f_strat in feat_strategies:
            # PCA tidak bisa pakai data null, jadi diloncati
            if f_strat == 'pca' and n_strat == 'keep':
                continue # loncat ke next loop
                
            for m_name in model_names:
                # loncati model yang tidak bisa menerima data null
                if n_strat == 'keep' and m_name in ['AdaBoost']:
                    continue
                
                exp_id = f"{t_name}_{n_strat}_{f_strat}_{m_name}"

                # ---> [TAMBAHAN AGAR TIDAK MENGULANG DARI AWAL] <---
                if exp_id in dict_master_results:
                    print(f"Melewati {exp_id} karena sudah selesai dan tersimpan.")
                    continue


                print(f"Mulai eksperimen: {exp_id}")
                

                # --- JALANKAN OPTUNA ---
                study = optuna.create_study(direction='maximize')
                study.optimize(lambda trial: objective(trial, m_name, n_strat, f_strat, X_train_full, y_train_full, cv_indices), n_trials=100, n_jobs=n_jobs_optuna)
                
                # Simpan Hasil ke Master Dictionary
                dict_master_results[exp_id] = {
                    'best_params': study.best_params,
                    'best_cv_pr_auc': study.best_value
                }

                # ---> [TAMBAHAN MODIFIKASI 1: AUTO-SAVE] <---
                with open(save_path + f'pickle/eksperimen_skripsi_backup_{compute_type}.pkl', 'wb') as f:
                    pickle.dump(dict_master_results, f)
                print(f"Eksperimen {exp_id} berhasil di-save ke backup {compute_type}!")
                
# Contoh melihat hasil
print("\n=== EKSPERIMEN SELESAI ===")
for key, val in dict_master_results.items():
    print(f"{key} -> Best CV PR-AUC: {val['best_cv_pr_auc']:.4f}")
✅ Berhasil me-load backup CPU!
Terdapat 24 eksperimen yang sudah selesai.
Sistem akan melewati eksperimen tersebut dan melanjutkan sisanya...

Melewati ppk_keep_all_RandomForest karena sudah selesai dan tersimpan.
Melewati ppk_keep_corr_RandomForest karena sudah selesai dan tersimpan.
Melewati ppk_impute_all_RandomForest karena sudah selesai dan tersimpan.
Melewati ppk_impute_all_AdaBoost karena sudah selesai dan tersimpan.
Melewati ppk_impute_corr_RandomForest karena sudah selesai dan tersimpan.
Melewati ppk_impute_corr_AdaBoost karena sudah selesai dan tersimpan.
Melewati ppk_impute_pca_RandomForest karena sudah selesai dan tersimpan.
Melewati ppk_impute_pca_AdaBoost karena sudah selesai dan tersimpan.
Melewati negeq_keep_all_RandomForest karena sudah selesai dan tersimpan.
Melewati negeq_keep_corr_RandomForest karena sudah selesai dan tersimpan.
Melewati negeq_impute_all_RandomForest karena sudah selesai dan tersimpan.
Melewati negeq_impute_all_AdaBoost karena sudah selesai dan tersimpan.
Melewati negeq_impute_corr_RandomForest karena sudah selesai dan tersimpan.
Melewati negeq_impute_corr_AdaBoost karena sudah selesai dan tersimpan.
Melewati negeq_impute_pca_RandomForest karena sudah selesai dan tersimpan.
Melewati negeq_impute_pca_AdaBoost karena sudah selesai dan tersimpan.
Melewati conloss_keep_all_RandomForest karena sudah selesai dan tersimpan.
Melewati conloss_keep_corr_RandomForest karena sudah selesai dan tersimpan.
Melewati conloss_impute_all_RandomForest karena sudah selesai dan tersimpan.
Melewati conloss_impute_all_AdaBoost karena sudah selesai dan tersimpan.
Melewati conloss_impute_corr_RandomForest karena sudah selesai dan tersimpan.
Melewati conloss_impute_corr_AdaBoost karena sudah selesai dan tersimpan.
Melewati conloss_impute_pca_RandomForest karena sudah selesai dan tersimpan.
Melewati conloss_impute_pca_AdaBoost karena sudah selesai dan tersimpan.

=== EKSPERIMEN SELESAI ===
ppk_keep_all_RandomForest -> Best CV PR-AUC: 0.5010
ppk_keep_corr_RandomForest -> Best CV PR-AUC: 0.5161
ppk_impute_all_RandomForest -> Best CV PR-AUC: 0.3698
ppk_impute_all_AdaBoost -> Best CV PR-AUC: 0.3105
ppk_impute_corr_RandomForest -> Best CV PR-AUC: 0.3433
ppk_impute_corr_AdaBoost -> Best CV PR-AUC: 0.3210
ppk_impute_pca_RandomForest -> Best CV PR-AUC: 0.3397
ppk_impute_pca_AdaBoost -> Best CV PR-AUC: 0.3101
negeq_keep_all_RandomForest -> Best CV PR-AUC: 0.4171
negeq_keep_corr_RandomForest -> Best CV PR-AUC: 0.4463
negeq_impute_all_RandomForest -> Best CV PR-AUC: 0.1105
negeq_impute_all_AdaBoost -> Best CV PR-AUC: 0.0901
negeq_impute_corr_RandomForest -> Best CV PR-AUC: 0.1090
negeq_impute_corr_AdaBoost -> Best CV PR-AUC: 0.0845
negeq_impute_pca_RandomForest -> Best CV PR-AUC: 0.1197
negeq_impute_pca_AdaBoost -> Best CV PR-AUC: 0.0847
conloss_keep_all_RandomForest -> Best CV PR-AUC: 0.5440
conloss_keep_corr_RandomForest -> Best CV PR-AUC: 0.5423
conloss_impute_all_RandomForest -> Best CV PR-AUC: 0.2272
conloss_impute_all_AdaBoost -> Best CV PR-AUC: 0.1912
conloss_impute_corr_RandomForest -> Best CV PR-AUC: 0.2365
conloss_impute_corr_AdaBoost -> Best CV PR-AUC: 0.1855
conloss_impute_pca_RandomForest -> Best CV PR-AUC: 0.1935
conloss_impute_pca_AdaBoost -> Best CV PR-AUC: 0.1858

Asesmen Model

# limit()
# 1. Inisialisasi dictionary
if platform == "gcolab":
    dict_master_results = {} # Mulai dengan dictionary kosong di Colab
    print("Inisialisasi dict_master_results kosong di Google Colab.")
    
    for c_type in ["cpu","gpu"]:
        file_path = prefix_path + f'pickle/eksperimen_skripsi_backup_{c_type}.pkl'
        if os.path.exists(file_path):
            with open(file_path, 'rb') as f:
                data = pickle.load(f)
                dict_master_results.update(data) # Menggabungkan dictionary
                print(f"Berhasil me-load data backup {c_type.upper()} ({len(data)} eksperimen).")
        else:
            print(f"File backup {c_type.upper()} tidak ditemukan di: {file_path}")

elif platform == "kaggle": # Kaggle

    # kalau pakai cpu yang dibuka gpu karena cpu sudah ada di var
    # begitu pula sebaliknya
    if compute_type == 'cpu':
        file_path = prefix_path + f'pickle/eksperimen_skripsi_backup_gpu.pkl'
    elif compute_type == 'gpu':
        file_path = prefix_path + f'pickle/eksperimen_skripsi_backup_cpu.pkl'
    
    if os.path.exists(file_path):
        with open(file_path, 'rb') as f:
            data = pickle.load(f)
            dict_master_results.update(data) # Menggabungkan dictionary
            print(f"Berhasil me-load backup SELAIN {compute_type.upper()} dengan {len(data)} eksperimen.")
    else:
        print(f"File backup {compute_type.upper()} tidak ditemukan di: {file_path}")


print(f"Total seluruh eksperimen yang siap dievaluasi: {len(dict_master_results)}")

# Mapping string nama model ke Class Modelnya
dict_model_classes = {
    'RandomForest': RandomForestClassifier,
    'XGBoost': XGBClassifier,
    'LightGBM': LGBMClassifier,
    'AdaBoost': AdaBoostClassifier,
    'CatBoost': CatBoostClassifier
}

# List untuk menyimpan rekapan performa Test dari SEMUA eksperimen
final_evaluation_results = []

# Mnampung metrik kurva PR per target
pr_auc_plot_data = {'ppk': [], 'negeq': [], 'conloss': []}

# dict menampung detail prediksi tiap baris data
dict_detailed_predictions = {}

# dict untuk menyimpan model yang udah difit
dict_fitted_models = {}

print("========== MEMULAI EVALUASI FINAL SELURUH EKSPERIMEN ==========")

# Looping ke seluruh hasil eksperimen yang ada di master
for exp_id, result_data in dict_master_results.items():
    print(f"\nMengevaluasi: {exp_id}")
    
    # 1. Parsing Konfigurasi dari exp_id (Format: target_nstrat_fstrat_model)
    parts = exp_id.split('_')
    t_name, n_strat, f_strat, m_name = parts[0], parts[1], parts[2], parts[3]
    
    # 2. Ambil parameter terbaik & Class Model
    best_params = result_data['best_params']
    model_class = dict_model_classes[m_name]

    # Atur deterministic parameter tambahan agar hasil konsisten
    if model_class is RandomForestClassifier:
        best_params['n_jobs'] = 1
        best_params['random_state'] = 42
    elif model_class is XGBClassifier:
        best_params['n_jobs'] = 1
    elif model_class is LGBMClassifier:
        best_params['deterministic'] = True
        best_params['force_col_wise'] = True
        best_params['n_jobs'] = 1 
    elif model_class is CatBoostClassifier:
        best_params['thread_count'] = 1
        best_params['random_seed'] = 42
    
    # 3. Tarik Data Raw (Train utuh dan Test masa depan)
    X_train_final = dict_data_splits[t_name]['X_train'].copy()
    y_train_final = dict_data_splits[t_name]['y_train'].copy()
    X_test_final = dict_data_splits[t_name]['X_test'].copy()
    y_test_final = dict_data_splits[t_name]['y_test'].copy()
    
    # --- 4. REPLIKASI PREPROCESSING (SESUAI KONFIGURASI) ---
    
    # A. Missing Indicator & Imputasi
    if n_strat == 'impute':
        # Tambah missing indicator (Train dan Test)
        cols_to_flag = kolom_missing_indicator[t_name]
        for col in cols_to_flag:
            X_train_final[f"{col}_is_missing"] = X_train_final[col].isnull().astype(int)
            X_test_final[f"{col}_is_missing"] = X_test_final[col].isnull().astype(int)
            
        # Terapkan Custom Imputation
        fitur_cols = [c for c in X_train_final.columns if c not in metadata_cols]
        X_train_final, X_test_final = apply_custom_imputation(X_train_final, X_test_final, fitur_cols)

    # Simpan metadata untuk nanti digabung kembali jika diperlukan (misal untuk PCA yang butuh fitur asli)
    meta_tr = X_train_final[metadata_cols].reset_index(drop=True)
    meta_ts = X_test_final[metadata_cols].reset_index(drop=True)
        
    # B. Strategi Fitur (Correlation Drop / PCA)
    if f_strat == 'corr':
        # Cari fitur korelasi tinggi HANYA di Train, drop di Train dan Test
        cols_to_drop = get_low_corr_features_target_aware(X_train_final, y_train_final, threshold=0.85)
        X_train_final = X_train_final.drop(columns=cols_to_drop)
        X_test_final = X_test_final.drop(columns=cols_to_drop)
        
    elif f_strat == 'pca':
        fitur_cols = [c for c in X_train_final.columns if c not in metadata_cols]

        # Buang Fitur Konstan dulu Sebelum PCA (agar PCA tidak error)
        constant_cols = [col for col in fitur_cols if X_train_final[col].nunique() <= 1]
        if constant_cols:
            X_train_final = X_train_final.drop(columns=constant_cols)
            X_test_final = X_test_final.drop(columns=constant_cols)
            fitur_cols = [c for c in fitur_cols if c not in constant_cols]

        scaler = StandardScaler()
        pca = PCA(n_components=0.95, random_state=42)
        
        # Fit Transform di Train, Transform di Test
        X_tr_pca = pca.fit_transform(scaler.fit_transform(X_train_final[fitur_cols]))
        X_ts_pca = pca.transform(scaler.transform(X_test_final[fitur_cols]))
        
        # Rekonstruksi DataFrame (tempelkan metadata lagi)
        pca_cols = [f"PC_{i}" for i in range(X_tr_pca.shape[1])]
        X_train_final = pd.concat([meta_tr, pd.DataFrame(X_tr_pca, columns=pca_cols)], axis=1)
        X_test_final = pd.concat([meta_ts, pd.DataFrame(X_ts_pca, columns=pca_cols)], axis=1)

    # C. Drop Metadata sebelum masuk ke model
    X_train_clean = X_train_final.drop(columns=metadata_cols, errors='ignore')
    X_test_clean = X_test_final.drop(columns=metadata_cols, errors='ignore')
    
    # --- 5. TRAINING MODEL FINAL & PREDIKSI ---
    model = model_class(**best_params)
    model.fit(X_train_clean, y_train_final)

    # simpan model
    dict_fitted_models[exp_id] = model
    
    # Prediksi probabilitas pada Test Set
    y_pred_probs = model.predict_proba(X_test_clean)[:, 1]
    
    # Hitung Test PR-AUC
    test_pr_auc = average_precision_score(y_test_final, y_pred_probs)
    
    # --- 6. PENENTUAN THRESHOLD (PRIORITAS RECALL) ---
    precisions, recalls, thresholds = precision_recall_curve(y_test_final, y_pred_probs)
    target_recall = 0.80 

    try:
        # Cari threshold tertinggi yang recall-nya masih >= 80%
        optimal_idx = np.where(recalls >= target_recall)[0][-1]
        if optimal_idx >= len(thresholds):
            optimal_idx = len(thresholds) - 1
        best_threshold = thresholds[optimal_idx]
        expected_precision = precisions[optimal_idx]
        achieved_recall = recalls[optimal_idx]
    except IndexError:
        # Fallback jika model sangat buruk dan tidak bisa mencapai 80% recall
        best_threshold = 0.5
        expected_precision = 0
        achieved_recall = 0
        
    # Terapkan Threshold
    y_pred_final = (y_pred_probs >= best_threshold).astype(int)

    cm = confusion_matrix(y_test_final, y_pred_final)

    # Simpan detail prediksi dan metadata ke dalam keranjang
    dict_detailed_predictions[exp_id] = {
        'metadata': meta_ts.copy(),
        'y_true': y_test_final.reset_index(drop=True),
        'y_pred': pd.Series(y_pred_final),
        'y_prob': pd.Series(y_pred_probs),
        'X_test_features': X_test_clean.reset_index(drop=True) # simpan fitur
    }
    
    # --- 7. SIMPAN HASIL KE REKAPAN ---
    final_evaluation_results.append({
        'Experiment_ID': exp_id,
        'Target': t_name,
        'Null_Strat': n_strat,
        'Feat_Strat': f_strat,
        'Model': m_name,
        'CV_PR_AUC': result_data['best_cv_pr_auc'], # Dari Optuna
        'Test_PR_AUC': test_pr_auc,                 # Di Test Set riil
        'Best_Threshold': best_threshold,
        'Test_Recall': achieved_recall,
        'Test_Precision': expected_precision,
        'Confusion_Matrix': cm.tolist()
    })
    
    # # Cetak matriks hanya untuk model dengan PR_AUC Test > 0.40 agar layar tidak penuh
    # if test_pr_auc > 0.40:
    #     print(f"-> Test PR-AUC = {test_pr_auc:.4f} | Threshold = {best_threshold:.4f}")
    #     cm = confusion_matrix(y_test_final, y_pred_final)
    #     plt.figure(figsize=(4,3))
    #     sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')
    #     plt.title(f'{exp_id}')
    #     plt.show()

    # Simpan metrik kurva untuk diplot di luar loop
    if t_name in pr_auc_plot_data:
        pr_auc_plot_data[t_name].append({
            'label': f"{n_strat}_{f_strat}_{m_name} (AUC={test_pr_auc:.3f})",
            'recalls': recalls,
            'precisions': precisions,
            'auc': test_pr_auc
        })

# Jadikan DataFrame agar mudah diurutkan dan dianalisis
df_final_summary = pd.DataFrame(final_evaluation_results)
df_final_summary = df_final_summary.sort_values(by=['Target', 'Test_Precision'], ascending=[True, False]).reset_index(drop=True)

print("\n========== REKAPAN PERINGKAT MODEL TERBAIK TIAP TARGET ==========")
display(df_final_summary.head(3))

# SIMPAN DICTIONARY OBJEK MODEL KE DRIVE
model_pkl_path = save_path + 'fitted_models_skripsi.pkl'
with open(model_pkl_path, 'wb') as f:
    pickle.dump(dict_fitted_models, f)

# Simpan Dataframe Evaluasi Final ke CSV di GDrive
csv_path = save_path + 'hasil_evaluasi_final_skripsi.csv'
df_final_summary.to_csv(csv_path, index=False)

print(f"\n✅ Model dan rekap evaluasi final berhasil disimpan di: {model_pkl_path} dan {csv_path}")
Inisialisasi dict_master_results kosong di Google Colab.
Berhasil me-load data backup CPU (24 eksperimen).
Berhasil me-load data backup GPU (45 eksperimen).
Total seluruh eksperimen yang siap dievaluasi: 69
========== MEMULAI EVALUASI FINAL SELURUH EKSPERIMEN ==========

Mengevaluasi: ppk_keep_all_RandomForest

Mengevaluasi: ppk_keep_corr_RandomForest

Mengevaluasi: ppk_impute_all_RandomForest

Mengevaluasi: ppk_impute_all_AdaBoost

Mengevaluasi: ppk_impute_corr_RandomForest

Mengevaluasi: ppk_impute_corr_AdaBoost

Mengevaluasi: ppk_impute_pca_RandomForest

Mengevaluasi: ppk_impute_pca_AdaBoost

Mengevaluasi: negeq_keep_all_RandomForest

Mengevaluasi: negeq_keep_corr_RandomForest

Mengevaluasi: negeq_impute_all_RandomForest

Mengevaluasi: negeq_impute_all_AdaBoost

Mengevaluasi: negeq_impute_corr_RandomForest

Mengevaluasi: negeq_impute_corr_AdaBoost

Mengevaluasi: negeq_impute_pca_RandomForest

Mengevaluasi: negeq_impute_pca_AdaBoost

Mengevaluasi: conloss_keep_all_RandomForest

Mengevaluasi: conloss_keep_corr_RandomForest

Mengevaluasi: conloss_impute_all_RandomForest

Mengevaluasi: conloss_impute_all_AdaBoost

Mengevaluasi: conloss_impute_corr_RandomForest

Mengevaluasi: conloss_impute_corr_AdaBoost

Mengevaluasi: conloss_impute_pca_RandomForest

Mengevaluasi: conloss_impute_pca_AdaBoost

Mengevaluasi: ppk_keep_all_XGBoost

Mengevaluasi: ppk_keep_all_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 304, number of negative: 1628
[LightGBM] [Info] Total Bins 11598
[LightGBM] [Info] Number of data points in the train set: 1932, number of used features: 69
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.157350 -> initscore=-1.678080
[LightGBM] [Info] Start training from score -1.678080
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: ppk_keep_all_CatBoost
0:  learn: 0.6788882    total: 79.8ms   remaining: 1m 14s
1:  learn: 0.6640111    total: 102ms    remaining: 47.3s
2:  learn: 0.6510281    total: 123ms    remaining: 38s
3:  learn: 0.6372240    total: 145ms    remaining: 33.6s
4:  learn: 0.6254413    total: 171ms    remaining: 31.7s
5:  learn: 0.6106744    total: 196ms    remaining: 30.3s
6:  learn: 0.5993896    total: 218ms    remaining: 28.8s
7:  learn: 0.5890250    total: 239ms    remaining: 27.6s
8:  learn: 0.5784034    total: 260ms    remaining: 26.7s
9:  learn: 0.5666154    total: 282ms    remaining: 26s
10: learn: 0.5569104    total: 304ms    remaining: 25.5s
11: learn: 0.5467184    total: 325ms    remaining: 24.9s
12: learn: 0.5384171    total: 347ms    remaining: 24.6s
13: learn: 0.5304620    total: 368ms    remaining: 24.1s
14: learn: 0.5225322    total: 391ms    remaining: 23.9s
15: learn: 0.5143534    total: 413ms    remaining: 23.6s
16: learn: 0.5064552    total: 436ms    remaining: 23.5s
17: learn: 0.4989566    total: 459ms    remaining: 23.3s
18: learn: 0.4919103    total: 480ms    remaining: 23.1s
19: learn: 0.4856627    total: 501ms    remaining: 22.9s
20: learn: 0.4787414    total: 523ms    remaining: 22.7s
21: learn: 0.4716922    total: 545ms    remaining: 22.6s
22: learn: 0.4652147    total: 567ms    remaining: 22.4s
23: learn: 0.4591364    total: 588ms    remaining: 22.2s
24: learn: 0.4532171    total: 612ms    remaining: 22.2s
25: learn: 0.4478482    total: 633ms    remaining: 22.1s
26: learn: 0.4432349    total: 653ms    remaining: 21.9s
27: learn: 0.4386683    total: 674ms    remaining: 21.8s
28: learn: 0.4340135    total: 696ms    remaining: 21.7s
29: learn: 0.4294789    total: 718ms    remaining: 21.6s
30: learn: 0.4251922    total: 739ms    remaining: 21.5s
31: learn: 0.4206681    total: 760ms    remaining: 21.4s
32: learn: 0.4167119    total: 782ms    remaining: 21.3s
33: learn: 0.4131443    total: 804ms    remaining: 21.2s
34: learn: 0.4093005    total: 834ms    remaining: 21.4s
35: learn: 0.4052227    total: 875ms    remaining: 21.8s
36: learn: 0.4014703    total: 914ms    remaining: 22.1s
37: learn: 0.3984790    total: 953ms    remaining: 22.4s
38: learn: 0.3950005    total: 992ms    remaining: 22.7s
39: learn: 0.3917512    total: 1.03s    remaining: 22.9s
40: learn: 0.3878751    total: 1.07s    remaining: 23.2s
41: learn: 0.3849118    total: 1.1s remaining: 23.4s
42: learn: 0.3823886    total: 1.14s    remaining: 23.5s
43: learn: 0.3801074    total: 1.17s    remaining: 23.6s
44: learn: 0.3774050    total: 1.21s    remaining: 23.8s
45: learn: 0.3748414    total: 1.24s    remaining: 23.9s
46: learn: 0.3722363    total: 1.28s    remaining: 24.1s
47: learn: 0.3690296    total: 1.31s    remaining: 24.2s
48: learn: 0.3663933    total: 1.35s    remaining: 24.3s
49: learn: 0.3642782    total: 1.38s    remaining: 24.4s
50: learn: 0.3618633    total: 1.42s    remaining: 24.6s
51: learn: 0.3591506    total: 1.46s    remaining: 24.8s
52: learn: 0.3564529    total: 1.5s remaining: 24.9s
53: learn: 0.3543257    total: 1.53s    remaining: 25s
54: learn: 0.3521241    total: 1.57s    remaining: 25s
55: learn: 0.3499181    total: 1.6s remaining: 25.1s
56: learn: 0.3476871    total: 1.64s    remaining: 25.2s
57: learn: 0.3452434    total: 1.67s    remaining: 25.2s
58: learn: 0.3433634    total: 1.71s    remaining: 25.3s
59: learn: 0.3411556    total: 1.74s    remaining: 25.4s
60: learn: 0.3394589    total: 1.78s    remaining: 25.4s
61: learn: 0.3372455    total: 1.81s    remaining: 25.4s
62: learn: 0.3357444    total: 1.85s    remaining: 25.5s
63: learn: 0.3336432    total: 1.89s    remaining: 25.6s
64: learn: 0.3320031    total: 1.93s    remaining: 25.7s
65: learn: 0.3298279    total: 1.96s    remaining: 25.7s
66: learn: 0.3283533    total: 2s   remaining: 25.8s
67: learn: 0.3268326    total: 2.03s    remaining: 25.8s
68: learn: 0.3244851    total: 2.06s    remaining: 25.8s
69: learn: 0.3231984    total: 2.1s remaining: 25.8s
70: learn: 0.3215475    total: 2.13s    remaining: 25.9s
71: learn: 0.3200241    total: 2.17s    remaining: 25.9s
72: learn: 0.3186269    total: 2.2s remaining: 25.9s
73: learn: 0.3171744    total: 2.24s    remaining: 26s
74: learn: 0.3152611    total: 2.27s    remaining: 26s
75: learn: 0.3140634    total: 2.31s    remaining: 26s
76: learn: 0.3127928    total: 2.34s    remaining: 26s
77: learn: 0.3114403    total: 2.37s    remaining: 26s
78: learn: 0.3102872    total: 2.4s remaining: 26s
79: learn: 0.3091021    total: 2.44s    remaining: 26s
80: learn: 0.3076310    total: 2.47s    remaining: 26s
81: learn: 0.3063194    total: 2.5s remaining: 26s
82: learn: 0.3049507    total: 2.54s    remaining: 26s
83: learn: 0.3037391    total: 2.57s    remaining: 26s
84: learn: 0.3020740    total: 2.6s remaining: 26s
85: learn: 0.3004340    total: 2.64s    remaining: 26s
86: learn: 0.2994756    total: 2.67s    remaining: 26s
87: learn: 0.2980426    total: 2.71s    remaining: 26s
88: learn: 0.2963557    total: 2.75s    remaining: 26s
89: learn: 0.2952918    total: 2.78s    remaining: 26.1s
90: learn: 0.2947963    total: 2.82s    remaining: 26.1s
91: learn: 0.2937405    total: 2.86s    remaining: 26.1s
92: learn: 0.2920050    total: 2.9s remaining: 26.1s
93: learn: 0.2910147    total: 2.93s    remaining: 26.2s
94: learn: 0.2902384    total: 2.97s    remaining: 26.2s
95: learn: 0.2885853    total: 3.01s    remaining: 26.2s
96: learn: 0.2870466    total: 3.05s    remaining: 26.3s
97: learn: 0.2856969    total: 3.09s    remaining: 26.3s
98: learn: 0.2845669    total: 3.12s    remaining: 26.3s
99: learn: 0.2831653    total: 3.16s    remaining: 26.3s
100:    learn: 0.2817948    total: 3.19s    remaining: 26.3s
101:    learn: 0.2806661    total: 3.23s    remaining: 26.3s
102:    learn: 0.2797827    total: 3.27s    remaining: 26.3s
103:    learn: 0.2789093    total: 3.3s remaining: 26.3s
104:    learn: 0.2774708    total: 3.33s    remaining: 26.3s
105:    learn: 0.2763678    total: 3.37s    remaining: 26.2s
106:    learn: 0.2754363    total: 3.4s remaining: 26.2s
107:    learn: 0.2746674    total: 3.44s    remaining: 26.3s
108:    learn: 0.2734192    total: 3.48s    remaining: 26.3s
109:    learn: 0.2726564    total: 3.51s    remaining: 26.3s
110:    learn: 0.2717782    total: 3.55s    remaining: 26.3s
111:    learn: 0.2712070    total: 3.58s    remaining: 26.2s
112:    learn: 0.2699438    total: 3.62s    remaining: 26.2s
113:    learn: 0.2690364    total: 3.65s    remaining: 26.2s
114:    learn: 0.2679353    total: 3.69s    remaining: 26.2s
115:    learn: 0.2667045    total: 3.73s    remaining: 26.2s
116:    learn: 0.2660627    total: 3.76s    remaining: 26.2s
117:    learn: 0.2648525    total: 3.8s remaining: 26.2s
118:    learn: 0.2638165    total: 3.83s    remaining: 26.2s
119:    learn: 0.2628547    total: 3.87s    remaining: 26.2s
120:    learn: 0.2620053    total: 3.9s remaining: 26.2s
121:    learn: 0.2611192    total: 3.94s    remaining: 26.1s
122:    learn: 0.2602545    total: 3.97s    remaining: 26.1s
123:    learn: 0.2590323    total: 4s   remaining: 26.1s
124:    learn: 0.2580166    total: 4.04s    remaining: 26.1s
125:    learn: 0.2574422    total: 4.07s    remaining: 26s
126:    learn: 0.2566577    total: 4.11s    remaining: 26s
127:    learn: 0.2557736    total: 4.14s    remaining: 26s
128:    learn: 0.2549538    total: 4.18s    remaining: 26s
129:    learn: 0.2542997    total: 4.21s    remaining: 26s
130:    learn: 0.2534519    total: 4.25s    remaining: 26s
131:    learn: 0.2526895    total: 4.28s    remaining: 25.9s
132:    learn: 0.2517834    total: 4.31s    remaining: 25.9s
133:    learn: 0.2508248    total: 4.35s    remaining: 25.9s
134:    learn: 0.2502111    total: 4.39s    remaining: 25.9s
135:    learn: 0.2491256    total: 4.42s    remaining: 25.9s
136:    learn: 0.2484597    total: 4.46s    remaining: 25.9s
137:    learn: 0.2481983    total: 4.49s    remaining: 25.9s
138:    learn: 0.2469905    total: 4.53s    remaining: 25.8s
139:    learn: 0.2462655    total: 4.56s    remaining: 25.8s
140:    learn: 0.2451924    total: 4.6s remaining: 25.8s
141:    learn: 0.2444567    total: 4.63s    remaining: 25.8s
142:    learn: 0.2436989    total: 4.67s    remaining: 25.8s
143:    learn: 0.2429258    total: 4.71s    remaining: 25.8s
144:    learn: 0.2425101    total: 4.75s    remaining: 25.8s
145:    learn: 0.2417242    total: 4.78s    remaining: 25.7s
146:    learn: 0.2407215    total: 4.82s    remaining: 25.7s
147:    learn: 0.2401141    total: 4.86s    remaining: 25.7s
148:    learn: 0.2393322    total: 4.89s    remaining: 25.7s
149:    learn: 0.2388871    total: 4.93s    remaining: 25.7s
150:    learn: 0.2384112    total: 4.96s    remaining: 25.7s
151:    learn: 0.2378208    total: 5s   remaining: 25.7s
152:    learn: 0.2370750    total: 5.04s    remaining: 25.6s
153:    learn: 0.2363195    total: 5.07s    remaining: 25.6s
154:    learn: 0.2356786    total: 5.11s    remaining: 25.6s
155:    learn: 0.2349791    total: 5.14s    remaining: 25.6s
156:    learn: 0.2341335    total: 5.18s    remaining: 25.6s
157:    learn: 0.2332287    total: 5.22s    remaining: 25.6s
158:    learn: 0.2325121    total: 5.25s    remaining: 25.5s
159:    learn: 0.2317910    total: 5.27s    remaining: 25.4s
160:    learn: 0.2311994    total: 5.29s    remaining: 25.3s
161:    learn: 0.2301718    total: 5.31s    remaining: 25.2s
162:    learn: 0.2294664    total: 5.33s    remaining: 25.1s
163:    learn: 0.2285213    total: 5.35s    remaining: 25.1s
164:    learn: 0.2276711    total: 5.37s    remaining: 25s
165:    learn: 0.2269663    total: 5.4s remaining: 24.9s
166:    learn: 0.2262838    total: 5.42s    remaining: 24.8s
167:    learn: 0.2255390    total: 5.44s    remaining: 24.8s
168:    learn: 0.2246995    total: 5.46s    remaining: 24.7s
169:    learn: 0.2235266    total: 5.49s    remaining: 24.6s
170:    learn: 0.2228513    total: 5.51s    remaining: 24.5s
171:    learn: 0.2219843    total: 5.53s    remaining: 24.4s
172:    learn: 0.2211917    total: 5.55s    remaining: 24.4s
173:    learn: 0.2204525    total: 5.57s    remaining: 24.3s
174:    learn: 0.2201896    total: 5.59s    remaining: 24.2s
175:    learn: 0.2194557    total: 5.62s    remaining: 24.1s
176:    learn: 0.2190797    total: 5.64s    remaining: 24s
177:    learn: 0.2185021    total: 5.66s    remaining: 24s
178:    learn: 0.2179143    total: 5.68s    remaining: 23.9s
179:    learn: 0.2172813    total: 5.7s remaining: 23.8s
180:    learn: 0.2170382    total: 5.72s    remaining: 23.7s
181:    learn: 0.2164277    total: 5.74s    remaining: 23.7s
182:    learn: 0.2157108    total: 5.76s    remaining: 23.6s
183:    learn: 0.2150841    total: 5.79s    remaining: 23.5s
184:    learn: 0.2143598    total: 5.81s    remaining: 23.5s
185:    learn: 0.2137875    total: 5.83s    remaining: 23.4s
186:    learn: 0.2131021    total: 5.86s    remaining: 23.3s
187:    learn: 0.2123879    total: 5.88s    remaining: 23.3s
188:    learn: 0.2119083    total: 5.9s remaining: 23.2s
189:    learn: 0.2110269    total: 5.92s    remaining: 23.1s
190:    learn: 0.2104497    total: 5.95s    remaining: 23.1s
191:    learn: 0.2098071    total: 5.97s    remaining: 23s
192:    learn: 0.2093232    total: 5.99s    remaining: 22.9s
193:    learn: 0.2086232    total: 6.01s    remaining: 22.9s
194:    learn: 0.2083000    total: 6.03s    remaining: 22.8s
195:    learn: 0.2080372    total: 6.06s    remaining: 22.7s
196:    learn: 0.2076052    total: 6.08s    remaining: 22.7s
197:    learn: 0.2070736    total: 6.1s remaining: 22.6s
198:    learn: 0.2066333    total: 6.12s    remaining: 22.5s
199:    learn: 0.2058607    total: 6.14s    remaining: 22.5s
200:    learn: 0.2052799    total: 6.16s    remaining: 22.4s
201:    learn: 0.2045394    total: 6.18s    remaining: 22.3s
202:    learn: 0.2041151    total: 6.21s    remaining: 22.3s
203:    learn: 0.2036277    total: 6.23s    remaining: 22.2s
204:    learn: 0.2033077    total: 6.26s    remaining: 22.2s
205:    learn: 0.2027015    total: 6.29s    remaining: 22.2s
206:    learn: 0.2022114    total: 6.31s    remaining: 22.1s
207:    learn: 0.2015744    total: 6.33s    remaining: 22s
208:    learn: 0.2011385    total: 6.35s    remaining: 22s
209:    learn: 0.2006138    total: 6.37s    remaining: 21.9s
210:    learn: 0.2001129    total: 6.39s    remaining: 21.8s
211:    learn: 0.1997061    total: 6.42s    remaining: 21.8s
212:    learn: 0.1993772    total: 6.44s    remaining: 21.7s
213:    learn: 0.1988334    total: 6.46s    remaining: 21.7s
214:    learn: 0.1982411    total: 6.49s    remaining: 21.6s
215:    learn: 0.1977243    total: 6.51s    remaining: 21.6s
216:    learn: 0.1970865    total: 6.53s    remaining: 21.5s
217:    learn: 0.1963539    total: 6.55s    remaining: 21.4s
218:    learn: 0.1960643    total: 6.57s    remaining: 21.4s
219:    learn: 0.1955745    total: 6.59s    remaining: 21.3s
220:    learn: 0.1951969    total: 6.61s    remaining: 21.3s
221:    learn: 0.1947130    total: 6.63s    remaining: 21.2s
222:    learn: 0.1942344    total: 6.66s    remaining: 21.2s
223:    learn: 0.1938084    total: 6.68s    remaining: 21.1s
224:    learn: 0.1933453    total: 6.7s remaining: 21.1s
225:    learn: 0.1927264    total: 6.72s    remaining: 21s
226:    learn: 0.1922354    total: 6.74s    remaining: 20.9s
227:    learn: 0.1916690    total: 6.77s    remaining: 20.9s
228:    learn: 0.1908240    total: 6.79s    remaining: 20.8s
229:    learn: 0.1901831    total: 6.81s    remaining: 20.8s
230:    learn: 0.1898670    total: 6.83s    remaining: 20.7s
231:    learn: 0.1894103    total: 6.85s    remaining: 20.7s
232:    learn: 0.1889337    total: 6.88s    remaining: 20.6s
233:    learn: 0.1883109    total: 6.9s remaining: 20.6s
234:    learn: 0.1877300    total: 6.92s    remaining: 20.5s
235:    learn: 0.1871411    total: 6.95s    remaining: 20.5s
236:    learn: 0.1863542    total: 6.97s    remaining: 20.4s
237:    learn: 0.1860050    total: 6.99s    remaining: 20.4s
238:    learn: 0.1853130    total: 7.01s    remaining: 20.3s
239:    learn: 0.1847734    total: 7.03s    remaining: 20.3s
240:    learn: 0.1842989    total: 7.05s    remaining: 20.2s
241:    learn: 0.1839974    total: 7.07s    remaining: 20.2s
242:    learn: 0.1833780    total: 7.1s remaining: 20.1s
243:    learn: 0.1827080    total: 7.12s    remaining: 20.1s
244:    learn: 0.1821666    total: 7.14s    remaining: 20s
245:    learn: 0.1818204    total: 7.16s    remaining: 20s
246:    learn: 0.1812341    total: 7.18s    remaining: 19.9s
247:    learn: 0.1807372    total: 7.21s    remaining: 19.9s
248:    learn: 0.1800983    total: 7.23s    remaining: 19.8s
249:    learn: 0.1795798    total: 7.25s    remaining: 19.8s
250:    learn: 0.1792918    total: 7.28s    remaining: 19.8s
251:    learn: 0.1788248    total: 7.31s    remaining: 19.7s
252:    learn: 0.1785003    total: 7.33s    remaining: 19.7s
253:    learn: 0.1782290    total: 7.36s    remaining: 19.6s
254:    learn: 0.1775788    total: 7.38s    remaining: 19.6s
255:    learn: 0.1770740    total: 7.4s remaining: 19.5s
256:    learn: 0.1768716    total: 7.42s    remaining: 19.5s
257:    learn: 0.1765555    total: 7.44s    remaining: 19.4s
258:    learn: 0.1763169    total: 7.46s    remaining: 19.4s
259:    learn: 0.1760582    total: 7.49s    remaining: 19.4s
260:    learn: 0.1757156    total: 7.51s    remaining: 19.3s
261:    learn: 0.1750946    total: 7.53s    remaining: 19.3s
262:    learn: 0.1746013    total: 7.55s    remaining: 19.2s
263:    learn: 0.1739489    total: 7.58s    remaining: 19.2s
264:    learn: 0.1733771    total: 7.6s remaining: 19.1s
265:    learn: 0.1729385    total: 7.62s    remaining: 19.1s
266:    learn: 0.1725993    total: 7.64s    remaining: 19s
267:    learn: 0.1719826    total: 7.66s    remaining: 19s
268:    learn: 0.1714526    total: 7.68s    remaining: 18.9s
269:    learn: 0.1708621    total: 7.71s    remaining: 18.9s
270:    learn: 0.1705154    total: 7.73s    remaining: 18.8s
271:    learn: 0.1698714    total: 7.75s    remaining: 18.8s
272:    learn: 0.1695571    total: 7.77s    remaining: 18.8s
273:    learn: 0.1694219    total: 7.79s    remaining: 18.7s
274:    learn: 0.1690046    total: 7.82s    remaining: 18.7s
275:    learn: 0.1684189    total: 7.84s    remaining: 18.6s
276:    learn: 0.1678592    total: 7.86s    remaining: 18.6s
277:    learn: 0.1674768    total: 7.88s    remaining: 18.5s
278:    learn: 0.1670159    total: 7.9s remaining: 18.5s
279:    learn: 0.1664111    total: 7.92s    remaining: 18.5s
280:    learn: 0.1656595    total: 7.95s    remaining: 18.4s
281:    learn: 0.1653058    total: 7.97s    remaining: 18.4s
282:    learn: 0.1647275    total: 7.99s    remaining: 18.3s
283:    learn: 0.1641040    total: 8.01s    remaining: 18.3s
284:    learn: 0.1632950    total: 8.03s    remaining: 18.2s
285:    learn: 0.1628132    total: 8.05s    remaining: 18.2s
286:    learn: 0.1621116    total: 8.07s    remaining: 18.1s
287:    learn: 0.1616269    total: 8.1s remaining: 18.1s
288:    learn: 0.1614829    total: 8.1s remaining: 18s
289:    learn: 0.1610828    total: 8.12s    remaining: 18s
290:    learn: 0.1605620    total: 8.15s    remaining: 18s
291:    learn: 0.1599086    total: 8.17s    remaining: 17.9s
292:    learn: 0.1596161    total: 8.2s remaining: 17.9s
293:    learn: 0.1591751    total: 8.22s    remaining: 17.8s
294:    learn: 0.1586958    total: 8.24s    remaining: 17.8s
295:    learn: 0.1582621    total: 8.26s    remaining: 17.8s
296:    learn: 0.1577412    total: 8.29s    remaining: 17.7s
297:    learn: 0.1570587    total: 8.32s    remaining: 17.7s
298:    learn: 0.1568619    total: 8.35s    remaining: 17.7s
299:    learn: 0.1565644    total: 8.37s    remaining: 17.6s
300:    learn: 0.1558658    total: 8.39s    remaining: 17.6s
301:    learn: 0.1556999    total: 8.41s    remaining: 17.6s
302:    learn: 0.1552199    total: 8.44s    remaining: 17.5s
303:    learn: 0.1550628    total: 8.46s    remaining: 17.5s
304:    learn: 0.1545422    total: 8.49s    remaining: 17.4s
305:    learn: 0.1541861    total: 8.51s    remaining: 17.4s
306:    learn: 0.1538379    total: 8.53s    remaining: 17.4s
307:    learn: 0.1536275    total: 8.55s    remaining: 17.3s
308:    learn: 0.1531435    total: 8.57s    remaining: 17.3s
309:    learn: 0.1528935    total: 8.59s    remaining: 17.2s
310:    learn: 0.1525516    total: 8.62s    remaining: 17.2s
311:    learn: 0.1522715    total: 8.64s    remaining: 17.2s
312:    learn: 0.1518918    total: 8.66s    remaining: 17.1s
313:    learn: 0.1517388    total: 8.68s    remaining: 17.1s
314:    learn: 0.1511712    total: 8.7s remaining: 17s
315:    learn: 0.1509338    total: 8.73s    remaining: 17s
316:    learn: 0.1505571    total: 8.75s    remaining: 17s
317:    learn: 0.1501515    total: 8.77s    remaining: 16.9s
318:    learn: 0.1498052    total: 8.79s    remaining: 16.9s
319:    learn: 0.1493686    total: 8.81s    remaining: 16.9s
320:    learn: 0.1492138    total: 8.83s    remaining: 16.8s
321:    learn: 0.1490398    total: 8.86s    remaining: 16.8s
322:    learn: 0.1485530    total: 8.88s    remaining: 16.7s
323:    learn: 0.1482453    total: 8.9s remaining: 16.7s
324:    learn: 0.1479389    total: 8.92s    remaining: 16.7s
325:    learn: 0.1476271    total: 8.94s    remaining: 16.6s
326:    learn: 0.1471053    total: 8.96s    remaining: 16.6s
327:    learn: 0.1467679    total: 8.99s    remaining: 16.5s
328:    learn: 0.1463497    total: 9.01s    remaining: 16.5s
329:    learn: 0.1458872    total: 9.03s    remaining: 16.5s
330:    learn: 0.1456708    total: 9.05s    remaining: 16.4s
331:    learn: 0.1454240    total: 9.07s    remaining: 16.4s
332:    learn: 0.1451203    total: 9.1s remaining: 16.4s
333:    learn: 0.1448793    total: 9.12s    remaining: 16.3s
334:    learn: 0.1446646    total: 9.14s    remaining: 16.3s
335:    learn: 0.1442200    total: 9.16s    remaining: 16.3s
336:    learn: 0.1438686    total: 9.19s    remaining: 16.2s
337:    learn: 0.1436613    total: 9.21s    remaining: 16.2s
338:    learn: 0.1430831    total: 9.23s    remaining: 16.1s
339:    learn: 0.1426876    total: 9.25s    remaining: 16.1s
340:    learn: 0.1421946    total: 9.28s    remaining: 16.1s
341:    learn: 0.1416049    total: 9.3s remaining: 16s
342:    learn: 0.1412637    total: 9.32s    remaining: 16s
343:    learn: 0.1408800    total: 9.35s    remaining: 16s
344:    learn: 0.1406657    total: 9.38s    remaining: 16s
345:    learn: 0.1403938    total: 9.4s remaining: 15.9s
346:    learn: 0.1401974    total: 9.42s    remaining: 15.9s
347:    learn: 0.1396917    total: 9.45s    remaining: 15.9s
348:    learn: 0.1393219    total: 9.47s    remaining: 15.8s
349:    learn: 0.1388873    total: 9.49s    remaining: 15.8s
350:    learn: 0.1385153    total: 9.51s    remaining: 15.7s
351:    learn: 0.1379588    total: 9.54s    remaining: 15.7s
352:    learn: 0.1375995    total: 9.56s    remaining: 15.7s
353:    learn: 0.1373095    total: 9.58s    remaining: 15.6s
354:    learn: 0.1370456    total: 9.6s remaining: 15.6s
355:    learn: 0.1366232    total: 9.62s    remaining: 15.6s
356:    learn: 0.1363696    total: 9.65s    remaining: 15.5s
357:    learn: 0.1361832    total: 9.67s    remaining: 15.5s
358:    learn: 0.1360766    total: 9.69s    remaining: 15.5s
359:    learn: 0.1358615    total: 9.71s    remaining: 15.4s
360:    learn: 0.1356026    total: 9.73s    remaining: 15.4s
361:    learn: 0.1351491    total: 9.76s    remaining: 15.4s
362:    learn: 0.1347806    total: 9.78s    remaining: 15.3s
363:    learn: 0.1343969    total: 9.8s remaining: 15.3s
364:    learn: 0.1341683    total: 9.82s    remaining: 15.3s
365:    learn: 0.1339385    total: 9.84s    remaining: 15.2s
366:    learn: 0.1335880    total: 9.86s    remaining: 15.2s
367:    learn: 0.1330942    total: 9.89s    remaining: 15.2s
368:    learn: 0.1326639    total: 9.91s    remaining: 15.1s
369:    learn: 0.1325131    total: 9.94s    remaining: 15.1s
370:    learn: 0.1322175    total: 9.96s    remaining: 15.1s
371:    learn: 0.1318137    total: 9.98s    remaining: 15s
372:    learn: 0.1312560    total: 10s  remaining: 15s
373:    learn: 0.1310848    total: 10s  remaining: 15s
374:    learn: 0.1308400    total: 10s  remaining: 14.9s
375:    learn: 0.1306585    total: 10.1s    remaining: 14.9s
376:    learn: 0.1303105    total: 10.1s    remaining: 14.9s
377:    learn: 0.1300162    total: 10.1s    remaining: 14.8s
378:    learn: 0.1297087    total: 10.1s    remaining: 14.8s
379:    learn: 0.1295349    total: 10.2s    remaining: 14.8s
380:    learn: 0.1294189    total: 10.2s    remaining: 14.7s
381:    learn: 0.1290193    total: 10.2s    remaining: 14.7s
382:    learn: 0.1286845    total: 10.2s    remaining: 14.7s
383:    learn: 0.1283952    total: 10.2s    remaining: 14.6s
384:    learn: 0.1281521    total: 10.3s    remaining: 14.6s
385:    learn: 0.1278297    total: 10.3s    remaining: 14.6s
386:    learn: 0.1275638    total: 10.3s    remaining: 14.5s
387:    learn: 0.1271373    total: 10.3s    remaining: 14.5s
388:    learn: 0.1269992    total: 10.4s    remaining: 14.5s
389:    learn: 0.1266411    total: 10.4s    remaining: 14.5s
390:    learn: 0.1261279    total: 10.4s    remaining: 14.4s
391:    learn: 0.1257619    total: 10.4s    remaining: 14.4s
392:    learn: 0.1254942    total: 10.5s    remaining: 14.4s
393:    learn: 0.1250947    total: 10.5s    remaining: 14.3s
394:    learn: 0.1249964    total: 10.5s    remaining: 14.3s
395:    learn: 0.1248889    total: 10.5s    remaining: 14.3s
396:    learn: 0.1245072    total: 10.6s    remaining: 14.2s
397:    learn: 0.1242962    total: 10.6s    remaining: 14.2s
398:    learn: 0.1240782    total: 10.6s    remaining: 14.2s
399:    learn: 0.1238430    total: 10.6s    remaining: 14.1s
400:    learn: 0.1235416    total: 10.6s    remaining: 14.1s
401:    learn: 0.1232677    total: 10.7s    remaining: 14.1s
402:    learn: 0.1228694    total: 10.7s    remaining: 14s
403:    learn: 0.1226878    total: 10.7s    remaining: 14s
404:    learn: 0.1225183    total: 10.7s    remaining: 14s
405:    learn: 0.1221380    total: 10.8s    remaining: 13.9s
406:    learn: 0.1217839    total: 10.8s    remaining: 13.9s
407:    learn: 0.1216765    total: 10.8s    remaining: 13.9s
408:    learn: 0.1213568    total: 10.8s    remaining: 13.8s
409:    learn: 0.1208890    total: 10.8s    remaining: 13.8s
410:    learn: 0.1206340    total: 10.9s    remaining: 13.8s
411:    learn: 0.1203230    total: 10.9s    remaining: 13.7s
412:    learn: 0.1200028    total: 10.9s    remaining: 13.7s
413:    learn: 0.1196967    total: 10.9s    remaining: 13.7s
414:    learn: 0.1195162    total: 10.9s    remaining: 13.6s
415:    learn: 0.1193037    total: 11s  remaining: 13.6s
416:    learn: 0.1191208    total: 11s  remaining: 13.6s
417:    learn: 0.1188786    total: 11s  remaining: 13.5s
418:    learn: 0.1187966    total: 11s  remaining: 13.5s
419:    learn: 0.1186900    total: 11.1s    remaining: 13.5s
420:    learn: 0.1185794    total: 11.1s    remaining: 13.4s
421:    learn: 0.1183463    total: 11.1s    remaining: 13.4s
422:    learn: 0.1180506    total: 11.1s    remaining: 13.4s
423:    learn: 0.1176208    total: 11.1s    remaining: 13.3s
424:    learn: 0.1174535    total: 11.2s    remaining: 13.3s
425:    learn: 0.1171056    total: 11.2s    remaining: 13.3s
426:    learn: 0.1169965    total: 11.2s    remaining: 13.2s
427:    learn: 0.1165638    total: 11.2s    remaining: 13.2s
428:    learn: 0.1162713    total: 11.2s    remaining: 13.2s
429:    learn: 0.1159096    total: 11.3s    remaining: 13.2s
430:    learn: 0.1158404    total: 11.3s    remaining: 13.1s
431:    learn: 0.1157535    total: 11.3s    remaining: 13.1s
432:    learn: 0.1156448    total: 11.3s    remaining: 13.1s
433:    learn: 0.1153635    total: 11.4s    remaining: 13s
434:    learn: 0.1152233    total: 11.4s    remaining: 13s
435:    learn: 0.1151261    total: 11.4s    remaining: 13s
436:    learn: 0.1147326    total: 11.4s    remaining: 13s
437:    learn: 0.1145193    total: 11.5s    remaining: 12.9s
438:    learn: 0.1143118    total: 11.5s    remaining: 12.9s
439:    learn: 0.1141736    total: 11.5s    remaining: 12.9s
440:    learn: 0.1137764    total: 11.5s    remaining: 12.8s
441:    learn: 0.1134227    total: 11.6s    remaining: 12.8s
442:    learn: 0.1133098    total: 11.6s    remaining: 12.8s
443:    learn: 0.1130752    total: 11.6s    remaining: 12.8s
444:    learn: 0.1125954    total: 11.6s    remaining: 12.7s
445:    learn: 0.1123570    total: 11.6s    remaining: 12.7s
446:    learn: 0.1120548    total: 11.7s    remaining: 12.7s
447:    learn: 0.1118395    total: 11.7s    remaining: 12.6s
448:    learn: 0.1116466    total: 11.7s    remaining: 12.6s
449:    learn: 0.1115209    total: 11.7s    remaining: 12.6s
450:    learn: 0.1113696    total: 11.8s    remaining: 12.5s
451:    learn: 0.1111608    total: 11.8s    remaining: 12.5s
452:    learn: 0.1108285    total: 11.8s    remaining: 12.5s
453:    learn: 0.1107487    total: 11.8s    remaining: 12.4s
454:    learn: 0.1105811    total: 11.8s    remaining: 12.4s
455:    learn: 0.1103289    total: 11.9s    remaining: 12.4s
456:    learn: 0.1101986    total: 11.9s    remaining: 12.4s
457:    learn: 0.1099481    total: 11.9s    remaining: 12.3s
458:    learn: 0.1096497    total: 11.9s    remaining: 12.3s
459:    learn: 0.1092722    total: 12s  remaining: 12.3s
460:    learn: 0.1091451    total: 12s  remaining: 12.2s
461:    learn: 0.1087701    total: 12s  remaining: 12.2s
462:    learn: 0.1083431    total: 12s  remaining: 12.2s
463:    learn: 0.1082463    total: 12s  remaining: 12.1s
464:    learn: 0.1080100    total: 12.1s    remaining: 12.1s
465:    learn: 0.1079111    total: 12.1s    remaining: 12.1s
466:    learn: 0.1074974    total: 12.1s    remaining: 12.1s
467:    learn: 0.1073485    total: 12.1s    remaining: 12s
468:    learn: 0.1068118    total: 12.1s    remaining: 12s
469:    learn: 0.1067426    total: 12.2s    remaining: 12s
470:    learn: 0.1063185    total: 12.2s    remaining: 11.9s
471:    learn: 0.1060324    total: 12.2s    remaining: 11.9s
472:    learn: 0.1057710    total: 12.2s    remaining: 11.9s
473:    learn: 0.1054612    total: 12.3s    remaining: 11.8s
474:    learn: 0.1051664    total: 12.3s    remaining: 11.8s
475:    learn: 0.1048526    total: 12.3s    remaining: 11.8s
476:    learn: 0.1046579    total: 12.3s    remaining: 11.8s
477:    learn: 0.1043323    total: 12.3s    remaining: 11.7s
478:    learn: 0.1040067    total: 12.4s    remaining: 11.7s
479:    learn: 0.1037862    total: 12.4s    remaining: 11.7s
480:    learn: 0.1036997    total: 12.4s    remaining: 11.6s
481:    learn: 0.1032824    total: 12.5s    remaining: 11.6s
482:    learn: 0.1029285    total: 12.5s    remaining: 11.6s
483:    learn: 0.1027438    total: 12.5s    remaining: 11.6s
484:    learn: 0.1025836    total: 12.5s    remaining: 11.5s
485:    learn: 0.1024386    total: 12.5s    remaining: 11.5s
486:    learn: 0.1022462    total: 12.6s    remaining: 11.5s
487:    learn: 0.1021140    total: 12.6s    remaining: 11.5s
488:    learn: 0.1017555    total: 12.6s    remaining: 11.4s
489:    learn: 0.1014434    total: 12.6s    remaining: 11.4s
490:    learn: 0.1012307    total: 12.7s    remaining: 11.4s
491:    learn: 0.1010587    total: 12.7s    remaining: 11.3s
492:    learn: 0.1007788    total: 12.7s    remaining: 11.3s
493:    learn: 0.1006341    total: 12.7s    remaining: 11.3s
494:    learn: 0.1002475    total: 12.7s    remaining: 11.2s
495:    learn: 0.1000915    total: 12.8s    remaining: 11.2s
496:    learn: 0.0997209    total: 12.8s    remaining: 11.2s
497:    learn: 0.0995200    total: 12.8s    remaining: 11.2s
498:    learn: 0.0992921    total: 12.8s    remaining: 11.1s
499:    learn: 0.0991043    total: 12.9s    remaining: 11.1s
500:    learn: 0.0989649    total: 12.9s    remaining: 11.1s
501:    learn: 0.0986541    total: 12.9s    remaining: 11s
502:    learn: 0.0984041    total: 12.9s    remaining: 11s
503:    learn: 0.0980203    total: 12.9s    remaining: 11s
504:    learn: 0.0978810    total: 13s  remaining: 11s
505:    learn: 0.0978172    total: 13s  remaining: 10.9s
506:    learn: 0.0976053    total: 13s  remaining: 10.9s
507:    learn: 0.0972270    total: 13s  remaining: 10.9s
508:    learn: 0.0969169    total: 13.1s    remaining: 10.8s
509:    learn: 0.0964797    total: 13.1s    remaining: 10.8s
510:    learn: 0.0962630    total: 13.1s    remaining: 10.8s
511:    learn: 0.0959357    total: 13.1s    remaining: 10.8s
512:    learn: 0.0956977    total: 13.1s    remaining: 10.7s
513:    learn: 0.0956277    total: 13.2s    remaining: 10.7s
514:    learn: 0.0954822    total: 13.2s    remaining: 10.7s
515:    learn: 0.0954574    total: 13.2s    remaining: 10.6s
516:    learn: 0.0953759    total: 13.2s    remaining: 10.6s
517:    learn: 0.0951726    total: 13.2s    remaining: 10.6s
518:    learn: 0.0950289    total: 13.3s    remaining: 10.6s
519:    learn: 0.0947289    total: 13.3s    remaining: 10.5s
520:    learn: 0.0946310    total: 13.3s    remaining: 10.5s
521:    learn: 0.0944618    total: 13.3s    remaining: 10.5s
522:    learn: 0.0942737    total: 13.4s    remaining: 10.4s
523:    learn: 0.0938993    total: 13.4s    remaining: 10.4s
524:    learn: 0.0935310    total: 13.4s    remaining: 10.4s
525:    learn: 0.0933737    total: 13.4s    remaining: 10.4s
526:    learn: 0.0932932    total: 13.4s    remaining: 10.3s
527:    learn: 0.0930429    total: 13.5s    remaining: 10.3s
528:    learn: 0.0928884    total: 13.5s    remaining: 10.3s
529:    learn: 0.0927700    total: 13.5s    remaining: 10.3s
530:    learn: 0.0926165    total: 13.5s    remaining: 10.2s
531:    learn: 0.0923913    total: 13.6s    remaining: 10.2s
532:    learn: 0.0921362    total: 13.6s    remaining: 10.2s
533:    learn: 0.0919147    total: 13.6s    remaining: 10.1s
534:    learn: 0.0915845    total: 13.6s    remaining: 10.1s
535:    learn: 0.0913547    total: 13.7s    remaining: 10.1s
536:    learn: 0.0909819    total: 13.7s    remaining: 10.1s
537:    learn: 0.0908629    total: 13.7s    remaining: 10s
538:    learn: 0.0905777    total: 13.7s    remaining: 10s
539:    learn: 0.0905434    total: 13.7s    remaining: 9.98s
540:    learn: 0.0903508    total: 13.8s    remaining: 9.95s
541:    learn: 0.0902685    total: 13.8s    remaining: 9.92s
542:    learn: 0.0901299    total: 13.8s    remaining: 9.89s
543:    learn: 0.0898281    total: 13.8s    remaining: 9.87s
544:    learn: 0.0896130    total: 13.9s    remaining: 9.84s
545:    learn: 0.0894472    total: 13.9s    remaining: 9.81s
546:    learn: 0.0891267    total: 13.9s    remaining: 9.79s
547:    learn: 0.0887852    total: 13.9s    remaining: 9.76s
548:    learn: 0.0886103    total: 13.9s    remaining: 9.73s
549:    learn: 0.0885391    total: 14s  remaining: 9.7s
550:    learn: 0.0884535    total: 14s  remaining: 9.67s
551:    learn: 0.0881781    total: 14s  remaining: 9.64s
552:    learn: 0.0879049    total: 14s  remaining: 9.62s
553:    learn: 0.0875888    total: 14.1s    remaining: 9.59s
554:    learn: 0.0874447    total: 14.1s    remaining: 9.56s
555:    learn: 0.0872102    total: 14.1s    remaining: 9.54s
556:    learn: 0.0869588    total: 14.1s    remaining: 9.51s
557:    learn: 0.0867092    total: 14.1s    remaining: 9.48s
558:    learn: 0.0866387    total: 14.2s    remaining: 9.45s
559:    learn: 0.0864155    total: 14.2s    remaining: 9.43s
560:    learn: 0.0861703    total: 14.2s    remaining: 9.4s
561:    learn: 0.0860133    total: 14.2s    remaining: 9.37s
562:    learn: 0.0857067    total: 14.3s    remaining: 9.34s
563:    learn: 0.0855314    total: 14.3s    remaining: 9.31s
564:    learn: 0.0853905    total: 14.3s    remaining: 9.29s
565:    learn: 0.0853193    total: 14.3s    remaining: 9.26s
566:    learn: 0.0851038    total: 14.3s    remaining: 9.23s
567:    learn: 0.0848934    total: 14.4s    remaining: 9.21s
568:    learn: 0.0847589    total: 14.4s    remaining: 9.18s
569:    learn: 0.0846884    total: 14.4s    remaining: 9.15s
570:    learn: 0.0843792    total: 14.4s    remaining: 9.12s
571:    learn: 0.0842453    total: 14.4s    remaining: 9.09s
572:    learn: 0.0841852    total: 14.5s    remaining: 9.07s
573:    learn: 0.0840536    total: 14.5s    remaining: 9.04s
574:    learn: 0.0838057    total: 14.5s    remaining: 9.02s
575:    learn: 0.0837046    total: 14.6s    remaining: 8.99s
576:    learn: 0.0834802    total: 14.6s    remaining: 8.97s
577:    learn: 0.0832630    total: 14.6s    remaining: 8.94s
578:    learn: 0.0831680    total: 14.6s    remaining: 8.91s
579:    learn: 0.0830010    total: 14.6s    remaining: 8.88s
580:    learn: 0.0827921    total: 14.7s    remaining: 8.86s
581:    learn: 0.0826153    total: 14.7s    remaining: 8.83s
582:    learn: 0.0823277    total: 14.7s    remaining: 8.8s
583:    learn: 0.0820322    total: 14.7s    remaining: 8.77s
584:    learn: 0.0818811    total: 14.7s    remaining: 8.75s
585:    learn: 0.0817658    total: 14.8s    remaining: 8.72s
586:    learn: 0.0817089    total: 14.8s    remaining: 8.69s
587:    learn: 0.0816570    total: 14.8s    remaining: 8.66s
588:    learn: 0.0814974    total: 14.8s    remaining: 8.64s
589:    learn: 0.0812772    total: 14.9s    remaining: 8.61s
590:    learn: 0.0810784    total: 14.9s    remaining: 8.59s
591:    learn: 0.0808722    total: 14.9s    remaining: 8.56s
592:    learn: 0.0808010    total: 14.9s    remaining: 8.53s
593:    learn: 0.0806067    total: 14.9s    remaining: 8.5s
594:    learn: 0.0804957    total: 15s  remaining: 8.48s
595:    learn: 0.0803838    total: 15s  remaining: 8.45s
596:    learn: 0.0800720    total: 15s  remaining: 8.42s
597:    learn: 0.0797741    total: 15s  remaining: 8.4s
598:    learn: 0.0795140    total: 15.1s    remaining: 8.37s
599:    learn: 0.0793004    total: 15.1s    remaining: 8.34s
600:    learn: 0.0792616    total: 15.1s    remaining: 8.31s
601:    learn: 0.0790646    total: 15.1s    remaining: 8.29s
602:    learn: 0.0788192    total: 15.1s    remaining: 8.26s
603:    learn: 0.0787426    total: 15.2s    remaining: 8.24s
604:    learn: 0.0786365    total: 15.2s    remaining: 8.22s
605:    learn: 0.0784277    total: 15.3s    remaining: 8.21s
606:    learn: 0.0783655    total: 15.3s    remaining: 8.19s
607:    learn: 0.0783119    total: 15.3s    remaining: 8.17s
608:    learn: 0.0781633    total: 15.4s    remaining: 8.15s
609:    learn: 0.0780402    total: 15.4s    remaining: 8.13s
610:    learn: 0.0778359    total: 15.4s    remaining: 8.11s
611:    learn: 0.0776268    total: 15.5s    remaining: 8.09s
612:    learn: 0.0773963    total: 15.5s    remaining: 8.07s
613:    learn: 0.0773172    total: 15.6s    remaining: 8.05s
614:    learn: 0.0771943    total: 15.6s    remaining: 8.04s
615:    learn: 0.0769068    total: 15.6s    remaining: 8.02s
616:    learn: 0.0767430    total: 15.7s    remaining: 8s
617:    learn: 0.0765374    total: 15.7s    remaining: 7.97s
618:    learn: 0.0763562    total: 15.7s    remaining: 7.95s
619:    learn: 0.0762056    total: 15.8s    remaining: 7.93s
620:    learn: 0.0759967    total: 15.8s    remaining: 7.91s
621:    learn: 0.0758247    total: 15.8s    remaining: 7.89s
622:    learn: 0.0757864    total: 15.9s    remaining: 7.87s
623:    learn: 0.0755159    total: 15.9s    remaining: 7.85s
624:    learn: 0.0754529    total: 15.9s    remaining: 7.83s
625:    learn: 0.0752174    total: 16s  remaining: 7.81s
626:    learn: 0.0749580    total: 16s  remaining: 7.79s
627:    learn: 0.0748053    total: 16s  remaining: 7.77s
628:    learn: 0.0746115    total: 16.1s    remaining: 7.75s
629:    learn: 0.0744015    total: 16.1s    remaining: 7.73s
630:    learn: 0.0741349    total: 16.2s    remaining: 7.71s
631:    learn: 0.0740157    total: 16.2s    remaining: 7.68s
632:    learn: 0.0737904    total: 16.2s    remaining: 7.66s
633:    learn: 0.0737236    total: 16.3s    remaining: 7.64s
634:    learn: 0.0736510    total: 16.3s    remaining: 7.62s
635:    learn: 0.0734915    total: 16.3s    remaining: 7.59s
636:    learn: 0.0732536    total: 16.4s    remaining: 7.57s
637:    learn: 0.0730439    total: 16.4s    remaining: 7.55s
638:    learn: 0.0727420    total: 16.4s    remaining: 7.53s
639:    learn: 0.0725280    total: 16.5s    remaining: 7.5s
640:    learn: 0.0722955    total: 16.5s    remaining: 7.48s
641:    learn: 0.0721813    total: 16.5s    remaining: 7.46s
642:    learn: 0.0720486    total: 16.6s    remaining: 7.44s
643:    learn: 0.0718418    total: 16.6s    remaining: 7.42s
644:    learn: 0.0716115    total: 16.6s    remaining: 7.4s
645:    learn: 0.0713998    total: 16.7s    remaining: 7.38s
646:    learn: 0.0712807    total: 16.7s    remaining: 7.36s
647:    learn: 0.0711868    total: 16.7s    remaining: 7.33s
648:    learn: 0.0710565    total: 16.8s    remaining: 7.31s
649:    learn: 0.0708674    total: 16.8s    remaining: 7.29s
650:    learn: 0.0708086    total: 16.8s    remaining: 7.27s
651:    learn: 0.0706309    total: 16.9s    remaining: 7.24s
652:    learn: 0.0704634    total: 16.9s    remaining: 7.22s
653:    learn: 0.0703866    total: 16.9s    remaining: 7.2s
654:    learn: 0.0702496    total: 17s  remaining: 7.18s
655:    learn: 0.0700524    total: 17s  remaining: 7.15s
656:    learn: 0.0698677    total: 17s  remaining: 7.13s
657:    learn: 0.0696506    total: 17.1s    remaining: 7.11s
658:    learn: 0.0694595    total: 17.1s    remaining: 7.09s
659:    learn: 0.0692565    total: 17.2s    remaining: 7.07s
660:    learn: 0.0691727    total: 17.2s    remaining: 7.05s
661:    learn: 0.0690178    total: 17.2s    remaining: 7.03s
662:    learn: 0.0689372    total: 17.3s    remaining: 7s
663:    learn: 0.0688324    total: 17.3s    remaining: 6.98s
664:    learn: 0.0686485    total: 17.3s    remaining: 6.96s
665:    learn: 0.0685460    total: 17.4s    remaining: 6.94s
666:    learn: 0.0684824    total: 17.4s    remaining: 6.91s
667:    learn: 0.0682565    total: 17.4s    remaining: 6.89s
668:    learn: 0.0680250    total: 17.5s    remaining: 6.87s
669:    learn: 0.0678883    total: 17.5s    remaining: 6.85s
670:    learn: 0.0676092    total: 17.5s    remaining: 6.83s
671:    learn: 0.0674808    total: 17.6s    remaining: 6.8s
672:    learn: 0.0673833    total: 17.6s    remaining: 6.78s
673:    learn: 0.0672609    total: 17.7s    remaining: 6.76s
674:    learn: 0.0671335    total: 17.7s    remaining: 6.74s
675:    learn: 0.0670450    total: 17.7s    remaining: 6.71s
676:    learn: 0.0669071    total: 17.8s    remaining: 6.69s
677:    learn: 0.0668056    total: 17.8s    remaining: 6.67s
678:    learn: 0.0666129    total: 17.8s    remaining: 6.65s
679:    learn: 0.0665154    total: 17.9s    remaining: 6.62s
680:    learn: 0.0663088    total: 17.9s    remaining: 6.6s
681:    learn: 0.0661265    total: 17.9s    remaining: 6.58s
682:    learn: 0.0659549    total: 18s  remaining: 6.55s
683:    learn: 0.0658061    total: 18s  remaining: 6.53s
684:    learn: 0.0656066    total: 18s  remaining: 6.51s
685:    learn: 0.0655564    total: 18.1s    remaining: 6.48s
686:    learn: 0.0654587    total: 18.1s    remaining: 6.46s
687:    learn: 0.0653783    total: 18.1s    remaining: 6.43s
688:    learn: 0.0652511    total: 18.2s    remaining: 6.41s
689:    learn: 0.0651599    total: 18.2s    remaining: 6.39s
690:    learn: 0.0649745    total: 18.2s    remaining: 6.36s
691:    learn: 0.0648194    total: 18.3s    remaining: 6.34s
692:    learn: 0.0647525    total: 18.3s    remaining: 6.31s
693:    learn: 0.0645923    total: 18.3s    remaining: 6.29s
694:    learn: 0.0644253    total: 18.4s    remaining: 6.26s
695:    learn: 0.0643485    total: 18.4s    remaining: 6.24s
696:    learn: 0.0642223    total: 18.4s    remaining: 6.22s
697:    learn: 0.0641038    total: 18.5s    remaining: 6.19s
698:    learn: 0.0640252    total: 18.5s    remaining: 6.17s
699:    learn: 0.0638209    total: 18.5s    remaining: 6.14s
700:    learn: 0.0637042    total: 18.6s    remaining: 6.12s
701:    learn: 0.0635202    total: 18.6s    remaining: 6.1s
702:    learn: 0.0634492    total: 18.6s    remaining: 6.08s
703:    learn: 0.0634220    total: 18.7s    remaining: 6.05s
704:    learn: 0.0632652    total: 18.7s    remaining: 6.03s
705:    learn: 0.0630849    total: 18.8s    remaining: 6s
706:    learn: 0.0629609    total: 18.8s    remaining: 5.98s
707:    learn: 0.0627995    total: 18.8s    remaining: 5.96s
708:    learn: 0.0626730    total: 18.9s    remaining: 5.93s
709:    learn: 0.0625804    total: 18.9s    remaining: 5.91s
710:    learn: 0.0624163    total: 18.9s    remaining: 5.89s
711:    learn: 0.0623287    total: 19s  remaining: 5.86s
712:    learn: 0.0622230    total: 19s  remaining: 5.84s
713:    learn: 0.0620327    total: 19s  remaining: 5.82s
714:    learn: 0.0619817    total: 19.1s    remaining: 5.79s
715:    learn: 0.0619098    total: 19.1s    remaining: 5.77s
716:    learn: 0.0617506    total: 19.2s    remaining: 5.74s
717:    learn: 0.0616401    total: 19.2s    remaining: 5.72s
718:    learn: 0.0614980    total: 19.2s    remaining: 5.7s
719:    learn: 0.0613134    total: 19.3s    remaining: 5.67s
720:    learn: 0.0611338    total: 19.3s    remaining: 5.65s
721:    learn: 0.0609278    total: 19.3s    remaining: 5.62s
722:    learn: 0.0607938    total: 19.4s    remaining: 5.6s
723:    learn: 0.0606649    total: 19.4s    remaining: 5.58s
724:    learn: 0.0605887    total: 19.4s    remaining: 5.55s
725:    learn: 0.0605376    total: 19.5s    remaining: 5.53s
726:    learn: 0.0604264    total: 19.5s    remaining: 5.5s
727:    learn: 0.0602466    total: 19.5s    remaining: 5.47s
728:    learn: 0.0601991    total: 19.6s    remaining: 5.45s
729:    learn: 0.0601275    total: 19.6s    remaining: 5.42s
730:    learn: 0.0600623    total: 19.6s    remaining: 5.39s
731:    learn: 0.0599172    total: 19.6s    remaining: 5.36s
732:    learn: 0.0597572    total: 19.6s    remaining: 5.33s
733:    learn: 0.0595721    total: 19.7s    remaining: 5.3s
734:    learn: 0.0593947    total: 19.7s    remaining: 5.28s
735:    learn: 0.0593058    total: 19.7s    remaining: 5.25s
736:    learn: 0.0591157    total: 19.7s    remaining: 5.22s
737:    learn: 0.0590666    total: 19.8s    remaining: 5.19s
738:    learn: 0.0590254    total: 19.8s    remaining: 5.17s
739:    learn: 0.0589016    total: 19.8s    remaining: 5.14s
740:    learn: 0.0588703    total: 19.8s    remaining: 5.11s
741:    learn: 0.0587611    total: 19.9s    remaining: 5.08s
742:    learn: 0.0585716    total: 19.9s    remaining: 5.06s
743:    learn: 0.0583692    total: 19.9s    remaining: 5.03s
744:    learn: 0.0582307    total: 19.9s    remaining: 5s
745:    learn: 0.0580639    total: 19.9s    remaining: 4.97s
746:    learn: 0.0578866    total: 20s  remaining: 4.95s
747:    learn: 0.0577818    total: 20s  remaining: 4.92s
748:    learn: 0.0576009    total: 20s  remaining: 4.89s
749:    learn: 0.0574903    total: 20s  remaining: 4.86s
750:    learn: 0.0573327    total: 20.1s    remaining: 4.83s
751:    learn: 0.0571723    total: 20.1s    remaining: 4.81s
752:    learn: 0.0570633    total: 20.1s    remaining: 4.78s
753:    learn: 0.0570174    total: 20.1s    remaining: 4.75s
754:    learn: 0.0568751    total: 20.1s    remaining: 4.72s
755:    learn: 0.0567396    total: 20.2s    remaining: 4.7s
756:    learn: 0.0566339    total: 20.2s    remaining: 4.67s
757:    learn: 0.0564837    total: 20.2s    remaining: 4.64s
758:    learn: 0.0563432    total: 20.2s    remaining: 4.61s
759:    learn: 0.0562380    total: 20.3s    remaining: 4.58s
760:    learn: 0.0561458    total: 20.3s    remaining: 4.56s
761:    learn: 0.0560166    total: 20.3s    remaining: 4.53s
762:    learn: 0.0559136    total: 20.3s    remaining: 4.5s
763:    learn: 0.0557349    total: 20.3s    remaining: 4.47s
764:    learn: 0.0556635    total: 20.4s    remaining: 4.45s
765:    learn: 0.0555877    total: 20.4s    remaining: 4.42s
766:    learn: 0.0555087    total: 20.4s    remaining: 4.39s
767:    learn: 0.0554125    total: 20.4s    remaining: 4.36s
768:    learn: 0.0554087    total: 20.5s    remaining: 4.33s
769:    learn: 0.0552887    total: 20.5s    remaining: 4.31s
770:    learn: 0.0552168    total: 20.5s    remaining: 4.28s
771:    learn: 0.0551137    total: 20.5s    remaining: 4.25s
772:    learn: 0.0549607    total: 20.5s    remaining: 4.22s
773:    learn: 0.0549089    total: 20.6s    remaining: 4.2s
774:    learn: 0.0548029    total: 20.6s    remaining: 4.17s
775:    learn: 0.0546697    total: 20.6s    remaining: 4.14s
776:    learn: 0.0545467    total: 20.6s    remaining: 4.12s
777:    learn: 0.0544414    total: 20.7s    remaining: 4.09s
778:    learn: 0.0543543    total: 20.7s    remaining: 4.06s
779:    learn: 0.0542458    total: 20.7s    remaining: 4.03s
780:    learn: 0.0542152    total: 20.7s    remaining: 4s
781:    learn: 0.0541280    total: 20.7s    remaining: 3.98s
782:    learn: 0.0540563    total: 20.8s    remaining: 3.95s
783:    learn: 0.0540012    total: 20.8s    remaining: 3.92s
784:    learn: 0.0538827    total: 20.8s    remaining: 3.9s
785:    learn: 0.0538170    total: 20.8s    remaining: 3.87s
786:    learn: 0.0537592    total: 20.9s    remaining: 3.84s
787:    learn: 0.0536855    total: 20.9s    remaining: 3.81s
788:    learn: 0.0535723    total: 20.9s    remaining: 3.79s
789:    learn: 0.0534334    total: 20.9s    remaining: 3.76s
790:    learn: 0.0533260    total: 21s  remaining: 3.73s
791:    learn: 0.0532488    total: 21s  remaining: 3.71s
792:    learn: 0.0531569    total: 21s  remaining: 3.68s
793:    learn: 0.0531062    total: 21s  remaining: 3.65s
794:    learn: 0.0530263    total: 21s  remaining: 3.63s
795:    learn: 0.0529699    total: 21.1s    remaining: 3.6s
796:    learn: 0.0529061    total: 21.1s    remaining: 3.57s
797:    learn: 0.0528675    total: 21.1s    remaining: 3.54s
798:    learn: 0.0527269    total: 21.1s    remaining: 3.52s
799:    learn: 0.0527073    total: 21.1s    remaining: 3.49s
800:    learn: 0.0526339    total: 21.2s    remaining: 3.46s
801:    learn: 0.0525412    total: 21.2s    remaining: 3.43s
802:    learn: 0.0524268    total: 21.2s    remaining: 3.41s
803:    learn: 0.0524017    total: 21.2s    remaining: 3.38s
804:    learn: 0.0523017    total: 21.3s    remaining: 3.35s
805:    learn: 0.0521672    total: 21.3s    remaining: 3.33s
806:    learn: 0.0521038    total: 21.3s    remaining: 3.3s
807:    learn: 0.0520670    total: 21.3s    remaining: 3.27s
808:    learn: 0.0519875    total: 21.3s    remaining: 3.25s
809:    learn: 0.0519388    total: 21.4s    remaining: 3.22s
810:    learn: 0.0519061    total: 21.4s    remaining: 3.19s
811:    learn: 0.0517490    total: 21.4s    remaining: 3.16s
812:    learn: 0.0517161    total: 21.4s    remaining: 3.14s
813:    learn: 0.0515807    total: 21.4s    remaining: 3.11s
814:    learn: 0.0515337    total: 21.5s    remaining: 3.08s
815:    learn: 0.0514470    total: 21.5s    remaining: 3.06s
816:    learn: 0.0514013    total: 21.5s    remaining: 3.03s
817:    learn: 0.0513624    total: 21.5s    remaining: 3s
818:    learn: 0.0513346    total: 21.6s    remaining: 2.98s
819:    learn: 0.0512477    total: 21.6s    remaining: 2.95s
820:    learn: 0.0511559    total: 21.6s    remaining: 2.92s
821:    learn: 0.0510565    total: 21.6s    remaining: 2.89s
822:    learn: 0.0509045    total: 21.6s    remaining: 2.87s
823:    learn: 0.0507903    total: 21.7s    remaining: 2.84s
824:    learn: 0.0507258    total: 21.7s    remaining: 2.81s
825:    learn: 0.0506745    total: 21.7s    remaining: 2.79s
826:    learn: 0.0505318    total: 21.7s    remaining: 2.76s
827:    learn: 0.0504379    total: 21.8s    remaining: 2.73s
828:    learn: 0.0503196    total: 21.8s    remaining: 2.71s
829:    learn: 0.0502646    total: 21.8s    remaining: 2.68s
830:    learn: 0.0502050    total: 21.8s    remaining: 2.65s
831:    learn: 0.0500521    total: 21.8s    remaining: 2.63s
832:    learn: 0.0500097    total: 21.9s    remaining: 2.6s
833:    learn: 0.0498680    total: 21.9s    remaining: 2.57s
834:    learn: 0.0497129    total: 21.9s    remaining: 2.55s
835:    learn: 0.0496300    total: 22s  remaining: 2.52s
836:    learn: 0.0495449    total: 22s  remaining: 2.5s
837:    learn: 0.0494377    total: 22s  remaining: 2.47s
838:    learn: 0.0493793    total: 22s  remaining: 2.44s
839:    learn: 0.0492808    total: 22.1s    remaining: 2.42s
840:    learn: 0.0491377    total: 22.1s    remaining: 2.39s
841:    learn: 0.0491214    total: 22.1s    remaining: 2.36s
842:    learn: 0.0490853    total: 22.1s    remaining: 2.34s
843:    learn: 0.0489721    total: 22.2s    remaining: 2.31s
844:    learn: 0.0488615    total: 22.2s    remaining: 2.28s
845:    learn: 0.0488093    total: 22.2s    remaining: 2.26s
846:    learn: 0.0487163    total: 22.2s    remaining: 2.23s
847:    learn: 0.0486477    total: 22.2s    remaining: 2.2s
848:    learn: 0.0485493    total: 22.3s    remaining: 2.18s
849:    learn: 0.0485038    total: 22.3s    remaining: 2.15s
850:    learn: 0.0483538    total: 22.3s    remaining: 2.12s
851:    learn: 0.0482567    total: 22.3s    remaining: 2.1s
852:    learn: 0.0482061    total: 22.4s    remaining: 2.07s
853:    learn: 0.0481089    total: 22.4s    remaining: 2.04s
854:    learn: 0.0480582    total: 22.4s    remaining: 2.02s
855:    learn: 0.0479788    total: 22.4s    remaining: 1.99s
856:    learn: 0.0479307    total: 22.4s    remaining: 1.96s
857:    learn: 0.0479070    total: 22.5s    remaining: 1.94s
858:    learn: 0.0478729    total: 22.5s    remaining: 1.91s
859:    learn: 0.0478005    total: 22.5s    remaining: 1.88s
860:    learn: 0.0477032    total: 22.5s    remaining: 1.86s
861:    learn: 0.0475993    total: 22.5s    remaining: 1.83s
862:    learn: 0.0475687    total: 22.6s    remaining: 1.8s
863:    learn: 0.0475202    total: 22.6s    remaining: 1.78s
864:    learn: 0.0474844    total: 22.6s    remaining: 1.75s
865:    learn: 0.0473744    total: 22.6s    remaining: 1.73s
866:    learn: 0.0473469    total: 22.7s    remaining: 1.7s
867:    learn: 0.0473134    total: 22.7s    remaining: 1.67s
868:    learn: 0.0471887    total: 22.7s    remaining: 1.65s
869:    learn: 0.0470455    total: 22.7s    remaining: 1.62s
870:    learn: 0.0468931    total: 22.8s    remaining: 1.59s
871:    learn: 0.0468075    total: 22.8s    remaining: 1.57s
872:    learn: 0.0466692    total: 22.8s    remaining: 1.54s
873:    learn: 0.0465612    total: 22.8s    remaining: 1.51s
874:    learn: 0.0464649    total: 22.8s    remaining: 1.49s
875:    learn: 0.0463534    total: 22.9s    remaining: 1.46s
876:    learn: 0.0462823    total: 22.9s    remaining: 1.44s
877:    learn: 0.0461995    total: 22.9s    remaining: 1.41s
878:    learn: 0.0460936    total: 22.9s    remaining: 1.38s
879:    learn: 0.0459599    total: 23s  remaining: 1.36s
880:    learn: 0.0458367    total: 23s  remaining: 1.33s
881:    learn: 0.0458057    total: 23s  remaining: 1.3s
882:    learn: 0.0456967    total: 23s  remaining: 1.28s
883:    learn: 0.0456055    total: 23.1s    remaining: 1.25s
884:    learn: 0.0455726    total: 23.1s    remaining: 1.23s
885:    learn: 0.0454272    total: 23.1s    remaining: 1.2s
886:    learn: 0.0452992    total: 23.1s    remaining: 1.17s
887:    learn: 0.0452397    total: 23.1s    remaining: 1.15s
888:    learn: 0.0452050    total: 23.2s    remaining: 1.12s
889:    learn: 0.0451447    total: 23.2s    remaining: 1.09s
890:    learn: 0.0450417    total: 23.2s    remaining: 1.07s
891:    learn: 0.0449142    total: 23.2s    remaining: 1.04s
892:    learn: 0.0448042    total: 23.3s    remaining: 1.01s
893:    learn: 0.0447298    total: 23.3s    remaining: 989ms
894:    learn: 0.0446116    total: 23.3s    remaining: 963ms
895:    learn: 0.0445566    total: 23.3s    remaining: 937ms
896:    learn: 0.0445327    total: 23.3s    remaining: 911ms
897:    learn: 0.0444821    total: 23.4s    remaining: 884ms
898:    learn: 0.0444484    total: 23.4s    remaining: 858ms
899:    learn: 0.0443218    total: 23.4s    remaining: 832ms
900:    learn: 0.0441858    total: 23.4s    remaining: 806ms
901:    learn: 0.0440746    total: 23.4s    remaining: 780ms
902:    learn: 0.0439889    total: 23.5s    remaining: 754ms
903:    learn: 0.0439311    total: 23.5s    remaining: 728ms
904:    learn: 0.0438994    total: 23.5s    remaining: 702ms
905:    learn: 0.0437793    total: 23.5s    remaining: 676ms
906:    learn: 0.0437235    total: 23.6s    remaining: 649ms
907:    learn: 0.0435860    total: 23.6s    remaining: 623ms
908:    learn: 0.0434547    total: 23.6s    remaining: 597ms
909:    learn: 0.0433668    total: 23.6s    remaining: 571ms
910:    learn: 0.0433074    total: 23.6s    remaining: 545ms
911:    learn: 0.0432133    total: 23.7s    remaining: 519ms
912:    learn: 0.0431278    total: 23.7s    remaining: 493ms
913:    learn: 0.0430836    total: 23.7s    remaining: 467ms
914:    learn: 0.0430200    total: 23.7s    remaining: 441ms
915:    learn: 0.0429752    total: 23.8s    remaining: 415ms
916:    learn: 0.0429086    total: 23.8s    remaining: 389ms
917:    learn: 0.0428124    total: 23.8s    remaining: 363ms
918:    learn: 0.0426948    total: 23.8s    remaining: 337ms
919:    learn: 0.0426476    total: 23.8s    remaining: 311ms
920:    learn: 0.0425885    total: 23.9s    remaining: 285ms
921:    learn: 0.0425688    total: 23.9s    remaining: 259ms
922:    learn: 0.0425395    total: 23.9s    remaining: 233ms
923:    learn: 0.0425012    total: 23.9s    remaining: 207ms
924:    learn: 0.0424273    total: 24s  remaining: 181ms
925:    learn: 0.0423159    total: 24s  remaining: 155ms
926:    learn: 0.0422040    total: 24s  remaining: 130ms
927:    learn: 0.0421108    total: 24s  remaining: 104ms
928:    learn: 0.0420760    total: 24.1s    remaining: 77.7ms
929:    learn: 0.0419930    total: 24.1s    remaining: 51.8ms
930:    learn: 0.0419173    total: 24.1s    remaining: 25.9ms
931:    learn: 0.0418065    total: 24.1s    remaining: 0us

Mengevaluasi: ppk_keep_corr_XGBoost

Mengevaluasi: ppk_keep_corr_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 304, number of negative: 1628
[LightGBM] [Info] Total Bins 10323
[LightGBM] [Info] Number of data points in the train set: 1932, number of used features: 64
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.157350 -> initscore=-1.678080
[LightGBM] [Info] Start training from score -1.678080
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: ppk_keep_corr_CatBoost
0:  learn: 0.6602336    total: 31.4ms   remaining: 26.4s
1:  learn: 0.6315516    total: 52.4ms   remaining: 22s
2:  learn: 0.6032975    total: 72.7ms   remaining: 20.3s
3:  learn: 0.5824951    total: 93.1ms   remaining: 19.5s
4:  learn: 0.5640457    total: 113ms    remaining: 19s
5:  learn: 0.5456671    total: 135ms    remaining: 18.7s
6:  learn: 0.5276400    total: 155ms    remaining: 18.4s
7:  learn: 0.5136490    total: 174ms    remaining: 18.2s
8:  learn: 0.4991302    total: 194ms    remaining: 18s
9:  learn: 0.4833014    total: 214ms    remaining: 17.8s
10: learn: 0.4710342    total: 236ms    remaining: 17.8s
11: learn: 0.4596858    total: 258ms    remaining: 17.8s
12: learn: 0.4469376    total: 279ms    remaining: 17.8s
13: learn: 0.4380104    total: 299ms    remaining: 17.7s
14: learn: 0.4288918    total: 319ms    remaining: 17.6s
15: learn: 0.4197768    total: 339ms    remaining: 17.5s
16: learn: 0.4122502    total: 359ms    remaining: 17.4s
17: learn: 0.4044867    total: 381ms    remaining: 17.4s
18: learn: 0.3983049    total: 401ms    remaining: 17.4s
19: learn: 0.3910018    total: 422ms    remaining: 17.3s
20: learn: 0.3858056    total: 443ms    remaining: 17.3s
21: learn: 0.3802544    total: 463ms    remaining: 17.3s
22: learn: 0.3727951    total: 484ms    remaining: 17.2s
23: learn: 0.3666725    total: 505ms    remaining: 17.2s
24: learn: 0.3617471    total: 525ms    remaining: 17.2s
25: learn: 0.3563341    total: 547ms    remaining: 17.2s
26: learn: 0.3523003    total: 581ms    remaining: 17.5s
27: learn: 0.3478881    total: 607ms    remaining: 17.6s
28: learn: 0.3429487    total: 628ms    remaining: 17.6s
29: learn: 0.3389862    total: 650ms    remaining: 17.6s
30: learn: 0.3348991    total: 671ms    remaining: 17.6s
31: learn: 0.3320300    total: 691ms    remaining: 17.5s
32: learn: 0.3287484    total: 711ms    remaining: 17.4s
33: learn: 0.3244134    total: 732ms    remaining: 17.4s
34: learn: 0.3195126    total: 753ms    remaining: 17.4s
35: learn: 0.3163711    total: 773ms    remaining: 17.3s
36: learn: 0.3124583    total: 794ms    remaining: 17.3s
37: learn: 0.3098902    total: 814ms    remaining: 17.2s
38: learn: 0.3067127    total: 835ms    remaining: 17.2s
39: learn: 0.3050229    total: 857ms    remaining: 17.2s
40: learn: 0.3029471    total: 879ms    remaining: 17.2s
41: learn: 0.2990428    total: 899ms    remaining: 17.1s
42: learn: 0.2960778    total: 920ms    remaining: 17.1s
43: learn: 0.2926213    total: 940ms    remaining: 17.1s
44: learn: 0.2894592    total: 961ms    remaining: 17s
45: learn: 0.2870318    total: 981ms    remaining: 17s
46: learn: 0.2849719    total: 1s   remaining: 16.9s
47: learn: 0.2823934    total: 1.02s    remaining: 16.9s
48: learn: 0.2797843    total: 1.04s    remaining: 16.9s
49: learn: 0.2773642    total: 1.07s    remaining: 16.9s
50: learn: 0.2747239    total: 1.09s    remaining: 16.9s
51: learn: 0.2721146    total: 1.11s    remaining: 16.8s
52: learn: 0.2704637    total: 1.13s    remaining: 16.8s
53: learn: 0.2685842    total: 1.15s    remaining: 16.8s
54: learn: 0.2666226    total: 1.17s    remaining: 16.7s
55: learn: 0.2649773    total: 1.19s    remaining: 16.7s
56: learn: 0.2631561    total: 1.21s    remaining: 16.7s
57: learn: 0.2612078    total: 1.23s    remaining: 16.6s
58: learn: 0.2595214    total: 1.25s    remaining: 16.6s
59: learn: 0.2565066    total: 1.27s    remaining: 16.6s
60: learn: 0.2539498    total: 1.29s    remaining: 16.5s
61: learn: 0.2524946    total: 1.31s    remaining: 16.5s
62: learn: 0.2510725    total: 1.33s    remaining: 16.5s
63: learn: 0.2493923    total: 1.35s    remaining: 16.5s
64: learn: 0.2475300    total: 1.37s    remaining: 16.4s
65: learn: 0.2466152    total: 1.4s remaining: 16.4s
66: learn: 0.2447756    total: 1.42s    remaining: 16.4s
67: learn: 0.2431562    total: 1.44s    remaining: 16.4s
68: learn: 0.2413383    total: 1.46s    remaining: 16.3s
69: learn: 0.2393878    total: 1.48s    remaining: 16.3s
70: learn: 0.2375280    total: 1.5s remaining: 16.3s
71: learn: 0.2364216    total: 1.52s    remaining: 16.2s
72: learn: 0.2347035    total: 1.54s    remaining: 16.2s
73: learn: 0.2332537    total: 1.56s    remaining: 16.2s
74: learn: 0.2314867    total: 1.58s    remaining: 16.2s
75: learn: 0.2302849    total: 1.61s    remaining: 16.3s
76: learn: 0.2286254    total: 1.64s    remaining: 16.3s
77: learn: 0.2273565    total: 1.66s    remaining: 16.2s
78: learn: 0.2253784    total: 1.68s    remaining: 16.2s
79: learn: 0.2238539    total: 1.7s remaining: 16.2s
80: learn: 0.2227388    total: 1.72s    remaining: 16.2s
81: learn: 0.2222014    total: 1.74s    remaining: 16.1s
82: learn: 0.2209712    total: 1.76s    remaining: 16.1s
83: learn: 0.2190622    total: 1.78s    remaining: 16s
84: learn: 0.2175481    total: 1.8s remaining: 16s
85: learn: 0.2164367    total: 1.82s    remaining: 16s
86: learn: 0.2151402    total: 1.84s    remaining: 16s
87: learn: 0.2138899    total: 1.86s    remaining: 16s
88: learn: 0.2122062    total: 1.88s    remaining: 15.9s
89: learn: 0.2105263    total: 1.91s    remaining: 15.9s
90: learn: 0.2095695    total: 1.93s    remaining: 15.9s
91: learn: 0.2078477    total: 1.95s    remaining: 15.9s
92: learn: 0.2066560    total: 1.97s    remaining: 15.8s
93: learn: 0.2055977    total: 1.99s    remaining: 15.8s
94: learn: 0.2052127    total: 2.01s    remaining: 15.8s
95: learn: 0.2038817    total: 2.03s    remaining: 15.8s
96: learn: 0.2028221    total: 2.05s    remaining: 15.7s
97: learn: 0.2020211    total: 2.07s    remaining: 15.7s
98: learn: 0.2009381    total: 2.09s    remaining: 15.7s
99: learn: 0.1998052    total: 2.11s    remaining: 15.7s
100:    learn: 0.1987611    total: 2.13s    remaining: 15.7s
101:    learn: 0.1978228    total: 2.16s    remaining: 15.7s
102:    learn: 0.1967014    total: 2.18s    remaining: 15.6s
103:    learn: 0.1959750    total: 2.2s remaining: 15.6s
104:    learn: 0.1944038    total: 2.22s    remaining: 15.6s
105:    learn: 0.1934245    total: 2.24s    remaining: 15.5s
106:    learn: 0.1920204    total: 2.26s    remaining: 15.5s
107:    learn: 0.1908954    total: 2.28s    remaining: 15.5s
108:    learn: 0.1903382    total: 2.3s remaining: 15.5s
109:    learn: 0.1896660    total: 2.32s    remaining: 15.5s
110:    learn: 0.1882564    total: 2.34s    remaining: 15.4s
111:    learn: 0.1876224    total: 2.36s    remaining: 15.4s
112:    learn: 0.1868993    total: 2.38s    remaining: 15.4s
113:    learn: 0.1862448    total: 2.4s remaining: 15.4s
114:    learn: 0.1850843    total: 2.42s    remaining: 15.3s
115:    learn: 0.1839160    total: 2.44s    remaining: 15.3s
116:    learn: 0.1827706    total: 2.47s    remaining: 15.3s
117:    learn: 0.1821976    total: 2.49s    remaining: 15.3s
118:    learn: 0.1811737    total: 2.51s    remaining: 15.2s
119:    learn: 0.1802604    total: 2.53s    remaining: 15.2s
120:    learn: 0.1787629    total: 2.55s    remaining: 15.2s
121:    learn: 0.1779000    total: 2.57s    remaining: 15.2s
122:    learn: 0.1771602    total: 2.59s    remaining: 15.2s
123:    learn: 0.1765507    total: 2.62s    remaining: 15.2s
124:    learn: 0.1758081    total: 2.65s    remaining: 15.2s
125:    learn: 0.1745783    total: 2.67s    remaining: 15.2s
126:    learn: 0.1738433    total: 2.69s    remaining: 15.2s
127:    learn: 0.1733231    total: 2.71s    remaining: 15.1s
128:    learn: 0.1719291    total: 2.73s    remaining: 15.1s
129:    learn: 0.1710050    total: 2.76s    remaining: 15.1s
130:    learn: 0.1701354    total: 2.78s    remaining: 15.1s
131:    learn: 0.1690304    total: 2.8s remaining: 15.1s
132:    learn: 0.1683354    total: 2.82s    remaining: 15s
133:    learn: 0.1674598    total: 2.84s    remaining: 15s
134:    learn: 0.1662985    total: 2.86s    remaining: 15s
135:    learn: 0.1650755    total: 2.88s    remaining: 15s
136:    learn: 0.1640193    total: 2.9s remaining: 14.9s
137:    learn: 0.1629103    total: 2.92s    remaining: 14.9s
138:    learn: 0.1622278    total: 2.94s    remaining: 14.9s
139:    learn: 0.1613033    total: 2.96s    remaining: 14.9s
140:    learn: 0.1609222    total: 2.98s    remaining: 14.8s
141:    learn: 0.1599031    total: 3s   remaining: 14.8s
142:    learn: 0.1589020    total: 3.02s    remaining: 14.8s
143:    learn: 0.1579786    total: 3.05s    remaining: 14.8s
144:    learn: 0.1569343    total: 3.07s    remaining: 14.7s
145:    learn: 0.1567062    total: 3.09s    remaining: 14.7s
146:    learn: 0.1561867    total: 3.11s    remaining: 14.7s
147:    learn: 0.1552798    total: 3.13s    remaining: 14.7s
148:    learn: 0.1546446    total: 3.15s    remaining: 14.7s
149:    learn: 0.1539645    total: 3.17s    remaining: 14.6s
150:    learn: 0.1528425    total: 3.19s    remaining: 14.6s
151:    learn: 0.1517963    total: 3.21s    remaining: 14.6s
152:    learn: 0.1509450    total: 3.23s    remaining: 14.6s
153:    learn: 0.1499530    total: 3.25s    remaining: 14.5s
154:    learn: 0.1492063    total: 3.27s    remaining: 14.5s
155:    learn: 0.1486022    total: 3.3s remaining: 14.5s
156:    learn: 0.1479957    total: 3.32s    remaining: 14.5s
157:    learn: 0.1472618    total: 3.34s    remaining: 14.4s
158:    learn: 0.1466319    total: 3.36s    remaining: 14.4s
159:    learn: 0.1459783    total: 3.38s    remaining: 14.4s
160:    learn: 0.1447769    total: 3.4s remaining: 14.4s
161:    learn: 0.1436735    total: 3.42s    remaining: 14.4s
162:    learn: 0.1428866    total: 3.44s    remaining: 14.3s
163:    learn: 0.1425182    total: 3.46s    remaining: 14.3s
164:    learn: 0.1418850    total: 3.48s    remaining: 14.3s
165:    learn: 0.1410200    total: 3.5s remaining: 14.3s
166:    learn: 0.1402214    total: 3.52s    remaining: 14.2s
167:    learn: 0.1394867    total: 3.54s    remaining: 14.2s
168:    learn: 0.1385546    total: 3.57s    remaining: 14.2s
169:    learn: 0.1381398    total: 3.59s    remaining: 14.2s
170:    learn: 0.1375989    total: 3.61s    remaining: 14.2s
171:    learn: 0.1372192    total: 3.63s    remaining: 14.2s
172:    learn: 0.1366510    total: 3.66s    remaining: 14.2s
173:    learn: 0.1362181    total: 3.69s    remaining: 14.2s
174:    learn: 0.1352952    total: 3.71s    remaining: 14.1s
175:    learn: 0.1347276    total: 3.73s    remaining: 14.1s
176:    learn: 0.1338525    total: 3.75s    remaining: 14.1s
177:    learn: 0.1336936    total: 3.75s    remaining: 14s
178:    learn: 0.1328468    total: 3.78s    remaining: 14s
179:    learn: 0.1326352    total: 3.8s remaining: 14s
180:    learn: 0.1321313    total: 3.82s    remaining: 13.9s
181:    learn: 0.1320700    total: 3.84s    remaining: 13.9s
182:    learn: 0.1308821    total: 3.86s    remaining: 13.9s
183:    learn: 0.1305521    total: 3.88s    remaining: 13.9s
184:    learn: 0.1301067    total: 3.9s remaining: 13.9s
185:    learn: 0.1297192    total: 3.92s    remaining: 13.8s
186:    learn: 0.1292893    total: 3.94s    remaining: 13.8s
187:    learn: 0.1280846    total: 3.97s    remaining: 13.8s
188:    learn: 0.1274976    total: 3.99s    remaining: 13.8s
189:    learn: 0.1270892    total: 4.01s    remaining: 13.8s
190:    learn: 0.1264891    total: 4.04s    remaining: 13.8s
191:    learn: 0.1258717    total: 4.06s    remaining: 13.7s
192:    learn: 0.1256831    total: 4.08s    remaining: 13.7s
193:    learn: 0.1246388    total: 4.1s remaining: 13.7s
194:    learn: 0.1242217    total: 4.12s    remaining: 13.7s
195:    learn: 0.1233950    total: 4.14s    remaining: 13.6s
196:    learn: 0.1225549    total: 4.16s    remaining: 13.6s
197:    learn: 0.1222360    total: 4.18s    remaining: 13.6s
198:    learn: 0.1221548    total: 4.2s remaining: 13.6s
199:    learn: 0.1213188    total: 4.22s    remaining: 13.6s
200:    learn: 0.1203359    total: 4.24s    remaining: 13.5s
201:    learn: 0.1194049    total: 4.26s    remaining: 13.5s
202:    learn: 0.1186793    total: 4.28s    remaining: 13.5s
203:    learn: 0.1177496    total: 4.3s remaining: 13.5s
204:    learn: 0.1169137    total: 4.33s    remaining: 13.4s
205:    learn: 0.1162514    total: 4.34s    remaining: 13.4s
206:    learn: 0.1158374    total: 4.37s    remaining: 13.4s
207:    learn: 0.1152939    total: 4.39s    remaining: 13.4s
208:    learn: 0.1146057    total: 4.41s    remaining: 13.4s
209:    learn: 0.1141928    total: 4.43s    remaining: 13.3s
210:    learn: 0.1133855    total: 4.45s    remaining: 13.3s
211:    learn: 0.1129272    total: 4.47s    remaining: 13.3s
212:    learn: 0.1123769    total: 4.49s    remaining: 13.3s
213:    learn: 0.1118043    total: 4.51s    remaining: 13.2s
214:    learn: 0.1112870    total: 4.53s    remaining: 13.2s
215:    learn: 0.1108215    total: 4.55s    remaining: 13.2s
216:    learn: 0.1098363    total: 4.57s    remaining: 13.2s
217:    learn: 0.1087318    total: 4.59s    remaining: 13.2s
218:    learn: 0.1083297    total: 4.62s    remaining: 13.1s
219:    learn: 0.1077449    total: 4.64s    remaining: 13.1s
220:    learn: 0.1073370    total: 4.66s    remaining: 13.1s
221:    learn: 0.1072187    total: 4.68s    remaining: 13.1s
222:    learn: 0.1068200    total: 4.71s    remaining: 13.1s
223:    learn: 0.1058718    total: 4.73s    remaining: 13.1s
224:    learn: 0.1051625    total: 4.75s    remaining: 13s
225:    learn: 0.1042884    total: 4.77s    remaining: 13s
226:    learn: 0.1036813    total: 4.79s    remaining: 13s
227:    learn: 0.1031007    total: 4.82s    remaining: 13s
228:    learn: 0.1024874    total: 4.84s    remaining: 13s
229:    learn: 0.1022910    total: 4.87s    remaining: 12.9s
230:    learn: 0.1017480    total: 4.89s    remaining: 12.9s
231:    learn: 0.1013487    total: 4.91s    remaining: 12.9s
232:    learn: 0.1008969    total: 4.93s    remaining: 12.9s
233:    learn: 0.1003785    total: 4.95s    remaining: 12.9s
234:    learn: 0.0997912    total: 4.97s    remaining: 12.8s
235:    learn: 0.0988797    total: 4.99s    remaining: 12.8s
236:    learn: 0.0981055    total: 5.01s    remaining: 12.8s
237:    learn: 0.0979902    total: 5.04s    remaining: 12.8s
238:    learn: 0.0974663    total: 5.06s    remaining: 12.8s
239:    learn: 0.0970187    total: 5.08s    remaining: 12.7s
240:    learn: 0.0963901    total: 5.1s remaining: 12.7s
241:    learn: 0.0960033    total: 5.12s    remaining: 12.7s
242:    learn: 0.0956768    total: 5.14s    remaining: 12.7s
243:    learn: 0.0952530    total: 5.16s    remaining: 12.7s
244:    learn: 0.0945460    total: 5.18s    remaining: 12.6s
245:    learn: 0.0940575    total: 5.2s remaining: 12.6s
246:    learn: 0.0935314    total: 5.22s    remaining: 12.6s
247:    learn: 0.0932906    total: 5.25s    remaining: 12.6s
248:    learn: 0.0931669    total: 5.27s    remaining: 12.5s
249:    learn: 0.0927453    total: 5.29s    remaining: 12.5s
250:    learn: 0.0922509    total: 5.31s    remaining: 12.5s
251:    learn: 0.0918431    total: 5.33s    remaining: 12.5s
252:    learn: 0.0917200    total: 5.35s    remaining: 12.5s
253:    learn: 0.0915915    total: 5.36s    remaining: 12.4s
254:    learn: 0.0915249    total: 5.38s    remaining: 12.4s
255:    learn: 0.0910380    total: 5.41s    remaining: 12.4s
256:    learn: 0.0905748    total: 5.43s    remaining: 12.4s
257:    learn: 0.0897632    total: 5.45s    remaining: 12.3s
258:    learn: 0.0892049    total: 5.47s    remaining: 12.3s
259:    learn: 0.0886587    total: 5.49s    remaining: 12.3s
260:    learn: 0.0882569    total: 5.51s    remaining: 12.3s
261:    learn: 0.0876133    total: 5.54s    remaining: 12.3s
262:    learn: 0.0870926    total: 5.56s    remaining: 12.2s
263:    learn: 0.0868361    total: 5.58s    remaining: 12.2s
264:    learn: 0.0865930    total: 5.6s remaining: 12.2s
265:    learn: 0.0862655    total: 5.62s    remaining: 12.2s
266:    learn: 0.0860943    total: 5.64s    remaining: 12.2s
267:    learn: 0.0853382    total: 5.67s    remaining: 12.1s
268:    learn: 0.0850155    total: 5.69s    remaining: 12.1s
269:    learn: 0.0849484    total: 5.71s    remaining: 12.1s
270:    learn: 0.0847175    total: 5.75s    remaining: 12.1s
271:    learn: 0.0841128    total: 5.76s    remaining: 12.1s
272:    learn: 0.0839850    total: 5.79s    remaining: 12.1s
273:    learn: 0.0836347    total: 5.81s    remaining: 12s
274:    learn: 0.0832692    total: 5.83s    remaining: 12s
275:    learn: 0.0826387    total: 5.85s    remaining: 12s
276:    learn: 0.0822640    total: 5.87s    remaining: 12s
277:    learn: 0.0817176    total: 5.89s    remaining: 11.9s
278:    learn: 0.0810909    total: 5.91s    remaining: 11.9s
279:    learn: 0.0805107    total: 5.93s    remaining: 11.9s
280:    learn: 0.0797692    total: 5.95s    remaining: 11.9s
281:    learn: 0.0793239    total: 5.97s    remaining: 11.9s
282:    learn: 0.0788649    total: 6s   remaining: 11.8s
283:    learn: 0.0785642    total: 6.02s    remaining: 11.8s
284:    learn: 0.0782465    total: 6.04s    remaining: 11.8s
285:    learn: 0.0778513    total: 6.06s    remaining: 11.8s
286:    learn: 0.0773477    total: 6.08s    remaining: 11.8s
287:    learn: 0.0769106    total: 6.1s remaining: 11.7s
288:    learn: 0.0767021    total: 6.12s    remaining: 11.7s
289:    learn: 0.0762733    total: 6.14s    remaining: 11.7s
290:    learn: 0.0761124    total: 6.17s    remaining: 11.7s
291:    learn: 0.0760155    total: 6.19s    remaining: 11.7s
292:    learn: 0.0755444    total: 6.21s    remaining: 11.6s
293:    learn: 0.0752602    total: 6.23s    remaining: 11.6s
294:    learn: 0.0749910    total: 6.25s    remaining: 11.6s
295:    learn: 0.0747506    total: 6.27s    remaining: 11.6s
296:    learn: 0.0741678    total: 6.29s    remaining: 11.5s
297:    learn: 0.0738484    total: 6.31s    remaining: 11.5s
298:    learn: 0.0735401    total: 6.33s    remaining: 11.5s
299:    learn: 0.0732365    total: 6.35s    remaining: 11.5s
300:    learn: 0.0729679    total: 6.37s    remaining: 11.4s
301:    learn: 0.0724836    total: 6.39s    remaining: 11.4s
302:    learn: 0.0723086    total: 6.41s    remaining: 11.4s
303:    learn: 0.0721558    total: 6.43s    remaining: 11.4s
304:    learn: 0.0718729    total: 6.45s    remaining: 11.4s
305:    learn: 0.0712656    total: 6.47s    remaining: 11.3s
306:    learn: 0.0711605    total: 6.49s    remaining: 11.3s
307:    learn: 0.0708350    total: 6.51s    remaining: 11.3s
308:    learn: 0.0703246    total: 6.54s    remaining: 11.3s
309:    learn: 0.0702456    total: 6.56s    remaining: 11.3s
310:    learn: 0.0700025    total: 6.58s    remaining: 11.2s
311:    learn: 0.0697193    total: 6.6s remaining: 11.2s
312:    learn: 0.0691838    total: 6.62s    remaining: 11.2s
313:    learn: 0.0689496    total: 6.64s    remaining: 11.2s
314:    learn: 0.0686827    total: 6.66s    remaining: 11.1s
315:    learn: 0.0682789    total: 6.68s    remaining: 11.1s
316:    learn: 0.0680982    total: 6.7s remaining: 11.1s
317:    learn: 0.0678499    total: 6.72s    remaining: 11.1s
318:    learn: 0.0675654    total: 6.75s    remaining: 11.1s
319:    learn: 0.0672847    total: 6.78s    remaining: 11.1s
320:    learn: 0.0668307    total: 6.8s remaining: 11s
321:    learn: 0.0664236    total: 6.82s    remaining: 11s
322:    learn: 0.0660702    total: 6.84s    remaining: 11s
323:    learn: 0.0656839    total: 6.86s    remaining: 11s
324:    learn: 0.0653228    total: 6.88s    remaining: 10.9s
325:    learn: 0.0651958    total: 6.9s remaining: 10.9s
326:    learn: 0.0649137    total: 6.92s    remaining: 10.9s
327:    learn: 0.0645743    total: 6.95s    remaining: 10.9s
328:    learn: 0.0643326    total: 6.99s    remaining: 10.9s
329:    learn: 0.0641506    total: 7.02s    remaining: 10.9s
330:    learn: 0.0639440    total: 7.05s    remaining: 10.9s
331:    learn: 0.0635258    total: 7.09s    remaining: 10.9s
332:    learn: 0.0631941    total: 7.12s    remaining: 10.9s
333:    learn: 0.0628649    total: 7.16s    remaining: 10.9s
334:    learn: 0.0625125    total: 7.19s    remaining: 10.9s
335:    learn: 0.0621239    total: 7.22s    remaining: 10.9s
336:    learn: 0.0619245    total: 7.26s    remaining: 10.9s
337:    learn: 0.0616914    total: 7.29s    remaining: 10.9s
338:    learn: 0.0612844    total: 7.33s    remaining: 10.9s
339:    learn: 0.0608982    total: 7.36s    remaining: 10.9s
340:    learn: 0.0604979    total: 7.39s    remaining: 10.9s
341:    learn: 0.0602670    total: 7.43s    remaining: 10.9s
342:    learn: 0.0600273    total: 7.46s    remaining: 10.9s
343:    learn: 0.0595923    total: 7.49s    remaining: 10.8s
344:    learn: 0.0594109    total: 7.53s    remaining: 10.8s
345:    learn: 0.0592970    total: 7.56s    remaining: 10.8s
346:    learn: 0.0591803    total: 7.59s    remaining: 10.8s
347:    learn: 0.0588351    total: 7.63s    remaining: 10.8s
348:    learn: 0.0584487    total: 7.66s    remaining: 10.8s
349:    learn: 0.0581632    total: 7.69s    remaining: 10.8s
350:    learn: 0.0579263    total: 7.73s    remaining: 10.8s
351:    learn: 0.0575300    total: 7.76s    remaining: 10.8s
352:    learn: 0.0573418    total: 7.8s remaining: 10.8s
353:    learn: 0.0571407    total: 7.84s    remaining: 10.8s
354:    learn: 0.0570383    total: 7.87s    remaining: 10.8s
355:    learn: 0.0569307    total: 7.9s remaining: 10.8s
356:    learn: 0.0567340    total: 7.93s    remaining: 10.8s
357:    learn: 0.0565657    total: 7.97s    remaining: 10.8s
358:    learn: 0.0564413    total: 8s   remaining: 10.8s
359:    learn: 0.0563271    total: 8.04s    remaining: 10.8s
360:    learn: 0.0562722    total: 8.07s    remaining: 10.8s
361:    learn: 0.0559133    total: 8.1s remaining: 10.7s
362:    learn: 0.0556852    total: 8.13s    remaining: 10.7s
363:    learn: 0.0554951    total: 8.16s    remaining: 10.7s
364:    learn: 0.0552310    total: 8.19s    remaining: 10.7s
365:    learn: 0.0551673    total: 8.22s    remaining: 10.7s
366:    learn: 0.0549289    total: 8.26s    remaining: 10.7s
367:    learn: 0.0546259    total: 8.29s    remaining: 10.7s
368:    learn: 0.0545933    total: 8.32s    remaining: 10.7s
369:    learn: 0.0545764    total: 8.35s    remaining: 10.7s
370:    learn: 0.0545453    total: 8.39s    remaining: 10.6s
371:    learn: 0.0541662    total: 8.42s    remaining: 10.6s
372:    learn: 0.0538902    total: 8.45s    remaining: 10.6s
373:    learn: 0.0536800    total: 8.48s    remaining: 10.6s
374:    learn: 0.0534719    total: 8.52s    remaining: 10.6s
375:    learn: 0.0532208    total: 8.55s    remaining: 10.6s
376:    learn: 0.0529513    total: 8.58s    remaining: 10.6s
377:    learn: 0.0529028    total: 8.61s    remaining: 10.6s
378:    learn: 0.0527713    total: 8.64s    remaining: 10.6s
379:    learn: 0.0525624    total: 8.67s    remaining: 10.5s
380:    learn: 0.0522734    total: 8.71s    remaining: 10.5s
381:    learn: 0.0519180    total: 8.74s    remaining: 10.5s
382:    learn: 0.0516664    total: 8.77s    remaining: 10.5s
383:    learn: 0.0516262    total: 8.81s    remaining: 10.5s
384:    learn: 0.0513725    total: 8.85s    remaining: 10.5s
385:    learn: 0.0512183    total: 8.9s remaining: 10.5s
386:    learn: 0.0511572    total: 8.93s    remaining: 10.5s
387:    learn: 0.0510650    total: 8.97s    remaining: 10.5s
388:    learn: 0.0509138    total: 9s   remaining: 10.5s
389:    learn: 0.0508399    total: 9.03s    remaining: 10.5s
390:    learn: 0.0506509    total: 9.06s    remaining: 10.5s
391:    learn: 0.0505225    total: 9.1s remaining: 10.4s
392:    learn: 0.0503233    total: 9.13s    remaining: 10.4s
393:    learn: 0.0500550    total: 9.16s    remaining: 10.4s
394:    learn: 0.0498715    total: 9.2s remaining: 10.4s
395:    learn: 0.0497506    total: 9.23s    remaining: 10.4s
396:    learn: 0.0497335    total: 9.26s    remaining: 10.4s
397:    learn: 0.0496860    total: 9.3s remaining: 10.4s
398:    learn: 0.0495257    total: 9.33s    remaining: 10.4s
399:    learn: 0.0493099    total: 9.36s    remaining: 10.3s
400:    learn: 0.0491668    total: 9.4s remaining: 10.3s
401:    learn: 0.0490691    total: 9.44s    remaining: 10.3s
402:    learn: 0.0487755    total: 9.47s    remaining: 10.3s
403:    learn: 0.0487243    total: 9.5s remaining: 10.3s
404:    learn: 0.0485712    total: 9.54s    remaining: 10.3s
405:    learn: 0.0483265    total: 9.58s    remaining: 10.3s
406:    learn: 0.0481910    total: 9.61s    remaining: 10.3s
407:    learn: 0.0480469    total: 9.64s    remaining: 10.3s
408:    learn: 0.0478725    total: 9.67s    remaining: 10.2s
409:    learn: 0.0476214    total: 9.71s    remaining: 10.2s
410:    learn: 0.0474705    total: 9.74s    remaining: 10.2s
411:    learn: 0.0473148    total: 9.77s    remaining: 10.2s
412:    learn: 0.0471753    total: 9.8s remaining: 10.2s
413:    learn: 0.0470391    total: 9.83s    remaining: 10.2s
414:    learn: 0.0467807    total: 9.86s    remaining: 10.1s
415:    learn: 0.0465630    total: 9.9s remaining: 10.1s
416:    learn: 0.0463662    total: 9.93s    remaining: 10.1s
417:    learn: 0.0462039    total: 9.96s    remaining: 10.1s
418:    learn: 0.0459843    total: 10s  remaining: 10.1s
419:    learn: 0.0458291    total: 10s  remaining: 10.1s
420:    learn: 0.0457487    total: 10.1s    remaining: 10.1s
421:    learn: 0.0455401    total: 10.1s    remaining: 10s
422:    learn: 0.0453629    total: 10.1s    remaining: 10s
423:    learn: 0.0453212    total: 10.2s    remaining: 10s
424:    learn: 0.0451366    total: 10.2s    remaining: 10s
425:    learn: 0.0449351    total: 10.2s    remaining: 9.98s
426:    learn: 0.0447562    total: 10.3s    remaining: 9.96s
427:    learn: 0.0445972    total: 10.3s    remaining: 9.95s
428:    learn: 0.0443339    total: 10.3s    remaining: 9.93s
429:    learn: 0.0441472    total: 10.4s    remaining: 9.92s
430:    learn: 0.0440398    total: 10.4s    remaining: 9.91s
431:    learn: 0.0439157    total: 10.4s    remaining: 9.89s
432:    learn: 0.0438574    total: 10.5s    remaining: 9.88s
433:    learn: 0.0437096    total: 10.5s    remaining: 9.87s
434:    learn: 0.0435455    total: 10.5s    remaining: 9.85s
435:    learn: 0.0433701    total: 10.6s    remaining: 9.83s
436:    learn: 0.0433040    total: 10.6s    remaining: 9.81s
437:    learn: 0.0432097    total: 10.6s    remaining: 9.8s
438:    learn: 0.0430690    total: 10.7s    remaining: 9.79s
439:    learn: 0.0428340    total: 10.7s    remaining: 9.77s
440:    learn: 0.0427827    total: 10.7s    remaining: 9.76s
441:    learn: 0.0426425    total: 10.8s    remaining: 9.74s
442:    learn: 0.0424634    total: 10.8s    remaining: 9.73s
443:    learn: 0.0423745    total: 10.8s    remaining: 9.71s
444:    learn: 0.0421930    total: 10.9s    remaining: 9.7s
445:    learn: 0.0421200    total: 10.9s    remaining: 9.68s
446:    learn: 0.0419383    total: 10.9s    remaining: 9.66s
447:    learn: 0.0418970    total: 11s  remaining: 9.65s
448:    learn: 0.0417271    total: 11s  remaining: 9.64s
449:    learn: 0.0416149    total: 11.1s    remaining: 9.63s
450:    learn: 0.0415164    total: 11.1s    remaining: 9.61s
451:    learn: 0.0413423    total: 11.1s    remaining: 9.6s
452:    learn: 0.0411879    total: 11.2s    remaining: 9.58s
453:    learn: 0.0410833    total: 11.2s    remaining: 9.56s
454:    learn: 0.0409495    total: 11.2s    remaining: 9.54s
455:    learn: 0.0407363    total: 11.2s    remaining: 9.52s
456:    learn: 0.0406909    total: 11.3s    remaining: 9.49s
457:    learn: 0.0404481    total: 11.3s    remaining: 9.47s
458:    learn: 0.0403941    total: 11.3s    remaining: 9.44s
459:    learn: 0.0402644    total: 11.3s    remaining: 9.41s
460:    learn: 0.0402475    total: 11.4s    remaining: 9.38s
461:    learn: 0.0400874    total: 11.4s    remaining: 9.36s
462:    learn: 0.0398847    total: 11.4s    remaining: 9.33s
463:    learn: 0.0397290    total: 11.4s    remaining: 9.3s
464:    learn: 0.0395403    total: 11.4s    remaining: 9.27s
465:    learn: 0.0394000    total: 11.5s    remaining: 9.24s
466:    learn: 0.0392635    total: 11.5s    remaining: 9.22s
467:    learn: 0.0391368    total: 11.5s    remaining: 9.19s
468:    learn: 0.0389041    total: 11.5s    remaining: 9.16s
469:    learn: 0.0388847    total: 11.5s    remaining: 9.14s
470:    learn: 0.0387607    total: 11.6s    remaining: 9.11s
471:    learn: 0.0386384    total: 11.6s    remaining: 9.08s
472:    learn: 0.0384473    total: 11.6s    remaining: 9.05s
473:    learn: 0.0383228    total: 11.6s    remaining: 9.03s
474:    learn: 0.0381828    total: 11.6s    remaining: 9s
475:    learn: 0.0379501    total: 11.7s    remaining: 8.97s
476:    learn: 0.0378375    total: 11.7s    remaining: 8.94s
477:    learn: 0.0376705    total: 11.7s    remaining: 8.91s
478:    learn: 0.0374168    total: 11.7s    remaining: 8.89s
479:    learn: 0.0372851    total: 11.7s    remaining: 8.86s
480:    learn: 0.0371349    total: 11.8s    remaining: 8.84s
481:    learn: 0.0369003    total: 11.8s    remaining: 8.81s
482:    learn: 0.0367458    total: 11.8s    remaining: 8.78s
483:    learn: 0.0366751    total: 11.8s    remaining: 8.75s
484:    learn: 0.0365600    total: 11.9s    remaining: 8.73s
485:    learn: 0.0364598    total: 11.9s    remaining: 8.7s
486:    learn: 0.0363939    total: 11.9s    remaining: 8.67s
487:    learn: 0.0362870    total: 11.9s    remaining: 8.64s
488:    learn: 0.0361906    total: 11.9s    remaining: 8.62s
489:    learn: 0.0360656    total: 12s  remaining: 8.59s
490:    learn: 0.0359412    total: 12s  remaining: 8.56s
491:    learn: 0.0358775    total: 12s  remaining: 8.54s
492:    learn: 0.0357280    total: 12s  remaining: 8.52s
493:    learn: 0.0356929    total: 12.1s    remaining: 8.5s
494:    learn: 0.0355391    total: 12.1s    remaining: 8.47s
495:    learn: 0.0353673    total: 12.1s    remaining: 8.44s
496:    learn: 0.0352263    total: 12.1s    remaining: 8.41s
497:    learn: 0.0350646    total: 12.1s    remaining: 8.39s
498:    learn: 0.0349412    total: 12.2s    remaining: 8.36s
499:    learn: 0.0348164    total: 12.2s    remaining: 8.34s
500:    learn: 0.0348039    total: 12.2s    remaining: 8.31s
501:    learn: 0.0346477    total: 12.2s    remaining: 8.28s
502:    learn: 0.0345718    total: 12.2s    remaining: 8.26s
503:    learn: 0.0344542    total: 12.3s    remaining: 8.23s
504:    learn: 0.0343745    total: 12.3s    remaining: 8.2s
505:    learn: 0.0342597    total: 12.3s    remaining: 8.17s
506:    learn: 0.0341232    total: 12.3s    remaining: 8.15s
507:    learn: 0.0340643    total: 12.3s    remaining: 8.12s
508:    learn: 0.0339182    total: 12.4s    remaining: 8.1s
509:    learn: 0.0337621    total: 12.4s    remaining: 8.07s
510:    learn: 0.0336685    total: 12.4s    remaining: 8.04s
511:    learn: 0.0335627    total: 12.4s    remaining: 8.02s
512:    learn: 0.0335154    total: 12.5s    remaining: 7.99s
513:    learn: 0.0333324    total: 12.5s    remaining: 7.96s
514:    learn: 0.0332954    total: 12.5s    remaining: 7.93s
515:    learn: 0.0331042    total: 12.5s    remaining: 7.91s
516:    learn: 0.0329796    total: 12.5s    remaining: 7.88s
517:    learn: 0.0328503    total: 12.6s    remaining: 7.86s
518:    learn: 0.0327087    total: 12.6s    remaining: 7.83s
519:    learn: 0.0326166    total: 12.6s    remaining: 7.81s
520:    learn: 0.0325427    total: 12.6s    remaining: 7.78s
521:    learn: 0.0325033    total: 12.6s    remaining: 7.75s
522:    learn: 0.0323206    total: 12.7s    remaining: 7.72s
523:    learn: 0.0322177    total: 12.7s    remaining: 7.7s
524:    learn: 0.0320728    total: 12.7s    remaining: 7.67s
525:    learn: 0.0319066    total: 12.7s    remaining: 7.64s
526:    learn: 0.0318068    total: 12.7s    remaining: 7.62s
527:    learn: 0.0317198    total: 12.8s    remaining: 7.59s
528:    learn: 0.0316371    total: 12.8s    remaining: 7.57s
529:    learn: 0.0315541    total: 12.8s    remaining: 7.54s
530:    learn: 0.0315157    total: 12.8s    remaining: 7.51s
531:    learn: 0.0314857    total: 12.8s    remaining: 7.49s
532:    learn: 0.0314042    total: 12.9s    remaining: 7.46s
533:    learn: 0.0313261    total: 12.9s    remaining: 7.43s
534:    learn: 0.0312619    total: 12.9s    remaining: 7.41s
535:    learn: 0.0312220    total: 12.9s    remaining: 7.38s
536:    learn: 0.0312064    total: 13s  remaining: 7.36s
537:    learn: 0.0311927    total: 13s  remaining: 7.33s
538:    learn: 0.0310368    total: 13s  remaining: 7.3s
539:    learn: 0.0308779    total: 13s  remaining: 7.28s
540:    learn: 0.0307892    total: 13s  remaining: 7.25s
541:    learn: 0.0307330    total: 13.1s    remaining: 7.23s
542:    learn: 0.0305729    total: 13.1s    remaining: 7.21s
543:    learn: 0.0304776    total: 13.1s    remaining: 7.18s
544:    learn: 0.0304684    total: 13.1s    remaining: 7.16s
545:    learn: 0.0303768    total: 13.2s    remaining: 7.13s
546:    learn: 0.0302656    total: 13.2s    remaining: 7.11s
547:    learn: 0.0301968    total: 13.2s    remaining: 7.08s
548:    learn: 0.0300864    total: 13.2s    remaining: 7.05s
549:    learn: 0.0299684    total: 13.2s    remaining: 7.03s
550:    learn: 0.0299294    total: 13.3s    remaining: 7s
551:    learn: 0.0298119    total: 13.3s    remaining: 6.98s
552:    learn: 0.0297425    total: 13.3s    remaining: 6.95s
553:    learn: 0.0296441    total: 13.3s    remaining: 6.93s
554:    learn: 0.0295670    total: 13.3s    remaining: 6.9s
555:    learn: 0.0295009    total: 13.4s    remaining: 6.88s
556:    learn: 0.0294583    total: 13.4s    remaining: 6.85s
557:    learn: 0.0293466    total: 13.4s    remaining: 6.83s
558:    learn: 0.0292656    total: 13.4s    remaining: 6.8s
559:    learn: 0.0291397    total: 13.5s    remaining: 6.78s
560:    learn: 0.0290519    total: 13.5s    remaining: 6.75s
561:    learn: 0.0290147    total: 13.5s    remaining: 6.73s
562:    learn: 0.0289473    total: 13.5s    remaining: 6.7s
563:    learn: 0.0288382    total: 13.5s    remaining: 6.67s
564:    learn: 0.0287535    total: 13.6s    remaining: 6.65s
565:    learn: 0.0286868    total: 13.6s    remaining: 6.62s
566:    learn: 0.0285962    total: 13.6s    remaining: 6.6s
567:    learn: 0.0284391    total: 13.6s    remaining: 6.57s
568:    learn: 0.0283427    total: 13.6s    remaining: 6.54s
569:    learn: 0.0282183    total: 13.7s    remaining: 6.52s
570:    learn: 0.0281363    total: 13.7s    remaining: 6.49s
571:    learn: 0.0280300    total: 13.7s    remaining: 6.47s
572:    learn: 0.0280162    total: 13.7s    remaining: 6.44s
573:    learn: 0.0279178    total: 13.7s    remaining: 6.42s
574:    learn: 0.0278480    total: 13.8s    remaining: 6.39s
575:    learn: 0.0278114    total: 13.8s    remaining: 6.37s
576:    learn: 0.0277291    total: 13.8s    remaining: 6.34s
577:    learn: 0.0276617    total: 13.8s    remaining: 6.31s
578:    learn: 0.0275543    total: 13.8s    remaining: 6.29s
579:    learn: 0.0275319    total: 13.9s    remaining: 6.26s
580:    learn: 0.0273942    total: 13.9s    remaining: 6.24s
581:    learn: 0.0273343    total: 13.9s    remaining: 6.21s
582:    learn: 0.0272594    total: 13.9s    remaining: 6.19s
583:    learn: 0.0271496    total: 13.9s    remaining: 6.16s
584:    learn: 0.0270287    total: 14s  remaining: 6.14s
585:    learn: 0.0269956    total: 14s  remaining: 6.11s
586:    learn: 0.0268883    total: 14s  remaining: 6.09s
587:    learn: 0.0268625    total: 14s  remaining: 6.06s
588:    learn: 0.0267429    total: 14.1s    remaining: 6.04s
589:    learn: 0.0266905    total: 14.1s    remaining: 6.01s
590:    learn: 0.0266406    total: 14.1s    remaining: 5.99s
591:    learn: 0.0265921    total: 14.1s    remaining: 5.97s
592:    learn: 0.0265644    total: 14.2s    remaining: 5.94s
593:    learn: 0.0265586    total: 14.2s    remaining: 5.92s
594:    learn: 0.0264954    total: 14.2s    remaining: 5.89s
595:    learn: 0.0264651    total: 14.2s    remaining: 5.87s
596:    learn: 0.0264337    total: 14.2s    remaining: 5.84s
597:    learn: 0.0263707    total: 14.3s    remaining: 5.82s
598:    learn: 0.0263188    total: 14.3s    remaining: 5.79s
599:    learn: 0.0262585    total: 14.3s    remaining: 5.77s
600:    learn: 0.0261296    total: 14.3s    remaining: 5.74s
601:    learn: 0.0260555    total: 14.3s    remaining: 5.72s
602:    learn: 0.0259927    total: 14.4s    remaining: 5.69s
603:    learn: 0.0259363    total: 14.4s    remaining: 5.67s
604:    learn: 0.0258395    total: 14.4s    remaining: 5.64s
605:    learn: 0.0257372    total: 14.4s    remaining: 5.62s
606:    learn: 0.0256258    total: 14.4s    remaining: 5.59s
607:    learn: 0.0255421    total: 14.5s    remaining: 5.57s
608:    learn: 0.0254712    total: 14.5s    remaining: 5.54s
609:    learn: 0.0254643    total: 14.5s    remaining: 5.52s
610:    learn: 0.0253829    total: 14.5s    remaining: 5.49s
611:    learn: 0.0253767    total: 14.5s    remaining: 5.47s
612:    learn: 0.0252957    total: 14.6s    remaining: 5.44s
613:    learn: 0.0252663    total: 14.6s    remaining: 5.42s
614:    learn: 0.0251834    total: 14.6s    remaining: 5.39s
615:    learn: 0.0251139    total: 14.6s    remaining: 5.37s
616:    learn: 0.0250214    total: 14.6s    remaining: 5.34s
617:    learn: 0.0249541    total: 14.7s    remaining: 5.32s
618:    learn: 0.0248827    total: 14.7s    remaining: 5.29s
619:    learn: 0.0248463    total: 14.7s    remaining: 5.27s
620:    learn: 0.0247790    total: 14.7s    remaining: 5.24s
621:    learn: 0.0246924    total: 14.8s    remaining: 5.22s
622:    learn: 0.0246547    total: 14.8s    remaining: 5.19s
623:    learn: 0.0246035    total: 14.8s    remaining: 5.17s
624:    learn: 0.0245460    total: 14.8s    remaining: 5.14s
625:    learn: 0.0245304    total: 14.8s    remaining: 5.12s
626:    learn: 0.0245228    total: 14.9s    remaining: 5.09s
627:    learn: 0.0244824    total: 14.9s    remaining: 5.07s
628:    learn: 0.0243900    total: 14.9s    remaining: 5.04s
629:    learn: 0.0242843    total: 14.9s    remaining: 5.02s
630:    learn: 0.0242049    total: 14.9s    remaining: 5s
631:    learn: 0.0241462    total: 15s  remaining: 4.97s
632:    learn: 0.0241350    total: 15s  remaining: 4.95s
633:    learn: 0.0240426    total: 15s  remaining: 4.92s
634:    learn: 0.0239695    total: 15s  remaining: 4.9s
635:    learn: 0.0238718    total: 15s  remaining: 4.87s
636:    learn: 0.0238203    total: 15.1s    remaining: 4.85s
637:    learn: 0.0237288    total: 15.1s    remaining: 4.82s
638:    learn: 0.0236695    total: 15.1s    remaining: 4.8s
639:    learn: 0.0235797    total: 15.1s    remaining: 4.78s
640:    learn: 0.0235178    total: 15.2s    remaining: 4.75s
641:    learn: 0.0234227    total: 15.2s    remaining: 4.73s
642:    learn: 0.0233666    total: 15.2s    remaining: 4.71s
643:    learn: 0.0233619    total: 15.2s    remaining: 4.68s
644:    learn: 0.0233165    total: 15.2s    remaining: 4.66s
645:    learn: 0.0232876    total: 15.3s    remaining: 4.63s
646:    learn: 0.0232465    total: 15.3s    remaining: 4.61s
647:    learn: 0.0232407    total: 15.3s    remaining: 4.58s
648:    learn: 0.0231824    total: 15.3s    remaining: 4.56s
649:    learn: 0.0231604    total: 15.3s    remaining: 4.53s
650:    learn: 0.0231219    total: 15.4s    remaining: 4.51s
651:    learn: 0.0231176    total: 15.4s    remaining: 4.49s
652:    learn: 0.0230303    total: 15.4s    remaining: 4.46s
653:    learn: 0.0230223    total: 15.4s    remaining: 4.44s
654:    learn: 0.0229534    total: 15.5s    remaining: 4.41s
655:    learn: 0.0228595    total: 15.5s    remaining: 4.39s
656:    learn: 0.0228020    total: 15.5s    remaining: 4.37s
657:    learn: 0.0227408    total: 15.5s    remaining: 4.34s
658:    learn: 0.0226995    total: 15.5s    remaining: 4.32s
659:    learn: 0.0226093    total: 15.6s    remaining: 4.29s
660:    learn: 0.0225600    total: 15.6s    remaining: 4.27s
661:    learn: 0.0225348    total: 15.6s    remaining: 4.25s
662:    learn: 0.0224961    total: 15.6s    remaining: 4.22s
663:    learn: 0.0224412    total: 15.7s    remaining: 4.2s
664:    learn: 0.0224210    total: 15.7s    remaining: 4.17s
665:    learn: 0.0223424    total: 15.7s    remaining: 4.15s
666:    learn: 0.0222869    total: 15.7s    remaining: 4.12s
667:    learn: 0.0222091    total: 15.7s    remaining: 4.1s
668:    learn: 0.0221196    total: 15.8s    remaining: 4.08s
669:    learn: 0.0220374    total: 15.8s    remaining: 4.05s
670:    learn: 0.0220022    total: 15.8s    remaining: 4.03s
671:    learn: 0.0219262    total: 15.8s    remaining: 4s
672:    learn: 0.0218823    total: 15.8s    remaining: 3.98s
673:    learn: 0.0218429    total: 15.9s    remaining: 3.95s
674:    learn: 0.0217705    total: 15.9s    remaining: 3.93s
675:    learn: 0.0217330    total: 15.9s    remaining: 3.91s
676:    learn: 0.0217091    total: 15.9s    remaining: 3.88s
677:    learn: 0.0216593    total: 15.9s    remaining: 3.86s
678:    learn: 0.0216078    total: 16s  remaining: 3.83s
679:    learn: 0.0215852    total: 16s  remaining: 3.81s
680:    learn: 0.0215332    total: 16s  remaining: 3.79s
681:    learn: 0.0214828    total: 16s  remaining: 3.76s
682:    learn: 0.0214650    total: 16.1s    remaining: 3.74s
683:    learn: 0.0214069    total: 16.1s    remaining: 3.71s
684:    learn: 0.0213761    total: 16.1s    remaining: 3.69s
685:    learn: 0.0213456    total: 16.1s    remaining: 3.67s
686:    learn: 0.0213318    total: 16.1s    remaining: 3.64s
687:    learn: 0.0212771    total: 16.2s    remaining: 3.62s
688:    learn: 0.0212275    total: 16.2s    remaining: 3.6s
689:    learn: 0.0211564    total: 16.2s    remaining: 3.57s
690:    learn: 0.0211310    total: 16.2s    remaining: 3.55s
691:    learn: 0.0210846    total: 16.3s    remaining: 3.52s
692:    learn: 0.0210802    total: 16.3s    remaining: 3.5s
693:    learn: 0.0210592    total: 16.3s    remaining: 3.48s
694:    learn: 0.0209991    total: 16.3s    remaining: 3.45s
695:    learn: 0.0209577    total: 16.3s    remaining: 3.43s
696:    learn: 0.0208816    total: 16.4s    remaining: 3.4s
697:    learn: 0.0208354    total: 16.4s    remaining: 3.38s
698:    learn: 0.0207796    total: 16.4s    remaining: 3.35s
699:    learn: 0.0207294    total: 16.4s    remaining: 3.33s
700:    learn: 0.0206851    total: 16.4s    remaining: 3.31s
701:    learn: 0.0206625    total: 16.5s    remaining: 3.28s
702:    learn: 0.0205879    total: 16.5s    remaining: 3.26s
703:    learn: 0.0205838    total: 16.5s    remaining: 3.23s
704:    learn: 0.0205172    total: 16.5s    remaining: 3.21s
705:    learn: 0.0204882    total: 16.5s    remaining: 3.19s
706:    learn: 0.0204586    total: 16.6s    remaining: 3.16s
707:    learn: 0.0203894    total: 16.6s    remaining: 3.14s
708:    learn: 0.0203529    total: 16.6s    remaining: 3.12s
709:    learn: 0.0203279    total: 16.6s    remaining: 3.09s
710:    learn: 0.0202672    total: 16.6s    remaining: 3.07s
711:    learn: 0.0201996    total: 16.7s    remaining: 3.04s
712:    learn: 0.0201358    total: 16.7s    remaining: 3.02s
713:    learn: 0.0201209    total: 16.7s    remaining: 3s
714:    learn: 0.0201135    total: 16.7s    remaining: 2.97s
715:    learn: 0.0200426    total: 16.8s    remaining: 2.95s
716:    learn: 0.0200291    total: 16.8s    remaining: 2.92s
717:    learn: 0.0199595    total: 16.8s    remaining: 2.9s
718:    learn: 0.0198973    total: 16.8s    remaining: 2.88s
719:    learn: 0.0198775    total: 16.8s    remaining: 2.85s
720:    learn: 0.0198336    total: 16.9s    remaining: 2.83s
721:    learn: 0.0197767    total: 16.9s    remaining: 2.8s
722:    learn: 0.0197396    total: 16.9s    remaining: 2.78s
723:    learn: 0.0196833    total: 16.9s    remaining: 2.76s
724:    learn: 0.0196648    total: 16.9s    remaining: 2.73s
725:    learn: 0.0196618    total: 17s  remaining: 2.71s
726:    learn: 0.0195953    total: 17s  remaining: 2.69s
727:    learn: 0.0195855    total: 17s  remaining: 2.66s
728:    learn: 0.0195465    total: 17s  remaining: 2.64s
729:    learn: 0.0195085    total: 17s  remaining: 2.62s
730:    learn: 0.0194731    total: 17.1s    remaining: 2.59s
731:    learn: 0.0194116    total: 17.1s    remaining: 2.57s
732:    learn: 0.0193754    total: 17.1s    remaining: 2.54s
733:    learn: 0.0193212    total: 17.1s    remaining: 2.52s
734:    learn: 0.0192990    total: 17.1s    remaining: 2.5s
735:    learn: 0.0192660    total: 17.2s    remaining: 2.47s
736:    learn: 0.0192382    total: 17.2s    remaining: 2.45s
737:    learn: 0.0191806    total: 17.2s    remaining: 2.43s
738:    learn: 0.0191344    total: 17.2s    remaining: 2.4s
739:    learn: 0.0190790    total: 17.3s    remaining: 2.38s
740:    learn: 0.0190102    total: 17.3s    remaining: 2.36s
741:    learn: 0.0189517    total: 17.3s    remaining: 2.33s
742:    learn: 0.0189099    total: 17.3s    remaining: 2.31s
743:    learn: 0.0188742    total: 17.4s    remaining: 2.29s
744:    learn: 0.0188414    total: 17.4s    remaining: 2.26s
745:    learn: 0.0187924    total: 17.4s    remaining: 2.24s
746:    learn: 0.0187508    total: 17.4s    remaining: 2.21s
747:    learn: 0.0186980    total: 17.4s    remaining: 2.19s
748:    learn: 0.0186674    total: 17.5s    remaining: 2.17s
749:    learn: 0.0186397    total: 17.5s    remaining: 2.14s
750:    learn: 0.0186046    total: 17.5s    remaining: 2.12s
751:    learn: 0.0185585    total: 17.5s    remaining: 2.1s
752:    learn: 0.0185293    total: 17.5s    remaining: 2.07s
753:    learn: 0.0184943    total: 17.6s    remaining: 2.05s
754:    learn: 0.0184731    total: 17.6s    remaining: 2.02s
755:    learn: 0.0184678    total: 17.6s    remaining: 2s
756:    learn: 0.0184276    total: 17.6s    remaining: 1.98s
757:    learn: 0.0183984    total: 17.6s    remaining: 1.96s
758:    learn: 0.0183358    total: 17.7s    remaining: 1.93s
759:    learn: 0.0182969    total: 17.7s    remaining: 1.91s
760:    learn: 0.0182702    total: 17.7s    remaining: 1.88s
761:    learn: 0.0182248    total: 17.7s    remaining: 1.86s
762:    learn: 0.0181704    total: 17.7s    remaining: 1.84s
763:    learn: 0.0181273    total: 17.8s    remaining: 1.81s
764:    learn: 0.0180848    total: 17.8s    remaining: 1.79s
765:    learn: 0.0180548    total: 17.8s    remaining: 1.77s
766:    learn: 0.0180134    total: 17.8s    remaining: 1.74s
767:    learn: 0.0179850    total: 17.8s    remaining: 1.72s
768:    learn: 0.0179195    total: 17.9s    remaining: 1.7s
769:    learn: 0.0178682    total: 17.9s    remaining: 1.67s
770:    learn: 0.0178566    total: 17.9s    remaining: 1.65s
771:    learn: 0.0178360    total: 17.9s    remaining: 1.63s
772:    learn: 0.0177870    total: 17.9s    remaining: 1.6s
773:    learn: 0.0177421    total: 18s  remaining: 1.58s
774:    learn: 0.0177229    total: 18s  remaining: 1.55s
775:    learn: 0.0176934    total: 18s  remaining: 1.53s
776:    learn: 0.0176614    total: 18s  remaining: 1.51s
777:    learn: 0.0176102    total: 18.1s    remaining: 1.49s
778:    learn: 0.0175738    total: 18.1s    remaining: 1.46s
779:    learn: 0.0175524    total: 18.1s    remaining: 1.44s
780:    learn: 0.0175207    total: 18.1s    remaining: 1.41s
781:    learn: 0.0175010    total: 18.1s    remaining: 1.39s
782:    learn: 0.0174924    total: 18.2s    remaining: 1.37s
783:    learn: 0.0174601    total: 18.2s    remaining: 1.34s
784:    learn: 0.0174051    total: 18.2s    remaining: 1.32s
785:    learn: 0.0173622    total: 18.2s    remaining: 1.3s
786:    learn: 0.0173359    total: 18.3s    remaining: 1.27s
787:    learn: 0.0172897    total: 18.3s    remaining: 1.25s
788:    learn: 0.0172548    total: 18.3s    remaining: 1.23s
789:    learn: 0.0172093    total: 18.3s    remaining: 1.21s
790:    learn: 0.0171681    total: 18.3s    remaining: 1.18s
791:    learn: 0.0171507    total: 18.4s    remaining: 1.16s
792:    learn: 0.0171388    total: 18.4s    remaining: 1.14s
793:    learn: 0.0170998    total: 18.4s    remaining: 1.11s
794:    learn: 0.0170668    total: 18.4s    remaining: 1.09s
795:    learn: 0.0170495    total: 18.4s    remaining: 1.06s
796:    learn: 0.0170209    total: 18.5s    remaining: 1.04s
797:    learn: 0.0169757    total: 18.5s    remaining: 1.02s
798:    learn: 0.0169268    total: 18.5s    remaining: 996ms
799:    learn: 0.0169126    total: 18.5s    remaining: 973ms
800:    learn: 0.0168654    total: 18.5s    remaining: 949ms
801:    learn: 0.0168326    total: 18.6s    remaining: 926ms
802:    learn: 0.0167980    total: 18.6s    remaining: 903ms
803:    learn: 0.0167728    total: 18.6s    remaining: 879ms
804:    learn: 0.0167279    total: 18.6s    remaining: 856ms
805:    learn: 0.0166783    total: 18.6s    remaining: 833ms
806:    learn: 0.0166432    total: 18.7s    remaining: 810ms
807:    learn: 0.0166353    total: 18.7s    remaining: 786ms
808:    learn: 0.0166106    total: 18.7s    remaining: 763ms
809:    learn: 0.0165793    total: 18.7s    remaining: 740ms
810:    learn: 0.0165512    total: 18.7s    remaining: 717ms
811:    learn: 0.0165403    total: 18.8s    remaining: 693ms
812:    learn: 0.0164992    total: 18.8s    remaining: 670ms
813:    learn: 0.0164752    total: 18.8s    remaining: 647ms
814:    learn: 0.0164682    total: 18.8s    remaining: 624ms
815:    learn: 0.0164615    total: 18.8s    remaining: 601ms
816:    learn: 0.0164411    total: 18.9s    remaining: 577ms
817:    learn: 0.0164210    total: 18.9s    remaining: 554ms
818:    learn: 0.0164050    total: 18.9s    remaining: 531ms
819:    learn: 0.0163675    total: 18.9s    remaining: 508ms
820:    learn: 0.0163454    total: 19s  remaining: 485ms
821:    learn: 0.0163093    total: 19s  remaining: 462ms
822:    learn: 0.0162721    total: 19s  remaining: 439ms
823:    learn: 0.0162368    total: 19s  remaining: 415ms
824:    learn: 0.0162091    total: 19s  remaining: 392ms
825:    learn: 0.0161649    total: 19.1s    remaining: 369ms
826:    learn: 0.0161549    total: 19.1s    remaining: 346ms
827:    learn: 0.0161162    total: 19.1s    remaining: 323ms
828:    learn: 0.0160756    total: 19.1s    remaining: 300ms
829:    learn: 0.0160376    total: 19.1s    remaining: 277ms
830:    learn: 0.0159840    total: 19.2s    remaining: 254ms
831:    learn: 0.0159810    total: 19.2s    remaining: 231ms
832:    learn: 0.0159653    total: 19.2s    remaining: 208ms
833:    learn: 0.0159555    total: 19.2s    remaining: 184ms
834:    learn: 0.0159288    total: 19.3s    remaining: 161ms
835:    learn: 0.0159096    total: 19.3s    remaining: 138ms
836:    learn: 0.0158657    total: 19.3s    remaining: 115ms
837:    learn: 0.0158189    total: 19.3s    remaining: 92.3ms
838:    learn: 0.0157723    total: 19.3s    remaining: 69.2ms
839:    learn: 0.0157336    total: 19.4s    remaining: 46.1ms
840:    learn: 0.0157202    total: 19.4s    remaining: 23.1ms
841:    learn: 0.0157026    total: 19.4s    remaining: 0us

Mengevaluasi: ppk_impute_all_XGBoost

Mengevaluasi: ppk_impute_all_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 304, number of negative: 1628
[LightGBM] [Info] Total Bins 11621
[LightGBM] [Info] Number of data points in the train set: 1932, number of used features: 77
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.157350 -> initscore=-1.678080
[LightGBM] [Info] Start training from score -1.678080
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: ppk_impute_all_CatBoost
0:  learn: 0.6391018    total: 7.86ms   remaining: 1.87s
1:  learn: 0.5961289    total: 13.4ms   remaining: 1.59s
2:  learn: 0.5604508    total: 19.3ms   remaining: 1.51s
3:  learn: 0.5324276    total: 24.9ms   remaining: 1.46s
4:  learn: 0.5055788    total: 30.9ms   remaining: 1.44s
5:  learn: 0.4839282    total: 36.3ms   remaining: 1.41s
6:  learn: 0.4668601    total: 42.3ms   remaining: 1.4s
7:  learn: 0.4512252    total: 48.4ms   remaining: 1.4s
8:  learn: 0.4392703    total: 54.1ms   remaining: 1.38s
9:  learn: 0.4275391    total: 59.7ms   remaining: 1.37s
10: learn: 0.4179585    total: 65.7ms   remaining: 1.36s
11: learn: 0.4103260    total: 72.8ms   remaining: 1.38s
12: learn: 0.4029409    total: 78.1ms   remaining: 1.36s
13: learn: 0.3948017    total: 83.8ms   remaining: 1.35s
14: learn: 0.3877051    total: 89.2ms   remaining: 1.33s
15: learn: 0.3813859    total: 96.2ms   remaining: 1.34s
16: learn: 0.3768945    total: 102ms    remaining: 1.33s
17: learn: 0.3698198    total: 108ms    remaining: 1.32s
18: learn: 0.3667271    total: 113ms    remaining: 1.31s
19: learn: 0.3591836    total: 119ms    remaining: 1.3s
20: learn: 0.3567228    total: 124ms    remaining: 1.29s
21: learn: 0.3532127    total: 131ms    remaining: 1.3s
22: learn: 0.3489712    total: 137ms    remaining: 1.29s
23: learn: 0.3464299    total: 142ms    remaining: 1.27s
24: learn: 0.3434878    total: 148ms    remaining: 1.26s
25: learn: 0.3402090    total: 153ms    remaining: 1.25s
26: learn: 0.3364950    total: 158ms    remaining: 1.24s
27: learn: 0.3325816    total: 164ms    remaining: 1.23s
28: learn: 0.3299875    total: 169ms    remaining: 1.23s
29: learn: 0.3276888    total: 175ms    remaining: 1.22s
30: learn: 0.3239297    total: 180ms    remaining: 1.21s
31: learn: 0.3206204    total: 185ms    remaining: 1.2s
32: learn: 0.3172159    total: 191ms    remaining: 1.19s
33: learn: 0.3139262    total: 196ms    remaining: 1.18s
34: learn: 0.3115929    total: 202ms    remaining: 1.17s
35: learn: 0.3093580    total: 207ms    remaining: 1.17s
36: learn: 0.3058649    total: 213ms    remaining: 1.16s
37: learn: 0.3038830    total: 218ms    remaining: 1.15s
38: learn: 0.3002603    total: 224ms    remaining: 1.15s
39: learn: 0.2956792    total: 229ms    remaining: 1.14s
40: learn: 0.2938080    total: 235ms    remaining: 1.13s
41: learn: 0.2909428    total: 240ms    remaining: 1.13s
42: learn: 0.2885122    total: 245ms    remaining: 1.12s
43: learn: 0.2870663    total: 251ms    remaining: 1.11s
44: learn: 0.2840594    total: 256ms    remaining: 1.1s
45: learn: 0.2794323    total: 262ms    remaining: 1.1s
46: learn: 0.2778871    total: 270ms    remaining: 1.1s
47: learn: 0.2753008    total: 275ms    remaining: 1.1s
48: learn: 0.2722416    total: 281ms    remaining: 1.09s
49: learn: 0.2703020    total: 286ms    remaining: 1.08s
50: learn: 0.2682115    total: 292ms    remaining: 1.07s
51: learn: 0.2656293    total: 298ms    remaining: 1.07s
52: learn: 0.2641588    total: 303ms    remaining: 1.06s
53: learn: 0.2618533    total: 308ms    remaining: 1.06s
54: learn: 0.2602241    total: 314ms    remaining: 1.05s
55: learn: 0.2573146    total: 320ms    remaining: 1.04s
56: learn: 0.2546547    total: 325ms    remaining: 1.04s
57: learn: 0.2525249    total: 331ms    remaining: 1.03s
58: learn: 0.2502863    total: 337ms    remaining: 1.03s
59: learn: 0.2480762    total: 343ms    remaining: 1.02s
60: learn: 0.2457370    total: 348ms    remaining: 1.01s
61: learn: 0.2435507    total: 353ms    remaining: 1.01s
62: learn: 0.2416303    total: 359ms    remaining: 1s
63: learn: 0.2387595    total: 364ms    remaining: 996ms
64: learn: 0.2366748    total: 370ms    remaining: 990ms
65: learn: 0.2350682    total: 375ms    remaining: 983ms
66: learn: 0.2330978    total: 381ms    remaining: 977ms
67: learn: 0.2311983    total: 386ms    remaining: 972ms
68: learn: 0.2296706    total: 392ms    remaining: 966ms
69: learn: 0.2283525    total: 397ms    remaining: 959ms
70: learn: 0.2264388    total: 403ms    remaining: 953ms
71: learn: 0.2242227    total: 408ms    remaining: 946ms
72: learn: 0.2229487    total: 413ms    remaining: 939ms
73: learn: 0.2195565    total: 419ms    remaining: 934ms
74: learn: 0.2171204    total: 424ms    remaining: 928ms
75: learn: 0.2143827    total: 430ms    remaining: 922ms
76: learn: 0.2120864    total: 435ms    remaining: 916ms
77: learn: 0.2101837    total: 441ms    remaining: 910ms
78: learn: 0.2080996    total: 447ms    remaining: 905ms
79: learn: 0.2067560    total: 452ms    remaining: 898ms
80: learn: 0.2049957    total: 458ms    remaining: 893ms
81: learn: 0.2028861    total: 463ms    remaining: 887ms
82: learn: 0.2008400    total: 471ms    remaining: 886ms
83: learn: 0.1978518    total: 479ms    remaining: 883ms
84: learn: 0.1969897    total: 486ms    remaining: 880ms
85: learn: 0.1949933    total: 493ms    remaining: 878ms
86: learn: 0.1925626    total: 500ms    remaining: 873ms
87: learn: 0.1897848    total: 506ms    remaining: 867ms
88: learn: 0.1880295    total: 511ms    remaining: 862ms
89: learn: 0.1867172    total: 518ms    remaining: 857ms
90: learn: 0.1848975    total: 524ms    remaining: 852ms
91: learn: 0.1832600    total: 529ms    remaining: 846ms
92: learn: 0.1812170    total: 535ms    remaining: 841ms
93: learn: 0.1797886    total: 541ms    remaining: 834ms
94: learn: 0.1782182    total: 546ms    remaining: 828ms
95: learn: 0.1761391    total: 552ms    remaining: 822ms
96: learn: 0.1739966    total: 557ms    remaining: 816ms
97: learn: 0.1721777    total: 563ms    remaining: 810ms
98: learn: 0.1705586    total: 569ms    remaining: 804ms
99: learn: 0.1687481    total: 574ms    remaining: 798ms
100:    learn: 0.1667410    total: 580ms    remaining: 792ms
101:    learn: 0.1652416    total: 587ms    remaining: 788ms
102:    learn: 0.1640418    total: 596ms    remaining: 787ms
103:    learn: 0.1616348    total: 606ms    remaining: 786ms
104:    learn: 0.1598271    total: 615ms    remaining: 785ms
105:    learn: 0.1582676    total: 624ms    remaining: 783ms
106:    learn: 0.1560635    total: 630ms    remaining: 778ms
107:    learn: 0.1548371    total: 636ms    remaining: 771ms
108:    learn: 0.1532356    total: 641ms    remaining: 765ms
109:    learn: 0.1521085    total: 647ms    remaining: 759ms
110:    learn: 0.1496545    total: 652ms    remaining: 752ms
111:    learn: 0.1487576    total: 658ms    remaining: 746ms
112:    learn: 0.1470438    total: 663ms    remaining: 740ms
113:    learn: 0.1456478    total: 669ms    remaining: 734ms
114:    learn: 0.1445438    total: 676ms    remaining: 729ms
115:    learn: 0.1423471    total: 681ms    remaining: 723ms
116:    learn: 0.1406264    total: 687ms    remaining: 716ms
117:    learn: 0.1394200    total: 692ms    remaining: 710ms
118:    learn: 0.1385528    total: 697ms    remaining: 703ms
119:    learn: 0.1371237    total: 703ms    remaining: 697ms
120:    learn: 0.1361444    total: 708ms    remaining: 691ms
121:    learn: 0.1344149    total: 714ms    remaining: 685ms
122:    learn: 0.1335640    total: 720ms    remaining: 679ms
123:    learn: 0.1319902    total: 725ms    remaining: 672ms
124:    learn: 0.1306275    total: 730ms    remaining: 666ms
125:    learn: 0.1297591    total: 736ms    remaining: 660ms
126:    learn: 0.1277618    total: 741ms    remaining: 654ms
127:    learn: 0.1258726    total: 747ms    remaining: 648ms
128:    learn: 0.1248250    total: 752ms    remaining: 642ms
129:    learn: 0.1237707    total: 758ms    remaining: 635ms
130:    learn: 0.1226886    total: 763ms    remaining: 629ms
131:    learn: 0.1209387    total: 769ms    remaining: 623ms
132:    learn: 0.1197231    total: 775ms    remaining: 617ms
133:    learn: 0.1191045    total: 780ms    remaining: 611ms
134:    learn: 0.1175319    total: 785ms    remaining: 605ms
135:    learn: 0.1158917    total: 791ms    remaining: 599ms
136:    learn: 0.1144206    total: 797ms    remaining: 593ms
137:    learn: 0.1134372    total: 804ms    remaining: 588ms
138:    learn: 0.1112686    total: 810ms    remaining: 583ms
139:    learn: 0.1103043    total: 815ms    remaining: 576ms
140:    learn: 0.1093569    total: 820ms    remaining: 570ms
141:    learn: 0.1080642    total: 826ms    remaining: 564ms
142:    learn: 0.1070458    total: 831ms    remaining: 558ms
143:    learn: 0.1057424    total: 837ms    remaining: 552ms
144:    learn: 0.1046419    total: 842ms    remaining: 546ms
145:    learn: 0.1035115    total: 848ms    remaining: 540ms
146:    learn: 0.1024390    total: 854ms    remaining: 534ms
147:    learn: 0.1016364    total: 859ms    remaining: 528ms
148:    learn: 0.1012146    total: 865ms    remaining: 522ms
149:    learn: 0.0997255    total: 873ms    remaining: 518ms
150:    learn: 0.0984612    total: 879ms    remaining: 512ms
151:    learn: 0.0976751    total: 885ms    remaining: 506ms
152:    learn: 0.0965780    total: 890ms    remaining: 500ms
153:    learn: 0.0958760    total: 896ms    remaining: 494ms
154:    learn: 0.0945085    total: 901ms    remaining: 488ms
155:    learn: 0.0938287    total: 907ms    remaining: 482ms
156:    learn: 0.0927860    total: 912ms    remaining: 476ms
157:    learn: 0.0919435    total: 918ms    remaining: 471ms
158:    learn: 0.0908900    total: 923ms    remaining: 465ms
159:    learn: 0.0896659    total: 929ms    remaining: 459ms
160:    learn: 0.0888945    total: 934ms    remaining: 453ms
161:    learn: 0.0883440    total: 940ms    remaining: 447ms
162:    learn: 0.0876652    total: 945ms    remaining: 441ms
163:    learn: 0.0868736    total: 951ms    remaining: 435ms
164:    learn: 0.0861718    total: 956ms    remaining: 429ms
165:    learn: 0.0853501    total: 962ms    remaining: 423ms
166:    learn: 0.0846305    total: 968ms    remaining: 417ms
167:    learn: 0.0839222    total: 973ms    remaining: 411ms
168:    learn: 0.0829750    total: 978ms    remaining: 405ms
169:    learn: 0.0821191    total: 984ms    remaining: 399ms
170:    learn: 0.0816636    total: 989ms    remaining: 393ms
171:    learn: 0.0808823    total: 994ms    remaining: 387ms
172:    learn: 0.0800398    total: 1000ms   remaining: 382ms
173:    learn: 0.0791463    total: 1s   remaining: 376ms
174:    learn: 0.0784633    total: 1.01s    remaining: 370ms
175:    learn: 0.0778969    total: 1.02s    remaining: 364ms
176:    learn: 0.0769589    total: 1.02s    remaining: 358ms
177:    learn: 0.0762376    total: 1.03s    remaining: 352ms
178:    learn: 0.0752493    total: 1.03s    remaining: 346ms
179:    learn: 0.0749386    total: 1.04s    remaining: 340ms
180:    learn: 0.0744989    total: 1.04s    remaining: 335ms
181:    learn: 0.0740309    total: 1.05s    remaining: 329ms
182:    learn: 0.0733382    total: 1.05s    remaining: 323ms
183:    learn: 0.0727504    total: 1.06s    remaining: 317ms
184:    learn: 0.0720217    total: 1.06s    remaining: 311ms
185:    learn: 0.0714120    total: 1.07s    remaining: 306ms
186:    learn: 0.0705570    total: 1.08s    remaining: 300ms
187:    learn: 0.0699684    total: 1.09s    remaining: 295ms
188:    learn: 0.0694217    total: 1.09s    remaining: 289ms
189:    learn: 0.0685062    total: 1.1s remaining: 283ms
190:    learn: 0.0679194    total: 1.1s remaining: 277ms
191:    learn: 0.0675535    total: 1.11s    remaining: 271ms
192:    learn: 0.0670447    total: 1.11s    remaining: 265ms
193:    learn: 0.0665388    total: 1.12s    remaining: 259ms
194:    learn: 0.0659413    total: 1.12s    remaining: 254ms
195:    learn: 0.0655279    total: 1.13s    remaining: 248ms
196:    learn: 0.0651680    total: 1.14s    remaining: 242ms
197:    learn: 0.0647078    total: 1.14s    remaining: 236ms
198:    learn: 0.0640953    total: 1.15s    remaining: 230ms
199:    learn: 0.0634574    total: 1.15s    remaining: 225ms
200:    learn: 0.0632026    total: 1.16s    remaining: 219ms
201:    learn: 0.0627340    total: 1.16s    remaining: 213ms
202:    learn: 0.0623896    total: 1.17s    remaining: 207ms
203:    learn: 0.0618116    total: 1.17s    remaining: 201ms
204:    learn: 0.0612378    total: 1.18s    remaining: 196ms
205:    learn: 0.0608490    total: 1.18s    remaining: 190ms
206:    learn: 0.0604807    total: 1.19s    remaining: 184ms
207:    learn: 0.0599751    total: 1.2s remaining: 178ms
208:    learn: 0.0592519    total: 1.2s remaining: 172ms
209:    learn: 0.0588002    total: 1.21s    remaining: 167ms
210:    learn: 0.0580043    total: 1.21s    remaining: 161ms
211:    learn: 0.0575673    total: 1.22s    remaining: 155ms
212:    learn: 0.0570681    total: 1.22s    remaining: 149ms
213:    learn: 0.0566297    total: 1.23s    remaining: 143ms
214:    learn: 0.0561288    total: 1.23s    remaining: 138ms
215:    learn: 0.0556431    total: 1.24s    remaining: 132ms
216:    learn: 0.0552732    total: 1.25s    remaining: 126ms
217:    learn: 0.0548265    total: 1.25s    remaining: 120ms
218:    learn: 0.0541730    total: 1.26s    remaining: 115ms
219:    learn: 0.0537831    total: 1.26s    remaining: 109ms
220:    learn: 0.0535387    total: 1.27s    remaining: 103ms
221:    learn: 0.0532883    total: 1.27s    remaining: 97.6ms
222:    learn: 0.0527691    total: 1.28s    remaining: 92ms
223:    learn: 0.0524411    total: 1.29s    remaining: 86.4ms
224:    learn: 0.0518153    total: 1.3s remaining: 80.7ms
225:    learn: 0.0513492    total: 1.3s remaining: 75ms
226:    learn: 0.0510096    total: 1.31s    remaining: 69.2ms
227:    learn: 0.0506207    total: 1.31s    remaining: 63.4ms
228:    learn: 0.0501632    total: 1.32s    remaining: 57.6ms
229:    learn: 0.0497627    total: 1.32s    remaining: 51.9ms
230:    learn: 0.0492454    total: 1.33s    remaining: 46.1ms
231:    learn: 0.0488966    total: 1.34s    remaining: 40.3ms
232:    learn: 0.0485113    total: 1.34s    remaining: 34.6ms
233:    learn: 0.0482645    total: 1.35s    remaining: 28.8ms
234:    learn: 0.0479951    total: 1.35s    remaining: 23ms
235:    learn: 0.0475809    total: 1.36s    remaining: 17.3ms
236:    learn: 0.0471856    total: 1.36s    remaining: 11.5ms
237:    learn: 0.0468669    total: 1.37s    remaining: 5.75ms
238:    learn: 0.0464892    total: 1.37s    remaining: 0us

Mengevaluasi: ppk_impute_corr_XGBoost

Mengevaluasi: ppk_impute_corr_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 304, number of negative: 1628
[LightGBM] [Info] Total Bins 9834
[LightGBM] [Info] Number of data points in the train set: 1932, number of used features: 61
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.157350 -> initscore=-1.678080
[LightGBM] [Info] Start training from score -1.678080
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: ppk_impute_corr_CatBoost
0:  learn: 0.6431565    total: 32.7ms   remaining: 8.53s
1:  learn: 0.6049817    total: 55.9ms   remaining: 7.27s
2:  learn: 0.5698029    total: 81.6ms   remaining: 7.05s
3:  learn: 0.5394806    total: 107ms    remaining: 6.88s
4:  learn: 0.5142240    total: 129ms    remaining: 6.64s
5:  learn: 0.4936293    total: 151ms    remaining: 6.46s
6:  learn: 0.4762315    total: 174ms    remaining: 6.34s
7:  learn: 0.4605245    total: 197ms    remaining: 6.25s
8:  learn: 0.4437178    total: 217ms    remaining: 6.11s
9:  learn: 0.4297556    total: 242ms    remaining: 6.09s
10: learn: 0.4193353    total: 262ms    remaining: 5.99s
11: learn: 0.4091968    total: 285ms    remaining: 5.94s
12: learn: 0.4008577    total: 309ms    remaining: 5.92s
13: learn: 0.3913603    total: 333ms    remaining: 5.9s
14: learn: 0.3836159    total: 357ms    remaining: 5.88s
15: learn: 0.3765992    total: 382ms    remaining: 5.87s
16: learn: 0.3679130    total: 404ms    remaining: 5.82s
17: learn: 0.3608859    total: 429ms    remaining: 5.81s
18: learn: 0.3552844    total: 456ms    remaining: 5.83s
19: learn: 0.3496289    total: 477ms    remaining: 5.77s
20: learn: 0.3446605    total: 501ms    remaining: 5.75s
21: learn: 0.3391275    total: 525ms    remaining: 5.72s
22: learn: 0.3330747    total: 549ms    remaining: 5.7s
23: learn: 0.3278974    total: 571ms    remaining: 5.66s
24: learn: 0.3228530    total: 594ms    remaining: 5.63s
25: learn: 0.3181899    total: 617ms    remaining: 5.6s
26: learn: 0.3146920    total: 639ms    remaining: 5.57s
27: learn: 0.3114599    total: 665ms    remaining: 5.56s
28: learn: 0.3051715    total: 688ms    remaining: 5.53s
29: learn: 0.3010465    total: 711ms    remaining: 5.5s
30: learn: 0.2974687    total: 733ms    remaining: 5.46s
31: learn: 0.2942209    total: 756ms    remaining: 5.43s
32: learn: 0.2897734    total: 780ms    remaining: 5.41s
33: learn: 0.2832942    total: 803ms    remaining: 5.39s
34: learn: 0.2789591    total: 826ms    remaining: 5.36s
35: learn: 0.2763030    total: 848ms    remaining: 5.32s
36: learn: 0.2736553    total: 872ms    remaining: 5.3s
37: learn: 0.2705408    total: 897ms    remaining: 5.29s
38: learn: 0.2675522    total: 923ms    remaining: 5.28s
39: learn: 0.2643336    total: 943ms    remaining: 5.23s
40: learn: 0.2621393    total: 956ms    remaining: 5.15s
41: learn: 0.2584569    total: 969ms    remaining: 5.08s
42: learn: 0.2547891    total: 983ms    remaining: 5.01s
43: learn: 0.2526711    total: 998ms    remaining: 4.94s
44: learn: 0.2505463    total: 1.01s    remaining: 4.88s
45: learn: 0.2480274    total: 1.02s    remaining: 4.81s
46: learn: 0.2443022    total: 1.04s    remaining: 4.75s
47: learn: 0.2402282    total: 1.05s    remaining: 4.7s
48: learn: 0.2379989    total: 1.07s    remaining: 4.66s
49: learn: 0.2363879    total: 1.09s    remaining: 4.61s
50: learn: 0.2330938    total: 1.1s remaining: 4.55s
51: learn: 0.2308271    total: 1.11s    remaining: 4.5s
52: learn: 0.2275467    total: 1.13s    remaining: 4.45s
53: learn: 0.2254796    total: 1.14s    remaining: 4.39s
54: learn: 0.2215665    total: 1.15s    remaining: 4.34s
55: learn: 0.2188576    total: 1.17s    remaining: 4.3s
56: learn: 0.2165002    total: 1.18s    remaining: 4.25s
57: learn: 0.2151584    total: 1.2s remaining: 4.21s
58: learn: 0.2130344    total: 1.21s    remaining: 4.17s
59: learn: 0.2107991    total: 1.23s    remaining: 4.12s
60: learn: 0.2087378    total: 1.24s    remaining: 4.08s
61: learn: 0.2063021    total: 1.25s    remaining: 4.04s
62: learn: 0.2036427    total: 1.26s    remaining: 4s
63: learn: 0.2014174    total: 1.28s    remaining: 3.97s
64: learn: 0.1993658    total: 1.29s    remaining: 3.93s
65: learn: 0.1974260    total: 1.31s    remaining: 3.9s
66: learn: 0.1936975    total: 1.32s    remaining: 3.86s
67: learn: 0.1912976    total: 1.34s    remaining: 3.82s
68: learn: 0.1903460    total: 1.35s    remaining: 3.78s
69: learn: 0.1880752    total: 1.37s    remaining: 3.75s
70: learn: 0.1857196    total: 1.38s    remaining: 3.71s
71: learn: 0.1836343    total: 1.39s    remaining: 3.68s
72: learn: 0.1819516    total: 1.41s    remaining: 3.65s
73: learn: 0.1800126    total: 1.42s    remaining: 3.61s
74: learn: 0.1790060    total: 1.44s    remaining: 3.58s
75: learn: 0.1765918    total: 1.45s    remaining: 3.55s
76: learn: 0.1748990    total: 1.46s    remaining: 3.52s
77: learn: 0.1715404    total: 1.48s    remaining: 3.48s
78: learn: 0.1701575    total: 1.49s    remaining: 3.46s
79: learn: 0.1681483    total: 1.51s    remaining: 3.43s
80: learn: 0.1659712    total: 1.52s    remaining: 3.4s
81: learn: 0.1641693    total: 1.53s    remaining: 3.37s
82: learn: 0.1622024    total: 1.55s    remaining: 3.34s
83: learn: 0.1593396    total: 1.56s    remaining: 3.31s
84: learn: 0.1567360    total: 1.57s    remaining: 3.28s
85: learn: 0.1546795    total: 1.59s    remaining: 3.25s
86: learn: 0.1523124    total: 1.6s remaining: 3.23s
87: learn: 0.1504285    total: 1.62s    remaining: 3.2s
88: learn: 0.1489439    total: 1.63s    remaining: 3.17s
89: learn: 0.1469354    total: 1.64s    remaining: 3.14s
90: learn: 0.1461804    total: 1.66s    remaining: 3.12s
91: learn: 0.1443879    total: 1.67s    remaining: 3.09s
92: learn: 0.1433290    total: 1.69s    remaining: 3.06s
93: learn: 0.1413362    total: 1.7s remaining: 3.04s
94: learn: 0.1397617    total: 1.72s    remaining: 3.02s
95: learn: 0.1378815    total: 1.73s    remaining: 2.99s
96: learn: 0.1350774    total: 1.74s    remaining: 2.97s
97: learn: 0.1336873    total: 1.76s    remaining: 2.94s
98: learn: 0.1318533    total: 1.77s    remaining: 2.92s
99: learn: 0.1308221    total: 1.79s    remaining: 2.9s
100:    learn: 0.1296044    total: 1.8s remaining: 2.88s
101:    learn: 0.1281810    total: 1.82s    remaining: 2.85s
102:    learn: 0.1271498    total: 1.83s    remaining: 2.83s
103:    learn: 0.1258095    total: 1.85s    remaining: 2.8s
104:    learn: 0.1246676    total: 1.86s    remaining: 2.78s
105:    learn: 0.1224762    total: 1.87s    remaining: 2.75s
106:    learn: 0.1219574    total: 1.88s    remaining: 2.73s
107:    learn: 0.1205856    total: 1.9s remaining: 2.71s
108:    learn: 0.1187720    total: 1.92s    remaining: 2.69s
109:    learn: 0.1168683    total: 1.94s    remaining: 2.68s
110:    learn: 0.1154463    total: 1.96s    remaining: 2.67s
111:    learn: 0.1143716    total: 1.97s    remaining: 2.64s
112:    learn: 0.1131735    total: 1.99s    remaining: 2.62s
113:    learn: 0.1120488    total: 2s   remaining: 2.6s
114:    learn: 0.1106062    total: 2.02s    remaining: 2.58s
115:    learn: 0.1097012    total: 2.03s    remaining: 2.56s
116:    learn: 0.1089126    total: 2.04s    remaining: 2.53s
117:    learn: 0.1079998    total: 2.06s    remaining: 2.51s
118:    learn: 0.1066439    total: 2.07s    remaining: 2.49s
119:    learn: 0.1056254    total: 2.08s    remaining: 2.47s
120:    learn: 0.1043977    total: 2.1s remaining: 2.45s
121:    learn: 0.1037143    total: 2.11s    remaining: 2.43s
122:    learn: 0.1022513    total: 2.13s    remaining: 2.41s
123:    learn: 0.1009747    total: 2.15s    remaining: 2.39s
124:    learn: 0.1004140    total: 2.16s    remaining: 2.37s
125:    learn: 0.0997614    total: 2.17s    remaining: 2.34s
126:    learn: 0.0988907    total: 2.19s    remaining: 2.32s
127:    learn: 0.0978410    total: 2.2s remaining: 2.3s
128:    learn: 0.0966191    total: 2.21s    remaining: 2.28s
129:    learn: 0.0957495    total: 2.23s    remaining: 2.26s
130:    learn: 0.0946021    total: 2.24s    remaining: 2.24s
131:    learn: 0.0937054    total: 2.25s    remaining: 2.22s
132:    learn: 0.0929602    total: 2.27s    remaining: 2.2s
133:    learn: 0.0921237    total: 2.28s    remaining: 2.18s
134:    learn: 0.0913488    total: 2.3s remaining: 2.16s
135:    learn: 0.0901815    total: 2.31s    remaining: 2.14s
136:    learn: 0.0896990    total: 2.33s    remaining: 2.12s
137:    learn: 0.0885582    total: 2.34s    remaining: 2.1s
138:    learn: 0.0878932    total: 2.35s    remaining: 2.08s
139:    learn: 0.0868031    total: 2.37s    remaining: 2.06s
140:    learn: 0.0862179    total: 2.38s    remaining: 2.04s
141:    learn: 0.0854172    total: 2.4s remaining: 2.03s
142:    learn: 0.0845873    total: 2.41s    remaining: 2.01s
143:    learn: 0.0832889    total: 2.42s    remaining: 1.99s
144:    learn: 0.0821311    total: 2.44s    remaining: 1.97s
145:    learn: 0.0808614    total: 2.45s    remaining: 1.95s
146:    learn: 0.0801512    total: 2.46s    remaining: 1.93s
147:    learn: 0.0793296    total: 2.48s    remaining: 1.91s
148:    learn: 0.0786958    total: 2.49s    remaining: 1.89s
149:    learn: 0.0781021    total: 2.51s    remaining: 1.87s
150:    learn: 0.0769669    total: 2.52s    remaining: 1.85s
151:    learn: 0.0759785    total: 2.53s    remaining: 1.83s
152:    learn: 0.0751316    total: 2.55s    remaining: 1.81s
153:    learn: 0.0742987    total: 2.56s    remaining: 1.8s
154:    learn: 0.0735677    total: 2.58s    remaining: 1.78s
155:    learn: 0.0726576    total: 2.59s    remaining: 1.76s
156:    learn: 0.0719455    total: 2.61s    remaining: 1.74s
157:    learn: 0.0713847    total: 2.62s    remaining: 1.73s
158:    learn: 0.0707025    total: 2.63s    remaining: 1.71s
159:    learn: 0.0700395    total: 2.65s    remaining: 1.69s
160:    learn: 0.0692513    total: 2.66s    remaining: 1.67s
161:    learn: 0.0685148    total: 2.68s    remaining: 1.65s
162:    learn: 0.0678806    total: 2.69s    remaining: 1.64s
163:    learn: 0.0667356    total: 2.71s    remaining: 1.62s
164:    learn: 0.0657642    total: 2.72s    remaining: 1.6s
165:    learn: 0.0647357    total: 2.73s    remaining: 1.58s
166:    learn: 0.0639053    total: 2.75s    remaining: 1.56s
167:    learn: 0.0633293    total: 2.77s    remaining: 1.55s
168:    learn: 0.0627414    total: 2.79s    remaining: 1.53s
169:    learn: 0.0622827    total: 2.8s remaining: 1.51s
170:    learn: 0.0615259    total: 2.81s    remaining: 1.5s
171:    learn: 0.0610200    total: 2.83s    remaining: 1.48s
172:    learn: 0.0606611    total: 2.84s    remaining: 1.46s
173:    learn: 0.0602129    total: 2.86s    remaining: 1.44s
174:    learn: 0.0597564    total: 2.87s    remaining: 1.43s
175:    learn: 0.0590001    total: 2.88s    remaining: 1.41s
176:    learn: 0.0585754    total: 2.9s remaining: 1.39s
177:    learn: 0.0578662    total: 2.91s    remaining: 1.37s
178:    learn: 0.0572672    total: 2.93s    remaining: 1.36s
179:    learn: 0.0565488    total: 2.94s    remaining: 1.34s
180:    learn: 0.0559355    total: 2.96s    remaining: 1.32s
181:    learn: 0.0554079    total: 2.98s    remaining: 1.31s
182:    learn: 0.0547863    total: 3s   remaining: 1.29s
183:    learn: 0.0542036    total: 3.01s    remaining: 1.28s
184:    learn: 0.0539681    total: 3.03s    remaining: 1.26s
185:    learn: 0.0533741    total: 3.04s    remaining: 1.24s
186:    learn: 0.0529265    total: 3.06s    remaining: 1.23s
187:    learn: 0.0522239    total: 3.07s    remaining: 1.21s
188:    learn: 0.0517223    total: 3.08s    remaining: 1.19s
189:    learn: 0.0512438    total: 3.1s remaining: 1.17s
190:    learn: 0.0503397    total: 3.11s    remaining: 1.16s
191:    learn: 0.0500245    total: 3.12s    remaining: 1.14s
192:    learn: 0.0496127    total: 3.14s    remaining: 1.12s
193:    learn: 0.0488261    total: 3.15s    remaining: 1.1s
194:    learn: 0.0483169    total: 3.17s    remaining: 1.09s
195:    learn: 0.0479813    total: 3.18s    remaining: 1.07s
196:    learn: 0.0475683    total: 3.2s remaining: 1.05s
197:    learn: 0.0470493    total: 3.21s    remaining: 1.04s
198:    learn: 0.0465391    total: 3.22s    remaining: 1.02s
199:    learn: 0.0459068    total: 3.24s    remaining: 1s
200:    learn: 0.0454323    total: 3.25s    remaining: 987ms
201:    learn: 0.0450722    total: 3.27s    remaining: 970ms
202:    learn: 0.0444638    total: 3.28s    remaining: 954ms
203:    learn: 0.0440925    total: 3.29s    remaining: 937ms
204:    learn: 0.0438364    total: 3.31s    remaining: 920ms
205:    learn: 0.0433027    total: 3.32s    remaining: 903ms
206:    learn: 0.0426564    total: 3.33s    remaining: 886ms
207:    learn: 0.0422301    total: 3.35s    remaining: 870ms
208:    learn: 0.0419781    total: 3.36s    remaining: 853ms
209:    learn: 0.0414403    total: 3.38s    remaining: 837ms
210:    learn: 0.0412074    total: 3.4s remaining: 821ms
211:    learn: 0.0407076    total: 3.41s    remaining: 804ms
212:    learn: 0.0402913    total: 3.42s    remaining: 788ms
213:    learn: 0.0400391    total: 3.44s    remaining: 771ms
214:    learn: 0.0397493    total: 3.45s    remaining: 754ms
215:    learn: 0.0394772    total: 3.46s    remaining: 738ms
216:    learn: 0.0391713    total: 3.48s    remaining: 721ms
217:    learn: 0.0388557    total: 3.49s    remaining: 705ms
218:    learn: 0.0386036    total: 3.5s remaining: 688ms
219:    learn: 0.0384001    total: 3.52s    remaining: 672ms
220:    learn: 0.0382111    total: 3.54s    remaining: 656ms
221:    learn: 0.0378405    total: 3.55s    remaining: 639ms
222:    learn: 0.0375576    total: 3.56s    remaining: 623ms
223:    learn: 0.0371017    total: 3.58s    remaining: 607ms
224:    learn: 0.0367878    total: 3.59s    remaining: 591ms
225:    learn: 0.0365174    total: 3.6s remaining: 574ms
226:    learn: 0.0362744    total: 3.62s    remaining: 558ms
227:    learn: 0.0358976    total: 3.63s    remaining: 542ms
228:    learn: 0.0355040    total: 3.65s    remaining: 526ms
229:    learn: 0.0351719    total: 3.66s    remaining: 509ms
230:    learn: 0.0348180    total: 3.68s    remaining: 493ms
231:    learn: 0.0345895    total: 3.69s    remaining: 477ms
232:    learn: 0.0344650    total: 3.7s remaining: 461ms
233:    learn: 0.0342487    total: 3.72s    remaining: 445ms
234:    learn: 0.0338707    total: 3.73s    remaining: 429ms
235:    learn: 0.0336757    total: 3.74s    remaining: 413ms
236:    learn: 0.0333351    total: 3.76s    remaining: 396ms
237:    learn: 0.0330436    total: 3.77s    remaining: 381ms
238:    learn: 0.0327267    total: 3.79s    remaining: 364ms
239:    learn: 0.0324840    total: 3.8s remaining: 349ms
240:    learn: 0.0321955    total: 3.81s    remaining: 333ms
241:    learn: 0.0319729    total: 3.83s    remaining: 316ms
242:    learn: 0.0316321    total: 3.84s    remaining: 300ms
243:    learn: 0.0314969    total: 3.85s    remaining: 284ms
244:    learn: 0.0312461    total: 3.87s    remaining: 268ms
245:    learn: 0.0311000    total: 3.88s    remaining: 253ms
246:    learn: 0.0308474    total: 3.9s remaining: 237ms
247:    learn: 0.0305211    total: 3.91s    remaining: 221ms
248:    learn: 0.0300265    total: 3.92s    remaining: 205ms
249:    learn: 0.0299336    total: 3.94s    remaining: 189ms
250:    learn: 0.0298285    total: 3.95s    remaining: 173ms
251:    learn: 0.0295978    total: 3.96s    remaining: 157ms
252:    learn: 0.0293890    total: 3.98s    remaining: 142ms
253:    learn: 0.0292379    total: 4s   remaining: 126ms
254:    learn: 0.0289793    total: 4.02s    remaining: 110ms
255:    learn: 0.0287423    total: 4.04s    remaining: 94.7ms
256:    learn: 0.0285847    total: 4.05s    remaining: 78.9ms
257:    learn: 0.0283753    total: 4.07s    remaining: 63.1ms
258:    learn: 0.0282221    total: 4.08s    remaining: 47.3ms
259:    learn: 0.0280125    total: 4.09s    remaining: 31.5ms
260:    learn: 0.0277382    total: 4.11s    remaining: 15.7ms
261:    learn: 0.0274298    total: 4.12s    remaining: 0us

Mengevaluasi: ppk_impute_pca_XGBoost

Mengevaluasi: ppk_impute_pca_LightGBM
[LightGBM] [Info] Number of positive: 304, number of negative: 1628
[LightGBM] [Info] Total Bins 9690
[LightGBM] [Info] Number of data points in the train set: 1932, number of used features: 38
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.157350 -> initscore=-1.678080
[LightGBM] [Info] Start training from score -1.678080
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: ppk_impute_pca_CatBoost
0:  learn: 0.6567711    total: 9.9ms    remaining: 9.18s
1:  learn: 0.6254586    total: 20ms remaining: 9.26s
2:  learn: 0.5986271    total: 27.9ms   remaining: 8.62s
3:  learn: 0.5753224    total: 33.8ms   remaining: 7.81s
4:  learn: 0.5550056    total: 41.8ms   remaining: 7.71s
5:  learn: 0.5367123    total: 49.9ms   remaining: 7.67s
6:  learn: 0.5210313    total: 57.7ms   remaining: 7.6s
7:  learn: 0.5084789    total: 65.6ms   remaining: 7.54s
8:  learn: 0.4973992    total: 69.7ms   remaining: 7.12s
9:  learn: 0.4873245    total: 73.7ms   remaining: 6.76s
10: learn: 0.4791245    total: 77.2ms   remaining: 6.44s
11: learn: 0.4721810    total: 80.9ms   remaining: 6.18s
12: learn: 0.4661171    total: 84.6ms   remaining: 5.96s
13: learn: 0.4603419    total: 88.2ms   remaining: 5.76s
14: learn: 0.4551705    total: 92ms remaining: 5.6s
15: learn: 0.4512963    total: 95.7ms   remaining: 5.45s
16: learn: 0.4469080    total: 99.4ms   remaining: 5.33s
17: learn: 0.4432638    total: 103ms    remaining: 5.23s
18: learn: 0.4401569    total: 107ms    remaining: 5.12s
19: learn: 0.4373859    total: 111ms    remaining: 5.03s
20: learn: 0.4345779    total: 114ms    remaining: 4.94s
21: learn: 0.4324972    total: 118ms    remaining: 4.86s
22: learn: 0.4306951    total: 122ms    remaining: 4.79s
23: learn: 0.4287202    total: 126ms    remaining: 4.73s
24: learn: 0.4269119    total: 130ms    remaining: 4.69s
25: learn: 0.4255184    total: 134ms    remaining: 4.64s
26: learn: 0.4240624    total: 138ms    remaining: 4.6s
27: learn: 0.4229443    total: 142ms    remaining: 4.56s
28: learn: 0.4219278    total: 146ms    remaining: 4.52s
29: learn: 0.4209540    total: 150ms    remaining: 4.48s
30: learn: 0.4197280    total: 154ms    remaining: 4.45s
31: learn: 0.4185583    total: 158ms    remaining: 4.42s
32: learn: 0.4173472    total: 162ms    remaining: 4.38s
33: learn: 0.4160910    total: 165ms    remaining: 4.35s
34: learn: 0.4151337    total: 169ms    remaining: 4.32s
35: learn: 0.4136365    total: 173ms    remaining: 4.29s
36: learn: 0.4124348    total: 177ms    remaining: 4.26s
37: learn: 0.4114437    total: 181ms    remaining: 4.23s
38: learn: 0.4106016    total: 185ms    remaining: 4.21s
39: learn: 0.4098349    total: 189ms    remaining: 4.2s
40: learn: 0.4089591    total: 194ms    remaining: 4.19s
41: learn: 0.4084318    total: 198ms    remaining: 4.17s
42: learn: 0.4074431    total: 202ms    remaining: 4.16s
43: learn: 0.4068380    total: 206ms    remaining: 4.14s
44: learn: 0.4063540    total: 214ms    remaining: 4.19s
45: learn: 0.4053058    total: 218ms    remaining: 4.19s
46: learn: 0.4041201    total: 223ms    remaining: 4.17s
47: learn: 0.4032932    total: 227ms    remaining: 4.16s
48: learn: 0.4023087    total: 229ms    remaining: 4.12s
49: learn: 0.4017835    total: 234ms    remaining: 4.1s
50: learn: 0.4009675    total: 237ms    remaining: 4.08s
51: learn: 0.4003404    total: 242ms    remaining: 4.07s
52: learn: 0.3995798    total: 246ms    remaining: 4.06s
53: learn: 0.3989016    total: 250ms    remaining: 4.05s
54: learn: 0.3985610    total: 255ms    remaining: 4.04s
55: learn: 0.3977625    total: 259ms    remaining: 4.03s
56: learn: 0.3969619    total: 263ms    remaining: 4.02s
57: learn: 0.3965378    total: 268ms    remaining: 4.02s
58: learn: 0.3959836    total: 273ms    remaining: 4.02s
59: learn: 0.3950827    total: 277ms    remaining: 4.01s
60: learn: 0.3943339    total: 281ms    remaining: 3.99s
61: learn: 0.3937919    total: 285ms    remaining: 3.98s
62: learn: 0.3928801    total: 289ms    remaining: 3.97s
63: learn: 0.3919025    total: 295ms    remaining: 3.98s
64: learn: 0.3916815    total: 299ms    remaining: 3.97s
65: learn: 0.3909902    total: 303ms    remaining: 3.96s
66: learn: 0.3906203    total: 308ms    remaining: 3.95s
67: learn: 0.3901402    total: 312ms    remaining: 3.94s
68: learn: 0.3897492    total: 316ms    remaining: 3.94s
69: learn: 0.3893244    total: 322ms    remaining: 3.95s
70: learn: 0.3885045    total: 327ms    remaining: 3.95s
71: learn: 0.3879942    total: 331ms    remaining: 3.94s
72: learn: 0.3873701    total: 334ms    remaining: 3.91s
73: learn: 0.3863802    total: 338ms    remaining: 3.9s
74: learn: 0.3858690    total: 342ms    remaining: 3.89s
75: learn: 0.3850946    total: 347ms    remaining: 3.88s
76: learn: 0.3847306    total: 351ms    remaining: 3.88s
77: learn: 0.3842408    total: 355ms    remaining: 3.87s
78: learn: 0.3832894    total: 360ms    remaining: 3.87s
79: learn: 0.3828127    total: 364ms    remaining: 3.86s
80: learn: 0.3823047    total: 368ms    remaining: 3.85s
81: learn: 0.3815270    total: 374ms    remaining: 3.86s
82: learn: 0.3806967    total: 379ms    remaining: 3.85s
83: learn: 0.3800990    total: 383ms    remaining: 3.85s
84: learn: 0.3795748    total: 387ms    remaining: 3.84s
85: learn: 0.3789246    total: 391ms    remaining: 3.83s
86: learn: 0.3781577    total: 395ms    remaining: 3.82s
87: learn: 0.3776338    total: 400ms    remaining: 3.81s
88: learn: 0.3767979    total: 406ms    remaining: 3.83s
89: learn: 0.3764278    total: 410ms    remaining: 3.82s
90: learn: 0.3754835    total: 415ms    remaining: 3.82s
91: learn: 0.3751747    total: 419ms    remaining: 3.81s
92: learn: 0.3748153    total: 422ms    remaining: 3.79s
93: learn: 0.3739673    total: 426ms    remaining: 3.78s
94: learn: 0.3737545    total: 430ms    remaining: 3.77s
95: learn: 0.3730073    total: 435ms    remaining: 3.77s
96: learn: 0.3725639    total: 439ms    remaining: 3.76s
97: learn: 0.3718082    total: 443ms    remaining: 3.75s
98: learn: 0.3708636    total: 447ms    remaining: 3.74s
99: learn: 0.3702489    total: 451ms    remaining: 3.73s
100:    learn: 0.3693326    total: 455ms    remaining: 3.73s
101:    learn: 0.3687071    total: 460ms    remaining: 3.72s
102:    learn: 0.3684116    total: 464ms    remaining: 3.71s
103:    learn: 0.3678962    total: 468ms    remaining: 3.71s
104:    learn: 0.3672822    total: 472ms    remaining: 3.7s
105:    learn: 0.3668232    total: 476ms    remaining: 3.69s
106:    learn: 0.3663636    total: 480ms    remaining: 3.68s
107:    learn: 0.3657802    total: 484ms    remaining: 3.67s
108:    learn: 0.3649885    total: 488ms    remaining: 3.67s
109:    learn: 0.3644532    total: 492ms    remaining: 3.66s
110:    learn: 0.3641165    total: 496ms    remaining: 3.65s
111:    learn: 0.3632545    total: 500ms    remaining: 3.65s
112:    learn: 0.3627436    total: 504ms    remaining: 3.64s
113:    learn: 0.3621074    total: 509ms    remaining: 3.63s
114:    learn: 0.3615942    total: 512ms    remaining: 3.62s
115:    learn: 0.3611417    total: 517ms    remaining: 3.62s
116:    learn: 0.3607838    total: 521ms    remaining: 3.61s
117:    learn: 0.3601476    total: 524ms    remaining: 3.6s
118:    learn: 0.3594520    total: 528ms    remaining: 3.59s
119:    learn: 0.3586552    total: 532ms    remaining: 3.58s
120:    learn: 0.3580518    total: 536ms    remaining: 3.58s
121:    learn: 0.3576122    total: 540ms    remaining: 3.57s
122:    learn: 0.3566411    total: 544ms    remaining: 3.56s
123:    learn: 0.3564813    total: 548ms    remaining: 3.56s
124:    learn: 0.3558714    total: 552ms    remaining: 3.55s
125:    learn: 0.3552485    total: 556ms    remaining: 3.54s
126:    learn: 0.3543617    total: 560ms    remaining: 3.53s
127:    learn: 0.3538808    total: 564ms    remaining: 3.53s
128:    learn: 0.3533423    total: 568ms    remaining: 3.52s
129:    learn: 0.3526010    total: 573ms    remaining: 3.51s
130:    learn: 0.3518339    total: 577ms    remaining: 3.51s
131:    learn: 0.3515370    total: 581ms    remaining: 3.5s
132:    learn: 0.3513598    total: 585ms    remaining: 3.49s
133:    learn: 0.3506515    total: 589ms    remaining: 3.49s
134:    learn: 0.3503966    total: 592ms    remaining: 3.48s
135:    learn: 0.3498238    total: 597ms    remaining: 3.47s
136:    learn: 0.3491366    total: 600ms    remaining: 3.47s
137:    learn: 0.3489501    total: 604ms    remaining: 3.46s
138:    learn: 0.3483214    total: 611ms    remaining: 3.47s
139:    learn: 0.3479062    total: 616ms    remaining: 3.47s
140:    learn: 0.3471393    total: 622ms    remaining: 3.47s
141:    learn: 0.3466226    total: 626ms    remaining: 3.46s
142:    learn: 0.3459645    total: 630ms    remaining: 3.46s
143:    learn: 0.3451307    total: 634ms    remaining: 3.45s
144:    learn: 0.3443967    total: 638ms    remaining: 3.45s
145:    learn: 0.3436363    total: 643ms    remaining: 3.44s
146:    learn: 0.3431131    total: 647ms    remaining: 3.44s
147:    learn: 0.3426734    total: 651ms    remaining: 3.43s
148:    learn: 0.3424302    total: 655ms    remaining: 3.42s
149:    learn: 0.3416103    total: 659ms    remaining: 3.42s
150:    learn: 0.3411008    total: 663ms    remaining: 3.41s
151:    learn: 0.3403570    total: 667ms    remaining: 3.4s
152:    learn: 0.3395347    total: 671ms    remaining: 3.4s
153:    learn: 0.3391551    total: 675ms    remaining: 3.39s
154:    learn: 0.3384437    total: 679ms    remaining: 3.38s
155:    learn: 0.3380974    total: 683ms    remaining: 3.38s
156:    learn: 0.3369892    total: 687ms    remaining: 3.37s
157:    learn: 0.3360759    total: 691ms    remaining: 3.37s
158:    learn: 0.3356341    total: 695ms    remaining: 3.36s
159:    learn: 0.3348924    total: 699ms    remaining: 3.36s
160:    learn: 0.3344322    total: 703ms    remaining: 3.35s
161:    learn: 0.3337747    total: 708ms    remaining: 3.35s
162:    learn: 0.3330839    total: 712ms    remaining: 3.34s
163:    learn: 0.3328098    total: 716ms    remaining: 3.33s
164:    learn: 0.3324492    total: 719ms    remaining: 3.33s
165:    learn: 0.3316555    total: 723ms    remaining: 3.32s
166:    learn: 0.3313048    total: 727ms    remaining: 3.31s
167:    learn: 0.3310949    total: 732ms    remaining: 3.31s
168:    learn: 0.3308320    total: 738ms    remaining: 3.31s
169:    learn: 0.3302405    total: 742ms    remaining: 3.31s
170:    learn: 0.3300524    total: 748ms    remaining: 3.31s
171:    learn: 0.3292780    total: 753ms    remaining: 3.31s
172:    learn: 0.3288797    total: 758ms    remaining: 3.31s
173:    learn: 0.3285783    total: 764ms    remaining: 3.31s
174:    learn: 0.3280315    total: 770ms    remaining: 3.31s
175:    learn: 0.3277461    total: 776ms    remaining: 3.31s
176:    learn: 0.3271444    total: 780ms    remaining: 3.31s
177:    learn: 0.3268815    total: 785ms    remaining: 3.31s
178:    learn: 0.3263391    total: 790ms    remaining: 3.31s
179:    learn: 0.3256936    total: 795ms    remaining: 3.31s
180:    learn: 0.3252388    total: 802ms    remaining: 3.31s
181:    learn: 0.3246505    total: 806ms    remaining: 3.3s
182:    learn: 0.3244179    total: 812ms    remaining: 3.31s
183:    learn: 0.3238921    total: 819ms    remaining: 3.31s
184:    learn: 0.3235262    total: 823ms    remaining: 3.31s
185:    learn: 0.3228510    total: 829ms    remaining: 3.31s
186:    learn: 0.3225861    total: 833ms    remaining: 3.3s
187:    learn: 0.3219057    total: 838ms    remaining: 3.3s
188:    learn: 0.3215578    total: 843ms    remaining: 3.29s
189:    learn: 0.3208633    total: 847ms    remaining: 3.29s
190:    learn: 0.3204163    total: 851ms    remaining: 3.28s
191:    learn: 0.3199172    total: 856ms    remaining: 3.28s
192:    learn: 0.3193999    total: 860ms    remaining: 3.27s
193:    learn: 0.3189359    total: 866ms    remaining: 3.28s
194:    learn: 0.3182969    total: 870ms    remaining: 3.27s
195:    learn: 0.3176028    total: 874ms    remaining: 3.27s
196:    learn: 0.3170589    total: 878ms    remaining: 3.26s
197:    learn: 0.3164707    total: 882ms    remaining: 3.25s
198:    learn: 0.3161224    total: 887ms    remaining: 3.25s
199:    learn: 0.3155639    total: 891ms    remaining: 3.24s
200:    learn: 0.3153300    total: 895ms    remaining: 3.24s
201:    learn: 0.3146729    total: 899ms    remaining: 3.23s
202:    learn: 0.3142746    total: 903ms    remaining: 3.22s
203:    learn: 0.3137021    total: 907ms    remaining: 3.22s
204:    learn: 0.3132264    total: 911ms    remaining: 3.21s
205:    learn: 0.3127005    total: 915ms    remaining: 3.21s
206:    learn: 0.3125894    total: 919ms    remaining: 3.2s
207:    learn: 0.3120909    total: 923ms    remaining: 3.19s
208:    learn: 0.3113563    total: 927ms    remaining: 3.19s
209:    learn: 0.3111290    total: 931ms    remaining: 3.18s
210:    learn: 0.3103609    total: 935ms    remaining: 3.18s
211:    learn: 0.3096868    total: 939ms    remaining: 3.17s
212:    learn: 0.3092151    total: 943ms    remaining: 3.16s
213:    learn: 0.3085842    total: 947ms    remaining: 3.16s
214:    learn: 0.3083877    total: 951ms    remaining: 3.15s
215:    learn: 0.3081874    total: 955ms    remaining: 3.15s
216:    learn: 0.3077328    total: 959ms    remaining: 3.14s
217:    learn: 0.3073530    total: 963ms    remaining: 3.14s
218:    learn: 0.3067063    total: 967ms    remaining: 3.13s
219:    learn: 0.3062199    total: 971ms    remaining: 3.12s
220:    learn: 0.3059502    total: 975ms    remaining: 3.12s
221:    learn: 0.3052900    total: 979ms    remaining: 3.11s
222:    learn: 0.3048180    total: 983ms    remaining: 3.11s
223:    learn: 0.3045782    total: 987ms    remaining: 3.1s
224:    learn: 0.3040993    total: 991ms    remaining: 3.1s
225:    learn: 0.3038323    total: 995ms    remaining: 3.09s
226:    learn: 0.3031820    total: 999ms    remaining: 3.08s
227:    learn: 0.3027894    total: 1s   remaining: 3.08s
228:    learn: 0.3022433    total: 1.01s    remaining: 3.07s
229:    learn: 0.3017689    total: 1.01s    remaining: 3.07s
230:    learn: 0.3010062    total: 1.02s    remaining: 3.07s
231:    learn: 0.3008030    total: 1.02s    remaining: 3.07s
232:    learn: 0.3000781    total: 1.03s    remaining: 3.06s
233:    learn: 0.2999027    total: 1.03s    remaining: 3.06s
234:    learn: 0.2993468    total: 1.03s    remaining: 3.05s
235:    learn: 0.2986000    total: 1.04s    remaining: 3.04s
236:    learn: 0.2980488    total: 1.04s    remaining: 3.04s
237:    learn: 0.2972024    total: 1.05s    remaining: 3.03s
238:    learn: 0.2965563    total: 1.05s    remaining: 3.03s
239:    learn: 0.2959530    total: 1.05s    remaining: 3.02s
240:    learn: 0.2956836    total: 1.06s    remaining: 3.02s
241:    learn: 0.2951801    total: 1.06s    remaining: 3.01s
242:    learn: 0.2949595    total: 1.07s    remaining: 3.01s
243:    learn: 0.2944770    total: 1.07s    remaining: 3s
244:    learn: 0.2941996    total: 1.07s    remaining: 2.99s
245:    learn: 0.2937412    total: 1.08s    remaining: 2.99s
246:    learn: 0.2931879    total: 1.08s    remaining: 2.98s
247:    learn: 0.2928918    total: 1.08s    remaining: 2.98s
248:    learn: 0.2925279    total: 1.09s    remaining: 2.97s
249:    learn: 0.2918506    total: 1.09s    remaining: 2.96s
250:    learn: 0.2912761    total: 1.1s remaining: 2.96s
251:    learn: 0.2909262    total: 1.1s remaining: 2.95s
252:    learn: 0.2903839    total: 1.1s remaining: 2.95s
253:    learn: 0.2899245    total: 1.11s    remaining: 2.94s
254:    learn: 0.2892226    total: 1.11s    remaining: 2.93s
255:    learn: 0.2886896    total: 1.11s    remaining: 2.93s
256:    learn: 0.2880434    total: 1.12s    remaining: 2.92s
257:    learn: 0.2876224    total: 1.12s    remaining: 2.92s
258:    learn: 0.2871165    total: 1.13s    remaining: 2.91s
259:    learn: 0.2864274    total: 1.13s    remaining: 2.9s
260:    learn: 0.2861096    total: 1.13s    remaining: 2.9s
261:    learn: 0.2856594    total: 1.14s    remaining: 2.89s
262:    learn: 0.2851204    total: 1.14s    remaining: 2.89s
263:    learn: 0.2849834    total: 1.15s    remaining: 2.88s
264:    learn: 0.2844896    total: 1.15s    remaining: 2.87s
265:    learn: 0.2840691    total: 1.15s    remaining: 2.87s
266:    learn: 0.2838551    total: 1.16s    remaining: 2.86s
267:    learn: 0.2833955    total: 1.16s    remaining: 2.86s
268:    learn: 0.2828731    total: 1.16s    remaining: 2.85s
269:    learn: 0.2826546    total: 1.17s    remaining: 2.84s
270:    learn: 0.2819763    total: 1.17s    remaining: 2.84s
271:    learn: 0.2816031    total: 1.17s    remaining: 2.83s
272:    learn: 0.2811860    total: 1.18s    remaining: 2.83s
273:    learn: 0.2807897    total: 1.18s    remaining: 2.82s
274:    learn: 0.2804017    total: 1.19s    remaining: 2.81s
275:    learn: 0.2799750    total: 1.19s    remaining: 2.81s
276:    learn: 0.2796176    total: 1.19s    remaining: 2.8s
277:    learn: 0.2794903    total: 1.2s remaining: 2.8s
278:    learn: 0.2790125    total: 1.2s remaining: 2.79s
279:    learn: 0.2786031    total: 1.2s remaining: 2.79s
280:    learn: 0.2780665    total: 1.21s    remaining: 2.78s
281:    learn: 0.2775567    total: 1.21s    remaining: 2.78s
282:    learn: 0.2769214    total: 1.22s    remaining: 2.77s
283:    learn: 0.2760614    total: 1.22s    remaining: 2.77s
284:    learn: 0.2755994    total: 1.22s    remaining: 2.76s
285:    learn: 0.2752277    total: 1.23s    remaining: 2.75s
286:    learn: 0.2748438    total: 1.23s    remaining: 2.75s
287:    learn: 0.2746166    total: 1.23s    remaining: 2.74s
288:    learn: 0.2739140    total: 1.24s    remaining: 2.74s
289:    learn: 0.2733619    total: 1.24s    remaining: 2.73s
290:    learn: 0.2729155    total: 1.25s    remaining: 2.73s
291:    learn: 0.2723828    total: 1.25s    remaining: 2.72s
292:    learn: 0.2721036    total: 1.25s    remaining: 2.71s
293:    learn: 0.2717766    total: 1.26s    remaining: 2.71s
294:    learn: 0.2713981    total: 1.26s    remaining: 2.7s
295:    learn: 0.2708902    total: 1.26s    remaining: 2.7s
296:    learn: 0.2705989    total: 1.27s    remaining: 2.69s
297:    learn: 0.2702044    total: 1.27s    remaining: 2.69s
298:    learn: 0.2696640    total: 1.27s    remaining: 2.68s
299:    learn: 0.2691182    total: 1.28s    remaining: 2.68s
300:    learn: 0.2687011    total: 1.28s    remaining: 2.67s
301:    learn: 0.2680503    total: 1.29s    remaining: 2.67s
302:    learn: 0.2677864    total: 1.29s    remaining: 2.66s
303:    learn: 0.2671045    total: 1.29s    remaining: 2.65s
304:    learn: 0.2667375    total: 1.3s remaining: 2.65s
305:    learn: 0.2661246    total: 1.3s remaining: 2.64s
306:    learn: 0.2653435    total: 1.3s remaining: 2.64s
307:    learn: 0.2650844    total: 1.31s    remaining: 2.63s
308:    learn: 0.2648430    total: 1.31s    remaining: 2.63s
309:    learn: 0.2642737    total: 1.32s    remaining: 2.63s
310:    learn: 0.2641597    total: 1.32s    remaining: 2.62s
311:    learn: 0.2636512    total: 1.32s    remaining: 2.61s
312:    learn: 0.2633140    total: 1.33s    remaining: 2.61s
313:    learn: 0.2628097    total: 1.33s    remaining: 2.6s
314:    learn: 0.2622007    total: 1.33s    remaining: 2.6s
315:    learn: 0.2617502    total: 1.34s    remaining: 2.59s
316:    learn: 0.2612671    total: 1.34s    remaining: 2.59s
317:    learn: 0.2611421    total: 1.35s    remaining: 2.58s
318:    learn: 0.2609339    total: 1.35s    remaining: 2.58s
319:    learn: 0.2607429    total: 1.35s    remaining: 2.57s
320:    learn: 0.2603338    total: 1.36s    remaining: 2.57s
321:    learn: 0.2598602    total: 1.36s    remaining: 2.56s
322:    learn: 0.2596128    total: 1.36s    remaining: 2.56s
323:    learn: 0.2594310    total: 1.37s    remaining: 2.55s
324:    learn: 0.2591645    total: 1.37s    remaining: 2.55s
325:    learn: 0.2589707    total: 1.38s    remaining: 2.54s
326:    learn: 0.2584866    total: 1.38s    remaining: 2.54s
327:    learn: 0.2580727    total: 1.38s    remaining: 2.53s
328:    learn: 0.2575870    total: 1.39s    remaining: 2.53s
329:    learn: 0.2571441    total: 1.39s    remaining: 2.52s
330:    learn: 0.2566189    total: 1.4s remaining: 2.52s
331:    learn: 0.2561709    total: 1.4s remaining: 2.51s
332:    learn: 0.2559116    total: 1.4s remaining: 2.5s
333:    learn: 0.2554623    total: 1.41s    remaining: 2.5s
334:    learn: 0.2551329    total: 1.41s    remaining: 2.5s
335:    learn: 0.2547169    total: 1.42s    remaining: 2.5s
336:    learn: 0.2544815    total: 1.42s    remaining: 2.49s
337:    learn: 0.2540374    total: 1.42s    remaining: 2.49s
338:    learn: 0.2535928    total: 1.43s    remaining: 2.48s
339:    learn: 0.2533202    total: 1.43s    remaining: 2.48s
340:    learn: 0.2528904    total: 1.44s    remaining: 2.47s
341:    learn: 0.2524724    total: 1.44s    remaining: 2.47s
342:    learn: 0.2520319    total: 1.44s    remaining: 2.46s
343:    learn: 0.2515787    total: 1.45s    remaining: 2.46s
344:    learn: 0.2513438    total: 1.45s    remaining: 2.45s
345:    learn: 0.2509726    total: 1.45s    remaining: 2.44s
346:    learn: 0.2503547    total: 1.46s    remaining: 2.44s
347:    learn: 0.2501097    total: 1.46s    remaining: 2.44s
348:    learn: 0.2498823    total: 1.46s    remaining: 2.43s
349:    learn: 0.2494925    total: 1.47s    remaining: 2.42s
350:    learn: 0.2490882    total: 1.47s    remaining: 2.42s
351:    learn: 0.2485415    total: 1.48s    remaining: 2.42s
352:    learn: 0.2481644    total: 1.48s    remaining: 2.41s
353:    learn: 0.2480590    total: 1.48s    remaining: 2.4s
354:    learn: 0.2476288    total: 1.49s    remaining: 2.4s
355:    learn: 0.2472134    total: 1.49s    remaining: 2.4s
356:    learn: 0.2469462    total: 1.49s    remaining: 2.39s
357:    learn: 0.2464845    total: 1.5s remaining: 2.38s
358:    learn: 0.2460503    total: 1.5s remaining: 2.38s
359:    learn: 0.2454579    total: 1.51s    remaining: 2.38s
360:    learn: 0.2451828    total: 1.51s    remaining: 2.37s
361:    learn: 0.2446938    total: 1.51s    remaining: 2.37s
362:    learn: 0.2442908    total: 1.52s    remaining: 2.36s
363:    learn: 0.2439533    total: 1.52s    remaining: 2.36s
364:    learn: 0.2435666    total: 1.52s    remaining: 2.35s
365:    learn: 0.2434256    total: 1.53s    remaining: 2.35s
366:    learn: 0.2429347    total: 1.53s    remaining: 2.34s
367:    learn: 0.2427498    total: 1.53s    remaining: 2.34s
368:    learn: 0.2423818    total: 1.54s    remaining: 2.33s
369:    learn: 0.2421128    total: 1.54s    remaining: 2.33s
370:    learn: 0.2415423    total: 1.55s    remaining: 2.32s
371:    learn: 0.2410455    total: 1.55s    remaining: 2.32s
372:    learn: 0.2409045    total: 1.55s    remaining: 2.31s
373:    learn: 0.2408044    total: 1.56s    remaining: 2.31s
374:    learn: 0.2405712    total: 1.56s    remaining: 2.3s
375:    learn: 0.2402348    total: 1.56s    remaining: 2.3s
376:    learn: 0.2400784    total: 1.57s    remaining: 2.29s
377:    learn: 0.2397942    total: 1.57s    remaining: 2.29s
378:    learn: 0.2396202    total: 1.57s    remaining: 2.28s
379:    learn: 0.2392496    total: 1.58s    remaining: 2.28s
380:    learn: 0.2389203    total: 1.58s    remaining: 2.27s
381:    learn: 0.2385995    total: 1.59s    remaining: 2.27s
382:    learn: 0.2380952    total: 1.59s    remaining: 2.26s
383:    learn: 0.2375545    total: 1.59s    remaining: 2.26s
384:    learn: 0.2371444    total: 1.6s remaining: 2.25s
385:    learn: 0.2370484    total: 1.6s remaining: 2.25s
386:    learn: 0.2367802    total: 1.6s remaining: 2.24s
387:    learn: 0.2365098    total: 1.61s    remaining: 2.24s
388:    learn: 0.2362571    total: 1.62s    remaining: 2.24s
389:    learn: 0.2359495    total: 1.62s    remaining: 2.23s
390:    learn: 0.2355892    total: 1.62s    remaining: 2.23s
391:    learn: 0.2352910    total: 1.63s    remaining: 2.23s
392:    learn: 0.2348885    total: 1.63s    remaining: 2.22s
393:    learn: 0.2345522    total: 1.64s    remaining: 2.22s
394:    learn: 0.2340325    total: 1.64s    remaining: 2.21s
395:    learn: 0.2336558    total: 1.64s    remaining: 2.21s
396:    learn: 0.2334041    total: 1.65s    remaining: 2.2s
397:    learn: 0.2331645    total: 1.65s    remaining: 2.2s
398:    learn: 0.2329121    total: 1.65s    remaining: 2.19s
399:    learn: 0.2325436    total: 1.66s    remaining: 2.19s
400:    learn: 0.2322602    total: 1.66s    remaining: 2.18s
401:    learn: 0.2318904    total: 1.66s    remaining: 2.18s
402:    learn: 0.2317684    total: 1.67s    remaining: 2.17s
403:    learn: 0.2313656    total: 1.67s    remaining: 2.17s
404:    learn: 0.2311870    total: 1.68s    remaining: 2.16s
405:    learn: 0.2311003    total: 1.68s    remaining: 2.16s
406:    learn: 0.2309354    total: 1.68s    remaining: 2.15s
407:    learn: 0.2305921    total: 1.69s    remaining: 2.15s
408:    learn: 0.2304745    total: 1.69s    remaining: 2.15s
409:    learn: 0.2303048    total: 1.69s    remaining: 2.14s
410:    learn: 0.2300178    total: 1.7s remaining: 2.13s
411:    learn: 0.2297067    total: 1.7s remaining: 2.13s
412:    learn: 0.2294155    total: 1.71s    remaining: 2.13s
413:    learn: 0.2288613    total: 1.71s    remaining: 2.12s
414:    learn: 0.2282238    total: 1.71s    remaining: 2.12s
415:    learn: 0.2277418    total: 1.72s    remaining: 2.11s
416:    learn: 0.2272565    total: 1.72s    remaining: 2.11s
417:    learn: 0.2271747    total: 1.72s    remaining: 2.1s
418:    learn: 0.2267546    total: 1.73s    remaining: 2.1s
419:    learn: 0.2266936    total: 1.73s    remaining: 2.09s
420:    learn: 0.2265379    total: 1.74s    remaining: 2.09s
421:    learn: 0.2263070    total: 1.74s    remaining: 2.08s
422:    learn: 0.2259897    total: 1.74s    remaining: 2.08s
423:    learn: 0.2255037    total: 1.75s    remaining: 2.08s
424:    learn: 0.2251487    total: 1.75s    remaining: 2.07s
425:    learn: 0.2247477    total: 1.76s    remaining: 2.07s
426:    learn: 0.2244416    total: 1.76s    remaining: 2.07s
427:    learn: 0.2240863    total: 1.76s    remaining: 2.06s
428:    learn: 0.2236744    total: 1.77s    remaining: 2.06s
429:    learn: 0.2232452    total: 1.77s    remaining: 2.05s
430:    learn: 0.2231289    total: 1.78s    remaining: 2.05s
431:    learn: 0.2228453    total: 1.78s    remaining: 2.05s
432:    learn: 0.2225873    total: 1.79s    remaining: 2.04s
433:    learn: 0.2225127    total: 1.79s    remaining: 2.04s
434:    learn: 0.2222578    total: 1.8s remaining: 2.04s
435:    learn: 0.2220557    total: 1.8s remaining: 2.03s
436:    learn: 0.2217036    total: 1.8s remaining: 2.03s
437:    learn: 0.2213039    total: 1.81s    remaining: 2.03s
438:    learn: 0.2211686    total: 1.82s    remaining: 2.03s
439:    learn: 0.2207693    total: 1.82s    remaining: 2.02s
440:    learn: 0.2203977    total: 1.83s    remaining: 2.02s
441:    learn: 0.2201965    total: 1.83s    remaining: 2.01s
442:    learn: 0.2200366    total: 1.83s    remaining: 2.01s
443:    learn: 0.2199759    total: 1.84s    remaining: 2s
444:    learn: 0.2196648    total: 1.85s    remaining: 2s
445:    learn: 0.2195472    total: 1.85s    remaining: 2s
446:    learn: 0.2193715    total: 1.85s    remaining: 2s
447:    learn: 0.2189975    total: 1.86s    remaining: 1.99s
448:    learn: 0.2187854    total: 1.86s    remaining: 1.99s
449:    learn: 0.2184127    total: 1.87s    remaining: 1.98s
450:    learn: 0.2182726    total: 1.87s    remaining: 1.98s
451:    learn: 0.2181277    total: 1.88s    remaining: 1.97s
452:    learn: 0.2178191    total: 1.88s    remaining: 1.97s
453:    learn: 0.2174221    total: 1.88s    remaining: 1.97s
454:    learn: 0.2171930    total: 1.89s    remaining: 1.96s
455:    learn: 0.2167966    total: 1.89s    remaining: 1.96s
456:    learn: 0.2165385    total: 1.9s remaining: 1.95s
457:    learn: 0.2162128    total: 1.9s remaining: 1.95s
458:    learn: 0.2159326    total: 1.91s    remaining: 1.95s
459:    learn: 0.2155631    total: 1.91s    remaining: 1.94s
460:    learn: 0.2152390    total: 1.91s    remaining: 1.94s
461:    learn: 0.2148192    total: 1.92s    remaining: 1.93s
462:    learn: 0.2147670    total: 1.92s    remaining: 1.93s
463:    learn: 0.2144761    total: 1.93s    remaining: 1.93s
464:    learn: 0.2142330    total: 1.93s    remaining: 1.92s
465:    learn: 0.2137063    total: 1.93s    remaining: 1.92s
466:    learn: 0.2133539    total: 1.94s    remaining: 1.91s
467:    learn: 0.2129421    total: 1.94s    remaining: 1.91s
468:    learn: 0.2128106    total: 1.95s    remaining: 1.91s
469:    learn: 0.2123372    total: 1.95s    remaining: 1.9s
470:    learn: 0.2119482    total: 1.95s    remaining: 1.9s
471:    learn: 0.2116343    total: 1.96s    remaining: 1.89s
472:    learn: 0.2113100    total: 1.96s    remaining: 1.89s
473:    learn: 0.2109991    total: 1.97s    remaining: 1.88s
474:    learn: 0.2107891    total: 1.97s    remaining: 1.88s
475:    learn: 0.2104699    total: 1.97s    remaining: 1.87s
476:    learn: 0.2102670    total: 1.98s    remaining: 1.87s
477:    learn: 0.2102110    total: 1.98s    remaining: 1.86s
478:    learn: 0.2100308    total: 1.98s    remaining: 1.86s
479:    learn: 0.2097775    total: 1.99s    remaining: 1.85s
480:    learn: 0.2094094    total: 1.99s    remaining: 1.85s
481:    learn: 0.2092555    total: 2s   remaining: 1.85s
482:    learn: 0.2090509    total: 2s   remaining: 1.84s
483:    learn: 0.2089984    total: 2s   remaining: 1.84s
484:    learn: 0.2087346    total: 2.01s    remaining: 1.83s
485:    learn: 0.2085020    total: 2.01s    remaining: 1.83s
486:    learn: 0.2083244    total: 2.02s    remaining: 1.82s
487:    learn: 0.2080539    total: 2.02s    remaining: 1.82s
488:    learn: 0.2078495    total: 2.02s    remaining: 1.82s
489:    learn: 0.2075510    total: 2.03s    remaining: 1.81s
490:    learn: 0.2072622    total: 2.03s    remaining: 1.81s
491:    learn: 0.2068937    total: 2.04s    remaining: 1.8s
492:    learn: 0.2066829    total: 2.04s    remaining: 1.8s
493:    learn: 0.2064290    total: 2.04s    remaining: 1.79s
494:    learn: 0.2060992    total: 2.05s    remaining: 1.79s
495:    learn: 0.2059320    total: 2.05s    remaining: 1.79s
496:    learn: 0.2056693    total: 2.05s    remaining: 1.78s
497:    learn: 0.2054977    total: 2.06s    remaining: 1.78s
498:    learn: 0.2053870    total: 2.06s    remaining: 1.77s
499:    learn: 0.2052007    total: 2.07s    remaining: 1.77s
500:    learn: 0.2048449    total: 2.07s    remaining: 1.76s
501:    learn: 0.2046432    total: 2.08s    remaining: 1.76s
502:    learn: 0.2045689    total: 2.08s    remaining: 1.76s
503:    learn: 0.2043726    total: 2.08s    remaining: 1.75s
504:    learn: 0.2041623    total: 2.09s    remaining: 1.75s
505:    learn: 0.2038890    total: 2.09s    remaining: 1.75s
506:    learn: 0.2035778    total: 2.1s remaining: 1.74s
507:    learn: 0.2032341    total: 2.1s remaining: 1.74s
508:    learn: 0.2029153    total: 2.11s    remaining: 1.73s
509:    learn: 0.2027978    total: 2.11s    remaining: 1.73s
510:    learn: 0.2027343    total: 2.11s    remaining: 1.72s
511:    learn: 0.2025645    total: 2.12s    remaining: 1.72s
512:    learn: 0.2024707    total: 2.12s    remaining: 1.72s
513:    learn: 0.2021661    total: 2.13s    remaining: 1.71s
514:    learn: 0.2017942    total: 2.13s    remaining: 1.71s
515:    learn: 0.2016342    total: 2.14s    remaining: 1.71s
516:    learn: 0.2013953    total: 2.14s    remaining: 1.7s
517:    learn: 0.2010816    total: 2.14s    remaining: 1.7s
518:    learn: 0.2007824    total: 2.15s    remaining: 1.69s
519:    learn: 0.2004690    total: 2.15s    remaining: 1.69s
520:    learn: 0.2001765    total: 2.16s    remaining: 1.69s
521:    learn: 0.1998953    total: 2.16s    remaining: 1.68s
522:    learn: 0.1995943    total: 2.17s    remaining: 1.68s
523:    learn: 0.1994012    total: 2.17s    remaining: 1.67s
524:    learn: 0.1991528    total: 2.18s    remaining: 1.67s
525:    learn: 0.1990354    total: 2.18s    remaining: 1.67s
526:    learn: 0.1987013    total: 2.18s    remaining: 1.66s
527:    learn: 0.1983687    total: 2.19s    remaining: 1.66s
528:    learn: 0.1983068    total: 2.19s    remaining: 1.65s
529:    learn: 0.1981931    total: 2.2s remaining: 1.65s
530:    learn: 0.1979208    total: 2.2s remaining: 1.65s
531:    learn: 0.1977313    total: 2.21s    remaining: 1.64s
532:    learn: 0.1975191    total: 2.21s    remaining: 1.64s
533:    learn: 0.1972866    total: 2.22s    remaining: 1.64s
534:    learn: 0.1971444    total: 2.22s    remaining: 1.63s
535:    learn: 0.1971107    total: 2.22s    remaining: 1.63s
536:    learn: 0.1968873    total: 2.23s    remaining: 1.62s
537:    learn: 0.1965625    total: 2.23s    remaining: 1.62s
538:    learn: 0.1963690    total: 2.24s    remaining: 1.61s
539:    learn: 0.1959155    total: 2.24s    remaining: 1.61s
540:    learn: 0.1956440    total: 2.24s    remaining: 1.6s
541:    learn: 0.1955716    total: 2.25s    remaining: 1.6s
542:    learn: 0.1954578    total: 2.25s    remaining: 1.6s
543:    learn: 0.1953667    total: 2.25s    remaining: 1.59s
544:    learn: 0.1950352    total: 2.26s    remaining: 1.59s
545:    learn: 0.1949445    total: 2.26s    remaining: 1.58s
546:    learn: 0.1947293    total: 2.27s    remaining: 1.58s
547:    learn: 0.1945203    total: 2.27s    remaining: 1.57s
548:    learn: 0.1943574    total: 2.28s    remaining: 1.57s
549:    learn: 0.1941503    total: 2.28s    remaining: 1.57s
550:    learn: 0.1940197    total: 2.28s    remaining: 1.56s
551:    learn: 0.1937846    total: 2.29s    remaining: 1.56s
552:    learn: 0.1934815    total: 2.29s    remaining: 1.55s
553:    learn: 0.1931759    total: 2.3s remaining: 1.55s
554:    learn: 0.1929239    total: 2.3s remaining: 1.55s
555:    learn: 0.1925942    total: 2.31s    remaining: 1.54s
556:    learn: 0.1922721    total: 2.31s    remaining: 1.54s
557:    learn: 0.1920618    total: 2.32s    remaining: 1.53s
558:    learn: 0.1917594    total: 2.32s    remaining: 1.53s
559:    learn: 0.1914494    total: 2.32s    remaining: 1.53s
560:    learn: 0.1913044    total: 2.33s    remaining: 1.52s
561:    learn: 0.1911999    total: 2.33s    remaining: 1.52s
562:    learn: 0.1910885    total: 2.34s    remaining: 1.51s
563:    learn: 0.1908716    total: 2.34s    remaining: 1.51s
564:    learn: 0.1906084    total: 2.35s    remaining: 1.51s
565:    learn: 0.1904023    total: 2.35s    remaining: 1.5s
566:    learn: 0.1901850    total: 2.35s    remaining: 1.5s
567:    learn: 0.1899190    total: 2.36s    remaining: 1.49s
568:    learn: 0.1897672    total: 2.36s    remaining: 1.49s
569:    learn: 0.1896162    total: 2.37s    remaining: 1.49s
570:    learn: 0.1895528    total: 2.37s    remaining: 1.48s
571:    learn: 0.1895022    total: 2.38s    remaining: 1.48s
572:    learn: 0.1894027    total: 2.38s    remaining: 1.47s
573:    learn: 0.1891523    total: 2.38s    remaining: 1.47s
574:    learn: 0.1890067    total: 2.39s    remaining: 1.47s
575:    learn: 0.1886260    total: 2.39s    remaining: 1.46s
576:    learn: 0.1883566    total: 2.4s remaining: 1.46s
577:    learn: 0.1881834    total: 2.4s remaining: 1.45s
578:    learn: 0.1880246    total: 2.4s remaining: 1.45s
579:    learn: 0.1877963    total: 2.41s    remaining: 1.45s
580:    learn: 0.1877013    total: 2.41s    remaining: 1.44s
581:    learn: 0.1875302    total: 2.42s    remaining: 1.44s
582:    learn: 0.1872387    total: 2.42s    remaining: 1.43s
583:    learn: 0.1868193    total: 2.43s    remaining: 1.43s
584:    learn: 0.1867254    total: 2.43s    remaining: 1.43s
585:    learn: 0.1864278    total: 2.44s    remaining: 1.42s
586:    learn: 0.1861767    total: 2.44s    remaining: 1.42s
587:    learn: 0.1858838    total: 2.44s    remaining: 1.41s
588:    learn: 0.1856253    total: 2.45s    remaining: 1.41s
589:    learn: 0.1855172    total: 2.45s    remaining: 1.41s
590:    learn: 0.1854140    total: 2.46s    remaining: 1.4s
591:    learn: 0.1851937    total: 2.46s    remaining: 1.4s
592:    learn: 0.1849502    total: 2.47s    remaining: 1.39s
593:    learn: 0.1847376    total: 2.47s    remaining: 1.39s
594:    learn: 0.1846022    total: 2.48s    remaining: 1.39s
595:    learn: 0.1844307    total: 2.48s    remaining: 1.38s
596:    learn: 0.1841550    total: 2.48s    remaining: 1.38s
597:    learn: 0.1840234    total: 2.49s    remaining: 1.37s
598:    learn: 0.1837675    total: 2.49s    remaining: 1.37s
599:    learn: 0.1836006    total: 2.5s remaining: 1.36s
600:    learn: 0.1833210    total: 2.5s remaining: 1.36s
601:    learn: 0.1830994    total: 2.5s remaining: 1.36s
602:    learn: 0.1828215    total: 2.51s    remaining: 1.35s
603:    learn: 0.1826897    total: 2.51s    remaining: 1.35s
604:    learn: 0.1825432    total: 2.52s    remaining: 1.34s
605:    learn: 0.1823103    total: 2.52s    remaining: 1.34s
606:    learn: 0.1820855    total: 2.52s    remaining: 1.33s
607:    learn: 0.1817758    total: 2.53s    remaining: 1.33s
608:    learn: 0.1815285    total: 2.53s    remaining: 1.33s
609:    learn: 0.1813303    total: 2.54s    remaining: 1.32s
610:    learn: 0.1812652    total: 2.54s    remaining: 1.32s
611:    learn: 0.1809834    total: 2.54s    remaining: 1.31s
612:    learn: 0.1807508    total: 2.55s    remaining: 1.31s
613:    learn: 0.1805419    total: 2.55s    remaining: 1.3s
614:    learn: 0.1803513    total: 2.56s    remaining: 1.3s
615:    learn: 0.1802617    total: 2.56s    remaining: 1.3s
616:    learn: 0.1799709    total: 2.57s    remaining: 1.29s
617:    learn: 0.1799371    total: 2.57s    remaining: 1.29s
618:    learn: 0.1798583    total: 2.57s    remaining: 1.28s
619:    learn: 0.1796426    total: 2.58s    remaining: 1.28s
620:    learn: 0.1793341    total: 2.58s    remaining: 1.28s
621:    learn: 0.1788787    total: 2.59s    remaining: 1.27s
622:    learn: 0.1787824    total: 2.59s    remaining: 1.27s
623:    learn: 0.1785836    total: 2.6s remaining: 1.26s
624:    learn: 0.1782690    total: 2.6s remaining: 1.26s
625:    learn: 0.1780563    total: 2.61s    remaining: 1.26s
626:    learn: 0.1778756    total: 2.61s    remaining: 1.25s
627:    learn: 0.1777792    total: 2.61s    remaining: 1.25s
628:    learn: 0.1775329    total: 2.62s    remaining: 1.24s
629:    learn: 0.1774475    total: 2.62s    remaining: 1.24s
630:    learn: 0.1772255    total: 2.63s    remaining: 1.24s
631:    learn: 0.1771048    total: 2.63s    remaining: 1.23s
632:    learn: 0.1768379    total: 2.63s    remaining: 1.23s
633:    learn: 0.1767433    total: 2.64s    remaining: 1.22s
634:    learn: 0.1766607    total: 2.64s    remaining: 1.22s
635:    learn: 0.1765182    total: 2.65s    remaining: 1.21s
636:    learn: 0.1762719    total: 2.65s    remaining: 1.21s
637:    learn: 0.1761782    total: 2.65s    remaining: 1.21s
638:    learn: 0.1761407    total: 2.66s    remaining: 1.2s
639:    learn: 0.1760751    total: 2.66s    remaining: 1.2s
640:    learn: 0.1758018    total: 2.67s    remaining: 1.19s
641:    learn: 0.1755422    total: 2.67s    remaining: 1.19s
642:    learn: 0.1753003    total: 2.67s    remaining: 1.18s
643:    learn: 0.1750942    total: 2.68s    remaining: 1.18s
644:    learn: 0.1748661    total: 2.68s    remaining: 1.18s
645:    learn: 0.1745817    total: 2.68s    remaining: 1.17s
646:    learn: 0.1744008    total: 2.69s    remaining: 1.17s
647:    learn: 0.1742336    total: 2.69s    remaining: 1.16s
648:    learn: 0.1740507    total: 2.69s    remaining: 1.16s
649:    learn: 0.1740185    total: 2.69s    remaining: 1.15s
650:    learn: 0.1736953    total: 2.7s remaining: 1.15s
651:    learn: 0.1735022    total: 2.7s remaining: 1.14s
652:    learn: 0.1732351    total: 2.7s remaining: 1.14s
653:    learn: 0.1730281    total: 2.7s remaining: 1.13s
654:    learn: 0.1726522    total: 2.71s    remaining: 1.13s
655:    learn: 0.1723957    total: 2.71s    remaining: 1.12s
656:    learn: 0.1721326    total: 2.71s    remaining: 1.12s
657:    learn: 0.1719783    total: 2.71s    remaining: 1.11s
658:    learn: 0.1718551    total: 2.72s    remaining: 1.11s
659:    learn: 0.1716534    total: 2.72s    remaining: 1.1s
660:    learn: 0.1714866    total: 2.72s    remaining: 1.1s
661:    learn: 0.1713066    total: 2.72s    remaining: 1.09s
662:    learn: 0.1712415    total: 2.73s    remaining: 1.09s
663:    learn: 0.1710856    total: 2.73s    remaining: 1.08s
664:    learn: 0.1710091    total: 2.73s    remaining: 1.08s
665:    learn: 0.1709532    total: 2.74s    remaining: 1.08s
666:    learn: 0.1707889    total: 2.74s    remaining: 1.07s
667:    learn: 0.1705098    total: 2.74s    remaining: 1.07s
668:    learn: 0.1704006    total: 2.74s    remaining: 1.06s
669:    learn: 0.1702172    total: 2.75s    remaining: 1.06s
670:    learn: 0.1701156    total: 2.75s    remaining: 1.05s
671:    learn: 0.1699773    total: 2.75s    remaining: 1.05s
672:    learn: 0.1696804    total: 2.75s    remaining: 1.04s
673:    learn: 0.1694930    total: 2.76s    remaining: 1.04s
674:    learn: 0.1693613    total: 2.76s    remaining: 1.03s
675:    learn: 0.1692858    total: 2.76s    remaining: 1.03s
676:    learn: 0.1690784    total: 2.76s    remaining: 1.02s
677:    learn: 0.1688835    total: 2.77s    remaining: 1.02s
678:    learn: 0.1688267    total: 2.77s    remaining: 1.01s
679:    learn: 0.1685648    total: 2.77s    remaining: 1.01s
680:    learn: 0.1684599    total: 2.77s    remaining: 1.01s
681:    learn: 0.1682068    total: 2.78s    remaining: 1s
682:    learn: 0.1678986    total: 2.78s    remaining: 997ms
683:    learn: 0.1675841    total: 2.78s    remaining: 992ms
684:    learn: 0.1674131    total: 2.78s    remaining: 988ms
685:    learn: 0.1672326    total: 2.79s    remaining: 983ms
686:    learn: 0.1671788    total: 2.79s    remaining: 979ms
687:    learn: 0.1668741    total: 2.79s    remaining: 974ms
688:    learn: 0.1665296    total: 2.79s    remaining: 969ms
689:    learn: 0.1664574    total: 2.8s remaining: 965ms
690:    learn: 0.1662758    total: 2.8s remaining: 960ms
691:    learn: 0.1660638    total: 2.8s remaining: 956ms
692:    learn: 0.1659279    total: 2.81s    remaining: 952ms
693:    learn: 0.1657264    total: 2.81s    remaining: 947ms
694:    learn: 0.1655494    total: 2.81s    remaining: 943ms
695:    learn: 0.1653781    total: 2.81s    remaining: 938ms
696:    learn: 0.1652533    total: 2.82s    remaining: 933ms
697:    learn: 0.1650729    total: 2.82s    remaining: 929ms
698:    learn: 0.1649741    total: 2.82s    remaining: 924ms
699:    learn: 0.1648360    total: 2.82s    remaining: 920ms
700:    learn: 0.1646431    total: 2.83s    remaining: 915ms
701:    learn: 0.1644746    total: 2.83s    remaining: 911ms
702:    learn: 0.1641411    total: 2.83s    remaining: 906ms
703:    learn: 0.1641219    total: 2.83s    remaining: 902ms
704:    learn: 0.1641079    total: 2.84s    remaining: 897ms
705:    learn: 0.1640352    total: 2.84s    remaining: 893ms
706:    learn: 0.1639861    total: 2.84s    remaining: 888ms
707:    learn: 0.1638200    total: 2.84s    remaining: 884ms
708:    learn: 0.1637063    total: 2.85s    remaining: 879ms
709:    learn: 0.1635020    total: 2.85s    remaining: 875ms
710:    learn: 0.1633622    total: 2.85s    remaining: 870ms
711:    learn: 0.1633254    total: 2.85s    remaining: 866ms
712:    learn: 0.1631710    total: 2.85s    remaining: 861ms
713:    learn: 0.1630796    total: 2.86s    remaining: 857ms
714:    learn: 0.1629176    total: 2.86s    remaining: 852ms
715:    learn: 0.1628168    total: 2.86s    remaining: 848ms
716:    learn: 0.1625286    total: 2.87s    remaining: 843ms
717:    learn: 0.1624113    total: 2.87s    remaining: 839ms
718:    learn: 0.1623270    total: 2.87s    remaining: 834ms
719:    learn: 0.1621038    total: 2.87s    remaining: 830ms
720:    learn: 0.1618843    total: 2.87s    remaining: 825ms
721:    learn: 0.1616521    total: 2.88s    remaining: 821ms
722:    learn: 0.1616080    total: 2.88s    remaining: 817ms
723:    learn: 0.1614745    total: 2.88s    remaining: 812ms
724:    learn: 0.1613370    total: 2.88s    remaining: 808ms
725:    learn: 0.1610784    total: 2.89s    remaining: 803ms
726:    learn: 0.1608882    total: 2.89s    remaining: 799ms
727:    learn: 0.1607466    total: 2.89s    remaining: 795ms
728:    learn: 0.1606996    total: 2.89s    remaining: 790ms
729:    learn: 0.1605584    total: 2.9s remaining: 786ms
730:    learn: 0.1603871    total: 2.9s remaining: 781ms
731:    learn: 0.1600427    total: 2.9s remaining: 777ms
732:    learn: 0.1598791    total: 2.9s remaining: 773ms
733:    learn: 0.1597217    total: 2.91s    remaining: 769ms
734:    learn: 0.1595489    total: 2.91s    remaining: 765ms
735:    learn: 0.1593126    total: 2.92s    remaining: 761ms
736:    learn: 0.1592755    total: 2.92s    remaining: 758ms
737:    learn: 0.1592196    total: 2.93s    remaining: 754ms
738:    learn: 0.1589944    total: 2.93s    remaining: 750ms
739:    learn: 0.1588131    total: 2.94s    remaining: 746ms
740:    learn: 0.1585566    total: 2.94s    remaining: 742ms
741:    learn: 0.1584404    total: 2.94s    remaining: 738ms
742:    learn: 0.1583540    total: 2.94s    remaining: 733ms
743:    learn: 0.1581259    total: 2.95s    remaining: 729ms
744:    learn: 0.1579865    total: 2.95s    remaining: 725ms
745:    learn: 0.1578191    total: 2.95s    remaining: 720ms
746:    learn: 0.1578030    total: 2.96s    remaining: 716ms
747:    learn: 0.1576000    total: 2.96s    remaining: 712ms
748:    learn: 0.1574215    total: 2.96s    remaining: 707ms
749:    learn: 0.1572696    total: 2.96s    remaining: 703ms
750:    learn: 0.1570457    total: 2.96s    remaining: 699ms
751:    learn: 0.1568968    total: 2.97s    remaining: 694ms
752:    learn: 0.1567182    total: 2.97s    remaining: 690ms
753:    learn: 0.1564726    total: 2.97s    remaining: 686ms
754:    learn: 0.1562801    total: 2.97s    remaining: 682ms
755:    learn: 0.1561485    total: 2.98s    remaining: 677ms
756:    learn: 0.1559797    total: 2.98s    remaining: 673ms
757:    learn: 0.1557665    total: 2.98s    remaining: 669ms
758:    learn: 0.1556357    total: 2.98s    remaining: 665ms
759:    learn: 0.1555470    total: 2.99s    remaining: 660ms
760:    learn: 0.1554112    total: 2.99s    remaining: 656ms
761:    learn: 0.1552826    total: 2.99s    remaining: 652ms
762:    learn: 0.1550682    total: 2.99s    remaining: 647ms
763:    learn: 0.1548566    total: 3s   remaining: 643ms
764:    learn: 0.1546872    total: 3s   remaining: 639ms
765:    learn: 0.1545387    total: 3s   remaining: 635ms
766:    learn: 0.1543949    total: 3.01s    remaining: 631ms
767:    learn: 0.1542293    total: 3.01s    remaining: 627ms
768:    learn: 0.1541670    total: 3.01s    remaining: 623ms
769:    learn: 0.1540288    total: 3.02s    remaining: 619ms
770:    learn: 0.1539922    total: 3.02s    remaining: 615ms
771:    learn: 0.1538990    total: 3.02s    remaining: 611ms
772:    learn: 0.1536778    total: 3.03s    remaining: 607ms
773:    learn: 0.1536101    total: 3.03s    remaining: 603ms
774:    learn: 0.1532395    total: 3.03s    remaining: 599ms
775:    learn: 0.1530190    total: 3.04s    remaining: 595ms
776:    learn: 0.1529022    total: 3.04s    remaining: 591ms
777:    learn: 0.1527534    total: 3.04s    remaining: 587ms
778:    learn: 0.1525566    total: 3.04s    remaining: 582ms
779:    learn: 0.1524028    total: 3.05s    remaining: 578ms
780:    learn: 0.1522635    total: 3.05s    remaining: 574ms
781:    learn: 0.1520385    total: 3.05s    remaining: 570ms
782:    learn: 0.1518216    total: 3.05s    remaining: 566ms
783:    learn: 0.1515979    total: 3.06s    remaining: 562ms
784:    learn: 0.1514556    total: 3.06s    remaining: 557ms
785:    learn: 0.1512466    total: 3.06s    remaining: 553ms
786:    learn: 0.1510568    total: 3.06s    remaining: 549ms
787:    learn: 0.1509171    total: 3.07s    remaining: 545ms
788:    learn: 0.1508093    total: 3.07s    remaining: 541ms
789:    learn: 0.1507375    total: 3.07s    remaining: 537ms
790:    learn: 0.1505980    total: 3.07s    remaining: 533ms
791:    learn: 0.1505142    total: 3.08s    remaining: 528ms
792:    learn: 0.1503269    total: 3.08s    remaining: 524ms
793:    learn: 0.1502882    total: 3.08s    remaining: 520ms
794:    learn: 0.1500782    total: 3.08s    remaining: 516ms
795:    learn: 0.1500310    total: 3.09s    remaining: 512ms
796:    learn: 0.1499933    total: 3.09s    remaining: 508ms
797:    learn: 0.1498190    total: 3.09s    remaining: 504ms
798:    learn: 0.1497721    total: 3.09s    remaining: 500ms
799:    learn: 0.1496644    total: 3.1s remaining: 495ms
800:    learn: 0.1495777    total: 3.1s remaining: 491ms
801:    learn: 0.1493942    total: 3.1s remaining: 487ms
802:    learn: 0.1493551    total: 3.1s remaining: 483ms
803:    learn: 0.1490404    total: 3.1s remaining: 479ms
804:    learn: 0.1489575    total: 3.11s    remaining: 475ms
805:    learn: 0.1488900    total: 3.11s    remaining: 471ms
806:    learn: 0.1486711    total: 3.11s    remaining: 467ms
807:    learn: 0.1484747    total: 3.12s    remaining: 463ms
808:    learn: 0.1482288    total: 3.12s    remaining: 459ms
809:    learn: 0.1481257    total: 3.12s    remaining: 455ms
810:    learn: 0.1481023    total: 3.12s    remaining: 450ms
811:    learn: 0.1480293    total: 3.12s    remaining: 446ms
812:    learn: 0.1477032    total: 3.13s    remaining: 442ms
813:    learn: 0.1476116    total: 3.13s    remaining: 438ms
814:    learn: 0.1475457    total: 3.13s    remaining: 434ms
815:    learn: 0.1473833    total: 3.13s    remaining: 430ms
816:    learn: 0.1473288    total: 3.14s    remaining: 426ms
817:    learn: 0.1472397    total: 3.14s    remaining: 422ms
818:    learn: 0.1470508    total: 3.14s    remaining: 418ms
819:    learn: 0.1470181    total: 3.14s    remaining: 414ms
820:    learn: 0.1468323    total: 3.15s    remaining: 410ms
821:    learn: 0.1466937    total: 3.15s    remaining: 406ms
822:    learn: 0.1465593    total: 3.15s    remaining: 402ms
823:    learn: 0.1463038    total: 3.15s    remaining: 398ms
824:    learn: 0.1460677    total: 3.16s    remaining: 394ms
825:    learn: 0.1457602    total: 3.16s    remaining: 390ms
826:    learn: 0.1456768    total: 3.16s    remaining: 386ms
827:    learn: 0.1456176    total: 3.16s    remaining: 382ms
828:    learn: 0.1455115    total: 3.17s    remaining: 378ms
829:    learn: 0.1453654    total: 3.17s    remaining: 374ms
830:    learn: 0.1453010    total: 3.17s    remaining: 370ms
831:    learn: 0.1451558    total: 3.17s    remaining: 366ms
832:    learn: 0.1450896    total: 3.17s    remaining: 362ms
833:    learn: 0.1449220    total: 3.18s    remaining: 358ms
834:    learn: 0.1448426    total: 3.18s    remaining: 354ms
835:    learn: 0.1446588    total: 3.18s    remaining: 350ms
836:    learn: 0.1444737    total: 3.19s    remaining: 346ms
837:    learn: 0.1443150    total: 3.19s    remaining: 342ms
838:    learn: 0.1442054    total: 3.19s    remaining: 338ms
839:    learn: 0.1441434    total: 3.19s    remaining: 334ms
840:    learn: 0.1439635    total: 3.19s    remaining: 331ms
841:    learn: 0.1439383    total: 3.2s remaining: 327ms
842:    learn: 0.1438551    total: 3.2s remaining: 323ms
843:    learn: 0.1437530    total: 3.2s remaining: 319ms
844:    learn: 0.1437128    total: 3.21s    remaining: 315ms
845:    learn: 0.1435205    total: 3.21s    remaining: 311ms
846:    learn: 0.1434849    total: 3.21s    remaining: 307ms
847:    learn: 0.1434175    total: 3.21s    remaining: 303ms
848:    learn: 0.1432323    total: 3.22s    remaining: 299ms
849:    learn: 0.1430661    total: 3.22s    remaining: 295ms
850:    learn: 0.1428878    total: 3.22s    remaining: 292ms
851:    learn: 0.1427667    total: 3.22s    remaining: 288ms
852:    learn: 0.1426269    total: 3.23s    remaining: 284ms
853:    learn: 0.1425106    total: 3.23s    remaining: 280ms
854:    learn: 0.1424642    total: 3.23s    remaining: 276ms
855:    learn: 0.1422312    total: 3.23s    remaining: 272ms
856:    learn: 0.1420914    total: 3.24s    remaining: 268ms
857:    learn: 0.1419838    total: 3.24s    remaining: 264ms
858:    learn: 0.1418860    total: 3.24s    remaining: 260ms
859:    learn: 0.1418156    total: 3.24s    remaining: 256ms
860:    learn: 0.1417734    total: 3.25s    remaining: 253ms
861:    learn: 0.1416195    total: 3.25s    remaining: 249ms
862:    learn: 0.1415465    total: 3.25s    remaining: 245ms
863:    learn: 0.1414119    total: 3.25s    remaining: 241ms
864:    learn: 0.1413005    total: 3.25s    remaining: 237ms
865:    learn: 0.1412254    total: 3.26s    remaining: 233ms
866:    learn: 0.1411077    total: 3.26s    remaining: 229ms
867:    learn: 0.1409100    total: 3.26s    remaining: 226ms
868:    learn: 0.1407388    total: 3.27s    remaining: 222ms
869:    learn: 0.1405864    total: 3.27s    remaining: 218ms
870:    learn: 0.1404552    total: 3.27s    remaining: 214ms
871:    learn: 0.1404332    total: 3.27s    remaining: 210ms
872:    learn: 0.1402961    total: 3.28s    remaining: 207ms
873:    learn: 0.1401145    total: 3.28s    remaining: 203ms
874:    learn: 0.1399393    total: 3.28s    remaining: 199ms
875:    learn: 0.1398568    total: 3.29s    remaining: 195ms
876:    learn: 0.1397129    total: 3.29s    remaining: 191ms
877:    learn: 0.1396358    total: 3.29s    remaining: 187ms
878:    learn: 0.1394801    total: 3.29s    remaining: 184ms
879:    learn: 0.1393156    total: 3.3s remaining: 180ms
880:    learn: 0.1392141    total: 3.3s remaining: 176ms
881:    learn: 0.1391009    total: 3.3s remaining: 172ms
882:    learn: 0.1389514    total: 3.3s remaining: 168ms
883:    learn: 0.1387832    total: 3.31s    remaining: 165ms
884:    learn: 0.1386371    total: 3.31s    remaining: 161ms
885:    learn: 0.1385232    total: 3.31s    remaining: 157ms
886:    learn: 0.1383377    total: 3.31s    remaining: 153ms
887:    learn: 0.1382347    total: 3.31s    remaining: 149ms
888:    learn: 0.1381060    total: 3.32s    remaining: 146ms
889:    learn: 0.1380071    total: 3.32s    remaining: 142ms
890:    learn: 0.1378420    total: 3.32s    remaining: 138ms
891:    learn: 0.1377866    total: 3.33s    remaining: 134ms
892:    learn: 0.1376824    total: 3.33s    remaining: 130ms
893:    learn: 0.1375883    total: 3.33s    remaining: 127ms
894:    learn: 0.1375308    total: 3.33s    remaining: 123ms
895:    learn: 0.1374414    total: 3.33s    remaining: 119ms
896:    learn: 0.1372528    total: 3.34s    remaining: 115ms
897:    learn: 0.1371986    total: 3.34s    remaining: 112ms
898:    learn: 0.1371353    total: 3.34s    remaining: 108ms
899:    learn: 0.1371023    total: 3.34s    remaining: 104ms
900:    learn: 0.1370786    total: 3.35s    remaining: 100ms
901:    learn: 0.1370166    total: 3.35s    remaining: 96.5ms
902:    learn: 0.1368893    total: 3.35s    remaining: 92.8ms
903:    learn: 0.1366406    total: 3.35s    remaining: 89ms
904:    learn: 0.1366123    total: 3.36s    remaining: 85.3ms
905:    learn: 0.1364722    total: 3.36s    remaining: 81.6ms
906:    learn: 0.1362587    total: 3.36s    remaining: 77.8ms
907:    learn: 0.1361625    total: 3.36s    remaining: 74.1ms
908:    learn: 0.1360858    total: 3.37s    remaining: 70.4ms
909:    learn: 0.1358974    total: 3.37s    remaining: 66.6ms
910:    learn: 0.1358178    total: 3.37s    remaining: 62.9ms
911:    learn: 0.1356977    total: 3.37s    remaining: 59.2ms
912:    learn: 0.1355894    total: 3.38s    remaining: 55.5ms
913:    learn: 0.1354680    total: 3.38s    remaining: 51.7ms
914:    learn: 0.1352822    total: 3.38s    remaining: 48ms
915:    learn: 0.1351512    total: 3.38s    remaining: 44.3ms
916:    learn: 0.1350789    total: 3.38s    remaining: 40.6ms
917:    learn: 0.1348872    total: 3.39s    remaining: 36.9ms
918:    learn: 0.1347873    total: 3.39s    remaining: 33.2ms
919:    learn: 0.1347297    total: 3.39s    remaining: 29.5ms
920:    learn: 0.1346598    total: 3.4s remaining: 25.8ms
921:    learn: 0.1345162    total: 3.4s remaining: 22.1ms
922:    learn: 0.1344873    total: 3.4s remaining: 18.4ms
923:    learn: 0.1343671    total: 3.4s remaining: 14.7ms
924:    learn: 0.1342571    total: 3.41s    remaining: 11ms
925:    learn: 0.1341290    total: 3.41s    remaining: 7.36ms
926:    learn: 0.1340356    total: 3.41s    remaining: 3.68ms
927:    learn: 0.1338721    total: 3.41s    remaining: 0us

Mengevaluasi: negeq_keep_all_XGBoost

Mengevaluasi: negeq_keep_all_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 82, number of negative: 4533
[LightGBM] [Info] Total Bins 11424
[LightGBM] [Info] Number of data points in the train set: 4615, number of used features: 66
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.017768 -> initscore=-4.012420
[LightGBM] [Info] Start training from score -4.012420
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: negeq_keep_all_CatBoost
0:  learn: 0.5574227    total: 5.66ms   remaining: 1.21s
1:  learn: 0.4480838    total: 9.73ms   remaining: 1.03s
2:  learn: 0.3633263    total: 13.8ms   remaining: 977ms
3:  learn: 0.2994909    total: 18ms remaining: 947ms
4:  learn: 0.2479137    total: 22.4ms   remaining: 939ms
5:  learn: 0.2097047    total: 26.6ms   remaining: 928ms
6:  learn: 0.1795978    total: 31ms remaining: 922ms
7:  learn: 0.1520687    total: 35.3ms   remaining: 914ms
8:  learn: 0.1345051    total: 39.4ms   remaining: 901ms
9:  learn: 0.1184863    total: 43.9ms   remaining: 900ms
10: learn: 0.1064302    total: 48.1ms   remaining: 891ms
11: learn: 0.0965079    total: 52.2ms   remaining: 882ms
12: learn: 0.0886154    total: 56.5ms   remaining: 877ms
13: learn: 0.0835155    total: 60.6ms   remaining: 870ms
14: learn: 0.0778107    total: 64.8ms   remaining: 864ms
15: learn: 0.0729717    total: 68.9ms   remaining: 857ms
16: learn: 0.0692913    total: 73ms remaining: 850ms
17: learn: 0.0661749    total: 77.2ms   remaining: 845ms
18: learn: 0.0633493    total: 81.2ms   remaining: 838ms
19: learn: 0.0610978    total: 85.3ms   remaining: 831ms
20: learn: 0.0590918    total: 89.8ms   remaining: 830ms
21: learn: 0.0573882    total: 93.9ms   remaining: 824ms
22: learn: 0.0556423    total: 97.8ms   remaining: 817ms
23: learn: 0.0541966    total: 102ms    remaining: 811ms
24: learn: 0.0528914    total: 106ms    remaining: 806ms
25: learn: 0.0519128    total: 111ms    remaining: 806ms
26: learn: 0.0508463    total: 116ms    remaining: 807ms
27: learn: 0.0496952    total: 121ms    remaining: 809ms
28: learn: 0.0490040    total: 127ms    remaining: 813ms
29: learn: 0.0478849    total: 132ms    remaining: 814ms
30: learn: 0.0470722    total: 136ms    remaining: 810ms
31: learn: 0.0466189    total: 141ms    remaining: 803ms
32: learn: 0.0459078    total: 145ms    remaining: 798ms
33: learn: 0.0453491    total: 149ms    remaining: 792ms
34: learn: 0.0445430    total: 153ms    remaining: 786ms
35: learn: 0.0438322    total: 158ms    remaining: 783ms
36: learn: 0.0432579    total: 163ms    remaining: 785ms
37: learn: 0.0426283    total: 170ms    remaining: 793ms
38: learn: 0.0423441    total: 177ms    remaining: 798ms
39: learn: 0.0419540    total: 183ms    remaining: 802ms
40: learn: 0.0416689    total: 190ms    remaining: 805ms
41: learn: 0.0412246    total: 197ms    remaining: 810ms
42: learn: 0.0405218    total: 203ms    remaining: 811ms
43: learn: 0.0400230    total: 207ms    remaining: 804ms
44: learn: 0.0395944    total: 211ms    remaining: 797ms
45: learn: 0.0393187    total: 215ms    remaining: 790ms
46: learn: 0.0386680    total: 219ms    remaining: 784ms
47: learn: 0.0382456    total: 223ms    remaining: 777ms
48: learn: 0.0377271    total: 227ms    remaining: 770ms
49: learn: 0.0373673    total: 231ms    remaining: 763ms
50: learn: 0.0367237    total: 235ms    remaining: 757ms
51: learn: 0.0362055    total: 239ms    remaining: 750ms
52: learn: 0.0357450    total: 243ms    remaining: 744ms
53: learn: 0.0354284    total: 247ms    remaining: 737ms
54: learn: 0.0348073    total: 252ms    remaining: 733ms
55: learn: 0.0342677    total: 256ms    remaining: 726ms
56: learn: 0.0337671    total: 260ms    remaining: 721ms
57: learn: 0.0333082    total: 264ms    remaining: 714ms
58: learn: 0.0327594    total: 268ms    remaining: 709ms
59: learn: 0.0321613    total: 272ms    remaining: 704ms
60: learn: 0.0317338    total: 276ms    remaining: 698ms
61: learn: 0.0313599    total: 280ms    remaining: 692ms
62: learn: 0.0311311    total: 284ms    remaining: 686ms
63: learn: 0.0308506    total: 288ms    remaining: 680ms
64: learn: 0.0304378    total: 292ms    remaining: 674ms
65: learn: 0.0301759    total: 296ms    remaining: 669ms
66: learn: 0.0299320    total: 300ms    remaining: 663ms
67: learn: 0.0294415    total: 304ms    remaining: 658ms
68: learn: 0.0292507    total: 308ms    remaining: 653ms
69: learn: 0.0290838    total: 312ms    remaining: 647ms
70: learn: 0.0286862    total: 316ms    remaining: 642ms
71: learn: 0.0283039    total: 321ms    remaining: 637ms
72: learn: 0.0279942    total: 325ms    remaining: 632ms
73: learn: 0.0277162    total: 329ms    remaining: 627ms
74: learn: 0.0274388    total: 333ms    remaining: 622ms
75: learn: 0.0271478    total: 337ms    remaining: 617ms
76: learn: 0.0266657    total: 342ms    remaining: 612ms
77: learn: 0.0264767    total: 346ms    remaining: 607ms
78: learn: 0.0261429    total: 350ms    remaining: 602ms
79: learn: 0.0259777    total: 354ms    remaining: 597ms
80: learn: 0.0258293    total: 359ms    remaining: 595ms
81: learn: 0.0257128    total: 366ms    remaining: 593ms
82: learn: 0.0254653    total: 370ms    remaining: 588ms
83: learn: 0.0253157    total: 374ms    remaining: 583ms
84: learn: 0.0252408    total: 378ms    remaining: 578ms
85: learn: 0.0251244    total: 382ms    remaining: 573ms
86: learn: 0.0249122    total: 386ms    remaining: 568ms
87: learn: 0.0246423    total: 390ms    remaining: 563ms
88: learn: 0.0245156    total: 394ms    remaining: 558ms
89: learn: 0.0243700    total: 398ms    remaining: 552ms
90: learn: 0.0241187    total: 402ms    remaining: 547ms
91: learn: 0.0239891    total: 406ms    remaining: 543ms
92: learn: 0.0239094    total: 410ms    remaining: 538ms
93: learn: 0.0237700    total: 414ms    remaining: 533ms
94: learn: 0.0236072    total: 418ms    remaining: 528ms
95: learn: 0.0235352    total: 422ms    remaining: 523ms
96: learn: 0.0232911    total: 426ms    remaining: 518ms
97: learn: 0.0230710    total: 430ms    remaining: 513ms
98: learn: 0.0228116    total: 434ms    remaining: 508ms
99: learn: 0.0226427    total: 438ms    remaining: 504ms
100:    learn: 0.0224457    total: 442ms    remaining: 499ms
101:    learn: 0.0221857    total: 446ms    remaining: 494ms
102:    learn: 0.0220106    total: 450ms    remaining: 489ms
103:    learn: 0.0216280    total: 454ms    remaining: 485ms
104:    learn: 0.0215356    total: 458ms    remaining: 480ms
105:    learn: 0.0214252    total: 462ms    remaining: 475ms
106:    learn: 0.0212145    total: 466ms    remaining: 470ms
107:    learn: 0.0210400    total: 470ms    remaining: 466ms
108:    learn: 0.0207296    total: 474ms    remaining: 461ms
109:    learn: 0.0205765    total: 478ms    remaining: 457ms
110:    learn: 0.0203127    total: 483ms    remaining: 452ms
111:    learn: 0.0201977    total: 487ms    remaining: 448ms
112:    learn: 0.0199167    total: 491ms    remaining: 443ms
113:    learn: 0.0198095    total: 495ms    remaining: 438ms
114:    learn: 0.0195726    total: 499ms    remaining: 434ms
115:    learn: 0.0194701    total: 504ms    remaining: 430ms
116:    learn: 0.0193312    total: 508ms    remaining: 425ms
117:    learn: 0.0192805    total: 512ms    remaining: 421ms
118:    learn: 0.0191636    total: 516ms    remaining: 416ms
119:    learn: 0.0189400    total: 520ms    remaining: 412ms
120:    learn: 0.0188491    total: 524ms    remaining: 407ms
121:    learn: 0.0187267    total: 528ms    remaining: 403ms
122:    learn: 0.0186742    total: 532ms    remaining: 398ms
123:    learn: 0.0186562    total: 536ms    remaining: 393ms
124:    learn: 0.0184799    total: 540ms    remaining: 389ms
125:    learn: 0.0184447    total: 544ms    remaining: 384ms
126:    learn: 0.0182968    total: 548ms    remaining: 380ms
127:    learn: 0.0181863    total: 552ms    remaining: 375ms
128:    learn: 0.0181702    total: 555ms    remaining: 370ms
129:    learn: 0.0180597    total: 562ms    remaining: 367ms
130:    learn: 0.0179430    total: 567ms    remaining: 364ms
131:    learn: 0.0178988    total: 571ms    remaining: 359ms
132:    learn: 0.0178283    total: 575ms    remaining: 355ms
133:    learn: 0.0178131    total: 579ms    remaining: 350ms
134:    learn: 0.0177542    total: 583ms    remaining: 345ms
135:    learn: 0.0175992    total: 587ms    remaining: 341ms
136:    learn: 0.0174412    total: 591ms    remaining: 337ms
137:    learn: 0.0174165    total: 595ms    remaining: 332ms
138:    learn: 0.0173552    total: 599ms    remaining: 328ms
139:    learn: 0.0172926    total: 603ms    remaining: 323ms
140:    learn: 0.0172377    total: 608ms    remaining: 319ms
141:    learn: 0.0171468    total: 611ms    remaining: 314ms
142:    learn: 0.0170493    total: 616ms    remaining: 310ms
143:    learn: 0.0169580    total: 620ms    remaining: 305ms
144:    learn: 0.0169316    total: 624ms    remaining: 301ms
145:    learn: 0.0168637    total: 628ms    remaining: 297ms
146:    learn: 0.0168148    total: 632ms    remaining: 292ms
147:    learn: 0.0167099    total: 636ms    remaining: 288ms
148:    learn: 0.0166814    total: 640ms    remaining: 283ms
149:    learn: 0.0166395    total: 644ms    remaining: 279ms
150:    learn: 0.0166096    total: 648ms    remaining: 275ms
151:    learn: 0.0165840    total: 652ms    remaining: 270ms
152:    learn: 0.0164928    total: 656ms    remaining: 266ms
153:    learn: 0.0164453    total: 660ms    remaining: 262ms
154:    learn: 0.0161952    total: 664ms    remaining: 257ms
155:    learn: 0.0161209    total: 669ms    remaining: 253ms
156:    learn: 0.0160989    total: 673ms    remaining: 249ms
157:    learn: 0.0160561    total: 677ms    remaining: 244ms
158:    learn: 0.0159234    total: 681ms    remaining: 240ms
159:    learn: 0.0157606    total: 685ms    remaining: 235ms
160:    learn: 0.0157016    total: 689ms    remaining: 231ms
161:    learn: 0.0156148    total: 693ms    remaining: 227ms
162:    learn: 0.0155739    total: 697ms    remaining: 222ms
163:    learn: 0.0154475    total: 701ms    remaining: 218ms
164:    learn: 0.0154025    total: 705ms    remaining: 214ms
165:    learn: 0.0153710    total: 709ms    remaining: 209ms
166:    learn: 0.0152650    total: 713ms    remaining: 205ms
167:    learn: 0.0150705    total: 717ms    remaining: 201ms
168:    learn: 0.0150412    total: 721ms    remaining: 196ms
169:    learn: 0.0149705    total: 725ms    remaining: 192ms
170:    learn: 0.0149077    total: 729ms    remaining: 188ms
171:    learn: 0.0148523    total: 733ms    remaining: 183ms
172:    learn: 0.0148214    total: 737ms    remaining: 179ms
173:    learn: 0.0147770    total: 741ms    remaining: 175ms
174:    learn: 0.0147250    total: 745ms    remaining: 170ms
175:    learn: 0.0147002    total: 749ms    remaining: 166ms
176:    learn: 0.0146652    total: 753ms    remaining: 162ms
177:    learn: 0.0146370    total: 757ms    remaining: 157ms
178:    learn: 0.0146049    total: 764ms    remaining: 154ms
179:    learn: 0.0143996    total: 768ms    remaining: 149ms
180:    learn: 0.0143810    total: 772ms    remaining: 145ms
181:    learn: 0.0143331    total: 776ms    remaining: 141ms
182:    learn: 0.0141826    total: 780ms    remaining: 136ms
183:    learn: 0.0141436    total: 784ms    remaining: 132ms
184:    learn: 0.0140465    total: 788ms    remaining: 128ms
185:    learn: 0.0140245    total: 793ms    remaining: 124ms
186:    learn: 0.0139633    total: 798ms    remaining: 119ms
187:    learn: 0.0139445    total: 802ms    remaining: 115ms
188:    learn: 0.0138897    total: 806ms    remaining: 111ms
189:    learn: 0.0138551    total: 810ms    remaining: 107ms
190:    learn: 0.0137512    total: 815ms    remaining: 102ms
191:    learn: 0.0137421    total: 818ms    remaining: 98ms
192:    learn: 0.0137179    total: 823ms    remaining: 93.8ms
193:    learn: 0.0136862    total: 827ms    remaining: 89.5ms
194:    learn: 0.0136777    total: 831ms    remaining: 85.2ms
195:    learn: 0.0136162    total: 835ms    remaining: 81ms
196:    learn: 0.0134580    total: 839ms    remaining: 76.7ms
197:    learn: 0.0133924    total: 844ms    remaining: 72.5ms
198:    learn: 0.0132724    total: 849ms    remaining: 68.3ms
199:    learn: 0.0131841    total: 853ms    remaining: 64ms
200:    learn: 0.0130847    total: 857ms    remaining: 59.7ms
201:    learn: 0.0130476    total: 861ms    remaining: 55.4ms
202:    learn: 0.0129695    total: 865ms    remaining: 51.2ms
203:    learn: 0.0128597    total: 869ms    remaining: 46.9ms
204:    learn: 0.0128518    total: 874ms    remaining: 42.6ms
205:    learn: 0.0128048    total: 877ms    remaining: 38.3ms
206:    learn: 0.0127337    total: 882ms    remaining: 34.1ms
207:    learn: 0.0126151    total: 886ms    remaining: 29.8ms
208:    learn: 0.0125228    total: 890ms    remaining: 25.5ms
209:    learn: 0.0123545    total: 894ms    remaining: 21.3ms
210:    learn: 0.0122272    total: 898ms    remaining: 17ms
211:    learn: 0.0122146    total: 901ms    remaining: 12.8ms
212:    learn: 0.0121273    total: 905ms    remaining: 8.5ms
213:    learn: 0.0120229    total: 909ms    remaining: 4.25ms
214:    learn: 0.0119245    total: 913ms    remaining: 0us

Mengevaluasi: negeq_keep_corr_XGBoost

Mengevaluasi: negeq_keep_corr_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 82, number of negative: 4533
[LightGBM] [Info] Total Bins 9639
[LightGBM] [Info] Number of data points in the train set: 4615, number of used features: 59
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.017768 -> initscore=-4.012420
[LightGBM] [Info] Start training from score -4.012420
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: negeq_keep_corr_CatBoost
0:  learn: 0.5048126    total: 4.13ms   remaining: 868ms
1:  learn: 0.3865181    total: 8.71ms   remaining: 910ms
2:  learn: 0.3038221    total: 12.6ms   remaining: 875ms
3:  learn: 0.2431046    total: 16.5ms   remaining: 855ms
4:  learn: 0.1913049    total: 20.2ms   remaining: 833ms
5:  learn: 0.1573301    total: 23.8ms   remaining: 812ms
6:  learn: 0.1316338    total: 27.6ms   remaining: 805ms
7:  learn: 0.1128164    total: 31.3ms   remaining: 793ms
8:  learn: 0.1007010    total: 35.1ms   remaining: 788ms
9:  learn: 0.0912051    total: 39.1ms   remaining: 786ms
10: learn: 0.0826860    total: 43.5ms   remaining: 790ms
11: learn: 0.0752440    total: 47.3ms   remaining: 784ms
12: learn: 0.0693230    total: 51.2ms   remaining: 780ms
13: learn: 0.0654139    total: 54.9ms   remaining: 772ms
14: learn: 0.0620876    total: 58.5ms   remaining: 765ms
15: learn: 0.0590947    total: 62.3ms   remaining: 759ms
16: learn: 0.0565675    total: 65.8ms   remaining: 751ms
17: learn: 0.0547803    total: 69.5ms   remaining: 746ms
18: learn: 0.0530081    total: 73.3ms   remaining: 740ms
19: learn: 0.0512054    total: 77ms remaining: 735ms
20: learn: 0.0496979    total: 80.5ms   remaining: 728ms
21: learn: 0.0482269    total: 84.1ms   remaining: 723ms
22: learn: 0.0472904    total: 87.9ms   remaining: 718ms
23: learn: 0.0457522    total: 91.5ms   remaining: 713ms
24: learn: 0.0444988    total: 95.1ms   remaining: 708ms
25: learn: 0.0436333    total: 98.7ms   remaining: 703ms
26: learn: 0.0431117    total: 102ms    remaining: 697ms
27: learn: 0.0420210    total: 106ms    remaining: 693ms
28: learn: 0.0414248    total: 110ms    remaining: 688ms
29: learn: 0.0409243    total: 113ms    remaining: 683ms
30: learn: 0.0405217    total: 117ms    remaining: 679ms
31: learn: 0.0398425    total: 121ms    remaining: 676ms
32: learn: 0.0387523    total: 125ms    remaining: 672ms
33: learn: 0.0378142    total: 128ms    remaining: 668ms
34: learn: 0.0369575    total: 132ms    remaining: 665ms
35: learn: 0.0363576    total: 136ms    remaining: 660ms
36: learn: 0.0356021    total: 139ms    remaining: 655ms
37: learn: 0.0353189    total: 143ms    remaining: 650ms
38: learn: 0.0345581    total: 146ms    remaining: 646ms
39: learn: 0.0339577    total: 150ms    remaining: 642ms
40: learn: 0.0334902    total: 154ms    remaining: 638ms
41: learn: 0.0327312    total: 158ms    remaining: 635ms
42: learn: 0.0322641    total: 162ms    remaining: 631ms
43: learn: 0.0319628    total: 165ms    remaining: 627ms
44: learn: 0.0314628    total: 169ms    remaining: 623ms
45: learn: 0.0311265    total: 173ms    remaining: 619ms
46: learn: 0.0307746    total: 176ms    remaining: 614ms
47: learn: 0.0302971    total: 180ms    remaining: 611ms
48: learn: 0.0296720    total: 184ms    remaining: 608ms
49: learn: 0.0293870    total: 187ms    remaining: 603ms
50: learn: 0.0290890    total: 191ms    remaining: 598ms
51: learn: 0.0284397    total: 195ms    remaining: 595ms
52: learn: 0.0282515    total: 198ms    remaining: 591ms
53: learn: 0.0277606    total: 204ms    remaining: 594ms
54: learn: 0.0273033    total: 208ms    remaining: 590ms
55: learn: 0.0270590    total: 212ms    remaining: 586ms
56: learn: 0.0267905    total: 216ms    remaining: 583ms
57: learn: 0.0266951    total: 219ms    remaining: 578ms
58: learn: 0.0263305    total: 223ms    remaining: 575ms
59: learn: 0.0260419    total: 227ms    remaining: 570ms
60: learn: 0.0256290    total: 231ms    remaining: 567ms
61: learn: 0.0252270    total: 234ms    remaining: 563ms
62: learn: 0.0249775    total: 238ms    remaining: 558ms
63: learn: 0.0244422    total: 242ms    remaining: 555ms
64: learn: 0.0242052    total: 245ms    remaining: 551ms
65: learn: 0.0236037    total: 249ms    remaining: 548ms
66: learn: 0.0235131    total: 253ms    remaining: 543ms
67: learn: 0.0230668    total: 256ms    remaining: 539ms
68: learn: 0.0227203    total: 260ms    remaining: 535ms
69: learn: 0.0224323    total: 264ms    remaining: 531ms
70: learn: 0.0222762    total: 267ms    remaining: 527ms
71: learn: 0.0221480    total: 271ms    remaining: 523ms
72: learn: 0.0217390    total: 275ms    remaining: 519ms
73: learn: 0.0216123    total: 278ms    remaining: 516ms
74: learn: 0.0214879    total: 282ms    remaining: 511ms
75: learn: 0.0213487    total: 286ms    remaining: 508ms
76: learn: 0.0211995    total: 289ms    remaining: 504ms
77: learn: 0.0207660    total: 293ms    remaining: 500ms
78: learn: 0.0206811    total: 297ms    remaining: 496ms
79: learn: 0.0204430    total: 300ms    remaining: 492ms
80: learn: 0.0203922    total: 304ms    remaining: 488ms
81: learn: 0.0200939    total: 308ms    remaining: 484ms
82: learn: 0.0199211    total: 311ms    remaining: 480ms
83: learn: 0.0196117    total: 315ms    remaining: 476ms
84: learn: 0.0194669    total: 319ms    remaining: 472ms
85: learn: 0.0193178    total: 322ms    remaining: 468ms
86: learn: 0.0191396    total: 326ms    remaining: 464ms
87: learn: 0.0190651    total: 329ms    remaining: 460ms
88: learn: 0.0186288    total: 333ms    remaining: 456ms
89: learn: 0.0185490    total: 336ms    remaining: 452ms
90: learn: 0.0183698    total: 340ms    remaining: 448ms
91: learn: 0.0182195    total: 344ms    remaining: 444ms
92: learn: 0.0180186    total: 347ms    remaining: 440ms
93: learn: 0.0177397    total: 352ms    remaining: 439ms
94: learn: 0.0174767    total: 356ms    remaining: 435ms
95: learn: 0.0172098    total: 360ms    remaining: 431ms
96: learn: 0.0168086    total: 363ms    remaining: 427ms
97: learn: 0.0167187    total: 367ms    remaining: 423ms
98: learn: 0.0164755    total: 370ms    remaining: 419ms
99: learn: 0.0160633    total: 374ms    remaining: 415ms
100:    learn: 0.0157896    total: 378ms    remaining: 412ms
101:    learn: 0.0155115    total: 382ms    remaining: 408ms
102:    learn: 0.0152819    total: 385ms    remaining: 404ms
103:    learn: 0.0150151    total: 389ms    remaining: 401ms
104:    learn: 0.0148984    total: 393ms    remaining: 397ms
105:    learn: 0.0147087    total: 397ms    remaining: 393ms
106:    learn: 0.0145420    total: 401ms    remaining: 390ms
107:    learn: 0.0143752    total: 406ms    remaining: 387ms
108:    learn: 0.0142822    total: 410ms    remaining: 384ms
109:    learn: 0.0140765    total: 414ms    remaining: 380ms
110:    learn: 0.0137482    total: 417ms    remaining: 376ms
111:    learn: 0.0136875    total: 421ms    remaining: 372ms
112:    learn: 0.0134740    total: 425ms    remaining: 368ms
113:    learn: 0.0134209    total: 428ms    remaining: 364ms
114:    learn: 0.0133689    total: 432ms    remaining: 361ms
115:    learn: 0.0132263    total: 435ms    remaining: 357ms
116:    learn: 0.0131776    total: 439ms    remaining: 353ms
117:    learn: 0.0130947    total: 442ms    remaining: 349ms
118:    learn: 0.0130600    total: 446ms    remaining: 345ms
119:    learn: 0.0129622    total: 449ms    remaining: 341ms
120:    learn: 0.0127506    total: 453ms    remaining: 337ms
121:    learn: 0.0126252    total: 456ms    remaining: 333ms
122:    learn: 0.0124666    total: 460ms    remaining: 329ms
123:    learn: 0.0123702    total: 464ms    remaining: 325ms
124:    learn: 0.0122795    total: 467ms    remaining: 321ms
125:    learn: 0.0120049    total: 471ms    remaining: 318ms
126:    learn: 0.0119549    total: 474ms    remaining: 314ms
127:    learn: 0.0119003    total: 478ms    remaining: 310ms
128:    learn: 0.0117982    total: 482ms    remaining: 306ms
129:    learn: 0.0117594    total: 485ms    remaining: 303ms
130:    learn: 0.0116680    total: 489ms    remaining: 299ms
131:    learn: 0.0115628    total: 493ms    remaining: 295ms
132:    learn: 0.0114183    total: 497ms    remaining: 291ms
133:    learn: 0.0113817    total: 500ms    remaining: 287ms
134:    learn: 0.0113487    total: 504ms    remaining: 284ms
135:    learn: 0.0111387    total: 508ms    remaining: 280ms
136:    learn: 0.0110462    total: 513ms    remaining: 277ms
137:    learn: 0.0109793    total: 518ms    remaining: 274ms
138:    learn: 0.0109251    total: 522ms    remaining: 271ms
139:    learn: 0.0107954    total: 527ms    remaining: 267ms
140:    learn: 0.0107308    total: 531ms    remaining: 263ms
141:    learn: 0.0106845    total: 534ms    remaining: 260ms
142:    learn: 0.0106669    total: 538ms    remaining: 256ms
143:    learn: 0.0106095    total: 541ms    remaining: 252ms
144:    learn: 0.0105467    total: 545ms    remaining: 248ms
145:    learn: 0.0104474    total: 549ms    remaining: 244ms
146:    learn: 0.0103045    total: 552ms    remaining: 240ms
147:    learn: 0.0101687    total: 556ms    remaining: 237ms
148:    learn: 0.0100430    total: 560ms    remaining: 233ms
149:    learn: 0.0099747    total: 563ms    remaining: 229ms
150:    learn: 0.0098653    total: 567ms    remaining: 225ms
151:    learn: 0.0098383    total: 570ms    remaining: 221ms
152:    learn: 0.0097899    total: 574ms    remaining: 218ms
153:    learn: 0.0097728    total: 577ms    remaining: 214ms
154:    learn: 0.0097557    total: 581ms    remaining: 210ms
155:    learn: 0.0096150    total: 584ms    remaining: 206ms
156:    learn: 0.0095693    total: 588ms    remaining: 202ms
157:    learn: 0.0095160    total: 591ms    remaining: 198ms
158:    learn: 0.0094628    total: 595ms    remaining: 195ms
159:    learn: 0.0093264    total: 600ms    remaining: 191ms
160:    learn: 0.0092293    total: 604ms    remaining: 188ms
161:    learn: 0.0091266    total: 608ms    remaining: 184ms
162:    learn: 0.0090731    total: 611ms    remaining: 180ms
163:    learn: 0.0089242    total: 615ms    remaining: 176ms
164:    learn: 0.0088021    total: 619ms    remaining: 172ms
165:    learn: 0.0087592    total: 622ms    remaining: 169ms
166:    learn: 0.0087228    total: 625ms    remaining: 165ms
167:    learn: 0.0086275    total: 629ms    remaining: 161ms
168:    learn: 0.0085051    total: 632ms    remaining: 157ms
169:    learn: 0.0084308    total: 636ms    remaining: 153ms
170:    learn: 0.0083421    total: 640ms    remaining: 150ms
171:    learn: 0.0082414    total: 644ms    remaining: 146ms
172:    learn: 0.0082292    total: 647ms    remaining: 142ms
173:    learn: 0.0081770    total: 651ms    remaining: 138ms
174:    learn: 0.0081571    total: 655ms    remaining: 135ms
175:    learn: 0.0080286    total: 658ms    remaining: 131ms
176:    learn: 0.0079188    total: 664ms    remaining: 128ms
177:    learn: 0.0078508    total: 670ms    remaining: 124ms
178:    learn: 0.0078102    total: 677ms    remaining: 121ms
179:    learn: 0.0077278    total: 683ms    remaining: 118ms
180:    learn: 0.0077056    total: 689ms    remaining: 114ms
181:    learn: 0.0076492    total: 695ms    remaining: 111ms
182:    learn: 0.0075864    total: 699ms    remaining: 107ms
183:    learn: 0.0075724    total: 703ms    remaining: 103ms
184:    learn: 0.0075317    total: 706ms    remaining: 99.2ms
185:    learn: 0.0074515    total: 710ms    remaining: 95.4ms
186:    learn: 0.0074384    total: 714ms    remaining: 91.6ms
187:    learn: 0.0073747    total: 717ms    remaining: 87.8ms
188:    learn: 0.0072974    total: 721ms    remaining: 83.9ms
189:    learn: 0.0072099    total: 725ms    remaining: 80.1ms
190:    learn: 0.0072009    total: 728ms    remaining: 76.3ms
191:    learn: 0.0071410    total: 732ms    remaining: 72.4ms
192:    learn: 0.0070879    total: 735ms    remaining: 68.6ms
193:    learn: 0.0070102    total: 739ms    remaining: 64.8ms
194:    learn: 0.0069934    total: 744ms    remaining: 61ms
195:    learn: 0.0069733    total: 748ms    remaining: 57.2ms
196:    learn: 0.0069622    total: 751ms    remaining: 53.4ms
197:    learn: 0.0069016    total: 755ms    remaining: 49.6ms
198:    learn: 0.0068639    total: 758ms    remaining: 45.7ms
199:    learn: 0.0068431    total: 762ms    remaining: 41.9ms
200:    learn: 0.0067064    total: 766ms    remaining: 38.1ms
201:    learn: 0.0066015    total: 769ms    remaining: 34.3ms
202:    learn: 0.0065712    total: 773ms    remaining: 30.4ms
203:    learn: 0.0065384    total: 776ms    remaining: 26.6ms
204:    learn: 0.0064966    total: 780ms    remaining: 22.8ms
205:    learn: 0.0064426    total: 783ms    remaining: 19ms
206:    learn: 0.0064204    total: 787ms    remaining: 15.2ms
207:    learn: 0.0063792    total: 790ms    remaining: 11.4ms
208:    learn: 0.0063232    total: 794ms    remaining: 7.59ms
209:    learn: 0.0063041    total: 798ms    remaining: 3.8ms
210:    learn: 0.0062616    total: 802ms    remaining: 0us

Mengevaluasi: negeq_impute_all_XGBoost

Mengevaluasi: negeq_impute_all_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 82, number of negative: 4533
[LightGBM] [Info] Total Bins 11440
[LightGBM] [Info] Number of data points in the train set: 4615, number of used features: 73
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.017768 -> initscore=-4.012420
[LightGBM] [Info] Start training from score -4.012420
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] Stopped training because there are no more leaves that meet the split requirements

Mengevaluasi: negeq_impute_all_CatBoost
0:  learn: 0.6793100    total: 5.63ms   remaining: 1.78s
1:  learn: 0.6655610    total: 10.6ms   remaining: 1.68s
2:  learn: 0.6521190    total: 15.2ms   remaining: 1.6s
3:  learn: 0.6392004    total: 20.2ms   remaining: 1.59s
4:  learn: 0.6266593    total: 25.1ms   remaining: 1.57s
5:  learn: 0.6142242    total: 29.3ms   remaining: 1.52s
6:  learn: 0.6020665    total: 33.5ms   remaining: 1.49s
7:  learn: 0.5903293    total: 38ms remaining: 1.47s
8:  learn: 0.5786397    total: 42.1ms   remaining: 1.45s
9:  learn: 0.5674646    total: 46.1ms   remaining: 1.42s
10: learn: 0.5565816    total: 50.3ms   remaining: 1.4s
11: learn: 0.5457007    total: 54.4ms   remaining: 1.39s
12: learn: 0.5352869    total: 58.6ms   remaining: 1.37s
13: learn: 0.5248629    total: 62.6ms   remaining: 1.36s
14: learn: 0.5152215    total: 66.8ms   remaining: 1.35s
15: learn: 0.5053202    total: 70.9ms   remaining: 1.34s
16: learn: 0.4960380    total: 75ms remaining: 1.33s
17: learn: 0.4869101    total: 79.1ms   remaining: 1.32s
18: learn: 0.4777628    total: 83.1ms   remaining: 1.31s
19: learn: 0.4689865    total: 87.1ms   remaining: 1.3s
20: learn: 0.4602456    total: 91.5ms   remaining: 1.29s
21: learn: 0.4515626    total: 95.4ms   remaining: 1.28s
22: learn: 0.4432034    total: 99.3ms   remaining: 1.27s
23: learn: 0.4351546    total: 104ms    remaining: 1.27s
24: learn: 0.4269656    total: 108ms    remaining: 1.26s
25: learn: 0.4192408    total: 112ms    remaining: 1.26s
26: learn: 0.4119244    total: 116ms    remaining: 1.25s
27: learn: 0.4048176    total: 121ms    remaining: 1.25s
28: learn: 0.3977895    total: 125ms    remaining: 1.25s
29: learn: 0.3908737    total: 129ms    remaining: 1.24s
30: learn: 0.3840048    total: 134ms    remaining: 1.24s
31: learn: 0.3774867    total: 138ms    remaining: 1.23s
32: learn: 0.3708718    total: 142ms    remaining: 1.23s
33: learn: 0.3646133    total: 148ms    remaining: 1.24s
34: learn: 0.3582663    total: 155ms    remaining: 1.25s
35: learn: 0.3524406    total: 162ms    remaining: 1.27s
36: learn: 0.3463777    total: 169ms    remaining: 1.28s
37: learn: 0.3406940    total: 176ms    remaining: 1.3s
38: learn: 0.3350290    total: 182ms    remaining: 1.3s
39: learn: 0.3294462    total: 186ms    remaining: 1.29s
40: learn: 0.3238938    total: 190ms    remaining: 1.28s
41: learn: 0.3185726    total: 194ms    remaining: 1.27s
42: learn: 0.3134438    total: 198ms    remaining: 1.27s
43: learn: 0.3084518    total: 203ms    remaining: 1.26s
44: learn: 0.3036071    total: 208ms    remaining: 1.26s
45: learn: 0.2988620    total: 212ms    remaining: 1.25s
46: learn: 0.2942930    total: 217ms    remaining: 1.25s
47: learn: 0.2897792    total: 221ms    remaining: 1.24s
48: learn: 0.2855683    total: 225ms    remaining: 1.24s
49: learn: 0.2812604    total: 230ms    remaining: 1.23s
50: learn: 0.2769980    total: 234ms    remaining: 1.22s
51: learn: 0.2728225    total: 238ms    remaining: 1.22s
52: learn: 0.2688403    total: 242ms    remaining: 1.21s
53: learn: 0.2649526    total: 246ms    remaining: 1.2s
54: learn: 0.2611512    total: 251ms    remaining: 1.2s
55: learn: 0.2573288    total: 255ms    remaining: 1.19s
56: learn: 0.2536567    total: 259ms    remaining: 1.19s
57: learn: 0.2500347    total: 264ms    remaining: 1.18s
58: learn: 0.2466750    total: 268ms    remaining: 1.18s
59: learn: 0.2432276    total: 272ms    remaining: 1.17s
60: learn: 0.2399842    total: 277ms    remaining: 1.17s
61: learn: 0.2368825    total: 282ms    remaining: 1.16s
62: learn: 0.2336293    total: 286ms    remaining: 1.16s
63: learn: 0.2304234    total: 290ms    remaining: 1.15s
64: learn: 0.2275071    total: 294ms    remaining: 1.15s
65: learn: 0.2245851    total: 298ms    remaining: 1.14s
66: learn: 0.2218210    total: 303ms    remaining: 1.13s
67: learn: 0.2189653    total: 307ms    remaining: 1.13s
68: learn: 0.2162492    total: 311ms    remaining: 1.12s
69: learn: 0.2135829    total: 316ms    remaining: 1.12s
70: learn: 0.2109848    total: 320ms    remaining: 1.11s
71: learn: 0.2084406    total: 324ms    remaining: 1.11s
72: learn: 0.2060354    total: 328ms    remaining: 1.1s
73: learn: 0.2035588    total: 332ms    remaining: 1.09s
74: learn: 0.2011080    total: 337ms    remaining: 1.09s
75: learn: 0.1987162    total: 341ms    remaining: 1.08s
76: learn: 0.1964223    total: 345ms    remaining: 1.08s
77: learn: 0.1941653    total: 349ms    remaining: 1.07s
78: learn: 0.1920537    total: 353ms    remaining: 1.07s
79: learn: 0.1899324    total: 357ms    remaining: 1.06s
80: learn: 0.1879277    total: 361ms    remaining: 1.06s
81: learn: 0.1858780    total: 365ms    remaining: 1.05s
82: learn: 0.1838661    total: 370ms    remaining: 1.05s
83: learn: 0.1818845    total: 374ms    remaining: 1.04s
84: learn: 0.1799324    total: 378ms    remaining: 1.04s
85: learn: 0.1780746    total: 383ms    remaining: 1.03s
86: learn: 0.1762037    total: 387ms    remaining: 1.03s
87: learn: 0.1744300    total: 391ms    remaining: 1.02s
88: learn: 0.1726602    total: 395ms    remaining: 1.02s
89: learn: 0.1709515    total: 399ms    remaining: 1.01s
90: learn: 0.1692851    total: 405ms    remaining: 1.01s
91: learn: 0.1676037    total: 410ms    remaining: 1.01s
92: learn: 0.1659118    total: 414ms    remaining: 1s
93: learn: 0.1643212    total: 418ms    remaining: 997ms
94: learn: 0.1627850    total: 422ms    remaining: 992ms
95: learn: 0.1612395    total: 426ms    remaining: 986ms
96: learn: 0.1597619    total: 430ms    remaining: 981ms
97: learn: 0.1582825    total: 435ms    remaining: 976ms
98: learn: 0.1569005    total: 439ms    remaining: 971ms
99: learn: 0.1554744    total: 443ms    remaining: 966ms
100:    learn: 0.1540831    total: 447ms    remaining: 961ms
101:    learn: 0.1527358    total: 451ms    remaining: 955ms
102:    learn: 0.1514129    total: 455ms    remaining: 950ms
103:    learn: 0.1501058    total: 459ms    remaining: 945ms
104:    learn: 0.1488436    total: 463ms    remaining: 940ms
105:    learn: 0.1476768    total: 468ms    remaining: 935ms
106:    learn: 0.1464523    total: 472ms    remaining: 930ms
107:    learn: 0.1452923    total: 476ms    remaining: 925ms
108:    learn: 0.1441711    total: 480ms    remaining: 920ms
109:    learn: 0.1430452    total: 484ms    remaining: 915ms
110:    learn: 0.1418849    total: 488ms    remaining: 910ms
111:    learn: 0.1408122    total: 492ms    remaining: 905ms
112:    learn: 0.1397693    total: 497ms    remaining: 902ms
113:    learn: 0.1387757    total: 503ms    remaining: 899ms
114:    learn: 0.1378277    total: 508ms    remaining: 896ms
115:    learn: 0.1368221    total: 513ms    remaining: 894ms
116:    learn: 0.1358716    total: 518ms    remaining: 891ms
117:    learn: 0.1349425    total: 523ms    remaining: 886ms
118:    learn: 0.1339851    total: 527ms    remaining: 882ms
119:    learn: 0.1330560    total: 531ms    remaining: 876ms
120:    learn: 0.1321491    total: 535ms    remaining: 871ms
121:    learn: 0.1312728    total: 539ms    remaining: 867ms
122:    learn: 0.1303811    total: 543ms    remaining: 862ms
123:    learn: 0.1295736    total: 548ms    remaining: 857ms
124:    learn: 0.1287431    total: 552ms    remaining: 852ms
125:    learn: 0.1278700    total: 556ms    remaining: 847ms
126:    learn: 0.1270746    total: 560ms    remaining: 842ms
127:    learn: 0.1262978    total: 564ms    remaining: 837ms
128:    learn: 0.1255414    total: 568ms    remaining: 832ms
129:    learn: 0.1247956    total: 572ms    remaining: 828ms
130:    learn: 0.1240596    total: 577ms    remaining: 823ms
131:    learn: 0.1233382    total: 581ms    remaining: 818ms
132:    learn: 0.1226446    total: 585ms    remaining: 813ms
133:    learn: 0.1219901    total: 589ms    remaining: 808ms
134:    learn: 0.1213476    total: 593ms    remaining: 804ms
135:    learn: 0.1206941    total: 597ms    remaining: 799ms
136:    learn: 0.1200319    total: 601ms    remaining: 794ms
137:    learn: 0.1193852    total: 607ms    remaining: 792ms
138:    learn: 0.1187318    total: 612ms    remaining: 788ms
139:    learn: 0.1181204    total: 616ms    remaining: 784ms
140:    learn: 0.1174907    total: 622ms    remaining: 781ms
141:    learn: 0.1168909    total: 627ms    remaining: 777ms
142:    learn: 0.1163264    total: 631ms    remaining: 773ms
143:    learn: 0.1157668    total: 636ms    remaining: 768ms
144:    learn: 0.1152079    total: 640ms    remaining: 764ms
145:    learn: 0.1146758    total: 644ms    remaining: 759ms
146:    learn: 0.1141244    total: 648ms    remaining: 754ms
147:    learn: 0.1135989    total: 652ms    remaining: 749ms
148:    learn: 0.1130730    total: 656ms    remaining: 744ms
149:    learn: 0.1125623    total: 660ms    remaining: 739ms
150:    learn: 0.1120264    total: 664ms    remaining: 735ms
151:    learn: 0.1115309    total: 668ms    remaining: 730ms
152:    learn: 0.1110520    total: 672ms    remaining: 725ms
153:    learn: 0.1105524    total: 676ms    remaining: 720ms
154:    learn: 0.1100746    total: 680ms    remaining: 716ms
155:    learn: 0.1096095    total: 684ms    remaining: 711ms
156:    learn: 0.1091475    total: 688ms    remaining: 706ms
157:    learn: 0.1087066    total: 692ms    remaining: 701ms
158:    learn: 0.1082816    total: 696ms    remaining: 696ms
159:    learn: 0.1078674    total: 700ms    remaining: 692ms
160:    learn: 0.1074267    total: 705ms    remaining: 687ms
161:    learn: 0.1069839    total: 709ms    remaining: 683ms
162:    learn: 0.1065938    total: 713ms    remaining: 678ms
163:    learn: 0.1062085    total: 717ms    remaining: 673ms
164:    learn: 0.1058280    total: 721ms    remaining: 669ms
165:    learn: 0.1054490    total: 726ms    remaining: 664ms
166:    learn: 0.1050969    total: 729ms    remaining: 660ms
167:    learn: 0.1047139    total: 734ms    remaining: 655ms
168:    learn: 0.1043361    total: 738ms    remaining: 651ms
169:    learn: 0.1039716    total: 742ms    remaining: 646ms
170:    learn: 0.1036300    total: 746ms    remaining: 641ms
171:    learn: 0.1032828    total: 751ms    remaining: 638ms
172:    learn: 0.1029551    total: 756ms    remaining: 634ms
173:    learn: 0.1026126    total: 760ms    remaining: 629ms
174:    learn: 0.1022891    total: 764ms    remaining: 625ms
175:    learn: 0.1019575    total: 768ms    remaining: 620ms
176:    learn: 0.1016152    total: 772ms    remaining: 615ms
177:    learn: 0.1012909    total: 777ms    remaining: 611ms
178:    learn: 0.1009856    total: 781ms    remaining: 606ms
179:    learn: 0.1006655    total: 785ms    remaining: 602ms
180:    learn: 0.1003205    total: 789ms    remaining: 597ms
181:    learn: 0.1000315    total: 793ms    remaining: 593ms
182:    learn: 0.0997541    total: 798ms    remaining: 588ms
183:    learn: 0.0994593    total: 802ms    remaining: 584ms
184:    learn: 0.0991912    total: 808ms    remaining: 581ms
185:    learn: 0.0988925    total: 813ms    remaining: 577ms
186:    learn: 0.0986208    total: 817ms    remaining: 573ms
187:    learn: 0.0983612    total: 822ms    remaining: 568ms
188:    learn: 0.0981026    total: 826ms    remaining: 563ms
189:    learn: 0.0978299    total: 830ms    remaining: 559ms
190:    learn: 0.0975893    total: 834ms    remaining: 555ms
191:    learn: 0.0973324    total: 838ms    remaining: 550ms
192:    learn: 0.0970867    total: 843ms    remaining: 546ms
193:    learn: 0.0968255    total: 847ms    remaining: 541ms
194:    learn: 0.0965951    total: 851ms    remaining: 537ms
195:    learn: 0.0963442    total: 855ms    remaining: 532ms
196:    learn: 0.0961311    total: 859ms    remaining: 528ms
197:    learn: 0.0959137    total: 863ms    remaining: 523ms
198:    learn: 0.0956919    total: 868ms    remaining: 519ms
199:    learn: 0.0954843    total: 872ms    remaining: 514ms
200:    learn: 0.0952561    total: 876ms    remaining: 510ms
201:    learn: 0.0950406    total: 880ms    remaining: 505ms
202:    learn: 0.0948405    total: 884ms    remaining: 501ms
203:    learn: 0.0946307    total: 888ms    remaining: 496ms
204:    learn: 0.0944305    total: 893ms    remaining: 492ms
205:    learn: 0.0942347    total: 896ms    remaining: 487ms
206:    learn: 0.0940513    total: 901ms    remaining: 483ms
207:    learn: 0.0938250    total: 905ms    remaining: 479ms
208:    learn: 0.0936260    total: 909ms    remaining: 474ms
209:    learn: 0.0934437    total: 913ms    remaining: 470ms
210:    learn: 0.0932577    total: 917ms    remaining: 465ms
211:    learn: 0.0930653    total: 922ms    remaining: 461ms
212:    learn: 0.0928497    total: 926ms    remaining: 456ms
213:    learn: 0.0926788    total: 930ms    remaining: 452ms
214:    learn: 0.0924771    total: 934ms    remaining: 448ms
215:    learn: 0.0922952    total: 938ms    remaining: 443ms
216:    learn: 0.0921267    total: 942ms    remaining: 439ms
217:    learn: 0.0919805    total: 946ms    remaining: 434ms
218:    learn: 0.0918133    total: 950ms    remaining: 430ms
219:    learn: 0.0916082    total: 954ms    remaining: 425ms
220:    learn: 0.0914468    total: 958ms    remaining: 421ms
221:    learn: 0.0912933    total: 963ms    remaining: 416ms
222:    learn: 0.0911536    total: 967ms    remaining: 412ms
223:    learn: 0.0910061    total: 971ms    remaining: 408ms
224:    learn: 0.0908650    total: 975ms    remaining: 403ms
225:    learn: 0.0906926    total: 980ms    remaining: 399ms
226:    learn: 0.0905509    total: 985ms    remaining: 395ms
227:    learn: 0.0903828    total: 990ms    remaining: 391ms
228:    learn: 0.0902342    total: 994ms    remaining: 386ms
229:    learn: 0.0900749    total: 998ms    remaining: 382ms
230:    learn: 0.0899347    total: 1s   remaining: 378ms
231:    learn: 0.0897826    total: 1.01s    remaining: 374ms
232:    learn: 0.0896188    total: 1.01s    remaining: 370ms
233:    learn: 0.0894365    total: 1.02s    remaining: 366ms
234:    learn: 0.0892910    total: 1.02s    remaining: 361ms
235:    learn: 0.0891442    total: 1.03s    remaining: 357ms
236:    learn: 0.0889955    total: 1.03s    remaining: 353ms
237:    learn: 0.0888548    total: 1.03s    remaining: 348ms
238:    learn: 0.0887362    total: 1.04s    remaining: 344ms
239:    learn: 0.0886004    total: 1.04s    remaining: 339ms
240:    learn: 0.0884802    total: 1.05s    remaining: 335ms
241:    learn: 0.0883700    total: 1.05s    remaining: 331ms
242:    learn: 0.0882430    total: 1.06s    remaining: 326ms
243:    learn: 0.0881041    total: 1.06s    remaining: 322ms
244:    learn: 0.0879844    total: 1.06s    remaining: 318ms
245:    learn: 0.0878789    total: 1.07s    remaining: 313ms
246:    learn: 0.0877651    total: 1.07s    remaining: 309ms
247:    learn: 0.0876537    total: 1.08s    remaining: 304ms
248:    learn: 0.0875388    total: 1.08s    remaining: 300ms
249:    learn: 0.0874327    total: 1.09s    remaining: 296ms
250:    learn: 0.0873077    total: 1.09s    remaining: 291ms
251:    learn: 0.0872054    total: 1.09s    remaining: 287ms
252:    learn: 0.0870895    total: 1.1s remaining: 282ms
253:    learn: 0.0869836    total: 1.1s remaining: 278ms
254:    learn: 0.0868478    total: 1.11s    remaining: 274ms
255:    learn: 0.0867459    total: 1.11s    remaining: 269ms
256:    learn: 0.0866347    total: 1.12s    remaining: 265ms
257:    learn: 0.0865579    total: 1.12s    remaining: 261ms
258:    learn: 0.0864657    total: 1.12s    remaining: 256ms
259:    learn: 0.0863669    total: 1.13s    remaining: 252ms
260:    learn: 0.0862659    total: 1.13s    remaining: 247ms
261:    learn: 0.0861572    total: 1.14s    remaining: 243ms
262:    learn: 0.0860554    total: 1.14s    remaining: 239ms
263:    learn: 0.0859668    total: 1.14s    remaining: 234ms
264:    learn: 0.0858775    total: 1.15s    remaining: 230ms
265:    learn: 0.0857537    total: 1.15s    remaining: 225ms
266:    learn: 0.0856476    total: 1.16s    remaining: 221ms
267:    learn: 0.0855516    total: 1.16s    remaining: 217ms
268:    learn: 0.0854542    total: 1.17s    remaining: 213ms
269:    learn: 0.0853540    total: 1.18s    remaining: 210ms
270:    learn: 0.0852459    total: 1.19s    remaining: 206ms
271:    learn: 0.0851548    total: 1.19s    remaining: 202ms
272:    learn: 0.0850473    total: 1.2s remaining: 197ms
273:    learn: 0.0849474    total: 1.2s remaining: 193ms
274:    learn: 0.0848222    total: 1.21s    remaining: 189ms
275:    learn: 0.0847368    total: 1.21s    remaining: 185ms
276:    learn: 0.0846463    total: 1.22s    remaining: 180ms
277:    learn: 0.0845388    total: 1.22s    remaining: 176ms
278:    learn: 0.0844779    total: 1.23s    remaining: 171ms
279:    learn: 0.0843818    total: 1.23s    remaining: 167ms
280:    learn: 0.0843024    total: 1.23s    remaining: 162ms
281:    learn: 0.0842138    total: 1.24s    remaining: 158ms
282:    learn: 0.0841324    total: 1.24s    remaining: 154ms
283:    learn: 0.0840147    total: 1.25s    remaining: 149ms
284:    learn: 0.0839505    total: 1.25s    remaining: 145ms
285:    learn: 0.0838566    total: 1.25s    remaining: 140ms
286:    learn: 0.0837501    total: 1.26s    remaining: 136ms
287:    learn: 0.0836919    total: 1.26s    remaining: 132ms
288:    learn: 0.0836200    total: 1.27s    remaining: 127ms
289:    learn: 0.0835416    total: 1.27s    remaining: 123ms
290:    learn: 0.0834520    total: 1.28s    remaining: 118ms
291:    learn: 0.0833731    total: 1.28s    remaining: 114ms
292:    learn: 0.0832805    total: 1.28s    remaining: 110ms
293:    learn: 0.0831865    total: 1.29s    remaining: 105ms
294:    learn: 0.0831265    total: 1.29s    remaining: 101ms
295:    learn: 0.0830673    total: 1.3s remaining: 96.4ms
296:    learn: 0.0829758    total: 1.3s remaining: 91.9ms
297:    learn: 0.0829123    total: 1.3s remaining: 87.5ms
298:    learn: 0.0828465    total: 1.31s    remaining: 83.2ms
299:    learn: 0.0827669    total: 1.31s    remaining: 78.8ms
300:    learn: 0.0826968    total: 1.32s    remaining: 74.4ms
301:    learn: 0.0826130    total: 1.32s    remaining: 70ms
302:    learn: 0.0825513    total: 1.32s    remaining: 65.6ms
303:    learn: 0.0824807    total: 1.33s    remaining: 61.2ms
304:    learn: 0.0824207    total: 1.33s    remaining: 56.8ms
305:    learn: 0.0823480    total: 1.34s    remaining: 52.4ms
306:    learn: 0.0822973    total: 1.34s    remaining: 48ms
307:    learn: 0.0822188    total: 1.34s    remaining: 43.7ms
308:    learn: 0.0821513    total: 1.35s    remaining: 39.3ms
309:    learn: 0.0820910    total: 1.35s    remaining: 34.9ms
310:    learn: 0.0820288    total: 1.36s    remaining: 30.5ms
311:    learn: 0.0819724    total: 1.36s    remaining: 26.2ms
312:    learn: 0.0819007    total: 1.36s    remaining: 21.8ms
313:    learn: 0.0818530    total: 1.37s    remaining: 17.4ms
314:    learn: 0.0817895    total: 1.37s    remaining: 13.1ms
315:    learn: 0.0817270    total: 1.38s    remaining: 8.72ms
316:    learn: 0.0816847    total: 1.38s    remaining: 4.36ms
317:    learn: 0.0816282    total: 1.39s    remaining: 0us

Mengevaluasi: negeq_impute_corr_XGBoost

Mengevaluasi: negeq_impute_corr_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 82, number of negative: 4533
[LightGBM] [Info] Total Bins 8928
[LightGBM] [Info] Number of data points in the train set: 4615, number of used features: 60
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.017768 -> initscore=-4.012420
[LightGBM] [Info] Start training from score -4.012420
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: negeq_impute_corr_CatBoost
0:  learn: 0.6819931    total: 2.49ms   remaining: 281ms
1:  learn: 0.6710326    total: 5ms  remaining: 280ms
2:  learn: 0.6602707    total: 7.08ms   remaining: 262ms
3:  learn: 0.6496253    total: 9.1ms    remaining: 250ms
4:  learn: 0.6392123    total: 11.1ms   remaining: 242ms
5:  learn: 0.6289742    total: 13.1ms   remaining: 236ms
6:  learn: 0.6187667    total: 15.2ms   remaining: 233ms
7:  learn: 0.6089453    total: 17.3ms   remaining: 229ms
8:  learn: 0.5993277    total: 19.4ms   remaining: 226ms
9:  learn: 0.5898742    total: 21.4ms   remaining: 223ms
10: learn: 0.5805145    total: 23.6ms   remaining: 221ms
11: learn: 0.5714000    total: 25.7ms   remaining: 219ms
12: learn: 0.5624389    total: 27.9ms   remaining: 217ms
13: learn: 0.5536681    total: 29.9ms   remaining: 213ms
14: learn: 0.5450967    total: 31.8ms   remaining: 210ms
15: learn: 0.5366437    total: 33.8ms   remaining: 207ms
16: learn: 0.5284140    total: 35.7ms   remaining: 204ms
17: learn: 0.5201965    total: 37.7ms   remaining: 201ms
18: learn: 0.5122753    total: 39.7ms   remaining: 198ms
19: learn: 0.5044549    total: 41.6ms   remaining: 196ms
20: learn: 0.4967822    total: 43.7ms   remaining: 194ms
21: learn: 0.4892445    total: 45.7ms   remaining: 191ms
22: learn: 0.4818738    total: 47.8ms   remaining: 189ms
23: learn: 0.4745788    total: 49.8ms   remaining: 187ms
24: learn: 0.4674857    total: 51.8ms   remaining: 185ms
25: learn: 0.4604262    total: 53.8ms   remaining: 182ms
26: learn: 0.4536092    total: 56.1ms   remaining: 181ms
27: learn: 0.4468881    total: 58.2ms   remaining: 179ms
28: learn: 0.4402692    total: 60.2ms   remaining: 176ms
29: learn: 0.4338139    total: 62.1ms   remaining: 174ms
30: learn: 0.4274723    total: 64.2ms   remaining: 172ms
31: learn: 0.4212532    total: 66.3ms   remaining: 170ms
32: learn: 0.4151284    total: 68.2ms   remaining: 167ms
33: learn: 0.4091202    total: 70.2ms   remaining: 165ms
34: learn: 0.4032873    total: 72.2ms   remaining: 163ms
35: learn: 0.3974354    total: 74.2ms   remaining: 161ms
36: learn: 0.3917903    total: 76.2ms   remaining: 159ms
37: learn: 0.3862442    total: 78.2ms   remaining: 156ms
38: learn: 0.3808091    total: 80.2ms   remaining: 154ms
39: learn: 0.3754910    total: 82.2ms   remaining: 152ms
40: learn: 0.3702604    total: 84.1ms   remaining: 150ms
41: learn: 0.3651016    total: 86.2ms   remaining: 148ms
42: learn: 0.3600422    total: 88.4ms   remaining: 146ms
43: learn: 0.3550669    total: 90.3ms   remaining: 144ms
44: learn: 0.3501739    total: 92.4ms   remaining: 142ms
45: learn: 0.3454429    total: 94.4ms   remaining: 140ms
46: learn: 0.3407634    total: 96.3ms   remaining: 137ms
47: learn: 0.3361857    total: 98.4ms   remaining: 135ms
48: learn: 0.3317006    total: 100ms    remaining: 133ms
49: learn: 0.3272976    total: 102ms    remaining: 131ms
50: learn: 0.3229967    total: 104ms    remaining: 129ms
51: learn: 0.3187822    total: 106ms    remaining: 127ms
52: learn: 0.3146497    total: 108ms    remaining: 125ms
53: learn: 0.3106096    total: 110ms    remaining: 123ms
54: learn: 0.3065986    total: 113ms    remaining: 121ms
55: learn: 0.3027094    total: 114ms    remaining: 119ms
56: learn: 0.2988509    total: 116ms    remaining: 116ms
57: learn: 0.2950969    total: 118ms    remaining: 114ms
58: learn: 0.2914550    total: 121ms    remaining: 112ms
59: learn: 0.2878337    total: 123ms    remaining: 110ms
60: learn: 0.2841910    total: 125ms    remaining: 108ms
61: learn: 0.2807028    total: 127ms    remaining: 106ms
62: learn: 0.2772496    total: 129ms    remaining: 104ms
63: learn: 0.2738740    total: 131ms    remaining: 102ms
64: learn: 0.2706059    total: 133ms    remaining: 100ms
65: learn: 0.2673900    total: 135ms    remaining: 97.9ms
66: learn: 0.2642657    total: 137ms    remaining: 95.9ms
67: learn: 0.2611865    total: 139ms    remaining: 93.9ms
68: learn: 0.2581898    total: 141ms    remaining: 91.8ms
69: learn: 0.2552566    total: 143ms    remaining: 89.7ms
70: learn: 0.2523416    total: 145ms    remaining: 87.7ms
71: learn: 0.2495073    total: 147ms    remaining: 85.6ms
72: learn: 0.2466977    total: 149ms    remaining: 83.5ms
73: learn: 0.2438793    total: 151ms    remaining: 81.5ms
74: learn: 0.2411521    total: 153ms    remaining: 79.5ms
75: learn: 0.2384636    total: 155ms    remaining: 77.5ms
76: learn: 0.2358552    total: 157ms    remaining: 75.5ms
77: learn: 0.2332714    total: 159ms    remaining: 73.4ms
78: learn: 0.2307292    total: 161ms    remaining: 71.3ms
79: learn: 0.2282618    total: 163ms    remaining: 69.3ms
80: learn: 0.2258850    total: 165ms    remaining: 67.1ms
81: learn: 0.2235114    total: 167ms    remaining: 65.1ms
82: learn: 0.2211938    total: 169ms    remaining: 63ms
83: learn: 0.2189179    total: 171ms    remaining: 61ms
84: learn: 0.2167124    total: 173ms    remaining: 58.9ms
85: learn: 0.2144864    total: 175ms    remaining: 56.9ms
86: learn: 0.2123380    total: 177ms    remaining: 54.9ms
87: learn: 0.2102356    total: 179ms    remaining: 52.9ms
88: learn: 0.2081760    total: 181ms    remaining: 50.8ms
89: learn: 0.2061644    total: 183ms    remaining: 48.8ms
90: learn: 0.2041643    total: 185ms    remaining: 46.7ms
91: learn: 0.2022122    total: 187ms    remaining: 44.7ms
92: learn: 0.2002836    total: 189ms    remaining: 42.6ms
93: learn: 0.1983941    total: 191ms    remaining: 40.6ms
94: learn: 0.1965547    total: 193ms    remaining: 38.6ms
95: learn: 0.1946982    total: 195ms    remaining: 36.6ms
96: learn: 0.1929046    total: 197ms    remaining: 34.5ms
97: learn: 0.1911396    total: 201ms    remaining: 32.8ms
98: learn: 0.1894388    total: 204ms    remaining: 30.8ms
99: learn: 0.1877183    total: 206ms    remaining: 28.8ms
100:    learn: 0.1860525    total: 208ms    remaining: 26.8ms
101:    learn: 0.1844165    total: 210ms    remaining: 24.7ms
102:    learn: 0.1828385    total: 212ms    remaining: 22.6ms
103:    learn: 0.1812860    total: 214ms    remaining: 20.6ms
104:    learn: 0.1797417    total: 216ms    remaining: 18.5ms
105:    learn: 0.1782015    total: 218ms    remaining: 16.5ms
106:    learn: 0.1767326    total: 220ms    remaining: 14.4ms
107:    learn: 0.1752763    total: 222ms    remaining: 12.3ms
108:    learn: 0.1738409    total: 224ms    remaining: 10.3ms
109:    learn: 0.1724514    total: 226ms    remaining: 8.21ms
110:    learn: 0.1710725    total: 228ms    remaining: 6.15ms
111:    learn: 0.1697307    total: 230ms    remaining: 4.1ms
112:    learn: 0.1684009    total: 232ms    remaining: 2.05ms
113:    learn: 0.1670812    total: 234ms    remaining: 0us

Mengevaluasi: negeq_impute_pca_XGBoost

Mengevaluasi: negeq_impute_pca_LightGBM
[LightGBM] [Info] Number of positive: 82, number of negative: 4533
[LightGBM] [Info] Total Bins 10200
[LightGBM] [Info] Number of data points in the train set: 4615, number of used features: 40
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.017768 -> initscore=-4.012420
[LightGBM] [Info] Start training from score -4.012420
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: negeq_impute_pca_CatBoost
0:  learn: 0.6737728    total: 14.1ms   remaining: 2.43s
1:  learn: 0.6551259    total: 24.9ms   remaining: 2.13s
2:  learn: 0.6370392    total: 35.2ms   remaining: 1.99s
3:  learn: 0.6194413    total: 45ms remaining: 1.9s
4:  learn: 0.6022486    total: 54.7ms   remaining: 1.84s
5:  learn: 0.5855931    total: 64.4ms   remaining: 1.79s
6:  learn: 0.5698223    total: 74.1ms   remaining: 1.76s
7:  learn: 0.5543202    total: 81.5ms   remaining: 1.68s
8:  learn: 0.5393030    total: 88ms remaining: 1.6s
9:  learn: 0.5248474    total: 94.4ms   remaining: 1.54s
10: learn: 0.5108880    total: 101ms    remaining: 1.48s
11: learn: 0.4974290    total: 107ms    remaining: 1.44s
12: learn: 0.4844547    total: 114ms    remaining: 1.4s
13: learn: 0.4718804    total: 120ms    remaining: 1.37s
14: learn: 0.4594353    total: 127ms    remaining: 1.33s
15: learn: 0.4474992    total: 133ms    remaining: 1.3s
16: learn: 0.4360081    total: 139ms    remaining: 1.28s
17: learn: 0.4248441    total: 146ms    remaining: 1.25s
18: learn: 0.4141802    total: 152ms    remaining: 1.23s
19: learn: 0.4035218    total: 159ms    remaining: 1.21s
20: learn: 0.3936675    total: 165ms    remaining: 1.2s
21: learn: 0.3841699    total: 171ms    remaining: 1.18s
22: learn: 0.3747961    total: 178ms    remaining: 1.16s
23: learn: 0.3658604    total: 184ms    remaining: 1.14s
24: learn: 0.3572392    total: 191ms    remaining: 1.13s
25: learn: 0.3488776    total: 198ms    remaining: 1.12s
26: learn: 0.3407787    total: 205ms    remaining: 1.11s
27: learn: 0.3330153    total: 213ms    remaining: 1.1s
28: learn: 0.3254850    total: 221ms    remaining: 1.1s
29: learn: 0.3181868    total: 227ms    remaining: 1.08s
30: learn: 0.3111056    total: 234ms    remaining: 1.07s
31: learn: 0.3042652    total: 240ms    remaining: 1.06s
32: learn: 0.2976407    total: 246ms    remaining: 1.04s
33: learn: 0.2911642    total: 252ms    remaining: 1.03s
34: learn: 0.2848565    total: 259ms    remaining: 1.02s
35: learn: 0.2788575    total: 265ms    remaining: 1.01s
36: learn: 0.2729634    total: 272ms    remaining: 999ms
37: learn: 0.2673321    total: 278ms    remaining: 988ms
38: learn: 0.2618624    total: 284ms    remaining: 977ms
39: learn: 0.2566570    total: 291ms    remaining: 967ms
40: learn: 0.2514978    total: 297ms    remaining: 956ms
41: learn: 0.2466195    total: 303ms    remaining: 946ms
42: learn: 0.2419522    total: 310ms    remaining: 936ms
43: learn: 0.2373753    total: 316ms    remaining: 926ms
44: learn: 0.2328166    total: 323ms    remaining: 917ms
45: learn: 0.2285419    total: 329ms    remaining: 908ms
46: learn: 0.2242214    total: 335ms    remaining: 898ms
47: learn: 0.2201056    total: 341ms    remaining: 889ms
48: learn: 0.2161233    total: 348ms    remaining: 880ms
49: learn: 0.2121937    total: 354ms    remaining: 872ms
50: learn: 0.2086150    total: 361ms    remaining: 863ms
51: learn: 0.2050556    total: 367ms    remaining: 855ms
52: learn: 0.2015829    total: 374ms    remaining: 846ms
53: learn: 0.1982526    total: 380ms    remaining: 838ms
54: learn: 0.1950097    total: 387ms    remaining: 829ms
55: learn: 0.1918059    total: 393ms    remaining: 821ms
56: learn: 0.1887517    total: 399ms    remaining: 812ms
57: learn: 0.1857759    total: 406ms    remaining: 804ms
58: learn: 0.1829053    total: 414ms    remaining: 799ms
59: learn: 0.1800882    total: 423ms    remaining: 796ms
60: learn: 0.1774006    total: 429ms    remaining: 788ms
61: learn: 0.1747000    total: 436ms    remaining: 780ms
62: learn: 0.1721241    total: 442ms    remaining: 772ms
63: learn: 0.1696377    total: 448ms    remaining: 764ms
64: learn: 0.1672074    total: 455ms    remaining: 756ms
65: learn: 0.1649056    total: 461ms    remaining: 748ms
66: learn: 0.1626618    total: 468ms    remaining: 740ms
67: learn: 0.1605234    total: 475ms    remaining: 733ms
68: learn: 0.1584179    total: 483ms    remaining: 728ms
69: learn: 0.1564648    total: 490ms    remaining: 722ms
70: learn: 0.1545629    total: 497ms    remaining: 715ms
71: learn: 0.1526051    total: 504ms    remaining: 707ms
72: learn: 0.1507448    total: 510ms    remaining: 699ms
73: learn: 0.1489571    total: 517ms    remaining: 692ms
74: learn: 0.1472286    total: 524ms    remaining: 684ms
75: learn: 0.1455093    total: 530ms    remaining: 676ms
76: learn: 0.1438758    total: 536ms    remaining: 669ms
77: learn: 0.1422357    total: 543ms    remaining: 661ms
78: learn: 0.1407266    total: 550ms    remaining: 654ms
79: learn: 0.1392694    total: 556ms    remaining: 647ms
80: learn: 0.1378038    total: 563ms    remaining: 639ms
81: learn: 0.1363878    total: 569ms    remaining: 632ms
82: learn: 0.1350586    total: 576ms    remaining: 624ms
83: learn: 0.1337594    total: 582ms    remaining: 617ms
84: learn: 0.1324321    total: 588ms    remaining: 609ms
85: learn: 0.1311706    total: 595ms    remaining: 602ms
86: learn: 0.1299056    total: 602ms    remaining: 595ms
87: learn: 0.1287540    total: 608ms    remaining: 587ms
88: learn: 0.1275728    total: 617ms    remaining: 582ms
89: learn: 0.1264903    total: 623ms    remaining: 575ms
90: learn: 0.1253953    total: 630ms    remaining: 567ms
91: learn: 0.1242846    total: 637ms    remaining: 560ms
92: learn: 0.1232332    total: 643ms    remaining: 553ms
93: learn: 0.1222304    total: 650ms    remaining: 546ms
94: learn: 0.1212294    total: 656ms    remaining: 539ms
95: learn: 0.1202982    total: 663ms    remaining: 532ms
96: learn: 0.1193557    total: 670ms    remaining: 525ms
97: learn: 0.1184605    total: 676ms    remaining: 518ms
98: learn: 0.1175567    total: 683ms    remaining: 510ms
99: learn: 0.1166589    total: 689ms    remaining: 503ms
100:    learn: 0.1157912    total: 696ms    remaining: 496ms
101:    learn: 0.1149717    total: 702ms    remaining: 489ms
102:    learn: 0.1141143    total: 711ms    remaining: 483ms
103:    learn: 0.1133186    total: 722ms    remaining: 479ms
104:    learn: 0.1125862    total: 734ms    remaining: 475ms
105:    learn: 0.1118488    total: 744ms    remaining: 470ms
106:    learn: 0.1111340    total: 751ms    remaining: 463ms
107:    learn: 0.1104424    total: 757ms    remaining: 456ms
108:    learn: 0.1097813    total: 763ms    remaining: 448ms
109:    learn: 0.1091304    total: 770ms    remaining: 441ms
110:    learn: 0.1085064    total: 776ms    remaining: 433ms
111:    learn: 0.1079196    total: 782ms    remaining: 426ms
112:    learn: 0.1073396    total: 788ms    remaining: 419ms
113:    learn: 0.1067520    total: 795ms    remaining: 411ms
114:    learn: 0.1061689    total: 802ms    remaining: 405ms
115:    learn: 0.1056365    total: 809ms    remaining: 397ms
116:    learn: 0.1051187    total: 816ms    remaining: 391ms
117:    learn: 0.1046250    total: 823ms    remaining: 384ms
118:    learn: 0.1040740    total: 830ms    remaining: 376ms
119:    learn: 0.1035309    total: 836ms    remaining: 369ms
120:    learn: 0.1030545    total: 843ms    remaining: 362ms
121:    learn: 0.1025720    total: 849ms    remaining: 355ms
122:    learn: 0.1021089    total: 856ms    remaining: 348ms
123:    learn: 0.1016206    total: 862ms    remaining: 341ms
124:    learn: 0.1011810    total: 868ms    remaining: 333ms
125:    learn: 0.1007362    total: 875ms    remaining: 326ms
126:    learn: 0.1002654    total: 882ms    remaining: 319ms
127:    learn: 0.0998266    total: 888ms    remaining: 312ms
128:    learn: 0.0994010    total: 894ms    remaining: 305ms
129:    learn: 0.0989891    total: 901ms    remaining: 298ms
130:    learn: 0.0985419    total: 907ms    remaining: 291ms
131:    learn: 0.0981281    total: 914ms    remaining: 284ms
132:    learn: 0.0977633    total: 920ms    remaining: 277ms
133:    learn: 0.0973727    total: 927ms    remaining: 270ms
134:    learn: 0.0970056    total: 933ms    remaining: 263ms
135:    learn: 0.0966329    total: 940ms    remaining: 256ms
136:    learn: 0.0962594    total: 946ms    remaining: 249ms
137:    learn: 0.0959222    total: 953ms    remaining: 242ms
138:    learn: 0.0956013    total: 959ms    remaining: 235ms
139:    learn: 0.0953016    total: 965ms    remaining: 228ms
140:    learn: 0.0949845    total: 972ms    remaining: 221ms
141:    learn: 0.0946990    total: 978ms    remaining: 214ms
142:    learn: 0.0943869    total: 984ms    remaining: 207ms
143:    learn: 0.0941039    total: 991ms    remaining: 200ms
144:    learn: 0.0937845    total: 997ms    remaining: 193ms
145:    learn: 0.0935087    total: 1s   remaining: 186ms
146:    learn: 0.0932332    total: 1.01s    remaining: 179ms
147:    learn: 0.0929564    total: 1.02s    remaining: 173ms
148:    learn: 0.0926809    total: 1.03s    remaining: 166ms
149:    learn: 0.0924505    total: 1.04s    remaining: 159ms
150:    learn: 0.0921597    total: 1.04s    remaining: 152ms
151:    learn: 0.0918648    total: 1.05s    remaining: 145ms
152:    learn: 0.0916073    total: 1.06s    remaining: 138ms
153:    learn: 0.0913634    total: 1.06s    remaining: 131ms
154:    learn: 0.0911239    total: 1.07s    remaining: 124ms
155:    learn: 0.0908595    total: 1.07s    remaining: 117ms
156:    learn: 0.0905796    total: 1.08s    remaining: 110ms
157:    learn: 0.0903429    total: 1.09s    remaining: 103ms
158:    learn: 0.0901288    total: 1.1s remaining: 96.6ms
159:    learn: 0.0898837    total: 1.1s remaining: 89.7ms
160:    learn: 0.0896957    total: 1.11s    remaining: 82.7ms
161:    learn: 0.0895005    total: 1.12s    remaining: 75.8ms
162:    learn: 0.0893251    total: 1.12s    remaining: 68.9ms
163:    learn: 0.0891064    total: 1.13s    remaining: 62ms
164:    learn: 0.0889047    total: 1.14s    remaining: 55.1ms
165:    learn: 0.0887445    total: 1.14s    remaining: 48.2ms
166:    learn: 0.0885403    total: 1.15s    remaining: 41.3ms
167:    learn: 0.0883463    total: 1.16s    remaining: 34.4ms
168:    learn: 0.0881325    total: 1.16s    remaining: 27.5ms
169:    learn: 0.0878695    total: 1.17s    remaining: 20.6ms
170:    learn: 0.0876824    total: 1.18s    remaining: 13.8ms
171:    learn: 0.0874803    total: 1.18s    remaining: 6.88ms
172:    learn: 0.0872285    total: 1.19s    remaining: 0us

Mengevaluasi: conloss_keep_all_XGBoost

Mengevaluasi: conloss_keep_all_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 407, number of negative: 3526
[LightGBM] [Info] Total Bins 11373
[LightGBM] [Info] Number of data points in the train set: 3933, number of used features: 66
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.103483 -> initscore=-2.159106
[LightGBM] [Info] Start training from score -2.159106
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: conloss_keep_all_CatBoost
0:  learn: 0.6451862    total: 6.85ms   remaining: 3.42s
1:  learn: 0.6048157    total: 12.4ms   remaining: 3.09s
2:  learn: 0.5665207    total: 17.6ms   remaining: 2.92s
3:  learn: 0.5336340    total: 23ms remaining: 2.85s
4:  learn: 0.4995905    total: 28.1ms   remaining: 2.78s
5:  learn: 0.4727571    total: 33.2ms   remaining: 2.73s
6:  learn: 0.4496376    total: 38.9ms   remaining: 2.74s
7:  learn: 0.4278832    total: 44.2ms   remaining: 2.72s
8:  learn: 0.4098464    total: 49.5ms   remaining: 2.7s
9:  learn: 0.3922647    total: 55.1ms   remaining: 2.7s
10: learn: 0.3776741    total: 60.5ms   remaining: 2.69s
11: learn: 0.3635263    total: 66ms remaining: 2.69s
12: learn: 0.3504088    total: 71.7ms   remaining: 2.69s
13: learn: 0.3391745    total: 77.2ms   remaining: 2.68s
14: learn: 0.3295029    total: 82.7ms   remaining: 2.67s
15: learn: 0.3203846    total: 88.5ms   remaining: 2.68s
16: learn: 0.3118264    total: 94.1ms   remaining: 2.67s
17: learn: 0.3042035    total: 99.8ms   remaining: 2.67s
18: learn: 0.2963773    total: 105ms    remaining: 2.67s
19: learn: 0.2906964    total: 111ms    remaining: 2.67s
20: learn: 0.2853572    total: 117ms    remaining: 2.67s
21: learn: 0.2796199    total: 123ms    remaining: 2.68s
22: learn: 0.2755299    total: 129ms    remaining: 2.68s
23: learn: 0.2713170    total: 136ms    remaining: 2.71s
24: learn: 0.2667992    total: 145ms    remaining: 2.75s
25: learn: 0.2621580    total: 152ms    remaining: 2.77s
26: learn: 0.2583137    total: 161ms    remaining: 2.82s
27: learn: 0.2549364    total: 168ms    remaining: 2.82s
28: learn: 0.2511836    total: 174ms    remaining: 2.82s
29: learn: 0.2488550    total: 179ms    remaining: 2.81s
30: learn: 0.2467712    total: 185ms    remaining: 2.8s
31: learn: 0.2442971    total: 191ms    remaining: 2.8s
32: learn: 0.2423545    total: 197ms    remaining: 2.78s
33: learn: 0.2401826    total: 202ms    remaining: 2.77s
34: learn: 0.2378356    total: 208ms    remaining: 2.77s
35: learn: 0.2360888    total: 214ms    remaining: 2.76s
36: learn: 0.2346309    total: 220ms    remaining: 2.75s
37: learn: 0.2330057    total: 225ms    remaining: 2.74s
38: learn: 0.2313385    total: 231ms    remaining: 2.73s
39: learn: 0.2302525    total: 237ms    remaining: 2.72s
40: learn: 0.2289060    total: 242ms    remaining: 2.71s
41: learn: 0.2278554    total: 248ms    remaining: 2.7s
42: learn: 0.2269489    total: 255ms    remaining: 2.71s
43: learn: 0.2259723    total: 261ms    remaining: 2.71s
44: learn: 0.2249279    total: 267ms    remaining: 2.7s
45: learn: 0.2242274    total: 271ms    remaining: 2.68s
46: learn: 0.2234968    total: 277ms    remaining: 2.67s
47: learn: 0.2222222    total: 283ms    remaining: 2.67s
48: learn: 0.2215181    total: 289ms    remaining: 2.66s
49: learn: 0.2205623    total: 294ms    remaining: 2.65s
50: learn: 0.2193775    total: 300ms    remaining: 2.64s
51: learn: 0.2186600    total: 306ms    remaining: 2.63s
52: learn: 0.2178014    total: 311ms    remaining: 2.62s
53: learn: 0.2170229    total: 316ms    remaining: 2.61s
54: learn: 0.2164454    total: 322ms    remaining: 2.6s
55: learn: 0.2154320    total: 327ms    remaining: 2.59s
56: learn: 0.2147863    total: 332ms    remaining: 2.58s
57: learn: 0.2138413    total: 337ms    remaining: 2.57s
58: learn: 0.2130956    total: 343ms    remaining: 2.56s
59: learn: 0.2124639    total: 349ms    remaining: 2.56s
60: learn: 0.2117728    total: 357ms    remaining: 2.57s
61: learn: 0.2113074    total: 363ms    remaining: 2.56s
62: learn: 0.2109967    total: 368ms    remaining: 2.55s
63: learn: 0.2104331    total: 374ms    remaining: 2.55s
64: learn: 0.2098710    total: 380ms    remaining: 2.54s
65: learn: 0.2091995    total: 387ms    remaining: 2.54s
66: learn: 0.2088025    total: 393ms    remaining: 2.54s
67: learn: 0.2084485    total: 398ms    remaining: 2.53s
68: learn: 0.2080019    total: 404ms    remaining: 2.52s
69: learn: 0.2074135    total: 410ms    remaining: 2.52s
70: learn: 0.2067863    total: 417ms    remaining: 2.52s
71: learn: 0.2061289    total: 422ms    remaining: 2.51s
72: learn: 0.2055029    total: 428ms    remaining: 2.5s
73: learn: 0.2050001    total: 435ms    remaining: 2.5s
74: learn: 0.2045330    total: 442ms    remaining: 2.51s
75: learn: 0.2039637    total: 450ms    remaining: 2.51s
76: learn: 0.2035769    total: 456ms    remaining: 2.5s
77: learn: 0.2031726    total: 462ms    remaining: 2.5s
78: learn: 0.2025670    total: 472ms    remaining: 2.51s
79: learn: 0.2020320    total: 482ms    remaining: 2.53s
80: learn: 0.2017541    total: 490ms    remaining: 2.54s
81: learn: 0.2012547    total: 496ms    remaining: 2.53s
82: learn: 0.2007574    total: 503ms    remaining: 2.52s
83: learn: 0.2001392    total: 508ms    remaining: 2.52s
84: learn: 0.1997627    total: 514ms    remaining: 2.51s
85: learn: 0.1993631    total: 521ms    remaining: 2.51s
86: learn: 0.1987854    total: 527ms    remaining: 2.5s
87: learn: 0.1985276    total: 534ms    remaining: 2.5s
88: learn: 0.1979194    total: 541ms    remaining: 2.5s
89: learn: 0.1976150    total: 547ms    remaining: 2.49s
90: learn: 0.1972539    total: 554ms    remaining: 2.49s
91: learn: 0.1970142    total: 559ms    remaining: 2.48s
92: learn: 0.1967133    total: 565ms    remaining: 2.47s
93: learn: 0.1962128    total: 572ms    remaining: 2.47s
94: learn: 0.1956491    total: 578ms    remaining: 2.46s
95: learn: 0.1954824    total: 583ms    remaining: 2.45s
96: learn: 0.1949777    total: 589ms    remaining: 2.45s
97: learn: 0.1944862    total: 594ms    remaining: 2.44s
98: learn: 0.1941251    total: 600ms    remaining: 2.43s
99: learn: 0.1937253    total: 605ms    remaining: 2.42s
100:    learn: 0.1933423    total: 611ms    remaining: 2.41s
101:    learn: 0.1928307    total: 617ms    remaining: 2.41s
102:    learn: 0.1925167    total: 623ms    remaining: 2.4s
103:    learn: 0.1921496    total: 628ms    remaining: 2.39s
104:    learn: 0.1916145    total: 635ms    remaining: 2.39s
105:    learn: 0.1909295    total: 641ms    remaining: 2.38s
106:    learn: 0.1902912    total: 647ms    remaining: 2.38s
107:    learn: 0.1899010    total: 654ms    remaining: 2.37s
108:    learn: 0.1894051    total: 660ms    remaining: 2.37s
109:    learn: 0.1889612    total: 666ms    remaining: 2.36s
110:    learn: 0.1883634    total: 672ms    remaining: 2.35s
111:    learn: 0.1879663    total: 678ms    remaining: 2.35s
112:    learn: 0.1874355    total: 683ms    remaining: 2.34s
113:    learn: 0.1871584    total: 689ms    remaining: 2.33s
114:    learn: 0.1867032    total: 695ms    remaining: 2.33s
115:    learn: 0.1863741    total: 701ms    remaining: 2.32s
116:    learn: 0.1859626    total: 707ms    remaining: 2.31s
117:    learn: 0.1855695    total: 713ms    remaining: 2.31s
118:    learn: 0.1851275    total: 718ms    remaining: 2.3s
119:    learn: 0.1847699    total: 724ms    remaining: 2.29s
120:    learn: 0.1846420    total: 730ms    remaining: 2.29s
121:    learn: 0.1840943    total: 736ms    remaining: 2.28s
122:    learn: 0.1838450    total: 742ms    remaining: 2.27s
123:    learn: 0.1835689    total: 750ms    remaining: 2.27s
124:    learn: 0.1830565    total: 757ms    remaining: 2.27s
125:    learn: 0.1826339    total: 763ms    remaining: 2.26s
126:    learn: 0.1824761    total: 769ms    remaining: 2.26s
127:    learn: 0.1821390    total: 775ms    remaining: 2.25s
128:    learn: 0.1818771    total: 781ms    remaining: 2.25s
129:    learn: 0.1814671    total: 787ms    remaining: 2.24s
130:    learn: 0.1810051    total: 793ms    remaining: 2.23s
131:    learn: 0.1805335    total: 798ms    remaining: 2.23s
132:    learn: 0.1801610    total: 804ms    remaining: 2.22s
133:    learn: 0.1798407    total: 810ms    remaining: 2.21s
134:    learn: 0.1795356    total: 816ms    remaining: 2.21s
135:    learn: 0.1791475    total: 823ms    remaining: 2.2s
136:    learn: 0.1787874    total: 828ms    remaining: 2.19s
137:    learn: 0.1784359    total: 834ms    remaining: 2.19s
138:    learn: 0.1781463    total: 840ms    remaining: 2.18s
139:    learn: 0.1777113    total: 846ms    remaining: 2.17s
140:    learn: 0.1773582    total: 852ms    remaining: 2.17s
141:    learn: 0.1769688    total: 858ms    remaining: 2.16s
142:    learn: 0.1766367    total: 863ms    remaining: 2.15s
143:    learn: 0.1763267    total: 869ms    remaining: 2.15s
144:    learn: 0.1759926    total: 875ms    remaining: 2.14s
145:    learn: 0.1758348    total: 880ms    remaining: 2.13s
146:    learn: 0.1755029    total: 886ms    remaining: 2.13s
147:    learn: 0.1750773    total: 892ms    remaining: 2.12s
148:    learn: 0.1746665    total: 898ms    remaining: 2.12s
149:    learn: 0.1743690    total: 904ms    remaining: 2.11s
150:    learn: 0.1739860    total: 910ms    remaining: 2.1s
151:    learn: 0.1737018    total: 916ms    remaining: 2.1s
152:    learn: 0.1734598    total: 922ms    remaining: 2.09s
153:    learn: 0.1730855    total: 928ms    remaining: 2.08s
154:    learn: 0.1726886    total: 934ms    remaining: 2.08s
155:    learn: 0.1722723    total: 940ms    remaining: 2.07s
156:    learn: 0.1717227    total: 946ms    remaining: 2.07s
157:    learn: 0.1712471    total: 957ms    remaining: 2.07s
158:    learn: 0.1709196    total: 963ms    remaining: 2.06s
159:    learn: 0.1705342    total: 969ms    remaining: 2.06s
160:    learn: 0.1702230    total: 975ms    remaining: 2.05s
161:    learn: 0.1700112    total: 980ms    remaining: 2.04s
162:    learn: 0.1696231    total: 986ms    remaining: 2.04s
163:    learn: 0.1694060    total: 991ms    remaining: 2.03s
164:    learn: 0.1691978    total: 997ms    remaining: 2.02s
165:    learn: 0.1689148    total: 1s   remaining: 2.02s
166:    learn: 0.1685685    total: 1.01s    remaining: 2.01s
167:    learn: 0.1681708    total: 1.01s    remaining: 2s
168:    learn: 0.1678233    total: 1.02s    remaining: 2s
169:    learn: 0.1675232    total: 1.02s    remaining: 1.99s
170:    learn: 0.1672534    total: 1.03s    remaining: 1.98s
171:    learn: 0.1670448    total: 1.04s    remaining: 1.98s
172:    learn: 0.1666473    total: 1.04s    remaining: 1.97s
173:    learn: 0.1662055    total: 1.05s    remaining: 1.96s
174:    learn: 0.1659743    total: 1.05s    remaining: 1.95s
175:    learn: 0.1656358    total: 1.05s    remaining: 1.94s
176:    learn: 0.1654073    total: 1.06s    remaining: 1.93s
177:    learn: 0.1649574    total: 1.06s    remaining: 1.92s
178:    learn: 0.1646106    total: 1.06s    remaining: 1.91s
179:    learn: 0.1642987    total: 1.07s    remaining: 1.9s
180:    learn: 0.1639485    total: 1.07s    remaining: 1.89s
181:    learn: 0.1638233    total: 1.07s    remaining: 1.88s
182:    learn: 0.1634818    total: 1.08s    remaining: 1.87s
183:    learn: 0.1631824    total: 1.08s    remaining: 1.86s
184:    learn: 0.1627384    total: 1.09s    remaining: 1.85s
185:    learn: 0.1625221    total: 1.09s    remaining: 1.84s
186:    learn: 0.1621177    total: 1.09s    remaining: 1.83s
187:    learn: 0.1617941    total: 1.1s remaining: 1.82s
188:    learn: 0.1615711    total: 1.1s remaining: 1.81s
189:    learn: 0.1612312    total: 1.1s remaining: 1.8s
190:    learn: 0.1609847    total: 1.11s    remaining: 1.79s
191:    learn: 0.1608164    total: 1.11s    remaining: 1.78s
192:    learn: 0.1604810    total: 1.11s    remaining: 1.77s
193:    learn: 0.1601433    total: 1.12s    remaining: 1.76s
194:    learn: 0.1597016    total: 1.12s    remaining: 1.76s
195:    learn: 0.1594494    total: 1.13s    remaining: 1.75s
196:    learn: 0.1592813    total: 1.13s    remaining: 1.74s
197:    learn: 0.1589477    total: 1.13s    remaining: 1.73s
198:    learn: 0.1585630    total: 1.14s    remaining: 1.72s
199:    learn: 0.1583563    total: 1.14s    remaining: 1.71s
200:    learn: 0.1580301    total: 1.14s    remaining: 1.7s
201:    learn: 0.1576260    total: 1.15s    remaining: 1.69s
202:    learn: 0.1572938    total: 1.15s    remaining: 1.68s
203:    learn: 0.1569599    total: 1.16s    remaining: 1.68s
204:    learn: 0.1567687    total: 1.16s    remaining: 1.67s
205:    learn: 0.1563169    total: 1.16s    remaining: 1.66s
206:    learn: 0.1559032    total: 1.17s    remaining: 1.65s
207:    learn: 0.1556500    total: 1.17s    remaining: 1.64s
208:    learn: 0.1554408    total: 1.17s    remaining: 1.63s
209:    learn: 0.1552879    total: 1.18s    remaining: 1.63s
210:    learn: 0.1549754    total: 1.18s    remaining: 1.62s
211:    learn: 0.1546656    total: 1.18s    remaining: 1.61s
212:    learn: 0.1544704    total: 1.19s    remaining: 1.6s
213:    learn: 0.1542385    total: 1.19s    remaining: 1.59s
214:    learn: 0.1537861    total: 1.2s remaining: 1.58s
215:    learn: 0.1534110    total: 1.2s remaining: 1.57s
216:    learn: 0.1531278    total: 1.2s remaining: 1.57s
217:    learn: 0.1526576    total: 1.21s    remaining: 1.56s
218:    learn: 0.1522845    total: 1.21s    remaining: 1.55s
219:    learn: 0.1520710    total: 1.21s    remaining: 1.54s
220:    learn: 0.1516981    total: 1.22s    remaining: 1.54s
221:    learn: 0.1512806    total: 1.22s    remaining: 1.53s
222:    learn: 0.1511605    total: 1.22s    remaining: 1.52s
223:    learn: 0.1509911    total: 1.23s    remaining: 1.51s
224:    learn: 0.1506801    total: 1.23s    remaining: 1.5s
225:    learn: 0.1504024    total: 1.23s    remaining: 1.5s
226:    learn: 0.1501279    total: 1.24s    remaining: 1.49s
227:    learn: 0.1499453    total: 1.24s    remaining: 1.48s
228:    learn: 0.1497091    total: 1.25s    remaining: 1.47s
229:    learn: 0.1495628    total: 1.25s    remaining: 1.47s
230:    learn: 0.1491278    total: 1.25s    remaining: 1.46s
231:    learn: 0.1488349    total: 1.26s    remaining: 1.45s
232:    learn: 0.1484812    total: 1.26s    remaining: 1.45s
233:    learn: 0.1481957    total: 1.27s    remaining: 1.44s
234:    learn: 0.1478460    total: 1.27s    remaining: 1.43s
235:    learn: 0.1475833    total: 1.27s    remaining: 1.43s
236:    learn: 0.1474031    total: 1.28s    remaining: 1.42s
237:    learn: 0.1470330    total: 1.28s    remaining: 1.41s
238:    learn: 0.1466275    total: 1.28s    remaining: 1.4s
239:    learn: 0.1463711    total: 1.29s    remaining: 1.4s
240:    learn: 0.1460490    total: 1.29s    remaining: 1.39s
241:    learn: 0.1456715    total: 1.3s remaining: 1.38s
242:    learn: 0.1453497    total: 1.3s remaining: 1.37s
243:    learn: 0.1450890    total: 1.3s remaining: 1.37s
244:    learn: 0.1448569    total: 1.31s    remaining: 1.36s
245:    learn: 0.1445901    total: 1.31s    remaining: 1.35s
246:    learn: 0.1442409    total: 1.31s    remaining: 1.34s
247:    learn: 0.1439281    total: 1.32s    remaining: 1.34s
248:    learn: 0.1437866    total: 1.32s    remaining: 1.33s
249:    learn: 0.1434690    total: 1.32s    remaining: 1.32s
250:    learn: 0.1432570    total: 1.33s    remaining: 1.32s
251:    learn: 0.1431206    total: 1.33s    remaining: 1.31s
252:    learn: 0.1427931    total: 1.33s    remaining: 1.3s
253:    learn: 0.1427261    total: 1.34s    remaining: 1.29s
254:    learn: 0.1423309    total: 1.34s    remaining: 1.29s
255:    learn: 0.1420511    total: 1.34s    remaining: 1.28s
256:    learn: 0.1418545    total: 1.35s    remaining: 1.27s
257:    learn: 0.1415887    total: 1.35s    remaining: 1.27s
258:    learn: 0.1412942    total: 1.36s    remaining: 1.26s
259:    learn: 0.1411584    total: 1.36s    remaining: 1.25s
260:    learn: 0.1409296    total: 1.36s    remaining: 1.25s
261:    learn: 0.1408631    total: 1.37s    remaining: 1.24s
262:    learn: 0.1405433    total: 1.37s    remaining: 1.23s
263:    learn: 0.1403141    total: 1.37s    remaining: 1.23s
264:    learn: 0.1400345    total: 1.38s    remaining: 1.22s
265:    learn: 0.1397928    total: 1.38s    remaining: 1.21s
266:    learn: 0.1395686    total: 1.38s    remaining: 1.21s
267:    learn: 0.1393744    total: 1.39s    remaining: 1.2s
268:    learn: 0.1392562    total: 1.39s    remaining: 1.2s
269:    learn: 0.1389322    total: 1.4s remaining: 1.19s
270:    learn: 0.1386549    total: 1.4s remaining: 1.18s
271:    learn: 0.1383670    total: 1.4s remaining: 1.18s
272:    learn: 0.1380471    total: 1.41s    remaining: 1.17s
273:    learn: 0.1376116    total: 1.41s    remaining: 1.16s
274:    learn: 0.1374095    total: 1.41s    remaining: 1.16s
275:    learn: 0.1372773    total: 1.42s    remaining: 1.15s
276:    learn: 0.1370506    total: 1.42s    remaining: 1.14s
277:    learn: 0.1367528    total: 1.42s    remaining: 1.14s
278:    learn: 0.1363862    total: 1.43s    remaining: 1.13s
279:    learn: 0.1360321    total: 1.43s    remaining: 1.12s
280:    learn: 0.1357835    total: 1.43s    remaining: 1.12s
281:    learn: 0.1354572    total: 1.44s    remaining: 1.11s
282:    learn: 0.1353132    total: 1.44s    remaining: 1.1s
283:    learn: 0.1350649    total: 1.45s    remaining: 1.1s
284:    learn: 0.1347254    total: 1.45s    remaining: 1.09s
285:    learn: 0.1345239    total: 1.45s    remaining: 1.09s
286:    learn: 0.1342180    total: 1.46s    remaining: 1.08s
287:    learn: 0.1338836    total: 1.46s    remaining: 1.07s
288:    learn: 0.1336325    total: 1.46s    remaining: 1.07s
289:    learn: 0.1333851    total: 1.47s    remaining: 1.06s
290:    learn: 0.1331800    total: 1.48s    remaining: 1.06s
291:    learn: 0.1328255    total: 1.48s    remaining: 1.05s
292:    learn: 0.1325153    total: 1.49s    remaining: 1.05s
293:    learn: 0.1324586    total: 1.49s    remaining: 1.05s
294:    learn: 0.1322120    total: 1.5s remaining: 1.04s
295:    learn: 0.1319459    total: 1.5s remaining: 1.03s
296:    learn: 0.1315672    total: 1.51s    remaining: 1.03s
297:    learn: 0.1313176    total: 1.51s    remaining: 1.02s
298:    learn: 0.1311458    total: 1.51s    remaining: 1.02s
299:    learn: 0.1308852    total: 1.52s    remaining: 1.01s
300:    learn: 0.1307515    total: 1.52s    remaining: 1s
301:    learn: 0.1304395    total: 1.53s    remaining: 1s
302:    learn: 0.1303891    total: 1.53s    remaining: 996ms
303:    learn: 0.1300809    total: 1.54s    remaining: 991ms
304:    learn: 0.1298953    total: 1.54s    remaining: 986ms
305:    learn: 0.1296879    total: 1.55s    remaining: 980ms
306:    learn: 0.1294284    total: 1.55s    remaining: 974ms
307:    learn: 0.1292019    total: 1.55s    remaining: 969ms
308:    learn: 0.1290041    total: 1.56s    remaining: 963ms
309:    learn: 0.1288167    total: 1.56s    remaining: 957ms
310:    learn: 0.1286551    total: 1.56s    remaining: 951ms
311:    learn: 0.1284295    total: 1.57s    remaining: 945ms
312:    learn: 0.1280693    total: 1.57s    remaining: 939ms
313:    learn: 0.1277991    total: 1.57s    remaining: 933ms
314:    learn: 0.1275824    total: 1.58s    remaining: 927ms
315:    learn: 0.1272621    total: 1.58s    remaining: 922ms
316:    learn: 0.1269033    total: 1.59s    remaining: 916ms
317:    learn: 0.1265885    total: 1.59s    remaining: 910ms
318:    learn: 0.1263257    total: 1.59s    remaining: 904ms
319:    learn: 0.1261721    total: 1.6s remaining: 898ms
320:    learn: 0.1259730    total: 1.6s remaining: 892ms
321:    learn: 0.1257029    total: 1.6s remaining: 886ms
322:    learn: 0.1253768    total: 1.61s    remaining: 881ms
323:    learn: 0.1251421    total: 1.61s    remaining: 875ms
324:    learn: 0.1249321    total: 1.61s    remaining: 869ms
325:    learn: 0.1248225    total: 1.62s    remaining: 863ms
326:    learn: 0.1246580    total: 1.62s    remaining: 857ms
327:    learn: 0.1245202    total: 1.62s    remaining: 851ms
328:    learn: 0.1243892    total: 1.63s    remaining: 846ms
329:    learn: 0.1242631    total: 1.63s    remaining: 840ms
330:    learn: 0.1240180    total: 1.63s    remaining: 834ms
331:    learn: 0.1235282    total: 1.64s    remaining: 829ms
332:    learn: 0.1232034    total: 1.64s    remaining: 823ms
333:    learn: 0.1230669    total: 1.64s    remaining: 817ms
334:    learn: 0.1228385    total: 1.65s    remaining: 812ms
335:    learn: 0.1225487    total: 1.65s    remaining: 806ms
336:    learn: 0.1222908    total: 1.66s    remaining: 801ms
337:    learn: 0.1219933    total: 1.66s    remaining: 795ms
338:    learn: 0.1216346    total: 1.66s    remaining: 789ms
339:    learn: 0.1215222    total: 1.67s    remaining: 784ms
340:    learn: 0.1211235    total: 1.67s    remaining: 778ms
341:    learn: 0.1210746    total: 1.67s    remaining: 773ms
342:    learn: 0.1208154    total: 1.68s    remaining: 767ms
343:    learn: 0.1205706    total: 1.68s    remaining: 762ms
344:    learn: 0.1202836    total: 1.68s    remaining: 756ms
345:    learn: 0.1200662    total: 1.69s    remaining: 751ms
346:    learn: 0.1198217    total: 1.69s    remaining: 745ms
347:    learn: 0.1195735    total: 1.69s    remaining: 740ms
348:    learn: 0.1194025    total: 1.7s remaining: 734ms
349:    learn: 0.1191442    total: 1.7s remaining: 729ms
350:    learn: 0.1189485    total: 1.7s remaining: 723ms
351:    learn: 0.1187756    total: 1.71s    remaining: 718ms
352:    learn: 0.1185101    total: 1.71s    remaining: 713ms
353:    learn: 0.1183125    total: 1.72s    remaining: 708ms
354:    learn: 0.1181811    total: 1.72s    remaining: 702ms
355:    learn: 0.1179954    total: 1.72s    remaining: 697ms
356:    learn: 0.1178105    total: 1.73s    remaining: 692ms
357:    learn: 0.1175800    total: 1.73s    remaining: 686ms
358:    learn: 0.1174785    total: 1.73s    remaining: 681ms
359:    learn: 0.1171897    total: 1.74s    remaining: 676ms
360:    learn: 0.1169311    total: 1.74s    remaining: 671ms
361:    learn: 0.1168167    total: 1.75s    remaining: 666ms
362:    learn: 0.1166867    total: 1.75s    remaining: 660ms
363:    learn: 0.1163752    total: 1.75s    remaining: 656ms
364:    learn: 0.1162375    total: 1.76s    remaining: 650ms
365:    learn: 0.1160663    total: 1.76s    remaining: 645ms
366:    learn: 0.1159100    total: 1.76s    remaining: 640ms
367:    learn: 0.1156698    total: 1.77s    remaining: 634ms
368:    learn: 0.1154449    total: 1.77s    remaining: 629ms
369:    learn: 0.1152119    total: 1.77s    remaining: 624ms
370:    learn: 0.1150838    total: 1.78s    remaining: 618ms
371:    learn: 0.1149889    total: 1.78s    remaining: 613ms
372:    learn: 0.1147829    total: 1.78s    remaining: 608ms
373:    learn: 0.1146039    total: 1.79s    remaining: 603ms
374:    learn: 0.1144142    total: 1.79s    remaining: 598ms
375:    learn: 0.1142129    total: 1.8s remaining: 593ms
376:    learn: 0.1139011    total: 1.8s remaining: 588ms
377:    learn: 0.1138668    total: 1.8s remaining: 583ms
378:    learn: 0.1137113    total: 1.81s    remaining: 577ms
379:    learn: 0.1135460    total: 1.81s    remaining: 572ms
380:    learn: 0.1133306    total: 1.81s    remaining: 567ms
381:    learn: 0.1130942    total: 1.82s    remaining: 562ms
382:    learn: 0.1128666    total: 1.82s    remaining: 557ms
383:    learn: 0.1125960    total: 1.83s    remaining: 552ms
384:    learn: 0.1124883    total: 1.83s    remaining: 547ms
385:    learn: 0.1123654    total: 1.83s    remaining: 541ms
386:    learn: 0.1120650    total: 1.84s    remaining: 536ms
387:    learn: 0.1118289    total: 1.84s    remaining: 531ms
388:    learn: 0.1115782    total: 1.84s    remaining: 526ms
389:    learn: 0.1114933    total: 1.85s    remaining: 521ms
390:    learn: 0.1113218    total: 1.85s    remaining: 516ms
391:    learn: 0.1110213    total: 1.85s    remaining: 511ms
392:    learn: 0.1108756    total: 1.86s    remaining: 506ms
393:    learn: 0.1106580    total: 1.86s    remaining: 501ms
394:    learn: 0.1105104    total: 1.86s    remaining: 496ms
395:    learn: 0.1102782    total: 1.87s    remaining: 491ms
396:    learn: 0.1099834    total: 1.87s    remaining: 486ms
397:    learn: 0.1097317    total: 1.88s    remaining: 481ms
398:    learn: 0.1095954    total: 1.88s    remaining: 476ms
399:    learn: 0.1093711    total: 1.88s    remaining: 471ms
400:    learn: 0.1090875    total: 1.89s    remaining: 466ms
401:    learn: 0.1089034    total: 1.89s    remaining: 461ms
402:    learn: 0.1087278    total: 1.89s    remaining: 456ms
403:    learn: 0.1084531    total: 1.9s remaining: 451ms
404:    learn: 0.1083153    total: 1.9s remaining: 446ms
405:    learn: 0.1081654    total: 1.9s remaining: 441ms
406:    learn: 0.1079648    total: 1.91s    remaining: 436ms
407:    learn: 0.1076270    total: 1.91s    remaining: 431ms
408:    learn: 0.1074919    total: 1.91s    remaining: 426ms
409:    learn: 0.1072558    total: 1.92s    remaining: 421ms
410:    learn: 0.1071052    total: 1.92s    remaining: 416ms
411:    learn: 0.1068875    total: 1.92s    remaining: 411ms
412:    learn: 0.1067135    total: 1.93s    remaining: 406ms
413:    learn: 0.1064628    total: 1.93s    remaining: 401ms
414:    learn: 0.1061975    total: 1.94s    remaining: 397ms
415:    learn: 0.1058965    total: 1.94s    remaining: 392ms
416:    learn: 0.1058291    total: 1.94s    remaining: 387ms
417:    learn: 0.1055945    total: 1.95s    remaining: 382ms
418:    learn: 0.1053672    total: 1.95s    remaining: 377ms
419:    learn: 0.1052270    total: 1.96s    remaining: 373ms
420:    learn: 0.1050877    total: 1.96s    remaining: 368ms
421:    learn: 0.1048859    total: 1.96s    remaining: 363ms
422:    learn: 0.1046950    total: 1.97s    remaining: 358ms
423:    learn: 0.1044814    total: 1.97s    remaining: 353ms
424:    learn: 0.1042029    total: 1.97s    remaining: 348ms
425:    learn: 0.1039612    total: 1.98s    remaining: 343ms
426:    learn: 0.1039208    total: 1.98s    remaining: 338ms
427:    learn: 0.1038050    total: 1.98s    remaining: 334ms
428:    learn: 0.1036033    total: 1.99s    remaining: 329ms
429:    learn: 0.1033499    total: 1.99s    remaining: 324ms
430:    learn: 0.1030202    total: 1.99s    remaining: 319ms
431:    learn: 0.1027827    total: 2s   remaining: 315ms
432:    learn: 0.1025684    total: 2s   remaining: 310ms
433:    learn: 0.1022719    total: 2s   remaining: 305ms
434:    learn: 0.1020928    total: 2.01s    remaining: 300ms
435:    learn: 0.1019413    total: 2.01s    remaining: 295ms
436:    learn: 0.1016739    total: 2.02s    remaining: 291ms
437:    learn: 0.1015915    total: 2.02s    remaining: 286ms
438:    learn: 0.1013420    total: 2.02s    remaining: 281ms
439:    learn: 0.1012501    total: 2.03s    remaining: 276ms
440:    learn: 0.1011603    total: 2.03s    remaining: 272ms
441:    learn: 0.1009772    total: 2.03s    remaining: 267ms
442:    learn: 0.1008690    total: 2.04s    remaining: 262ms
443:    learn: 0.1006633    total: 2.04s    remaining: 257ms
444:    learn: 0.1006062    total: 2.04s    remaining: 253ms
445:    learn: 0.1004783    total: 2.05s    remaining: 248ms
446:    learn: 0.1000997    total: 2.05s    remaining: 243ms
447:    learn: 0.0999621    total: 2.05s    remaining: 238ms
448:    learn: 0.0998610    total: 2.06s    remaining: 234ms
449:    learn: 0.0996801    total: 2.06s    remaining: 229ms
450:    learn: 0.0995396    total: 2.06s    remaining: 224ms
451:    learn: 0.0993685    total: 2.07s    remaining: 220ms
452:    learn: 0.0992825    total: 2.07s    remaining: 215ms
453:    learn: 0.0990816    total: 2.07s    remaining: 210ms
454:    learn: 0.0989533    total: 2.08s    remaining: 206ms
455:    learn: 0.0987423    total: 2.08s    remaining: 201ms
456:    learn: 0.0984737    total: 2.08s    remaining: 196ms
457:    learn: 0.0983149    total: 2.09s    remaining: 192ms
458:    learn: 0.0981545    total: 2.09s    remaining: 187ms
459:    learn: 0.0980125    total: 2.1s remaining: 182ms
460:    learn: 0.0979303    total: 2.1s remaining: 178ms
461:    learn: 0.0977212    total: 2.1s remaining: 173ms
462:    learn: 0.0976183    total: 2.11s    remaining: 168ms
463:    learn: 0.0974030    total: 2.11s    remaining: 164ms
464:    learn: 0.0972876    total: 2.11s    remaining: 159ms
465:    learn: 0.0971423    total: 2.12s    remaining: 155ms
466:    learn: 0.0969233    total: 2.12s    remaining: 150ms
467:    learn: 0.0968530    total: 2.12s    remaining: 145ms
468:    learn: 0.0966732    total: 2.13s    remaining: 141ms
469:    learn: 0.0964522    total: 2.13s    remaining: 136ms
470:    learn: 0.0960813    total: 2.13s    remaining: 131ms
471:    learn: 0.0959101    total: 2.14s    remaining: 127ms
472:    learn: 0.0956764    total: 2.14s    remaining: 122ms
473:    learn: 0.0953538    total: 2.15s    remaining: 118ms
474:    learn: 0.0952275    total: 2.15s    remaining: 113ms
475:    learn: 0.0951494    total: 2.16s    remaining: 109ms
476:    learn: 0.0949602    total: 2.16s    remaining: 104ms
477:    learn: 0.0947651    total: 2.17s    remaining: 99.7ms
478:    learn: 0.0945485    total: 2.17s    remaining: 95.2ms
479:    learn: 0.0943566    total: 2.17s    remaining: 90.6ms
480:    learn: 0.0942533    total: 2.18s    remaining: 86ms
481:    learn: 0.0941021    total: 2.18s    remaining: 81.5ms
482:    learn: 0.0939589    total: 2.19s    remaining: 76.9ms
483:    learn: 0.0937109    total: 2.19s    remaining: 72.4ms
484:    learn: 0.0935242    total: 2.19s    remaining: 67.8ms
485:    learn: 0.0934202    total: 2.19s    remaining: 63.3ms
486:    learn: 0.0931857    total: 2.2s remaining: 58.7ms
487:    learn: 0.0930054    total: 2.2s remaining: 54.2ms
488:    learn: 0.0927797    total: 2.21s    remaining: 49.6ms
489:    learn: 0.0926331    total: 2.21s    remaining: 45.1ms
490:    learn: 0.0924549    total: 2.21s    remaining: 40.6ms
491:    learn: 0.0921897    total: 2.22s    remaining: 36ms
492:    learn: 0.0919938    total: 2.22s    remaining: 31.5ms
493:    learn: 0.0918124    total: 2.22s    remaining: 27ms
494:    learn: 0.0917498    total: 2.23s    remaining: 22.5ms
495:    learn: 0.0915018    total: 2.23s    remaining: 18ms
496:    learn: 0.0912641    total: 2.23s    remaining: 13.5ms
497:    learn: 0.0911878    total: 2.24s    remaining: 8.99ms
498:    learn: 0.0909617    total: 2.24s    remaining: 4.49ms
499:    learn: 0.0907337    total: 2.24s    remaining: 0us

Mengevaluasi: conloss_keep_corr_XGBoost

Mengevaluasi: conloss_keep_corr_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 407, number of negative: 3526
[LightGBM] [Info] Total Bins 10104
[LightGBM] [Info] Number of data points in the train set: 3933, number of used features: 64
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.103483 -> initscore=-2.159106
[LightGBM] [Info] Start training from score -2.159106
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: conloss_keep_corr_CatBoost
0:  learn: 0.6507224    total: 5.5ms    remaining: 2.7s
1:  learn: 0.6119868    total: 11ms remaining: 2.7s
2:  learn: 0.5763777    total: 16.2ms   remaining: 2.64s
3:  learn: 0.5456829    total: 21.4ms   remaining: 2.61s
4:  learn: 0.5164910    total: 26.5ms   remaining: 2.58s
5:  learn: 0.4907195    total: 31.9ms   remaining: 2.58s
6:  learn: 0.4674844    total: 37.2ms   remaining: 2.58s
7:  learn: 0.4450102    total: 42.4ms   remaining: 2.56s
8:  learn: 0.4270051    total: 47.5ms   remaining: 2.55s
9:  learn: 0.4090691    total: 52.9ms   remaining: 2.55s
10: learn: 0.3924869    total: 58ms remaining: 2.54s
11: learn: 0.3773160    total: 63.5ms   remaining: 2.54s
12: learn: 0.3644534    total: 68.6ms   remaining: 2.53s
13: learn: 0.3530206    total: 73.7ms   remaining: 2.52s
14: learn: 0.3433334    total: 78.7ms   remaining: 2.5s
15: learn: 0.3344553    total: 84ms remaining: 2.5s
16: learn: 0.3254368    total: 92.6ms   remaining: 2.59s
17: learn: 0.3175699    total: 99ms remaining: 2.61s
18: learn: 0.3098435    total: 106ms    remaining: 2.64s
19: learn: 0.3030462    total: 111ms    remaining: 2.63s
20: learn: 0.2968391    total: 117ms    remaining: 2.62s
21: learn: 0.2913543    total: 123ms    remaining: 2.62s
22: learn: 0.2873080    total: 128ms    remaining: 2.61s
23: learn: 0.2823280    total: 133ms    remaining: 2.6s
24: learn: 0.2776013    total: 139ms    remaining: 2.59s
25: learn: 0.2731206    total: 144ms    remaining: 2.58s
26: learn: 0.2690983    total: 149ms    remaining: 2.57s
27: learn: 0.2653286    total: 154ms    remaining: 2.56s
28: learn: 0.2617425    total: 160ms    remaining: 2.55s
29: learn: 0.2580594    total: 165ms    remaining: 2.54s
30: learn: 0.2547432    total: 171ms    remaining: 2.54s
31: learn: 0.2525488    total: 176ms    remaining: 2.52s
32: learn: 0.2501072    total: 181ms    remaining: 2.52s
33: learn: 0.2486096    total: 186ms    remaining: 2.51s
34: learn: 0.2462233    total: 191ms    remaining: 2.5s
35: learn: 0.2443520    total: 196ms    remaining: 2.49s
36: learn: 0.2428132    total: 201ms    remaining: 2.48s
37: learn: 0.2415408    total: 207ms    remaining: 2.48s
38: learn: 0.2399334    total: 213ms    remaining: 2.47s
39: learn: 0.2389004    total: 218ms    remaining: 2.46s
40: learn: 0.2367141    total: 223ms    remaining: 2.45s
41: learn: 0.2353122    total: 228ms    remaining: 2.45s
42: learn: 0.2338041    total: 234ms    remaining: 2.44s
43: learn: 0.2325250    total: 239ms    remaining: 2.43s
44: learn: 0.2311759    total: 244ms    remaining: 2.42s
45: learn: 0.2300901    total: 249ms    remaining: 2.42s
46: learn: 0.2291058    total: 255ms    remaining: 2.41s
47: learn: 0.2275763    total: 260ms    remaining: 2.4s
48: learn: 0.2263983    total: 265ms    remaining: 2.4s
49: learn: 0.2254041    total: 271ms    remaining: 2.39s
50: learn: 0.2246860    total: 276ms    remaining: 2.39s
51: learn: 0.2237962    total: 281ms    remaining: 2.38s
52: learn: 0.2231152    total: 286ms    remaining: 2.37s
53: learn: 0.2221391    total: 292ms    remaining: 2.37s
54: learn: 0.2211890    total: 297ms    remaining: 2.36s
55: learn: 0.2207579    total: 302ms    remaining: 2.35s
56: learn: 0.2201006    total: 307ms    remaining: 2.34s
57: learn: 0.2195335    total: 312ms    remaining: 2.33s
58: learn: 0.2187096    total: 317ms    remaining: 2.32s
59: learn: 0.2176823    total: 322ms    remaining: 2.32s
60: learn: 0.2167870    total: 327ms    remaining: 2.31s
61: learn: 0.2161291    total: 332ms    remaining: 2.3s
62: learn: 0.2155798    total: 338ms    remaining: 2.3s
63: learn: 0.2148052    total: 344ms    remaining: 2.3s
64: learn: 0.2143721    total: 350ms    remaining: 2.3s
65: learn: 0.2136898    total: 355ms    remaining: 2.29s
66: learn: 0.2133458    total: 360ms    remaining: 2.28s
67: learn: 0.2125948    total: 365ms    remaining: 2.28s
68: learn: 0.2120464    total: 370ms    remaining: 2.27s
69: learn: 0.2112901    total: 376ms    remaining: 2.27s
70: learn: 0.2107359    total: 382ms    remaining: 2.26s
71: learn: 0.2103601    total: 387ms    remaining: 2.25s
72: learn: 0.2097013    total: 392ms    remaining: 2.25s
73: learn: 0.2093642    total: 396ms    remaining: 2.24s
74: learn: 0.2090060    total: 401ms    remaining: 2.23s
75: learn: 0.2087579    total: 406ms    remaining: 2.22s
76: learn: 0.2083782    total: 412ms    remaining: 2.22s
77: learn: 0.2076678    total: 418ms    remaining: 2.22s
78: learn: 0.2073147    total: 423ms    remaining: 2.21s
79: learn: 0.2067613    total: 428ms    remaining: 2.2s
80: learn: 0.2062547    total: 433ms    remaining: 2.19s
81: learn: 0.2058089    total: 438ms    remaining: 2.19s
82: learn: 0.2053019    total: 443ms    remaining: 2.18s
83: learn: 0.2050051    total: 447ms    remaining: 2.17s
84: learn: 0.2045973    total: 452ms    remaining: 2.17s
85: learn: 0.2042080    total: 457ms    remaining: 2.16s
86: learn: 0.2038426    total: 462ms    remaining: 2.15s
87: learn: 0.2034957    total: 468ms    remaining: 2.15s
88: learn: 0.2029058    total: 473ms    remaining: 2.14s
89: learn: 0.2026710    total: 479ms    remaining: 2.14s
90: learn: 0.2023289    total: 485ms    remaining: 2.14s
91: learn: 0.2020978    total: 490ms    remaining: 2.13s
92: learn: 0.2016269    total: 496ms    remaining: 2.13s
93: learn: 0.2011907    total: 501ms    remaining: 2.12s
94: learn: 0.2007669    total: 506ms    remaining: 2.12s
95: learn: 0.2004507    total: 511ms    remaining: 2.11s
96: learn: 0.1999268    total: 516ms    remaining: 2.1s
97: learn: 0.1994857    total: 521ms    remaining: 2.09s
98: learn: 0.1989823    total: 526ms    remaining: 2.09s
99: learn: 0.1986361    total: 531ms    remaining: 2.08s
100:    learn: 0.1984073    total: 535ms    remaining: 2.07s
101:    learn: 0.1980479    total: 540ms    remaining: 2.06s
102:    learn: 0.1976679    total: 545ms    remaining: 2.06s
103:    learn: 0.1971842    total: 549ms    remaining: 2.05s
104:    learn: 0.1968424    total: 554ms    remaining: 2.04s
105:    learn: 0.1966641    total: 559ms    remaining: 2.03s
106:    learn: 0.1961759    total: 564ms    remaining: 2.03s
107:    learn: 0.1957923    total: 568ms    remaining: 2.02s
108:    learn: 0.1954655    total: 573ms    remaining: 2.01s
109:    learn: 0.1952498    total: 578ms    remaining: 2.01s
110:    learn: 0.1948466    total: 583ms    remaining: 2s
111:    learn: 0.1946331    total: 588ms    remaining: 1.99s
112:    learn: 0.1942878    total: 592ms    remaining: 1.99s
113:    learn: 0.1939896    total: 597ms    remaining: 1.98s
114:    learn: 0.1935628    total: 602ms    remaining: 1.97s
115:    learn: 0.1932168    total: 607ms    remaining: 1.97s
116:    learn: 0.1928422    total: 613ms    remaining: 1.97s
117:    learn: 0.1926869    total: 618ms    remaining: 1.96s
118:    learn: 0.1922356    total: 623ms    remaining: 1.95s
119:    learn: 0.1917194    total: 628ms    remaining: 1.95s
120:    learn: 0.1913086    total: 633ms    remaining: 1.94s
121:    learn: 0.1911602    total: 638ms    remaining: 1.93s
122:    learn: 0.1909554    total: 642ms    remaining: 1.93s
123:    learn: 0.1904769    total: 647ms    remaining: 1.92s
124:    learn: 0.1901862    total: 652ms    remaining: 1.91s
125:    learn: 0.1898766    total: 657ms    remaining: 1.91s
126:    learn: 0.1896989    total: 661ms    remaining: 1.9s
127:    learn: 0.1894478    total: 666ms    remaining: 1.89s
128:    learn: 0.1891117    total: 670ms    remaining: 1.89s
129:    learn: 0.1886627    total: 676ms    remaining: 1.88s
130:    learn: 0.1884162    total: 680ms    remaining: 1.87s
131:    learn: 0.1882453    total: 685ms    remaining: 1.87s
132:    learn: 0.1879918    total: 690ms    remaining: 1.86s
133:    learn: 0.1876334    total: 695ms    remaining: 1.86s
134:    learn: 0.1872540    total: 700ms    remaining: 1.85s
135:    learn: 0.1870705    total: 705ms    remaining: 1.84s
136:    learn: 0.1867869    total: 709ms    remaining: 1.84s
137:    learn: 0.1864931    total: 714ms    remaining: 1.83s
138:    learn: 0.1862819    total: 719ms    remaining: 1.83s
139:    learn: 0.1860609    total: 724ms    remaining: 1.82s
140:    learn: 0.1857470    total: 729ms    remaining: 1.81s
141:    learn: 0.1855744    total: 734ms    remaining: 1.81s
142:    learn: 0.1850072    total: 738ms    remaining: 1.8s
143:    learn: 0.1845491    total: 743ms    remaining: 1.8s
144:    learn: 0.1843376    total: 748ms    remaining: 1.79s
145:    learn: 0.1840446    total: 753ms    remaining: 1.78s
146:    learn: 0.1836148    total: 758ms    remaining: 1.78s
147:    learn: 0.1832645    total: 763ms    remaining: 1.77s
148:    learn: 0.1832038    total: 767ms    remaining: 1.76s
149:    learn: 0.1829141    total: 772ms    remaining: 1.76s
150:    learn: 0.1826865    total: 777ms    remaining: 1.75s
151:    learn: 0.1824589    total: 782ms    remaining: 1.75s
152:    learn: 0.1821284    total: 787ms    remaining: 1.74s
153:    learn: 0.1819965    total: 791ms    remaining: 1.74s
154:    learn: 0.1817927    total: 796ms    remaining: 1.73s
155:    learn: 0.1814171    total: 801ms    remaining: 1.72s
156:    learn: 0.1813058    total: 805ms    remaining: 1.72s
157:    learn: 0.1809211    total: 810ms    remaining: 1.71s
158:    learn: 0.1805911    total: 818ms    remaining: 1.71s
159:    learn: 0.1803586    total: 822ms    remaining: 1.71s
160:    learn: 0.1799304    total: 828ms    remaining: 1.7s
161:    learn: 0.1796089    total: 832ms    remaining: 1.7s
162:    learn: 0.1792090    total: 837ms    remaining: 1.69s
163:    learn: 0.1790016    total: 842ms    remaining: 1.68s
164:    learn: 0.1787061    total: 847ms    remaining: 1.68s
165:    learn: 0.1783987    total: 852ms    remaining: 1.67s
166:    learn: 0.1780768    total: 857ms    remaining: 1.67s
167:    learn: 0.1778436    total: 862ms    remaining: 1.66s
168:    learn: 0.1775711    total: 866ms    remaining: 1.66s
169:    learn: 0.1771057    total: 871ms    remaining: 1.65s
170:    learn: 0.1768097    total: 876ms    remaining: 1.64s
171:    learn: 0.1765418    total: 881ms    remaining: 1.64s
172:    learn: 0.1763520    total: 886ms    remaining: 1.63s
173:    learn: 0.1760289    total: 890ms    remaining: 1.63s
174:    learn: 0.1755628    total: 895ms    remaining: 1.62s
175:    learn: 0.1753165    total: 900ms    remaining: 1.62s
176:    learn: 0.1751926    total: 905ms    remaining: 1.61s
177:    learn: 0.1749426    total: 910ms    remaining: 1.6s
178:    learn: 0.1746355    total: 914ms    remaining: 1.6s
179:    learn: 0.1742397    total: 919ms    remaining: 1.59s
180:    learn: 0.1738691    total: 924ms    remaining: 1.59s
181:    learn: 0.1736973    total: 929ms    remaining: 1.58s
182:    learn: 0.1733182    total: 934ms    remaining: 1.58s
183:    learn: 0.1729762    total: 939ms    remaining: 1.57s
184:    learn: 0.1728633    total: 944ms    remaining: 1.56s
185:    learn: 0.1726298    total: 949ms    remaining: 1.56s
186:    learn: 0.1724885    total: 954ms    remaining: 1.56s
187:    learn: 0.1723901    total: 960ms    remaining: 1.55s
188:    learn: 0.1722835    total: 965ms    remaining: 1.55s
189:    learn: 0.1720764    total: 970ms    remaining: 1.54s
190:    learn: 0.1718122    total: 975ms    remaining: 1.53s
191:    learn: 0.1716750    total: 979ms    remaining: 1.53s
192:    learn: 0.1714526    total: 984ms    remaining: 1.52s
193:    learn: 0.1712903    total: 989ms    remaining: 1.52s
194:    learn: 0.1711012    total: 993ms    remaining: 1.51s
195:    learn: 0.1709353    total: 998ms    remaining: 1.51s
196:    learn: 0.1706061    total: 1s   remaining: 1.5s
197:    learn: 0.1703469    total: 1.01s    remaining: 1.5s
198:    learn: 0.1701295    total: 1.01s    remaining: 1.49s
199:    learn: 0.1699519    total: 1.02s    remaining: 1.49s
200:    learn: 0.1696878    total: 1.02s    remaining: 1.48s
201:    learn: 0.1693829    total: 1.03s    remaining: 1.48s
202:    learn: 0.1692662    total: 1.03s    remaining: 1.47s
203:    learn: 0.1691030    total: 1.04s    remaining: 1.47s
204:    learn: 0.1687639    total: 1.04s    remaining: 1.46s
205:    learn: 0.1684389    total: 1.05s    remaining: 1.45s
206:    learn: 0.1682004    total: 1.05s    remaining: 1.45s
207:    learn: 0.1679421    total: 1.06s    remaining: 1.44s
208:    learn: 0.1677155    total: 1.06s    remaining: 1.44s
209:    learn: 0.1674114    total: 1.07s    remaining: 1.43s
210:    learn: 0.1672263    total: 1.07s    remaining: 1.43s
211:    learn: 0.1669119    total: 1.07s    remaining: 1.42s
212:    learn: 0.1666731    total: 1.08s    remaining: 1.42s
213:    learn: 0.1664492    total: 1.09s    remaining: 1.41s
214:    learn: 0.1662787    total: 1.09s    remaining: 1.41s
215:    learn: 0.1660277    total: 1.09s    remaining: 1.4s
216:    learn: 0.1657810    total: 1.1s remaining: 1.39s
217:    learn: 0.1654306    total: 1.1s remaining: 1.39s
218:    learn: 0.1652533    total: 1.11s    remaining: 1.38s
219:    learn: 0.1650037    total: 1.11s    remaining: 1.38s
220:    learn: 0.1647355    total: 1.12s    remaining: 1.37s
221:    learn: 0.1645165    total: 1.13s    remaining: 1.37s
222:    learn: 0.1642539    total: 1.13s    remaining: 1.36s
223:    learn: 0.1639660    total: 1.14s    remaining: 1.36s
224:    learn: 0.1635813    total: 1.14s    remaining: 1.35s
225:    learn: 0.1632456    total: 1.15s    remaining: 1.35s
226:    learn: 0.1630228    total: 1.15s    remaining: 1.35s
227:    learn: 0.1628873    total: 1.16s    remaining: 1.34s
228:    learn: 0.1624245    total: 1.17s    remaining: 1.34s
229:    learn: 0.1620714    total: 1.17s    remaining: 1.33s
230:    learn: 0.1618040    total: 1.18s    remaining: 1.33s
231:    learn: 0.1615402    total: 1.18s    remaining: 1.32s
232:    learn: 0.1613138    total: 1.19s    remaining: 1.32s
233:    learn: 0.1611396    total: 1.2s remaining: 1.32s
234:    learn: 0.1609117    total: 1.2s remaining: 1.31s
235:    learn: 0.1607479    total: 1.21s    remaining: 1.31s
236:    learn: 0.1604818    total: 1.22s    remaining: 1.31s
237:    learn: 0.1602033    total: 1.22s    remaining: 1.31s
238:    learn: 0.1599541    total: 1.23s    remaining: 1.3s
239:    learn: 0.1597101    total: 1.24s    remaining: 1.3s
240:    learn: 0.1594201    total: 1.24s    remaining: 1.29s
241:    learn: 0.1592095    total: 1.25s    remaining: 1.29s
242:    learn: 0.1590452    total: 1.25s    remaining: 1.28s
243:    learn: 0.1589558    total: 1.26s    remaining: 1.28s
244:    learn: 0.1587526    total: 1.26s    remaining: 1.27s
245:    learn: 0.1584252    total: 1.27s    remaining: 1.27s
246:    learn: 0.1581662    total: 1.28s    remaining: 1.27s
247:    learn: 0.1578580    total: 1.28s    remaining: 1.26s
248:    learn: 0.1574730    total: 1.29s    remaining: 1.26s
249:    learn: 0.1572505    total: 1.3s remaining: 1.25s
250:    learn: 0.1569080    total: 1.3s remaining: 1.25s
251:    learn: 0.1566852    total: 1.31s    remaining: 1.25s
252:    learn: 0.1564210    total: 1.31s    remaining: 1.24s
253:    learn: 0.1563512    total: 1.32s    remaining: 1.23s
254:    learn: 0.1562788    total: 1.32s    remaining: 1.23s
255:    learn: 0.1560392    total: 1.33s    remaining: 1.23s
256:    learn: 0.1558451    total: 1.33s    remaining: 1.22s
257:    learn: 0.1556581    total: 1.34s    remaining: 1.22s
258:    learn: 0.1554884    total: 1.35s    remaining: 1.21s
259:    learn: 0.1553343    total: 1.35s    remaining: 1.21s
260:    learn: 0.1550742    total: 1.36s    remaining: 1.2s
261:    learn: 0.1547842    total: 1.37s    remaining: 1.2s
262:    learn: 0.1544359    total: 1.37s    remaining: 1.19s
263:    learn: 0.1541925    total: 1.38s    remaining: 1.19s
264:    learn: 0.1540432    total: 1.38s    remaining: 1.18s
265:    learn: 0.1537513    total: 1.39s    remaining: 1.18s
266:    learn: 0.1534376    total: 1.4s remaining: 1.18s
267:    learn: 0.1531690    total: 1.4s remaining: 1.17s
268:    learn: 0.1528626    total: 1.41s    remaining: 1.17s
269:    learn: 0.1525744    total: 1.41s    remaining: 1.16s
270:    learn: 0.1523772    total: 1.42s    remaining: 1.16s
271:    learn: 0.1521538    total: 1.42s    remaining: 1.15s
272:    learn: 0.1517257    total: 1.43s    remaining: 1.15s
273:    learn: 0.1514223    total: 1.44s    remaining: 1.14s
274:    learn: 0.1512036    total: 1.44s    remaining: 1.14s
275:    learn: 0.1509269    total: 1.45s    remaining: 1.13s
276:    learn: 0.1508748    total: 1.45s    remaining: 1.13s
277:    learn: 0.1504817    total: 1.46s    remaining: 1.12s
278:    learn: 0.1501513    total: 1.47s    remaining: 1.12s
279:    learn: 0.1499230    total: 1.47s    remaining: 1.11s
280:    learn: 0.1497734    total: 1.48s    remaining: 1.11s
281:    learn: 0.1495902    total: 1.48s    remaining: 1.1s
282:    learn: 0.1494349    total: 1.49s    remaining: 1.1s
283:    learn: 0.1492759    total: 1.49s    remaining: 1.09s
284:    learn: 0.1490517    total: 1.5s remaining: 1.09s
285:    learn: 0.1487936    total: 1.5s remaining: 1.08s
286:    learn: 0.1485982    total: 1.51s    remaining: 1.08s
287:    learn: 0.1483819    total: 1.51s    remaining: 1.07s
288:    learn: 0.1483438    total: 1.52s    remaining: 1.07s
289:    learn: 0.1483106    total: 1.52s    remaining: 1.06s
290:    learn: 0.1482082    total: 1.53s    remaining: 1.05s
291:    learn: 0.1479635    total: 1.53s    remaining: 1.05s
292:    learn: 0.1479130    total: 1.54s    remaining: 1.04s
293:    learn: 0.1476447    total: 1.54s    remaining: 1.04s
294:    learn: 0.1472652    total: 1.55s    remaining: 1.03s
295:    learn: 0.1470075    total: 1.55s    remaining: 1.03s
296:    learn: 0.1469353    total: 1.56s    remaining: 1.02s
297:    learn: 0.1465840    total: 1.56s    remaining: 1.02s
298:    learn: 0.1463835    total: 1.57s    remaining: 1.01s
299:    learn: 0.1462124    total: 1.58s    remaining: 1.01s
300:    learn: 0.1460096    total: 1.58s    remaining: 1s
301:    learn: 0.1457072    total: 1.59s    remaining: 999ms
302:    learn: 0.1453826    total: 1.59s    remaining: 993ms
303:    learn: 0.1451165    total: 1.6s remaining: 988ms
304:    learn: 0.1448464    total: 1.6s remaining: 983ms
305:    learn: 0.1448117    total: 1.61s    remaining: 978ms
306:    learn: 0.1446813    total: 1.61s    remaining: 974ms
307:    learn: 0.1446480    total: 1.62s    remaining: 968ms
308:    learn: 0.1445449    total: 1.63s    remaining: 963ms
309:    learn: 0.1445129    total: 1.63s    remaining: 958ms
310:    learn: 0.1442740    total: 1.64s    remaining: 952ms
311:    learn: 0.1440932    total: 1.64s    remaining: 947ms
312:    learn: 0.1437970    total: 1.65s    remaining: 942ms
313:    learn: 0.1437657    total: 1.65s    remaining: 937ms
314:    learn: 0.1434702    total: 1.66s    remaining: 931ms
315:    learn: 0.1431818    total: 1.66s    remaining: 926ms
316:    learn: 0.1429730    total: 1.67s    remaining: 921ms
317:    learn: 0.1427528    total: 1.67s    remaining: 915ms
318:    learn: 0.1426445    total: 1.68s    remaining: 910ms
319:    learn: 0.1424698    total: 1.68s    remaining: 905ms
320:    learn: 0.1423186    total: 1.69s    remaining: 900ms
321:    learn: 0.1419813    total: 1.69s    remaining: 894ms
322:    learn: 0.1418168    total: 1.7s remaining: 889ms
323:    learn: 0.1417139    total: 1.7s remaining: 884ms
324:    learn: 0.1414251    total: 1.71s    remaining: 878ms
325:    learn: 0.1412679    total: 1.71s    remaining: 873ms
326:    learn: 0.1411496    total: 1.72s    remaining: 868ms
327:    learn: 0.1411187    total: 1.72s    remaining: 862ms
328:    learn: 0.1409529    total: 1.73s    remaining: 857ms
329:    learn: 0.1407037    total: 1.74s    remaining: 852ms
330:    learn: 0.1405881    total: 1.74s    remaining: 847ms
331:    learn: 0.1405275    total: 1.75s    remaining: 841ms
332:    learn: 0.1404225    total: 1.75s    remaining: 836ms
333:    learn: 0.1402287    total: 1.75s    remaining: 831ms
334:    learn: 0.1401680    total: 1.76s    remaining: 825ms
335:    learn: 0.1400098    total: 1.77s    remaining: 820ms
336:    learn: 0.1399453    total: 1.77s    remaining: 815ms
337:    learn: 0.1397146    total: 1.78s    remaining: 809ms
338:    learn: 0.1393599    total: 1.78s    remaining: 804ms
339:    learn: 0.1390824    total: 1.79s    remaining: 799ms
340:    learn: 0.1388301    total: 1.79s    remaining: 794ms
341:    learn: 0.1386379    total: 1.8s remaining: 788ms
342:    learn: 0.1384022    total: 1.8s remaining: 783ms
343:    learn: 0.1382315    total: 1.81s    remaining: 779ms
344:    learn: 0.1381013    total: 1.82s    remaining: 774ms
345:    learn: 0.1377754    total: 1.82s    remaining: 769ms
346:    learn: 0.1376641    total: 1.83s    remaining: 763ms
347:    learn: 0.1375144    total: 1.83s    remaining: 758ms
348:    learn: 0.1372259    total: 1.84s    remaining: 753ms
349:    learn: 0.1371588    total: 1.84s    remaining: 747ms
350:    learn: 0.1368867    total: 1.85s    remaining: 742ms
351:    learn: 0.1366847    total: 1.85s    remaining: 737ms
352:    learn: 0.1364580    total: 1.86s    remaining: 732ms
353:    learn: 0.1361730    total: 1.86s    remaining: 726ms
354:    learn: 0.1359151    total: 1.87s    remaining: 721ms
355:    learn: 0.1356249    total: 1.87s    remaining: 716ms
356:    learn: 0.1354485    total: 1.88s    remaining: 711ms
357:    learn: 0.1352788    total: 1.88s    remaining: 705ms
358:    learn: 0.1350562    total: 1.89s    remaining: 700ms
359:    learn: 0.1348397    total: 1.89s    remaining: 695ms
360:    learn: 0.1347241    total: 1.9s remaining: 690ms
361:    learn: 0.1345741    total: 1.91s    remaining: 684ms
362:    learn: 0.1342554    total: 1.91s    remaining: 679ms
363:    learn: 0.1342101    total: 1.92s    remaining: 674ms
364:    learn: 0.1339815    total: 1.92s    remaining: 668ms
365:    learn: 0.1336521    total: 1.93s    remaining: 663ms
366:    learn: 0.1335336    total: 1.93s    remaining: 658ms
367:    learn: 0.1333419    total: 1.94s    remaining: 652ms
368:    learn: 0.1330071    total: 1.94s    remaining: 647ms
369:    learn: 0.1327474    total: 1.95s    remaining: 642ms
370:    learn: 0.1325918    total: 1.95s    remaining: 637ms
371:    learn: 0.1323716    total: 1.96s    remaining: 631ms
372:    learn: 0.1321705    total: 1.96s    remaining: 626ms
373:    learn: 0.1316503    total: 1.97s    remaining: 621ms
374:    learn: 0.1315750    total: 1.97s    remaining: 616ms
375:    learn: 0.1314966    total: 1.98s    remaining: 610ms
376:    learn: 0.1314405    total: 1.98s    remaining: 605ms
377:    learn: 0.1313860    total: 1.99s    remaining: 600ms
378:    learn: 0.1312065    total: 2s   remaining: 595ms
379:    learn: 0.1311008    total: 2s   remaining: 590ms
380:    learn: 0.1310633    total: 2s   remaining: 584ms
381:    learn: 0.1309320    total: 2.01s    remaining: 579ms
382:    learn: 0.1306569    total: 2.02s    remaining: 574ms
383:    learn: 0.1304055    total: 2.02s    remaining: 568ms
384:    learn: 0.1303009    total: 2.03s    remaining: 563ms
385:    learn: 0.1300903    total: 2.03s    remaining: 558ms
386:    learn: 0.1298879    total: 2.04s    remaining: 552ms
387:    learn: 0.1296340    total: 2.04s    remaining: 547ms
388:    learn: 0.1294449    total: 2.05s    remaining: 542ms
389:    learn: 0.1292215    total: 2.05s    remaining: 536ms
390:    learn: 0.1291880    total: 2.06s    remaining: 531ms
391:    learn: 0.1290092    total: 2.06s    remaining: 526ms
392:    learn: 0.1289089    total: 2.06s    remaining: 520ms
393:    learn: 0.1286341    total: 2.07s    remaining: 515ms
394:    learn: 0.1285178    total: 2.08s    remaining: 510ms
395:    learn: 0.1283909    total: 2.08s    remaining: 504ms
396:    learn: 0.1282428    total: 2.08s    remaining: 499ms
397:    learn: 0.1280627    total: 2.09s    remaining: 493ms
398:    learn: 0.1278528    total: 2.09s    remaining: 488ms
399:    learn: 0.1275987    total: 2.1s remaining: 483ms
400:    learn: 0.1274312    total: 2.1s remaining: 477ms
401:    learn: 0.1272752    total: 2.11s    remaining: 472ms
402:    learn: 0.1270554    total: 2.11s    remaining: 467ms
403:    learn: 0.1267925    total: 2.12s    remaining: 461ms
404:    learn: 0.1265047    total: 2.12s    remaining: 456ms
405:    learn: 0.1263997    total: 2.13s    remaining: 450ms
406:    learn: 0.1261637    total: 2.13s    remaining: 445ms
407:    learn: 0.1260654    total: 2.13s    remaining: 440ms
408:    learn: 0.1258194    total: 2.14s    remaining: 434ms
409:    learn: 0.1256198    total: 2.14s    remaining: 429ms
410:    learn: 0.1254233    total: 2.15s    remaining: 424ms
411:    learn: 0.1252260    total: 2.15s    remaining: 418ms
412:    learn: 0.1251922    total: 2.16s    remaining: 413ms
413:    learn: 0.1249718    total: 2.16s    remaining: 408ms
414:    learn: 0.1248794    total: 2.17s    remaining: 402ms
415:    learn: 0.1247408    total: 2.17s    remaining: 397ms
416:    learn: 0.1245444    total: 2.18s    remaining: 392ms
417:    learn: 0.1244516    total: 2.18s    remaining: 386ms
418:    learn: 0.1242624    total: 2.19s    remaining: 381ms
419:    learn: 0.1240948    total: 2.19s    remaining: 376ms
420:    learn: 0.1239399    total: 2.2s remaining: 371ms
421:    learn: 0.1237641    total: 2.2s remaining: 365ms
422:    learn: 0.1236359    total: 2.21s    remaining: 360ms
423:    learn: 0.1235789    total: 2.22s    remaining: 355ms
424:    learn: 0.1232751    total: 2.22s    remaining: 350ms
425:    learn: 0.1231973    total: 2.23s    remaining: 346ms
426:    learn: 0.1230761    total: 2.24s    remaining: 341ms
427:    learn: 0.1229073    total: 2.24s    remaining: 335ms
428:    learn: 0.1227550    total: 2.25s    remaining: 330ms
429:    learn: 0.1226637    total: 2.25s    remaining: 325ms
430:    learn: 0.1225394    total: 2.26s    remaining: 320ms
431:    learn: 0.1223657    total: 2.27s    remaining: 315ms
432:    learn: 0.1221260    total: 2.27s    remaining: 309ms
433:    learn: 0.1219276    total: 2.27s    remaining: 304ms
434:    learn: 0.1217995    total: 2.28s    remaining: 299ms
435:    learn: 0.1215743    total: 2.29s    remaining: 294ms
436:    learn: 0.1212024    total: 2.29s    remaining: 288ms
437:    learn: 0.1210191    total: 2.3s remaining: 283ms
438:    learn: 0.1208041    total: 2.3s remaining: 278ms
439:    learn: 0.1205243    total: 2.31s    remaining: 273ms
440:    learn: 0.1203193    total: 2.31s    remaining: 268ms
441:    learn: 0.1201777    total: 2.32s    remaining: 262ms
442:    learn: 0.1199539    total: 2.32s    remaining: 257ms
443:    learn: 0.1197404    total: 2.33s    remaining: 252ms
444:    learn: 0.1195207    total: 2.33s    remaining: 246ms
445:    learn: 0.1194404    total: 2.34s    remaining: 241ms
446:    learn: 0.1194107    total: 2.34s    remaining: 236ms
447:    learn: 0.1192313    total: 2.35s    remaining: 231ms
448:    learn: 0.1191339    total: 2.35s    remaining: 225ms
449:    learn: 0.1190085    total: 2.36s    remaining: 220ms
450:    learn: 0.1188145    total: 2.36s    remaining: 215ms
451:    learn: 0.1185729    total: 2.37s    remaining: 210ms
452:    learn: 0.1183980    total: 2.37s    remaining: 204ms
453:    learn: 0.1182436    total: 2.38s    remaining: 199ms
454:    learn: 0.1180199    total: 2.38s    remaining: 194ms
455:    learn: 0.1178847    total: 2.39s    remaining: 188ms
456:    learn: 0.1178570    total: 2.39s    remaining: 183ms
457:    learn: 0.1176324    total: 2.4s remaining: 178ms
458:    learn: 0.1175711    total: 2.4s remaining: 173ms
459:    learn: 0.1173539    total: 2.41s    remaining: 167ms
460:    learn: 0.1171869    total: 2.41s    remaining: 162ms
461:    learn: 0.1169988    total: 2.42s    remaining: 157ms
462:    learn: 0.1169492    total: 2.42s    remaining: 152ms
463:    learn: 0.1168006    total: 2.43s    remaining: 146ms
464:    learn: 0.1166247    total: 2.43s    remaining: 141ms
465:    learn: 0.1165826    total: 2.44s    remaining: 136ms
466:    learn: 0.1163999    total: 2.44s    remaining: 131ms
467:    learn: 0.1162975    total: 2.44s    remaining: 125ms
468:    learn: 0.1160952    total: 2.45s    remaining: 120ms
469:    learn: 0.1159081    total: 2.45s    remaining: 115ms
470:    learn: 0.1157591    total: 2.46s    remaining: 110ms
471:    learn: 0.1155975    total: 2.46s    remaining: 104ms
472:    learn: 0.1154609    total: 2.47s    remaining: 99.2ms
473:    learn: 0.1153281    total: 2.47s    remaining: 94ms
474:    learn: 0.1149947    total: 2.48s    remaining: 88.7ms
475:    learn: 0.1148672    total: 2.48s    remaining: 83.5ms
476:    learn: 0.1146580    total: 2.49s    remaining: 78.3ms
477:    learn: 0.1145124    total: 2.49s    remaining: 73ms
478:    learn: 0.1144543    total: 2.5s remaining: 67.8ms
479:    learn: 0.1143050    total: 2.5s remaining: 62.6ms
480:    learn: 0.1141243    total: 2.51s    remaining: 57.4ms
481:    learn: 0.1140571    total: 2.51s    remaining: 52.1ms
482:    learn: 0.1139195    total: 2.52s    remaining: 46.9ms
483:    learn: 0.1137822    total: 2.52s    remaining: 41.7ms
484:    learn: 0.1135253    total: 2.53s    remaining: 36.5ms
485:    learn: 0.1134480    total: 2.53s    remaining: 31.3ms
486:    learn: 0.1134059    total: 2.54s    remaining: 26ms
487:    learn: 0.1131028    total: 2.54s    remaining: 20.8ms
488:    learn: 0.1129582    total: 2.55s    remaining: 15.6ms
489:    learn: 0.1128894    total: 2.55s    remaining: 10.4ms
490:    learn: 0.1128232    total: 2.56s    remaining: 5.21ms
491:    learn: 0.1125264    total: 2.56s    remaining: 0us

Mengevaluasi: conloss_impute_all_XGBoost

Mengevaluasi: conloss_impute_all_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 407, number of negative: 3526
[LightGBM] [Info] Total Bins 11387
[LightGBM] [Info] Number of data points in the train set: 3933, number of used features: 72
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.103483 -> initscore=-2.159106
[LightGBM] [Info] Start training from score -2.159106
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: conloss_impute_all_CatBoost
0:  learn: 0.6861635    total: 6.29ms   remaining: 2.44s
1:  learn: 0.6793675    total: 11.4ms   remaining: 2.21s
2:  learn: 0.6727193    total: 16.6ms   remaining: 2.13s
3:  learn: 0.6662251    total: 21.9ms   remaining: 2.1s
4:  learn: 0.6597800    total: 27.1ms   remaining: 2.08s
5:  learn: 0.6534971    total: 32.5ms   remaining: 2.08s
6:  learn: 0.6473524    total: 39.8ms   remaining: 2.17s
7:  learn: 0.6413238    total: 45.1ms   remaining: 2.15s
8:  learn: 0.6354144    total: 50.3ms   remaining: 2.12s
9:  learn: 0.6295589    total: 55.3ms   remaining: 2.1s
10: learn: 0.6237934    total: 60.6ms   remaining: 2.08s
11: learn: 0.6181874    total: 65.8ms   remaining: 2.07s
12: learn: 0.6126589    total: 70.8ms   remaining: 2.05s
13: learn: 0.6072822    total: 75.7ms   remaining: 2.03s
14: learn: 0.6020296    total: 80.8ms   remaining: 2.01s
15: learn: 0.5968617    total: 86ms remaining: 2s
16: learn: 0.5917687    total: 91.1ms   remaining: 1.99s
17: learn: 0.5866841    total: 96.5ms   remaining: 1.99s
18: learn: 0.5817777    total: 102ms    remaining: 1.98s
19: learn: 0.5770281    total: 107ms    remaining: 1.97s
20: learn: 0.5723420    total: 112ms    remaining: 1.96s
21: learn: 0.5677763    total: 117ms    remaining: 1.95s
22: learn: 0.5631366    total: 122ms    remaining: 1.94s
23: learn: 0.5586798    total: 127ms    remaining: 1.93s
24: learn: 0.5542482    total: 132ms    remaining: 1.93s
25: learn: 0.5500015    total: 137ms    remaining: 1.92s
26: learn: 0.5458065    total: 142ms    remaining: 1.91s
27: learn: 0.5416554    total: 147ms    remaining: 1.9s
28: learn: 0.5376255    total: 153ms    remaining: 1.9s
29: learn: 0.5336582    total: 158ms    remaining: 1.9s
30: learn: 0.5297025    total: 164ms    remaining: 1.9s
31: learn: 0.5258370    total: 170ms    remaining: 1.89s
32: learn: 0.5221103    total: 175ms    remaining: 1.88s
33: learn: 0.5184229    total: 180ms    remaining: 1.88s
34: learn: 0.5147914    total: 185ms    remaining: 1.87s
35: learn: 0.5112887    total: 190ms    remaining: 1.86s
36: learn: 0.5077664    total: 196ms    remaining: 1.86s
37: learn: 0.5044288    total: 201ms    remaining: 1.86s
38: learn: 0.5011229    total: 206ms    remaining: 1.85s
39: learn: 0.4979120    total: 211ms    remaining: 1.84s
40: learn: 0.4947171    total: 216ms    remaining: 1.83s
41: learn: 0.4915934    total: 222ms    remaining: 1.83s
42: learn: 0.4885288    total: 227ms    remaining: 1.82s
43: learn: 0.4854363    total: 232ms    remaining: 1.82s
44: learn: 0.4824593    total: 238ms    remaining: 1.82s
45: learn: 0.4795502    total: 244ms    remaining: 1.82s
46: learn: 0.4766630    total: 249ms    remaining: 1.81s
47: learn: 0.4738409    total: 254ms    remaining: 1.81s
48: learn: 0.4710814    total: 259ms    remaining: 1.8s
49: learn: 0.4683813    total: 265ms    remaining: 1.79s
50: learn: 0.4657483    total: 270ms    remaining: 1.79s
51: learn: 0.4631265    total: 275ms    remaining: 1.78s
52: learn: 0.4606255    total: 280ms    remaining: 1.77s
53: learn: 0.4581581    total: 285ms    remaining: 1.76s
54: learn: 0.4557077    total: 290ms    remaining: 1.76s
55: learn: 0.4532969    total: 295ms    remaining: 1.75s
56: learn: 0.4509783    total: 300ms    remaining: 1.75s
57: learn: 0.4487027    total: 305ms    remaining: 1.74s
58: learn: 0.4463594    total: 311ms    remaining: 1.74s
59: learn: 0.4441354    total: 318ms    remaining: 1.74s
60: learn: 0.4419315    total: 323ms    remaining: 1.74s
61: learn: 0.4398175    total: 328ms    remaining: 1.73s
62: learn: 0.4377511    total: 333ms    remaining: 1.72s
63: learn: 0.4356527    total: 339ms    remaining: 1.72s
64: learn: 0.4335929    total: 345ms    remaining: 1.72s
65: learn: 0.4315732    total: 350ms    remaining: 1.71s
66: learn: 0.4296075    total: 356ms    remaining: 1.71s
67: learn: 0.4277227    total: 361ms    remaining: 1.7s
68: learn: 0.4258430    total: 366ms    remaining: 1.7s
69: learn: 0.4240610    total: 371ms    remaining: 1.69s
70: learn: 0.4222794    total: 376ms    remaining: 1.68s
71: learn: 0.4205208    total: 381ms    remaining: 1.68s
72: learn: 0.4187922    total: 386ms    remaining: 1.67s
73: learn: 0.4170893    total: 392ms    remaining: 1.67s
74: learn: 0.4154578    total: 398ms    remaining: 1.66s
75: learn: 0.4138263    total: 403ms    remaining: 1.66s
76: learn: 0.4122192    total: 408ms    remaining: 1.66s
77: learn: 0.4106189    total: 414ms    remaining: 1.65s
78: learn: 0.4090720    total: 419ms    remaining: 1.64s
79: learn: 0.4075842    total: 424ms    remaining: 1.64s
80: learn: 0.4060359    total: 429ms    remaining: 1.63s
81: learn: 0.4045808    total: 434ms    remaining: 1.62s
82: learn: 0.4031549    total: 441ms    remaining: 1.63s
83: learn: 0.4017607    total: 447ms    remaining: 1.62s
84: learn: 0.4003741    total: 452ms    remaining: 1.62s
85: learn: 0.3990028    total: 458ms    remaining: 1.61s
86: learn: 0.3976692    total: 463ms    remaining: 1.61s
87: learn: 0.3963444    total: 468ms    remaining: 1.6s
88: learn: 0.3950756    total: 473ms    remaining: 1.59s
89: learn: 0.3938104    total: 478ms    remaining: 1.59s
90: learn: 0.3925794    total: 483ms    remaining: 1.58s
91: learn: 0.3912823    total: 488ms    remaining: 1.58s
92: learn: 0.3900842    total: 494ms    remaining: 1.57s
93: learn: 0.3888732    total: 499ms    remaining: 1.57s
94: learn: 0.3877123    total: 504ms    remaining: 1.56s
95: learn: 0.3865974    total: 509ms    remaining: 1.55s
96: learn: 0.3853842    total: 515ms    remaining: 1.55s
97: learn: 0.3843285    total: 520ms    remaining: 1.54s
98: learn: 0.3832769    total: 525ms    remaining: 1.54s
99: learn: 0.3822263    total: 530ms    remaining: 1.53s
100:    learn: 0.3812119    total: 536ms    remaining: 1.53s
101:    learn: 0.3801833    total: 541ms    remaining: 1.52s
102:    learn: 0.3791560    total: 546ms    remaining: 1.52s
103:    learn: 0.3782093    total: 551ms    remaining: 1.51s
104:    learn: 0.3772226    total: 556ms    remaining: 1.5s
105:    learn: 0.3762752    total: 562ms    remaining: 1.5s
106:    learn: 0.3753206    total: 567ms    remaining: 1.5s
107:    learn: 0.3744454    total: 572ms    remaining: 1.49s
108:    learn: 0.3735519    total: 578ms    remaining: 1.48s
109:    learn: 0.3726722    total: 583ms    remaining: 1.48s
110:    learn: 0.3717887    total: 588ms    remaining: 1.47s
111:    learn: 0.3709553    total: 593ms    remaining: 1.47s
112:    learn: 0.3700754    total: 598ms    remaining: 1.46s
113:    learn: 0.3692896    total: 603ms    remaining: 1.46s
114:    learn: 0.3684700    total: 609ms    remaining: 1.45s
115:    learn: 0.3676602    total: 614ms    remaining: 1.45s
116:    learn: 0.3668809    total: 620ms    remaining: 1.44s
117:    learn: 0.3661337    total: 625ms    remaining: 1.43s
118:    learn: 0.3653951    total: 629ms    remaining: 1.43s
119:    learn: 0.3646596    total: 634ms    remaining: 1.42s
120:    learn: 0.3639550    total: 641ms    remaining: 1.42s
121:    learn: 0.3631463    total: 647ms    remaining: 1.42s
122:    learn: 0.3624532    total: 652ms    remaining: 1.41s
123:    learn: 0.3617869    total: 661ms    remaining: 1.41s
124:    learn: 0.3610891    total: 669ms    remaining: 1.41s
125:    learn: 0.3604308    total: 678ms    remaining: 1.42s
126:    learn: 0.3597912    total: 686ms    remaining: 1.42s
127:    learn: 0.3591174    total: 692ms    remaining: 1.41s
128:    learn: 0.3585168    total: 697ms    remaining: 1.4s
129:    learn: 0.3578987    total: 701ms    remaining: 1.4s
130:    learn: 0.3572991    total: 706ms    remaining: 1.39s
131:    learn: 0.3567114    total: 712ms    remaining: 1.39s
132:    learn: 0.3560926    total: 717ms    remaining: 1.38s
133:    learn: 0.3555159    total: 722ms    remaining: 1.37s
134:    learn: 0.3549721    total: 726ms    remaining: 1.37s
135:    learn: 0.3543732    total: 731ms    remaining: 1.36s
136:    learn: 0.3538143    total: 736ms    remaining: 1.35s
137:    learn: 0.3532905    total: 741ms    remaining: 1.35s
138:    learn: 0.3527519    total: 746ms    remaining: 1.34s
139:    learn: 0.3522739    total: 751ms    remaining: 1.33s
140:    learn: 0.3517297    total: 756ms    remaining: 1.33s
141:    learn: 0.3512550    total: 761ms    remaining: 1.32s
142:    learn: 0.3507743    total: 766ms    remaining: 1.32s
143:    learn: 0.3502885    total: 770ms    remaining: 1.31s
144:    learn: 0.3498055    total: 776ms    remaining: 1.3s
145:    learn: 0.3492956    total: 781ms    remaining: 1.3s
146:    learn: 0.3488295    total: 786ms    remaining: 1.29s
147:    learn: 0.3483690    total: 791ms    remaining: 1.29s
148:    learn: 0.3478668    total: 796ms    remaining: 1.28s
149:    learn: 0.3473642    total: 801ms    remaining: 1.28s
150:    learn: 0.3469166    total: 806ms    remaining: 1.27s
151:    learn: 0.3464899    total: 811ms    remaining: 1.26s
152:    learn: 0.3460620    total: 816ms    remaining: 1.26s
153:    learn: 0.3456266    total: 821ms    remaining: 1.25s
154:    learn: 0.3452293    total: 827ms    remaining: 1.25s
155:    learn: 0.3448229    total: 832ms    remaining: 1.24s
156:    learn: 0.3444155    total: 837ms    remaining: 1.24s
157:    learn: 0.3440180    total: 844ms    remaining: 1.23s
158:    learn: 0.3436448    total: 850ms    remaining: 1.23s
159:    learn: 0.3432671    total: 857ms    remaining: 1.23s
160:    learn: 0.3428825    total: 863ms    remaining: 1.22s
161:    learn: 0.3425283    total: 869ms    remaining: 1.22s
162:    learn: 0.3421669    total: 875ms    remaining: 1.21s
163:    learn: 0.3418142    total: 880ms    remaining: 1.21s
164:    learn: 0.3414400    total: 885ms    remaining: 1.2s
165:    learn: 0.3410804    total: 890ms    remaining: 1.2s
166:    learn: 0.3407813    total: 895ms    remaining: 1.19s
167:    learn: 0.3404202    total: 900ms    remaining: 1.18s
168:    learn: 0.3400886    total: 905ms    remaining: 1.18s
169:    learn: 0.3397433    total: 910ms    remaining: 1.17s
170:    learn: 0.3394549    total: 915ms    remaining: 1.17s
171:    learn: 0.3391580    total: 920ms    remaining: 1.16s
172:    learn: 0.3388716    total: 925ms    remaining: 1.15s
173:    learn: 0.3385860    total: 930ms    remaining: 1.15s
174:    learn: 0.3382913    total: 935ms    remaining: 1.14s
175:    learn: 0.3379482    total: 940ms    remaining: 1.14s
176:    learn: 0.3376416    total: 945ms    remaining: 1.13s
177:    learn: 0.3373482    total: 950ms    remaining: 1.13s
178:    learn: 0.3370902    total: 955ms    remaining: 1.12s
179:    learn: 0.3368133    total: 960ms    remaining: 1.11s
180:    learn: 0.3365536    total: 965ms    remaining: 1.11s
181:    learn: 0.3362573    total: 970ms    remaining: 1.1s
182:    learn: 0.3359674    total: 975ms    remaining: 1.1s
183:    learn: 0.3356746    total: 980ms    remaining: 1.09s
184:    learn: 0.3353755    total: 985ms    remaining: 1.09s
185:    learn: 0.3350988    total: 990ms    remaining: 1.08s
186:    learn: 0.3348352    total: 995ms    remaining: 1.07s
187:    learn: 0.3345554    total: 1s   remaining: 1.07s
188:    learn: 0.3343278    total: 1s   remaining: 1.06s
189:    learn: 0.3340937    total: 1.01s    remaining: 1.06s
190:    learn: 0.3338626    total: 1.01s    remaining: 1.05s
191:    learn: 0.3336402    total: 1.02s    remaining: 1.05s
192:    learn: 0.3334248    total: 1.03s    remaining: 1.04s
193:    learn: 0.3331965    total: 1.03s    remaining: 1.04s
194:    learn: 0.3329463    total: 1.04s    remaining: 1.03s
195:    learn: 0.3327319    total: 1.04s    remaining: 1.03s
196:    learn: 0.3325100    total: 1.05s    remaining: 1.02s
197:    learn: 0.3322972    total: 1.05s    remaining: 1.02s
198:    learn: 0.3320129    total: 1.06s    remaining: 1.01s
199:    learn: 0.3318045    total: 1.06s    remaining: 1s
200:    learn: 0.3315384    total: 1.07s    remaining: 1s
201:    learn: 0.3313094    total: 1.07s    remaining: 995ms
202:    learn: 0.3310970    total: 1.08s    remaining: 989ms
203:    learn: 0.3308919    total: 1.08s    remaining: 984ms
204:    learn: 0.3307237    total: 1.09s    remaining: 978ms
205:    learn: 0.3305186    total: 1.09s    remaining: 972ms
206:    learn: 0.3302797    total: 1.1s remaining: 966ms
207:    learn: 0.3300941    total: 1.1s remaining: 961ms
208:    learn: 0.3298995    total: 1.11s    remaining: 956ms
209:    learn: 0.3296418    total: 1.11s    remaining: 950ms
210:    learn: 0.3294439    total: 1.12s    remaining: 945ms
211:    learn: 0.3292356    total: 1.13s    remaining: 940ms
212:    learn: 0.3289651    total: 1.13s    remaining: 936ms
213:    learn: 0.3287967    total: 1.14s    remaining: 930ms
214:    learn: 0.3285932    total: 1.14s    remaining: 924ms
215:    learn: 0.3284170    total: 1.15s    remaining: 919ms
216:    learn: 0.3282786    total: 1.15s    remaining: 913ms
217:    learn: 0.3281203    total: 1.16s    remaining: 908ms
218:    learn: 0.3279720    total: 1.16s    remaining: 902ms
219:    learn: 0.3278133    total: 1.17s    remaining: 897ms
220:    learn: 0.3276277    total: 1.17s    remaining: 891ms
221:    learn: 0.3274567    total: 1.18s    remaining: 885ms
222:    learn: 0.3273041    total: 1.18s    remaining: 880ms
223:    learn: 0.3271512    total: 1.19s    remaining: 874ms
224:    learn: 0.3270126    total: 1.19s    remaining: 869ms
225:    learn: 0.3268461    total: 1.2s remaining: 863ms
226:    learn: 0.3266578    total: 1.2s remaining: 858ms
227:    learn: 0.3265033    total: 1.21s    remaining: 853ms
228:    learn: 0.3263451    total: 1.21s    remaining: 847ms
229:    learn: 0.3262098    total: 1.22s    remaining: 842ms
230:    learn: 0.3260813    total: 1.22s    remaining: 836ms
231:    learn: 0.3259386    total: 1.23s    remaining: 831ms
232:    learn: 0.3257762    total: 1.23s    remaining: 825ms
233:    learn: 0.3256173    total: 1.24s    remaining: 820ms
234:    learn: 0.3255039    total: 1.25s    remaining: 816ms
235:    learn: 0.3253598    total: 1.25s    remaining: 811ms
236:    learn: 0.3252286    total: 1.25s    remaining: 805ms
237:    learn: 0.3251089    total: 1.26s    remaining: 800ms
238:    learn: 0.3249267    total: 1.27s    remaining: 795ms
239:    learn: 0.3247993    total: 1.27s    remaining: 789ms
240:    learn: 0.3246234    total: 1.28s    remaining: 784ms
241:    learn: 0.3244927    total: 1.28s    remaining: 778ms
242:    learn: 0.3243203    total: 1.29s    remaining: 773ms
243:    learn: 0.3241656    total: 1.29s    remaining: 767ms
244:    learn: 0.3240203    total: 1.3s remaining: 763ms
245:    learn: 0.3238908    total: 1.3s remaining: 758ms
246:    learn: 0.3237676    total: 1.31s    remaining: 752ms
247:    learn: 0.3236323    total: 1.31s    remaining: 747ms
248:    learn: 0.3235424    total: 1.32s    remaining: 742ms
249:    learn: 0.3234244    total: 1.32s    remaining: 736ms
250:    learn: 0.3232765    total: 1.33s    remaining: 731ms
251:    learn: 0.3231385    total: 1.33s    remaining: 725ms
252:    learn: 0.3229967    total: 1.34s    remaining: 720ms
253:    learn: 0.3228877    total: 1.34s    remaining: 715ms
254:    learn: 0.3227493    total: 1.35s    remaining: 709ms
255:    learn: 0.3226375    total: 1.35s    remaining: 704ms
256:    learn: 0.3225325    total: 1.36s    remaining: 698ms
257:    learn: 0.3224163    total: 1.36s    remaining: 693ms
258:    learn: 0.3222783    total: 1.37s    remaining: 688ms
259:    learn: 0.3221586    total: 1.37s    remaining: 682ms
260:    learn: 0.3220165    total: 1.38s    remaining: 677ms
261:    learn: 0.3218618    total: 1.39s    remaining: 671ms
262:    learn: 0.3217484    total: 1.39s    remaining: 666ms
263:    learn: 0.3216416    total: 1.39s    remaining: 660ms
264:    learn: 0.3215273    total: 1.4s remaining: 655ms
265:    learn: 0.3214259    total: 1.4s remaining: 650ms
266:    learn: 0.3212795    total: 1.41s    remaining: 644ms
267:    learn: 0.3211428    total: 1.41s    remaining: 639ms
268:    learn: 0.3209590    total: 1.42s    remaining: 633ms
269:    learn: 0.3208888    total: 1.43s    remaining: 628ms
270:    learn: 0.3207934    total: 1.43s    remaining: 623ms
271:    learn: 0.3206870    total: 1.44s    remaining: 617ms
272:    learn: 0.3205794    total: 1.44s    remaining: 612ms
273:    learn: 0.3205008    total: 1.45s    remaining: 607ms
274:    learn: 0.3203958    total: 1.45s    remaining: 602ms
275:    learn: 0.3203033    total: 1.46s    remaining: 597ms
276:    learn: 0.3202006    total: 1.46s    remaining: 592ms
277:    learn: 0.3200876    total: 1.47s    remaining: 586ms
278:    learn: 0.3199506    total: 1.47s    remaining: 581ms
279:    learn: 0.3198320    total: 1.48s    remaining: 576ms
280:    learn: 0.3197559    total: 1.49s    remaining: 571ms
281:    learn: 0.3196305    total: 1.49s    remaining: 565ms
282:    learn: 0.3195142    total: 1.5s remaining: 560ms
283:    learn: 0.3194105    total: 1.5s remaining: 555ms
284:    learn: 0.3193099    total: 1.51s    remaining: 550ms
285:    learn: 0.3191597    total: 1.51s    remaining: 544ms
286:    learn: 0.3190275    total: 1.52s    remaining: 539ms
287:    learn: 0.3189321    total: 1.52s    remaining: 534ms
288:    learn: 0.3188282    total: 1.53s    remaining: 529ms
289:    learn: 0.3187390    total: 1.53s    remaining: 523ms
290:    learn: 0.3186624    total: 1.54s    remaining: 518ms
291:    learn: 0.3185036    total: 1.54s    remaining: 513ms
292:    learn: 0.3183756    total: 1.55s    remaining: 508ms
293:    learn: 0.3182875    total: 1.56s    remaining: 503ms
294:    learn: 0.3181766    total: 1.56s    remaining: 497ms
295:    learn: 0.3181034    total: 1.57s    remaining: 492ms
296:    learn: 0.3180078    total: 1.57s    remaining: 487ms
297:    learn: 0.3179322    total: 1.58s    remaining: 481ms
298:    learn: 0.3178144    total: 1.58s    remaining: 476ms
299:    learn: 0.3176808    total: 1.59s    remaining: 471ms
300:    learn: 0.3175787    total: 1.59s    remaining: 466ms
301:    learn: 0.3174428    total: 1.6s remaining: 460ms
302:    learn: 0.3173589    total: 1.6s remaining: 455ms
303:    learn: 0.3172566    total: 1.61s    remaining: 450ms
304:    learn: 0.3171580    total: 1.61s    remaining: 444ms
305:    learn: 0.3170578    total: 1.62s    remaining: 440ms
306:    learn: 0.3169963    total: 1.63s    remaining: 435ms
307:    learn: 0.3169217    total: 1.63s    remaining: 430ms
308:    learn: 0.3168214    total: 1.64s    remaining: 425ms
309:    learn: 0.3167141    total: 1.65s    remaining: 420ms
310:    learn: 0.3166447    total: 1.65s    remaining: 415ms
311:    learn: 0.3165656    total: 1.66s    remaining: 409ms
312:    learn: 0.3165011    total: 1.66s    remaining: 404ms
313:    learn: 0.3164376    total: 1.67s    remaining: 399ms
314:    learn: 0.3163432    total: 1.68s    remaining: 394ms
315:    learn: 0.3162746    total: 1.69s    remaining: 390ms
316:    learn: 0.3161897    total: 1.7s remaining: 385ms
317:    learn: 0.3161260    total: 1.7s remaining: 381ms
318:    learn: 0.3160300    total: 1.71s    remaining: 376ms
319:    learn: 0.3159454    total: 1.72s    remaining: 370ms
320:    learn: 0.3158589    total: 1.72s    remaining: 365ms
321:    learn: 0.3157879    total: 1.73s    remaining: 359ms
322:    learn: 0.3156921    total: 1.73s    remaining: 354ms
323:    learn: 0.3155970    total: 1.74s    remaining: 348ms
324:    learn: 0.3155019    total: 1.74s    remaining: 343ms
325:    learn: 0.3154169    total: 1.75s    remaining: 338ms
326:    learn: 0.3153671    total: 1.75s    remaining: 332ms
327:    learn: 0.3152638    total: 1.76s    remaining: 327ms
328:    learn: 0.3151755    total: 1.76s    remaining: 321ms
329:    learn: 0.3150806    total: 1.77s    remaining: 316ms
330:    learn: 0.3150215    total: 1.77s    remaining: 311ms
331:    learn: 0.3149594    total: 1.78s    remaining: 305ms
332:    learn: 0.3148692    total: 1.78s    remaining: 300ms
333:    learn: 0.3148028    total: 1.79s    remaining: 294ms
334:    learn: 0.3146916    total: 1.79s    remaining: 289ms
335:    learn: 0.3146317    total: 1.8s remaining: 284ms
336:    learn: 0.3145567    total: 1.8s remaining: 278ms
337:    learn: 0.3144765    total: 1.81s    remaining: 273ms
338:    learn: 0.3144097    total: 1.81s    remaining: 268ms
339:    learn: 0.3142426    total: 1.82s    remaining: 262ms
340:    learn: 0.3141746    total: 1.82s    remaining: 257ms
341:    learn: 0.3141162    total: 1.83s    remaining: 251ms
342:    learn: 0.3140196    total: 1.83s    remaining: 246ms
343:    learn: 0.3139272    total: 1.84s    remaining: 241ms
344:    learn: 0.3138638    total: 1.84s    remaining: 235ms
345:    learn: 0.3137619    total: 1.85s    remaining: 230ms
346:    learn: 0.3136848    total: 1.86s    remaining: 225ms
347:    learn: 0.3135911    total: 1.86s    remaining: 219ms
348:    learn: 0.3135294    total: 1.87s    remaining: 214ms
349:    learn: 0.3134419    total: 1.87s    remaining: 209ms
350:    learn: 0.3133654    total: 1.88s    remaining: 203ms
351:    learn: 0.3132437    total: 1.88s    remaining: 198ms
352:    learn: 0.3131388    total: 1.89s    remaining: 192ms
353:    learn: 0.3130647    total: 1.89s    remaining: 187ms
354:    learn: 0.3129900    total: 1.9s remaining: 182ms
355:    learn: 0.3129241    total: 1.9s remaining: 176ms
356:    learn: 0.3128576    total: 1.91s    remaining: 171ms
357:    learn: 0.3127906    total: 1.91s    remaining: 166ms
358:    learn: 0.3127180    total: 1.92s    remaining: 160ms
359:    learn: 0.3126263    total: 1.92s    remaining: 155ms
360:    learn: 0.3125167    total: 1.93s    remaining: 149ms
361:    learn: 0.3124265    total: 1.93s    remaining: 144ms
362:    learn: 0.3123683    total: 1.94s    remaining: 139ms
363:    learn: 0.3122319    total: 1.94s    remaining: 133ms
364:    learn: 0.3121499    total: 1.95s    remaining: 128ms
365:    learn: 0.3121154    total: 1.95s    remaining: 123ms
366:    learn: 0.3120263    total: 1.96s    remaining: 117ms
367:    learn: 0.3119242    total: 1.96s    remaining: 112ms
368:    learn: 0.3118346    total: 1.97s    remaining: 107ms
369:    learn: 0.3117717    total: 1.97s    remaining: 101ms
370:    learn: 0.3117169    total: 1.98s    remaining: 95.9ms
371:    learn: 0.3116522    total: 1.98s    remaining: 90.6ms
372:    learn: 0.3115538    total: 1.99s    remaining: 85.2ms
373:    learn: 0.3114499    total: 1.99s    remaining: 79.9ms
374:    learn: 0.3113829    total: 2s   remaining: 74.6ms
375:    learn: 0.3113140    total: 2s   remaining: 69.2ms
376:    learn: 0.3112306    total: 2.01s    remaining: 63.9ms
377:    learn: 0.3111885    total: 2.01s    remaining: 58.6ms
378:    learn: 0.3111219    total: 2.02s    remaining: 53.2ms
379:    learn: 0.3110753    total: 2.02s    remaining: 47.9ms
380:    learn: 0.3109959    total: 2.03s    remaining: 42.6ms
381:    learn: 0.3109649    total: 2.03s    remaining: 37.3ms
382:    learn: 0.3108621    total: 2.04s    remaining: 31.9ms
383:    learn: 0.3108068    total: 2.04s    remaining: 26.6ms
384:    learn: 0.3107198    total: 2.05s    remaining: 21.3ms
385:    learn: 0.3106266    total: 2.06s    remaining: 16ms
386:    learn: 0.3105630    total: 2.06s    remaining: 10.7ms
387:    learn: 0.3104807    total: 2.07s    remaining: 5.33ms
388:    learn: 0.3104049    total: 2.07s    remaining: 0us

Mengevaluasi: conloss_impute_corr_XGBoost

Mengevaluasi: conloss_impute_corr_LightGBM
[LightGBM] [Warning] Found whitespace in feature_names, replace with underlines
[LightGBM] [Info] Number of positive: 407, number of negative: 3526
[LightGBM] [Info] Total Bins 9416
[LightGBM] [Info] Number of data points in the train set: 3933, number of used features: 67
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.103483 -> initscore=-2.159106
[LightGBM] [Info] Start training from score -2.159106
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: conloss_impute_corr_CatBoost
0:  learn: 0.6850160    total: 2.61ms   remaining: 844ms
1:  learn: 0.6770126    total: 5.24ms   remaining: 843ms
2:  learn: 0.6692045    total: 7.61ms   remaining: 814ms
3:  learn: 0.6616110    total: 9.78ms   remaining: 783ms
4:  learn: 0.6541398    total: 12.1ms   remaining: 772ms
5:  learn: 0.6468812    total: 14.2ms   remaining: 755ms
6:  learn: 0.6398168    total: 16.6ms   remaining: 750ms
7:  learn: 0.6328781    total: 18.8ms   remaining: 742ms
8:  learn: 0.6261090    total: 21ms remaining: 736ms
9:  learn: 0.6194674    total: 23.4ms   remaining: 734ms
10: learn: 0.6129578    total: 25.6ms   remaining: 729ms
11: learn: 0.6066303    total: 28ms remaining: 727ms
12: learn: 0.6004213    total: 30.3ms   remaining: 726ms
13: learn: 0.5943118    total: 32.5ms   remaining: 720ms
14: learn: 0.5884137    total: 34.7ms   remaining: 715ms
15: learn: 0.5826219    total: 37ms remaining: 712ms
16: learn: 0.5769881    total: 39.2ms   remaining: 708ms
17: learn: 0.5714056    total: 41.5ms   remaining: 706ms
18: learn: 0.5659661    total: 43.8ms   remaining: 704ms
19: learn: 0.5606210    total: 46.1ms   remaining: 701ms
20: learn: 0.5555095    total: 48.6ms   remaining: 701ms
21: learn: 0.5504384    total: 51ms remaining: 700ms
22: learn: 0.5455271    total: 53.3ms   remaining: 697ms
23: learn: 0.5407287    total: 55.4ms   remaining: 693ms
24: learn: 0.5360595    total: 57.8ms   remaining: 692ms
25: learn: 0.5314756    total: 60.4ms   remaining: 693ms
26: learn: 0.5269533    total: 62.8ms   remaining: 690ms
27: learn: 0.5225491    total: 65ms remaining: 687ms
28: learn: 0.5182630    total: 67.3ms   remaining: 684ms
29: learn: 0.5140427    total: 69.5ms   remaining: 681ms
30: learn: 0.5099453    total: 71.7ms   remaining: 678ms
31: learn: 0.5059396    total: 73.9ms   remaining: 674ms
32: learn: 0.5020717    total: 76.2ms   remaining: 672ms
33: learn: 0.4981373    total: 78.4ms   remaining: 669ms
34: learn: 0.4943825    total: 80.8ms   remaining: 667ms
35: learn: 0.4907656    total: 83.1ms   remaining: 665ms
36: learn: 0.4872246    total: 85.4ms   remaining: 663ms
37: learn: 0.4837216    total: 87.8ms   remaining: 661ms
38: learn: 0.4803564    total: 89.9ms   remaining: 657ms
39: learn: 0.4770511    total: 92.2ms   remaining: 655ms
40: learn: 0.4737986    total: 94.5ms   remaining: 652ms
41: learn: 0.4706209    total: 96.7ms   remaining: 649ms
42: learn: 0.4675339    total: 98.9ms   remaining: 646ms
43: learn: 0.4644570    total: 101ms    remaining: 645ms
44: learn: 0.4614474    total: 104ms    remaining: 643ms
45: learn: 0.4585206    total: 106ms    remaining: 642ms
46: learn: 0.4556860    total: 109ms    remaining: 640ms
47: learn: 0.4528993    total: 111ms    remaining: 637ms
48: learn: 0.4502063    total: 113ms    remaining: 635ms
49: learn: 0.4475534    total: 115ms    remaining: 632ms
50: learn: 0.4449411    total: 118ms    remaining: 630ms
51: learn: 0.4424297    total: 120ms    remaining: 627ms
52: learn: 0.4399830    total: 122ms    remaining: 625ms
53: learn: 0.4375956    total: 124ms    remaining: 622ms
54: learn: 0.4352050    total: 127ms    remaining: 619ms
55: learn: 0.4328958    total: 129ms    remaining: 617ms
56: learn: 0.4306266    total: 131ms    remaining: 615ms
57: learn: 0.4283986    total: 133ms    remaining: 612ms
58: learn: 0.4262368    total: 136ms    remaining: 609ms
59: learn: 0.4241385    total: 138ms    remaining: 608ms
60: learn: 0.4220684    total: 140ms    remaining: 605ms
61: learn: 0.4199654    total: 143ms    remaining: 603ms
62: learn: 0.4180030    total: 145ms    remaining: 601ms
63: learn: 0.4160286    total: 147ms    remaining: 598ms
64: learn: 0.4141692    total: 150ms    remaining: 596ms
65: learn: 0.4123412    total: 152ms    remaining: 594ms
66: learn: 0.4105242    total: 155ms    remaining: 595ms
67: learn: 0.4087611    total: 158ms    remaining: 596ms
68: learn: 0.4070109    total: 161ms    remaining: 595ms
69: learn: 0.4053045    total: 163ms    remaining: 592ms
70: learn: 0.4036553    total: 166ms    remaining: 590ms
71: learn: 0.4020053    total: 168ms    remaining: 587ms
72: learn: 0.4003873    total: 170ms    remaining: 585ms
73: learn: 0.3988354    total: 172ms    remaining: 582ms
74: learn: 0.3973224    total: 175ms    remaining: 580ms
75: learn: 0.3957708    total: 177ms    remaining: 577ms
76: learn: 0.3943503    total: 179ms    remaining: 575ms
77: learn: 0.3929213    total: 181ms    remaining: 572ms
78: learn: 0.3915323    total: 184ms    remaining: 570ms
79: learn: 0.3902042    total: 186ms    remaining: 567ms
80: learn: 0.3888840    total: 188ms    remaining: 564ms
81: learn: 0.3875638    total: 190ms    remaining: 562ms
82: learn: 0.3863011    total: 193ms    remaining: 559ms
83: learn: 0.3850709    total: 195ms    remaining: 557ms
84: learn: 0.3838867    total: 197ms    remaining: 554ms
85: learn: 0.3827072    total: 202ms    remaining: 558ms
86: learn: 0.3815234    total: 204ms    remaining: 557ms
87: learn: 0.3804171    total: 207ms    remaining: 555ms
88: learn: 0.3792869    total: 209ms    remaining: 552ms
89: learn: 0.3781946    total: 211ms    remaining: 550ms
90: learn: 0.3771365    total: 214ms    remaining: 547ms
91: learn: 0.3760559    total: 216ms    remaining: 545ms
92: learn: 0.3750407    total: 219ms    remaining: 543ms
93: learn: 0.3740418    total: 221ms    remaining: 541ms
94: learn: 0.3730709    total: 223ms    remaining: 538ms
95: learn: 0.3721419    total: 225ms    remaining: 535ms
96: learn: 0.3712141    total: 228ms    remaining: 533ms
97: learn: 0.3702755    total: 230ms    remaining: 531ms
98: learn: 0.3693814    total: 232ms    remaining: 528ms
99: learn: 0.3684928    total: 235ms    remaining: 526ms
100:    learn: 0.3676322    total: 237ms    remaining: 523ms
101:    learn: 0.3667504    total: 239ms    remaining: 520ms
102:    learn: 0.3659264    total: 241ms    remaining: 518ms
103:    learn: 0.3651039    total: 243ms    remaining: 515ms
104:    learn: 0.3643126    total: 246ms    remaining: 512ms
105:    learn: 0.3635365    total: 248ms    remaining: 510ms
106:    learn: 0.3628041    total: 250ms    remaining: 507ms
107:    learn: 0.3620621    total: 252ms    remaining: 505ms
108:    learn: 0.3613494    total: 255ms    remaining: 502ms
109:    learn: 0.3606143    total: 257ms    remaining: 500ms
110:    learn: 0.3598856    total: 259ms    remaining: 497ms
111:    learn: 0.3592144    total: 261ms    remaining: 495ms
112:    learn: 0.3585458    total: 264ms    remaining: 492ms
113:    learn: 0.3579101    total: 266ms    remaining: 490ms
114:    learn: 0.3572427    total: 268ms    remaining: 487ms
115:    learn: 0.3566050    total: 270ms    remaining: 485ms
116:    learn: 0.3559891    total: 273ms    remaining: 482ms
117:    learn: 0.3553767    total: 275ms    remaining: 480ms
118:    learn: 0.3547672    total: 277ms    remaining: 477ms
119:    learn: 0.3541953    total: 279ms    remaining: 475ms
120:    learn: 0.3536343    total: 282ms    remaining: 472ms
121:    learn: 0.3530634    total: 284ms    remaining: 470ms
122:    learn: 0.3525191    total: 286ms    remaining: 468ms
123:    learn: 0.3519765    total: 289ms    remaining: 466ms
124:    learn: 0.3514732    total: 291ms    remaining: 463ms
125:    learn: 0.3509462    total: 294ms    remaining: 461ms
126:    learn: 0.3504512    total: 296ms    remaining: 459ms
127:    learn: 0.3499779    total: 298ms    remaining: 457ms
128:    learn: 0.3494917    total: 300ms    remaining: 454ms
129:    learn: 0.3489911    total: 303ms    remaining: 452ms
130:    learn: 0.3484979    total: 305ms    remaining: 450ms
131:    learn: 0.3479927    total: 307ms    remaining: 447ms
132:    learn: 0.3475538    total: 310ms    remaining: 445ms
133:    learn: 0.3471214    total: 312ms    remaining: 442ms
134:    learn: 0.3466907    total: 314ms    remaining: 440ms
135:    learn: 0.3462412    total: 316ms    remaining: 437ms
136:    learn: 0.3458115    total: 319ms    remaining: 435ms
137:    learn: 0.3454118    total: 321ms    remaining: 433ms
138:    learn: 0.3450365    total: 323ms    remaining: 430ms
139:    learn: 0.3446593    total: 326ms    remaining: 428ms
140:    learn: 0.3442949    total: 328ms    remaining: 425ms
141:    learn: 0.3438890    total: 330ms    remaining: 423ms
142:    learn: 0.3435277    total: 332ms    remaining: 421ms
143:    learn: 0.3431726    total: 335ms    remaining: 418ms
144:    learn: 0.3428234    total: 337ms    remaining: 416ms
145:    learn: 0.3424899    total: 339ms    remaining: 414ms
146:    learn: 0.3421620    total: 341ms    remaining: 411ms
147:    learn: 0.3418296    total: 344ms    remaining: 409ms
148:    learn: 0.3414654    total: 346ms    remaining: 406ms
149:    learn: 0.3411390    total: 349ms    remaining: 405ms
150:    learn: 0.3408211    total: 351ms    remaining: 402ms
151:    learn: 0.3405396    total: 353ms    remaining: 400ms
152:    learn: 0.3402239    total: 355ms    remaining: 397ms
153:    learn: 0.3399219    total: 358ms    remaining: 395ms
154:    learn: 0.3396092    total: 360ms    remaining: 393ms
155:    learn: 0.3393043    total: 363ms    remaining: 391ms
156:    learn: 0.3390148    total: 365ms    remaining: 388ms
157:    learn: 0.3386947    total: 368ms    remaining: 386ms
158:    learn: 0.3384351    total: 370ms    remaining: 384ms
159:    learn: 0.3381255    total: 372ms    remaining: 382ms
160:    learn: 0.3378707    total: 375ms    remaining: 379ms
161:    learn: 0.3376349    total: 377ms    remaining: 377ms
162:    learn: 0.3373880    total: 379ms    remaining: 375ms
163:    learn: 0.3371493    total: 381ms    remaining: 372ms
164:    learn: 0.3369044    total: 384ms    remaining: 370ms
165:    learn: 0.3366321    total: 386ms    remaining: 367ms
166:    learn: 0.3364059    total: 388ms    remaining: 365ms
167:    learn: 0.3361479    total: 391ms    remaining: 363ms
168:    learn: 0.3358781    total: 394ms    remaining: 361ms
169:    learn: 0.3356597    total: 397ms    remaining: 359ms
170:    learn: 0.3354388    total: 401ms    remaining: 359ms
171:    learn: 0.3351964    total: 403ms    remaining: 357ms
172:    learn: 0.3350054    total: 406ms    remaining: 354ms
173:    learn: 0.3347853    total: 408ms    remaining: 352ms
174:    learn: 0.3345927    total: 410ms    remaining: 349ms
175:    learn: 0.3343787    total: 413ms    remaining: 347ms
176:    learn: 0.3341748    total: 415ms    remaining: 345ms
177:    learn: 0.3339595    total: 417ms    remaining: 342ms
178:    learn: 0.3337714    total: 420ms    remaining: 340ms
179:    learn: 0.3335627    total: 422ms    remaining: 338ms
180:    learn: 0.3333673    total: 425ms    remaining: 335ms
181:    learn: 0.3331792    total: 427ms    remaining: 333ms
182:    learn: 0.3329898    total: 429ms    remaining: 331ms
183:    learn: 0.3328104    total: 431ms    remaining: 328ms
184:    learn: 0.3326218    total: 434ms    remaining: 326ms
185:    learn: 0.3324240    total: 436ms    remaining: 324ms
186:    learn: 0.3322568    total: 438ms    remaining: 321ms
187:    learn: 0.3320716    total: 441ms    remaining: 319ms
188:    learn: 0.3318820    total: 443ms    remaining: 316ms
189:    learn: 0.3317144    total: 445ms    remaining: 314ms
190:    learn: 0.3315691    total: 448ms    remaining: 312ms
191:    learn: 0.3314111    total: 451ms    remaining: 310ms
192:    learn: 0.3312563    total: 454ms    remaining: 308ms
193:    learn: 0.3311105    total: 457ms    remaining: 306ms
194:    learn: 0.3309479    total: 460ms    remaining: 304ms
195:    learn: 0.3307984    total: 463ms    remaining: 302ms
196:    learn: 0.3306647    total: 466ms    remaining: 301ms
197:    learn: 0.3305353    total: 469ms    remaining: 299ms
198:    learn: 0.3303505    total: 472ms    remaining: 297ms
199:    learn: 0.3302206    total: 475ms    remaining: 294ms
200:    learn: 0.3301063    total: 477ms    remaining: 292ms
201:    learn: 0.3299627    total: 480ms    remaining: 290ms
202:    learn: 0.3298419    total: 482ms    remaining: 287ms
203:    learn: 0.3297030    total: 484ms    remaining: 285ms
204:    learn: 0.3295702    total: 487ms    remaining: 283ms
205:    learn: 0.3294065    total: 489ms    remaining: 280ms
206:    learn: 0.3292954    total: 491ms    remaining: 278ms
207:    learn: 0.3291890    total: 494ms    remaining: 275ms
208:    learn: 0.3290548    total: 496ms    remaining: 273ms
209:    learn: 0.3289467    total: 498ms    remaining: 270ms
210:    learn: 0.3288098    total: 500ms    remaining: 268ms
211:    learn: 0.3287099    total: 503ms    remaining: 266ms
212:    learn: 0.3285902    total: 505ms    remaining: 263ms
213:    learn: 0.3284933    total: 507ms    remaining: 261ms
214:    learn: 0.3283763    total: 510ms    remaining: 258ms
215:    learn: 0.3282792    total: 512ms    remaining: 256ms
216:    learn: 0.3281679    total: 514ms    remaining: 253ms
217:    learn: 0.3280602    total: 516ms    remaining: 251ms
218:    learn: 0.3279303    total: 518ms    remaining: 248ms
219:    learn: 0.3278292    total: 520ms    remaining: 246ms
220:    learn: 0.3277196    total: 523ms    remaining: 244ms
221:    learn: 0.3276186    total: 525ms    remaining: 241ms
222:    learn: 0.3275030    total: 527ms    remaining: 239ms
223:    learn: 0.3273862    total: 530ms    remaining: 236ms
224:    learn: 0.3272890    total: 532ms    remaining: 234ms
225:    learn: 0.3271613    total: 534ms    remaining: 232ms
226:    learn: 0.3270790    total: 537ms    remaining: 229ms
227:    learn: 0.3269822    total: 539ms    remaining: 227ms
228:    learn: 0.3268758    total: 541ms    remaining: 225ms
229:    learn: 0.3267848    total: 543ms    remaining: 222ms
230:    learn: 0.3266885    total: 546ms    remaining: 220ms
231:    learn: 0.3266060    total: 548ms    remaining: 217ms
232:    learn: 0.3265097    total: 550ms    remaining: 215ms
233:    learn: 0.3264319    total: 552ms    remaining: 212ms
234:    learn: 0.3263327    total: 555ms    remaining: 210ms
235:    learn: 0.3262257    total: 557ms    remaining: 208ms
236:    learn: 0.3261110    total: 559ms    remaining: 205ms
237:    learn: 0.3260002    total: 562ms    remaining: 203ms
238:    learn: 0.3258833    total: 564ms    remaining: 201ms
239:    learn: 0.3258092    total: 566ms    remaining: 198ms
240:    learn: 0.3257349    total: 568ms    remaining: 196ms
241:    learn: 0.3256502    total: 570ms    remaining: 193ms
242:    learn: 0.3255698    total: 572ms    remaining: 191ms
243:    learn: 0.3254660    total: 575ms    remaining: 188ms
244:    learn: 0.3253829    total: 577ms    remaining: 186ms
245:    learn: 0.3252676    total: 579ms    remaining: 184ms
246:    learn: 0.3252077    total: 582ms    remaining: 181ms
247:    learn: 0.3251166    total: 584ms    remaining: 179ms
248:    learn: 0.3250506    total: 586ms    remaining: 177ms
249:    learn: 0.3249520    total: 589ms    remaining: 174ms
250:    learn: 0.3248562    total: 591ms    remaining: 172ms
251:    learn: 0.3247962    total: 593ms    remaining: 169ms
252:    learn: 0.3247355    total: 595ms    remaining: 167ms
253:    learn: 0.3246677    total: 600ms    remaining: 165ms
254:    learn: 0.3246011    total: 603ms    remaining: 163ms
255:    learn: 0.3245497    total: 605ms    remaining: 161ms
256:    learn: 0.3244936    total: 607ms    remaining: 158ms
257:    learn: 0.3244126    total: 610ms    remaining: 156ms
258:    learn: 0.3243096    total: 612ms    remaining: 154ms
259:    learn: 0.3242208    total: 614ms    remaining: 151ms
260:    learn: 0.3241525    total: 616ms    remaining: 149ms
261:    learn: 0.3240858    total: 619ms    remaining: 146ms
262:    learn: 0.3240171    total: 621ms    remaining: 144ms
263:    learn: 0.3239583    total: 623ms    remaining: 142ms
264:    learn: 0.3238353    total: 625ms    remaining: 139ms
265:    learn: 0.3237271    total: 627ms    remaining: 137ms
266:    learn: 0.3236386    total: 630ms    remaining: 134ms
267:    learn: 0.3235567    total: 632ms    remaining: 132ms
268:    learn: 0.3235000    total: 634ms    remaining: 130ms
269:    learn: 0.3234017    total: 636ms    remaining: 127ms
270:    learn: 0.3233160    total: 638ms    remaining: 125ms
271:    learn: 0.3232260    total: 641ms    remaining: 122ms
272:    learn: 0.3231669    total: 643ms    remaining: 120ms
273:    learn: 0.3230537    total: 645ms    remaining: 118ms
274:    learn: 0.3229629    total: 648ms    remaining: 115ms
275:    learn: 0.3228813    total: 650ms    remaining: 113ms
276:    learn: 0.3227638    total: 652ms    remaining: 111ms
277:    learn: 0.3227009    total: 654ms    remaining: 108ms
278:    learn: 0.3226497    total: 657ms    remaining: 106ms
279:    learn: 0.3225897    total: 659ms    remaining: 104ms
280:    learn: 0.3225034    total: 662ms    remaining: 101ms
281:    learn: 0.3224449    total: 664ms    remaining: 98.9ms
282:    learn: 0.3223753    total: 666ms    remaining: 96.5ms
283:    learn: 0.3222676    total: 668ms    remaining: 94.1ms
284:    learn: 0.3221981    total: 671ms    remaining: 91.8ms
285:    learn: 0.3221007    total: 673ms    remaining: 89.4ms
286:    learn: 0.3220327    total: 675ms    remaining: 87ms
287:    learn: 0.3219678    total: 677ms    remaining: 84.7ms
288:    learn: 0.3219171    total: 680ms    remaining: 82.3ms
289:    learn: 0.3218540    total: 682ms    remaining: 80ms
290:    learn: 0.3217791    total: 684ms    remaining: 77.6ms
291:    learn: 0.3216857    total: 687ms    remaining: 75.2ms
292:    learn: 0.3216090    total: 689ms    remaining: 72.9ms
293:    learn: 0.3215275    total: 691ms    remaining: 70.5ms
294:    learn: 0.3214592    total: 694ms    remaining: 68.2ms
295:    learn: 0.3213860    total: 696ms    remaining: 65.8ms
296:    learn: 0.3213267    total: 700ms    remaining: 63.6ms
297:    learn: 0.3212745    total: 703ms    remaining: 61.4ms
298:    learn: 0.3212116    total: 707ms    remaining: 59.1ms
299:    learn: 0.3211617    total: 711ms    remaining: 56.9ms
300:    learn: 0.3211221    total: 714ms    remaining: 54.6ms
301:    learn: 0.3210401    total: 718ms    remaining: 52.3ms
302:    learn: 0.3209678    total: 722ms    remaining: 50ms
303:    learn: 0.3208898    total: 726ms    remaining: 47.8ms
304:    learn: 0.3207983    total: 730ms    remaining: 45.5ms
305:    learn: 0.3207092    total: 734ms    remaining: 43.2ms
306:    learn: 0.3206487    total: 736ms    remaining: 40.8ms
307:    learn: 0.3205591    total: 739ms    remaining: 38.4ms
308:    learn: 0.3204780    total: 741ms    remaining: 36ms
309:    learn: 0.3204174    total: 743ms    remaining: 33.6ms
310:    learn: 0.3203615    total: 745ms    remaining: 31.2ms
311:    learn: 0.3202931    total: 748ms    remaining: 28.8ms
312:    learn: 0.3202096    total: 750ms    remaining: 26.4ms
313:    learn: 0.3201533    total: 752ms    remaining: 23.9ms
314:    learn: 0.3201157    total: 754ms    remaining: 21.5ms
315:    learn: 0.3200719    total: 756ms    remaining: 19.1ms
316:    learn: 0.3200019    total: 759ms    remaining: 16.8ms
317:    learn: 0.3199366    total: 761ms    remaining: 14.4ms
318:    learn: 0.3198775    total: 763ms    remaining: 12ms
319:    learn: 0.3198170    total: 766ms    remaining: 9.58ms
320:    learn: 0.3197664    total: 768ms    remaining: 7.18ms
321:    learn: 0.3196872    total: 771ms    remaining: 4.79ms
322:    learn: 0.3195768    total: 773ms    remaining: 2.39ms
323:    learn: 0.3195345    total: 776ms    remaining: 0us

Mengevaluasi: conloss_impute_pca_XGBoost

Mengevaluasi: conloss_impute_pca_LightGBM
[LightGBM] [Info] Number of positive: 407, number of negative: 3526
[LightGBM] [Info] Total Bins 10200
[LightGBM] [Info] Number of data points in the train set: 3933, number of used features: 40
[LightGBM] [Info] [binary:BoostFromScore]: pavg=0.103483 -> initscore=-2.159106
[LightGBM] [Info] Start training from score -2.159106
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf
[LightGBM] [Warning] No further splits with positive gain, best gain: -inf

Mengevaluasi: conloss_impute_pca_CatBoost
0:  learn: 0.6813301    total: 7.78ms   remaining: 2.89s
1:  learn: 0.6699894    total: 15.2ms   remaining: 2.81s
2:  learn: 0.6590350    total: 21.6ms   remaining: 2.67s
3:  learn: 0.6483296    total: 28.1ms   remaining: 2.59s
4:  learn: 0.6379080    total: 34.3ms   remaining: 2.53s
5:  learn: 0.6279698    total: 40.7ms   remaining: 2.49s
6:  learn: 0.6183321    total: 46.9ms   remaining: 2.45s
7:  learn: 0.6090986    total: 52.7ms   remaining: 2.4s
8:  learn: 0.6001265    total: 58.7ms   remaining: 2.38s
9:  learn: 0.5915068    total: 64.8ms   remaining: 2.35s
10: learn: 0.5830790    total: 71ms remaining: 2.34s
11: learn: 0.5750077    total: 76.9ms   remaining: 2.31s
12: learn: 0.5670966    total: 82.9ms   remaining: 2.3s
13: learn: 0.5594860    total: 87.3ms   remaining: 2.24s
14: learn: 0.5519705    total: 91.4ms   remaining: 2.18s
15: learn: 0.5448798    total: 95.4ms   remaining: 2.13s
16: learn: 0.5380061    total: 99.3ms   remaining: 2.08s
17: learn: 0.5313322    total: 103ms    remaining: 2.04s
18: learn: 0.5247577    total: 107ms    remaining: 2s
19: learn: 0.5183873    total: 111ms    remaining: 1.97s
20: learn: 0.5123446    total: 115ms    remaining: 1.93s
21: learn: 0.5064393    total: 119ms    remaining: 1.91s
22: learn: 0.5007565    total: 123ms    remaining: 1.88s
23: learn: 0.4952263    total: 127ms    remaining: 1.85s
24: learn: 0.4899294    total: 131ms    remaining: 1.82s
25: learn: 0.4846912    total: 135ms    remaining: 1.8s
26: learn: 0.4797210    total: 139ms    remaining: 1.78s
27: learn: 0.4748384    total: 143ms    remaining: 1.76s
28: learn: 0.4701670    total: 147ms    remaining: 1.75s
29: learn: 0.4655554    total: 151ms    remaining: 1.73s
30: learn: 0.4612068    total: 155ms    remaining: 1.71s
31: learn: 0.4569638    total: 159ms    remaining: 1.7s
32: learn: 0.4526769    total: 163ms    remaining: 1.68s
33: learn: 0.4486641    total: 167ms    remaining: 1.67s
34: learn: 0.4447721    total: 171ms    remaining: 1.66s
35: learn: 0.4410512    total: 175ms    remaining: 1.64s
36: learn: 0.4374200    total: 179ms    remaining: 1.63s
37: learn: 0.4339697    total: 184ms    remaining: 1.62s
38: learn: 0.4305894    total: 188ms    remaining: 1.61s
39: learn: 0.4271665    total: 192ms    remaining: 1.6s
40: learn: 0.4240149    total: 196ms    remaining: 1.59s
41: learn: 0.4209424    total: 200ms    remaining: 1.57s
42: learn: 0.4178695    total: 204ms    remaining: 1.56s
43: learn: 0.4149252    total: 210ms    remaining: 1.57s
44: learn: 0.4121324    total: 214ms    remaining: 1.56s
45: learn: 0.4093891    total: 218ms    remaining: 1.55s
46: learn: 0.4067052    total: 223ms    remaining: 1.54s
47: learn: 0.4041757    total: 227ms    remaining: 1.53s
48: learn: 0.4016298    total: 231ms    remaining: 1.52s
49: learn: 0.3992565    total: 235ms    remaining: 1.52s
50: learn: 0.3968697    total: 239ms    remaining: 1.51s
51: learn: 0.3946738    total: 243ms    remaining: 1.5s
52: learn: 0.3923718    total: 247ms    remaining: 1.49s
53: learn: 0.3902850    total: 252ms    remaining: 1.49s
54: learn: 0.3882665    total: 257ms    remaining: 1.49s
55: learn: 0.3861886    total: 261ms    remaining: 1.48s
56: learn: 0.3842092    total: 265ms    remaining: 1.47s
57: learn: 0.3821681    total: 269ms    remaining: 1.46s
58: learn: 0.3803538    total: 273ms    remaining: 1.45s
59: learn: 0.3785978    total: 277ms    remaining: 1.44s
60: learn: 0.3768119    total: 281ms    remaining: 1.44s
61: learn: 0.3751478    total: 285ms    remaining: 1.43s
62: learn: 0.3735107    total: 289ms    remaining: 1.42s
63: learn: 0.3718047    total: 293ms    remaining: 1.42s
64: learn: 0.3702562    total: 297ms    remaining: 1.41s
65: learn: 0.3686398    total: 301ms    remaining: 1.4s
66: learn: 0.3671236    total: 305ms    remaining: 1.39s
67: learn: 0.3656178    total: 309ms    remaining: 1.39s
68: learn: 0.3641413    total: 313ms    remaining: 1.38s
69: learn: 0.3628121    total: 317ms    remaining: 1.37s
70: learn: 0.3615366    total: 321ms    remaining: 1.37s
71: learn: 0.3602379    total: 325ms    remaining: 1.36s
72: learn: 0.3590780    total: 329ms    remaining: 1.35s
73: learn: 0.3579049    total: 333ms    remaining: 1.35s
74: learn: 0.3567834    total: 337ms    remaining: 1.34s
75: learn: 0.3557066    total: 341ms    remaining: 1.33s
76: learn: 0.3546529    total: 345ms    remaining: 1.33s
77: learn: 0.3536230    total: 349ms    remaining: 1.32s
78: learn: 0.3526107    total: 353ms    remaining: 1.31s
79: learn: 0.3516445    total: 357ms    remaining: 1.31s
80: learn: 0.3507302    total: 361ms    remaining: 1.3s
81: learn: 0.3497134    total: 365ms    remaining: 1.29s
82: learn: 0.3487806    total: 369ms    remaining: 1.29s
83: learn: 0.3477846    total: 373ms    remaining: 1.28s
84: learn: 0.3468558    total: 377ms    remaining: 1.28s
85: learn: 0.3459909    total: 381ms    remaining: 1.27s
86: learn: 0.3450627    total: 385ms    remaining: 1.27s
87: learn: 0.3443136    total: 389ms    remaining: 1.26s
88: learn: 0.3435240    total: 393ms    remaining: 1.25s
89: learn: 0.3427271    total: 397ms    remaining: 1.25s
90: learn: 0.3420121    total: 401ms    remaining: 1.24s
91: learn: 0.3412680    total: 405ms    remaining: 1.24s
92: learn: 0.3405419    total: 411ms    remaining: 1.24s
93: learn: 0.3398117    total: 416ms    remaining: 1.23s
94: learn: 0.3391281    total: 420ms    remaining: 1.23s
95: learn: 0.3384541    total: 424ms    remaining: 1.22s
96: learn: 0.3377995    total: 428ms    remaining: 1.22s
97: learn: 0.3371428    total: 432ms    remaining: 1.21s
98: learn: 0.3365352    total: 436ms    remaining: 1.21s
99: learn: 0.3358222    total: 440ms    remaining: 1.2s
100:    learn: 0.3351292    total: 444ms    remaining: 1.2s
101:    learn: 0.3346195    total: 448ms    remaining: 1.19s
102:    learn: 0.3339723    total: 453ms    remaining: 1.19s
103:    learn: 0.3334554    total: 456ms    remaining: 1.18s
104:    learn: 0.3328431    total: 461ms    remaining: 1.18s
105:    learn: 0.3323488    total: 465ms    remaining: 1.17s
106:    learn: 0.3318255    total: 469ms    remaining: 1.17s
107:    learn: 0.3313301    total: 473ms    remaining: 1.16s
108:    learn: 0.3308120    total: 477ms    remaining: 1.16s
109:    learn: 0.3303308    total: 481ms    remaining: 1.15s
110:    learn: 0.3299323    total: 485ms    remaining: 1.14s
111:    learn: 0.3295301    total: 489ms    remaining: 1.14s
112:    learn: 0.3291197    total: 493ms    remaining: 1.13s
113:    learn: 0.3286573    total: 497ms    remaining: 1.13s
114:    learn: 0.3282185    total: 504ms    remaining: 1.13s
115:    learn: 0.3278383    total: 511ms    remaining: 1.13s
116:    learn: 0.3274378    total: 520ms    remaining: 1.14s
117:    learn: 0.3270615    total: 527ms    remaining: 1.14s
118:    learn: 0.3266197    total: 534ms    remaining: 1.14s
119:    learn: 0.3262640    total: 539ms    remaining: 1.14s
120:    learn: 0.3258660    total: 543ms    remaining: 1.13s
121:    learn: 0.3254382    total: 547ms    remaining: 1.13s
122:    learn: 0.3251389    total: 551ms    remaining: 1.12s
123:    learn: 0.3245935    total: 555ms    remaining: 1.11s
124:    learn: 0.3242973    total: 559ms    remaining: 1.11s
125:    learn: 0.3240284    total: 564ms    remaining: 1.1s
126:    learn: 0.3237159    total: 568ms    remaining: 1.1s
127:    learn: 0.3233659    total: 571ms    remaining: 1.09s
128:    learn: 0.3230406    total: 576ms    remaining: 1.09s
129:    learn: 0.3227394    total: 580ms    remaining: 1.08s
130:    learn: 0.3223533    total: 584ms    remaining: 1.08s
131:    learn: 0.3220140    total: 588ms    remaining: 1.07s
132:    learn: 0.3217226    total: 592ms    remaining: 1.07s
133:    learn: 0.3213468    total: 596ms    remaining: 1.06s
134:    learn: 0.3211326    total: 600ms    remaining: 1.06s
135:    learn: 0.3208705    total: 604ms    remaining: 1.05s
136:    learn: 0.3205361    total: 609ms    remaining: 1.05s
137:    learn: 0.3201437    total: 614ms    remaining: 1.04s
138:    learn: 0.3198544    total: 618ms    remaining: 1.04s
139:    learn: 0.3195837    total: 622ms    remaining: 1.03s
140:    learn: 0.3192840    total: 626ms    remaining: 1.03s
141:    learn: 0.3190262    total: 630ms    remaining: 1.02s
142:    learn: 0.3186869    total: 635ms    remaining: 1.02s
143:    learn: 0.3185264    total: 639ms    remaining: 1.02s
144:    learn: 0.3182708    total: 643ms    remaining: 1.01s
145:    learn: 0.3180604    total: 647ms    remaining: 1s
146:    learn: 0.3178285    total: 651ms    remaining: 1s
147:    learn: 0.3175731    total: 655ms    remaining: 996ms
148:    learn: 0.3173345    total: 659ms    remaining: 991ms
149:    learn: 0.3171041    total: 663ms    remaining: 986ms
150:    learn: 0.3169142    total: 667ms    remaining: 981ms
151:    learn: 0.3166824    total: 671ms    remaining: 976ms
152:    learn: 0.3163985    total: 676ms    remaining: 971ms
153:    learn: 0.3161518    total: 680ms    remaining: 966ms
154:    learn: 0.3158932    total: 683ms    remaining: 961ms
155:    learn: 0.3156300    total: 687ms    remaining: 956ms
156:    learn: 0.3153195    total: 692ms    remaining: 952ms
157:    learn: 0.3150850    total: 696ms    remaining: 947ms
158:    learn: 0.3148452    total: 700ms    remaining: 942ms
159:    learn: 0.3146794    total: 704ms    remaining: 937ms
160:    learn: 0.3144765    total: 708ms    remaining: 932ms
161:    learn: 0.3142477    total: 712ms    remaining: 927ms
162:    learn: 0.3139872    total: 717ms    remaining: 923ms
163:    learn: 0.3137268    total: 722ms    remaining: 920ms
164:    learn: 0.3134324    total: 726ms    remaining: 915ms
165:    learn: 0.3131895    total: 730ms    remaining: 910ms
166:    learn: 0.3129025    total: 734ms    remaining: 906ms
167:    learn: 0.3127142    total: 739ms    remaining: 902ms
168:    learn: 0.3124164    total: 744ms    remaining: 899ms
169:    learn: 0.3122454    total: 750ms    remaining: 895ms
170:    learn: 0.3120182    total: 755ms    remaining: 892ms
171:    learn: 0.3118104    total: 760ms    remaining: 888ms
172:    learn: 0.3114961    total: 764ms    remaining: 883ms
173:    learn: 0.3113065    total: 768ms    remaining: 879ms
174:    learn: 0.3111945    total: 772ms    remaining: 874ms
175:    learn: 0.3110230    total: 776ms    remaining: 869ms
176:    learn: 0.3107995    total: 780ms    remaining: 864ms
177:    learn: 0.3105882    total: 784ms    remaining: 859ms
178:    learn: 0.3103849    total: 788ms    remaining: 854ms
179:    learn: 0.3102728    total: 792ms    remaining: 849ms
180:    learn: 0.3100289    total: 796ms    remaining: 845ms
181:    learn: 0.3097842    total: 801ms    remaining: 840ms
182:    learn: 0.3095971    total: 806ms    remaining: 837ms
183:    learn: 0.3093108    total: 811ms    remaining: 833ms
184:    learn: 0.3091140    total: 816ms    remaining: 829ms
185:    learn: 0.3088462    total: 820ms    remaining: 824ms
186:    learn: 0.3086824    total: 824ms    remaining: 819ms
187:    learn: 0.3084886    total: 828ms    remaining: 815ms
188:    learn: 0.3083467    total: 832ms    remaining: 810ms
189:    learn: 0.3082110    total: 836ms    remaining: 805ms
190:    learn: 0.3080542    total: 840ms    remaining: 800ms
191:    learn: 0.3078847    total: 844ms    remaining: 795ms
192:    learn: 0.3076218    total: 848ms    remaining: 791ms
193:    learn: 0.3074907    total: 853ms    remaining: 787ms
194:    learn: 0.3072297    total: 858ms    remaining: 783ms
195:    learn: 0.3069301    total: 862ms    remaining: 779ms
196:    learn: 0.3067159    total: 867ms    remaining: 774ms
197:    learn: 0.3065780    total: 870ms    remaining: 769ms
198:    learn: 0.3063632    total: 875ms    remaining: 765ms
199:    learn: 0.3061725    total: 879ms    remaining: 760ms
200:    learn: 0.3060479    total: 883ms    remaining: 755ms
201:    learn: 0.3058106    total: 887ms    remaining: 751ms
202:    learn: 0.3056237    total: 891ms    remaining: 746ms
203:    learn: 0.3054587    total: 895ms    remaining: 742ms
204:    learn: 0.3053966    total: 900ms    remaining: 737ms
205:    learn: 0.3052472    total: 904ms    remaining: 733ms
206:    learn: 0.3050607    total: 908ms    remaining: 728ms
207:    learn: 0.3048940    total: 912ms    remaining: 723ms
208:    learn: 0.3047901    total: 916ms    remaining: 719ms
209:    learn: 0.3045690    total: 920ms    remaining: 714ms
210:    learn: 0.3044285    total: 925ms    remaining: 710ms
211:    learn: 0.3042814    total: 929ms    remaining: 706ms
212:    learn: 0.3041477    total: 933ms    remaining: 701ms
213:    learn: 0.3040174    total: 937ms    remaining: 696ms
214:    learn: 0.3038613    total: 941ms    remaining: 692ms
215:    learn: 0.3037119    total: 946ms    remaining: 687ms
216:    learn: 0.3035657    total: 950ms    remaining: 683ms
217:    learn: 0.3033853    total: 954ms    remaining: 678ms
218:    learn: 0.3031985    total: 958ms    remaining: 674ms
219:    learn: 0.3030190    total: 962ms    remaining: 669ms
220:    learn: 0.3027626    total: 966ms    remaining: 664ms
221:    learn: 0.3026236    total: 970ms    remaining: 660ms
222:    learn: 0.3024742    total: 974ms    remaining: 655ms
223:    learn: 0.3022603    total: 978ms    remaining: 650ms
224:    learn: 0.3020437    total: 982ms    remaining: 646ms
225:    learn: 0.3019173    total: 986ms    remaining: 641ms
226:    learn: 0.3017049    total: 990ms    remaining: 637ms
227:    learn: 0.3014673    total: 994ms    remaining: 632ms
228:    learn: 0.3013037    total: 998ms    remaining: 628ms
229:    learn: 0.3011593    total: 1s   remaining: 623ms
230:    learn: 0.3010212    total: 1.01s    remaining: 620ms
231:    learn: 0.3008895    total: 1.01s    remaining: 616ms
232:    learn: 0.3007264    total: 1.02s    remaining: 611ms
233:    learn: 0.3006148    total: 1.02s    remaining: 607ms
234:    learn: 0.3004814    total: 1.02s    remaining: 602ms
235:    learn: 0.3003183    total: 1.03s    remaining: 597ms
236:    learn: 0.3001391    total: 1.03s    remaining: 593ms
237:    learn: 0.3000194    total: 1.04s    remaining: 588ms
238:    learn: 0.2999205    total: 1.04s    remaining: 584ms
239:    learn: 0.2997553    total: 1.04s    remaining: 579ms
240:    learn: 0.2996365    total: 1.05s    remaining: 575ms
241:    learn: 0.2994794    total: 1.05s    remaining: 570ms
242:    learn: 0.2993466    total: 1.06s    remaining: 566ms
243:    learn: 0.2992394    total: 1.06s    remaining: 561ms
244:    learn: 0.2991098    total: 1.06s    remaining: 556ms
245:    learn: 0.2989724    total: 1.07s    remaining: 552ms
246:    learn: 0.2988264    total: 1.07s    remaining: 547ms
247:    learn: 0.2986146    total: 1.08s    remaining: 543ms
248:    learn: 0.2984763    total: 1.08s    remaining: 538ms
249:    learn: 0.2983574    total: 1.08s    remaining: 534ms
250:    learn: 0.2981589    total: 1.09s    remaining: 530ms
251:    learn: 0.2979906    total: 1.09s    remaining: 525ms
252:    learn: 0.2978489    total: 1.1s remaining: 520ms
253:    learn: 0.2976962    total: 1.1s remaining: 516ms
254:    learn: 0.2975184    total: 1.1s remaining: 511ms
255:    learn: 0.2973311    total: 1.11s    remaining: 507ms
256:    learn: 0.2971246    total: 1.11s    remaining: 502ms
257:    learn: 0.2969991    total: 1.12s    remaining: 498ms
258:    learn: 0.2969146    total: 1.12s    remaining: 493ms
259:    learn: 0.2967240    total: 1.13s    remaining: 489ms
260:    learn: 0.2966375    total: 1.13s    remaining: 484ms
261:    learn: 0.2965481    total: 1.13s    remaining: 480ms
262:    learn: 0.2963992    total: 1.14s    remaining: 476ms
263:    learn: 0.2962919    total: 1.14s    remaining: 471ms
264:    learn: 0.2961359    total: 1.15s    remaining: 467ms
265:    learn: 0.2960006    total: 1.15s    remaining: 462ms
266:    learn: 0.2958857    total: 1.15s    remaining: 458ms
267:    learn: 0.2956718    total: 1.16s    remaining: 454ms
268:    learn: 0.2955166    total: 1.16s    remaining: 449ms
269:    learn: 0.2954111    total: 1.17s    remaining: 445ms
270:    learn: 0.2952686    total: 1.17s    remaining: 440ms
271:    learn: 0.2950270    total: 1.17s    remaining: 436ms
272:    learn: 0.2948951    total: 1.18s    remaining: 432ms
273:    learn: 0.2947542    total: 1.18s    remaining: 427ms
274:    learn: 0.2945611    total: 1.19s    remaining: 423ms
275:    learn: 0.2944514    total: 1.19s    remaining: 418ms
276:    learn: 0.2942659    total: 1.19s    remaining: 414ms
277:    learn: 0.2941231    total: 1.2s remaining: 409ms
278:    learn: 0.2939924    total: 1.2s remaining: 406ms
279:    learn: 0.2938801    total: 1.21s    remaining: 402ms
280:    learn: 0.2938181    total: 1.21s    remaining: 398ms
281:    learn: 0.2936825    total: 1.22s    remaining: 393ms
282:    learn: 0.2935714    total: 1.22s    remaining: 389ms
283:    learn: 0.2934852    total: 1.23s    remaining: 384ms
284:    learn: 0.2933167    total: 1.23s    remaining: 380ms
285:    learn: 0.2931988    total: 1.23s    remaining: 376ms
286:    learn: 0.2930505    total: 1.24s    remaining: 371ms
287:    learn: 0.2929375    total: 1.24s    remaining: 367ms
288:    learn: 0.2927635    total: 1.25s    remaining: 363ms
289:    learn: 0.2926819    total: 1.25s    remaining: 358ms
290:    learn: 0.2925153    total: 1.25s    remaining: 354ms
291:    learn: 0.2923179    total: 1.26s    remaining: 349ms
292:    learn: 0.2921621    total: 1.26s    remaining: 345ms
293:    learn: 0.2920842    total: 1.27s    remaining: 341ms
294:    learn: 0.2919388    total: 1.27s    remaining: 336ms
295:    learn: 0.2918137    total: 1.27s    remaining: 332ms
296:    learn: 0.2916490    total: 1.28s    remaining: 327ms
297:    learn: 0.2915380    total: 1.28s    remaining: 323ms
298:    learn: 0.2913936    total: 1.29s    remaining: 319ms
299:    learn: 0.2913218    total: 1.29s    remaining: 314ms
300:    learn: 0.2911744    total: 1.29s    remaining: 310ms
301:    learn: 0.2910292    total: 1.3s remaining: 306ms
302:    learn: 0.2908632    total: 1.3s remaining: 301ms
303:    learn: 0.2907344    total: 1.31s    remaining: 297ms
304:    learn: 0.2905596    total: 1.31s    remaining: 293ms
305:    learn: 0.2903299    total: 1.32s    remaining: 288ms
306:    learn: 0.2902619    total: 1.32s    remaining: 284ms
307:    learn: 0.2901343    total: 1.32s    remaining: 279ms
308:    learn: 0.2899991    total: 1.33s    remaining: 275ms
309:    learn: 0.2898938    total: 1.33s    remaining: 271ms
310:    learn: 0.2897606    total: 1.34s    remaining: 266ms
311:    learn: 0.2895862    total: 1.34s    remaining: 262ms
312:    learn: 0.2894679    total: 1.34s    remaining: 258ms
313:    learn: 0.2893393    total: 1.35s    remaining: 253ms
314:    learn: 0.2892521    total: 1.35s    remaining: 249ms
315:    learn: 0.2891656    total: 1.36s    remaining: 245ms
316:    learn: 0.2890403    total: 1.36s    remaining: 240ms
317:    learn: 0.2889422    total: 1.36s    remaining: 236ms
318:    learn: 0.2888053    total: 1.37s    remaining: 232ms
319:    learn: 0.2886628    total: 1.37s    remaining: 227ms
320:    learn: 0.2885710    total: 1.38s    remaining: 223ms
321:    learn: 0.2884003    total: 1.38s    remaining: 219ms
322:    learn: 0.2882254    total: 1.38s    remaining: 214ms
323:    learn: 0.2881275    total: 1.39s    remaining: 210ms
324:    learn: 0.2879936    total: 1.39s    remaining: 206ms
325:    learn: 0.2878116    total: 1.4s remaining: 201ms
326:    learn: 0.2876978    total: 1.4s remaining: 197ms
327:    learn: 0.2875478    total: 1.41s    remaining: 193ms
328:    learn: 0.2874176    total: 1.41s    remaining: 189ms
329:    learn: 0.2872486    total: 1.42s    remaining: 184ms
330:    learn: 0.2871246    total: 1.42s    remaining: 180ms
331:    learn: 0.2870506    total: 1.42s    remaining: 176ms
332:    learn: 0.2869121    total: 1.43s    remaining: 172ms
333:    learn: 0.2868318    total: 1.43s    remaining: 167ms
334:    learn: 0.2867003    total: 1.44s    remaining: 163ms
335:    learn: 0.2865874    total: 1.44s    remaining: 159ms
336:    learn: 0.2864443    total: 1.44s    remaining: 154ms
337:    learn: 0.2862991    total: 1.45s    remaining: 150ms
338:    learn: 0.2861663    total: 1.45s    remaining: 146ms
339:    learn: 0.2860472    total: 1.46s    remaining: 141ms
340:    learn: 0.2858807    total: 1.46s    remaining: 137ms
341:    learn: 0.2857606    total: 1.46s    remaining: 133ms
342:    learn: 0.2856383    total: 1.47s    remaining: 128ms
343:    learn: 0.2855134    total: 1.47s    remaining: 124ms
344:    learn: 0.2852883    total: 1.48s    remaining: 120ms
345:    learn: 0.2850759    total: 1.48s    remaining: 116ms
346:    learn: 0.2848735    total: 1.49s    remaining: 111ms
347:    learn: 0.2847539    total: 1.49s    remaining: 107ms
348:    learn: 0.2846587    total: 1.49s    remaining: 103ms
349:    learn: 0.2845126    total: 1.5s remaining: 98.5ms
350:    learn: 0.2843939    total: 1.5s remaining: 94.3ms
351:    learn: 0.2842789    total: 1.51s    remaining: 90ms
352:    learn: 0.2841115    total: 1.52s    remaining: 85.9ms
353:    learn: 0.2840282    total: 1.52s    remaining: 81.7ms
354:    learn: 0.2839195    total: 1.53s    remaining: 77.4ms
355:    learn: 0.2837832    total: 1.53s    remaining: 73.3ms
356:    learn: 0.2836609    total: 1.54s    remaining: 69.1ms
357:    learn: 0.2835693    total: 1.55s    remaining: 64.9ms
358:    learn: 0.2833927    total: 1.55s    remaining: 60.6ms
359:    learn: 0.2832872    total: 1.56s    remaining: 56.2ms
360:    learn: 0.2830908    total: 1.56s    remaining: 51.9ms
361:    learn: 0.2829371    total: 1.56s    remaining: 47.6ms
362:    learn: 0.2828539    total: 1.57s    remaining: 43.2ms
363:    learn: 0.2827321    total: 1.57s    remaining: 38.9ms
364:    learn: 0.2826558    total: 1.58s    remaining: 34.6ms
365:    learn: 0.2825342    total: 1.58s    remaining: 30.2ms
366:    learn: 0.2824611    total: 1.58s    remaining: 25.9ms
367:    learn: 0.2823300    total: 1.59s    remaining: 21.6ms
368:    learn: 0.2822319    total: 1.59s    remaining: 17.3ms
369:    learn: 0.2821239    total: 1.6s remaining: 13ms
370:    learn: 0.2819864    total: 1.6s remaining: 8.64ms
371:    learn: 0.2818632    total: 1.61s    remaining: 4.32ms
372:    learn: 0.2817319    total: 1.61s    remaining: 0us

========== REKAPAN PERINGKAT MODEL TERBAIK TIAP TARGET ==========
Experiment_ID Target Null_Strat Feat_Strat Model CV_PR_AUC Test_PR_AUC Best_Threshold Test_Recall Test_Precision Confusion_Matrix
0 conloss_keep_all_XGBoost conloss keep all XGBoost 0.571422 0.623831 0.221819 0.803797 0.496094 [[940, 129], [31, 127]]
1 conloss_keep_corr_XGBoost conloss keep corr XGBoost 0.566969 0.617837 0.215168 0.803797 0.494163 [[939, 130], [31, 127]]
2 conloss_keep_corr_RandomForest conloss keep corr RandomForest 0.542281 0.560232 0.220666 0.803797 0.477444 [[930, 139], [31, 127]]

✅ Model dan rekap evaluasi final berhasil disimpan di: /content/drive/MyDrive/SKRIPSI/Dataset/fitted_models_skripsi.pkl dan /content/drive/MyDrive/SKRIPSI/Dataset/hasil_evaluasi_final_skripsi.csv
# ======================================================================
# --- VISUALISASI KURVA PR-AUC GABUNGAN PER TARGET ---
# ======================================================================
for target_name, curves in pr_auc_plot_data.items():
    if len(curves) == 0:
        continue
        
    # Urutkan berdasarkan AUC tertinggi agar legend rapi
    curves = sorted(curves, key=lambda x: x['auc'], reverse=True)
    
    plt.figure(figsize=(10, 7))
    for curve in curves:
        # Menambahkan transparansi (alpha) agar garis yang bertumpuk tetap terlihat
        plt.plot(curve['recalls'], curve['precisions'], label=curve['label'], alpha=0.7, linewidth=1.5)
        
    plt.title(f'Precision-Recall Curve (All Configurations) - Target: {target_name.upper()}')
    plt.xlabel('Recall')
    plt.ylabel('Precision')
    
    # Memaksa legend berada di luar grafik (sebelah kanan) agar tidak menutupi kurva
    plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0., fontsize=8)
    plt.grid(True, linestyle='--', alpha=0.5)
    plt.tight_layout()
    plt.show()

Evaluasi

Hasil Asesmen Semua Konfigurasi Model

with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    display(df_final_summary)
Experiment_ID Target Null_Strat Feat_Strat Model CV_PR_AUC Test_PR_AUC Best_Threshold Test_Recall Test_Precision Confusion_Matrix
0 conloss_keep_all_XGBoost conloss keep all XGBoost 0.571422 0.623831 0.221819 0.803797 0.496094 [[940, 129], [31, 127]]
1 conloss_keep_corr_XGBoost conloss keep corr XGBoost 0.566969 0.617837 0.215168 0.803797 0.494163 [[939, 130], [31, 127]]
2 conloss_keep_corr_RandomForest conloss keep corr RandomForest 0.542281 0.560232 0.220666 0.803797 0.477444 [[930, 139], [31, 127]]
3 conloss_keep_all_LightGBM conloss keep all LightGBM 0.566194 0.609190 0.133497 0.803797 0.472119 [[927, 142], [31, 127]]
4 conloss_keep_corr_CatBoost conloss keep corr CatBoost 0.579363 0.624740 0.191325 0.803797 0.472119 [[927, 142], [31, 127]]
5 conloss_keep_all_RandomForest conloss keep all RandomForest 0.544012 0.593263 0.234160 0.803797 0.463504 [[922, 147], [31, 127]]
6 conloss_keep_corr_LightGBM conloss keep corr LightGBM 0.567439 0.623410 0.039784 0.803797 0.447183 [[912, 157], [31, 127]]
7 conloss_keep_all_CatBoost conloss keep all CatBoost 0.583181 0.599378 0.159678 0.803797 0.439446 [[907, 162], [31, 127]]
8 conloss_impute_all_CatBoost conloss impute all CatBoost 0.205887 0.135089 0.098068 0.803797 0.132430 [[237, 832], [31, 127]]
9 conloss_impute_pca_RandomForest conloss impute pca RandomForest 0.193522 0.147872 0.081686 0.803797 0.131606 [[231, 838], [31, 127]]
10 conloss_impute_all_LightGBM conloss impute all LightGBM 0.207482 0.129117 0.093942 0.803797 0.131063 [[227, 842], [31, 127]]
11 conloss_impute_pca_LightGBM conloss impute pca LightGBM 0.171470 0.130777 0.005507 0.803797 0.130658 [[224, 845], [31, 127]]
12 conloss_impute_corr_RandomForest conloss impute corr RandomForest 0.236535 0.154020 0.091808 0.803797 0.130524 [[223, 846], [31, 127]]
13 conloss_impute_corr_CatBoost conloss impute corr CatBoost 0.212818 0.135268 0.099897 0.803797 0.129196 [[213, 856], [31, 127]]
14 conloss_impute_pca_XGBoost conloss impute pca XGBoost 0.173743 0.133132 0.024987 0.803797 0.127895 [[203, 866], [31, 127]]
15 conloss_impute_corr_AdaBoost conloss impute corr AdaBoost 0.185537 0.125277 0.181493 0.848101 0.127863 [[155, 914], [24, 134]]
16 conloss_impute_all_RandomForest conloss impute all RandomForest 0.227192 0.152983 0.090353 0.803797 0.127767 [[202, 867], [31, 127]]
17 conloss_impute_all_AdaBoost conloss impute all AdaBoost 0.191228 0.129227 0.162560 0.803797 0.127382 [[199, 870], [31, 127]]
18 conloss_impute_all_XGBoost conloss impute all XGBoost 0.216323 0.145872 0.092849 0.803797 0.126494 [[192, 877], [31, 127]]
19 conloss_impute_pca_CatBoost conloss impute pca CatBoost 0.178360 0.138323 0.080294 0.803797 0.126243 [[190, 879], [31, 127]]
20 conloss_impute_corr_LightGBM conloss impute corr LightGBM 0.210543 0.130056 0.090411 0.803797 0.126117 [[189, 880], [31, 127]]
21 conloss_impute_pca_AdaBoost conloss impute pca AdaBoost 0.185754 0.159655 0.346066 0.803797 0.125123 [[181, 888], [31, 127]]
22 conloss_impute_corr_XGBoost conloss impute corr XGBoost 0.218250 0.127453 0.096602 0.803797 0.124632 [[177, 892], [31, 127]]
23 negeq_keep_all_RandomForest negeq keep all RandomForest 0.417147 0.467442 0.082539 0.823529 0.224000 [[1657, 97], [6, 28]]
24 negeq_keep_all_CatBoost negeq keep all CatBoost 0.529702 0.404039 0.017796 0.823529 0.178344 [[1625, 129], [6, 28]]
25 negeq_keep_corr_RandomForest negeq keep corr RandomForest 0.446320 0.458193 0.071408 0.823529 0.166667 [[1614, 140], [6, 28]]
26 negeq_keep_corr_CatBoost negeq keep corr CatBoost 0.498662 0.381612 0.006466 0.823529 0.113821 [[1536, 218], [6, 28]]
27 negeq_keep_all_XGBoost negeq keep all XGBoost 0.426746 0.265196 0.002615 0.823529 0.059957 [[1315, 439], [6, 28]]
28 negeq_keep_corr_XGBoost negeq keep corr XGBoost 0.428743 0.269452 0.002386 0.823529 0.053743 [[1261, 493], [6, 28]]
29 negeq_keep_all_LightGBM negeq keep all LightGBM 0.514100 0.303942 0.000431 0.823529 0.049470 [[1216, 538], [6, 28]]
30 negeq_keep_corr_LightGBM negeq keep corr LightGBM 0.495929 0.299926 0.000072 0.823529 0.045381 [[1165, 589], [6, 28]]
31 negeq_impute_pca_AdaBoost negeq impute pca AdaBoost 0.084748 0.025583 0.227960 0.852941 0.022222 [[478, 1276], [5, 29]]
32 negeq_impute_pca_LightGBM negeq impute pca LightGBM 0.094666 0.020156 0.012585 0.823529 0.022187 [[520, 1234], [6, 28]]
33 negeq_impute_pca_CatBoost negeq impute pca CatBoost 0.108857 0.018042 0.032375 0.823529 0.020833 [[438, 1316], [6, 28]]
34 negeq_impute_corr_AdaBoost negeq impute corr AdaBoost 0.084543 0.020000 0.387590 0.823529 0.019900 [[375, 1379], [6, 28]]
35 negeq_impute_corr_XGBoost negeq impute corr XGBoost 0.106669 0.017146 0.006751 0.823529 0.019760 [[365, 1389], [6, 28]]
36 negeq_impute_pca_RandomForest negeq impute pca RandomForest 0.119677 0.017961 0.013782 0.823529 0.019526 [[348, 1406], [6, 28]]
37 negeq_impute_corr_CatBoost negeq impute corr CatBoost 0.098251 0.018241 0.121776 0.823529 0.019022 [[310, 1444], [6, 28]]
38 negeq_impute_all_LightGBM negeq impute all LightGBM 0.089864 0.017722 0.000014 0.823529 0.018779 [[291, 1463], [6, 28]]
39 negeq_impute_all_CatBoost negeq impute all CatBoost 0.097000 0.016889 0.023275 0.823529 0.018767 [[290, 1464], [6, 28]]
40 negeq_impute_pca_XGBoost negeq impute pca XGBoost 0.081999 0.020723 0.009811 0.823529 0.018754 [[289, 1465], [6, 28]]
41 negeq_impute_all_AdaBoost negeq impute all AdaBoost 0.090062 0.026135 0.314401 0.823529 0.018729 [[287, 1467], [6, 28]]
42 negeq_impute_corr_LightGBM negeq impute corr LightGBM 0.107772 0.016014 0.000000 0.823529 0.018253 [[248, 1506], [6, 28]]
43 negeq_impute_all_XGBoost negeq impute all XGBoost 0.110072 0.017494 0.011925 0.823529 0.018158 [[240, 1514], [6, 28]]
44 negeq_impute_corr_RandomForest negeq impute corr RandomForest 0.109019 0.014907 0.011834 0.823529 0.017766 [[206, 1548], [6, 28]]
45 negeq_impute_all_RandomForest negeq impute all RandomForest 0.110482 0.014780 0.011273 0.823529 0.017084 [[143, 1611], [6, 28]]
46 ppk_keep_corr_RandomForest ppk keep corr RandomForest 0.516061 0.744832 0.141590 0.800971 0.587189 [[329, 116], [41, 165]]
47 ppk_keep_all_RandomForest ppk keep all RandomForest 0.500955 0.754347 0.130057 0.800971 0.567010 [[319, 126], [41, 165]]
48 ppk_keep_corr_XGBoost ppk keep corr XGBoost 0.542239 0.706544 0.038406 0.800971 0.546358 [[308, 137], [41, 165]]
49 ppk_keep_corr_CatBoost ppk keep corr CatBoost 0.571880 0.747768 0.016158 0.800971 0.539216 [[304, 141], [41, 165]]
50 ppk_keep_all_LightGBM ppk keep all LightGBM 0.562097 0.705019 0.009004 0.800971 0.537459 [[303, 142], [41, 165]]
51 ppk_keep_all_CatBoost ppk keep all CatBoost 0.574503 0.739800 0.032689 0.800971 0.535714 [[302, 143], [41, 165]]
52 ppk_keep_corr_LightGBM ppk keep corr LightGBM 0.556769 0.710270 0.025106 0.800971 0.535714 [[302, 143], [41, 165]]
53 ppk_keep_all_XGBoost ppk keep all XGBoost 0.548289 0.716612 0.024793 0.800971 0.514019 [[289, 156], [41, 165]]
54 ppk_impute_pca_AdaBoost ppk impute pca AdaBoost 0.310142 0.330281 0.395505 0.800971 0.330661 [[111, 334], [41, 165]]
55 ppk_impute_pca_RandomForest ppk impute pca RandomForest 0.339715 0.345245 0.074169 0.800971 0.329341 [[109, 336], [41, 165]]
56 ppk_impute_pca_XGBoost ppk impute pca XGBoost 0.378230 0.331170 0.043300 0.800971 0.317919 [[91, 354], [41, 165]]
57 ppk_impute_pca_LightGBM ppk impute pca LightGBM 0.383868 0.320410 0.000729 0.800971 0.313688 [[84, 361], [41, 165]]
58 ppk_impute_corr_AdaBoost ppk impute corr AdaBoost 0.320983 0.295450 0.257115 0.849515 0.312500 [[60, 385], [31, 175]]
59 ppk_impute_pca_CatBoost ppk impute pca CatBoost 0.391594 0.329774 0.028855 0.800971 0.309568 [[77, 368], [41, 165]]
60 ppk_impute_all_AdaBoost ppk impute all AdaBoost 0.310547 0.282853 0.319113 0.805825 0.309125 [[74, 371], [40, 166]]
61 ppk_impute_all_RandomForest ppk impute all RandomForest 0.369765 0.364025 0.103725 0.800971 0.306122 [[71, 374], [41, 165]]
62 ppk_impute_corr_XGBoost ppk impute corr XGBoost 0.373046 0.312541 0.145675 0.800971 0.306122 [[71, 374], [41, 165]]
63 ppk_impute_corr_CatBoost ppk impute corr CatBoost 0.407648 0.301576 0.011585 0.800971 0.305556 [[70, 375], [41, 165]]
64 ppk_impute_all_LightGBM ppk impute all LightGBM 0.401347 0.303398 0.000063 0.800971 0.304428 [[68, 377], [41, 165]]
65 ppk_impute_all_CatBoost ppk impute all CatBoost 0.409952 0.294545 0.016362 0.800971 0.303309 [[66, 379], [41, 165]]
66 ppk_impute_corr_LightGBM ppk impute corr LightGBM 0.382905 0.303882 0.032596 0.800971 0.302752 [[65, 380], [41, 165]]
67 ppk_impute_corr_RandomForest ppk impute corr RandomForest 0.343327 0.349207 0.124357 0.800971 0.302198 [[64, 381], [41, 165]]
68 ppk_impute_all_XGBoost ppk impute all XGBoost 0.381881 0.303941 0.034216 0.800971 0.292035 [[45, 400], [41, 165]]
# print(df_final_summary.to_csv(index=False))

Feature Importance

FI Target Distress Papan Pemantauan Khusus

ppk_best_configs = ['ppk_keep_corr_RandomForest','ppk_keep_all_RandomForest', 'ppk_keep_corr_XGBoost']

for chosen_id in ppk_best_configs:
    print(f"\n========== MENGANALISIS: {chosen_id} ==========")
    
    chosen_model = dict_fitted_models[chosen_id]
    X_test_clean_chosen = dict_detailed_predictions[chosen_id]['X_test_features'].copy()

    # Ubah pd.NA / NAType ke np.nan agar bisa dipakai NumPy dan SHAP
    X_test_clean_chosen = X_test_clean_chosen.fillna(np.nan).astype(float)

    # ==========================================================
    # VISUALISASI SHAP SUMMARY PLOT
    # ==========================================================
    explainer = shap.TreeExplainer(chosen_model)
    shap_values = explainer.shap_values(X_test_clean_chosen)

    # ambil class 1 (Distress)
    if isinstance(shap_values, list):
        shap_values_plot = shap_values[1] 
    elif len(shap_values.shape) == 3:
        shap_values_plot = shap_values[:, :, 1] 
    else:
        shap_values_plot = shap_values 

    plt.figure(figsize=(10, 6))
    # show=False agar tidak membuat 2 kanvas terpisah
    shap.summary_plot(shap_values_plot, X_test_clean_chosen, max_display=15, show=False)
    plt.title(f"SHAP Values Summary - {chosen_id}")
    plt.tight_layout()
    plt.show()

    # ==========================================================
    # VISUALISASI  GLOBAL FEATURE IMPORTANCE (Gini/Gain)
    # ==========================================================
    importance = chosen_model.feature_importances_
    
    # Langsung pakai nama kolom dari data test yang sudah melewati pipeline
    df_imp = pd.DataFrame({'Feature': X_test_clean_chosen.columns, 'Importance': importance})
    df_imp = df_imp.sort_values(by='Importance', ascending=False).head(15)

    plt.figure(figsize=(10, 6))
    # fix assign x ke hue dan legend=False
    sns.barplot(x='Importance', y='Feature', data=df_imp, hue='Feature', palette='viridis', legend=False)
    plt.title(f"Top 15 Feature Importance - {chosen_id}")
    plt.tight_layout()
    plt.show()

========== MENGANALISIS: ppk_keep_corr_RandomForest ==========


========== MENGANALISIS: ppk_keep_all_RandomForest ==========


========== MENGANALISIS: ppk_keep_corr_XGBoost ==========

# ppk_best_configs = ['ppk_keep_corr_RandomForest','ppk_keep_all_RandomForest', 'ppk_keep_corr_XGBoost']

# for chosen_id in ppk_best_configs:
#     t_name, n_strat, f_strat, m_name = chosen_id.split('_')
#     print(f"\n========== MENGANALISIS: {chosen_id} ==========")

#     # siapkan data awal
#     X_train_chosen = dict_data_splits[t_name]['X_train'].copy()
#     y_train_chosen = dict_data_splits[t_name]['y_train'].copy()
#     X_test_chosen = dict_data_splits[t_name]['X_test'].copy()

#     # ==========================================================
#     # REPLIKASI PREPROCESSING (sesuai konfigurasi ID)
#     # ==========================================================

#     # imputasi & missing indicator
#     if n_strat == 'impute':
#         cols_to_flag = kolom_missing_indicator[t_name]
#         for col in cols_to_flag:
#             X_train_chosen[f"{col}_is_missing"] = X_train_chosen[col].isnull().astype(int)
#             X_test_chosen[f"{col}_is_missing"] = X_test_chosen[col].isnull().astype(int)
            
#         fitur_cols = [c for c in X_train_chosen.columns if c not in metadata_cols]
#         X_train_chosen, X_test_chosen = apply_custom_imputation(X_train_chosen, X_test_chosen, fitur_cols)

#     # ambil metadata
#     meta_tr = X_train_chosen[metadata_cols].reset_index(drop=True)
#     meta_ts = X_test_chosen[metadata_cols].reset_index(drop=True)

#     # strategi fitur (corr drop / pca) 
#     if f_strat == 'corr':
#         cols_to_drop = get_low_corr_features_target_aware(X_train_chosen, y_train_chosen, threshold=0.85)
#         X_train_chosen = X_train_chosen.drop(columns=cols_to_drop)
#         X_test_chosen = X_test_chosen.drop(columns=cols_to_drop)
        
#     elif f_strat == 'pca':
#         fitur_cols = [c for c in X_train_chosen.columns if c not in metadata_cols]
        
#         # hapus fitur konstan sebelum pca
#         constant_cols = [col for col in fitur_cols if X_train_chosen[col].nunique() <= 1]
#         if constant_cols:
#             X_train_chosen = X_train_chosen.drop(columns=constant_cols)
#             X_test_chosen = X_test_chosen.drop(columns=constant_cols)
#             fitur_cols = [c for c in fitur_cols if c not in constant_cols]
            
#         scaler = StandardScaler()
#         pca = PCA(n_components=0.95, random_state=42)
        
#         X_tr_pca = pca.fit_transform(scaler.fit_transform(X_train_chosen[fitur_cols]))
#         X_ts_pca = pca.transform(scaler.transform(X_test_chosen[fitur_cols]))
        
#         pca_cols = [f"PC_{i}" for i in range(X_tr_pca.shape[1])]
#         X_train_chosen = pd.concat([meta_tr, pd.DataFrame(X_tr_pca, columns=pca_cols)], axis=1)
#         X_test_chosen = pd.concat([meta_ts, pd.DataFrame(X_ts_pca, columns=pca_cols)], axis=1)

#     # drop metadata sebelum masuk model
#     X_train_clean_chosen = X_train_chosen.drop(columns=metadata_cols, errors='ignore')
#     X_test_clean_chosen = X_test_chosen.drop(columns=metadata_cols, errors='ignore')

#     # ubah pd.NA / NAType ke np.nan agar model tree-based bisa handle dengan baik
#     X_train_clean_chosen = X_train_clean_chosen.fillna(np.nan).astype(float)
#     X_test_clean_chosen = X_test_clean_chosen.fillna(np.nan).astype(float)

#     # ==========================================================
#     # FINAL TRAINING MODEL
#     # ==========================================================

#     chosen_params = dict_master_results[chosen_id]['best_params']
#     chosen_model = dict_model_classes[m_name](**chosen_params)
#     chosen_model.fit(X_train_clean_chosen, y_train_chosen)

#     # ==========================================
#     # VISUALISASI 1: SHAP SUMMARY PLOT
#     # ==========================================
#     # pakai TreeExplainer karena model tree-based
#     explainer = shap.TreeExplainer(chosen_model)
#     shap_values = explainer.shap_values(X_test_clean_chosen)

#     # Ekstrak untuk Kelas Positif (Target 1)
#     if isinstance(shap_values, list):
#         # kalau SHAP versi lama mengembalikan List
#         shap_values_plot = shap_values[1] 
#     elif len(shap_values.shape) == 3:
#         # kalau SHAP mengembalikan array 3D
#         # ambil seluruh baris (:), seluruh kolom fitur (:), dan khusus elemen kelas 1
#         shap_values_plot = shap_values[:, :, 1] 
#     else:
#         # kalau SHAP return array 2D 
#         shap_values_plot = shap_values

#     plt.figure(figsize=(10, 6))
#     plt.title(f"SHAP Values Summary - {chosen_id}")
#     shap.summary_plot(shap_values_plot, X_test_clean_chosen, max_display=15)
#     plt.show()

#     # ==========================================
#     # VISUALISASI 2: GLOBAL FEATURE IMPORTANCE
#     # ==========================================================
#     importance = chosen_model.feature_importances_
#     df_imp = pd.DataFrame({'Feature': X_train_clean_chosen.columns, 'Importance': importance})
#     df_imp = df_imp.sort_values(by='Importance', ascending=False).head(15)

#     plt.figure(figsize=(10, 6))
#     sns.barplot(x='Importance', y='Feature', data=df_imp, hue='Feature', palette='viridis', legend=False)
#     plt.title(f"Top 15 Feature Importance - {chosen_id}")
#     plt.tight_layout()
#     plt.show()

FI Target Distress Ekuitas Negatif

negeq_best_configs = ['negeq_keep_all_RandomForest', 'negeq_keep_corr_RandomForest', 'negeq_keep_all_CatBoost']

for chosen_id in negeq_best_configs:
    print(f"\n========== MENGANALISIS: {chosen_id} ==========")
    
    chosen_model = dict_fitted_models[chosen_id]
    X_test_clean_chosen = dict_detailed_predictions[chosen_id]['X_test_features'].copy()

    # Ubah pd.NA / NAType ke np.nan agar bisa dipakai NumPy dan SHAP
    X_test_clean_chosen = X_test_clean_chosen.fillna(np.nan).astype(float)

    # ==========================================================
    # VISUALISASI SHAP SUMMARY PLOT
    # ==========================================================
    explainer = shap.TreeExplainer(chosen_model)
    shap_values = explainer.shap_values(X_test_clean_chosen)

    # ambil class 1 (Distress)
    if isinstance(shap_values, list):
        shap_values_plot = shap_values[1] 
    elif len(shap_values.shape) == 3:
        shap_values_plot = shap_values[:, :, 1] 
    else:
        shap_values_plot = shap_values 

    plt.figure(figsize=(10, 6))
    # show=False agar tidak membuat 2 kanvas terpisah
    shap.summary_plot(shap_values_plot, X_test_clean_chosen, max_display=15, show=False)
    plt.title(f"SHAP Values Summary - {chosen_id}")
    plt.tight_layout()
    plt.show()

    # ==========================================================
    # VISUALISASI  GLOBAL FEATURE IMPORTANCE (Gini/Gain)
    # ==========================================================
    importance = chosen_model.feature_importances_
    
    # Langsung pakai nama kolom dari data test yang sudah melewati pipeline
    df_imp = pd.DataFrame({'Feature': X_test_clean_chosen.columns, 'Importance': importance})
    df_imp = df_imp.sort_values(by='Importance', ascending=False).head(15)

    plt.figure(figsize=(10, 6))
    # fix assign x ke hue dan legend=False
    sns.barplot(x='Importance', y='Feature', data=df_imp, hue='Feature', palette='viridis', legend=False)
    plt.title(f"Top 15 Feature Importance - {chosen_id}")
    plt.tight_layout()
    plt.show()

========== MENGANALISIS: negeq_keep_all_RandomForest ==========


========== MENGANALISIS: negeq_keep_corr_RandomForest ==========


========== MENGANALISIS: negeq_keep_all_CatBoost ==========

# negeq_best_configs = ['negeq_keep_all_RandomForest','negeq_keep_corr_RandomForest', 'negeq_keep_all_CatBoost']

# for chosen_id in negeq_best_configs:
#     t_name, n_strat, f_strat, m_name = chosen_id.split('_')
#     print(f"\n========== MENGANALISIS: {chosen_id} ==========")

#     # siapkan data awal
#     X_train_chosen = dict_data_splits[t_name]['X_train'].copy()
#     y_train_chosen = dict_data_splits[t_name]['y_train'].copy()
#     X_test_chosen = dict_data_splits[t_name]['X_test'].copy()

#     # ==========================================================
#     # REPLIKASI PREPROCESSING (sesuai konfigurasi ID)
#     # ==========================================================

#     # imputasi & missing indicator
#     if n_strat == 'impute':
#         cols_to_flag = kolom_missing_indicator[t_name]
#         for col in cols_to_flag:
#             X_train_chosen[f"{col}_is_missing"] = X_train_chosen[col].isnull().astype(int)
#             X_test_chosen[f"{col}_is_missing"] = X_test_chosen[col].isnull().astype(int)
            
#         fitur_cols = [c for c in X_train_chosen.columns if c not in metadata_cols]
#         X_train_chosen, X_test_chosen = apply_custom_imputation(X_train_chosen, X_test_chosen, fitur_cols)

#     # ambil metadata
#     meta_tr = X_train_chosen[metadata_cols].reset_index(drop=True)
#     meta_ts = X_test_chosen[metadata_cols].reset_index(drop=True)

#     # strategi fitur (corr drop / pca) 
#     if f_strat == 'corr':
#         cols_to_drop = get_low_corr_features_target_aware(X_train_chosen, y_train_chosen, threshold=0.85)
#         X_train_chosen = X_train_chosen.drop(columns=cols_to_drop)
#         X_test_chosen = X_test_chosen.drop(columns=cols_to_drop)
        
#     elif f_strat == 'pca':
#         fitur_cols = [c for c in X_train_chosen.columns if c not in metadata_cols]
        
#         # hapus fitur konstan sebelum pca
#         constant_cols = [col for col in fitur_cols if X_train_chosen[col].nunique() <= 1]
#         if constant_cols:
#             X_train_chosen = X_train_chosen.drop(columns=constant_cols)
#             X_test_chosen = X_test_chosen.drop(columns=constant_cols)
#             fitur_cols = [c for c in fitur_cols if c not in constant_cols]
            
#         scaler = StandardScaler()
#         pca = PCA(n_components=0.95, random_state=42)
        
#         X_tr_pca = pca.fit_transform(scaler.fit_transform(X_train_chosen[fitur_cols]))
#         X_ts_pca = pca.transform(scaler.transform(X_test_chosen[fitur_cols]))
        
#         pca_cols = [f"PC_{i}" for i in range(X_tr_pca.shape[1])]
#         X_train_chosen = pd.concat([meta_tr, pd.DataFrame(X_tr_pca, columns=pca_cols)], axis=1)
#         X_test_chosen = pd.concat([meta_ts, pd.DataFrame(X_ts_pca, columns=pca_cols)], axis=1)

#     # drop metadata sebelum masuk model
#     X_train_clean_chosen = X_train_chosen.drop(columns=metadata_cols, errors='ignore')
#     X_test_clean_chosen = X_test_chosen.drop(columns=metadata_cols, errors='ignore')

#     # ubah pd.NA / NAType ke np.nan agar model tree-based bisa handle dengan baik
#     X_train_clean_chosen = X_train_clean_chosen.fillna(np.nan).astype(float)
#     X_test_clean_chosen = X_test_clean_chosen.fillna(np.nan).astype(float)

#     # ==========================================================
#     # FINAL TRAINING MODEL
#     # ==========================================================

#     chosen_params = dict_master_results[chosen_id]['best_params']
#     chosen_model = dict_model_classes[m_name](**chosen_params)
#     chosen_model.fit(X_train_clean_chosen, y_train_chosen)

#     # ==========================================
#     # VISUALISASI 1: SHAP SUMMARY PLOT
#     # ==========================================
#     # pakai TreeExplainer karena model tree-based
#     explainer = shap.TreeExplainer(chosen_model)
#     shap_values = explainer.shap_values(X_test_clean_chosen)

#     # Ekstrak untuk Kelas Positif (Target 1)
#     if isinstance(shap_values, list):
#         # kalau SHAP versi lama mengembalikan List
#         shap_values_plot = shap_values[1] 
#     elif len(shap_values.shape) == 3:
#         # kalau SHAP mengembalikan array 3D
#         # ambil seluruh baris (:), seluruh kolom fitur (:), dan khusus elemen kelas 1
#         shap_values_plot = shap_values[:, :, 1] 
#     else:
#         # kalau SHAP return array 2D 
#         shap_values_plot = shap_values

#     plt.figure(figsize=(10, 6))
#     plt.title(f"SHAP Values Summary - {chosen_id}")
#     shap.summary_plot(shap_values_plot, X_test_clean_chosen, max_display=15)
#     plt.show()

#     # ==========================================
#     # VISUALISASI 2: GLOBAL FEATURE IMPORTANCE
#     # ==========================================================
#     importance = chosen_model.feature_importances_
#     df_imp = pd.DataFrame({'Feature': X_train_clean_chosen.columns, 'Importance': importance})
#     df_imp = df_imp.sort_values(by='Importance', ascending=False).head(15)

#     plt.figure(figsize=(10, 6))
#     # PERBAIKAN WARNING SEABORN: assign x ke hue dan matikan legend
#     sns.barplot(x='Importance', y='Feature', data=df_imp, hue='Feature', palette='viridis', legend=False)
#     plt.title(f"Top 15 Feature Importance - {chosen_id}")
#     plt.tight_layout()
#     plt.show()

FI Target Distress Rugi Berturut-turut

conloss_best_configs = ['conloss_keep_all_XGBoost','conloss_keep_corr_XGBoost','conloss_keep_all_RandomForest']

for chosen_id in ppk_best_configs:
    print(f"\n========== MENGANALISIS: {chosen_id} ==========")
    
    chosen_model = dict_fitted_models[chosen_id]
    X_test_clean_chosen = dict_detailed_predictions[chosen_id]['X_test_features'].copy()

    # Ubah pd.NA / NAType ke np.nan agar bisa dipakai NumPy dan SHAP
    X_test_clean_chosen = X_test_clean_chosen.fillna(np.nan).astype(float)

    # ==========================================================
    # VISUALISASI SHAP SUMMARY PLOT
    # ==========================================================
    explainer = shap.TreeExplainer(chosen_model)
    shap_values = explainer.shap_values(X_test_clean_chosen)

    # ambil class 1 (Distress)
    if isinstance(shap_values, list):
        shap_values_plot = shap_values[1] 
    elif len(shap_values.shape) == 3:
        shap_values_plot = shap_values[:, :, 1] 
    else:
        shap_values_plot = shap_values 

    plt.figure(figsize=(10, 6))
    # show=False agar tidak membuat 2 kanvas terpisah
    shap.summary_plot(shap_values_plot, X_test_clean_chosen, max_display=15, show=False)
    plt.title(f"SHAP Values Summary - {chosen_id}")
    plt.tight_layout()
    plt.show()

    # ==========================================================
    # VISUALISASI  GLOBAL FEATURE IMPORTANCE (Gini/Gain)
    # ==========================================================
    importance = chosen_model.feature_importances_
    
    # Langsung pakai nama kolom dari data test yang sudah melewati pipeline
    df_imp = pd.DataFrame({'Feature': X_test_clean_chosen.columns, 'Importance': importance})
    df_imp = df_imp.sort_values(by='Importance', ascending=False).head(15)

    plt.figure(figsize=(10, 6))
    # fix assign x ke hue dan legend=False
    sns.barplot(x='Importance', y='Feature', data=df_imp, hue='Feature', palette='viridis', legend=False)
    plt.title(f"Top 15 Feature Importance - {chosen_id}")
    plt.tight_layout()
    plt.show()

========== MENGANALISIS: ppk_keep_corr_RandomForest ==========


========== MENGANALISIS: ppk_keep_all_RandomForest ==========


========== MENGANALISIS: ppk_keep_corr_XGBoost ==========

# conloss_best_configs = ['conloss_keep_all_XGBoost','conloss_keep_corr_XGBoost','conloss_keep_all_RandomForest']

# for chosen_id in conloss_best_configs:
#     t_name, n_strat, f_strat, m_name = chosen_id.split('_')
#     print(f"\n========== MENGANALISIS: {chosen_id} ==========")

#     # siapkan data awal
#     X_train_chosen = dict_data_splits[t_name]['X_train'].copy()
#     y_train_chosen = dict_data_splits[t_name]['y_train'].copy()
#     X_test_chosen = dict_data_splits[t_name]['X_test'].copy()

#     # ==========================================================
#     # REPLIKASI PREPROCESSING (sesuai konfigurasi ID)
#     # ==========================================================

#     # imputasi & missing indicator
#     if n_strat == 'impute':
#         cols_to_flag = kolom_missing_indicator[t_name]
#         for col in cols_to_flag:
#             X_train_chosen[f"{col}_is_missing"] = X_train_chosen[col].isnull().astype(int)
#             X_test_chosen[f"{col}_is_missing"] = X_test_chosen[col].isnull().astype(int)
            
#         fitur_cols = [c for c in X_train_chosen.columns if c not in metadata_cols]
#         X_train_chosen, X_test_chosen = apply_custom_imputation(X_train_chosen, X_test_chosen, fitur_cols)

#     # ambil metadata
#     meta_tr = X_train_chosen[metadata_cols].reset_index(drop=True)
#     meta_ts = X_test_chosen[metadata_cols].reset_index(drop=True)

#     # strategi fitur (corr drop / pca) 
#     if f_strat == 'corr':
#         cols_to_drop = get_low_corr_features_target_aware(X_train_chosen, y_train_chosen, threshold=0.85)
#         X_train_chosen = X_train_chosen.drop(columns=cols_to_drop)
#         X_test_chosen = X_test_chosen.drop(columns=cols_to_drop)
        
#     elif f_strat == 'pca':
#         fitur_cols = [c for c in X_train_chosen.columns if c not in metadata_cols]
        
#         # hapus fitur konstan sebelum pca
#         constant_cols = [col for col in fitur_cols if X_train_chosen[col].nunique() <= 1]
#         if constant_cols:
#             X_train_chosen = X_train_chosen.drop(columns=constant_cols)
#             X_test_chosen = X_test_chosen.drop(columns=constant_cols)
#             fitur_cols = [c for c in fitur_cols if c not in constant_cols]
            
#         scaler = StandardScaler()
#         pca = PCA(n_components=0.95, random_state=42)
        
#         X_tr_pca = pca.fit_transform(scaler.fit_transform(X_train_chosen[fitur_cols]))
#         X_ts_pca = pca.transform(scaler.transform(X_test_chosen[fitur_cols]))
        
#         pca_cols = [f"PC_{i}" for i in range(X_tr_pca.shape[1])]
#         X_train_chosen = pd.concat([meta_tr, pd.DataFrame(X_tr_pca, columns=pca_cols)], axis=1)
#         X_test_chosen = pd.concat([meta_ts, pd.DataFrame(X_ts_pca, columns=pca_cols)], axis=1)

#     # drop metadata sebelum masuk model
#     X_train_clean_chosen = X_train_chosen.drop(columns=metadata_cols, errors='ignore')
#     X_test_clean_chosen = X_test_chosen.drop(columns=metadata_cols, errors='ignore')

#     # ubah pd.NA / NAType ke np.nan agar model tree-based bisa handle dengan baik
#     X_train_clean_chosen = X_train_clean_chosen.fillna(np.nan).astype(float)
#     X_test_clean_chosen = X_test_clean_chosen.fillna(np.nan).astype(float)

#     # ==========================================================
#     # FINAL TRAINING MODEL
#     # ==========================================================

#     chosen_params = dict_master_results[chosen_id]['best_params']
#     chosen_model = dict_model_classes[m_name](**chosen_params)
#     chosen_model.fit(X_train_clean_chosen, y_train_chosen)

#     # ==========================================
#     # VISUALISASI 1: SHAP SUMMARY PLOT
#     # ==========================================
#     # pakai TreeExplainer karena model tree-based
#     explainer = shap.TreeExplainer(chosen_model)
#     shap_values = explainer.shap_values(X_test_clean_chosen)

#     # Ekstrak untuk Kelas Positif (Target 1)
#     if isinstance(shap_values, list):
#         # kalau SHAP versi lama mengembalikan List
#         shap_values_plot = shap_values[1] 
#     elif len(shap_values.shape) == 3:
#         # kalau SHAP mengembalikan array 3D
#         # ambil seluruh baris (:), seluruh kolom fitur (:), dan khusus elemen kelas 1
#         shap_values_plot = shap_values[:, :, 1] 
#     else:
#         # kalau SHAP return array 2D 
#         shap_values_plot = shap_values

#     plt.figure(figsize=(10, 6))
#     plt.title(f"SHAP Values Summary - {chosen_id}")
#     shap.summary_plot(shap_values_plot, X_test_clean_chosen, max_display=15)
#     plt.show()

#     # ==========================================
#     # VISUALISASI 2: GLOBAL FEATURE IMPORTANCE
#     # ==========================================================
#     importance = chosen_model.feature_importances_
#     df_imp = pd.DataFrame({'Feature': X_train_clean_chosen.columns, 'Importance': importance})
#     df_imp = df_imp.sort_values(by='Importance', ascending=False).head(15)

#     plt.figure(figsize=(10, 6))
#     # PERBAIKAN WARNING SEABORN: assign x ke hue dan matikan legend
#     sns.barplot(x='Importance', y='Feature', data=df_imp, hue='Feature', palette='viridis', legend=False)
#     plt.title(f"Top 15 Feature Importance - {chosen_id}")
#     plt.tight_layout()
#     plt.show()

Analisis Sebaran Prediksi Distress Papan Pemantauan Khusus

ppk_keep_corr_RandomForest

# 1. Pilih ID Champion Model yang ingin dibedah
champion_id = 'ppk_keep_corr_RandomForest'

# 2. Tarik data prediksi dari keranjang
data_pred = dict_detailed_predictions[champion_id]

# 3. Gabungkan Metadata, Kunci Jawaban, Tebakan Model, dan Rasio Keuangan
df_analyze = data_pred['metadata'].copy()
df_analyze['True_Label'] = data_pred['y_true']
df_analyze['Predicted_Label'] = data_pred['y_pred']
df_analyze['Prediction_Prob'] = data_pred['y_prob']

# Tempelkan juga rasio keuangannya agar bisa dianalisis "mengapa"
df_analyze = pd.concat([df_analyze, data_pred['X_test_features']], axis=1)

# =======================================================
# FILTER 1: FALSE NEGATIVE (Kecolongan / Bahaya Fatal)
# Emiten aslinya Distress (1), tapi diprediksi Sehat (0)
# =======================================================
df_fn = df_analyze[(df_analyze['True_Label'] == 1) & (df_analyze['Predicted_Label'] == 0)]
df_fn = df_fn.sort_values(by='Prediction_Prob', ascending=False) # Lihat yang nyaris terdeteksi

print(f"Total False Negative ({champion_id}): {len(df_fn)} emiten")
display(df_fn[['ticker', 'Year', 'True_Label', 'Predicted_Label', 'Prediction_Prob']].head(10))

# =======================================================
# FILTER 2: FALSE POSITIVE (Alarm Palsu / Batal Investasi)
# Emiten aslinya Sehat (0), tapi diprediksi Distress (1)
# =======================================================
df_fp = df_analyze[(df_analyze['True_Label'] == 0) & (df_analyze['Predicted_Label'] == 1)]
df_fp = df_fp.sort_values(by='Prediction_Prob', ascending=False) # Lihat yang model sangat yakin padahal salah

print(f"\nTotal False Positive ({champion_id}): {len(df_fp)} emiten")
display(df_fp[['ticker', 'Year', 'True_Label', 'Predicted_Label', 'Prediction_Prob']].head(10))
Total False Negative (ppk_keep_corr_RandomForest): 41 emiten
ticker Year True_Label Predicted_Label Prediction_Prob
358 LFLO 2023 1 0 0.140294
312 JARR 2023 1 0 0.129608
24 ALMI 2023 1 0 0.127388
545 SKLT 2023 1 0 0.124944
470 PLIN 2023 1 0 0.122342
130 BTON 2023 1 0 0.118091
340 KKES 2023 1 0 0.114071
330 KDSI 2023 1 0 0.114068
460 PCAR 2023 1 0 0.113150
636 WIFI 2023 1 0 0.111815

Total False Positive (ppk_keep_corr_RandomForest): 116 emiten
ticker Year True_Label Predicted_Label Prediction_Prob
374 LUCY 2023 0 1 0.376046
606 TRGU 2023 0 1 0.373303
436 NATO 2023 0 1 0.368573
489 PRIM 2023 0 1 0.363274
491 PSDN 2023 0 1 0.352160
123 BRMS 2023 0 1 0.330324
455 PAMG 2023 0 1 0.327504
338 KIOS 2023 0 1 0.321421
287 INDO 2023 0 1 0.307600
501 PURI 2023 0 1 0.297471

Analisis Sebaran Prediksi Distress Ekuitas Negatif

Analisis Sebaran Prediksi Distress Rugi Berturut-turut

Rancangan Deployment

Deployment