From b3e49b5a134013173c891b7960be8b6e2032fd9e Mon Sep 17 00:00:00 2001 From: Nikhil Date: Fri, 26 Jun 2026 21:41:28 +0530 Subject: [PATCH 01/39] Add workflow diagram for CogniOS Added detailed workflow diagram for CogniOS using Mermaid syntax, outlining phases from telemetry collection to explanation and UI. --- README.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/README.md b/README.md index fa47341..797c570 100644 --- a/README.md +++ b/README.md @@ -1 +1,58 @@ # CogniOS +Module FocusOS Detailed WorkFlow +```mermaid +graph TD + subgraph Phase1["Phase 1: Telemetry Collection"] + A1["psutil (CPU, RAM, Disk, Net)"] --> B1["Telemetry Collector Daemon"] + A2["/proc filesystem (Process/thread stats)"] --> B1 + A3["Window Manager APIs (xprop / xdotool / compositor)"] --> B1 + B1 -->|Sample every 1 sec| C1["Raw Metrics Buffer"] + end + + subgraph Phase2["Phase 2: Sliding Window Generator"] + C1 --> D1["120-Second FIFO Queue"] + D1 --> E1["Matrix Representation (120 x Feature_Count)"] + end + + subgraph Phase3["Phase 3: Feature Engineering"] + E1 --> F1["Compute Statistical Metrics"] + F1 --> G1["CPU Stats (Mean, Max, Variance)"] + F1 --> G2["RAM Stats (Mean, Growth Rate)"] + F1 --> G3["Network Stats (Mean Up/Down, Variance)"] + F1 --> G4["Process Stats (Count, Threads, Top Share)"] + F1 --> G5["Context Stats (One-Hot Encoded Categories)"] + G1 & G2 & G3 & G4 & G5 --> H1["Final Feature Vector"] + end + + subgraph Phase4["Phase 4: Unsupervised Clustering"] + H1 -->|Batch Historical Data| I1["KMeans Clustering (k=5)"] + I1 --> J1["Discover 5 Resource Profiles"] + J1 --> K1["Analyze Profile Rules (e.g. High Net + Zoom)"] + K1 --> L1["Apply Human Pseudo-Labels (Coding, Compiling, etc.)"] + end + + subgraph Phase5["Phase 5: Supervised Classification"] + L1 --> M1["Labeled Tabular Dataset"] + M1 --> N1["Train XGBoost Classifier"] + H1 -->|Live Vector Every 30 sec| O1["XGBoost Real-Time Inference"] + N1 --> O1 + O1 --> P1{"Confidence > 80%?"} + end + + subgraph Phase6["Phase 6: Optimization"] + P1 -->|Yes| Q1["Identify Target Process"] + P1 -->|No| Q2["Maintain Current State"] + Q1 --> R1["Apply nice() / renice priority"] + Q1 --> R2["Configure sched_setaffinity() (CPU core separation)"] + end + + subgraph Phase7["Phase 7: Explanation & UI"] + O1 --> S1["Extract XGBoost Feature Importances"] + S1 --> T1["Build Context JSON Payload"] + T1 --> U1["Query Local LLM Explanation Layer"] + U1 --> V1["Generate Natural Language Explanation"] + V1 --> W1["Streamlit Dashboard Display"] + R1 --> W1 + R2 --> W1 + end +``` From 40b00365af5c1faabcf4738b84cd5d99defb42ba Mon Sep 17 00:00:00 2001 From: khyati-1711 Date: Tue, 30 Jun 2026 16:21:03 +0530 Subject: [PATCH 02/39] Create readme.md --- focusos/readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 focusos/readme.md diff --git a/focusos/readme.md b/focusos/readme.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/focusos/readme.md @@ -0,0 +1 @@ + From 1e59190a00268fe8993307e72dea9dbe389317a9 Mon Sep 17 00:00:00 2001 From: khyati-1711 Date: Tue, 30 Jun 2026 16:44:56 +0530 Subject: [PATCH 03/39] Update readme.md --- focusos/readme.md | 478 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 478 insertions(+) diff --git a/focusos/readme.md b/focusos/readme.md index 8b13789..1238e8b 100644 --- a/focusos/readme.md +++ b/focusos/readme.md @@ -1 +1,479 @@ +# FocusOS — Module Documentation + +**Part of CogniOS | Adaptive Workload Understanding and System Optimization Engine** + +--- + +## Table of Contents + +1. [Module Overview](#1-module-overview) +2. [Workflow](#2-workflow) +3. [File Structure](#3-file-structure) +4. [Function Definitions](#4-function-definitions) +5. [Useful Telemetry Data](#5-useful-telemetry-data) +6. [Additional Information](#6-additional-information) + +--- + +## 1. Module Overview + +### What is FocusOS? + +FocusOS is the **adaptive optimization layer** of CogniOS. Its core responsibility is to understand *what kind of work the user is currently doing* — not just which app is open — and dynamically tune the operating system's resource allocation to make that work feel faster and smoother. + +Traditional OS schedulers are workload-agnostic. They don't know if the user is in a deep coding session, compiling a project, gaming, or on a video call. FocusOS bridges this gap by continuously inferring workload context from system telemetry and applying intelligent, context-aware optimizations. + +> Instead of: *"What app is open?"* +> FocusOS asks: *"What kind of workload is happening right now?"* + +### Workload Categories Detected + +| Workload | Description | +|----------|-------------| +| `Coding` | IDE active, moderate CPU, low network, Python/Node processes | +| `Compiling` | Compiler active, high CPU, high disk I/O | +| `Gaming` | Game process dominant, high GPU/CPU, low network variance | +| `Video Call` | Zoom/Meet active, high network, moderate CPU | +| `Browsing` | Browser dominant, variable network, moderate CPU | +| `Idle` | Low CPU/RAM/disk, no dominant foreground process | + +--- + +## 2. Workflow + +### Training Phase + +**Step 1 — Collect telemetry every second** + +- **Metric Sourcing:** Relevant metrics are collected from Layer 1 and Layer 2. +- **In-Memory Buffer Storage:** A buffer may be implemented to eliminate the overhead of writing directly to the database tables every second. +- **Feature Classification:** + - System features + - Process features — a dedicated function is defined to fetch process metrics. To accurately compute the process creation rate, `asyncio` is used. This function accepts the local database path as its primary input argument. + - Context features + +**Step 2 — Generation of time-averaged statistics and final feature vector** + +- **Sliding window execution:** A dedicated function is defined to calculate rolling statistical metrics. +- **Execution Interval:** This function is triggered strictly every 30 seconds utilizing `asyncio`. +- **Dataset Creation:** A 2D array encompassing all compiled feature vectors is generated to assemble the training dataset for the clustering model. +- **Feature Scaling:** Prior to passing the dataset to KMeans, the data is normalized using `StandardScaler` from `sklearn.preprocessing`. This ensures that all metrics carry a mathematically similar weightage during distance calculations. +- **Unsupervised Clustering:** The output of this training phase is a tracking array (`trained_array`) that assigns a definitive cluster integer to every input feature vector row. +- **Pseudo-Labeling:** To perform pseudo-labeling, the centroid of each individual cluster is evaluated. This is achieved by calculating the mathematical mean of every feature vector that has been mapped to that same cluster number within the `trained_array`. +- **Supervised Mapping Database:** A "trained database" is then constructed to store the original structural feature vectors, along with a column storing their corresponding mapped workload labels. +- **XGBoost Dataset Formulation:** For training the supervised XGBoost model, `x_train` is designated as the initial 2D telemetry array, while `y_train` is fed the calculated `trained_array` labels from KMeans. + +### Testing with Actual Data + +- On live telemetry data, the module evaluates the system state using `model.predict_proba()` to compute a probability distribution across the different workload categories. +- **Label Dictionary Mapping:** The mapping from cluster number to workload category is done via a predefined dictionary mapping. +- **Threshold:** If the prediction confidence score for any individual workload category exceeds **80%**, the optimization layer triggers to actively prioritize that specific process. + +--- + +## 3. File Structure + +``` +focusos/ +│ +├── telemetry/ +│ └── collector.py # Reads psutil + /proc, emits 1-sec snapshots +│ +├── windowing/ +│ └── sliding_window.py # Maintains a 120-sample rolling buffer +│ +├── features/ +│ └── feature_engineer.py # Converts raw window → statistical feature vector +│ +├── models/ +│ ├── cluster_trainer.py # KMeans training for unsupervised discovery +│ ├── label_mapper.py # Maps cluster IDs → workload names (human step) +│ └── classifier.py # XGBoost train + inference +│ +├── optimization/ +│ └── optimizer.py # Applies nice(), cpu_affinity(), ionice() via psutil +│ +├── explanation/ +│ └── llm_explainer.py # Builds LLM prompt from prediction + feature importance +│ +├── dashboard/ +│ └── dashboard_server.py # Serves data to React frontend +│ +├── utils/ +│ └── process_utils.py # Helper: get foreground app, detect compiler, etc. +│ +├── models_saved/ +│ ├── kmeans_model.pkl # Saved KMeans model +│ └── xgboost_model.pkl # Saved XGBoost classifier +│ +└── main.py # Entry point: starts daemon loop +``` + +--- + +## 4. Function Definitions + +### `collector.py` + +```python +def collect_snapshot(conn) -> dict +``` + +**Purpose:** Collects one complete telemetry snapshot from `psutil` and `/proc` every second. Stores the snapshot into the shared SQLite database and returns it as a dict for the sliding window buffer. This is the heartbeat of FocusOS — everything downstream depends on this data. + +```python +timestamp < (strftime('%s','now') - 1) +``` + +--- + +```python +def get_foreground_app() -> str +``` + +**Purpose:** Detects the currently focused window title using `xdotool`. Returns the lowercased application name string. Falls back to `'unknown'` if no window manager is available or the call fails. + +```python +subprocess.check_output(['xdotool', 'getactivewindow']) +``` + +--- + +```python +def get_top_processes(n: int = 5) -> list[dict] +``` + +**Purpose:** Returns the top N processes sorted by CPU usage, and separately by memory usage. Each entry contains `pid`, `name`, `cpu_percent`, `memory_percent`, `num_threads`, `status`. Called every 5 seconds (Layer 2 telemetry). Only top-5 are stored to keep the database lean. + +```python +psutil.process_iter(['pid','name','cpu_percent','memory_percent','num_threads','status']) +``` + +--- + +### `sliding_window.py` + +```python +class SlidingWindowBuffer(maxlen: int = 120) +``` + +**Purpose:** Maintains a fixed-size FIFO deque of telemetry snapshots representing the last 2 minutes of system state (120 samples at 1/sec). When the buffer is full, the oldest entry is automatically dropped on each new addition. This is the temporal memory FocusOS reasons over. + +```python +self.buffer = deque(maxlen=120) +``` + +--- + +```python +def add(self, snapshot: dict) -> None +``` + +**Purpose:** Appends a new telemetry snapshot to the buffer. If the buffer is already at `maxlen`, the oldest snapshot is evicted automatically by the deque. Called once per second by the daemon loop. + +```python +self.buffer.append(snapshot) +``` + +--- + +```python +def is_ready(self) -> bool +``` + +**Purpose:** Returns `True` only when the buffer has accumulated exactly `maxlen` snapshots. FocusOS waits for a full 2-minute window before running its first inference. Prevents classification on incomplete data at startup. + +```python +return len(self.buffer) == self.buffer.maxlen +``` + +--- + +```python +def get_window(self) -> list[dict] +``` + +**Purpose:** Returns a plain list copy of the current buffer contents, ordered oldest to newest. This copy is passed to `feature_engineer.py` for statistical feature extraction every 30 seconds. + +```python +return list(self.buffer) +``` + +--- + +### `feature_engineer.py` + +```python +def extract_features(window: list[dict]) -> dict +``` + +**Purpose:** Converts the 120-snapshot sliding window into a flat statistical feature vector. Computes mean, max, and variance for CPU, RAM, network, and process signals. Also sets binary context flags (`vscode_active`, `compiler_active`). The output dict is the direct input to the XGBoost classifier. + +--- + +```python +def categorize_app(app_name: str) -> int +``` + +**Purpose:** Maps a raw foreground application name (window title string) to an integer category code used as a numerical feature in the ML model. Categories: `IDE=0`, `Browser=1`, `Game=2`, `Call=3`, `Terminal=4`, `Unknown=5`. Called inside `extract_features()`. + +```python +if any(k in app_name for k in ['code', 'pycharm', 'vim']): + return 0 # IDE +``` + +--- + +```python +def get_compiler_flag(window: list[dict]) -> int +``` + +**Purpose:** Scans the top process names across all 120 snapshots and returns `1` if any known compiler or build tool (`gcc`, `g++`, `make`, `clang`, `rustc`, `javac`, `cargo`) appeared in the top-5 CPU processes during the window. Returns `0` otherwise. + +```python +compiler_tools = ['gcc', 'g++', 'make', 'clang', 'rustc', 'javac', 'cargo'] +``` + +--- + +### `cluster_trainer.py` + +```python +def train_kmeans(X: np.ndarray, n_clusters: int = 5) -> KMeans +``` + +**Purpose:** Trains a KMeans clustering model on collected feature vectors to discover natural workload behavior groups. Called once during the initial bootstrapping phase before any labels exist. Saves the fitted model and scaler to `models_saved/`. This is the unsupervised first step of the semi-supervised pipeline. + +```python +model = KMeans(n_clusters=5, random_state=42, n_init=10) +model.fit(X_scaled) +``` + +--- + +```python +def assign_pseudo_labels(cluster_ids: np.ndarray, label_map: dict) -> list[str] +``` + +**Purpose:** Converts raw integer cluster IDs from KMeans output into human-readable workload label strings using a manually defined mapping (e.g. `{0: 'coding', 1: 'video_call', ...}`). This human labelling step is the bridge from unsupervised clustering to supervised classification. + +```python +return [label_map.get(cid, 'unknown') for cid in cluster_ids] +``` + +--- + +```python +def save_pseudo_labeled_dataset(X: np.ndarray, labels: list[str], path: str) -> None +``` + +**Purpose:** Persists the pseudo-labeled feature matrix to disk as a CSV file. Each row is one 2-minute window's feature vector, with its assigned workload label as the final column. This dataset is later loaded by `classifier.py` to train XGBoost. + +```python +df = pd.DataFrame(X, columns=FEATURE_NAMES) +df['label'] = labels +df.to_csv(path, index=False) +``` + +--- + +### `classifier.py` + +```python +def train_classifier(X_train: np.ndarray, y_train: np.ndarray) -> XGBClassifier +``` + +**Purpose:** Trains an XGBoost multi-class classifier on the pseudo-labeled workload dataset. Uses 100 estimators, max depth 6, and learning rate 0.1. Saves the fitted model to `models_saved/xgboost_model.pkl`. Called once after pseudo-labels are generated, and can be retrained periodically. + +```python +model = XGBClassifier(n_estimators=100, max_depth=6, learning_rate=0.1) +model.fit(X_train, y_train) +``` + +--- + +```python +def predict_workload(features: dict) -> tuple[str, float, dict] +``` + +**Purpose:** Runs a single real-time inference pass on a feature vector extracted from the current sliding window. Returns the predicted workload label, the confidence score for that label, and a dict of all class probabilities. Called every 30 seconds by the daemon loop. + +```python +probs = model.predict_proba(X)[0] +label = WORKLOAD_LABELS[np.argmax(probs)] +confidence = probs[np.argmax(probs)] +``` + +--- + +```python +def get_feature_importances() -> dict +``` + +**Purpose:** Extracts and returns the feature importance scores from the trained XGBoost model as a `{feature_name: score}` dict. The top 3 features by importance are passed to the LLM explanation layer to generate a human-readable reason for the current workload prediction. + +```python +return dict(zip(FEATURE_NAMES, model.feature_importances_)) +``` + +--- + +### `optimizer.py` + +```python +def apply_optimization(workload: str, confidence: float) -> None +``` + +**Purpose:** The action layer of FocusOS. Reads the detected workload and — only if confidence exceeds 80% — adjusts OS-level process scheduling by calling `nice()`, `cpu_affinity()`, and `ionice()` via psutil. Prioritizes relevant processes and deprioritizes background tasks. Logs all actions taken. + +--- + +```python +def prioritize_process(proc_name: str, nice_val: int) -> bool +``` + +**Purpose:** Finds a running process by name substring match and sets its CPU scheduling priority using `psutil.Process.nice()`. Returns `True` if the process was found and updated, `False` if the process was not running or access was denied. Called internally by `apply_optimization()`. + +```python +p = psutil.Process(pid) +p.nice(nice_val) +``` + +--- + +```python +def log_optimization_result(workload: str, confidence: float, actions: list[str]) -> None +``` + +**Purpose:** Writes the optimization event — workload label, confidence score, timestamp, and list of actions applied — to the `focusos_events` table in the shared CogniOS SQLite database. This log is consumed by the dashboard and by BlackBox for pre-crash workload reconstruction. + +```python +cur.execute(""" + INSERT INTO focusos_events (timestamp, workload, confidence, actions_json) + VALUES (?, ?, ?, ?) +""", (time.time(), workload, confidence, json.dumps(actions))) +``` + +--- + +### `llm_explainer.py` + +```python +def generate_explanation(prediction: str, confidence: float, top_features: dict) -> str +``` + +**Purpose:** Builds a structured JSON prompt from the workload prediction and top XGBoost feature importances, then sends it to the configured LLM (Ollama local or API). Returns a 2-sentence plain-English explanation of why the current workload was detected. Result is displayed on the dashboard. + +```python +prompt = { + "prediction": prediction, + "confidence": f"{confidence:.0%}", + "important_features": [...top 3 features...] +} +return call_llm(system_prompt, json.dumps(prompt)) +``` + +--- + +## 5. Useful Telemetry Data + +FocusOS reads from the shared CogniOS Telemetry Collector. Below are the signals most relevant to FocusOS and the reasoning behind each. + +### Layer 1: System Telemetry (Every 1 Second) + +| Signal | Why FocusOS Needs It | +|--------|---------------------| +| `cpu_percent` | Primary indicator: coding ~30-50%, compiling ~80-100% | +| `cpu_per_core` | Distribution matters: compiler uses all cores, game pins 2-4 | +| `cpu_user` / `cpu_system` | System-heavy = kernel work; user-heavy = application | +| `cpu_iowait` | High iowait = compiling or heavy disk-bound workload | +| `mem_percent` | Gaming and video editing push RAM high; coding is moderate | +| `mem_cached` | High cache = file-heavy workload (compiling, video) | +| `disk_read_mbps` | Compiling reads many source files | +| `disk_write_mbps` | Build artifacts being written = strong compiling signal | +| `net_bytes_sent` / `net_bytes_recv` | High recv = streaming/video call; near-zero = offline coding | +| `process_count` | Many new processes = build system spawning (make, cargo) | +| `context_switches` | High = many competing threads (compiling, game engine) | +| `load_1m` / `load_5m` | Sustained high load = compile or gaming; spike = anomaly | + +### Layer 2: Top Process Telemetry (Every 5 Seconds) + +| Signal | Why FocusOS Needs It | +|--------|---------------------| +| Top-5 process `name` | gcc/g++/make = compiling; zoom = video call; code = coding | +| Top process `cpu_percent` | One process at 90% = game; distributed = compile | +| Top process `memory_percent` | Memory-hungry process reveals workload type | +| `num_threads` | Many threads = parallel compile jobs or game engine | +| `read_bytes` / `write_bytes` | Compiler writes output; game engine streams assets | +| `status` | Zombie accumulation signals build system issues | + +### Layer 3: Process Metadata (Store Once per New Top-5 Entry) + +| Signal | Why FocusOS Needs It | +|--------|---------------------| +| `exe` (executable path) | `/usr/bin/gcc` is unambiguous compiling; `/opt/zoom/zoom` = video call | +| `cmdline` | `python train.py` = ML work; `make -j8` = compiling | +| `nice` (priority) | Know baseline before FocusOS modifies it (needed for rollback) | +| `create_time` | Long-lived compiler process = active sustained build | + +### Layer 4: Deep Diagnostics (Anomaly Only — from OS Doctor) + +| Signal | Relevance | +|--------|-----------| +| `cpu_affinity` | Avoid double-setting if process is already pinned | +| `io_priority` | Know existing I/O class before overriding | +| `open_files` | Compiler opens many `.c`/`.h` files — confirming signal | +| `net_connections` | Zoom/Teams keeps multiple open sockets — video call signal | + +### Final Feature Vector Passed to XGBoost + +```python +[ + mean_cpu, # Statistical mean of CPU over 2 min window + max_cpu, # Peak CPU during window + cpu_variance, # Low variance = sustained load; high = bursty + mean_ram, # Mean memory usage % + ram_growth_rate, # RAM trending up → memory-intensive workload + mean_net_upload, # Video call = high upload + mean_net_download, # Streaming = high download + net_variance, # Low = steady call; high = burst downloads + mean_process_count, # Build systems spawn many processes + mean_thread_count, # Parallel compiler = many threads + top_proc_cpu_share, # 1 process at 90% = game; distributed = compile + foreground_app_category, # IDE=0, Browser=1, Game=2, Call=3, Terminal=4 + compiler_active, # 1 if gcc/make/cargo seen in top processes + vscode_active, # 1 if VSCode is foreground app +] +``` + +--- + +## 6. Additional Information + +### 6.1 Why Semi-Supervised (KMeans → XGBoost)? + +| Approach | Problem | +|----------|---------| +| Pure supervised | Needs labeled data — hard to collect at scale | +| CNN on heatmap | Needs GPU, hard to explain, overkill for tabular data | +| Pure KMeans | Cannot generalize to new unseen patterns at inference time | +| **KMeans → Pseudo-labels → XGBoost** | No GPU, fast inference, explainable, works on small data | + +### 6.2 Why XGBoost Over Other Classifiers? + +| Property | Why It Matters for FocusOS | +|----------|---------------------------| +| Tabular data performance | Features are statistical — XGBoost excels here | +| Small dataset | Works well with hundreds to thousands of samples | +| Fast inference | Less than 1ms prediction, critical for 30-second real-time cycle | +| No GPU required | Runs on any Linux machine in the CogniOS target environment | + +### 6.3 Integration with Other CogniOS Modules + +| Module | Integration Point | +|--------|------------------| +| **Telemetry Collector** | FocusOS reads from the shared SQLite telemetry database (Layers 1-3) | +| **OS Doctor** | OS Doctor flags CPU/Memory > 90% anomalies so FocusOS avoids misclassifying a runaway process as "compiling" | +| **BlackBox** | FocusOS writes its workload timeline to the events table; BlackBox uses this to reconstruct pre-crash workload context | +| **Dashboard** | FocusOS pushes workload, confidence, probabilities, actions, and LLM explanation via WebSocket to the React frontend | From 22608403fd76ba0d0b924ca5276bd92f34d2fa02 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Wed, 1 Jul 2026 17:57:40 +0530 Subject: [PATCH 04/39] added sliding window featuers files --- cognios_as_daemon.py | 2 +- cognios_telemetry.db | 0 focusos/sliding_window.py | 70 +++++++++++++++++++++++++++++++++++++++ test_db.py | 52 +++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 cognios_telemetry.db create mode 100644 focusos/sliding_window.py create mode 100644 test_db.py diff --git a/cognios_as_daemon.py b/cognios_as_daemon.py index 03d43a7..01d244a 100644 --- a/cognios_as_daemon.py +++ b/cognios_as_daemon.py @@ -1 +1 @@ -"""Daemon entry point for CogniOS.""" +"""Daemon entry point for CogniOS.""" \ No newline at end of file diff --git a/cognios_telemetry.db b/cognios_telemetry.db new file mode 100644 index 0000000..e69de29 diff --git a/focusos/sliding_window.py b/focusos/sliding_window.py new file mode 100644 index 0000000..7fab4fd --- /dev/null +++ b/focusos/sliding_window.py @@ -0,0 +1,70 @@ +import pandas as pd +import sqlite3 +import sys +import os + +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from config import DB_PATH + +#sliding window fetcing all the 120 rows +def extract_features(db_path=DB_PATH): + try: + with sqlite3.connect(db_path) as conn: + # Assuming 'table_name' will be replaced with actual table name later + query_all_columns = 'select * from layer1_sys order by timestamp desc limit 120' + df = pd.read_sql_query(query_all_columns, conn) + + if df.empty: + return None + + # reversing the index so that 0 is oldest and -1 is newest + df = df.iloc[::-1].reset_index(drop=True) + + # cpu + cpu_mean = df["cpu_usage_percent"].mean() + cpu_max = df["cpu_usage_percent"].max() + cpu_variance = df["cpu_usage_percent"].var() + + # mem feature engineering + ram_mean = df["memory_percent"].mean() + ram_growth_rate = (df["memory_percent"].iloc[-1] - df["memory_percent"].iloc[0]) if len(df) > 0 else 0 + + # network + net_mean = (df["net_bytes_sent"] + df["net_bytes_recv"]).mean() + disk_io_mean = (df["disk_write_mb_s"] + df["disk_read_mb_s"]).mean() + + # processes + process_count_mean = df["total_processes"].mean() + # 'thread_count' is not in layer1_sys + thread_count_mean = 0 + + # process lists -> flags if found-> 1 else 0 + # 'process_name' is not stored in layer1_sys (only process_data as JSON or similar if stored, but here not available) + vscode_active = 0 + browser_active = 0 + compiler_active = 0 + + features = { + "cpu_mean": cpu_mean, + "cpu_max": cpu_max, + "cpu_variance": cpu_variance, + "ram_mean": ram_mean, + "ram_growth_rate": ram_growth_rate, + "network_mean": net_mean, + "disk_io_mean": disk_io_mean, + "process_count_mean": process_count_mean, + "thread_count_mean": thread_count_mean, + "vscode_active": vscode_active, + "browser_active": browser_active, + "compiler_active": compiler_active, + } + features_df = pd.DataFrame([features]) + print(features_df) + return features_df + + except Exception as e: + print(f"Window Extraction Error: {e}") + return None + +if __name__ == "__main__": + extract_features() \ No newline at end of file diff --git a/test_db.py b/test_db.py new file mode 100644 index 0000000..d0eb67c --- /dev/null +++ b/test_db.py @@ -0,0 +1,52 @@ +import sqlite3 +from db import create_connection, write_layer1 +from collectors.layer1_system import collect_layer1_metrics +from config import DB_PATH +import os + +if os.path.exists(DB_PATH): + os.remove(DB_PATH) + +conn = create_connection(DB_PATH) +metrics = collect_layer1_metrics() + +try: + write_layer1( + conn, + metrics['timestamp'], + metrics['cpu_usage_percent'], + metrics['cpu_current_freq'], + metrics['cpu_user_time'], + metrics['cpu_system_time'], + metrics['cpu_idle_time'], + metrics['cpu_iowait_time'], + metrics['cpu_busy_time'], + metrics['cpu_ctx_switches'], + metrics['memory_percent'], + metrics['memory_used'], + metrics['memory_available'], + metrics['memory_cached'], + metrics['memory_buffers'], + metrics['swap_percent'], + metrics['swap_sin'], + metrics['swap_sout'], + metrics['disk_usage_percent'], + metrics['disk_read'], + metrics['disk_write'], + metrics['disk_read_time'], + metrics['disk_write_time'], + metrics['load_avg1'], + metrics['load_avg5'], + metrics['load_avg15'], + metrics['total_processes'], + metrics['running_processes'], + metrics['sleeping_processes'], + metrics['zombie_processes'], + metrics['avg_temp'], + metrics['max_temp'], + metrics['battery_percent'] + ) + print("Success!") +except Exception as e: + print("Error:", e) + From 2b3818b4a78731d362fff538b0d331d72ca60598 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Wed, 1 Jul 2026 17:59:50 +0530 Subject: [PATCH 05/39] Ignore all database files --- .gitignore | 1 + cognios_telemetry.db | 0 2 files changed, 1 insertion(+) delete mode 100644 cognios_telemetry.db diff --git a/.gitignore b/.gitignore index 210860c..b447239 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ data/traces/* !data/models/.gitkeep !data/traces/.gitkeep .DS_Store +*.db diff --git a/cognios_telemetry.db b/cognios_telemetry.db deleted file mode 100644 index e69de29..0000000 From b75d0a64069f67da2fb6ba49d9676580155bc3ef Mon Sep 17 00:00:00 2001 From: NikhByte Date: Wed, 1 Jul 2026 20:16:53 +0530 Subject: [PATCH 06/39] chore: clean up gitignore --- .gitignore | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b447239..9f59571 100644 --- a/.gitignore +++ b/.gitignore @@ -7,13 +7,20 @@ __pycache__/ .venv/ venv/ +# Environment & Config (IMPORTANT) +.env +config.ini + # Local data and generated artifacts -data/cognios.db +cognios_telemetry.db +*.db data/models/*.pt data/traces/* # Keep data directories present in git if marker files are added. -!data/models/.gitkeep !data/traces/.gitkeep + +# OS / IDE .DS_Store -*.db +.vscode/ +.idea/ From e79e7ae30dbd4f5fe761d36e67675440d264bb36 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Thu, 2 Jul 2026 11:53:23 +0530 Subject: [PATCH 07/39] added sliding window and feature engineering file --- focusos/feature_engineer.py | 71 +++++++++++++++++++++++++++++ focusos/sliding_window.py | 89 ++++++++++++------------------------- 2 files changed, 100 insertions(+), 60 deletions(-) create mode 100644 focusos/feature_engineer.py diff --git a/focusos/feature_engineer.py b/focusos/feature_engineer.py new file mode 100644 index 0000000..88c5365 --- /dev/null +++ b/focusos/feature_engineer.py @@ -0,0 +1,71 @@ +import pandas as pd +import sys +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from config import DB_PATH + +# Import the stateless database window function +from focusos.sliding_window import get_window_from_db + +# sliding window fetching all the 120 rows via the sliding_window module +def extract_features(df: pd.DataFrame): + try: + if df is None or df.empty: + return None + + # reversing the index so that 0 is oldest and -1 is newest + df = df.iloc[::-1].reset_index(drop=True) + + # cpu + cpu_mean = df["cpu_usage_percent"].mean() + cpu_max = df["cpu_usage_percent"].max() + cpu_variance = df["cpu_usage_percent"].var() + + # mem feature engineering + ram_mean = df["memory_percent"].mean() + ram_growth_rate = (df["memory_percent"].iloc[-1] - df["memory_percent"].iloc[0]) if len(df) > 0 else 0 + + # network + net_mean = (df["net_bytes_sent"] + df["net_bytes_recv"]).mean() + disk_io_mean = (df["disk_write_mb_s"] + df["disk_read_mb_s"]).mean() + + # processes + process_count_mean = df["total_processes"].mean() + # 'thread_count' is not in layer1_sys + thread_count_mean = 0 + # We use fillna('') so .str doesn't crash on missing process names + process_col = df["process_data"].fillna("").str.lower() + + vscode_active = int(process_col.str.contains("code|code-insiders|vsls-agent|antigravity|sublime", regex=True).any()) + browser_active = int(process_col.str.contains("chrome|firefox|brave|msedge", regex=True).any()) + compiler_active = int(process_col.str.contains("gcc|g\\+\\+|clang|rustc|javac|make", regex=True).any()) + + features = { + "cpu_mean": cpu_mean, + "cpu_max": cpu_max, + "cpu_variance": cpu_variance, + "ram_mean": ram_mean, + "ram_growth_rate": ram_growth_rate, + "network_mean": net_mean, + "disk_io_mean": disk_io_mean, + "process_count_mean": process_count_mean, + "thread_count_mean": thread_count_mean, + "vscode_active": vscode_active, + "browser_active": browser_active, + "compiler_active": compiler_active, + } + features_df = pd.DataFrame([features]) + print(features_df) + return features_df + + except Exception as e: + print(f"Window Extraction Error: {e}") + return None + +if __name__ == "__main__": + print("Fetching window from database...") + df = get_window_from_db() + if df is not None: + extract_features(df) + else: + print("Not enough data or database empty.") \ No newline at end of file diff --git a/focusos/sliding_window.py b/focusos/sliding_window.py index 7fab4fd..9c530e0 100644 --- a/focusos/sliding_window.py +++ b/focusos/sliding_window.py @@ -1,70 +1,39 @@ -import pandas as pd -import sqlite3 -import sys import os - +import sys +import sqlite3 +import pandas as pd +from collections import deque sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from config import DB_PATH +from config import SLIDING_WIND_N +# class SlidingWindowBuffer: +# def __init__(self, maxlen: int = SLIDING_WIND_N): +# # it initialises the deque with a maxlen=SLIDING_WIND_N +# self.buffer = deque(maxlen=maxlen) + +# def add(self, snapshot: dict) -> None: +# # this checks the deque if full then drops the oldest adds newest +# self.buffer.append(snapshot) + +# def is_ready(self) -> bool: +# # keeps check if maxlen is achieved or not +# return len(self.buffer) == self.buffer.maxlen -#sliding window fetcing all the 120 rows -def extract_features(db_path=DB_PATH): +# def get_window(self) -> list[dict]: +# # Returns a copy of the current buffer as a standard Python list. +# return list(self.buffer) +def get_window_from_db(db_path=DB_PATH, limit=SLIDING_WIND_N): try: with sqlite3.connect(db_path) as conn: - # Assuming 'table_name' will be replaced with actual table name later - query_all_columns = 'select * from layer1_sys order by timestamp desc limit 120' - df = pd.read_sql_query(query_all_columns, conn) + # it will fetch last nth rows n=limit from the db + query = f"select * from layer1_sys order by timestamp desc limit {limit}" + df = pd.read_sql(query, conn) + if df.empty: + return None - if df.empty: - return None - - # reversing the index so that 0 is oldest and -1 is newest - df = df.iloc[::-1].reset_index(drop=True) - - # cpu - cpu_mean = df["cpu_usage_percent"].mean() - cpu_max = df["cpu_usage_percent"].max() - cpu_variance = df["cpu_usage_percent"].var() - - # mem feature engineering - ram_mean = df["memory_percent"].mean() - ram_growth_rate = (df["memory_percent"].iloc[-1] - df["memory_percent"].iloc[0]) if len(df) > 0 else 0 - - # network - net_mean = (df["net_bytes_sent"] + df["net_bytes_recv"]).mean() - disk_io_mean = (df["disk_write_mb_s"] + df["disk_read_mb_s"]).mean() - - # processes - process_count_mean = df["total_processes"].mean() - # 'thread_count' is not in layer1_sys - thread_count_mean = 0 - - # process lists -> flags if found-> 1 else 0 - # 'process_name' is not stored in layer1_sys (only process_data as JSON or similar if stored, but here not available) - vscode_active = 0 - browser_active = 0 - compiler_active = 0 - - features = { - "cpu_mean": cpu_mean, - "cpu_max": cpu_max, - "cpu_variance": cpu_variance, - "ram_mean": ram_mean, - "ram_growth_rate": ram_growth_rate, - "network_mean": net_mean, - "disk_io_mean": disk_io_mean, - "process_count_mean": process_count_mean, - "thread_count_mean": thread_count_mean, - "vscode_active": vscode_active, - "browser_active": browser_active, - "compiler_active": compiler_active, - } - features_df = pd.DataFrame([features]) - print(features_df) - return features_df - + # Reverses the dataframe so the oldest data is first, newest is last + df = df[::-1].reset_index(drop=True) + return df except Exception as e: print(f"Window Extraction Error: {e}") return None - -if __name__ == "__main__": - extract_features() \ No newline at end of file From d7940cdd96e28704bea2f05f2c1533c0eea0007d Mon Sep 17 00:00:00 2001 From: NikhByte Date: Thu, 2 Jul 2026 12:04:10 +0530 Subject: [PATCH 08/39] cleanup: remove test_db.py and update daemon logic --- cognios_as_daemon.py | 79 ++++++++++++++++++++++++++++++++++++++++++++ config.py | 3 +- db.py | 20 ++++++++--- main.py | 28 ++++++++++++++++ test_db.py | 52 ----------------------------- 5 files changed, 124 insertions(+), 58 deletions(-) delete mode 100644 test_db.py diff --git a/cognios_as_daemon.py b/cognios_as_daemon.py index 03d43a7..cbf2700 100644 --- a/cognios_as_daemon.py +++ b/cognios_as_daemon.py @@ -1 +1,80 @@ """Daemon entry point for CogniOS.""" +import time +import json +import logging +from db import create_connection, write_layer1 +from collectors.layer1_system import collect_layer1_metrics +from config import DB_PATH + +# Set up basic logging +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + +def run_daemon(): + logging.info(f"Starting CogniOS Daemon. Saving metrics to '{DB_PATH}' every 1 second.") + + # Initialize database connection + conn = create_connection(DB_PATH) + + try: + while True: + try: + metrics = collect_layer1_metrics() + + write_layer1( + conn, + metrics['timestamp'], + metrics['cpu_usage_percent'], + metrics['cpu_current_freq'], + metrics['cpu_user_time'], + metrics['cpu_system_time'], + metrics['cpu_idle_time'], + metrics['cpu_iowait_time'], + metrics['cpu_busy_time'], + metrics['cpu_ctx_switches'], + metrics['memory_percent'], + metrics['memory_used'], + metrics['memory_available'], + metrics['memory_cached'], + metrics['memory_buffers'], + metrics['swap_percent'], + metrics['swap_sin'], + metrics['swap_sout'], + metrics['disk_usage_percent'], + metrics['disk_read'], + metrics['disk_write'], + metrics['disk_read_time'], + metrics['disk_write_time'], + metrics['load_avg1'], + metrics['load_avg5'], + metrics['load_avg15'], + metrics['total_processes'], + metrics['running_processes'], + metrics['sleeping_processes'], + metrics['zombie_processes'], + metrics['avg_temp'], + metrics['max_temp'], + metrics['battery_percent'], + metrics['net_rate_mb_s'], + metrics['net_bytes_sent'], + metrics['net_bytes_received'], + metrics['net_packets_sent'], + metrics['net_packets_received'], + metrics['net_errs'], + metrics['net_drops'], + json.dumps(metrics['process_data']) + ) + logging.info(f"Successfully saved metrics for timestamp: {metrics['timestamp']}") + + except Exception as e: + logging.error(f"Error collecting or writing metrics: {e}") + + # Wait for 1 second before the next collection + time.sleep(1) + + except KeyboardInterrupt: + logging.info("Stopping CogniOS Daemon. Shutting down gracefully...") + finally: + conn.close() + +if __name__ == "__main__": + run_daemon() diff --git a/config.py b/config.py index c4c8d21..2674350 100644 --- a/config.py +++ b/config.py @@ -1 +1,2 @@ -DB_PATH = "cognios_telemetry.db" \ No newline at end of file +DB_PATH = "cognios_telemetry.db" +SLIDING_WIND_N = 120 diff --git a/db.py b/db.py index e6c392a..1f3fbf3 100644 --- a/db.py +++ b/db.py @@ -103,7 +103,8 @@ def create_connection(db_path): --Hardware Metrics avg_temp REAL, max_temp REAL, - battery_percent REAL + battery_percent REAL, + process_data TEXT ) ''') @@ -112,11 +113,11 @@ def create_connection(db_path): # Function to write the collected metrics into the database -def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent): +def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, process_data): cursor = conn.cursor() cursor.execute(''' - INSERT INTO layer1_sys (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + INSERT INTO layer1_sys (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, process_data) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ''', (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, @@ -138,6 +139,13 @@ def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cp disk_write_mb_s, disk_read_time, disk_write_time, + net_rate_mb_s, + net_bytes_sent, + net_bytes_recv, + net_packets_sent, + net_packets_recv, + net_errs, + net_drops, load_avg_1, load_avg_5, load_avg_15, @@ -147,4 +155,6 @@ def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cp zombie_processes, avg_temp, max_temp, - battery_percent)) + battery_percent, + process_data)) + conn.commit() diff --git a/main.py b/main.py index 6e2b21e..fcb68db 100644 --- a/main.py +++ b/main.py @@ -1 +1,29 @@ """Single startup script for CogniOS.""" +import subprocess +import sys + +print("Starting CogniOS System...") + +# Start the Telemetry Daemon in the background +# Output is routed to telemetry_daemon.log +telemetry_log = open('telemetry_daemon.log', 'w') +telemetry_process = subprocess.Popen( + [sys.executable, "cognios_as_daemon.py"], + stdout=telemetry_log, + stderr=telemetry_log +) +print(f"Telemetry Daemon started! (PID: {telemetry_process.pid})") +print("To view the live logs anytime, run: tail -f telemetry_daemon.log") +print("To stop the daemon, run: pkill -f cognios_as_daemon.py") +# Start the FocusOS Daemon in the background +# Output is routed to focusos.log +# focusos_log = open('focusos.log', 'w') +# focusos_process = subprocess.Popen( +# [sys.executable, "focusos_daemon.py"], +# stdout=focusos_log, +# stderr=focusos_log +#) +#print(f"FocusOS Daemon started! (PID: {focusos_process.pid})") + +#print("\nAll CogniOS modules are now running silently in the background!") +print("Your terminal is free to use.") diff --git a/test_db.py b/test_db.py deleted file mode 100644 index d0eb67c..0000000 --- a/test_db.py +++ /dev/null @@ -1,52 +0,0 @@ -import sqlite3 -from db import create_connection, write_layer1 -from collectors.layer1_system import collect_layer1_metrics -from config import DB_PATH -import os - -if os.path.exists(DB_PATH): - os.remove(DB_PATH) - -conn = create_connection(DB_PATH) -metrics = collect_layer1_metrics() - -try: - write_layer1( - conn, - metrics['timestamp'], - metrics['cpu_usage_percent'], - metrics['cpu_current_freq'], - metrics['cpu_user_time'], - metrics['cpu_system_time'], - metrics['cpu_idle_time'], - metrics['cpu_iowait_time'], - metrics['cpu_busy_time'], - metrics['cpu_ctx_switches'], - metrics['memory_percent'], - metrics['memory_used'], - metrics['memory_available'], - metrics['memory_cached'], - metrics['memory_buffers'], - metrics['swap_percent'], - metrics['swap_sin'], - metrics['swap_sout'], - metrics['disk_usage_percent'], - metrics['disk_read'], - metrics['disk_write'], - metrics['disk_read_time'], - metrics['disk_write_time'], - metrics['load_avg1'], - metrics['load_avg5'], - metrics['load_avg15'], - metrics['total_processes'], - metrics['running_processes'], - metrics['sleeping_processes'], - metrics['zombie_processes'], - metrics['avg_temp'], - metrics['max_temp'], - metrics['battery_percent'] - ) - print("Success!") -except Exception as e: - print("Error:", e) - From da5f96e8bab28cf00f01b3777e045f3d16e1a895 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 3 Jul 2026 23:33:31 +0530 Subject: [PATCH 09/39] refactor(metrics): fix thread count collection and update db schema --- cognios_as_daemon.py | 3 ++- collectors/layer1_system.py | 11 +++++++++-- db.py | 10 ++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/cognios_as_daemon.py b/cognios_as_daemon.py index cbf2700..4e68d68 100644 --- a/cognios_as_daemon.py +++ b/cognios_as_daemon.py @@ -61,7 +61,8 @@ def run_daemon(): metrics['net_packets_received'], metrics['net_errs'], metrics['net_drops'], - json.dumps(metrics['process_data']) + json.dumps(metrics['process_data']), + json.dumps(metrics['num_threads']) ) logging.info(f"Successfully saved metrics for timestamp: {metrics['timestamp']}") diff --git a/collectors/layer1_system.py b/collectors/layer1_system.py index 8086307..a4592e3 100644 --- a/collectors/layer1_system.py +++ b/collectors/layer1_system.py @@ -1,3 +1,5 @@ +import enum +import enum import psutil import time from datetime import datetime,timezone @@ -31,16 +33,19 @@ def collect_layer1_metrics(): pass time.sleep(0.1) process_data = [] + num_threads=[] for pid, p in procs.items(): try: cpu = round(p.cpu_percent(), 2) mem = round(p.info.get("memory_percent") or 0.0, 2) if cpu > 0.5 or mem > 0.5: process_data.append((p.info.get("name"), cpu, mem)) + num_threads.append(p.num_threads()) except (psutil.NoSuchProcess, psutil.AccessDenied): pass except Exception: process_data = [] + num_threads= [] # CPU Metrics cpu_usage_percent = psutil.cpu_percent(interval=None) cpu_times = psutil.cpu_times() @@ -213,7 +218,8 @@ def collect_layer1_metrics(): "avg_temp":temp_avg, "max_temp":temp_max, "battery_percent":battery_percent, - "process_data":process_data + "process_data":process_data, + "num_threads":num_threads } if __name__ == "__main__": @@ -269,7 +275,8 @@ def collect_layer1_metrics(): metrics['net_packets_received'], metrics['net_errs'], metrics['net_drops'], - json.dumps(metrics['process_data']) + json.dumps(metrics['process_data']), + json.dumps(metrics["num_threads"]) ) print(f"Successfully saved Layer 1 metrics to database table 'layer1_sys' in {DB_PATH}!") except Exception as e: diff --git a/db.py b/db.py index 1f3fbf3..f68e95f 100644 --- a/db.py +++ b/db.py @@ -104,7 +104,8 @@ def create_connection(db_path): avg_temp REAL, max_temp REAL, battery_percent REAL, - process_data TEXT + process_data TEXT, + num_threads INTEGER ) ''') @@ -113,11 +114,11 @@ def create_connection(db_path): # Function to write the collected metrics into the database -def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, process_data): +def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, process_data,num_threads): cursor = conn.cursor() cursor.execute(''' INSERT INTO layer1_sys (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, process_data) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?) ''', (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, @@ -156,5 +157,6 @@ def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cp avg_temp, max_temp, battery_percent, - process_data)) + process_data, + num_threads)) conn.commit() From 119c0758c275f6847c856a91b94f2dff222618ae Mon Sep 17 00:00:00 2001 From: lalitgirgaonkar Date: Sat, 4 Jul 2026 17:32:02 +0530 Subject: [PATCH 10/39] Added collector file --- focusos/collector.py | 90 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 focusos/collector.py diff --git a/focusos/collector.py b/focusos/collector.py new file mode 100644 index 0000000..25ece65 --- /dev/null +++ b/focusos/collector.py @@ -0,0 +1,90 @@ +import collectors.layer1_system as layer1_system +import collectors.layer2_process as layer2_process +from utils import helpers +import db +import sqlite3 +import subprocess + +DB_PATH = "cognios_telemetry.db" +conn = db.create_connection(DB_PATH) + +#collects relevant telemetry data from layer 1 table and returns it as a dictionary +def collect_snapshot(conn): + conn.row_factory = sqlite3.Row + cursor = conn.cursor() + + cursor.execute("SELECT timestamp, cpu_usage_percent, memory_percent, net_rate_mb_s, total_processes FROM layer1_sys ORDER BY timestamp DESC LIMIT 1") + row = cursor.fetchone() + + result_dict = {} + if row is not None: + result_dict = dict(row) + return result_dict + + +#returns the active window name in lowercase, example: 'firefox' +def get_foreground_app(): + try: + window_id = subprocess.check_output(["xdotool", "getactivewindow"]).decode().strip() + temp_window = subprocess.check_output(["xdotool", "getwindowname", window_id]) + window = temp_window.decode("utf-8").strip().lower() + if " - " in window: + window = window.split(" - ")[-1] + return window + except subprocess.CalledProcessError: + window = "unknown" + return window + + +#returns 2 list[dict], one for top cpu and one for top memory +def get_top_processes(n = 5): + top_cpu, top_mem, _ = layer2_process.collect_process_telemetry() + + top_cpu_filtered = [] + top_mem_filtered = [] + + cpu_keys = ['pid', 'name', 'cpu_percent', 'thread_count', 'status'] + mem_keys = ['pid', 'name', 'memory_percent', 'thread_count', 'status'] + + top_cpu_filtered = [{key: d[key] for key in cpu_keys if key in d} for d in top_cpu] + top_mem_filtered = [{key: d[key] for key in mem_keys if key in d} for d in top_mem] + + return top_cpu_filtered, top_mem_filtered + + +#layer 1 must also be run as a daemon to get all outputs +if __name__ == "__main__": + + import asyncio + async def collector_test(): + print("Testing collector as sandbox\nPress Ctrl + C to finish test run\n") + count = 0 + try: + while True: + start_time = asyncio.get_event_loop().time() + count+=1 + + snapshot = collect_snapshot(conn) + print(snapshot) + foreground_app = get_foreground_app() + print(foreground_app) + + if count%5 == 0: + top_cpu, top_mem = get_top_processes(n = 5) + print(top_cpu) + print(top_mem) + + print("_"*30) + execution_time = asyncio.get_event_loop().time() - start_time + sleep_time = max(0, 1.0 - execution_time) + await asyncio.sleep(sleep_time) + except asyncio.CancelledError: + print("Task cancelled") + finally: + conn.close() + print("Finished execution") + + try: + asyncio.run(collector_test()) + except KeyboardInterrupt: + print("Finished collector test run") \ No newline at end of file From 11d9aeab7d79a946d7aeaac41c5574742474812a Mon Sep 17 00:00:00 2001 From: cherry-aggarwal Date: Sun, 5 Jul 2026 22:33:05 +0530 Subject: [PATCH 11/39] set up pull request template and codeowners --- .github/CODEOWNERS | 3 + .github/PULL_REQUEST_TEMPLATE.md | 96 ++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e69de29..3dc347e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -0,0 +1,3 @@ +# Global owners +* @cherry-aggarwal @Brijesh-Thakkar @coderTanisha22 + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e69de29..6515727 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,96 @@ +# Pull Request + +## Related Issue + +Closes # + +--- + +## Summary + +Provide a brief description of the changes made in this Pull Request. + +Example: + +* Implemented process telemetry collection +* Updated module documentation + +--- + +## Type of Change + +**Instructions:** Mark the applicable option(s) by replacing the space inside the brackets with an **`x`**. + +Example: + +```text +- [x] New feature +- [ ] Bug fix +``` + +Select all that apply: + +* [ ] New feature +* [ ] Bug fix +* [ ] Documentation update +* [ ] Refactoring +* [ ] Performance improvement +* [ ] Test addition +* [ ] Other (please specify) + +--- + +## Changes Made + +Describe the main changes introduced by this PR. + +* +* +* + +--- + +## Testing + +Describe how you tested your changes. + +* [ ] Project builds successfully +* [ ] Existing functionality verified +* [ ] New functionality tested +* [ ] Tests added/updated (if applicable) + +Additional testing details: + +--- + +## Documentation + +* [ ] Documentation updated +* [ ] No documentation changes required + +If updated, specify the affected documentation: + +--- + +## Checklist + +Before requesting a review, confirm the following: + +* [ ] My code follows the project's coding standards. +* [ ] I have reviewed my own code. +* [ ] I have updated relevant documentation. +* [ ] My changes do not introduce unnecessary files or dependencies. +* [ ] The project builds successfully. +* [ ] This Pull Request addresses a single feature or bug. + +--- + +## Screenshots / Logs (if applicable) + +Attach screenshots, terminal output, or logs that help demonstrate your changes. + +--- + +## Additional Notes + +Include any information reviewers should know before reviewing this Pull Request. From eece2567f3df06eb5f43c5fe1943163677b65ceb Mon Sep 17 00:00:00 2001 From: Lalit Girgaonkar Date: Tue, 7 Jul 2026 11:13:03 +0530 Subject: [PATCH 12/39] Updated collect_snapshot function --- focusos/collector.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/focusos/collector.py b/focusos/collector.py index 25ece65..c3677cb 100644 --- a/focusos/collector.py +++ b/focusos/collector.py @@ -4,6 +4,7 @@ import db import sqlite3 import subprocess +import json DB_PATH = "cognios_telemetry.db" conn = db.create_connection(DB_PATH) @@ -13,12 +14,32 @@ def collect_snapshot(conn): conn.row_factory = sqlite3.Row cursor = conn.cursor() - cursor.execute("SELECT timestamp, cpu_usage_percent, memory_percent, net_rate_mb_s, total_processes FROM layer1_sys ORDER BY timestamp DESC LIMIT 1") + cursor.execute("SELECT timestamp, cpu_usage_percent, memory_percent, net_rate_mb_s, total_processes, process_data, num_threads FROM layer1_sys ORDER BY timestamp DESC LIMIT 1") row = cursor.fetchone() - result_dict = {} if row is not None: result_dict = dict(row) + + # 1. Safely decode the JSON string from SQLite into a Python list + if result_dict.get('process_data'): + try: + processes = json.loads(result_dict['process_data']) + + #Sorting the list and retaining top 5 entries + result_dict['process_data'] = sorted(processes, key=lambda x: x['cpu'], reverse=True)[:5] + except (json.JSONDecodeError, TypeError): + result_dict['process_data'] = [] + else: + result_dict['process_data'] = [] + + if result_dict.get('num_threads'): + try: + result_dict['num_threads'] = json.loads(result_dict['num_threads']) + except (json.JSONDecodeError, TypeError): + result_dict['num_threads'] = [] + else: + result_dict['num_threads'] = [] + return result_dict @@ -69,10 +90,10 @@ async def collector_test(): foreground_app = get_foreground_app() print(foreground_app) - if count%5 == 0: + """if count%5 == 0: top_cpu, top_mem = get_top_processes(n = 5) print(top_cpu) - print(top_mem) + print(top_mem)""" print("_"*30) execution_time = asyncio.get_event_loop().time() - start_time From c85119598cb0f87be4287b7222f76ef8e57c1e08 Mon Sep 17 00:00:00 2001 From: Lalit Girgaonkar Date: Tue, 7 Jul 2026 22:00:12 +0530 Subject: [PATCH 13/39] Updated readme with module diagram --- focusos/readme.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/focusos/readme.md b/focusos/readme.md index 1238e8b..1b7705a 100644 --- a/focusos/readme.md +++ b/focusos/readme.md @@ -12,6 +12,7 @@ 4. [Function Definitions](#4-function-definitions) 5. [Useful Telemetry Data](#5-useful-telemetry-data) 6. [Additional Information](#6-additional-information) +7. [Module Diagram](#7-module-diagram) --- @@ -477,3 +478,59 @@ FocusOS reads from the shared CogniOS Telemetry Collector. Below are the signals | **BlackBox** | FocusOS writes its workload timeline to the events table; BlackBox uses this to reconstruct pre-crash workload context | | **Dashboard** | FocusOS pushes workload, confidence, probabilities, actions, and LLM explanation via WebSocket to the React frontend | +### 7. Module Diagram +```mermaid +graph TD + subgraph Phase1["Phase 1: Telemetry Collection"] + A1["psutil (CPU, RAM, Disk, Net)"] --> B1["Telemetry Collector Daemon"] + A2["/proc filesystem (Process/thread stats)"] --> B1 + A3["Window Manager APIs (xprop / xdotool / compositor)"] --> B1 + B1 -->|Sample every 1 sec| C1["Raw Metrics Buffer"] + end + + subgraph Phase2["Phase 2: Sliding Window Generator"] + C1 --> D1["120-Second FIFO Queue"] + D1 --> E1["Matrix Representation (120 x Feature_Count)"] + end + + subgraph Phase3["Phase 3: Feature Engineering"] + E1 --> F1["Compute Statistical Metrics"] + F1 --> G1["CPU Stats (Mean, Max, Variance)"] + F1 --> G2["RAM Stats (Mean, Growth Rate)"] + F1 --> G3["Network Stats (Mean Up/Down, Variance)"] + F1 --> G4["Process Stats (Count, Threads, Top Share)"] + F1 --> G5["Context Stats (One-Hot Encoded Categories)"] + G1 & G2 & G3 & G4 & G5 --> H1["Final Feature Vector"] + end + + subgraph Phase4["Phase 4: Unsupervised Clustering"] + H1 -->|Batch Historical Data| I1["KMeans Clustering (k=5)"] + I1 --> J1["Discover 5 Resource Profiles"] + J1 --> K1["Analyze Profile Rules (e.g. High Net + Zoom)"] + K1 --> L1["Apply Human Pseudo-Labels (Coding, Compiling, etc.)"] + end + + subgraph Phase5["Phase 5: Supervised Classification"] + L1 --> M1["Labeled Tabular Dataset"] + M1 --> N1["Train XGBoost Classifier"] + H1 -->|Live Vector Every 30 sec| O1["XGBoost Real-Time Inference"] + N1 --> O1 + O1 --> P1{"Confidence > 80%?"} + end + + subgraph Phase6["Phase 6: Optimization"] + P1 -->|Yes| Q1["Identify Target Process"] + P1 -->|No| Q2["Maintain Current State"] + Q1 --> R1["Apply nice() / renice priority"] + Q1 --> R2["Configure sched_setaffinity() (CPU core separation)"] + end + + subgraph Phase7["Phase 7: Explanation & UI"] + O1 --> S1["Extract XGBoost Feature Importances"] + S1 --> T1["Build Context JSON Payload"] + T1 --> U1["Query Local LLM Explanation Layer"] + U1 --> V1["Generate Natural Language Explanation"] + V1 --> W1["Streamlit Dashboard Display"] + R1 --> W1 + R2 --> W1 + end``` \ No newline at end of file From 9bfcca194395d01df2f7ec51b89356e308e5a524 Mon Sep 17 00:00:00 2001 From: Lalit Girgaonkar Date: Wed, 8 Jul 2026 00:12:30 +0530 Subject: [PATCH 14/39] Update documentation in readme.md --- focusos/readme.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/focusos/readme.md b/focusos/readme.md index 1b7705a..48ecaad 100644 --- a/focusos/readme.md +++ b/focusos/readme.md @@ -13,6 +13,7 @@ 5. [Useful Telemetry Data](#5-useful-telemetry-data) 6. [Additional Information](#6-additional-information) 7. [Module Diagram](#7-module-diagram) +8. [Limitations](#8-limitations) --- @@ -533,4 +534,14 @@ graph TD V1 --> W1["Streamlit Dashboard Display"] R1 --> W1 R2 --> W1 - end``` \ No newline at end of file + end +``` + +### 8. Limitations + +| Limitation | Description | +|------------|------------| +| **Optimisation Delay** | FocusOS relies on a 120 sample buffer to represent the last 2 minutes performance as a single feature vector. The module may not be able to apply optimisations for the the first 120 seconds after the dameon starts. | +| **Rigidity with Labels** | The pseudo labelling structure maps the system state from cluster numbers to definite workload categories. In case of complex or mixed workflows, system metrics may not fit one particular category, which may get misclassified or classified as “unknown”. | +| **Threshold for Optimisation** | If the confidence for a particular workload category is more than 80%, the optimisation layer is deployed. In case of a mixed workload, such as 55% compiling and 35% coding, the threshold will not be met, and the optimisation layer will be skipped. | +| **Dependence on OS Doctor for Anomaly Detection** | FocusOS is not able to distinguish between heavy workload and a broken application that is monopolising a core. If OS Doctor is unable to detect the anomaly, FocusOS may incorrectly prioritise this rogue application with system hardware. | \ No newline at end of file From 609febd7190515a1b666a6490739f5590667b6ab Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 10 Jul 2026 21:26:58 +0530 Subject: [PATCH 15/39] fix: minor fixes in import resolves --- db.py | 8 +- focusos/collector.py | 4 + telemetry_daemon.log | 370 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 381 insertions(+), 1 deletion(-) create mode 100644 telemetry_daemon.log diff --git a/db.py b/db.py index f68e95f..79a5bf2 100644 --- a/db.py +++ b/db.py @@ -109,6 +109,12 @@ def create_connection(db_path): ) ''') + # Ensure num_threads column exists for older database instances + cursor.execute("PRAGMA table_info(layer1_sys)") + columns = [row[1] for row in cursor.fetchall()] + if 'num_threads' not in columns: + cursor.execute("ALTER TABLE layer1_sys ADD COLUMN num_threads INTEGER") + conn.commit() return conn @@ -117,7 +123,7 @@ def create_connection(db_path): def write_layer1(conn, timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, process_data,num_threads): cursor = conn.cursor() cursor.execute(''' - INSERT INTO layer1_sys (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, process_data) + INSERT INTO layer1_sys (timestamp, cpu_usage_percent, cpu_freq, cpu_user_time, cpu_system_time, cpu_idle_time, cpu_iowait_time, cpu_busy_time, cpu_ctx_switches, memory_percent, memory_used, memory_available, memory_cached, memory_buffers, swap_percent, swap_sin, swap_sout, disk_usage_percent, disk_read_mb_s, disk_write_mb_s, disk_read_time, disk_write_time, net_rate_mb_s, net_bytes_sent, net_bytes_recv, net_packets_sent, net_packets_recv, net_errs, net_drops, load_avg_1, load_avg_5, load_avg_15, total_processes, running_processes, sleeping_processes, zombie_processes, avg_temp, max_temp, battery_percent, process_data, num_threads) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?) ''', (timestamp, cpu_usage_percent, diff --git a/focusos/collector.py b/focusos/collector.py index c3677cb..c64af60 100644 --- a/focusos/collector.py +++ b/focusos/collector.py @@ -1,3 +1,7 @@ +import sys +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import collectors.layer1_system as layer1_system import collectors.layer2_process as layer2_process from utils import helpers diff --git a/telemetry_daemon.log b/telemetry_daemon.log new file mode 100644 index 0000000..48e0b65 --- /dev/null +++ b/telemetry_daemon.log @@ -0,0 +1,370 @@ +2026-07-10 21:15:51,985 - INFO - Starting CogniOS Daemon. Saving metrics to 'cognios_telemetry.db' every 1 second. +2026-07-10 21:15:52,210 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:51.986269+00:00 +2026-07-10 21:15:53,467 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:53.211139+00:00 +2026-07-10 21:15:54,734 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:54.467925+00:00 +2026-07-10 21:15:55,985 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:55.734385+00:00 +2026-07-10 21:15:57,256 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:56.986033+00:00 +2026-07-10 21:15:58,525 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:58.256736+00:00 +2026-07-10 21:15:59,798 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:45:59.525899+00:00 +2026-07-10 21:16:01,067 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:00.798561+00:00 +2026-07-10 21:16:02,327 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:02.067647+00:00 +2026-07-10 21:16:03,633 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:03.327908+00:00 +2026-07-10 21:16:04,887 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:04.633296+00:00 +2026-07-10 21:16:06,170 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:05.888062+00:00 +2026-07-10 21:16:07,424 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:07.170636+00:00 +2026-07-10 21:16:08,672 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:08.424896+00:00 +2026-07-10 21:16:09,919 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:09.673142+00:00 +2026-07-10 21:16:11,203 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:10.920119+00:00 +2026-07-10 21:16:12,449 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:12.203263+00:00 +2026-07-10 21:16:13,700 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:13.449281+00:00 +2026-07-10 21:16:14,951 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:14.700697+00:00 +2026-07-10 21:16:16,219 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:15.952074+00:00 +2026-07-10 21:16:17,481 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:17.220070+00:00 +2026-07-10 21:16:18,755 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:18.481916+00:00 +2026-07-10 21:16:19,994 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:19.756086+00:00 +2026-07-10 21:16:21,249 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:20.994280+00:00 +2026-07-10 21:16:22,526 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:22.249952+00:00 +2026-07-10 21:16:23,796 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:23.526867+00:00 +2026-07-10 21:16:25,060 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:24.796327+00:00 +2026-07-10 21:16:26,333 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:26.060977+00:00 +2026-07-10 21:16:27,604 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:27.333477+00:00 +2026-07-10 21:16:28,875 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:28.604269+00:00 +2026-07-10 21:16:30,149 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:29.875674+00:00 +2026-07-10 21:16:31,462 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:31.150138+00:00 +2026-07-10 21:16:32,715 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:32.462596+00:00 +2026-07-10 21:16:33,977 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:33.715607+00:00 +2026-07-10 21:16:35,286 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:34.978477+00:00 +2026-07-10 21:16:36,593 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:36.286974+00:00 +2026-07-10 21:16:37,860 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:37.594369+00:00 +2026-07-10 21:16:39,155 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:38.860712+00:00 +2026-07-10 21:16:40,392 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:40.155286+00:00 +2026-07-10 21:16:41,654 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:41.393004+00:00 +2026-07-10 21:16:42,950 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:42.655286+00:00 +2026-07-10 21:16:44,208 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:43.950780+00:00 +2026-07-10 21:16:45,477 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:45.208762+00:00 +2026-07-10 21:16:46,785 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:46.478427+00:00 +2026-07-10 21:16:48,091 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:47.785686+00:00 +2026-07-10 21:16:49,339 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:49.091465+00:00 +2026-07-10 21:16:50,653 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:50.339691+00:00 +2026-07-10 21:16:51,959 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:51.654782+00:00 +2026-07-10 21:16:53,271 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:52.960554+00:00 +2026-07-10 21:16:54,537 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:54.271228+00:00 +2026-07-10 21:16:55,802 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:55.537797+00:00 +2026-07-10 21:16:57,074 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:56.802350+00:00 +2026-07-10 21:16:58,341 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:58.075097+00:00 +2026-07-10 21:16:59,650 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:46:59.341298+00:00 +2026-07-10 21:17:00,958 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:00.651536+00:00 +2026-07-10 21:17:02,267 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:01.959319+00:00 +2026-07-10 21:17:03,574 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:03.268527+00:00 +2026-07-10 21:17:04,841 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:04.574318+00:00 +2026-07-10 21:17:06,144 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:05.841685+00:00 +2026-07-10 21:17:07,412 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:07.145169+00:00 +2026-07-10 21:17:08,660 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:08.413100+00:00 +2026-07-10 21:17:09,962 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:09.660784+00:00 +2026-07-10 21:17:11,258 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:10.962473+00:00 +2026-07-10 21:17:12,532 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:12.259092+00:00 +2026-07-10 21:17:13,785 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:13.532453+00:00 +2026-07-10 21:17:15,059 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:14.785753+00:00 +2026-07-10 21:17:16,322 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:16.059966+00:00 +2026-07-10 21:17:17,631 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:17.322574+00:00 +2026-07-10 21:17:18,932 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:18.631761+00:00 +2026-07-10 21:17:20,202 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:19.932636+00:00 +2026-07-10 21:17:21,466 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:21.203530+00:00 +2026-07-10 21:17:22,735 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:22.466803+00:00 +2026-07-10 21:17:24,010 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:23.735311+00:00 +2026-07-10 21:17:25,267 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:25.010733+00:00 +2026-07-10 21:17:26,517 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:26.267220+00:00 +2026-07-10 21:17:27,825 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:27.518098+00:00 +2026-07-10 21:17:29,095 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:28.825986+00:00 +2026-07-10 21:17:30,391 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:30.095657+00:00 +2026-07-10 21:17:31,659 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:31.392042+00:00 +2026-07-10 21:17:32,924 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:32.660005+00:00 +2026-07-10 21:17:34,179 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:33.925200+00:00 +2026-07-10 21:17:35,427 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:35.179413+00:00 +2026-07-10 21:17:36,710 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:36.427350+00:00 +2026-07-10 21:17:37,931 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:37.710884+00:00 +2026-07-10 21:17:39,196 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:38.931275+00:00 +2026-07-10 21:17:40,465 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:40.197079+00:00 +2026-07-10 21:17:41,740 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:41.465682+00:00 +2026-07-10 21:17:43,045 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:42.740303+00:00 +2026-07-10 21:17:44,296 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:44.046034+00:00 +2026-07-10 21:17:45,607 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:45.297387+00:00 +2026-07-10 21:17:46,917 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:46.608180+00:00 +2026-07-10 21:17:48,229 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:47.917840+00:00 +2026-07-10 21:17:49,531 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:49.229723+00:00 +2026-07-10 21:17:50,804 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:50.531999+00:00 +2026-07-10 21:17:52,103 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:51.804345+00:00 +2026-07-10 21:17:53,403 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:53.104410+00:00 +2026-07-10 21:17:54,715 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:54.404518+00:00 +2026-07-10 21:17:56,022 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:55.716498+00:00 +2026-07-10 21:17:57,322 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:57.023133+00:00 +2026-07-10 21:17:58,597 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:58.322932+00:00 +2026-07-10 21:17:59,865 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:47:59.598118+00:00 +2026-07-10 21:18:01,177 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:00.865400+00:00 +2026-07-10 21:18:02,441 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:02.178089+00:00 +2026-07-10 21:18:03,737 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:03.442425+00:00 +2026-07-10 21:18:04,994 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:04.737197+00:00 +2026-07-10 21:18:06,295 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:05.994742+00:00 +2026-07-10 21:18:07,561 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:07.295384+00:00 +2026-07-10 21:18:08,811 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:08.561628+00:00 +2026-07-10 21:18:10,102 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:09.811455+00:00 +2026-07-10 21:18:11,357 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:11.103038+00:00 +2026-07-10 21:18:12,590 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:12.358119+00:00 +2026-07-10 21:18:13,898 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:13.590512+00:00 +2026-07-10 21:18:15,166 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:14.898296+00:00 +2026-07-10 21:18:16,415 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:16.167003+00:00 +2026-07-10 21:18:17,682 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:17.415451+00:00 +2026-07-10 21:18:18,952 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:18.683095+00:00 +2026-07-10 21:18:20,264 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:19.953197+00:00 +2026-07-10 21:18:21,570 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:21.264476+00:00 +2026-07-10 21:18:22,881 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:22.570629+00:00 +2026-07-10 21:18:24,191 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:23.882287+00:00 +2026-07-10 21:18:25,500 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:25.192454+00:00 +2026-07-10 21:18:26,805 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:26.501694+00:00 +2026-07-10 21:18:28,114 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:27.806154+00:00 +2026-07-10 21:18:29,421 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:29.115090+00:00 +2026-07-10 21:18:30,734 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:30.422197+00:00 +2026-07-10 21:18:32,035 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:31.734932+00:00 +2026-07-10 21:18:33,301 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:33.036123+00:00 +2026-07-10 21:18:34,568 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:34.302136+00:00 +2026-07-10 21:18:35,832 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:35.568727+00:00 +2026-07-10 21:18:37,139 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:36.832601+00:00 +2026-07-10 21:18:38,408 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:38.139349+00:00 +2026-07-10 21:18:39,682 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:39.408822+00:00 +2026-07-10 21:18:40,944 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:40.683030+00:00 +2026-07-10 21:18:42,216 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:41.944609+00:00 +2026-07-10 21:18:43,512 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:43.216326+00:00 +2026-07-10 21:18:44,779 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:44.512336+00:00 +2026-07-10 21:18:46,049 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:45.779992+00:00 +2026-07-10 21:18:47,321 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:47.050253+00:00 +2026-07-10 21:18:48,591 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:48.321415+00:00 +2026-07-10 21:18:49,852 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:49.591899+00:00 +2026-07-10 21:18:51,125 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:50.852452+00:00 +2026-07-10 21:18:52,425 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:52.126679+00:00 +2026-07-10 21:18:53,677 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:53.425244+00:00 +2026-07-10 21:18:54,942 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:54.677746+00:00 +2026-07-10 21:18:56,249 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:55.942624+00:00 +2026-07-10 21:18:57,516 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:57.250170+00:00 +2026-07-10 21:18:58,790 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:58.516776+00:00 +2026-07-10 21:19:00,094 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:48:59.791169+00:00 +2026-07-10 21:19:01,402 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:01.094780+00:00 +2026-07-10 21:19:02,712 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:02.402978+00:00 +2026-07-10 21:19:03,942 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:03.712828+00:00 +2026-07-10 21:19:05,158 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:04.943322+00:00 +2026-07-10 21:19:06,408 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:06.158316+00:00 +2026-07-10 21:19:07,663 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:07.408570+00:00 +2026-07-10 21:19:08,918 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:08.664176+00:00 +2026-07-10 21:19:10,188 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:09.918742+00:00 +2026-07-10 21:19:11,453 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:11.189068+00:00 +2026-07-10 21:19:12,701 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:12.454093+00:00 +2026-07-10 21:19:13,950 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:13.702015+00:00 +2026-07-10 21:19:15,210 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:14.951198+00:00 +2026-07-10 21:19:16,478 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:16.210405+00:00 +2026-07-10 21:19:17,787 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:17.479080+00:00 +2026-07-10 21:19:19,049 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:18.787910+00:00 +2026-07-10 21:19:20,313 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:20.049473+00:00 +2026-07-10 21:19:21,564 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:21.314155+00:00 +2026-07-10 21:19:22,818 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:22.564682+00:00 +2026-07-10 21:19:24,069 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:23.819656+00:00 +2026-07-10 21:19:25,323 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:25.069500+00:00 +2026-07-10 21:19:26,625 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:26.323568+00:00 +2026-07-10 21:19:27,934 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:27.626252+00:00 +2026-07-10 21:19:29,181 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:28.934510+00:00 +2026-07-10 21:19:30,476 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:30.181654+00:00 +2026-07-10 21:19:31,734 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:31.476356+00:00 +2026-07-10 21:19:33,028 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:32.735016+00:00 +2026-07-10 21:19:34,337 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:34.029656+00:00 +2026-07-10 21:19:35,644 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:35.338139+00:00 +2026-07-10 21:19:36,891 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:36.645202+00:00 +2026-07-10 21:19:38,194 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:37.891416+00:00 +2026-07-10 21:19:39,502 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:39.194506+00:00 +2026-07-10 21:19:40,809 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:40.503094+00:00 +2026-07-10 21:19:42,099 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:41.810673+00:00 +2026-07-10 21:19:43,388 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:43.100167+00:00 +2026-07-10 21:19:44,673 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:44.389289+00:00 +2026-07-10 21:19:45,924 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:45.673502+00:00 +2026-07-10 21:19:47,174 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:46.924779+00:00 +2026-07-10 21:19:48,394 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:48.175223+00:00 +2026-07-10 21:19:49,659 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:49.394599+00:00 +2026-07-10 21:19:50,918 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:50.660114+00:00 +2026-07-10 21:19:52,206 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:51.918456+00:00 +2026-07-10 21:19:53,420 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:53.206329+00:00 +2026-07-10 21:19:54,704 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:54.420986+00:00 +2026-07-10 21:19:56,008 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:55.704543+00:00 +2026-07-10 21:19:57,319 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:57.009097+00:00 +2026-07-10 21:19:58,630 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:58.320823+00:00 +2026-07-10 21:19:59,939 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:49:59.630783+00:00 +2026-07-10 21:20:01,247 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:00.939940+00:00 +2026-07-10 21:20:02,549 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:02.248100+00:00 +2026-07-10 21:20:03,858 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:03.549492+00:00 +2026-07-10 21:20:05,162 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:04.858904+00:00 +2026-07-10 21:20:06,472 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:06.162993+00:00 +2026-07-10 21:20:07,734 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:07.472796+00:00 +2026-07-10 21:20:09,041 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:08.734634+00:00 +2026-07-10 21:20:10,335 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:10.042584+00:00 +2026-07-10 21:20:11,590 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:11.335358+00:00 +2026-07-10 21:20:12,837 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:12.590266+00:00 +2026-07-10 21:20:14,128 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:13.837341+00:00 +2026-07-10 21:20:15,418 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:15.128694+00:00 +2026-07-10 21:20:16,705 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:16.418484+00:00 +2026-07-10 21:20:17,980 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:17.706560+00:00 +2026-07-10 21:20:19,241 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:18.980473+00:00 +2026-07-10 21:20:20,509 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:20.241256+00:00 +2026-07-10 21:20:21,781 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:21.509253+00:00 +2026-07-10 21:20:23,092 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:22.781770+00:00 +2026-07-10 21:20:24,381 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:24.092437+00:00 +2026-07-10 21:20:25,670 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:25.381957+00:00 +2026-07-10 21:20:26,961 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:26.671109+00:00 +2026-07-10 21:20:28,261 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:27.961931+00:00 +2026-07-10 21:20:29,569 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:29.262215+00:00 +2026-07-10 21:20:30,878 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:30.570114+00:00 +2026-07-10 21:20:32,170 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:31.879061+00:00 +2026-07-10 21:20:33,460 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:33.170757+00:00 +2026-07-10 21:20:34,749 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:34.461132+00:00 +2026-07-10 21:20:36,009 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:35.749363+00:00 +2026-07-10 21:20:37,271 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:37.009324+00:00 +2026-07-10 21:20:38,526 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:38.271865+00:00 +2026-07-10 21:20:39,775 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:39.526770+00:00 +2026-07-10 21:20:41,065 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:40.775465+00:00 +2026-07-10 21:20:42,282 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:42.066031+00:00 +2026-07-10 21:20:43,539 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:43.283039+00:00 +2026-07-10 21:20:44,784 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:44.539977+00:00 +2026-07-10 21:20:46,032 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:45.784468+00:00 +2026-07-10 21:20:47,322 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:47.032941+00:00 +2026-07-10 21:20:48,613 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:48.323600+00:00 +2026-07-10 21:20:49,904 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:49.613893+00:00 +2026-07-10 21:20:51,207 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:50.904791+00:00 +2026-07-10 21:20:52,496 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:52.207749+00:00 +2026-07-10 21:20:53,745 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:53.496693+00:00 +2026-07-10 21:20:55,041 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:54.745918+00:00 +2026-07-10 21:20:56,304 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:56.042746+00:00 +2026-07-10 21:20:57,562 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:57.304736+00:00 +2026-07-10 21:20:58,799 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:58.562622+00:00 +2026-07-10 21:21:00,104 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:50:59.799992+00:00 +2026-07-10 21:21:01,414 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:01.105607+00:00 +2026-07-10 21:21:02,722 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:02.415093+00:00 +2026-07-10 21:21:04,029 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:03.722849+00:00 +2026-07-10 21:21:05,330 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:05.029819+00:00 +2026-07-10 21:21:06,621 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:06.331223+00:00 +2026-07-10 21:21:07,918 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:07.622168+00:00 +2026-07-10 21:21:09,213 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:08.919158+00:00 +2026-07-10 21:21:10,504 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:10.214448+00:00 +2026-07-10 21:21:11,814 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:11.504963+00:00 +2026-07-10 21:21:13,119 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:12.814918+00:00 +2026-07-10 21:21:14,410 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:14.119700+00:00 +2026-07-10 21:21:15,659 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:15.411589+00:00 +2026-07-10 21:21:16,908 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:16.659220+00:00 +2026-07-10 21:21:18,200 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:17.909941+00:00 +2026-07-10 21:21:19,501 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:19.201087+00:00 +2026-07-10 21:21:20,805 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:20.502189+00:00 +2026-07-10 21:21:22,058 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:21.805377+00:00 +2026-07-10 21:21:23,316 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:23.058679+00:00 +2026-07-10 21:21:24,555 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:24.316219+00:00 +2026-07-10 21:21:25,812 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:25.555508+00:00 +2026-07-10 21:21:27,044 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:26.812344+00:00 +2026-07-10 21:21:28,332 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:28.045106+00:00 +2026-07-10 21:21:29,552 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:29.332305+00:00 +2026-07-10 21:21:30,804 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:30.552681+00:00 +2026-07-10 21:21:32,061 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:31.804278+00:00 +2026-07-10 21:21:33,350 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:33.062248+00:00 +2026-07-10 21:21:34,615 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:34.350444+00:00 +2026-07-10 21:21:35,883 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:35.616029+00:00 +2026-07-10 21:21:37,121 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:36.883307+00:00 +2026-07-10 21:21:38,360 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:38.121673+00:00 +2026-07-10 21:21:39,612 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:39.360344+00:00 +2026-07-10 21:21:40,881 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:40.612780+00:00 +2026-07-10 21:21:42,153 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:41.881988+00:00 +2026-07-10 21:21:43,462 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:43.153764+00:00 +2026-07-10 21:21:44,764 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:44.463189+00:00 +2026-07-10 21:21:46,060 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:45.764802+00:00 +2026-07-10 21:21:47,365 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:47.061413+00:00 +2026-07-10 21:21:48,635 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:48.365918+00:00 +2026-07-10 21:21:49,895 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:49.636279+00:00 +2026-07-10 21:21:51,201 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:50.895851+00:00 +2026-07-10 21:21:52,511 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:52.202100+00:00 +2026-07-10 21:21:53,823 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:53.511830+00:00 +2026-07-10 21:21:55,115 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:54.824144+00:00 +2026-07-10 21:21:56,428 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:56.116491+00:00 +2026-07-10 21:21:57,737 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:57.428283+00:00 +2026-07-10 21:21:59,049 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:51:58.738523+00:00 +2026-07-10 21:22:00,344 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:00.050516+00:00 +2026-07-10 21:22:01,616 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:01.344568+00:00 +2026-07-10 21:22:02,923 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:02.617193+00:00 +2026-07-10 21:22:04,218 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:03.924117+00:00 +2026-07-10 21:22:05,529 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:05.218617+00:00 +2026-07-10 21:22:06,836 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:06.530265+00:00 +2026-07-10 21:22:08,102 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:07.837332+00:00 +2026-07-10 21:22:09,356 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:09.102913+00:00 +2026-07-10 21:22:10,664 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:10.357425+00:00 +2026-07-10 21:22:11,971 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:11.665547+00:00 +2026-07-10 21:22:13,261 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:12.972471+00:00 +2026-07-10 21:22:14,573 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:14.262327+00:00 +2026-07-10 21:22:15,847 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:15.573667+00:00 +2026-07-10 21:22:17,156 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:16.847238+00:00 +2026-07-10 21:22:18,449 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:18.156656+00:00 +2026-07-10 21:22:19,757 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:19.449953+00:00 +2026-07-10 21:22:21,067 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:20.758271+00:00 +2026-07-10 21:22:22,334 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:22.068227+00:00 +2026-07-10 21:22:23,647 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:23.334449+00:00 +2026-07-10 21:22:24,956 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:24.647346+00:00 +2026-07-10 21:22:26,222 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:25.956470+00:00 +2026-07-10 21:22:27,496 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:27.222397+00:00 +2026-07-10 21:22:28,764 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:28.497052+00:00 +2026-07-10 21:22:30,034 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:29.765279+00:00 +2026-07-10 21:22:31,300 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:31.034330+00:00 +2026-07-10 21:22:32,574 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:32.300875+00:00 +2026-07-10 21:22:33,846 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:33.574412+00:00 +2026-07-10 21:22:35,118 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:34.846538+00:00 +2026-07-10 21:22:36,366 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:36.118361+00:00 +2026-07-10 21:22:37,671 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:37.366406+00:00 +2026-07-10 21:22:38,945 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:38.671222+00:00 +2026-07-10 21:22:40,219 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:39.945479+00:00 +2026-07-10 21:22:41,484 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:41.219621+00:00 +2026-07-10 21:22:42,762 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:42.484429+00:00 +2026-07-10 21:22:43,999 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:43.762246+00:00 +2026-07-10 21:22:45,268 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:44.999910+00:00 +2026-07-10 21:22:46,580 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:46.268874+00:00 +2026-07-10 21:22:47,807 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:47.580239+00:00 +2026-07-10 21:22:49,039 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:48.808150+00:00 +2026-07-10 21:22:50,349 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:50.040285+00:00 +2026-07-10 21:22:51,650 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:51.349589+00:00 +2026-07-10 21:22:52,900 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:52.650682+00:00 +2026-07-10 21:22:54,146 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:53.900228+00:00 +2026-07-10 21:22:55,431 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:55.146572+00:00 +2026-07-10 21:22:56,679 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:56.431526+00:00 +2026-07-10 21:22:57,925 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:57.679735+00:00 +2026-07-10 21:22:59,173 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:52:58.925538+00:00 +2026-07-10 21:23:00,435 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:00.173984+00:00 +2026-07-10 21:23:01,700 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:01.435976+00:00 +2026-07-10 21:23:02,952 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:02.701057+00:00 +2026-07-10 21:23:04,207 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:03.952925+00:00 +2026-07-10 21:23:05,464 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:05.207654+00:00 +2026-07-10 21:23:06,713 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:06.464225+00:00 +2026-07-10 21:23:07,971 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:07.713589+00:00 +2026-07-10 21:23:09,229 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:08.971439+00:00 +2026-07-10 21:23:10,486 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:10.230102+00:00 +2026-07-10 21:23:11,772 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:11.486730+00:00 +2026-07-10 21:23:13,041 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:12.773479+00:00 +2026-07-10 21:23:14,343 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:14.041505+00:00 +2026-07-10 21:23:15,578 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:15.343470+00:00 +2026-07-10 21:23:16,865 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:16.579098+00:00 +2026-07-10 21:23:18,078 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:17.865385+00:00 +2026-07-10 21:23:19,332 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:19.078244+00:00 +2026-07-10 21:23:20,586 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:20.333112+00:00 +2026-07-10 21:23:21,848 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:21.586820+00:00 +2026-07-10 21:23:23,102 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:22.848857+00:00 +2026-07-10 21:23:24,397 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:24.102680+00:00 +2026-07-10 21:23:25,669 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:25.397977+00:00 +2026-07-10 21:23:26,937 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:26.669477+00:00 +2026-07-10 21:23:28,204 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:27.937485+00:00 +2026-07-10 21:23:29,455 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:29.205573+00:00 +2026-07-10 21:23:30,738 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:30.455346+00:00 +2026-07-10 21:23:31,999 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:31.738393+00:00 +2026-07-10 21:23:33,271 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:32.999935+00:00 +2026-07-10 21:23:34,520 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:34.271514+00:00 +2026-07-10 21:23:35,810 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:35.520529+00:00 +2026-07-10 21:23:37,077 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:36.810580+00:00 +2026-07-10 21:23:38,332 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:38.077881+00:00 +2026-07-10 21:23:39,591 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:39.333240+00:00 +2026-07-10 21:23:40,898 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:40.592169+00:00 +2026-07-10 21:23:42,164 - INFO - Successfully saved metrics for timestamp: 2026-07-10T15:53:41.899541+00:00 From 2e72a36481aa0fbb0035813c49419603a31ca3f5 Mon Sep 17 00:00:00 2001 From: cherry-aggarwal Date: Tue, 30 Jun 2026 00:11:51 +0530 Subject: [PATCH 16/39] update README.md --- README.md | 345 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 295 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index dcb892c..8a6efbd 100644 --- a/README.md +++ b/README.md @@ -37,60 +37,305 @@ graph TD RE --> DASH ``` # CogniOS -Module FocusOS Detailed WorkFlow -```mermaid -graph TD - subgraph Phase1["Phase 1: Telemetry Collection"] - A1["psutil (CPU, RAM, Disk, Net)"] --> B1["Telemetry Collector Daemon"] - A2["/proc filesystem (Process/thread stats)"] --> B1 - A3["Window Manager APIs (xprop / xdotool / compositor)"] --> B1 - B1 -->|Sample every 1 sec| C1["Raw Metrics Buffer"] - end - subgraph Phase2["Phase 2: Sliding Window Generator"] - C1 --> D1["120-Second FIFO Queue"] - D1 --> E1["Matrix Representation (120 x Feature_Count)"] - end +### Intelligent OS Observability & Adaptive Workload Optimization Platform - subgraph Phase3["Phase 3: Feature Engineering"] - E1 --> F1["Compute Statistical Metrics"] - F1 --> G1["CPU Stats (Mean, Max, Variance)"] - F1 --> G2["RAM Stats (Mean, Growth Rate)"] - F1 --> G3["Network Stats (Mean Up/Down, Variance)"] - F1 --> G4["Process Stats (Count, Threads, Top Share)"] - F1 --> G5["Context Stats (One-Hot Encoded Categories)"] - G1 & G2 & G3 & G4 & G5 --> H1["Final Feature Vector"] - end +> **CogniOS** is an AI-assisted Linux system observability and workload optimization platform that combines operating systems, machine learning, and systems engineering to provide intelligent performance monitoring, anomaly detection, workload-aware optimization, crash analysis, and scheduling research—all without modifying the Linux kernel. - subgraph Phase4["Phase 4: Unsupervised Clustering"] - H1 -->|Batch Historical Data| I1["KMeans Clustering (k=5)"] - I1 --> J1["Discover 5 Resource Profiles"] - J1 --> K1["Analyze Profile Rules (e.g. High Net + Zoom)"] - K1 --> L1["Apply Human Pseudo-Labels (Coding, Compiling, etc.)"] - end +--- - subgraph Phase5["Phase 5: Supervised Classification"] - L1 --> M1["Labeled Tabular Dataset"] - M1 --> N1["Train XGBoost Classifier"] - H1 -->|Live Vector Every 30 sec| O1["XGBoost Real-Time Inference"] - N1 --> O1 - O1 --> P1{"Confidence > 80%?"} - end +## Overview - subgraph Phase6["Phase 6: Optimization"] - P1 -->|Yes| Q1["Identify Target Process"] - P1 -->|No| Q2["Maintain Current State"] - Q1 --> R1["Apply nice() / renice priority"] - Q1 --> R2["Configure sched_setaffinity() (CPU core separation)"] - end +Modern operating systems expose a large amount of telemetry, but existing monitoring tools often present only raw statistics, leaving users to determine the root cause of performance issues themselves. + +CogniOS bridges this gap by collecting real-time system telemetry, analyzing workload behavior, detecting anomalies, recommending optimizations, and enabling post-crash analysis through an integrated and modular architecture. + +The project is designed as both: + +* A practical system observability platform for Linux +* A research framework for experimenting with AI-assisted operating system scheduling + +--- + +## Key Features + +* 📊 Real-time Linux system telemetry collection +* 🩺 Intelligent anomaly detection for performance degradation +* 🎯 AI-based workload classification and optimization +* 📦 Rolling telemetry recording for crash replay +* 🔬 Scheduling algorithm benchmarking and research +* 📈 Interactive Streamlit dashboard +* 🗄️ Centralized SQLite telemetry database +* 🧩 Modular architecture for independent development and testing + +--- + +# Architecture - subgraph Phase7["Phase 7: Explanation & UI"] - O1 --> S1["Extract XGBoost Feature Importances"] - S1 --> T1["Build Context JSON Payload"] - T1 --> U1["Query Local LLM Explanation Layer"] - U1 --> V1["Generate Natural Language Explanation"] - V1 --> W1["Streamlit Dashboard Display"] - R1 --> W1 - R2 --> W1 - end ``` + Linux System + │ + ▼ + Telemetry Collectors + (/proc, psutil, process APIs) + │ + ▼ + SQLite Database + │ + ┌───────────────┼────────────────┐ + │ │ │ + ▼ ▼ ▼ + OS Doctor FocusOS BlackBox + │ │ │ + └───────────────┼────────────────┘ + ▼ + Research Engine + │ + ▼ + Streamlit Dashboard +``` + +--- + +# Core Modules + +## 🩺 OS Doctor + +OS Doctor continuously monitors the system for abnormal behavior using machine learning–based anomaly detection techniques. + +### Objective + +* Detect abnormal CPU, memory and I/O behavior +* Explain possible reasons for system slowdowns +* Identify unusual workload patterns +* Provide interpretable diagnostics from live telemetry + +--- + +## 🎯 FocusOS + +FocusOS is responsible for intelligent workload classification and adaptive system optimization. + +### Objective + +* Classify the current workload using machine learning +* Optimize process priorities +* Modify Linux scheduling parameters +* Improve overall system responsiveness + +Future versions may also support dynamic CPU affinity optimization and workload-aware scheduling. + +--- + +## 📦 BlackBox + +BlackBox acts as the system's flight recorder. + +It continuously stores recent telemetry in a rolling buffer, allowing developers to replay system activity after crashes or freezes. + +### Objective + +* Record recent system telemetry +* Preserve crash history +* Replay workload traces +* Assist in post-mortem debugging + +--- + +## 🔬 Research Engine + +The Research Engine provides an experimentation platform for scheduling algorithms. + +### Objective + +* Compare classical scheduling algorithms +* Evaluate AI-based schedulers +* Replay collected workloads +* Benchmark scheduling performance +* Support reinforcement learning experiments + +Supported scheduling algorithms include: + +* FCFS +* Shortest Job First +* Round Robin +* Priority Scheduling + +Future versions may include reinforcement learning schedulers. + +--- + +## 📊 Dashboard + +The Streamlit dashboard serves as the unified visualization layer of CogniOS. + +### Objective + +* Visualize system telemetry +* Display anomaly alerts +* Monitor workload classifications +* Compare scheduling results +* Provide a centralized monitoring interface + +--- + +## 📡 Collectors + +Collectors gather telemetry directly from Linux using lightweight system interfaces. + +### Objective + +* CPU monitoring +* Memory monitoring +* Disk monitoring +* Process monitoring +* Network statistics +* I/O statistics + +These collectors act as the data source for every other module. + +--- + +## 🗄️ Data Layer + +The data layer stores all telemetry generated by the collectors. + +### Responsibilities + +* Store real-time telemetry +* Maintain workload traces +* Persist crash recordings +* Provide data for ML training +* Support benchmarking experiments + +SQLite is used as the centralized storage backend. + +--- + +# Repository Structure + +``` +CogniOS/ +│ +├── blackbox/ # Rolling telemetry recorder and crash replay engine +├── collectors/ # System telemetry collectors using /proc and psutil +├── dashboard/ # Streamlit-based monitoring dashboard +├── data/ +│ ├── datasets/ # Labeled workload datasets for ML training +│ ├── telemetry/ # Raw telemetry snapshots +│ └── sqlite/ # SQLite database files +├── focusos/ # AI workload classifier and adaptive optimization engine +├── os_doctor/ # Real-time anomaly detection module +├── research_engine/ # Scheduling simulator and benchmarking framework +├── utils/ # Shared helper utilities used across modules +│ +├── cognios_as_daemon.py # Runs CogniOS as a background monitoring daemon +├── config.py # Global project configuration +├── db.py # SQLite database interface and helper functions +├── main.py # Main application entry point +├── overhead.py # Measures runtime overhead introduced by monitoring +├── requirements.txt # Python dependencies +└── README.md +``` + +--- + +# Technology Stack + +| Category | Technology | +| ---------------------- | ------------------------------- | +| Language | Python | +| System Monitoring | psutil, Linux `/proc` | +| Database | SQLite | +| Machine Learning | PyTorch | +| Data Processing | NumPy, Pandas | +| Anomaly Detection | Isolation Forest (scikit-learn) | +| Reinforcement Learning | Stable-Baselines3 | +| Dashboard | Streamlit | + +--- + +# Getting Started + +## Clone the Repository + +```bash +git clone https://github.com//CogniOS.git +cd CogniOS +``` + +## Install Dependencies + +```bash +pip install -r requirements.txt +``` + +## Launch CogniOS + +```bash +python main.py +``` + +To run CogniOS as a background service: + +```bash +python cognios_as_daemon.py +``` + +--- + +# Development Philosophy + +Each major subsystem is designed as an independent module with its own documentation, enabling contributors to work on individual components without affecting the rest of the project. + +Every module contains its own dedicated `README.md` describing: + +* Module architecture +* Directory structure +* Components +* APIs +* Data flow +* Usage +* Future work + +--- + +# Roadmap + +* Real-time Linux telemetry collection +* Intelligent anomaly detection +* AI-assisted workload optimization +* Crash replay and forensic analysis +* Scheduling benchmark suite +* Reinforcement learning scheduler +* GPU telemetry support +* Windows and macOS support + +--- + +# Contributing + +We welcome contributions from developers interested in: + +* Operating Systems +* Machine Learning +* Systems Programming +* Linux Internals +* Performance Engineering +* Data Engineering + +Before contributing, please read the documentation for the module you wish to work on. + +--- + +# License + +This project is released under the MIT License. + +--- + +# Acknowledgements + +CogniOS is developed as an educational and research-focused project exploring the intersection of **Operating Systems**, **Artificial Intelligence**, and **Systems Engineering**. + +The project aims to provide a modular platform for learning, experimentation, and innovation in intelligent system observability and workload optimization. From 079c63bd428d0efb29c036d41884b20ade9ce7de Mon Sep 17 00:00:00 2001 From: cherry-aggarwal Date: Wed, 1 Jul 2026 16:29:57 +0530 Subject: [PATCH 17/39] chore: set up GitHub community health files --- .github/CODEOWNERS | 0 .github/ISSUE_TEMPLATE/bug_report.md | 89 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 10 +++ .github/ISSUE_TEMPLATE/development_task.md | 81 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/documentation.md | 88 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 70 +++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 0 CONTRIBUTING.md | 0 8 files changed, 338 insertions(+) create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/development_task.md create mode 100644 .github/ISSUE_TEMPLATE/documentation.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 CONTRIBUTING.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..e69de29 diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..57ee575 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,89 @@ +--- + +name: Bug Report +about: Report an issue or unexpected behavior in the project. +title: "[Bug]: " +labels: bug +assignees: "" +--- + +# Bug Report + +## Summary + +Provide a brief description of the bug. + +--- + +## Module + +Specify the module where the issue occurs. + +Example: + +* Telemetry +* OSDoctor +* FocusOS +* Blackbox +* Research Engine +* Dashboard + +--- + +## Steps to Reproduce + +Describe the steps required to reproduce the issue. + +1. +2. +3. + +--- + +## Expected Behavior + +Describe what should happen. + +--- + +## Actual Behavior + +Describe what actually happens. + +--- + +## Logs / Error Messages + +Paste any relevant logs, stack traces, or terminal output. + +```text +``` + +--- + +## Screenshots + +If applicable, attach screenshots or screen recordings. + +--- + +## Environment + +Please provide the following information: + +* Operating System: +* Programming Language / Version: +* Browser (if applicable): +* Other relevant details: + +--- + +## Possible Solution (Optional) + +If you have an idea of what might be causing the issue or how it could be fixed, describe it here. + +--- + +## Additional Notes + +Add any other information that may help reproduce or resolve the issue. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..2e1c553 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,10 @@ +blank_issues_enabled: false + +contact_links: +- name: 💬 Questions & Discussions + about: Ask questions or discuss ideas before creating a new issue. + url: https://github.com/devlup-labs/CogniOS/discussions + +- name: 📖 Project Documentation + about: Read the project documentation before opening an issue. + url: https://github.com/devlup-labs/CogniOS#readme diff --git a/.github/ISSUE_TEMPLATE/development_task.md b/.github/ISSUE_TEMPLATE/development_task.md new file mode 100644 index 0000000..5b1f58f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/development_task.md @@ -0,0 +1,81 @@ +--- + +name: Development Task +about: Create a new feature implementation task. +title: "[Feature]: " +labels: enhancement +assignees: "" +--- + +# Development Task + +## Module + +Specify the module this feature belongs to. + +Example: + +* Telemetry +* OSDoctor +* FocusOS +* Blackbox +* Research Engine +* Dashboard + +--- + +## Objective + +Clearly describe the feature that needs to be implemented. + +--- + +## Problem Statement + +What problem does this feature solve? + +--- + +## Proposed Solution + +Describe how you plan to implement this feature. + +--- + +## Tasks + +Break the implementation into smaller tasks. + +* [ ] +* [ ] +* [ ] +* [ ] + +--- + +## Acceptance Criteria + +The feature will be considered complete when: + +* [ ] +* [ ] +* [ ] +* [ ] + +--- + +## Related Documentation + +Mention any documentation that should be referred to before implementation. + +Examples: + +* Module README +* API Documentation +* Architecture Documentation + +--- + +## Additional Notes + +Add any diagrams, references, or implementation notes that may help contributors. diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md new file mode 100644 index 0000000..48456e2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.md @@ -0,0 +1,88 @@ +--- + +name: Documentation +about: Suggest improvements or updates to the project documentation. +title: "[Docs]: " +labels: documentation +assignees: "" +--- + +# Documentation Update + +## Summary + +Provide a brief description of the documentation change. + +--- + +## Type of Documentation + +Select all that apply by replacing the space inside the brackets with an **`x`**. + +Example: + +```text +- [x] Module Documentation +- [ ] API Documentation +``` + +* [ ] README +* [ ] Module Documentation +* [ ] API Documentation +* [ ] Architecture Documentation +* [ ] Code Comments +* [ ] Setup Guide +* [ ] Other + +--- + +## Files Affected + +List the documentation files that need to be updated. + +Example: + +```text +docs/modules/backend.md +README.md +backend/api/README.md +``` + +--- + +## Description + +Describe what needs to be added, updated, or corrected. + +--- + +## Reason for the Update + +Explain why this documentation change is needed. + +Examples: + +* New feature added +* Existing documentation is outdated +* Missing documentation +* Incorrect information +* Improve clarity for contributors + +--- + +## Related Issue(s) + +Mention any related GitHub issue(s). + +Example: + +```text +Closes #12 +Related to #8 +``` + +--- + +## Additional Notes + +Include any references, screenshots, diagrams, or links that may help reviewers. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..68abd34 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,70 @@ +--- + +name: Feature Request +about: Propose a new feature or enhancement for the project. +title: "[Feature]: " +labels: enhancement +assignees: "" +--- + +# Feature Request + +## Summary + +Provide a brief description of the requested feature. + +--- + +## Module + +Specify the module this request is related to. + +Example: + +* Telemetry +* OSDoctor +* FocusOS +* Blackbox +* Research Engine +* Dashboard + +--- + +## Problem Statement + +Describe the current limitation or pain point. + +--- + +## Proposed Solution + +Describe your proposed feature and how it should work. + +--- + +## Alternatives Considered + +Describe any alternative approaches you have considered. + +--- + +## Expected Outcome + +Describe what success looks like after this feature is implemented. + +--- + +## Acceptance Criteria + +The feature will be considered complete when: + +* [ ] +* [ ] +* [ ] + +--- + +## Additional Context + +Add mockups, references, links, or any extra details that may help. + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e69de29 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e69de29 From 416b025766f81094f778ad44b289fa9d00b65e7c Mon Sep 17 00:00:00 2001 From: cherry-aggarwal Date: Wed, 1 Jul 2026 16:51:18 +0530 Subject: [PATCH 18/39] chore: set up contribution template --- CONTRIBUTING.md | 214 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e69de29..5d095d6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -0,0 +1,214 @@ +# Contributing to CogniOS + +First off, thank you for taking the time to contribute to **CogniOS**! 🎉 + +Whether you're fixing a bug, implementing a new feature, improving documentation, or optimizing existing code, your contributions are appreciated. + +Please read this guide before making your first contribution. + +--- + +# Development Workflow + +All development follows the GitHub Issue → Branch → Pull Request workflow. + +``` +Issue + ↓ +Assign Yourself + ↓ +Create a Branch + ↓ +Implement Changes + ↓ +Commit & Push + ↓ +Open Pull Request + ↓ +Code Review + ↓ +Merge +``` + +Direct pushes to the `main` branch are **not allowed**. + +--- + +# Before You Start + +Before working on a feature: + +1. Check the existing GitHub Issues. +2. Assign the issue to yourself. +3. If the required issue does not exist, create one describing the proposed feature or bug. +4. Wait for approval (if required) before beginning implementation. + +This helps prevent duplicate work and keeps development organized. + +--- + +# Branch Naming Convention + +Create a new branch from the latest `main` branch. + +Use the following naming convention: + +``` +feature/ +fix/ +docs/ +refactor/ +test/ +``` + +Examples: + +``` +feature/process-monitor +feature/anomaly-detector +fix/cpu-parser +docs/backend-api +refactor/cache-layer +``` + +--- + +# Coding Standards + +Please ensure your code follows these guidelines: + +* Write clean and readable code. +* Use meaningful variable and function names. +* Follow the coding style used within the module. +* Keep functions small and focused. +* Avoid unnecessary complexity. +* Remove unused code before submitting a Pull Request. +* Add comments only where they improve understanding. + +--- + +# Documentation + +Every contribution should include documentation updates whenever applicable. + +Documentation may include: + +* Function descriptions +* API endpoint updates +* Architecture changes +* README updates +* Module documentation + +If your implementation changes the behavior of a module, its documentation should also be updated. + +--- + +# Commit Message Guidelines + +Write clear and descriptive commit messages. + +Recommended format: + +``` +feat: implement process telemetry collector +fix: resolve memory parsing issue +docs: update backend documentation +refactor: simplify scheduler logic +test: add telemetry unit tests +``` + +Avoid vague commit messages such as: + +``` +update +changes +fixed stuff +final +temp +``` + +--- + +# Pull Request Guidelines + +Before opening a Pull Request: + +* Ensure your branch is up to date. +* Resolve merge conflicts. +* Verify the project builds successfully. +* Update relevant documentation. +* Ensure code follows project conventions. + +Each Pull Request should focus on **one feature or one bug fix**. + +Large unrelated changes should be split into multiple Pull Requests. + +--- + +# Code Review + +Every Pull Request will be reviewed before merging. + +Reviewers may request: + +* Code improvements +* Refactoring +* Additional documentation +* Bug fixes +* Performance improvements + +Please address review comments before requesting another review. + +--- + +# Testing + +Before submitting a Pull Request, verify that: + +* The project builds successfully. +* Existing functionality remains unaffected. +* New functionality works as intended. +* Any applicable tests pass successfully. + +Do not submit code that does not compile. + +--- + +# Reporting Bugs + +When reporting a bug, include: + +* Description of the issue +* Steps to reproduce +* Expected behavior +* Actual behavior +* Relevant logs or screenshots (if available) + +--- + +# Feature Requests + +When proposing a new feature, include: + +* Problem being solved +* Proposed solution +* Module(s) affected +* Expected outcome + +Discuss major architectural changes before beginning implementation. + +--- + +# Code of Conduct + +Please be respectful and collaborative. + +Constructive discussions and code reviews help improve the project for everyone. + +--- + +# Questions + +If you have questions regarding implementation, architecture, or project structure, please open a GitHub Discussion or contact the maintainers before starting work. + +Happy coding! 🚀 From 1677ee19911e3a597e9d99cc077720dff62ca6f1 Mon Sep 17 00:00:00 2001 From: cherry-aggarwal Date: Sun, 5 Jul 2026 22:33:05 +0530 Subject: [PATCH 19/39] set up pull request template and codeowners --- .github/CODEOWNERS | 3 + .github/PULL_REQUEST_TEMPLATE.md | 96 ++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e69de29..3dc347e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -0,0 +1,3 @@ +# Global owners +* @cherry-aggarwal @Brijesh-Thakkar @coderTanisha22 + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e69de29..6515727 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,96 @@ +# Pull Request + +## Related Issue + +Closes # + +--- + +## Summary + +Provide a brief description of the changes made in this Pull Request. + +Example: + +* Implemented process telemetry collection +* Updated module documentation + +--- + +## Type of Change + +**Instructions:** Mark the applicable option(s) by replacing the space inside the brackets with an **`x`**. + +Example: + +```text +- [x] New feature +- [ ] Bug fix +``` + +Select all that apply: + +* [ ] New feature +* [ ] Bug fix +* [ ] Documentation update +* [ ] Refactoring +* [ ] Performance improvement +* [ ] Test addition +* [ ] Other (please specify) + +--- + +## Changes Made + +Describe the main changes introduced by this PR. + +* +* +* + +--- + +## Testing + +Describe how you tested your changes. + +* [ ] Project builds successfully +* [ ] Existing functionality verified +* [ ] New functionality tested +* [ ] Tests added/updated (if applicable) + +Additional testing details: + +--- + +## Documentation + +* [ ] Documentation updated +* [ ] No documentation changes required + +If updated, specify the affected documentation: + +--- + +## Checklist + +Before requesting a review, confirm the following: + +* [ ] My code follows the project's coding standards. +* [ ] I have reviewed my own code. +* [ ] I have updated relevant documentation. +* [ ] My changes do not introduce unnecessary files or dependencies. +* [ ] The project builds successfully. +* [ ] This Pull Request addresses a single feature or bug. + +--- + +## Screenshots / Logs (if applicable) + +Attach screenshots, terminal output, or logs that help demonstrate your changes. + +--- + +## Additional Notes + +Include any information reviewers should know before reviewing this Pull Request. From 266856bd3d598885b69d2258964e4b60a31adac0 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Mon, 13 Jul 2026 00:45:40 +0530 Subject: [PATCH 20/39] minor fix: commenting part of sliding window --- focusos/sliding_window.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/focusos/sliding_window.py b/focusos/sliding_window.py index 9c530e0..231fb8c 100644 --- a/focusos/sliding_window.py +++ b/focusos/sliding_window.py @@ -6,6 +6,8 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from config import DB_PATH from config import SLIDING_WIND_N +#commenting some part of the sliding window file +#other modules will suffer because as buffer implementation will cause other modules to work on the stale # class SlidingWindowBuffer: # def __init__(self, maxlen: int = SLIDING_WIND_N): # # it initialises the deque with a maxlen=SLIDING_WIND_N From e950c38b4154a773fa4ae5c42f91e803c7f9fc58 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Tue, 14 Jul 2026 02:17:20 +0530 Subject: [PATCH 21/39] Fix bugs in focusos/feature_engineer.py --- focusos/feature_engineer.py | 44 ++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/focusos/feature_engineer.py b/focusos/feature_engineer.py index 88c5365..214e224 100644 --- a/focusos/feature_engineer.py +++ b/focusos/feature_engineer.py @@ -14,8 +14,8 @@ def extract_features(df: pd.DataFrame): return None # reversing the index so that 0 is oldest and -1 is newest - df = df.iloc[::-1].reset_index(drop=True) - + #df = df.iloc[::-1].reset_index(drop=True) + #already reversed in the sliding window # cpu cpu_mean = df["cpu_usage_percent"].mean() cpu_max = df["cpu_usage_percent"].max() @@ -26,13 +26,41 @@ def extract_features(df: pd.DataFrame): ram_growth_rate = (df["memory_percent"].iloc[-1] - df["memory_percent"].iloc[0]) if len(df) > 0 else 0 # network - net_mean = (df["net_bytes_sent"] + df["net_bytes_recv"]).mean() - disk_io_mean = (df["disk_write_mb_s"] + df["disk_read_mb_s"]).mean() - + net_combined = df["net_bytes_sent"] + df["net_bytes_recv"] + net_mean = net_combined.mean() + if net_mean > 0: + # captures trend: positive means rising traffic, negative means falling traffic + net_mean = float((net_combined.iloc[-1] - net_combined.iloc[0]) / net_mean) + else: + net_mean = 0.0 + #here i am calculating the coeffiecient of var = std/mean + # 10x spike on ssd == 10x spike on hdd + disk_combined = df["disk_write_mb_s"] + df["disk_read_mb_s"] + disk_mean_raw = disk_combined.mean() + if disk_mean_raw > 0: + disk_io_mean = float(disk_combined.std() / disk_mean_raw) + else: + disk_io_mean = 0.0 # processes - process_count_mean = df["total_processes"].mean() - # 'thread_count' is not in layer1_sys - thread_count_mean = 0 + process_count_mean = int(df["total_processes"].mean()) + #calculating the normalised value: threads per core + cpu_cores = os.cpu_count() or 4 + if "num_threads" in df.columns: + import json + def safe_sum_threads(val): + if isinstance(val, str) and val.strip(): + try: + lst = json.loads(val) + if isinstance(lst, list): + return sum(lst) + except Exception: + pass + return 0 + thread_count_mean = df["num_threads"].apply(safe_sum_threads).mean() / cpu_cores + else: + thread_count_mean = (df["total_processes"].mean() * 2.5) / cpu_cores + + # We use fillna('') so .str doesn't crash on missing process names process_col = df["process_data"].fillna("").str.lower() From b3b86e5643fbb1bc51b92c41b25f28535b1d290e Mon Sep 17 00:00:00 2001 From: Nikhil Date: Fri, 17 Jul 2026 13:24:01 +0530 Subject: [PATCH 22/39] added classifier.py xgboost_training --- focusos/classifier.py | 91 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 focusos/classifier.py diff --git a/focusos/classifier.py b/focusos/classifier.py new file mode 100644 index 0000000..faa3781 --- /dev/null +++ b/focusos/classifier.py @@ -0,0 +1,91 @@ +import os +import joblib +import pandas as pd +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.preprocessing import LabelEncoder +from sklearn.metrics import classification_report, confusion_matrix +import xgboost as xgb + +CURRENT_FILE = os.path.abspath(__file__) +MODELS_DIR = os.path.join(os.path.dirname(CURRENT_FILE), "models_saved") +DATASET_PATH = os.path.join(MODELS_DIR, "pseudo_labeled_dataset.csv") + +FEATURE_COLUMNS = [ + "cpu_mean", + "cpu_max", + "cpu_variance", + "ram_mean", + "ram_growth_rate", + "network_mean", + "disk_io_mean", + "process_count_mean", + "thread_count_mean", + "vscode_active", + "browser_active", + "compiler_active", +] + +def train_classifier(): + print("\n" + "═"*60) + print(" FocusOS — XGBoost Classifier Training") + print("═"*60) + + if not os.path.exists(DATASET_PATH): + print(f"[classifier] Error: Pseudo-labeled dataset not found at {DATASET_PATH}.") + print("[classifier] Please run cluster_trainer(ref).py first to generate it.") + return + + df = pd.read_csv(DATASET_PATH) + print(f"[classifier] Loaded training dataset with {len(df)} samples.") + + # split features and labels + X = df[FEATURE_COLUMNS].values + y_raw = df["workload_label"].values + + # encode categorical labels to integers + le = LabelEncoder() + y = le.fit_transform(y_raw) + + # save the label encoder + le_path = os.path.join(MODELS_DIR, "label_encoder.pkl") + joblib.dump(le, le_path) + print(f"[classifier] Saved LabelEncoder to {le_path}") + + # split into train and test sets (80% train, 20% test) + X_train, X_test, y_train, y_test = train_test_split( + X, y, test_size=0.2, random_state=42, stratify=y + ) + + print(f"[classifier] Split data into {len(X_train)} training and {len(X_test)} testing samples.") + + # train XGBoost classifier + print("[classifier] Fitting XGBClassifier...") + model = xgb.XGBClassifier( + n_estimators=100, + max_depth=5, + learning_rate=0.1, + random_state=42, + eval_metric='mlogloss' + ) + model.fit(X_train, y_train) + + # evaluate classifier + y_pred = model.predict(X_test) + accuracy = np.mean(y_pred == y_test) + print(f"[classifier] Test Set Accuracy: {accuracy*100:.2f}%") + + print("\n[classifier] Classification Report:") + target_names = [str(c) for c in le.classes_] + print(classification_report(y_test, y_pred, target_names=target_names)) + + print("\n[classifier] Confusion Matrix:") + print(confusion_matrix(y_test, y_pred)) + + # saving trained model + model_path = os.path.join(MODELS_DIR, "xgboost_model.json") + model.save_model(model_path) + print(f"\n[classifier] Trained XGBoost model saved to {model_path}") + +if __name__ == "__main__": + train_classifier() From 71e51802a25547cd3f12dd8e7aede50bf7b276de Mon Sep 17 00:00:00 2001 From: khyati-1711 Date: Fri, 17 Jul 2026 19:52:38 +0530 Subject: [PATCH 23/39] add cluster trainer --- focusos/models/cluster_trainer.py | 616 ++++++++++++++++++++++++++++++ 1 file changed, 616 insertions(+) create mode 100644 focusos/models/cluster_trainer.py diff --git a/focusos/models/cluster_trainer.py b/focusos/models/cluster_trainer.py new file mode 100644 index 0000000..8de90d9 --- /dev/null +++ b/focusos/models/cluster_trainer.py @@ -0,0 +1,616 @@ +import os +import sys +import time +import sqlite3 +import numpy as np +import pandas as pd +import joblib +from sklearn.cluster import KMeans +from sklearn.preprocessing import StandardScaler +import matplotlib.pyplot as plt + +#path setup so imports work from anywhere + +CURRENT_FILE = os.path.abspath(__file__) # Path to the current file + +MODELS_DIR = os.path.dirname(CURRENT_FILE) # Directory containing cluster_trainer.py + +FOCUSOS_DIR = os.path.dirname(MODELS_DIR) # FocusOS package directory + + +PROJECT_ROOT = os.path.dirname(FOCUSOS_DIR) # Project root directory (contains config.py) + +if PROJECT_ROOT not in sys.path: + sys.path.append(PROJECT_ROOT) # Add project root to Python module search path + +from config import DB_PATH +from focusos.sliding_window import get_window_from_db +from focusos.feature_engineer import extract_features + +N_CLUSTERS = 6 # Matches: Coding, Gaming, Compiling, Video_Call, Idle,browsing + +MIN_SAMPLES_REQUIRED = 500 # Minimum number of samples required to train the model + +MODELS_DIR = os.path.join( + os.path.dirname(os.path.dirname(os.path.abspath(__file__))), + "models_saved" +) +FEATURE_COLUMNS = [ + "cpu_mean", + "cpu_max", + "cpu_variance", + "ram_mean", + "ram_growth_rate", + "network_mean", + "disk_io_mean", + "process_count_mean", + "thread_count_mean", + "vscode_active", + "browser_active", + "compiler_active", +] + +def collect_feature_vectors( + db_path: str = DB_PATH, + n_samples: int = MIN_SAMPLES_REQUIRED, + sample_interval_sec: int = 30, +) -> pd.DataFrame: + """ + Collects feature vectors by repeatedly calling the sliding window + and feature engineering pipeline over time. + + PURPOSE: + KMeans needs many data points (feature vectors) to find meaningful + clusters. One call to get_window_from_db() + extract_features() + gives us ONE vector (one 2-minute summary). We need hundreds. + + RETURNS: + DataFrame of shape (n_collected, 12) — one row per feature vector. + May return fewer than n_samples if the DB doesn't have enough history. + """ + print(f"\n[cluster_trainer] Collecting feature vectors from DB: {db_path}") + print(f"[cluster_trainer] Target: {n_samples} samples") + + feature_rows = [] + + try: + with sqlite3.connect(db_path) as conn: + # ── count total rows available in the DB ────────────────────── + total_rows_query = "SELECT COUNT(*) FROM layer1_sys" + total_rows = conn.execute(total_rows_query).fetchone()[0] + print(f"[cluster_trainer] Total rows in layer1_sys: {total_rows}") + + + WINDOW_SIZE = 120 # matches SLIDING_WIND_N in config + + if total_rows < WINDOW_SIZE: + print(f"[cluster_trainer] ERROR: Need at least {WINDOW_SIZE} rows, " + f"only have {total_rows}. Run telemetry collector longer.") + return pd.DataFrame() + + # ── fetch ALL timestamps in order ───────────────────────────── + # We'll slide a window of 120 rows, stepping by STEP rows each time. + # STEP = 30 means each sample is offset by 30 seconds from the last. + # This gives temporal diversity — we sample from different moments. + timestamps_df = pd.read_sql_query( + "SELECT rowid, timestamp FROM layer1_sys ORDER BY timestamp ASC", + conn + ) + all_rowids = timestamps_df["id"].tolist() + + STEP = 30 # rows between window starts (= 30 seconds diversity) + + # ── slide through history, extract one feature vector per window ── + windows_collected = 0 + start_idx = 0 + + while start_idx + WINDOW_SIZE <= len(all_rowids) and windows_collected < n_samples: + + window_rowids = all_rowids[start_idx : start_idx + WINDOW_SIZE] + rowid_list = ",".join(str(r) for r in window_rowids) + + # Fetch exactly those rows from the DB + window_df = pd.read_sql_query( + f"SELECT * FROM layer1_sys WHERE rowid IN ({rowid_list}) " + f"ORDER BY timestamp ASC", + conn + ) + + if len(window_df) < WINDOW_SIZE: #to check the required size of window + + start_idx += STEP + continue + + + feature_vec = extract_features(window_df) + + if feature_vec is not None and not feature_vec.empty: + + feature_rows.append(feature_vec) + windows_collected += 1 + + if windows_collected % 50 == 0: + print(f"[cluster_trainer] Collected {windows_collected}/{n_samples} vectors...") + + start_idx += STEP # advance window by STEP rows + + except sqlite3.OperationalError as e: + print(f"[cluster_trainer] DB error: {e}") + return pd.DataFrame() + + if not feature_rows: + print("[cluster_trainer] No feature vectors collected. Check DB.") + return pd.DataFrame() + + # Stack all 1-row DataFrames into one big DataFrame + all_features = pd.concat(feature_rows, ignore_index=True) + + + available_cols = [c for c in FEATURE_COLUMNS if c in all_features.columns] + all_features = all_features[available_cols] + + print(f"[cluster_trainer] Collection complete: {len(all_features)} feature vectors, " + f"{len(available_cols)} features each") + return all_features + + + +# SCALING DOWN OF FEATURE +def scale_features(df: pd.DataFrame): + """ + Applies StandardScaler to the feature matrix. + + StandardScaler: transforms each feature to mean=0, std=1. + This is CRITICAL — without it, high-range features (thread_count) + dominate Euclidean distance and clustering becomes meaningless. + + WHY WE SAVE THE SCALER: + Because every time the cluster scaling will be different. + + ARGS: + df: DataFrame of shape (n_samples, 12) — raw feature values + + RETURNS: + X_scaled: numpy array (n_samples, 12) — scaled features + scaler: fitted StandardScaler object (save this!) + """ + print("\n[cluster_trainer] Scaling features with StandardScaler...") + + + n_before = len(df) + df_clean = df.dropna() #this will help to handle the NaN values for k means training. + n_after = len(df_clean) + if n_before != n_after: + print(f"[cluster_trainer] Dropped {n_before - n_after} rows with NaN values") + + if df_clean.empty: + raise ValueError("No valid feature vectors after dropping NaN rows.") + + scaler = StandardScaler() + X_scaled = scaler.fit_transform(df_clean.values.astype(float)) + + + print(f"[cluster_trainer] Scaled {X_scaled.shape[0]} samples × {X_scaled.shape[1]} features") + print(f"[cluster_trainer] Feature means (should all be ~0): " + f"{X_scaled.mean(axis=0).round(3)}") + print(f"[cluster_trainer] Feature stds (should all be ~1): " + f"{X_scaled.std(axis=0).round(3)}") + + return X_scaled, scaler, df_clean # return df_clean too (NaN rows dropped) + + +#ELBOW METHOD +def find_optimal_k(X_scaled: np.ndarray, k_range=range(2, 11)) -> list: + """ + The "elbow" — where the curve bends — is the optimal k. + """ + print("\n[cluster_trainer] Running elbow method...") + results = [] + + for k in k_range: + km = KMeans( + n_clusters=k, + init='k-means++', + n_init=10, # fewer runs here — just for diagnosis + max_iter=200, + random_state=42 + ) + km.fit(X_scaled) + results.append((k, km.inertia_)) + print(f" k={k:2d} inertia={km.inertia_:10.1f}") + + # Find the elbow programmatically (largest drop in inertia reduction rate) + inertias = [r[1] for r in results] + drops = [inertias[i] - inertias[i+1] for i in range(len(inertias)-1)] + drop_reduction = [drops[i] - drops[i+1] for i in range(len(drops)-1)] + best_k_idx = drop_reduction.index(max(drop_reduction)) + 2 # +2 offset + best_k = list(k_range)[best_k_idx] + print(f"\n[cluster_trainer] Elbow suggests k={best_k} (verify visually)") + return results,best_k + + +# Collect features +df_features = collect_feature_vectors(db_path=DB_PATH) + +# Scale features +X_scaled, scaler, df_clean = scale_features(df_features) + +results, best_k = find_optimal_k(X_scaled ) +ks = [r[0] for r in results] +inertias = [r[1] for r in results] + +plt.figure(figsize=(8,5)) + +plt.plot(ks, inertias, marker='o', linewidth=2) + +plt.scatter(best_k, + inertias[ks.index(best_k)], + s=120, + color='red', + label=f"Suggested k={best_k}") + +plt.xlabel("Number of Clusters (k)") +plt.ylabel("Inertia") +plt.title("Elbow Method") +plt.xticks(ks) +plt.grid(True) +plt.legend() + +plt.show() + +#train k means +def train_kmeans(X_scaled: np.ndarray, n_clusters: int = N_CLUSTERS) -> KMeans: + """ + Fits KMeans clustering on the scaled feature matrix. + + WHAT IT PRODUCES: + model.labels_ → array of shape (n_samples,) + value 0-4: which cluster each window belongs to + model.cluster_centers_ → array of shape (5, 12) + centroid of each cluster in scaled feature space + model.inertia_ → float: total within-cluster sum of squares + lower = tighter, more distinct clusters + model.n_iter_ → how many iterations it actually took + + ARGS: + X_scaled: scaled feature matrix (n_samples, n_features) + n_clusters: number of clusters (default 5) + + RETURNS: + Fitted KMeans model. + """ + print(f"\n[cluster_trainer] Training KMeans with n_clusters={n_clusters}...") + print(f"[cluster_trainer] Input shape: {X_scaled.shape}") + + model = KMeans( + n_clusters=n_clusters, + init='k-means++', + n_init=20, + max_iter=200, + tol=1e-4, + random_state=42, + algorithm='lloyd', + verbose=0, + ) + + model.fit(X_scaled) + + print(f"[cluster_trainer] Converged in {model.n_iter_} iterations") + print(f"[cluster_trainer] Final inertia: {model.inertia_:.2f}") + + unique, counts = np.unique(model.labels_, return_counts=True) + print(f"\n[cluster_trainer] Cluster size distribution:") #this will give the bar graph representation for checking + for cid, count in zip(unique, counts): + pct = 100 * count / len(model.labels_) + bar = "█" * int(pct / 2) + print(f" Cluster {cid}: {count:4d} samples ({pct:5.1f}%) {bar}") + + return model + +#cluster_inspect + +def inspect_clusters( + model: KMeans, + df_clean: pd.DataFrame, + scaler: StandardScaler +) -> None: + """ + Prints a detailed summary of each cluster's characteristics. + + After reading this output, update CLUSTER_TO_WORKLOAD + in label_mapper.py with your findings. + + ARGS: + model: fitted KMeans model + df_clean: original (unscaled) feature DataFrame (NaN rows dropped) + scaler: the fitted StandardScaler (to inverse-transform centroids) + """ + print("\n" + "="*70) + print(" CLUSTER INSPECTION — Read this to assign workload labels") + print("="*70) + + df_labeled = df_clean.copy() + df_labeled["cluster_id"] = model.labels_ + + centroids_original = scaler.inverse_transform(model.cluster_centers_) #show the centroid in unscaled + centroids_df = pd.DataFrame( + centroids_original, + columns=df_clean.columns, + index=[f"Cluster_{i}" for i in range(model.n_clusters)] + ) + + for cid in range(model.n_clusters): + subset = df_labeled[df_labeled["cluster_id"] == cid] + n = len(subset) + pct = 100 * n / len(df_labeled) + + print(f"\n{'─'*60}") + print(f" CLUSTER {cid} ({n} samples, {pct:.1f}%)") + print(f"{'─'*60}") + print(f" {'Feature':<25} {'Mean':>10} {'Hint'}") + print(f" {'─'*25} {'─'*10} {'─'*20}") + + # Print each feature with an interpretation hint + hints = { + "cpu_mean": "high → CPU-heavy workload", + "cpu_max": "high → peak CPU spikes", + "cpu_variance": "high → bursty CPU usage", + "ram_mean": "high → memory-heavy app", + "ram_growth_rate": "positive → memory growing (possible leak or load)", + "network_mean": "high → network activity (video call, browsing)", + "disk_io_mean": "high → disk-heavy (compiling, large file ops)", + "process_count_mean":"high → many processes running", + "thread_count_mean": "high → heavily threaded app", + "vscode_active": "1 = VSCode detected → likely Coding", + "browser_active": "1 = browser open → Browsing or Video Call", + "compiler_active": "1 = compiler (gcc/make) → Compiling", + } + + for col in df_clean.columns: + val = subset[col].mean() + hint = hints.get(col, "") + print(f" {col:<25} {val:>10.3f} {hint}") + + print("\n" + "="*70) + print(" ACTION REQUIRED:") + print(" Look at the output above. For each cluster, decide:") + print(" - Which workload type does it most resemble?") + print(" - Update CLUSTER_TO_WORKLOAD in label_mapper.py") + print("\n Example mapping (YOURS WILL DIFFER):") + print(" CLUSTER_TO_WORKLOAD = {") + print(" 0: 'Coding', # vscode_active≈1, moderate cpu") + print(" 1: 'Compiling', # compiler_active≈1, high cpu") + print(" 2: 'Idle', # low everything") + print(" 3: 'Video_Call', # high network, browser_active≈1") + print(" 4: 'Gaming', # high cpu, no vscode/compiler") + print(" }") + print("="*70) + + #pseudo code generation + +def generate_pseudo_labels( + model: KMeans, + df_clean: pd.DataFrame, + cluster_to_workload: dict +) -> pd.DataFrame: + """ + Attaches cluster IDs and workload names to the feature DataFrame. + + PURPOSE: + This is the BRIDGE between unsupervised (KMeans) and supervised (XGBoost). + + KMeans discovered groupings in unlabeled data. + You gave those groups human-readable names (in cluster_to_workload). + Now we attach those names to every feature vector. + + The resulting DataFrame is the TRAINING DATA for XGBoost: + - features (cpu_mean, vscode_active, etc.) are the X + - workload_label (Coding, Gaming, etc.) is the y + + ARGS: + model: fitted KMeans model (has .labels_ attribute) + df_clean: feature DataFrame used to train KMeans + cluster_to_workload: dict mapping {0: 'Coding', 1: 'Gaming', ...} + (comes from label_mapper.py — YOU fill this in) + + RETURNS: + DataFrame with all original features + 'cluster_id' + 'workload_label' + """ + df_out = df_clean.copy() + df_out["cluster_id"] = model.labels_ + df_out["workload_label"] = [cluster_to_workload.get(c, f"Unknown_{c}") + for c in model.labels_] + + print(f"\n[cluster_trainer] Pseudo-label distribution:") + print(df_out["workload_label"].value_counts().to_string()) + + return df_out + + + + # SAVE MODELS + +def save_models(model: KMeans, scaler: StandardScaler, save_dir: str = MODELS_DIR) -> None: + """ + Saves the trained KMeans model and StandardScaler to disk. + + PURPOSE: + Both the model and scaler must be saved together. + At inference time (every 30 sec), we: + 1. Load the SAME scaler → apply to new feature vector + 2. Load the SAME KMeans → predict cluster (used for pseudo-label + generation if retraining; NOT used in runtime inference path) + + If you save the model but not the scaler, and retrain the scaler + later on different data, the cluster assignments will be meaningless. + + FILES SAVED: + models_saved/kmeans_model.pkl → the KMeans model + models_saved/feature_scaler.pkl → the StandardScaler + models_saved/feature_columns.pkl → list of feature column names in order + """ + os.makedirs(save_dir, exist_ok=True) + + model_path = os.path.join(save_dir, "kmeans_model.pkl") + scaler_path = os.path.join(save_dir, "feature_scaler.pkl") + cols_path = os.path.join(save_dir, "feature_columns.pkl") + + joblib.dump(model, model_path) + joblib.dump(scaler, scaler_path) + joblib.dump(FEATURE_COLUMNS, cols_path) + + print(f"\n[cluster_trainer] Models saved:") + print(f" KMeans → {model_path}") + print(f" Scaler → {scaler_path}") + print(f" Columns → {cols_path}") + +# utils load (used by optimizer and classifier) + +def load_scaler(save_dir: str = MODELS_DIR) -> StandardScaler: + """ + Loads the saved StandardScaler. + + Returns: fitted StandardScaler, or None if not found. + """ + scaler_path = os.path.join(save_dir, "feature_scaler.pkl") + if not os.path.exists(scaler_path): + print(f"[cluster_trainer] Scaler not found at {scaler_path}. Run training first.") + return None + return joblib.load(scaler_path) + + +def load_kmeans(save_dir: str = MODELS_DIR) -> KMeans: + """ + Loads the saved KMeans model. + + Returns: fitted KMeans, or None if not found. + """ + model_path = os.path.join(save_dir, "kmeans_model.pkl") + if not os.path.exists(model_path): + print(f"[cluster_trainer] KMeans not found at {model_path}. Run training first.") + return None + return joblib.load(model_path) + + +def predict_cluster( + feature_vector: np.ndarray, + model: KMeans = None, + scaler: StandardScaler = None +) -> int: + """ + Predicts the cluster ID for a single new feature vector. + + ARGS: + feature_vector: 1D array of shape (12,) — one window's features + model: KMeans model (loaded from disk if None) + scaler: StandardScaler (loaded from disk if None) + + RETURNS: + cluster_id (int 0–4) + """ + if model is None: + model = load_kmeans() + if scaler is None: + scaler = load_scaler() + if model is None or scaler is None: + return -1 + + vec = np.array(feature_vector).reshape(1, -1) # shape (1, 12) + vec_scaled = scaler.transform(vec) # apply same scaler as training + cluster_id = model.predict(vec_scaled)[0] + return int(cluster_id) + +# main pipeline + +def run_training_pipeline( + db_path: str = DB_PATH, + n_samples: int = MIN_SAMPLES_REQUIRED, + run_elbow: bool = False, + cluster_to_workload: dict = None, +) -> pd.DataFrame: + """ + Full KMeans training pipeline from raw DB to pseudo-labeled dataset. + + ARGS: + db_path: path to SQLite DB with telemetry + n_samples: how many feature windows to collect + run_elbow: if True, runs elbow method to suggest optimal k + cluster_to_workload: optional mapping {0: 'Coding', ...} + if None, trains and inspects only (you fill mapping later) + + RETURNS: + pseudo_labeled_df if cluster_to_workload provided, else None + """ + print("\n" + "═"*60) + print(" FocusOS — KMeans Cluster Training Pipeline") + print("═"*60) + + # ── 1. Collect feature vectors + df_features = collect_feature_vectors(db_path=db_path, n_samples=n_samples) + + if df_features.empty: + print("[cluster_trainer] ABORT: Not enough data. Collect more telemetry.") + return None + + if len(df_features) < 50: + print(f"[cluster_trainer] WARNING: Only {len(df_features)} samples. " + f"Results may be poor. Recommended minimum: 200.") + + # ── 2. Scale features + X_scaled, scaler, df_clean = scale_features(df_features) + + # ── 3. Elbow method + if run_elbow: + find_optimal_k(X_scaled) + + # ── 4. Train KMeans + model = train_kmeans(X_scaled, n_clusters=N_CLUSTERS) + + # ── 5. Inspect clusters + inspect_clusters(model, df_clean, scaler) + + # ── 6. Save models + save_models(model, scaler) + + # ── 7. Generate pseudo-labels (only if mapping provided) + if cluster_to_workload is not None: + df_labeled = generate_pseudo_labels(model, df_clean, cluster_to_workload) + + # Save labeled dataset for XGBoost training + out_path = os.path.join(MODELS_DIR, "pseudo_labeled_dataset.csv") + df_labeled.to_csv(out_path, index=False) + print(f"\n[cluster_trainer] Pseudo-labeled dataset saved → {out_path}") + print(f"[cluster_trainer] Feed this into classifier.py to train XGBoost") + return df_labeled + + print("\n[cluster_trainer] Training complete.") + print("[cluster_trainer] Next step: read the cluster inspection above,") + print("[cluster_trainer] update CLUSTER_TO_WORKLOAD in label_mapper.py,") + print("[cluster_trainer] then re-run with cluster_to_workload argument.") + return None + + +if __name__ == "__main__": + """ + TYPICAL WORKFLOW: + + FIRST RUN (no mapping yet): + python -m focusos.models.cluster_trainer + → Collects data, trains, prints cluster inspection + → You read the output and fill in CLUSTER_TO_WORKLOAD below + + SECOND RUN (with your mapping): + → Uncomment and fill MY_MAPPING below based on first run output + → Re-run to generate pseudo_labeled_dataset.csv + → Then run classifier.py to train XGBoost on it + """ + + # ── Fill this in after first run, based on inspect_clusters() output ──,Numbers on the LEFT (0–4) come from KMeans,Strings on the RIGHT are what you name each cluster after reading output.,Your mapping WILL differ from this example — read inspect_clusters() output! + MY_MAPPING = None # ← set to None on first run; fill in after inspection + + run_training_pipeline( + db_path=DB_PATH, + n_samples=MIN_SAMPLES_REQUIRED, + run_elbow=False, # set True on first run to verify k=5 + cluster_to_workload=MY_MAPPING, + ) \ No newline at end of file From 9a4f72eb337a0e21560f06106450de1bffdde836 Mon Sep 17 00:00:00 2001 From: khyati-1711 Date: Fri, 17 Jul 2026 19:56:08 +0530 Subject: [PATCH 24/39] add label mapper --- focusos/models/label_mapper.py | 159 +++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 focusos/models/label_mapper.py diff --git a/focusos/models/label_mapper.py b/focusos/models/label_mapper.py new file mode 100644 index 0000000..ef4be53 --- /dev/null +++ b/focusos/models/label_mapper.py @@ -0,0 +1,159 @@ +# Fill this in after reading inspect_clusters() output from cluster_trainer.py. +# Keys are cluster IDs from KMeans (always 0 to N_CLUSTERS-1 = 0 to 4) +# Values are the workload name that we will decided from reading the cluster summary + +CLUSTER_TO_WORKLOAD = { + 0: "Coding", # ← replace this based on our cluster_trainer output + 1: "Compiling", + 2: "Idle", + 3: "Video_Call", + 4: "Gaming", +} + +#FUNCTION to check the correct mapping here +# Reverse mapping — useful for debugging +# e.g. WORKLOAD_TO_CLUSTER["Coding"] → 0 +WORKLOAD_TO_CLUSTER = {v: k for k, v in CLUSTER_TO_WORKLOAD.items()} + + +VALID_WORKLOADS = list(CLUSTER_TO_WORKLOAD.values())# All valid workload names as a list + + + +# OPTIMIZATION PROFILES + +WORKLOAD_OPTIMIZATION_PROFILE = { + "Coding": { + "process_keywords": ["code", "code-insiders", "vsls-agent", "sublime", "vim", "nvim"], + "deprioritize_others": True, + "nice_value": -5, + "description": "Boosting editor and language server priority", + }, + "Compiling": { + "process_keywords": ["gcc", "g++", "clang", "make", "ninja", "rustc", "javac", "cc1"], + "deprioritize_others": True, + "nice_value": -10, + # Compiling benefits most from CPU priority + "description": "Boosting compiler processes for faster build times", + }, + "Video_Call": { + "process_keywords": ["zoom", "teams", "chrome", "firefox", "brave", "msedge"], + "deprioritize_others": True, + "nice_value": -5, + "description": "Boosting video call app for smooth audio and video", + }, + "Gaming": { + "process_keywords": [], + "deprioritize_others": True, + "nice_value": 0, + "description": "Deprioritizing background processes for smoother gameplay", + }, + "Idle": { + "process_keywords": [], + "deprioritize_others": False, + "nice_value": 0, + # System is idle — no point changing priorities + "description": "System idle — no optimization applied", + }, +} + + +# ───────────────────────────────────────────────────────────────────────────── +# HELPER FUNCTIONS — imported by other modules +# ───────────────────────────────────────────────────────────────────────────── + +def get_workload_name(cluster_id: int) -> str: + """ + Converts a KMeans cluster ID (integer) to a workload name (string). + RETURNS: + Workload name string e.g. "Coding" + Returns "Unknown_" if cluster_id not in mapping + """ + return CLUSTER_TO_WORKLOAD.get(int(cluster_id), f"Unknown_{cluster_id}") + + +def get_cluster_id(workload_name: str) -> int: + """ + Reverse of get_workload_name — converts workload name to cluster ID. + RETURNS: + cluster_id integer, or -1 if not found + """ + return WORKLOAD_TO_CLUSTER.get(workload_name, -1) + + +def get_optimization_profile(workload_name: str) -> dict: + """ + Returns the optimization profile for a given workload name. + RETURNS: + dict with keys: process_keywords, deprioritize_others, + nice_value, description + Returns a safe no-op profile for unknown workloads. + """ + return WORKLOAD_OPTIMIZATION_PROFILE.get(workload_name, { + "process_keywords": [], + "deprioritize_others": False, + "nice_value": 0, + "description": f"Unknown workload '{workload_name}' — no optimization", + }) + + +def validate_mapping() -> bool: + """ + Sanity check that your CLUSTER_TO_WORKLOAD is properly filled in. + RETURNS: + True if everything looks good, False if there are issues. + """ + # Import here to avoid circular import issues at module load time + try: + from focusos.models.cluster_trainer import N_CLUSTERS + except ImportError: + N_CLUSTERS = 5 # fallback + + all_ok = True + + # Check 1: correct cluster IDs present + expected_ids = set(range(N_CLUSTERS)) + actual_ids = set(CLUSTER_TO_WORKLOAD.keys()) + if expected_ids != actual_ids: + print(f"[label_mapper] ERROR: Expected IDs {expected_ids}, got {actual_ids}") + print(f" Missing: {expected_ids - actual_ids}") + print(f" Extra: {actual_ids - expected_ids}") + all_ok = False + + # Check 2: no duplicate workload names + names = list(CLUSTER_TO_WORKLOAD.values()) + if len(names) != len(set(names)): + duplicates = [n for n in names if names.count(n) > 1] + print(f"[label_mapper] ERROR: Duplicate workload names: {duplicates}") + all_ok = False + + # Check 3: all workloads have optimization profiles + for name in names: + if name not in WORKLOAD_OPTIMIZATION_PROFILE: + print(f"[label_mapper] WARNING: '{name}' has no optimization profile. " + f"Optimizer will apply no-op for this workload.") + + # Check 4: no placeholder names + placeholder_check = [n for n in names if n.startswith("Unknown") or n == ""] + if placeholder_check: + print(f"[label_mapper] WARNING: Placeholder names found: {placeholder_check}") + print(f" Did you forget to fill in CLUSTER_TO_WORKLOAD?") + all_ok = False + + if all_ok: + print(f"[label_mapper] Mapping OK: {CLUSTER_TO_WORKLOAD}") + + return all_ok + + +#running the file +if __name__ == "__main__": + print("Validating label_mapper.py...\n") + validate_mapping() + + print("\nTesting get_workload_name():") + for cid in range(5): + name = get_workload_name(cid) + profile = get_optimization_profile(name) + print(f" Cluster {cid} → '{name}' | nice={profile['nice_value']} " + f"| keywords={profile['process_keywords'][:2]}...") From 33827289ae4cbd3366e7be8d3e233d865080aae8 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 17 Jul 2026 20:39:56 +0530 Subject: [PATCH 25/39] Optimisation initial commit --- focusos/optimisation.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 focusos/optimisation.py diff --git a/focusos/optimisation.py b/focusos/optimisation.py new file mode 100644 index 0000000..134e796 --- /dev/null +++ b/focusos/optimisation.py @@ -0,0 +1,10 @@ +import psutil +import os +import sqlite3 +import time +import json +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from config import DBPATH +from config import compilers # yet not written in the config files- > will update soon +from config import browsers # yet not written in the config files- > will update soon +from config import IDEs # yet not written in the config files- > will update soon \ No newline at end of file From 57f0315ecd0daa0e94839e5306b1cf9643ad0fad Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 17 Jul 2026 21:58:11 +0530 Subject: [PATCH 26/39] added optimisation function for various workloads --- focusos/optimisation.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index 134e796..934b350 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -7,4 +7,34 @@ from config import DBPATH from config import compilers # yet not written in the config files- > will update soon from config import browsers # yet not written in the config files- > will update soon -from config import IDEs # yet not written in the config files- > will update soon \ No newline at end of file +from config import IDEs # yet not written in the config files- > will update soon +def apply_optimization(workload: str, confidence: float) -> bool: + if confidence < 0.80: + return False + actions = [] + total_cores = os.cpu_count() or 4 + if workload == "compiler": + compiler_prioritized_count = 0 + for c in compilers: + compiler_prioritized_count += prioritize_process(c, 10) + if compiler_prioritized_count > 0: + actions.append(f"Deprioritise {compiler_prioritized_count} build processes to nice=10") + pin_count = pin_process_to_cores("gcc", [0, 1]) + if pin_count > 0: + actions.append(f"Pin {pin_count} compiler tasks to cores [0,1]") + elif workload.lower() == "gaming": + #will reset the affinity of the bg processes to free up gaming cores + restore_count = pin_process_to_cores("gaming", list(range(total_cores))) + if restore_count > 0: + print(f"Restoring full affinity for the background browsers") + elif workload.lower() == "coding": + ide_count = prioritize_process("code", -2) + if ide_count > 0: + actions.append(f"Prioritise {ide_count} IDE processes to nice=-2") + if len(actions) > 0: + try: + log_optimization_result(workload, confidence, actions) + return True + except Exception as e: + print(f"Database logging error :{e}") + return True \ No newline at end of file From 65ed102db86ebee96d3d3531c95148563e9778d2 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 17 Jul 2026 22:02:53 +0530 Subject: [PATCH 27/39] added func pin_process_to_cores --- focusos/optimisation.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index 934b350..aa196a6 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -37,4 +37,21 @@ def apply_optimization(workload: str, confidence: float) -> bool: return True except Exception as e: print(f"Database logging error :{e}") - return True \ No newline at end of file + return True + + def pin_process_to_cores(proc_name: str,cores: list(int)) -> int: + optimised_count=0 + for proc in psutil.process_iter(attrs=['pid','name']): + try: + current_name=proc.info['name'] or "" + if proc_name.lower() in current_name.lower(): + pid=proc.info['info'] + process_obj=psutil.Process(pid) + + process_obj.cpu_affinity(core_list) + optimised_count+=1 + except(psutil.NoSuchProcess,psutil.AccessDenied,psutil.ZombieProcess): + continue + except Exception: + continue + return optimised_count \ No newline at end of file From 150bd4fb73466a72e240b7fd6dd405b17b069e16 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 17 Jul 2026 23:34:20 +0530 Subject: [PATCH 28/39] added and improvised optimisation logics --- focusos/optimisation.py | 76 ++++++++++++++++++++++++++++++----------- 1 file changed, 56 insertions(+), 20 deletions(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index aa196a6..382f9f9 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -2,44 +2,80 @@ import os import sqlite3 import time +import sys import json sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from config import DBPATH -from config import compilers # yet not written in the config files- > will update soon -from config import browsers # yet not written in the config files- > will update soon -from config import IDEs # yet not written in the config files- > will update soon +from config import COMPILERS # yet not written in the config files- > will update soon +from config import BROWSERS # yet not written in the config files- > will update soon +from config import CALLS # yet not written in the config files- > will update soon +from config import IDES # yet not written in the config files- > will update soon def apply_optimization(workload: str, confidence: float) -> bool: if confidence < 0.80: + print(f"Optimisation aborted: Confidence for {workload} is less than 80%") return False actions = [] total_cores = os.cpu_count() or 4 - if workload == "compiler": - compiler_prioritized_count = 0 - for c in compilers: - compiler_prioritized_count += prioritize_process(c, 10) - if compiler_prioritized_count > 0: - actions.append(f"Deprioritise {compiler_prioritized_count} build processes to nice=10") - pin_count = pin_process_to_cores("gcc", [0, 1]) - if pin_count > 0: - actions.append(f"Pin {pin_count} compiler tasks to cores [0,1]") + # isolating backgrounds tasks by allocating them unto the last core + background_cores=[total_cores-1] + foreground_cores=list(range(0,total_cores-1)) if total_cores > 1 else [0] + if workload.lower()=="compiler": + #deprioritising the compilers + count_nice=sum(prioritise_process(compiler,15) for compiler in COMPILERS) + count_affinity=sum(pin_process_to_cores(compiler,background_cores) for compiler in COMPILERS) + count_io = sum(set_io_priority_by_name(compiler, 3) for compiler in COMPILERS) + if count_nice > 0: + actions.append(f"Deprioritise {count_nice},pinned {core_affinity} to core(s) {background_cores},set {count_io} to idle IO") + + elif workload.lower() == "gaming": #will reset the affinity of the bg processes to free up gaming cores - restore_count = pin_process_to_cores("gaming", list(range(total_cores))) - if restore_count > 0: - print(f"Restoring full affinity for the background browsers") + count_nice=prioritise_process("steam",-5) + count_nice+=prioritise_process("game-process",-10) + count_affinity=pin_process_to_cores("game-process",list(range(total_cores))) + if count_nice>0: + actions.append(f"Prioritised {count_nice},granted {counted_affinity} full core affinity") + + elif workload.lower() == "coding": - ide_count = prioritize_process("code", -2) - if ide_count > 0: - actions.append(f"Prioritise {ide_count} IDE processes to nice=-2") + count_nice=prioritise_process(ide,-5) for ide in IDEs + count_affinity=pin_process_to_cores(browser,background_cores) for browser in BROWSERS + action.append(f"Prioritised{count_nice},pinned {cpu_affinity} browser process to cores {background_cores}") + + + elif workload.lower()="browsing": + #reset all the process to normal priority and spread across all cores + count_nice=sum(prioritise_process(browser,0) for browser in BROWSERS) + count_affinity=sum(pin_process_to_cores(browser,list(range(total_cores))) for browser BROWSERS) + action.append(f"Browsing: Restored {count_nice} browser processes to normal nice priority across {count_aff} cores") + + + elif workload.lower()=="video call": + #prioritising the communication + count_nice=sum(prioritise_process(call,-5) for call in CALLS) + actions.append(f"Video calling :Prioritising {count_nice} communication process") + + elif workload.lower() == "idle": + # restore IDEs, browsers, and communication tools to baseline priority and full affinity + count_nice = sum(prioritise_process(ide, 0) for ide in IDES) + count_nice += sum(prioritise_process(browser, 0) for browser in BROWSERS) + count_nice += sum(prioritise_process(call, 0) for call in CALLS) + + count_aff = sum(pin_process_to_cores(browser, list(range(total_cores))) for browser in BROWSERS) + actions.append( + f"Idle: Restored {count_nice} processes to normal scheduling and granted {count_aff} full core affinity." + ) + # if len(actions) > 0: try: log_optimization_result(workload, confidence, actions) + print(f"Optimization Successful: {actions[-1]}") return True except Exception as e: print(f"Database logging error :{e}") return True - def pin_process_to_cores(proc_name: str,cores: list(int)) -> int: +def pin_process_to_cores(proc_name: str,cores: list[int]) -> int: optimised_count=0 for proc in psutil.process_iter(attrs=['pid','name']): try: @@ -48,7 +84,7 @@ def pin_process_to_cores(proc_name: str,cores: list(int)) -> int: pid=proc.info['info'] process_obj=psutil.Process(pid) - process_obj.cpu_affinity(core_list) + process_obj.cpu_affinity(cores) optimised_count+=1 except(psutil.NoSuchProcess,psutil.AccessDenied,psutil.ZombieProcess): continue From c6a7728c1e9e2d7bb6e447b4027b4151a21eb2a1 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 17 Jul 2026 23:36:14 +0530 Subject: [PATCH 29/39] fix: ignore SQLite WAL sidecar files (*.db-shm, *.db-wal) --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 9f59571..993f1ba 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ config.ini # Local data and generated artifacts cognios_telemetry.db *.db +*.db-shm +*.db-wal data/models/*.pt data/traces/* From 27afaafa6fa79932279a3803cd360a0832126b2d Mon Sep 17 00:00:00 2001 From: NikhByte Date: Fri, 17 Jul 2026 23:57:09 +0530 Subject: [PATCH 30/39] added optimisation result into db table focusos_events --- focusos/optimisation.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index 382f9f9..2276fc9 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -90,4 +90,16 @@ def pin_process_to_cores(proc_name: str,cores: list[int]) -> int: continue except Exception: continue - return optimised_count \ No newline at end of file + return optimised_count + + def log_optimization_result(workload: str, confidence: float, actions: list[str]): + #logging all the optimisation event to the database + try: + with sqlite3.connect(DBPATH) as conn: + cur = conn.cursor() + with conn: + cur.execute("""CREATE TABLE IF NOT EXISTS focusos_events (timestamp REAL,workload TEXT,confidence INTEGER,actions TEXT)""") + cur.execute("""INSERT INTO focusos_events (timestamp, workload, confidence, actions_json)VALUES (?, ?, ?, ?)""", (time.time(), workload, confidence, json.dumps(actions))) + conn.commit() + except Exception as e: + print(f"Database logging error {e}") \ No newline at end of file From 008f038f7303731f1c974220cebe344799910357 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 00:02:11 +0530 Subject: [PATCH 31/39] added process_prioritise --- focusos/optimisation.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index 2276fc9..611fd5a 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -23,7 +23,7 @@ def apply_optimization(workload: str, confidence: float) -> bool: #deprioritising the compilers count_nice=sum(prioritise_process(compiler,15) for compiler in COMPILERS) count_affinity=sum(pin_process_to_cores(compiler,background_cores) for compiler in COMPILERS) - count_io = sum(set_io_priority_by_name(compiler, 3) for compiler in COMPILERS) + count_io = sum(prioritise_process(compiler, 3) for compiler in COMPILERS) if count_nice > 0: actions.append(f"Deprioritise {count_nice},pinned {core_affinity} to core(s) {background_cores},set {count_io} to idle IO") @@ -33,7 +33,6 @@ def apply_optimization(workload: str, confidence: float) -> bool: count_nice=prioritise_process("steam",-5) count_nice+=prioritise_process("game-process",-10) count_affinity=pin_process_to_cores("game-process",list(range(total_cores))) - if count_nice>0: actions.append(f"Prioritised {count_nice},granted {counted_affinity} full core affinity") @@ -43,7 +42,7 @@ def apply_optimization(workload: str, confidence: float) -> bool: action.append(f"Prioritised{count_nice},pinned {cpu_affinity} browser process to cores {background_cores}") - elif workload.lower()="browsing": + elif workload.lower()=="browsing": #reset all the process to normal priority and spread across all cores count_nice=sum(prioritise_process(browser,0) for browser in BROWSERS) count_affinity=sum(pin_process_to_cores(browser,list(range(total_cores))) for browser BROWSERS) @@ -84,13 +83,29 @@ def pin_process_to_cores(proc_name: str,cores: list[int]) -> int: pid=proc.info['info'] process_obj=psutil.Process(pid) - process_obj.cpu_affinity(cores) + process_obj.cpu_affinity(cores) optimised_count+=1 except(psutil.NoSuchProcess,psutil.AccessDenied,psutil.ZombieProcess): continue except Exception: continue return optimised_count +#it safely adjusts the cpu scheduling priority 19 to -20(nicest) +def prioritise_process(proc_name: str, nice_val: int) -> int: + optimized_count = 0 + for proc in psutil.process_iter(attrs=['pid', 'name']): + try: + current_name = proc.info['name'] or "" + if proc_name.lower() in current_name.lower(): + pid = proc.info['pid'] + process_obj = psutil.Process(pid) + process_obj.nice(nice_val) + optimized_count += 1 + except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): + continue + except Exception: + continue + return optimized_count def log_optimization_result(workload: str, confidence: float, actions: list[str]): #logging all the optimisation event to the database @@ -102,4 +117,4 @@ def log_optimization_result(workload: str, confidence: float, actions: list[str] cur.execute("""INSERT INTO focusos_events (timestamp, workload, confidence, actions_json)VALUES (?, ?, ?, ?)""", (time.time(), workload, confidence, json.dumps(actions))) conn.commit() except Exception as e: - print(f"Database logging error {e}") \ No newline at end of file + print(f"Database logging error {e}") From cbf0243215a18f72be73ee2dd567a7c446f53ff8 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 00:25:57 +0530 Subject: [PATCH 32/39] added set_io_priority func --- focusos/optimisation.py | 42 ++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index 611fd5a..89adda8 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -23,7 +23,7 @@ def apply_optimization(workload: str, confidence: float) -> bool: #deprioritising the compilers count_nice=sum(prioritise_process(compiler,15) for compiler in COMPILERS) count_affinity=sum(pin_process_to_cores(compiler,background_cores) for compiler in COMPILERS) - count_io = sum(prioritise_process(compiler, 3) for compiler in COMPILERS) + count_io = sum(set_io_priority(compiler, 3) for compiler in COMPILERS) if count_nice > 0: actions.append(f"Deprioritise {count_nice},pinned {core_affinity} to core(s) {background_cores},set {count_io} to idle IO") @@ -105,16 +105,32 @@ def prioritise_process(proc_name: str, nice_val: int) -> int: continue except Exception: continue - return optimized_count + return optimized_count +def set_io_priority(proc_name: str,io_class: int) -> int: + optimised_count=0 + for proc in psutil.process_iter(attrs=["pid","name"]): + current_pid=proc.info["pid"] + try: + current_name=proc.info["name"] or "" + if proc_name.lower() in current_name.lower(): + process_obj=psutil.Process(current_pid) + process_obj.ionice(io_class) + optimised_count+=1 + except(psutil.NoSuchProcess,psutil.ZombieProcess,psutil.AccessDenied): + continue + return optimised_count + - def log_optimization_result(workload: str, confidence: float, actions: list[str]): - #logging all the optimisation event to the database - try: - with sqlite3.connect(DBPATH) as conn: - cur = conn.cursor() - with conn: - cur.execute("""CREATE TABLE IF NOT EXISTS focusos_events (timestamp REAL,workload TEXT,confidence INTEGER,actions TEXT)""") - cur.execute("""INSERT INTO focusos_events (timestamp, workload, confidence, actions_json)VALUES (?, ?, ?, ?)""", (time.time(), workload, confidence, json.dumps(actions))) - conn.commit() - except Exception as e: - print(f"Database logging error {e}") + + +def log_optimization_result(workload: str, confidence: float, actions: list[str]): + #logging all the optimisation event to the database + try: + with sqlite3.connect(DBPATH) as conn: + cur = conn.cursor() + with conn: + cur.execute("""CREATE TABLE IF NOT EXISTS focusos_events (timestamp REAL,workload TEXT,confidence INTEGER,actions TEXT)""") + cur.execute("""INSERT INTO focusos_events (timestamp, workload, confidence, actions_json)VALUES (?, ?, ?, ?)""", (time.time(), workload, confidence, json.dumps(actions))) + conn.commit() + except Exception as e: + print(f"Database logging error {e}") From 5d354e97c4715cb64d64e73e146f41a1a03e52e4 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 00:36:04 +0530 Subject: [PATCH 33/39] fix: minor syntax fixes --- focusos/optimisation.py | 78 ++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 32 deletions(-) diff --git a/focusos/optimisation.py b/focusos/optimisation.py index 89adda8..2714063 100644 --- a/focusos/optimisation.py +++ b/focusos/optimisation.py @@ -5,7 +5,7 @@ import sys import json sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from config import DBPATH +from config import DB_PATH from config import COMPILERS # yet not written in the config files- > will update soon from config import BROWSERS # yet not written in the config files- > will update soon from config import CALLS # yet not written in the config files- > will update soon @@ -25,7 +25,7 @@ def apply_optimization(workload: str, confidence: float) -> bool: count_affinity=sum(pin_process_to_cores(compiler,background_cores) for compiler in COMPILERS) count_io = sum(set_io_priority(compiler, 3) for compiler in COMPILERS) if count_nice > 0: - actions.append(f"Deprioritise {count_nice},pinned {core_affinity} to core(s) {background_cores},set {count_io} to idle IO") + actions.append(f"Deprioritised {count_nice} compiler(s), pinned {count_affinity} to core(s) {background_cores}, set {count_io} to idle IO") elif workload.lower() == "gaming": @@ -33,20 +33,23 @@ def apply_optimization(workload: str, confidence: float) -> bool: count_nice=prioritise_process("steam",-5) count_nice+=prioritise_process("game-process",-10) count_affinity=pin_process_to_cores("game-process",list(range(total_cores))) - actions.append(f"Prioritised {count_nice},granted {counted_affinity} full core affinity") + if count_nice > 0: + actions.append(f"Prioritised {count_nice} game process(es), granted {count_affinity} full core affinity") elif workload.lower() == "coding": - count_nice=prioritise_process(ide,-5) for ide in IDEs - count_affinity=pin_process_to_cores(browser,background_cores) for browser in BROWSERS - action.append(f"Prioritised{count_nice},pinned {cpu_affinity} browser process to cores {background_cores}") + count_nice = sum(prioritise_process(ide, -5) for ide in IDES) + count_affinity = sum(pin_process_to_cores(browser, background_cores) for browser in BROWSERS) + if count_nice > 0: + actions.append(f"Prioritised {count_nice} IDE process(es), pinned {count_affinity} browser(s) to cores {background_cores}") elif workload.lower()=="browsing": #reset all the process to normal priority and spread across all cores count_nice=sum(prioritise_process(browser,0) for browser in BROWSERS) - count_affinity=sum(pin_process_to_cores(browser,list(range(total_cores))) for browser BROWSERS) - action.append(f"Browsing: Restored {count_nice} browser processes to normal nice priority across {count_aff} cores") + count_affinity = sum(pin_process_to_cores(browser, list(range(total_cores))) for browser in BROWSERS) + if count_nice > 0: + actions.append(f"Browsing: Restored {count_nice} browser(s) to normal nice priority across {count_affinity} core(s)") elif workload.lower()=="video call": @@ -80,7 +83,7 @@ def pin_process_to_cores(proc_name: str,cores: list[int]) -> int: try: current_name=proc.info['name'] or "" if proc_name.lower() in current_name.lower(): - pid=proc.info['info'] + pid=proc.info['pid'] process_obj=psutil.Process(pid) process_obj.cpu_affinity(cores) @@ -92,20 +95,21 @@ def pin_process_to_cores(proc_name: str,cores: list[int]) -> int: return optimised_count #it safely adjusts the cpu scheduling priority 19 to -20(nicest) def prioritise_process(proc_name: str, nice_val: int) -> int: - optimized_count = 0 - for proc in psutil.process_iter(attrs=['pid', 'name']): - try: - current_name = proc.info['name'] or "" - if proc_name.lower() in current_name.lower(): - pid = proc.info['pid'] - process_obj = psutil.Process(pid) - process_obj.nice(nice_val) - optimized_count += 1 - except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): - continue - except Exception: - continue - return optimized_count + """Safely adjusts the CPU scheduling priority (nice: -20 highest to 19 lowest).""" + optimised_count = 0 + for proc in psutil.process_iter(attrs=['pid', 'name']): + try: + current_name = proc.info['name'] or "" + if proc_name.lower() in current_name.lower(): + pid = proc.info['pid'] + process_obj = psutil.Process(pid) + process_obj.nice(nice_val) + optimised_count += 1 + except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): + continue + except Exception: + continue + return optimised_count def set_io_priority(proc_name: str,io_class: int) -> int: optimised_count=0 for proc in psutil.process_iter(attrs=["pid","name"]): @@ -115,7 +119,7 @@ def set_io_priority(proc_name: str,io_class: int) -> int: if proc_name.lower() in current_name.lower(): process_obj=psutil.Process(current_pid) process_obj.ionice(io_class) - optimised_count+=1 + optimised_count += 1 except(psutil.NoSuchProcess,psutil.ZombieProcess,psutil.AccessDenied): continue return optimised_count @@ -124,13 +128,23 @@ def set_io_priority(proc_name: str,io_class: int) -> int: def log_optimization_result(workload: str, confidence: float, actions: list[str]): - #logging all the optimisation event to the database + """Log all optimisation events to the focusos_events database table.""" try: - with sqlite3.connect(DBPATH) as conn: - cur = conn.cursor() - with conn: - cur.execute("""CREATE TABLE IF NOT EXISTS focusos_events (timestamp REAL,workload TEXT,confidence INTEGER,actions TEXT)""") - cur.execute("""INSERT INTO focusos_events (timestamp, workload, confidence, actions_json)VALUES (?, ?, ?, ?)""", (time.time(), workload, confidence, json.dumps(actions))) - conn.commit() + with sqlite3.connect(DB_PATH) as conn: + cur = conn.cursor() + cur.execute(""" + CREATE TABLE IF NOT EXISTS focusos_events ( + timestamp REAL, + workload TEXT, + confidence REAL, + actions TEXT + ) + """) + cur.execute( + """INSERT INTO focusos_events (timestamp, workload, confidence, actions) + VALUES (?, ?, ?, ?)""", + (time.time(), workload, confidence, json.dumps(actions)) + ) + # `with sqlite3.connect(...) as conn` auto-commits on exit except Exception as e: - print(f"Database logging error {e}") + print(f"Database logging error: {e}") From 7e2ec2a7d0654b51a58dfcbb35b85ab8da26da95 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 14:56:46 +0530 Subject: [PATCH 34/39] minor update in the codebase --- focusos/cnn_classifier.py | 1 - focusos/heatmap.py | 1 - focusos/priority_engine.py | 1 - focusos/train_cnn.py | 1 - 4 files changed, 4 deletions(-) delete mode 100644 focusos/cnn_classifier.py delete mode 100644 focusos/heatmap.py delete mode 100644 focusos/priority_engine.py delete mode 100644 focusos/train_cnn.py diff --git a/focusos/cnn_classifier.py b/focusos/cnn_classifier.py deleted file mode 100644 index ce6b6da..0000000 --- a/focusos/cnn_classifier.py +++ /dev/null @@ -1 +0,0 @@ -"""CNN classifier for FocusOS heatmaps.""" diff --git a/focusos/heatmap.py b/focusos/heatmap.py deleted file mode 100644 index 452374b..0000000 --- a/focusos/heatmap.py +++ /dev/null @@ -1 +0,0 @@ -"""Telemetry to 2D heatmap conversion.""" diff --git a/focusos/priority_engine.py b/focusos/priority_engine.py deleted file mode 100644 index 8fcfc7d..0000000 --- a/focusos/priority_engine.py +++ /dev/null @@ -1 +0,0 @@ -"""Process priority, affinity, and IO adjustment engine.""" diff --git a/focusos/train_cnn.py b/focusos/train_cnn.py deleted file mode 100644 index 0e8e332..0000000 --- a/focusos/train_cnn.py +++ /dev/null @@ -1 +0,0 @@ -"""Training entry point for the FocusOS CNN.""" From 76501c6473b4242f98ab1c0462d0828c4c99ab28 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 15:56:23 +0530 Subject: [PATCH 35/39] added models for the mock-testing --- focusos/{ => models}/classifier.py | 2 +- focusos/models_saved/kmeans_model.pkl | Bin 0 -> 10903 bytes focusos/models_saved/label_encoder.pkl | Bin 0 -> 534 bytes focusos/models_saved/scaler.pkl | Bin 0 -> 1303 bytes focusos/models_saved/xgboost_model.json | 1 + 5 files changed, 2 insertions(+), 1 deletion(-) rename focusos/{ => models}/classifier.py (96%) create mode 100644 focusos/models_saved/kmeans_model.pkl create mode 100644 focusos/models_saved/label_encoder.pkl create mode 100644 focusos/models_saved/scaler.pkl create mode 100644 focusos/models_saved/xgboost_model.json diff --git a/focusos/classifier.py b/focusos/models/classifier.py similarity index 96% rename from focusos/classifier.py rename to focusos/models/classifier.py index faa3781..1d2c10f 100644 --- a/focusos/classifier.py +++ b/focusos/models/classifier.py @@ -8,7 +8,7 @@ import xgboost as xgb CURRENT_FILE = os.path.abspath(__file__) -MODELS_DIR = os.path.join(os.path.dirname(CURRENT_FILE), "models_saved") +MODELS_DIR = os.path.join(os.path.dirname(os.path.dirname(CURRENT_FILE)), "models_saved") DATASET_PATH = os.path.join(MODELS_DIR, "pseudo_labeled_dataset.csv") FEATURE_COLUMNS = [ diff --git a/focusos/models_saved/kmeans_model.pkl b/focusos/models_saved/kmeans_model.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ac3a9aacb15245120e6a8180abf18ea754a8ec9a GIT binary patch literal 10903 zcmZ{qeUO!98OHe#ScnnSNoM>Q3o}ucMJ+#=)ML>^wgcm2lsY-bv%3e*>h9U~oU`c; zrdWQUy{6`C&BzQ=R)blilab@p%p00%e(;BiX&>scen1405QUNS{9g8Vd_37b^KjqK zbzj$Y-_HxnU%PVBoiiqk%OjapzpSrZs#QC>`-bX`a;>9yS%0}yt*6Q4&c%6gM|#4w z>DSXa$+T*5j8soMCnpE>R(l(1GWD`~xnSNEU0Li6F6rX-@yW!-KwrA3aKvew zw;i=`UNX5_%oUx}k||#+*SZGk<+O8LGQC!+_6+nF>y1()04FAsy9Wk`i&v(rlBuP> zH2dAB zu35Hb?Hk#Fe`-4mFK*8sJMQj3XRGHIuUob2Uxj_8i)Y{S&E17!$Gm07Ua~oxe#)#_ z`xgJLu=e-ouidx#-NO7ebM_u~;tN@N{j6(?m+a2=KmE%~&wc)#!r(D0*8k(ycM1pm z_Y}tbvvs?_xB80F@#n1E(06fCdOKUXVnsXUE_B;EdO&?J2C?dh8iqT4EzncAe^bl^GA@}Bejb`Xt^-32{@<9=SL!PFg`b7W#}E9+QaPbAx6;1&lBw6Hm5$2% z%1M=3$%NidzV~BUIr4vhC@Uwgs+__<*$MmiPaGRZ8vB1ON2te#Gbx;d!r=~=!<|FV zK6fJS!NtQKHGu{{jy~?;41LkWdwAE2tVS$AIo3MEx%Ax$Ex5ka96e(XFmzz@$=vmh zIRSp(`{AL7lx=UTF#Lh`@v;~bGQ@CqjqmJF_)QO9zEd54P_p9#C_l3 zEH!ZG$weH$4V+Miuk*?F;c!>$8^EpAI?D`>PCsUGC&A$%+WKHxi`DGf4n<=Lm%(%&s{Cv?4loYsP&9%ccKT+ozw@YsnypV@bMka z0HY@Kgu|idY&dGkL_C}M>eS*Vu9tWB1*i6|w;4R%UtWOo-QYRLo_w;kJHhez4b=M` zd@DS3G0wg*Mol<}+P=QrtgaKN{|C);u5;AHI{di9!OH_iIGE2{8S!pl@bo3?Yqsb6ywj)lZr^?5w+31> zJ(Ad4y>DPnT&oA;xG%Z2mP+*Fz#k| z#uMBe_rX2RAj^l#0mIMvq0Di5F%HiIjt`j-r*;Q+vet_}0YBbNAAQkMdqUaV6D@wR zr+)CM33<$+mg8QncQkPEwdZ{9&huLbs5yf==2GKDh@-=YAp1uB;5iqqd^KQje0!`D zBRf|hR+ZpPImfKF2;BLcM%_;+gQ& zQ4`$ZI2#PD!Ay4-kF#3&WcQ^;>r8dt=@a1i5bWW+)}6R};KSpNpEY-P!dGwl`r20u zC)Rt9`RdUS+~E;mdRdG6R=MErPA?Ae7(*wIn!{|unbcr@2X|GcZ=BsnE?#=Tvro;T zPvFS`Bjk}edQijBUtNH5UhD@Z&o`mf8!df8PiioIsNoS}*7VSU<4Fcn1Lh3(=I$*0 zxD)cpco1Z9b!I)CFE5@?&%`_Uuhw9es<4|{Q_^>sd4{9;cz@jQ6WbB_Jc%0n-|2R;ORxaJsx3(kqd zJ30>Du^uk|`g#X*KA0M^p7!0Zb#Ha>2D^a6|L#XEz$pLjf5-+0G( zCu%roIRx3+)@FA{L+xJj1C-8E)oI}JK`S7Ue$#X~U`jLH$`-8>1 zxSN$G5n*cXx;D z-t?Rg&Yhs|xAB{RTiXLu?`-GkN1qxEhft#r8uZ}y&=B-E;H`T*Q~y9|`cM;c&=bxA zcOSBMYB+?x-sQ>FTMaX;$>`B?xZC$F0m^ZFe6M?g#dF}|<4$_$PhYL`oR1Fy4u||f z{_IGogX??1xzlrw`}tNfm^*Rj=o8B3JKY68BKC-N^zekIHyKZT-G_`XdN^d?sy`gO z)^|AZ!$s8 z{oN0)bJXF7hHM|chn{^o^r+p}zISKi2bVrI8iG3z9Ot?lJTN%)4ekV(dU(!uXE=K4ZPpJx zM;yL)I36%+c+|dyJ7JIP8{LBpj*jq7<}j0>CgAF0kL-^0TKAw2PWH(09$I-gpFW2^ zLDr*nH{VP@uGP4cGh-eY0md7g(2V9RL6T literal 0 HcmV?d00001 diff --git a/focusos/models_saved/label_encoder.pkl b/focusos/models_saved/label_encoder.pkl new file mode 100644 index 0000000000000000000000000000000000000000..43d97840c85580cf58bcd2d24cd95673e946eb46 GIT binary patch literal 534 zcmb7BO-lnY5bavmkJ3X`@S=#vdI@^dljtI%D-}HGNkXz4+SP0ll3hzdp&p7Ba&!8d z{8^gK+Jks<4#~?flX>sWIGn8q4Ig&fJaR^~KuR;EWx|ZfL?2;JDC1z;SJizc5}7g$ zAF%fdFVM9s2`9!dgTZb*NXj#cM477*R$1cy1H0C%o+nz9(VZqr{c1KP_5EN&-vxGA zq@=2K6KrS(L@|h$CJswo&9y<~a9WI9e$bvHSG#b12-EjBxPflmw81mfG)#Eb7daCJrlW!xh&v@6hqKSxn}*%=#Rw--GnALS$ZD3h zjWtW8FoiCY!jt|hByLO~3MkaY+%j+G~1c$>ENGj<0qy~CWUkL03D%yC@J~|6=c;L literal 0 HcmV?d00001 diff --git a/focusos/models_saved/scaler.pkl b/focusos/models_saved/scaler.pkl new file mode 100644 index 0000000000000000000000000000000000000000..87e3be3bad3f75ae1160cfd9b5433d297f00e5a1 GIT binary patch literal 1303 zcmb7EZD<@t7`{t$>6x6lT(wnfN&7=-)VNwuh)r~-o*%_)BQ%~uOC4r+C%0?%D>Jiq zJ=;Jc#3V8Xp>x0dkt%}ZM};Ez(S|mnHKi7t5y-}{Fr^; z*?0DR-sgGP@l@@hWFlI8Jsq(zBCg^S>=RGNlv-{{fd*no@XjHITmunfNJlm%;-I*5 zLX3$XenZ7#CUh`z#WYVx31x>Q^@*A3DX~lR6jt%%0Wml@_~eRQ(N<8I(0DttZLb0y2l--#ua9v? z-5|29lIviXL9NO#6@{)q8&B09Yx1}*DpsKG5v(|Y&8!$D&p?88&!vn6I*UO6dyqn6 zQsk4Gh|wj(dCXP+5BtnssY+V+gIE;4IttM~!82i0M#Ms{F6mAa3b?m50C9o0O+l76K&ADc44J6+iDPi&n+hG$(!k>lIaOcdkLPX9@H8FD0^`|M88_euZZQ_u8*r{6pD-TqTgfO`G*k6QbFR<|l=zd8B( zf;zdgawLD^N3|HP>~3)JQpdsh;Y}dQi(jcR3zy>e#gl67t|l+7Qpf88mWhBhw)&O5 z3#mP?g4we1fmq;RZuvzv_9g|T{<&gmpbEZht9+I_kp=TVB(~kL{JuK(Y5tXC^o+Xu zi|vbe{}gzu=g{f)?+3ufrO^#bqh}iU&Zb;;Y zl8H?dRzEn>!XMSg*Mia?SH2y)`@&WJ9(X+Xyng;`wbtFl*99BDJ6OhqTAnM#-l9CH J+$RD}`4iOL7Bm0= literal 0 HcmV?d00001 diff --git a/focusos/models_saved/xgboost_model.json b/focusos/models_saved/xgboost_model.json new file mode 100644 index 0000000..3631654 --- /dev/null +++ b/focusos/models_saved/xgboost_model.json @@ -0,0 +1 @@ +{"learner":{"attributes":{"scikit_learn":"{\"_estimator_type\": \"classifier\"}"},"feature_names":[],"feature_types":[],"gradient_booster":{"model":{"cats":{"enc":[],"feature_segments":[],"sorted_idx":[]},"gbtree_model_param":{"num_parallel_tree":"1","num_trees":"600"},"iteration_indptr":[0,6,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120,126,132,138,144,150,156,162,168,174,180,186,192,198,204,210,216,222,228,234,240,246,252,258,264,270,276,282,288,294,300,306,312,318,324,330,336,342,348,354,360,366,372,378,384,390,396,402,408,414,420,426,432,438,444,450,456,462,468,474,480,486,492,498,504,510,516,522,528,534,540,546,552,558,564,570,576,582,588,594,600],"tree_info":[0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5,0,1,2,3,4,5],"trees":[{"base_weights":[-2.6781915E-8,-5.971209E-1,2.9380224E0,-5.989176E-2,6.9767423E-3,2.9731742E-1,-3.1578947E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":0,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.1730784E3,7.076721E-1,1.3857117E1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,1.4142135E0,-5.989176E-2,6.9767423E-3,2.9731742E-1,-3.1578947E-2],"split_indices":[2,5,9,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[6.666667E2,5.547222E2,1.1194445E2,5.533334E2,1.388889E0,1.10833336E2,1.1111112E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-2.6781915E-8,-5.9865303E-2,1.1946241E0,2.9732406E-1,-5.946482E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":1,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.7820728E2,0E0,7.121571E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.9865303E-2,-1.5884927E-1,2.9732406E-1,-5.946482E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.666667E2,4.4444446E2,2.2222223E2,1.11111115E2,1.11111115E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-2.6781915E-8,-5.9892196E-2,2.9732406E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":2,"left_children":[1,-1,-1],"loss_changes":[1.190721E3,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.9892196E-2,2.9732406E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.666667E2,5.555556E2,1.11111115E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.6781915E-8,-5.125025E-1,2.5142295E0,-5.9100294E-1,3.8745382E-1,2.9696286E-1,-5.611511E-2,-5.9876967E-2,-4.1309255E-1,2.773109E-1,-5.8178753E-2,1.3255814E-1,-5.7416268E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":3,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[8.616097E2,3.946945E1,1.6023694E2,4.591217E-1,1.0605114E2,0E0,0E0,0E0,7.653402E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.1675589E0,9.3463856E-1,1.2151495E0,8.242151E-1,1.1709509E0,2.9696286E-1,-5.611511E-2,-5.9876967E-2,1.3091943E0,2.773109E-1,-5.8178753E-2,1.3255814E-1,-5.7416268E-2],"split_indices":[3,3,1,3,1,0,0,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.666667E2,5.5444446E2,1.1222223E2,5.102778E2,4.4166668E1,9.777779E1,1.4444445E1,4.866667E2,2.3611113E1,1.2222223E1,3.1944447E1,1.388889E0,2.2222223E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-2.6781915E-8,2.9732406E-1,-5.9892196E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":4,"left_children":[1,-1,-1],"loss_changes":[1.190721E3,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.9732406E-1,-5.9892196E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.666667E2,1.11111115E2,5.555556E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.6781915E-8,-5.982054E-2,5.982053E-1,2.7753239E0,-5.5173284E-1,2.9725608E-1,-5.18797E-2,-5.926305E-1,2.1428572E-1,-5.9722222E-2,1.5789472E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0],"id":5,"left_children":[1,-1,3,5,7,-1,-1,9,-1,-1,-1],"loss_changes":[2.3928214E2,0E0,8.3855206E2,7.672943E1,2.547158E1,0E0,0E0,8.4251404E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4,7,7],"right_children":[2,-1,4,6,8,-1,-1,10,-1,-1,-1],"split_conditions":[1E0,-5.982054E-2,-1.9144885E-2,1.4142135E0,-1.5884927E-1,2.9725608E-1,-5.18797E-2,-2.3628568E-2,2.1428572E-1,-5.9722222E-2,1.5789472E-2],"split_indices":[10,0,2,9,0,0,0,8,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.666667E2,3.3333334E2,3.3333334E2,1.1472223E2,2.1861111E2,1.08333336E2,6.3888893E0,2.1611111E2,2.5E0,2.1500002E2,1.1111112E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"11","size_leaf_vector":"1"}},{"base_weights":[-8.222283E-5,-5.891048E-1,2.2113209E0,-5.909825E-2,6.9454387E-3,2.2329538E-1,-3.0760571E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":6,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[8.6721826E2,6.911926E-1,8.317566E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,1.4142135E0,-5.909825E-2,6.9454387E-3,2.2329538E-1,-3.0760571E-2],"split_indices":[2,5,9,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[6.6377655E2,5.2474164E2,1.3903496E2,5.23352E2,1.3896012E0,1.3796364E2,1.0713196E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-1.1306227E-4,-5.907312E-2,1.018481E0,2.2336672E-1,-5.865237E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":7,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.0054813E2,0E0,4.7791602E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.907312E-2,-1.5884927E-1,2.2336672E-1,-5.865237E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.6380444E2,4.2043875E2,2.4336572E2,1.3827946E2,1.05086266E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-6.432381E-5,-5.9099305E-2,2.2335954E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":8,"left_children":[1,-1,-1],"loss_changes":[8.787578E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.9099305E-2,2.2335954E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.637591E2,5.2547644E2,1.3828268E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.4042046E-4,-5.017333E-1,1.9478388E0,-5.82708E-1,3.5556373E-1,2.2313829E-1,-5.521158E-2,-5.9081793E-2,-3.9954337E-1,2.1420684E-1,-5.7328563E-2,1.2159357E-1,-5.6575347E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":9,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[6.5066064E2,3.694084E1,9.7907715E1,4.8269653E-1,7.803839E1,0E0,0E0,0E0,7.025965E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.1675589E0,9.3463856E-1,1.2151495E0,8.242151E-1,1.1709509E0,2.2313829E-1,-5.521158E-2,-5.9081793E-2,-4.526356E-1,2.1420684E-1,-5.7328563E-2,1.2159357E-1,-5.6575347E-2],"split_indices":[3,3,1,3,1,0,0,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.6354034E2,5.281559E2,1.3538445E2,4.8286765E2,4.5288216E1,1.2168985E2,1.3694592E1,4.6026306E2,2.2604603E1,1.5045077E1,3.0243137E1,1.5195616E0,2.1085041E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-7.600792E-5,2.2329485E-1,-5.909867E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":10,"left_children":[1,-1,-1],"loss_changes":[8.784862E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.2329485E-1,-5.909867E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.637629E2,1.3831143E2,5.254515E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[9.5266776E-5,-5.9024896E-2,5.3457886E-1,2.111898E0,-5.4190487E-1,2.2328141E-1,-5.0897278E-2,-5.8441216E-1,1.7955852E-1,-5.892117E-2,1.5335301E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0],"id":11,"left_children":[1,-1,3,5,7,-1,-1,9,-1,-1,-1],"loss_changes":[2.1003104E2,0E0,5.943292E2,4.6109924E1,2.1759754E1,0E0,0E0,8.1790924E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4,7,7],"right_children":[2,-1,4,6,8,-1,-1,10,-1,-1,-1],"split_conditions":[1E0,-5.9024896E-2,-1.9144885E-2,1.4142135E0,-1.5884927E-1,2.2328141E-1,-5.0897278E-2,-2.3628568E-2,1.7955852E-1,-5.892117E-2,1.5335301E-2],"split_indices":[10,0,2,9,0,0,0,8,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.6364667E2,3.152949E2,3.4835175E2,1.409146E2,2.0743713E2,1.3484163E2,6.0729647E0,2.0446886E2,2.9682868E0,2.0334732E2,1.1215279E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"11","size_leaf_vector":"1"}},{"base_weights":[-1.4080158E-4,-5.816928E-1,1.7921453E0,-5.836596E-2,6.9183432E-3,1.8075041E-1,-2.995327E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":12,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[6.853991E2,6.7593384E-1,5.716736E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,1.4142135E0,-5.836596E-2,6.9183432E-3,1.8075041E-1,-2.995327E-2],"split_indices":[2,5,9,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[6.5557837E2,4.954822E2,1.6009613E2,4.9409247E2,1.3897643E0,1.5906401E2,1.0321255E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-1.8989318E-4,-5.834175E-2,8.93938E-1,1.8084866E-1,-5.7899095E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":13,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.4293863E2,0E0,3.507671E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.834175E-2,-1.5884927E-1,1.8084866E-1,-5.7899095E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.556255E2,3.9700922E2,2.5861627E2,1.5941E2,9.920625E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-9.220978E-5,-5.836773E-2,1.8085073E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":14,"left_children":[1,-1,-1],"loss_changes":[6.940102E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.836773E-2,1.8085073E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.5553546E2,4.9612643E2,1.5940903E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.9588177E-4,-5.338296E-1,1.487101E0,-5.750182E-1,1.7265959E-1,1.8096815E-1,-5.6129914E-2,-5.834822E-2,-3.866123E-1,1.6571559E-1,-5.5452466E-2,1.09490596E-1,-5.5751015E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":15,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[5.220328E2,1.4169647E1,1.1582437E2,5.0338745E-1,3.0503836E1,0E0,0E0,0E0,6.33671E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0769279E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.1108541E0,1.8096815E-1,-5.6129914E-2,-5.834822E-2,-4.526356E-1,1.6571559E-1,-5.5452466E-2,1.09490596E-1,-5.5751015E-2],"split_indices":[3,3,7,3,1,0,0,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.5527734E2,4.8252872E2,1.7274864E2,4.5612265E2,2.6406055E1,1.4934624E2,2.3402395E1,4.3450592E2,2.1616724E1,8.261635E0,1.814442E1,1.6764805E0,1.9940245E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-1.3218053E-4,1.8074717E-1,-5.8366466E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":16,"left_children":[1,-1,-1],"loss_changes":[6.935705E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,1.8074717E-1,-5.8366466E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.555401E2,1.5946602E2,4.9607407E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.5952838E-4,-5.8289666E-2,4.8562565E-1,1.7223399E0,-5.327553E-1,1.8073927E-1,-4.9946543E-2,-5.7678366E-1,1.5409042E-1,-5.8181E-2,1.4899063E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0],"id":17,"left_children":[1,-1,3,5,7,-1,-1,9,-1,-1,-1],"loss_changes":[1.8608168E2,0E0,4.5271164E2,3.1559967E1,1.8919693E1,0E0,0E0,7.947998E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4,7,7],"right_children":[2,-1,4,6,8,-1,-1,10,-1,-1,-1],"split_conditions":[1E0,-5.8289666E-2,-1.9144885E-2,1.4142135E0,-1.5884927E-1,1.8073927E-1,-4.9946543E-2,-2.3628568E-2,1.5409042E-1,-5.8181E-2,1.4899063E-2],"split_indices":[10,0,2,9,0,0,0,8,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.5540686E2,2.9768253E2,3.5772437E2,1.6123299E2,1.964914E2,1.5546805E2,5.7649336E0,1.9311302E2,3.3783617E0,1.9198183E2,1.1311996E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"11","size_leaf_vector":"1"}},{"base_weights":[-1.8551228E-4,-5.747699E-1,1.5178237E0,-5.7683557E-2,6.9141323E-3,6.673534E-1,1.5295735E-1,3.8703934E-3,9.800157E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":18,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[5.624339E2,6.6204834E-1,7.4850464E-1,0E0,0E0,7.850094E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.7683557E-2,6.9141323E-3,-2.8540388E-1,1.5295735E-1,3.8703934E-3,9.800157E-2],"split_indices":[2,5,2,0,0,3,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.4282684E2,4.6677017E2,1.7605666E2,4.653814E2,1.3887819E0,3.186817E0,1.7286984E2,1.4317932E0,1.7550237E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.4270825E-4,-5.7659734E-2,8.0064106E-1,1.5308018E-1,-5.7193834E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":19,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.976763E2,0E0,2.7134723E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.7659734E-2,-1.5884927E-1,1.5308018E-1,-5.7193834E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.428889E2,3.7401193E2,2.6887698E2,1.7543622E2,9.344076E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-9.714365E-5,-5.768598E-2,1.530872E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":20,"left_children":[1,-1,-1],"loss_changes":[5.69325E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.768598E-2,1.530872E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.427578E2,4.6732535E2,1.7543246E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.966825E-4,-5.2549994E-1,1.2827495E0,-5.678191E-1,1.6436912E-1,1.5311693E-1,-5.5356067E-2,-5.766473E-2,-3.7418565E-1,1.4277627E-1,-5.4658737E-2,1.00948825E-1,-5.4992806E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":21,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[4.3473257E2,1.3437302E1,8.6378265E1,5.207825E-1,2.5205881E1,0E0,0E0,0E0,5.816407E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0769279E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.1108541E0,1.5311693E-1,-5.5356067E-2,-5.766473E-2,1.3091943E0,1.4277627E-1,-5.4658737E-2,1.00948825E-1,-5.4992806E-2],"split_indices":[3,3,7,3,1,0,0,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.4256384E2,4.5606873E2,1.8649509E2,4.2987546E2,2.6193277E1,1.6441841E2,2.2076672E1,4.0923932E2,2.0636131E1,9.069048E0,1.712423E1,1.7909893E0,1.8845142E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-1.7883517E-4,1.5296388E-1,-5.7684243E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":22,"left_children":[1,-1,-1],"loss_changes":[5.6879724E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,1.5296388E-1,-5.7684243E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.427557E2,1.7550635E2,4.6724933E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.0774742E-4,-5.7603795E-2,4.4658503E-1,1.4646864E0,-5.241477E-1,1.5295765E-1,-4.9013004E-2,-5.696237E-1,1.3483731E-1,-5.7489987E-2,1.4497824E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0],"id":23,"left_children":[1,-1,3,5,7,-1,-1,9,-1,-1,-1],"loss_changes":[1.6582332E2,0E0,3.5978748E2,2.3274353E1,1.6666187E1,0E0,0E0,7.7321625E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4,7,7],"right_children":[2,-1,4,6,8,-1,-1,10,-1,-1,-1],"split_conditions":[1E0,-5.7603795E-2,-1.9144885E-2,1.4142135E0,-1.5884927E-1,1.5295765E-1,-4.9013004E-2,-2.3628568E-2,1.3483731E-1,-5.7489987E-2,1.4497824E-2],"split_indices":[10,0,2,9,0,0,0,8,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.426674E2,2.8039902E2,3.622684E2,1.7657172E2,1.856967E2,1.7110928E2,5.4624324E0,1.819731E2,3.7235985E0,1.8083344E2,1.1396544E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"11","size_leaf_vector":"1"}},{"base_weights":[-1.1169701E-4,-5.682868E-1,1.3249278E0,-5.7046235E-2,6.9364244E-3,6.212683E-1,1.333988E-1,2.8880804E-3,9.119773E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":24,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[4.7291058E2,6.4949036E-1,3.730774E-1,0E0,0E0,7.08686E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.7046235E-2,6.9364244E-3,9.536932E-1,1.333988E-1,2.8880804E-3,9.119773E-2],"split_indices":[2,5,2,0,0,5,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.261566E2,4.3863965E2,1.8751694E2,4.3725314E2,1.3864934E0,3.2681293E0,1.8424881E2,1.4377415E0,1.830388E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.971649E-4,-5.7022966E-2,7.281717E-1,1.3353248E-1,-5.6531787E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":25,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.6084775E2,0E0,2.1733995E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.7022966E-2,-1.5884927E-1,1.3353248E-1,-5.6531787E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.262791E2,3.5149615E2,2.7478296E2,1.8698257E2,8.780038E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-1.21360295E-4,-5.7049673E-2,1.3352682E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":26,"left_children":[1,-1,-1],"loss_changes":[4.784162E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.7049673E-2,1.3352682E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.26112E2,4.391246E2,1.8698737E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.490419E-4,-5.399269E-1,1.0895252E0,-5.6106395E-1,4.5593698E-2,1.3366076E-1,-5.519405E-2,-5.702696E-2,-3.6215028E-1,1.1406231E-1,-5.20039E-2,9.189988E-2,-5.42334E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":27,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[3.6964008E2,5.2201385E0,8.5225174E1,5.354004E-1,1.0223814E1,0E0,0E0,0E0,5.268052E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0155948E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.2757484E0,1.3366076E-1,-5.519405E-2,-5.702696E-2,-4.526356E-1,1.1406231E-1,-5.20039E-2,9.189988E-2,-5.42334E-2],"split_indices":[3,3,7,3,0,0,0,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.2603613E2,4.1872205E2,2.0731412E2,4.041733E2,1.4548738E1,1.8035223E2,2.6961878E1,3.8451135E2,1.966195E1,4.6091566E0,9.939581E0,1.9187598E0,1.7743189E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-2.4704394E-4,1.3340177E-1,-5.704769E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":28,"left_children":[1,-1,-1],"loss_changes":[4.7787674E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,1.3340177E-1,-5.704769E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.2609283E2,1.870591E2,4.3903372E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.2831229E-4,-5.6962635E-2,4.1469836E-1,1.2603663E0,-5.417044E-1,1.3374689E-1,-5.0809707E-2,-5.6852687E-2,1.0336157E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":29,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.483474E2,0E0,2.9477847E2,2.703421E1,7.827339E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.6962635E-2,1.634707E-2,1.4142135E0,-1.5884927E-1,1.3374689E-1,-5.0809707E-2,-5.6852687E-2,1.0336157E-1],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.26091E2,2.634708E2,3.626202E2,1.9228268E2,1.7033752E2,1.844832E2,7.7994885E0,1.681142E2,2.2233243E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.8707855E-5,-5.62211E-1,1.1818061E0,-5.645087E-2,6.9814804E-3,5.8033043E-1,1.18918195E-1,1.9736623E-3,8.5207485E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":30,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[4.0411823E2,6.3797E-1,1.7971802E-1,0E0,0E0,6.425587E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.645087E-2,6.9814804E-3,1.3718078E-1,1.18918195E-1,1.9736623E-3,8.5207485E-2],"split_indices":[2,5,2,0,0,7,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.062394E2,4.1117398E2,1.9506543E2,4.0979102E2,1.3829561E0,3.328369E0,1.9173706E2,1.4368517E0,1.8915172E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.4140356E-4,-5.6427576E-2,6.703638E-1,1.1904883E-1,-5.5908736E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":31,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.3011528E2,0E0,1.7836766E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.6427576E-2,-1.5884927E-1,1.1904883E-1,-5.5908736E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.0639435E2,3.295037E2,2.768907E2,1.9459721E2,8.2293465E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-1.1172237E-4,-5.6455333E-2,1.1905199E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":32,"left_children":[1,-1,-1],"loss_changes":[4.0873083E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.6455333E-2,1.1905199E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.061922E2,4.1159406E2,1.9459818E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.841929E-4,-5.3303754E-1,9.8336226E-1,-5.547164E-1,4.5885805E-2,1.1911533E-1,-5.4504216E-2,-5.6431092E-2,-3.5051858E-1,1.0332634E-1,-5.1199365E-2,8.549821E-2,-5.3532727E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":33,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[3.1899625E2,4.973091E0,6.862923E1,5.468216E-1,8.875905E0,0E0,0E0,0E0,4.8457212E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0155948E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.2757484E0,1.1911533E-1,-5.4504216E-2,-5.6431092E-2,1.3091943E0,1.0332634E-1,-5.1199365E-2,8.549821E-2,-5.3532727E-2],"split_indices":[3,3,7,3,0,0,0,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[6.062708E2,3.9322043E2,2.1305037E2,3.7906735E2,1.4153067E1,1.8774635E2,2.5304012E1,3.6037128E2,1.8696064E1,4.8019977E0,9.351069E0,2.0031667E0,1.6692898E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-3.0234255E-4,1.18919246E-1,-5.6453105E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":34,"left_children":[1,-1,-1],"loss_changes":[4.081568E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,1.18919246E-1,-5.6453105E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.0614777E2,1.9466068E2,4.114871E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.9997096E-4,-5.6362957E-2,3.881813E-1,1.1153245E0,-5.511392E-1,1.1930554E-1,-5.1041972E-2,-5.6243427E-2,5.3459432E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":35,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.3306075E2,0E0,2.467205E2,2.6316391E1,2.2369614E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.6362957E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,1.1930554E-1,-5.1041972E-2,-5.6243427E-2,5.3459432E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.0626276E2,2.4694296E2,3.5931982E2,2.0242892E2,1.568909E2,1.9344594E2,8.9829855E0,1.5575255E2,1.1383442E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[5.8258564E-5,-5.565224E-1,1.0717821E0,-5.5895563E-2,7.051234E-3,5.4383445E-1,1.07805304E-1,1.9650673E-3,7.9037204E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":36,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[3.4936154E2,6.2753296E-1,7.649231E-2,0E0,0E0,5.48949E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.5895563E-2,7.051234E-3,1.3718078E-1,1.07805304E-1,1.9650673E-3,7.9037204E-2],"split_indices":[2,5,2,0,0,7,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.83685E2,3.8448846E2,1.9919652E2,3.831104E2,1.378059E0,3.367994E0,1.9582852E2,1.4227259E0,1.9452682E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.6382495E-4,-5.5871762E-2,6.233805E-1,1.0793703E-1,-5.5323076E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":37,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.0403407E2,0E0,1.4906453E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.5871762E-2,-1.5884927E-1,1.0793703E-1,-5.5323076E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.838502E2,3.0812863E2,2.757216E2,1.9877138E2,7.69502E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-9.876765E-5,-5.5900913E-2,1.0793594E-1],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":38,"left_children":[1,-1,-1],"loss_changes":[3.5331473E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.5900913E-2,1.0793594E-1],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.83617E2,3.848405E2,1.9877649E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.142733E-4,-5.2656186E-1,9.000222E-1,-5.487555E-1,4.602422E-2,1.07957795E-1,-5.384279E-2,-5.587519E-2,-3.3924046E-1,9.459255E-2,-5.040853E-2,7.859103E-2,-5.282061E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":39,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[2.7778482E2,4.7190933E0,5.649881E1,5.55336E-1,7.7565393E0,0E0,0E0,0E0,4.3999205E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0155948E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.2757484E0,1.07957795E-1,-5.384279E-2,-5.587519E-2,1.3091943E0,9.459255E-2,-5.040853E-2,7.859103E-2,-5.282061E-2],"split_indices":[3,3,7,3,0,0,0,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[5.8386346E2,3.6836545E2,2.15498E2,3.5466025E2,1.3705176E1,1.9180524E2,2.3692764E1,3.369184E2,1.7741863E1,4.9265375E0,8.77864E0,2.0969663E0,1.56448965E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-3.5238624E-4,1.0780521E-1,-5.589859E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":40,"left_children":[1,-1,-1],"loss_changes":[3.5274722E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,1.0780521E-1,-5.589859E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.8353754E2,1.9881285E2,3.8472467E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.4218989E-4,-5.5802938E-2,3.6587384E-1,1.0143192E0,-5.4500574E-1,1.0812386E-1,-5.023895E-2,-5.5676408E-2,5.0263107E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":41,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.1958583E2,0E0,2.0959058E2,2.1561783E1,2.1007996E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.5802938E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,1.0812386E-1,-5.023895E-2,-5.5676408E-2,5.0263107E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.838E2,2.3089198E2,3.5290802E2,2.0608487E2,1.4682315E2,1.976513E2,8.433558E0,1.456569E2,1.1662525E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.4366854E-4,-5.5120236E-1,9.849174E-1,-5.5378538E-2,7.137959E-3,5.1131546E-1,9.904361E-2,1.2421546E-3,7.438718E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":42,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[3.046378E2,6.1798096E-1,1.9943237E-2,0E0,0E0,4.9971712E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.5378538E-2,7.137959E-3,9.536932E-1,9.904361E-2,1.2421546E-3,7.438718E-2],"split_indices":[2,5,2,0,0,5,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.590779E2,3.5869522E2,2.0038269E2,3.573232E2,1.3719833E0,3.38677E0,1.9699591E2,1.4117057E0,1.9750643E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.788361E-4,-5.535387E-2,5.846009E-1,9.917598E-2,-5.4772116E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":43,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.8160971E2,0E0,1.26301636E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.535387E-2,-1.5884927E-1,9.917598E-2,-5.4772116E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.5923865E2,2.874645E2,2.7177414E2,1.9998715E2,7.178698E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-7.824305E-5,-5.5384744E-2,9.917163E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":44,"left_children":[1,-1,-1],"loss_changes":[3.0810263E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.5384744E-2,9.917163E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.589767E2,3.58981E2,1.9999573E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.3310313E-4,-5.204818E-1,8.331269E-1,-5.4316545E-1,4.6061456E-2,9.9163964E-2,-5.3207118E-2,-5.5357482E-2,-3.2833496E-1,8.736978E-2,-4.9628586E-2,7.367341E-2,-5.2162386E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":45,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[2.4354721E2,4.4621506E0,4.72977E1,5.608063E-1,6.8136673E0,0E0,0E0,0E0,4.0494385E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0155948E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.2757484E0,9.9163964E-2,-5.3207118E-2,-5.5357482E-2,-4.526356E-1,8.736978E-2,-4.9628586E-2,7.367341E-2,-5.2162386E-2],"split_indices":[3,3,7,3,0,0,0,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[5.5939557E2,3.4426886E2,2.1512668E2,3.3105515E2,1.3213726E1,1.9299207E2,2.2134619E1,3.1425162E2,1.680352E1,4.989168E0,8.224558E0,2.1492205E0,1.4654299E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-4.044298E-4,9.904283E-2,-5.538237E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":46,"left_children":[1,-1,-1],"loss_changes":[3.075424E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,9.904283E-2,-5.538237E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.588544E2,1.999957E2,3.5885867E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[8.427951E-5,-5.5280503E-2,3.4696257E-1,9.341786E-1,-5.3921825E-1,9.931271E-2,-4.9446885E-2,-5.5146176E-2,4.7335606E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":47,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.07641624E2,0E0,1.7997415E2,1.7991074E1,1.97295E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.5280503E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,9.931271E-2,-4.9446885E-2,-5.5146176E-2,4.7335606E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.5926105E2,2.1537741E2,3.4388367E2,2.0679773E2,1.3708595E2,1.988958E2,7.901934E0,1.3589813E2,1.1878188E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.2867054E-4,-5.462305E-1,9.148888E-2,-5.4897893E-2,7.237252E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":48,"left_children":[1,3,-1,-1,-1],"loss_changes":[2.673879E2,6.090927E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.148888E-2,-5.4897893E-2,7.237252E-3],"split_indices":[2,5,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.329638E2,3.338873E2,1.990765E2,3.325225E2,1.3648139E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-3.8735144E-4,-5.4872017E-2,5.522032E-1,9.2121735E-2,-5.425337E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":49,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.6213991E2,0E0,1.08166824E2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.4872017E-2,-1.5884927E-1,9.2121735E-2,-5.425337E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.3310895E2,2.6758887E2,2.6552008E2,1.9870056E2,6.681952E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-3.52502E-5,-5.4904964E-2,9.2119485E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":50,"left_children":[1,-1,-1],"loss_changes":[2.7049707E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.4904964E-2,9.2119485E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.328238E2,3.3411145E2,1.9871236E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.4294954E-4,-5.1477534E-1,7.784767E-1,-5.3792614E-1,4.603031E-2,9.2085406E-2,-5.259445E-2,-5.4876037E-2,-3.1776866E-1,8.130997E-2,-4.885676E-2,6.8319835E-2,-5.1486965E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":51,"left_children":[1,3,5,7,9,-1,-1,-1,11,-1,-1,-1,-1],"loss_changes":[2.146503E2,4.205635E0,4.0113876E1,5.634613E-1,6.010238E0,0E0,0E0,0E0,3.6829453E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,3,3,4,4,8,8],"right_children":[2,4,6,8,10,-1,-1,-1,12,-1,-1,-1,-1],"split_conditions":[1.0155948E0,9.3463856E-1,1.7366098E-1,8.242151E-1,1.2757484E0,9.2085406E-2,-5.259445E-2,-5.4876037E-2,-4.526356E-1,8.130997E-2,-4.885676E-2,6.8319835E-2,-5.1486965E-2],"split_indices":[3,3,7,3,0,0,0,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0,0,0,0,0],"sum_hessian":[5.334083E2,3.2102487E2,2.1238347E2,3.0833713E2,1.2687744E1,1.9174825E2,2.0635231E1,2.9245255E2,1.5884589E1,4.9969296E0,7.6908145E0,2.20753E0,1.3677059E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"13","size_leaf_vector":"1"}},{"base_weights":[-4.5870926E-4,9.198784E-2,-5.4902535E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":52,"left_children":[1,-1,-1],"loss_changes":[2.6992618E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,9.198784E-2,-5.4902535E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.3264856E2,1.9866647E2,3.339821E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[8.966373E-6,-5.4793604E-2,3.3076024E-1,8.6926425E-1,-5.337555E-1,9.221586E-2,-4.8662927E-2,-5.4650683E-2,4.4648618E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":53,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[9.6994675E1,0E0,1.5583475E2,1.522467E1,1.8528671E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.4793604E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,9.221586E-2,-4.8662927E-2,-5.4650683E-2,4.4648618E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.331917E2,2.0045227E2,3.3273944E2,2.0502473E2,1.2771472E2,1.9763475E2,7.3899746E0,1.2651148E2,1.2032342E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.4113932E-4,-5.415863E-1,8.5696614E-1,-5.4451674E-2,7.3448713E-3,4.303679E-1,8.623092E-2,-1.9827147E-3,6.525893E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":54,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[2.357744E2,6.007767E-1,7.7423096E-2,0E0,0E0,4.561752E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.4451674E-2,7.3448713E-3,-2.8540388E-1,8.623092E-2,-1.9827147E-3,6.525893E-2],"split_indices":[2,5,2,0,0,3,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.059189E2,3.1014105E2,1.9577786E2,3.0878442E2,1.3566353E0,3.4304583E0,1.923474E2,1.4346994E0,1.9957589E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.4072017E-4,-5.4424133E-2,5.249363E-1,8.635656E-2,-5.376483E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":55,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.4512709E2,0E0,9.3446266E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.4424133E-2,-1.5884927E-1,8.635656E-2,-5.376483E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.0597293E2,2.4856207E2,2.5741086E2,1.953448E2,6.2066063E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.3204015E-5,-5.4459393E-2,8.634495E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":56,"left_children":[1,-1,-1],"loss_changes":[2.3871935E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.4459393E-2,8.634495E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.0565778E2,3.1030084E2,1.9535695E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.495E-4,-5.186727E-1,7.204922E-1,-5.4428704E-2,-2.0284665E-1,8.6344875E-2,-5.2297153E-2,7.746889E-2,-5.187455E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":57,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.9005399E2,2.2787476E0,3.8326057E1,0E0,7.7357855E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.4428704E-2,1.3091943E0,8.6344875E-2,-5.2297153E-2,7.746889E-2,-5.187455E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.0639682E2,2.943331E2,2.1206375E2,2.7158353E2,2.2749557E1,1.9047153E2,2.159222E1,5.201477E0,1.754808E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-5.0956296E-4,8.6211294E-2,-5.445696E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":58,"left_children":[1,-1,-1],"loss_changes":[2.381425E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,8.6211294E-2,-5.445696E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.054217E2,1.9525493E2,3.1016678E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.4666434E-5,-5.434036E-2,3.1681347E-1,8.158775E-1,-5.285906E-1,8.6406864E-2,-4.788424E-2,-5.4187376E-2,4.217649E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":59,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[8.747943E1,0E0,1.358337E2,1.3029358E1,1.740036E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.434036E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,8.6406864E-2,-4.788424E-2,-5.4187376E-2,4.217649E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.0609268E2,1.8616602E2,3.1992667E2,2.0119244E2,1.18734215E2,1.9429323E2,6.8992195E0,1.1752144E2,1.2127792E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[3.3491646E-4,-5.372462E-1,8.092737E-1,-5.403769E-2,7.457056E-3,4.0816915E-1,8.143287E-2,-1.8205278E-3,6.1546873E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":60,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[2.0883945E2,5.9291077E-1,5.6350708E-2,0E0,0E0,3.9932746E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.403769E-2,7.457056E-3,1.3718078E-1,8.143287E-2,-1.8205278E-3,6.1546873E-2],"split_indices":[2,5,2,0,0,7,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.782342E2,2.87507E2,1.907272E2,2.8615945E2,1.3475199E0,3.3911617E0,1.8733604E2,1.4077913E0,1.9833703E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.2814735E-4,-5.4007977E-2,5.0160503E-1,8.156032E-2,-5.33046E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":61,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.3011317E2,0E0,8.128117E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.4007977E-2,-1.5884927E-1,8.156032E-2,-5.33046E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.782656E2,2.3041443E2,2.4785115E2,1.9030782E2,5.754333E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.9790637E-5,-5.4046106E-2,8.154201E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":62,"left_children":[1,-1,-1],"loss_changes":[2.1150864E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.4046106E-2,8.154201E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.7792E2,2.8760388E2,1.9031613E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.2241306E-4,-5.1385874E-1,6.8344665E-1,-5.4013845E-2,-1.9566162E-1,8.1527375E-2,-5.173695E-2,7.236295E-2,-5.1277347E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":63,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.6889807E2,2.1871185E0,3.3125076E1,0E0,6.9260116E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.4013845E-2,1.3091943E0,8.1527375E-2,-5.173695E-2,7.236295E-2,-5.1277347E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.787802E2,2.7318988E2,2.0559033E2,2.5170428E2,2.1485584E1,1.8554233E2,2.0048002E1,5.181818E0,1.6303766E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-5.597133E-4,8.141615E-2,-5.404378E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":64,"left_children":[1,-1,-1],"loss_changes":[2.1096576E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,8.141615E-2,-5.404378E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.7763065E2,1.901581E2,2.8747253E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2057344E-4,-5.391843E-2,3.0473846E-1,7.7143216E-1,-5.237114E-1,8.159029E-2,-4.710795E-2,-5.3754997E-2,3.989629E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":65,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[7.895225E1,0E0,1.19052246E2,1.1253113E1,1.6340046E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.391843E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,8.159029E-2,-4.710795E-2,-5.3754997E-2,3.989629E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.7842493E2,1.7254878E2,3.0587613E2,1.9570036E2,1.1017577E2,1.8926956E2,6.4308095E0,1.0895898E2,1.2168007E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[4.307513E-4,-5.331908E-1,7.691834E-1,-5.36541E-2,7.570082E-3,3.879927E-1,7.740428E-2,-2.2937004E-3,5.8689564E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":66,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[1.855804E2,5.8532715E-1,4.3045044E-2,0E0,0E0,3.6804914E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.36541E-2,7.570082E-3,-2.8540388E-1,7.740428E-2,-2.2937004E-3,5.8689564E-2],"split_indices":[2,5,2,0,0,3,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.5038934E2,2.6603226E2,1.8435709E2,2.6469473E2,1.3375428E0,3.3382504E0,1.8101883E2,1.3773512E0,1.9608994E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.100691E-4,-5.3621866E-2,4.8158452E-1,7.7533275E-2,-5.2869614E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":67,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.1683213E2,0E0,7.110095E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.3621866E-2,-1.5884927E-1,7.7533275E-2,-5.2869614E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.503969E2,2.13194E2,2.3720293E2,1.8395029E2,5.3252644E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[8.231005E-5,-5.366322E-2,7.7509455E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":68,"left_children":[1,-1,-1],"loss_changes":[1.8802286E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.366322E-2,7.7509455E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.5002118E2,2.6606937E2,1.8395181E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.878124E-4,-5.0935423E-1,6.520409E-1,-5.362921E-2,-1.8888941E-1,7.748326E-2,-5.119264E-2,6.7924045E-2,-5.069384E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":69,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.5048335E2,2.0921555E0,2.882386E1,0E0,6.210533E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.362921E-2,1.3091943E0,7.748326E-2,-5.119264E-2,6.7924045E-2,-5.069384E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.5098587E2,2.5309064E2,1.9789523E2,2.3284459E2,2.0246052E1,1.7931308E2,1.8582157E1,5.1240544E0,1.5121998E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-6.125063E-4,7.738996E-2,-5.3661E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":70,"left_children":[1,-1,-1],"loss_changes":[1.875082E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,7.738996E-2,-5.3661E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.4967798E2,1.8373645E2,2.6594153E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.7993695E-4,-5.3525962E-2,2.9420996E-1,7.3398405E-1,-5.190906E-1,7.754683E-2,-4.633138E-2,-5.335092E-2,3.7787493E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":71,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[7.129238E1,0E0,1.0480518E2,9.791809E0,1.5343475E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.3525962E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,7.754683E-2,-4.633138E-2,-5.335092E-2,3.7787493E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.5058694E2,1.5962897E2,2.9095798E2,1.8890782E2,1.0205016E2,1.8292221E2,5.985604E0,1.00834465E2,1.2156969E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[5.2921206E-4,-5.29398E-1,7.351527E-1,-5.329883E-2,7.6808142E-3,3.695145E-1,7.398897E-2,-2.7391387E-3,5.6079935E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":72,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[1.6534427E2,5.779495E-1,3.4858704E-2,0E0,0E0,3.398534E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.329883E-2,7.6808142E-3,9.536932E-1,7.398897E-2,-2.7391387E-3,5.6079935E-2],"split_indices":[2,5,2,0,0,5,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.2272556E2,2.4573894E2,1.769866E2,2.4441217E2,1.3267645E0,3.2740188E0,1.7371259E2,1.34338E0,1.9306389E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.8694625E-4,-5.3263683E-2,4.6429282E-1,7.411925E-2,-5.2457362E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":73,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.0503857E2,0E0,6.2487812E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.3263683E-2,-1.5884927E-1,7.411925E-2,-5.2457362E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.22709E2,1.9691861E2,2.2579039E2,1.7659204E2,4.9198353E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.2138746E-4,-5.3308655E-2,7.40909E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":74,"left_children":[1,-1,-1],"loss_changes":[1.6759747E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.3308655E-2,7.40909E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.223041E2,2.4571933E2,1.7658476E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.4567505E-4,-5.051365E-1,6.2518895E-1,-5.3272694E-2,-1.8249027E-1,7.405533E-2,-5.0661154E-2,6.402329E-2,-5.0120868E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":75,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.3435768E2,1.9952927E0,2.5221802E1,0E0,5.5753093E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.3272694E-2,1.3091943E0,7.405533E-2,-5.0661154E-2,6.402329E-2,-5.0120868E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.233564E2,2.3406201E2,1.892944E2,2.1502357E2,1.9038439E1,1.7209814E2,1.7196266E1,5.0343227E0,1.4004115E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-6.6779327E-4,7.397666E-2,-5.330655E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":76,"left_children":[1,-1,-1],"loss_changes":[1.6710674E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,7.397666E-2,-5.330655E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.2190723E2,1.763116E2,2.4559563E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.433562E-4,-5.3160828E-2,2.8498238E-1,7.021342E-1,-5.1470476E-1,7.411937E-2,-4.555186E-2,-5.297286E-2,3.5831977E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":77,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[6.44006E1,0E0,9.259981E1,8.573311E0,1.4406528E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.3160828E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,7.411937E-2,-4.555186E-2,-5.297286E-2,3.5831977E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.229215E2,1.474199E2,2.7550162E2,1.8113544E2,9.436617E1,1.7557135E2,5.564074E0,9.315628E1,1.2098978E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[6.309059E-4,-5.2584565E-1,7.060234E-1,-5.296982E-2,7.7865683E-3,3.525186E-1,7.10695E-2,-2.5292197E-3,5.32888E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":78,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[1.4763106E2,5.706787E-1,3.0052185E-2,0E0,0E0,2.996984E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.296982E-2,7.7865683E-3,9.536932E-1,7.10695E-2,-2.5292197E-3,5.32888E-2],"split_indices":[2,5,2,0,0,5,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.9552844E2,2.2663313E2,1.6889532E2,2.2531789E2,1.3152356E0,3.2001386E0,1.6569518E2,1.3119137E0,1.8882248E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.5898332E-4,-5.2931335E-2,4.4927257E-1,7.120094E-2,-5.20653E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":79,"left_children":[1,-1,3,-1,-1],"loss_changes":[9.453344E1,0E0,5.5133583E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.2931335E-2,-1.5884927E-1,7.120094E-2,-5.20653E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.9548892E2,1.8159363E2,2.1389528E2,1.6851364E2,4.5381645E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.6755056E-4,-5.2980352E-2,7.116877E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":80,"left_children":[1,-1,-1],"loss_changes":[1.4972395E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.2980352E-2,7.116877E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.9505627E2,2.2655997E2,1.684963E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.9568457E-4,-5.0118285E-1,6.020594E-1,-5.2942224E-2,-1.7642811E-1,7.112547E-2,-5.0139364E-2,6.0561042E-2,-4.9555223E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":81,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.2016721E2,1.8977356E0,2.2173393E1,0E0,5.0091877E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.2942224E-2,1.3091943E0,7.112547E-2,-5.0139364E-2,6.0561042E-2,-4.9555223E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.9617963E2,2.1611543E2,1.800642E2,1.9824648E2,1.7868958E1,1.6417339E2,1.589081E1,4.9183736E0,1.2950584E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-7.259342E-4,7.105892E-2,-5.2978348E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":82,"left_children":[1,-1,-1],"loss_changes":[1.4925372E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,7.105892E-2,-5.2978348E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.9460645E2,1.6816557E2,2.2644087E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.114107E-4,-5.2820873E-2,2.7685645E-1,6.748251E-1,-5.105307E-1,7.11899E-2,-4.47669E-2,-5.261854E-2,3.401375E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":83,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[5.8192245E1,0E0,8.206476E1,7.5457916E0,1.3525562E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.2820873E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,7.11899E-2,-4.47669E-2,-5.261854E-2,3.401375E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.957163E2,1.359254E2,2.5979092E2,1.7266426E2,8.712665E1,1.674979E2,5.166372E0,8.5926796E1,1.1998504E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[7.367176E-4,-5.225118E-1,6.8090826E-1,-5.2665006E-2,7.88506E-3,3.3686805E-1,6.855596E-2,-2.889307E-3,5.1096547E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":84,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[1.3204953E2,5.6340027E-1,2.720642E-2,0E0,0E0,2.769929E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.2665006E-2,7.88506E-3,-2.8540388E-1,6.855596E-2,-2.889307E-3,5.1096547E-2],"split_indices":[2,5,2,0,0,3,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.6903146E2,2.0870714E2,1.6032433E2,2.0740414E2,1.3029985E0,3.1180508E0,1.5720628E2,1.2744987E0,1.8435522E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.2594449E-4,-5.2622765E-2,4.3615958E-1,6.868852E-2,-5.1690876E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":85,"left_children":[1,-1,3,-1,-1],"loss_changes":[8.515254E1,0E0,4.880583E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.2622765E-2,-1.5884927E-1,6.868852E-2,-5.1690876E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.689712E2,1.672132E2,2.01758E2,1.5995706E2,4.1800934E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.2123173E-4,-5.267626E-2,6.8653E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":86,"left_children":[1,-1,-1],"loss_changes":[1.3400462E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.267626E-2,6.8653E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.6851263E2,2.0858365E2,1.5992899E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.3745872E-4,-4.9747095E-1,5.820052E-1,-5.263573E-2,-1.706701E-1,6.8603255E-2,-4.9624134E-2,5.7459123E-2,-4.89937E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":87,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.0762968E2,1.8005257E0,1.9570618E1,0E0,4.5031404E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.263573E-2,1.3091943E0,6.8603255E-2,-4.9624134E-2,5.7459123E-2,-4.89937E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.6969128E2,1.9924907E2,1.7044221E2,1.8250647E2,1.6742603E1,1.5577689E2,1.4665334E1,4.7814927E0,1.196111E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-7.869203E-4,6.854689E-2,-5.2674364E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":88,"left_children":[1,-1,-1],"loss_changes":[1.3355229E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,6.854689E-2,-5.2674364E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.6801117E2,1.5954169E2,2.0846948E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.8496952E-4,-5.2503943E-2,2.6966807E-1,6.5124214E-1,-5.065455E-1,6.866804E-2,-4.3974172E-2,-5.22857E-2,3.231874E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":89,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[5.259413E1,0E0,7.291418E1,6.671097E0,1.2697086E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.2503943E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,6.866804E-2,-4.3974172E-2,-5.22857E-2,3.231874E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.6920654E2,1.2514084E2,2.4406572E2,1.637365E2,8.032922E1,1.5894412E2,4.7923713E0,7.914321E1,1.1860079E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[8.469412E-4,-5.193748E-1,6.591124E-1,-5.238238E-2,7.974404E-3,3.2235786E-1,6.637818E-2,-3.2257736E-3,4.9062338E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":90,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[1.1828685E2,5.56057E-1,2.5787354E-2,0E0,0E0,2.562663E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.238238E-2,7.974404E-3,1.3718078E-1,6.637818E-2,-3.2257736E-3,4.9062338E-2],"split_indices":[2,5,2,0,0,7,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.434199E2,1.9194128E2,1.514786E2,1.906512E2,1.2900872E0,3.0295217E0,1.484491E2,1.2350261E0,1.7944957E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.8818419E-4,-5.2335907E-2,4.2465833E-1,6.651183E-2,-5.133151E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":91,"left_children":[1,-1,3,-1,-1],"loss_changes":[7.675807E1,0E0,4.332568E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.2335907E-2,-1.5884927E-1,6.651183E-2,-5.133151E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.433413E2,1.5376178E2,1.8957953E2,1.5112727E2,3.8452263E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.8340516E-4,-5.2394368E-2,6.64734E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":92,"left_children":[1,-1,-1],"loss_changes":[1.2012233E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.2394368E-2,6.64734E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.4285916E2,1.9177065E2,1.5108853E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.7060244E-4,-4.9397865E-1,5.6451404E-1,-5.2351154E-2,-1.6518678E-1,6.641816E-2,-4.9112342E-2,5.46555E-2,-4.843312E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":93,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[9.6515656E1,1.7045555E0,1.7331654E1,0E0,4.0497293E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-5.2351154E-2,1.3091943E0,6.641816E-2,-4.9112342E-2,5.46555E-2,-4.843312E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.4407837E2,1.8344928E2,1.606291E2,1.6778609E2,1.5663183E1,1.4711053E2,1.3518562E1,4.628452E0,1.1034731E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-8.509295E-4,6.637047E-2,-5.2392572E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":94,"left_children":[1,-1,-1],"loss_changes":[1.1968577E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,6.637047E-2,-5.2392572E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.423079E2,1.5064618E2,1.916617E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.645407E-4,-5.2207924E-2,2.6328185E-1,6.307478E-1,-5.02726E-1,6.648334E-2,-4.3171607E-2,-5.197206E-2,3.0734582E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":95,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[4.7542534E1,0E0,6.4924E1,5.9204865E0,1.1917973E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.2207924E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,6.648334E-2,-4.3171607E-2,-5.197206E-2,3.0734582E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.4357877E2,1.1505451E2,2.2852428E2,1.545573E2,7.396697E1,1.5011559E2,4.4417076E0,7.279815E1,1.1688186E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[9.6200925E-4,-5.164133E-1,6.400868E-1,-5.211997E-2,8.053093E-3,3.0885237E-1,6.448071E-2,-2.9972005E-3,4.686347E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":96,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[1.0608958E2,5.485687E-1,2.525711E-2,0E0,0E0,2.2713006E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.211997E-2,8.053093E-3,1.3718078E-1,6.448071E-2,-2.9972005E-3,4.686347E-2],"split_indices":[2,5,2,0,0,7,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.1883505E2,1.7630617E2,1.4252888E2,1.7502965E2,1.2765286E0,2.9359336E0,1.3959296E2,1.2011883E0,1.7347453E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.4578723E-4,-5.206876E-2,4.14528E-1,6.461543E-2,-5.098465E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":97,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.923351E1,0E0,3.855327E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.206876E-2,-1.5884927E-1,6.461543E-2,-5.098465E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.1874084E2,1.4121605E2,1.7752478E2,1.4219507E2,3.532972E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.5485308E-4,-5.2132707E-2,6.457443E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":98,"left_children":[1,-1,-1],"loss_changes":[1.0782015E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.2132707E-2,6.457443E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.182377E2,1.7609148E2,1.4214624E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.9458437E-4,-5.06797E-1,5.3216696E-1,-5.2086513E-2,-2.5118902E-1,6.4574584E-2,-4.9276058E-2,4.413851E-2,-4.6619207E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":99,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[8.670681E1,4.609642E-1,1.858385E1,0E0,1.7717843E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.2086513E-2,-4.526356E-1,6.4574584E-2,-4.9276058E-2,4.413851E-2,-4.6619207E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.1948404E2,1.6357622E2,1.5590782E2,1.540594E2,9.516827E0,1.406873E2,1.52205105E1,2.00508E0,7.511747E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-9.180969E-4,6.447422E-2,-5.2131005E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":100,"left_children":[1,-1,-1],"loss_changes":[1.07397575E2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,6.447422E-2,-5.2131005E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.1763873E2,1.4165085E2,1.7598788E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-5.5076444E-4,-5.1930733E-2,2.5758457E-1,6.128352E-1,-4.9904957E-1,6.458009E-2,-4.2357415E-2,-5.1675387E-2,2.9250408E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":101,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[4.2981472E1,0E0,5.791572E1,5.271923E0,1.1185188E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.1930733E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,6.458009E-2,-4.2357415E-2,-5.1675387E-2,2.9250408E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.1897537E2,1.05648735E2,2.1332664E2,1.4529744E2,6.80292E1,1.4118362E2,4.113815E0,6.6880486E1,1.1487188E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.089153E-3,-5.1360625E-1,6.23392E-1,-5.187583E-2,8.119957E-3,2.962654E-1,6.281904E-2,-3.2958523E-3,4.5114964E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":102,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[9.524832E1,5.4089737E-1,2.5184631E-2,0E0,0E0,2.106058E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.187583E-2,8.119957E-3,9.536932E-1,6.281904E-2,-3.2958523E-3,4.5114964E-2],"split_indices":[2,5,2,0,0,5,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.9537592E2,1.61761E2,1.3361491E2,1.6049866E2,1.2623439E0,2.838605E0,1.3077632E2,1.1600319E0,1.678573E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-9.2351096E-5,-5.181935E-2,4.0557343E-1,6.295491E-2,-5.0647702E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":103,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.2478786E1,0E0,3.437706E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.181935E-2,-1.5884927E-1,6.295491E-2,-5.0647702E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.952691E2,1.2954355E2,1.6572554E2,1.3330025E2,3.24253E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.5855058E-4,-5.1889356E-2,6.291305E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":104,"left_children":[1,-1,-1],"loss_changes":[9.689043E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.1889356E-2,6.291305E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.94753E2,1.6150595E2,1.3324704E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.9840035E-4,-5.038525E-1,5.1921195E-1,-5.1839877E-2,-2.4337633E-1,6.290167E-2,-4.880431E-2,4.1997325E-2,-4.5956634E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":105,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[7.795694E1,4.466324E-1,1.654501E1,0E0,1.6099992E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.1839877E-2,-4.526356E-1,6.290167E-2,-4.880431E-2,4.1997325E-2,-4.5956634E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.9599002E2,1.5017432E2,1.4581572E2,1.4129356E2,8.880748E0,1.3182092E2,1.3994793E1,1.9511863E0,6.9295616E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-9.823891E-4,6.2813684E-2,-5.1887732E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":106,"left_children":[1,-1,-1],"loss_changes":[9.647588E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,6.2813684E-2,-5.1887732E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.9410358E2,1.3269629E2,1.614073E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.746709E-4,-5.1670235E-2,2.5243413E-1,5.97051E-1,-4.954943E-1,6.290912E-2,-4.1530136E-2,-5.1393498E-2,2.7856711E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":107,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[3.8854916E1,0E0,5.1739967E1,4.7078323E0,1.0496092E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.1670235E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,6.290912E-2,-4.1530136E-2,-5.1393498E-2,2.7856711E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.9548682E2,9.6896614E1,1.985902E2,1.3608784E2,6.250236E1,1.3227988E2,3.807968E0,6.1376236E1,1.126126E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.2227058E-3,-5.1093405E-1,6.086693E-1,-5.164816E-2,8.17414E-3,2.844645E-1,6.135709E-2,-3.5655417E-3,4.346401E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":108,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[8.559021E1,5.329819E-1,2.5447845E-2,0E0,0E0,1.9523233E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.164816E-2,8.17414E-3,-2.8540388E-1,6.135709E-2,-3.5655417E-3,4.346401E-2],"split_indices":[2,5,2,0,0,3,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.7311465E2,1.4826596E2,1.2484868E2,1.4701842E2,1.24755E0,2.738702E0,1.2210998E2,1.1180339E0,1.6206682E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-3.3928638E-5,-5.1585812E-2,3.9762536E-1,6.1494138E-2,-5.03182E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":109,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.640822E1,0E0,3.0708073E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.1585812E-2,-1.5884927E-1,6.1494138E-2,-5.03182E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.7299802E2,1.1871261E2,1.5428542E2,1.2455451E2,2.9730907E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.7517993E-4,-5.1662493E-2,6.1451532E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":110,"left_children":[1,-1,-1],"loss_changes":[8.7153046E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.1662493E-2,6.1451532E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.724721E2,1.4797359E2,1.2449853E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[9.180927E-5,-5.010594E-1,5.07734E-1,-5.1609363E-2,-2.3576114E-1,6.1430085E-2,-4.832999E-2,4.0009942E-2,-4.5283E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":111,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[7.0136826E1,4.316597E-1,1.4761162E1,0E0,1.4622151E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.1609363E-2,-4.526356E-1,6.1430085E-2,-4.832999E-2,4.0009942E-2,-4.5283E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.736891E2,1.3773158E2,1.359575E2,1.2945041E2,8.281168E0,1.23100525E2,1.2856982E1,1.8929504E0,6.3882174E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.0498202E-3,6.135277E-2,-5.1660944E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":112,"left_children":[1,-1,-1],"loss_changes":[8.6746E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,6.135277E-2,-5.1660944E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.7177475E2,1.238948E2,1.4787994E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-8.097178E-4,-5.142456E-2,2.477937E-1,5.831107E-1,-4.9203834E-1,6.1438937E-2,-4.0688645E-2,-5.1124204E-2,2.6545128E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":113,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[3.512619E1,0E0,4.628506E1,4.215088E0,9.848013E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.142456E-2,2.992449E-2,1.4142135E0,-2.1585682E-1,6.1438937E-2,-4.0688645E-2,-5.1124204E-2,2.6545128E-2],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.731949E2,8.877698E1,1.8441792E2,1.27047516E2,5.7370403E1,1.235242E2,3.5233145E0,5.626897E1,1.1014347E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.3631299E-3,-5.083774E-1,5.956251E-1,-5.1435173E-2,8.215071E-3,2.733637E-1,6.006522E-2,-3.3292372E-3,4.165262E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":114,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[7.696894E1,5.2479935E-1,2.5867462E-2,0E0,0E0,1.7354724E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.1435173E-2,8.215071E-3,-2.8540388E-1,6.006522E-2,-3.3292372E-3,4.165262E-2],"split_indices":[2,5,2,0,0,3,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.5209091E2,1.3577318E2,1.16317726E2,1.3454102E2,1.2321603E0,2.637224E0,1.136805E2,1.083596E0,1.553628E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.9621988E-5,-5.1366318E-2,3.9054507E-1,6.0203534E-2,-4.999365E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":115,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.0947105E1,0E0,2.747338E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.1366318E-2,-1.5884927E-1,6.0203534E-2,-4.999365E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.5196729E2,1.08685104E2,1.4328218E2,1.16045235E2,2.7236938E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[7.0599717E-4,-5.145035E-2,6.0160257E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":116,"left_children":[1,-1,-1],"loss_changes":[7.846013E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.145035E-2,6.0160257E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.5143452E2,1.354464E2,1.15988144E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.5940592E-5,-4.9839938E-1,4.975182E-1,-5.139316E-2,-2.283301E-1,6.012995E-2,-4.785019E-2,3.8156748E-2,-4.4595968E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":117,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[6.3136925E1,4.1625023E-1,1.319416E1,0E0,1.3272425E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.139316E-2,-4.526356E-1,6.012995E-2,-4.785019E-2,3.8156748E-2,-4.4595968E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.5262259E2,1.2620525E2,1.2641733E2,1.1848783E2,7.717424E0,1.14614204E2,1.1803126E1,1.8314826E0,5.8859415E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.120098E-3,6.0061913E-2,-5.1448863E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":118,"left_children":[1,-1,-1],"loss_changes":[7.8060234E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,6.0061913E-2,-5.1448863E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.5069212E2,1.1533432E2,1.353578E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.567962E-4,-5.1191773E-2,2.4359363E-1,5.6643844E-1,-4.9848408E-1,6.0189962E-2,-4.1182734E-2,-5.0847977E-2,-2.6196588E-4],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":119,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[3.1756025E1,0E0,4.146048E1,4.4190598E0,2.5957584E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.1191773E-2,4.2012736E-2,1.4142135E0,-3.6873317E-1,6.0189962E-2,-4.1182734E-2,-5.0847977E-2,-2.6196588E-4],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.5214029E2,8.1261055E1,1.7087923E2,1.1923995E2,5.163928E1,1.1544009E2,3.7998629E0,5.059396E1,1.04532E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.5173564E-3,-5.0591666E-1,5.8401686E-1,-5.123511E-2,8.2419915E-3,2.629109E-1,5.8918953E-2,-3.5487902E-3,4.018231E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":120,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[6.925978E1,5.162964E-1,2.6287079E-2,0E0,0E0,1.6079947E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.123511E-2,8.2419915E-3,9.536932E-1,5.8918953E-2,-3.5487902E-3,4.018231E-2],"split_indices":[2,5,2,0,0,5,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.3231853E2,1.242296E2,1.0808893E2,1.23013405E2,1.2162007E0,2.5352292E0,1.055537E2,1.0418183E0,1.4934111E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.3090395E-4,-5.115906E-2,3.8423696E-1,5.905946E-2,-4.967159E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":121,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.6033344E1,0E0,2.4613695E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.115906E-2,-1.5884927E-1,5.905946E-2,-4.967159E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.3220033E2,9.941876E1,1.3278157E2,1.07848366E2,2.4933203E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[8.56917E-4,-5.125117E-2,5.9014708E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":122,"left_children":[1,-1,-1],"loss_changes":[7.068548E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.125117E-2,5.9014708E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.3165341E2,1.2387137E2,1.07782036E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.5074767E-4,-4.958537E-1,4.8838454E-1,-5.118947E-2,-2.2107133E-1,5.897651E-2,-4.7362108E-2,3.6421306E-2,-4.389343E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":123,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[5.6862442E1,4.0054893E-1,1.1812853E1,0E0,1.2040067E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.118947E-2,-4.526356E-1,5.897651E-2,-4.7362108E-2,3.6421306E-2,-4.389343E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.3280539E2,1.1554756E2,1.1725783E2,1.0835898E2,7.1885858E0,1.0642881E2,1.0829013E1,1.7677659E0,5.4208198E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.1888276E-3,5.8916576E-2,-5.1249743E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":124,"left_children":[1,-1,-1],"loss_changes":[7.029239E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.8916576E-2,-5.1249743E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.3086902E2,1.0708124E2,1.2378779E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.1699188E-3,-5.097E-2,2.3968025E-1,5.554975E-1,-4.9540985E-1,5.9033107E-2,-4.0354636E-2,-5.0596148E-2,-1.4446847E-4],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":125,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.8702719E1,0E0,3.7194996E1,3.9701385E0,2.5112247E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.097E-2,4.2012736E-2,1.4142135E0,-3.6873317E-1,5.9033107E-2,-4.0354636E-2,-5.0596148E-2,-1.4446847E-4],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.3234958E2,7.431819E1,1.5803139E2,1.107109E2,4.7320488E1,1.07201675E2,3.509225E0,4.630703E1,1.0134574E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.6797574E-3,-5.035347E-1,5.7364047E-1,-5.1046383E-2,8.255337E-3,2.530188E-1,5.7897747E-2,-3.7423538E-3,3.877782E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":126,"left_children":[1,3,5,-1,-1,7,-1,-1,-1],"loss_changes":[6.2356705E1,5.074806E-1,2.6691437E-2,0E0,0E0,1.4889352E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,5,5],"right_children":[2,4,6,-1,-1,8,-1,-1,-1],"split_conditions":[6.064205E-1,2.3398616E0,9.3091923E-1,-5.1046383E-2,8.255337E-3,1.3718078E-1,5.7897747E-2,-3.7423538E-3,3.877782E-2],"split_indices":[2,5,2,0,0,7,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.137953E2,1.13585E2,1.00210304E2,1.1238533E2,1.1996642E0,2.4333692E0,9.777694E1,1.0001259E0,1.4332433E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.3857351E-4,-5.096239E-2,3.7857804E-1,5.8040377E-2,-4.934959E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":127,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.1605774E1,0E0,2.2078007E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.096239E-2,-1.5884927E-1,5.8040377E-2,-4.934959E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.1368433E2,9.0873405E1,1.2281092E2,1.00001785E2,2.2809141E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.0245468E-3,-5.1063366E-2,5.7994407E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":128,"left_children":[1,-1,-1],"loss_changes":[6.3722332E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.1063366E-2,5.7994407E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.1312654E2,1.1319817E2,9.992837E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.8828243E-4,-4.9340597E-1,4.801811E-1,-5.099667E-2,-2.1397537E-1,5.7949103E-2,-4.686304E-2,3.4789827E-2,-4.3173607E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":129,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[5.1232544E1,3.847046E-1,1.0591557E1,0E0,1.0915343E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.099667E-2,-4.526356E-1,5.7949103E-2,-4.686304E-2,3.4789827E-2,-4.3173607E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.1423685E2,1.0571352E2,1.0852334E2,9.901998E1,6.6935306E0,9.859307E1,9.930265E0,1.7026575E0,4.9908733E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.2606581E-3,5.7896283E-2,-5.1061984E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":130,"left_children":[1,-1,-1],"loss_changes":[6.3335793E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.7896283E-2,-5.1061984E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.1230347E2,9.918395E1,1.1311951E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3987212E-3,-5.075742E-2,2.3609419E-1,5.4569596E-1,-4.9236915E-1,5.800241E-2,-3.9509308E-2,-5.036394E-2,-6.139779E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":131,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.5942429E1,0E0,3.339733E1,3.5735111E0,1.8442154E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.075742E-2,4.2012736E-2,1.4142135E0,3.2818565E-1,5.800241E-2,-3.9509308E-2,-5.036394E-2,-6.139779E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.1380682E2,6.7916725E1,1.4589009E2,1.025546E2,4.3335495E1,9.931423E1,3.2403693E0,4.2066803E1,1.2686955E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.9261178E-3,-5.0892293E-2,5.563095E-1,5.743615E-2,-3.2011185E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":132,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.622341E1,0E0,1.6900978E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-5.0892293E-2,1.4142135E0,5.743615E-2,-3.2011185E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.9652493E2,1.0232098E2,9.420396E1,9.264046E1,1.5635009E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.9337849E-4,-5.0774653E-2,3.7343153E-1,5.7126313E-2,-4.9025256E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":133,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.7607086E1,0E0,1.9822786E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.0774653E-2,-1.5884927E-1,5.7126313E-2,-4.9025256E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.9638176E2,8.300584E1,1.1337592E2,9.252186E1,2.0854065E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.2094184E-3,-5.088537E-2,5.7082083E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":134,"left_children":[1,-1,-1],"loss_changes":[5.747801E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.088537E-2,5.7082083E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.9583344E2,1.0337349E2,9.245995E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.4011232E-4,-4.9103978E-1,4.727782E-1,-5.081315E-2,-2.070343E-1,5.7030287E-2,-4.6350416E-2,3.325074E-2,-4.2435013E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":135,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[4.617627E1,3.6883163E-1,9.5088825E0,0E0,9.8893785E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.081315E-2,-4.526356E-1,5.7030287E-2,-4.6350416E-2,3.325074E-2,-4.2435013E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.9689787E2,9.665503E1,1.00242836E2,9.042406E1,6.230972E0,9.1140396E1,9.102439E0,1.636896E0,4.5940757E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.3366188E-3,5.6983747E-2,-5.0884034E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":136,"left_children":[1,-1,-1],"loss_changes":[5.709781E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.6983747E-2,-5.0884034E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.9497499E2,9.1675385E1,1.03299614E2],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.6578254E-3,-5.0552256E-2,2.3275265E-1,5.368745E-1,-4.892887E-1,5.7080474E-2,-3.8646672E-2,-5.0120253E-2,-5.7275905E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":137,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.3444921E1,0E0,3.0012115E1,3.222046E0,1.8064213E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.0552256E-2,4.2012736E-2,1.4142135E0,3.2818565E-1,5.7080474E-2,-3.8646672E-2,-5.0120253E-2,-5.7275905E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.9650258E2,6.20245E1,1.3447807E2,9.480354E1,3.9674538E1,9.181152E1,2.9920166E0,3.8453922E1,1.2206185E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[1.994233E-3,-5.0719302E-2,5.47971E-1,5.659938E-2,-3.1010756E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":138,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.069814E1,0E0,1.5364552E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-5.0719302E-2,1.4142135E0,5.659938E-2,-3.1010756E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.8036476E2,9.336345E1,8.700131E1,8.554495E1,1.4563637E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.1779066E-4,-5.0592948E-2,3.68684E-1,5.6299247E-2,-4.8696216E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":139,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.39845E1,0E0,1.7811699E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.0592948E-2,-1.5884927E-1,5.6299247E-2,-4.8696216E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.8023755E2,7.575445E1,1.044831E2,8.5425804E1,1.9057299E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.4704978E-3,-5.0714638E-2,5.626305E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":140,"left_children":[1,-1,-1],"loss_changes":[5.1866104E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.0714638E-2,5.626305E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.7972174E2,9.432496E1,8.539678E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-5.5007153E-4,-4.8872435E-1,4.6606436E-1,-5.063616E-2,-2.0024227E-1,5.620524E-2,-4.5821816E-2,3.1794224E-2,-4.1676488E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":141,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[4.1625565E1,3.529911E-1,8.546865E0,0E0,8.9540136E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.063616E-2,-4.526356E-1,5.620524E-2,-4.5821816E-2,3.1794224E-2,-4.1676488E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.807373E2,8.830491E1,9.24324E1,8.250541E1,5.7994943E0,8.409131E1,8.34109E0,1.5711052E0,4.2283893E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.3590752E-3,5.6164276E-2,-5.0713338E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":142,"left_children":[1,-1,-1],"loss_changes":[5.1492138E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.6164276E-2,-5.0713338E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.7883136E2,8.457565E1,9.4255714E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.8782911E-3,-5.035278E-2,2.297703E-1,5.2889013E-1,-4.8616245E-1,5.6252476E-2,-3.7769206E-2,-4.9875736E-2,-5.328997E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":143,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.1192566E1,0E0,2.697551E1,2.910368E0,1.7671013E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.035278E-2,4.2012736E-2,1.4142135E0,3.2818565E-1,5.6252476E-2,-3.7769206E-2,-4.9875736E-2,-5.328997E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.8037444E2,5.6609455E1,1.2376498E2,8.747768E1,3.6287296E1,8.471425E1,2.7634256E0,3.511343E1,1.1738695E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.063429E-3,-5.0553214E-2,5.403995E-1,5.5843797E-2,-3.0015081E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":144,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.573282E1,0E0,1.399086E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-5.0553214E-2,1.4142135E0,5.5843797E-2,-3.0015081E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.653622E2,8.51425E1,8.021969E1,7.88629E1,1.3567914E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.4422407E-4,-5.0416972E-2,3.6436185E-1,5.5553634E-2,-4.8360143E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":145,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.0716267E1,0E0,1.6018093E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.0416972E-2,-1.5884927E-1,5.5553634E-2,-4.8360143E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.6525233E2,6.9098946E1,9.61534E1,7.874507E1,1.7408327E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.7561853E-3,-5.055067E-2,5.5524796E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":146,"left_children":[1,-1,-1],"loss_changes":[4.6823185E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.055067E-2,5.5524796E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.6476982E2,8.602058E1,7.874925E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.7214365E-4,-4.8645777E-1,4.5994428E-1,-5.0465293E-2,-1.9359364E-1,5.5461317E-2,-4.5274995E-2,3.0412212E-2,-4.0897258E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":147,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[3.7532417E1,3.3731842E-1,7.6903286E0,0E0,8.101855E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.0465293E-2,-4.526356E-1,5.5461317E-2,-4.5274995E-2,3.0412212E-2,-4.0897258E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.657346E2,8.063617E1,8.509843E1,7.5238556E1,5.3976116E0,7.7456604E1,7.6418266E0,1.5058149E0,3.8917966E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.3812549E-3,5.5425335E-2,-5.0549388E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":148,"left_children":[1,-1,-1],"loss_changes":[4.6455334E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.5425335E-2,-5.0549388E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.6385098E2,7.789519E1,8.5955795E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.1145928E-3,-5.0157297E-2,2.2699928E-1,5.216339E-1,-4.8300582E-1,5.55058E-2,-3.6875393E-2,-4.9620636E-2,-4.240125E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":149,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.9155704E1,0E0,2.4259258E1,2.6327171E0,1.7773342E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-5.0157297E-2,4.2012736E-2,1.4142135E0,-3.9760473E-1,5.55058E-2,-3.6875393E-2,-4.9620636E-2,-4.240125E-3],"split_indices":[10,0,2,9,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.6540196E2,5.163994E1,1.1376202E2,8.058609E1,3.317593E1,7.803342E1,2.5526729E0,3.2088367E1,1.0875609E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.0444896E-3,-5.0392557E-2,5.334608E-1,5.5156093E-2,-2.9025936E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":150,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.125848E1,0E0,1.2759037E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-5.0392557E-2,1.4142135E0,5.5156093E-2,-2.9025936E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.514455E2,7.760666E1,7.383883E1,7.25745E1,1.2643265E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.5950076E-4,-5.024522E-2,3.6047417E-1,5.4881282E-2,-4.8014753E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":151,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.7773718E1,0E0,1.4417428E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.024522E-2,-1.5884927E-1,5.4881282E-2,-4.8014753E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.513985E2,6.2998707E1,8.8399796E1,7.2502884E1,1.5896911E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.0683934E-3,-5.039203E-2,5.485652E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":152,"left_children":[1,-1,-1],"loss_changes":[4.2287743E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.039203E-2,5.485652E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.5092796E2,7.84089E1,7.251907E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-8.066606E-4,-4.84225E-1,4.5433453E-1,-5.029906E-2,-1.8708494E-1,5.4787617E-2,-4.4707906E-2,2.9287046E-2,-4.0119875E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":153,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[3.384861E1,3.2188034E-1,6.926338E0,0E0,7.3653364E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.029906E-2,1.3091943E0,5.4787617E-2,-4.4707906E-2,2.9287046E-2,-4.0119875E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.5184093E2,7.360213E1,7.82388E1,6.857835E1,5.023781E0,7.1238434E1,7.000365E0,1.4363182E0,3.5874627E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.4027731E-3,5.4756094E-2,-5.039076E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":154,"left_children":[1,-1,-1],"loss_changes":[4.1925922E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.4756094E-2,-5.039076E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.4998407E2,7.163568E1,7.834839E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.365872E-3,-4.996415E-2,2.2441456E-1,5.150047E-1,-4.7981456E-1,5.4829545E-2,-3.596634E-2,-4.9389135E-2,-3.922081E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":155,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.7313845E1,0E0,2.1826551E1,2.384859E0,1.7487955E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.996415E-2,4.2012736E-2,1.4142135E0,3.2818565E-1,5.4829545E-2,-3.596634E-2,-4.9389135E-2,-3.922081E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.5153487E2,4.7085144E1,1.0444973E2,7.4129814E1,3.0319914E1,7.177126E1,2.3585486E0,2.9263975E1,1.0559396E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.1136499E-3,-5.0235968E-2,5.271208E-1,5.4531593E-2,-2.8045148E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":156,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.7240154E1,0E0,1.1653328E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-5.0235968E-2,1.4142135E0,5.4531593E-2,-2.8045148E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.3860753E2,7.0708084E1,6.7899445E1,6.6720924E1,1.178518E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.895782E-4,-5.0076175E-2,3.568332E-1,5.4267056E-2,-4.7657855E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":157,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.5109692E1,0E0,1.2984237E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-5.0076175E-2,-1.5884927E-1,5.4267056E-2,-4.7657855E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.3857745E2,5.7412617E1,8.116483E1,6.665148E1,1.45133505E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.3739655E-3,-5.023734E-2,5.424704E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":158,"left_children":[1,-1,-1],"loss_changes":[3.8202316E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.023734E-2,5.424704E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.381346E2,7.144009E1,6.669452E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.54098E-4,-4.8201326E-1,4.4916195E-1,-5.0136026E-2,-1.8071342E-1,5.417465E-2,-4.411873E-2,2.810244E-2,-3.9413817E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":159,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[3.053153E1,3.0670357E-1,6.243807E0,0E0,6.7011356E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-5.0136026E-2,-6.7105854E-1,5.417465E-2,-4.411873E-2,2.810244E-2,-3.9413817E-2],"split_indices":[3,3,7,0,2,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.3900224E2,6.715733E1,7.184491E1,6.2481308E1,4.6760254E0,6.543234E1,6.4125667E0,1.3780086E0,3.2980168E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.4236958E-3,5.414713E-2,-5.0236076E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":160,"left_children":[1,-1,-1],"loss_changes":[3.784985E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.414713E-2,-5.0236076E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.3717604E2,6.579222E1,7.138383E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.6011192E-3,-4.9771708E-2,2.2201486E-1,5.0893444E-1,-4.7654578E-1,5.4215934E-2,-3.504346E-2,-4.913927E-2,-3.6154499E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":161,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.5649893E1,0E0,1.9646923E1,2.1632557E0,1.6990948E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.9771708E-2,4.2012736E-2,1.4142135E0,3.2818565E-1,5.4215934E-2,-3.504346E-2,-4.913927E-2,-3.6154499E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.3872896E2,4.2915478E1,9.5813484E1,6.81101E1,2.7703384E1,6.593023E1,2.1798744E0,2.6687847E1,1.0155364E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.1836876E-3,-5.008207E-2,5.2127016E-1,5.3959556E-2,-2.7074626E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":162,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.362156E1,0E0,1.0658264E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-5.008207E-2,1.4142135E0,5.3959556E-2,-2.7074626E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.267677E2,6.439903E1,6.2368668E1,6.1269737E1,1.0989314E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.2128517E-4,-4.990842E-2,3.5346645E-1,5.3705674E-2,-4.728717E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":163,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.2703926E1,0E0,1.170055E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.990842E-2,-1.5884927E-1,5.3705674E-2,-4.728717E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.2675531E2,5.230368E1,7.445163E1,6.1203842E1,1.3247785E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.743273E-3,-5.0085247E-2,5.3690888E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":164,"left_children":[1,-1,-1],"loss_changes":[3.452592E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-5.0085247E-2,5.3690888E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.2634782E2,6.5066956E1,6.128086E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.1152517E-3,-4.7979847E-1,4.4436198E-1,-4.9974766E-2,-1.7444256E-1,5.361413E-2,-4.350592E-2,2.7280498E-2,-3.850621E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":165,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[2.7543087E1,2.920847E-1,5.6332045E0,0E0,6.094178E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.9974766E-2,-4.526356E-1,5.361413E-2,-4.350592E-2,2.7280498E-2,-3.850621E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.2716341E2,6.1260014E1,6.590339E1,5.6905704E1,4.3543096E0,6.0028923E1,5.8744698E0,1.2995288E0,3.0547807E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.4434065E-3,5.3590234E-2,-5.0083976E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":166,"left_children":[1,-1,-1],"loss_changes":[3.4179485E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.3590234E-2,-5.0083976E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.2536958E2,6.0355038E1,6.501455E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.889317E-3,-4.957835E-2,2.1970795E-1,5.033051E-1,-4.731929E-1,5.3653132E-2,-3.410856E-2,-4.8878755E-2,-4.845615E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":167,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.4143103E1,0E0,1.7689844E1,1.9646244E0,1.5056944E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.957835E-2,4.2012736E-2,1.4142135E0,2.822356E-1,5.3653132E-2,-3.410856E-2,-4.8878755E-2,-4.845615E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.26912605E2,3.9102093E1,8.781052E1,6.250251E1,2.5308002E1,6.048698E1,2.015532E0,2.4266241E1,1.0417618E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.2622554E-3,-4.9929522E-2,5.158407E-1,5.34329E-2,-2.6116252E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":168,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.036182E1,0E0,9.7611237E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.9929522E-2,1.4142135E0,5.34329E-2,-2.6116252E-2],"split_indices":[2,0,9,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.1586932E2,5.863478E1,5.7234543E1,5.6209396E1,1.0251459E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.5469526E-4,-4.9740516E-2,3.503319E-1,5.318987E-2,-4.6900626E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":169,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.0530725E1,0E0,1.0549659E1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.9740516E-2,-1.5884927E-1,5.318987E-2,-4.6900626E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.15873665E2,4.7635456E1,6.823821E1,5.61468E1,1.2091413E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.141663E-3,-4.9934436E-2,5.3180702E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":170,"left_children":[1,-1,-1],"loss_changes":[3.1213129E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.9934436E-2,5.3180702E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.1549889E2,5.924405E1,5.6254845E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2901678E-3,-4.7758922E-1,4.3987712E-1,-4.9813904E-2,-1.6834056E-1,5.309874E-2,-4.286818E-2,2.6278157E-2,-3.7667032E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":171,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[2.4850197E1,2.7752495E-1,5.086252E0,0E0,5.5288714E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.9813904E-2,1.3091943E0,5.309874E-2,-4.286818E-2,2.6278157E-2,-3.7667032E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.1626266E2,5.5865658E1,6.0397003E1,5.1811913E1,4.0537467E0,5.5014717E1,5.382287E0,1.2355335E0,2.8182135E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.4619196E-3,5.3078134E-2,-4.9933143E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":172,"left_children":[1,-1,-1],"loss_changes":[3.0872633E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.3078134E-2,-4.9933143E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.1450573E2,5.5310448E1,5.9195282E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.2041322E-3,-4.938248E-2,2.1749105E-1,4.980694E-1,-4.6972537E-1,5.3135682E-2,-3.3163693E-2,-4.8615392E-2,-4.5023356E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":173,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.2779875E1,0E0,1.5932983E1,1.7863827E0,1.4639664E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.938248E-2,4.2012736E-2,1.4142135E0,2.822356E-1,5.3135682E-2,-3.3163693E-2,-4.8615392E-2,-4.5023356E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.1603686E2,3.5617996E1,8.041886E1,5.7299656E1,2.3119204E1,5.5435207E1,1.864448E0,2.2118895E1,1.0003074E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.3422365E-3,-4.977701E-2,5.1076865E-1,1.4354731E-1,5.259922E-2,-1.6126607E-2,3.7122335E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":174,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[2.7423517E1,0E0,2.2346497E-1,3.0304766E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[4.8029774E-1,-4.977701E-2,9.3091923E-1,-2.8540388E-1,5.259922E-2,-1.6126607E-2,3.7122335E-2],"split_indices":[2,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.0585193E2,5.3372833E1,5.247909E1,2.5041275E0,4.9974964E1,1.1954038E0,1.3087237E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[5.8906723E-4,-4.957105E-2,3.473916E-1,5.2713197E-2,-4.649624E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":175,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.856706E1,0E0,9.516912E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.957105E-2,-1.5884927E-1,5.2713197E-2,-4.649624E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.0587355E2,4.3373524E1,6.2500027E1,5.1464226E1,1.1035801E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.5376523E-3,-4.9783587E-2,5.270785E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":176,"left_children":[1,-1,-1],"loss_changes":[2.8223894E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.9783587E-2,5.270785E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.0552423E2,5.392836E1,5.159587E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.4803828E-3,-4.7536042E-1,4.3565634E-1,-4.965205E-2,-1.623722E-1,5.2622017E-2,-4.2204548E-2,2.5291353E-2,-3.6888327E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":177,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[2.2422585E1,2.6335144E-1,4.595764E0,0E0,5.0279415E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.965205E-2,-6.7105854E-1,5.2622017E-2,-4.2204548E-2,2.5291353E-2,-3.6888327E-2],"split_indices":[3,3,7,0,2,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.0624331E2,5.0937183E1,5.5306126E1,4.7162308E1,3.7748759E0,5.0373695E1,4.932428E0,1.1790848E0,2.595791E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.4790795E-3,5.2604426E-2,-4.978227E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":178,"left_children":[1,-1,-1],"loss_changes":[2.7891823E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.2604426E-2,-4.978227E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.0452514E2,5.0642014E1,5.388313E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.5055252E-3,-4.9182527E-2,2.1539225E-1,4.9318498E-1,-4.6613932E-1,5.2658588E-2,-3.221114E-2,-4.8336606E-2,-5.429393E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":179,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.1548397E1,0E0,1.4355237E1,1.6262503E0,1.3068295E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.9182527E-2,4.2012736E-2,1.4142135E0,2.7202836E-1,5.2658588E-2,-3.221114E-2,-4.8336606E-2,-5.429393E-3],"split_indices":[10,0,2,9,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.0604684E2,3.243767E1,7.360917E1,5.2490402E1,2.1118767E1,5.0764797E1,1.7256035E0,2.0104187E1,1.0145794E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.6497832E-3,-4.9623225E-2,5.059773E-1,1.4009565E-1,5.2159548E-2,-1.5393172E-2,3.572249E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":180,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[2.4784523E1,0E0,2.0767593E-1,2.7068228E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[4.8029774E-1,-4.9623225E-2,9.3091923E-1,-2.8540388E-1,5.2159548E-2,-1.5393172E-2,3.572249E-2],"split_indices":[2,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[9.670347E1,4.857328E1,4.8130184E1,2.378563E0,4.575162E1,1.1340029E0,1.2445601E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[6.1181E-4,-4.939946E-2,3.4464413E-1,5.227084E-2,-4.6071958E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":181,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.679715E1,0E0,8.589592E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.939946E-2,-1.5884927E-1,5.227084E-2,-4.6071958E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[9.671298E1,3.949547E1,5.7217514E1,4.7144848E1,1.0072664E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.9518443E-3,-4.9632054E-2,5.2268993E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":182,"left_children":[1,-1,-1],"loss_changes":[2.553261E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.9632054E-2,5.2268993E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[9.638797E1,4.9089317E1,4.7298653E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.7380485E-3,-4.7310278E-1,4.3165374E-1,-4.9488604E-2,-1.565156E-1,5.21782E-2,-4.151439E-2,2.4475943E-2,-3.5941757E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":183,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[2.023599E1,2.4975967E-1,4.155472E0,0E0,4.5575318E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.9488604E-2,-4.526356E-1,5.21782E-2,-4.151439E-2,2.4475943E-2,-3.5941757E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[9.705769E1,4.644818E1,5.060951E1,4.2931053E1,3.517129E0,4.608799E1,4.521521E0,1.1118842E0,2.4052446E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.5464753E-3,5.2163374E-2,-4.9630694E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":184,"left_children":[1,-1,-1],"loss_changes":[2.5206465E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.2163374E-2,-4.9630694E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[9.537891E1,4.6331615E1,4.904729E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.9232513E-3,-4.8976887E-2,2.1320441E-1,4.885613E-1,-4.6243864E-1,5.221305E-2,-3.125338E-2,-5.986992E-3,-4.8055988E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":185,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.0430229E1,0E0,1.294142E1,1.4820757E0,1.1934185E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.8976887E-2,4.2012736E-2,1.4142135E0,7.798416E-2,5.221305E-2,-3.125338E-2,-5.986992E-3,-4.8055988E-2],"split_indices":[10,0,2,9,2,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[9.688375E1,2.9536686E1,6.734706E1,4.8043808E1,1.9303255E1,4.6445766E1,1.5980394E0,1.0168757E0,1.8286379E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[2.8401988E-3,-4.9466867E-2,5.014053E-1,1.3666683E-1,5.174468E-2,-1.468566E-2,3.437525E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":186,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[2.2396858E1,0E0,1.9314098E-1,2.4181554E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[4.8029774E-1,-4.9466867E-2,9.3091923E-1,-2.8540388E-1,5.174468E-2,-1.468566E-2,3.437525E-2],"split_indices":[2,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[8.829519E1,4.4198322E1,4.4096867E1,2.258752E0,4.1838116E1,1.0761813E0,1.1825709E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.7176426E-4,-4.92236E-2,3.421228E-1,5.185896E-2,-4.562601E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":187,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.5203209E1,0E0,7.7570744E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.92236E-2,-1.5884927E-1,5.185896E-2,-4.562601E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.833935E1,3.5960358E1,5.237899E1,4.3184383E1,9.194607E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.3988554E-3,-4.9477976E-2,5.185896E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":188,"left_children":[1,-1,-1],"loss_changes":[2.3104162E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.9477976E-2,5.185896E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[8.801431E1,4.4678238E1,4.3336075E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.0144316E-3,-4.7081047E-1,4.2782772E-1,-4.9321514E-2,-1.5081428E-1,5.1762093E-2,-4.079742E-2,2.3569904E-2,-3.5050813E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":189,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.8263876E1,2.3642159E-1,3.7598715E0,0E0,4.1274127E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.9321514E-2,1.3091943E0,5.1762093E-2,-4.079742E-2,2.3569904E-2,-3.5050813E-2],"split_indices":[3,3,7,0,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[8.863627E1,4.2351456E1,4.6284813E1,3.9074333E1,3.2771223E0,4.2138416E1,4.146393E0,1.0549443E0,2.222178E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.6153601E-3,5.1749837E-2,-4.9476556E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":190,"left_children":[1,-1,-1],"loss_changes":[2.2783861E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.1749837E-2,-4.9476556E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[8.699894E1,4.23597E1,4.463924E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.373829E-3,-4.8763998E-2,2.110467E-1,4.764903E-1,-4.7797047E-2,5.1885158E-2,-3.3146914E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":191,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[9.418862E0,0E0,1.1675747E1,1.735651E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.8763998E-2,6.74979E-2,1.4142135E0,-4.7797047E-2,5.1885158E-2,-3.3146914E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[8.8485695E1,2.6892477E1,6.1593216E1,4.468629E1,1.6906927E1,4.2800106E1,1.8861828E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[3.065457E-3,-4.9306206E-2,4.9704048E-1,1.3326423E-1,5.1352646E-2,-1.4004196E-2,3.3077244E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":192,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[2.0241238E1,0E0,1.7974663E-1,2.1606652E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[4.8029774E-1,-4.9306206E-2,9.3091923E-1,-2.8540388E-1,5.1352646E-2,-1.4004196E-2,3.3077244E-2],"split_indices":[2,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[8.059216E1,4.02094E1,4.0382767E1,2.1445692E0,3.8238197E1,1.021711E0,1.1228582E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[8.2369946E-4,-4.904149E-2,3.3961833E-1,5.1468372E-2,-4.5156743E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":193,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.3755143E1,0E0,7.0072536E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.904149E-2,-1.5884927E-1,5.1468372E-2,-4.5156743E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.0647964E1,3.273541E1,4.7912556E1,3.9517918E1,8.394637E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.8704646E-3,-4.9319644E-2,5.1471233E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":194,"left_children":[1,-1,-1],"loss_changes":[2.090903E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.9319644E-2,5.1471233E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[8.0340294E1,4.0655952E1,3.968434E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.285979E-3,-4.6845478E-1,4.241406E-1,-4.9148925E-2,-1.4524755E-1,5.1369023E-2,-4.005372E-2,2.2728654E-2,-3.4215644E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":195,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.6483587E1,2.2351933E-1,3.4041243E0,0E0,3.752069E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.9148925E-2,-6.7105854E-1,5.1369023E-2,-4.005372E-2,2.2728654E-2,-3.4215644E-2],"split_indices":[3,3,7,0,2,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[8.092142E1,3.8612137E1,4.230928E1,3.555736E1,3.0547779E0,3.8505203E1,3.8040786E0,1.0029718E0,2.051806E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.6592167E-3,5.1359154E-2,-4.931816E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":196,"left_children":[1,-1,-1],"loss_changes":[2.0596481E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.1359154E-2,-4.931816E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[7.9326164E1,3.8706352E1,4.0619816E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.806336E-3,-4.8542287E-2,2.0910606E-1,4.7231567E-1,-4.7489453E-2,5.1487125E-2,-3.2201063E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":197,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[8.507594E0,0E0,1.0536655E1,1.5809288E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.8542287E-2,6.74979E-2,1.4142135E0,-4.7489453E-2,5.1487125E-2,-3.2201063E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[8.076349E1,2.4483936E1,5.6279556E1,4.0864143E1,1.5415412E1,3.912012E1,1.7440253E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[3.3026885E-3,-4.9140364E-2,4.928426E-1,1.2989324E-1,5.097921E-2,-8.547378E-3,2.779851E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":198,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[1.8295647E1,0E0,1.6735363E-1,1.2058723E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[4.8029774E-1,-4.9140364E-2,9.3091923E-1,-1.7452423E-1,5.097921E-2,-8.547378E-3,2.779851E-2],"split_indices":[2,0,2,1,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[7.35461E1,3.6578133E1,3.6967968E1,2.035884E0,3.4932083E1,1.0018076E0,1.0340762E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[8.763745E-4,-4.885228E-2,3.3719817E-1,5.1097225E-2,-4.4662535E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":199,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.2445824E1,0E0,6.332342E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.885228E-2,-1.5884927E-1,5.1097225E-2,-4.4662535E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[7.361375E1,2.9799055E1,4.3814686E1,3.614862E1,7.666066E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.4179775E-3,-4.91562E-2,5.110369E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":200,"left_children":[1,-1,-1],"loss_changes":[1.8928535E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.91562E-2,5.110369E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[7.3328026E1,3.699395E1,3.6334076E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.5770261E-3,-4.6602428E-1,4.2055795E-1,-4.896996E-2,-1.3980287E-1,5.0994724E-2,-3.928377E-2,1.9355945E-2,-3.2859202E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":201,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.4877103E1,2.1116352E-1,3.0839777E0,0E0,3.0585933E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.896996E-2,-6.4627284E-1,5.0994724E-2,-3.928377E-2,1.9355945E-2,-3.2859202E-2],"split_indices":[3,3,7,0,2,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[7.386516E1,3.5204903E1,3.8660255E1,3.235559E1,2.849313E0,3.5168434E1,3.4918215E0,1.0210619E0,1.8282511E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.7014521E-3,5.0987102E-2,-4.9154628E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":202,"left_children":[1,-1,-1],"loss_changes":[1.8621935E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.0987102E-2,-4.9154628E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[7.23119E1,3.535148E1,3.6960415E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-5.3101815E-3,-4.831016E-2,2.0714307E-1,4.6826604E-1,-4.7165766E-2,5.1107146E-2,-3.1249264E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":203,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[7.6823688E0,0E0,9.509693E0,1.4413271E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.831016E-2,6.74979E-2,1.4142135E0,-4.7165766E-2,5.1107146E-2,-3.1249264E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[7.36963E1,2.2291183E1,5.1405117E1,3.7348103E1,1.4057015E1,3.5734367E1,1.6137346E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[3.555735E-3,-4.8968066E-2,4.8862958E-1,1.0860346E-2,5.049497E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":204,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.6537048E1,0E0,1.6126537E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.8968066E-2,-5.72237E-1,1.0860346E-2,5.049497E-2],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.7118546E1,3.3274563E1,3.3843987E1,1.7087635E0,3.2135223E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[9.5868006E-4,-4.8654787E-2,3.348679E-1,5.0742637E-2,-4.4142067E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":205,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.1263598E1,0E0,5.7248063E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.8654787E-2,-1.5884927E-1,5.0742637E-2,-4.4142067E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.719308E1,2.7128468E1,4.0064613E1,3.306177E1,7.0028424E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[6.021726E-3,-4.8986517E-2,5.0752368E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":206,"left_children":[1,-1,-1],"loss_changes":[1.7141123E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.8986517E-2,5.0752368E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.692644E1,3.3663273E1,3.3263165E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.91121E-3,-4.6346855E-1,4.1704836E-1,-4.878339E-2,-1.3456559E-1,5.0635286E-2,-3.848842E-2,1.7413875E-2,-3.162728E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":207,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.3427431E1,1.9967651E-1,2.795661E0,0E0,2.6062626E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.878339E-2,1.2246501E0,5.0635286E-2,-3.848842E-2,1.7413875E-2,-3.162728E-2],"split_indices":[3,3,7,0,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.742339E1,3.210795E1,3.5315445E1,2.9443533E1,2.6644137E0,3.2108387E1,3.2070582E0,1.002651E0,1.6617628E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.7538968E-3,5.0629795E-2,-4.898484E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":208,"left_children":[1,-1,-1],"loss_changes":[1.6839485E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.0629795E-2,-4.898484E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.590724E1,3.227514E1,3.3632107E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-5.8627E-3,-4.8066143E-2,2.0515989E-1,4.6432352E-1,-4.682479E-2,5.0742652E-2,-3.0294314E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":209,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[6.93587E0,0E0,8.584801E0,1.3152795E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.8066143E-2,6.74979E-2,1.4142135E0,-4.682479E-2,5.0742652E-2,-3.0294314E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[6.72407E1,2.0296347E1,4.694435E1,3.4122616E1,1.2821735E1,3.26283E1,1.4943141E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[3.7515925E-3,-4.878799E-2,4.8393282E-1,1.1364839E-2,5.0278492E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":210,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.493835E1,0E0,1.6629648E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.878799E-2,9.3091923E-1,1.1364839E-2,5.0278492E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.127861E1,3.027038E1,3.100823E1,1.8427213E0,2.9165508E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.1524855E-3,-4.8447058E-2,3.3265978E-1,5.040245E-2,-4.359425E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":211,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.0198224E1,0E0,5.178103E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.8447058E-2,-1.5884927E-1,5.040245E-2,-4.359425E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.13468E1,2.4701014E1,3.6645786E1,3.0246393E1,6.399394E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[6.635384E-3,-4.8808847E-2,5.041307E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":212,"left_children":[1,-1,-1],"loss_changes":[1.5525751E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.8808847E-2,5.041307E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.108158E1,3.0635578E1,3.0446005E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.284619E-3,-4.6079817E-1,4.1358268E-1,-4.8587363E-2,-1.2952182E-1,5.0287105E-2,-3.76689E-2,1.5186736E-2,-3.032345E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":213,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.2119269E1,1.8869829E-1,2.5358338E0,0E0,2.1689017E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.8587363E-2,1.2351465E0,5.0287105E-2,-3.76689E-2,1.5186736E-2,-3.032345E-2],"split_indices":[3,3,7,0,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.1544773E1,2.9291668E1,3.2253105E1,2.6796665E1,2.4950027E0,2.9305695E1,2.9474127E0,1.0003451E0,1.4946578E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.817221E-3,5.028365E-2,-4.880705E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":214,"left_children":[1,-1,-1],"loss_changes":[1.5229991E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,5.028365E-2,-4.880705E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.0064426E1,2.9457798E1,3.0606628E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.4313724E-3,-4.780864E-2,2.0317076E-1,4.7288868E-1,-4.3467435E-1,-1.4819673E-2,4.992259E-2,-4.6418775E-2,-3.3712105E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":215,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[6.2613125E0,0E0,7.7529435E0,5.8616734E-1,1.4480352E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.780864E-2,2.992449E-2,-4.6442637E-1,-2.326557E-1,-1.4819673E-2,4.992259E-2,-4.6418775E-2,-3.3712105E-3],"split_indices":[10,0,2,3,8,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[6.1352676E1,1.8482254E1,4.2870422E1,3.0311556E1,1.2558868E1,1.0448552E0,2.92667E1,1.155096E1,1.0079088E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[3.942202E-3,-4.8599716E-2,4.7957703E-1,1.0899473E-2,4.9939472E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":216,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.3503616E1,0E0,1.6147566E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.8599716E-2,9.3091923E-1,1.0899473E-2,4.9939472E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.5947243E1,2.7548473E1,2.839877E1,1.7715418E0,2.6627228E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.4992289E-3,-4.8230063E-2,3.3062097E-1,5.0074376E-2,-4.301816E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":217,"left_children":[1,-1,3,-1,-1],"loss_changes":[9.242675E0,0E0,4.6862907E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.8230063E-2,-1.5884927E-1,5.0074376E-2,-4.301816E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.604497E1,2.2502098E1,3.3542877E1,2.7692408E1,5.8504677E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[7.233702E-3,-4.8623703E-2,5.0083328E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":218,"left_children":[1,-1,-1],"loss_changes":[1.4068892E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.8623703E-2,5.0083328E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.5759754E1,2.7890976E1,2.7868778E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.7647956E-3,-4.580135E-1,4.101345E-1,-4.838261E-2,-1.24685444E-1,4.994685E-2,-3.6826815E-2,1.2783109E-2,-2.88815E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":219,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[1.0940629E1,1.783433E-1,2.301536E0,0E0,1.7538369E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.838261E-2,1.2574158E0,4.994685E-2,-3.6826815E-2,1.2783109E-2,-2.88815E-2],"split_indices":[3,3,7,0,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.6191628E1,2.6739174E1,2.9452454E1,2.4398294E1,2.3408797E0,2.6741756E1,2.7106974E0,1.0092642E0,1.3316156E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-1.9588175E-3,4.9945362E-2,-4.862177E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":220,"left_children":[1,-1,-1],"loss_changes":[1.3778378E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.9945362E-2,-4.862177E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.4744595E1,2.6880524E1,2.786407E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.94218E-3,-4.7536105E-2,2.0090593E-1,4.563825E-1,-4.609249E-2,5.0059974E-2,-2.8523088E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":221,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[5.650537E0,0E0,7.011425E0,1.1109209E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.7536105E-2,6.74979E-2,1.4142135E0,-4.609249E-2,5.0059974E-2,-2.8523088E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[5.605665E1,1.6833227E1,3.922342E1,2.852339E1,1.070003E1,2.722513E1,1.29826E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[4.174821E-3,-4.840015E-2,4.7523367E-1,8.103633E-3,4.938316E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":222,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.220433E1,0E0,1.5796137E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.840015E-2,-5.72237E-1,8.103633E-3,4.938316E-2],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.1071358E1,2.5066505E1,2.6004854E1,1.4129764E0,2.4591877E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.6637102E-3,-4.7999244E-2,3.284163E-1,4.974834E-2,-4.2413186E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":223,"left_children":[1,-1,3,-1,-1],"loss_changes":[8.368899E0,0E0,4.241604E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.7999244E-2,-1.5884927E-1,4.974834E-2,-4.2413186E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.1173954E1,2.049456E1,3.0679392E1,2.5328123E1,5.3512692E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[7.980286E-3,-4.842749E-2,4.976032E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":224,"left_children":[1,-1,-1],"loss_changes":[1.2750265E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.842749E-2,4.976032E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.090158E1,2.5388006E1,2.5513575E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.199717E-3,-4.5505458E-1,4.0667894E-1,-4.8164975E-2,-1.2006002E-1,4.96114E-2,-3.59641E-2,1.083216E-2,-2.7475683E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":225,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[9.874278E0,1.6856432E-1,2.090128E0,0E0,1.4285392E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.8164975E-2,1.3410275E0,4.96114E-2,-3.59641E-2,1.083216E-2,-2.7475683E-2],"split_indices":[3,3,7,0,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[5.1304413E1,2.4410925E1,2.6893488E1,2.2209904E1,2.2010226E0,2.4398598E1,2.4948907E0,1.009888E0,1.1911347E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.018793E-3,4.9611833E-2,-4.8425395E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":226,"left_children":[1,-1,-1],"loss_changes":[1.246461E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.9611833E-2,-4.8425395E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.988836E1,2.4525415E1,2.5362946E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-7.5918E-3,-4.724704E-2,1.9886437E-1,4.5258695E-1,-4.5690373E-2,4.972175E-2,-2.7574796E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":227,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[5.099429E0,0E0,6.3326807E0,1.0163665E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.724704E-2,6.74979E-2,1.4142135E0,-4.5690373E-2,4.972175E-2,-2.7574796E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[5.1152798E1,1.5334818E1,3.581798E1,2.6049162E1,9.768819E0,2.4844099E1,1.2050618E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[4.38418E-3,-4.8188828E-2,4.7059998E-1,9.314285E-3,4.927786E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":228,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.1026945E1,0E0,1.6194057E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.8188828E-2,9.3091923E-1,9.314285E-3,4.927786E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.6639133E1,2.281207E1,2.3827063E1,1.610899E0,2.2216164E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.8660716E-3,-4.7753718E-2,3.2622638E-1,4.9426373E-2,-4.177902E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":229,"left_children":[1,-1,3,-1,-1],"loss_changes":[7.579125E0,0E0,3.840628E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.7753718E-2,-1.5884927E-1,4.9426373E-2,-4.177902E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.673871E1,1.8670921E1,2.806779E1,2.3170399E1,4.89739E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[8.7909475E-3,-4.8219185E-2,4.9441293E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":230,"left_children":[1,-1,-1],"loss_changes":[1.1558439E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.8219185E-2,4.9441293E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.6476997E1,2.3114449E1,2.3362549E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.6679513E-3,-4.5192796E-1,4.0319335E-1,-4.793347E-2,-1.1563924E-1,4.9277857E-2,-3.5083022E-2,9.229528E-3,-2.6150588E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":231,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[8.91154E0,1.5927553E-1,1.899262E0,0E0,1.17354766E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.793347E-2,-6.144869E-1,4.9277857E-2,-3.5083022E-2,9.229528E-3,-2.6150588E-2],"split_indices":[3,3,7,0,2,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[4.6852882E1,2.2295563E1,2.455732E1,2.0222141E1,2.0734205E0,2.2259184E1,2.2981365E0,1.0062551E0,1.0671655E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.0801423E-3,4.9280163E-2,-4.8216898E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":232,"left_children":[1,-1,-1],"loss_changes":[1.1277394E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.9280163E-2,-4.8216898E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.546623E1,2.2375153E1,2.3091076E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-8.288749E-3,-4.6939943E-2,1.9676958E-1,4.4878194E-1,-4.5263335E-2,4.9386024E-2,-2.6634274E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":233,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[4.601207E0,0E0,5.720262E0,9.306407E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.6939943E-2,6.74979E-2,1.4142135E0,-4.5263335E-2,4.9386024E-2,-2.6634274E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[4.6685085E1,1.3973668E1,3.271142E1,2.3788715E1,8.922702E0,2.2669159E1,1.1195574E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[4.630537E-3,-4.7964405E-2,4.6623883E-1,8.940955E-3,4.894417E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":234,"left_children":[1,-1,3,-1,-1],"loss_changes":[9.967621E0,0E0,1.5579748E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.7964405E-2,9.3091923E-1,8.940955E-3,4.894417E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.2588474E1,2.0764893E1,2.182358E1,1.547332E0,2.0276249E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.0299964E-3,-4.749353E-2,3.2398233E-1,4.9104314E-2,-4.1115634E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":235,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.8636093E0,0E0,3.4786336E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.749353E-2,-1.5884927E-1,4.9104314E-2,-4.1115634E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.2694546E1,1.7013802E1,2.5680744E1,2.1195982E1,4.4847617E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[9.701422E-3,-4.799864E-2,4.9124308E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":236,"left_children":[1,-1,-1],"loss_changes":[1.0481686E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.799864E-2,4.9124308E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.24507E1,2.1048923E1,2.1401775E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-5.1639527E-3,-4.4863495E-1,3.9965683E-1,-4.7688033E-2,-1.1140886E-2,4.8943475E-2,-3.4186102E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":237,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[8.042371E0,1.504488E-1,1.7268431E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.7688033E-2,-1.1140886E-2,4.8943475E-2,-3.4186102E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[4.2799E1,2.0372837E1,2.2426163E1,1.8416206E1,1.9566311E0,2.0307432E1,2.1187296E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-2.136905E-3,4.8947643E-2,-4.7996134E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":238,"left_children":[1,-1,-1],"loss_changes":[1.0204452E1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.8947643E-2,-4.7996134E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.1440678E1,2.04136E1,2.1027075E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.061092E-3,-4.6613358E-2,1.9459602E-1,4.4493026E-1,-4.4812907E-2,4.9049154E-2,-2.570414E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":239,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[4.1505075E0,0E0,5.167197E0,8.528147E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.6613358E-2,6.74979E-2,1.4142135E0,-4.4812907E-2,4.9049154E-2,-2.570414E-2],"split_indices":[10,0,2,9,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[4.26134E1,1.2737504E1,2.9875896E1,2.1722837E1,8.153059E0,2.068176E1,1.0410779E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[4.8621395E-3,-4.772599E-2,4.618318E-1,5.7604127E-3,4.8282392E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":240,"left_children":[1,-1,3,-1,-1],"loss_changes":[9.011498E0,0E0,1.503315E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.772599E-2,-5.72237E-1,5.7604127E-3,4.8282392E-2],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.8902317E1,1.8908577E1,1.9993738E1,1.1718808E0,1.8821857E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.1637029E-3,-4.7217235E-2,3.2169756E-1,4.878061E-2,-4.042336E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":241,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.2167487E0,0E0,3.1518855E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.7217235E-2,-1.5884927E-1,4.878061E-2,-4.042336E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.901448E1,1.5511117E1,2.3503365E1,1.93937E1,4.109665E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.0699998E-2,-4.776441E-2,4.880748E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":242,"left_children":[1,-1,-1],"loss_changes":[9.509646E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.776441E-2,4.880748E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.879236E1,1.9175585E1,1.9616774E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-5.615028E-3,-4.4467837E-1,3.9604998E-1,-4.7426667E-2,-1.0578002E-2,4.860568E-2,-3.3276103E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":243,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[7.2522063E0,1.467762E-1,1.5709982E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.7426667E-2,-1.0578002E-2,4.860568E-2,-3.3276103E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[3.9123817E1,1.864057E1,2.0483248E1,1.677643E1,1.8641404E0,1.852814E1,1.9551086E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-2.2205324E-3,4.861172E-2,-4.7761656E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":244,"left_children":[1,-1,-1],"loss_changes":[9.235243E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.861172E-2,-4.7761656E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.7780605E1,1.8625505E1,1.91551E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.896277E-3,-4.6266865E-2,1.9236772E-1,4.5385432E-1,-4.1366503E-1,-6.4811185E-3,4.8486095E-2,-4.401923E-2,-1.0466756E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":245,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[3.743982E0,0E0,4.671335E0,3.5695553E-1,2.8118014E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.6266865E-2,2.992449E-2,-3.5575974E-1,-2.9410255E-1,-6.4811185E-3,4.8486095E-2,-4.401923E-2,-1.0466756E-2],"split_indices":[10,0,2,3,8,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[3.8910435E1,1.1617333E1,2.7293102E1,1.9241867E1,8.051235E0,1.0239214E0,1.8217947E1,7.023674E0,1.0275605E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[5.0648446E-3,-4.7473308E-2,4.5708436E-1,7.5671347E-3,4.8273917E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":246,"left_children":[1,-1,3,-1,-1],"loss_changes":[8.148564E0,0E0,1.5271759E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.7473308E-2,9.3091923E-1,7.5671347E-3,4.8273917E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.557158E1,1.7231201E1,1.8340376E1,1.4047892E0,1.6935587E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.5435055E-3,-4.6924315E-2,3.1958786E-1,4.845875E-2,-3.9702933E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":247,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.6390867E0,0E0,2.8579226E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.6924315E-2,-1.5884927E-1,4.845875E-2,-3.9702933E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.5697567E1,1.4154506E1,2.154306E1,1.777434E1,3.768721E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.1640922E-2,-4.7515642E-2,4.848769E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":248,"left_children":[1,-1,-1],"loss_changes":[8.632005E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.7515642E-2,4.848769E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.5470078E1,1.7482513E1,1.7987564E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.186713E-3,-4.40564E-1,3.923551E-1,-4.714913E-2,-1.0040605E-2,4.826204E-2,-3.235595E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":249,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[6.5410447E0,1.4278388E-1,1.4300506E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.714913E-2,-1.0040605E-2,4.826204E-2,-3.235595E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[3.5785343E1,1.7072405E1,1.8712936E1,1.5295628E1,1.7767783E0,1.6907093E1,1.8058429E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-2.4098535E-3,4.8269983E-2,-4.7512602E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":250,"left_children":[1,-1,-1],"loss_changes":[8.360955E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.8269983E-2,-4.7512602E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.4459797E1,1.6996534E1,1.7463264E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0656756E-2,-4.58983E-2,1.8971668E-1,4.3685487E-1,-4.385258E-2,-1.5903302E-2,4.7880072E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":251,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[3.375725E0,0E0,4.2296915E0,5.552139E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.58983E-2,6.74979E-2,-4.400355E-1,-4.385258E-2,-1.5903302E-2,4.7880072E-2],"split_indices":[10,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[3.5608597E1,1.0600294E1,2.5008303E1,1.8166573E1,6.8417315E0,1.0111182E0,1.7155455E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[5.2550957E-3,-4.7202926E-2,4.5254153E-1,7.2721103E-3,4.792376E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":252,"left_children":[1,-1,3,-1,-1],"loss_changes":[7.369252E0,0E0,1.4577365E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.7202926E-2,9.3091923E-1,7.2721103E-3,4.792376E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.2518574E1,1.5704989E1,1.6813583E1,1.3487118E0,1.5464871E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.7920296E-3,-4.6611935E-2,3.1729406E-1,4.8128176E-2,-3.8955417E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":253,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.112091E0,0E0,2.5919092E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.6611935E-2,-1.5884927E-1,4.8128176E-2,-3.8955417E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.2661583E1,1.29184885E1,1.9743095E1,1.6284283E1,3.458813E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.2686645E-2,-4.7250163E-2,4.816304E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":254,"left_children":[1,-1,-1],"loss_changes":[7.8366184E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.7250163E-2,4.816304E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.244254E1,1.5941366E1,1.6501173E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-6.7202356E-3,-4.3625465E-1,3.885572E-1,-4.685284E-2,-9.528081E-3,4.7910303E-2,-3.142872E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":255,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[5.898472E0,1.3849044E-1,1.3025064E0,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.685284E-2,-9.528081E-3,4.7910303E-2,-3.142872E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[3.27424E1,1.5641574E1,1.7100828E1,1.3947345E1,1.6942286E0,1.5431198E1,1.669629E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-2.5422005E-3,4.7920156E-2,-4.7246795E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":256,"left_children":[1,-1,-1],"loss_changes":[7.569532E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.7920156E-2,-4.7246795E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.1436615E1,1.5513368E1,1.5923247E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.1474988E-2,-4.5506485E-2,1.8724719E-1,4.3223205E-1,-4.332382E-2,-1.24010295E-2,4.780753E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":257,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[3.0442815E0,0E0,3.818939E0,5.088239E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.5506485E-2,6.74979E-2,-3.6625564E-1,-4.332382E-2,-1.24010295E-2,4.780753E-2],"split_indices":[10,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[3.2568165E1,9.677032E0,2.2891132E1,1.6628956E1,6.262177E0,1.136314E0,1.5492641E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[5.450123E-3,-4.6914477E-2,4.4790176E-1,6.990585E-3,4.756371E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":258,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.6653705E0,0E0,1.3890576E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.6914477E-2,9.3091923E-1,6.990585E-3,4.756371E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.9741388E1,1.4320355E1,1.5421032E1,1.294819E0,1.4126213E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.0154153E-3,-4.627948E-2,3.1491587E-1,4.7789793E-2,-3.8182195E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":259,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.6348577E0,0E0,2.351578E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.627948E-2,-1.5884927E-1,4.7789793E-2,-3.8182195E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.9898388E1,1.1796709E1,1.8101679E1,1.4924586E1,3.1770923E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.3771713E-2,-4.6967063E-2,4.783178E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":260,"left_children":[1,-1,-1],"loss_changes":[7.1166706E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.6967063E-2,4.783178E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.968831E1,1.4542861E1,1.5145449E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-7.2786845E-3,-4.178148E-1,3.981588E-1,-4.6537E-2,-7.839833E-2,4.7486752E-2,-2.8040037E-2,1.6619302E-2,-2.6948383E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":261,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[5.3217783E0,2.1980095E-1,9.7094727E-1,0E0,1.9219002E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-4.6537E-2,1.2680671E0,4.7486752E-2,-2.8040037E-2,1.6619302E-2,-2.6948383E-2],"split_indices":[3,3,7,0,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.9973404E1,1.4877889E1,1.5095516E1,1.272405E1,2.1538386E0,1.3832035E1,1.263481E0,1.0017972E0,1.1520416E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.6803806E-3,4.7560122E-2,-4.6963323E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":262,"left_children":[1,-1,-1],"loss_changes":[6.854028E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.7560122E-2,-4.6963323E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.8689352E1,1.4163605E1,1.4525747E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2283033E-2,-4.509034E-2,1.8475965E-1,4.4083536E-1,-3.9831933E-2,-8.168413E-4,4.7352623E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":263,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[2.745527E0,0E0,3.4551067E0,2.3484969E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.509034E-2,2.992449E-2,-3.0652505E-1,-3.9831933E-2,-8.168413E-4,4.7352623E-2],"split_indices":[10,0,2,3,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[2.9803112E1,8.838998E0,2.0964113E1,1.4736232E1,6.2278824E0,1.0510046E0,1.3685226E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[5.728208E-3,-4.6607923E-2,4.4319454E-1,6.731116E-3,4.7194358E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":264,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.032775E0,0E0,1.3205099E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.6607923E-2,9.3091923E-1,6.731116E-3,4.7194358E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.7227785E1,1.3068261E1,1.4159524E1,1.2434319E0,1.2916092E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.2486431E-3,-4.5927476E-2,3.1251222E-1,4.7443703E-2,-3.7385106E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":265,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.2050276E0,0E0,2.1346622E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.5927476E-2,-1.5884927E-1,4.7443703E-2,-3.7385106E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.739382E1,1.0782638E1,1.6611181E1,1.3690197E1,2.9209845E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.4692864E-2,-4.6666276E-2,4.748998E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":266,"left_children":[1,-1,-1],"loss_changes":[6.4640985E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.6666276E-2,4.748998E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.7179808E1,1.3277801E1,1.3902007E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-7.938451E-3,-4.1377115E-1,3.9395007E-1,-4.6202417E-2,-7.555078E-2,4.7108382E-2,-2.7111948E-2,1.4109484E-2,-2.5353972E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":267,"left_children":[1,3,5,-1,7,-1,-1,-1,-1],"loss_changes":[4.8030825E0,2.040689E-1,8.872783E-1,0E0,1.523697E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2,4,4],"right_children":[2,4,6,-1,8,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-4.6202417E-2,6.6761285E-1,4.7108382E-2,-2.7111948E-2,1.4109484E-2,-2.5353972E-2],"split_indices":[3,3,7,0,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.7449364E1,1.3642952E1,1.3806413E1,1.1619224E1,2.0237284E0,1.2632941E1,1.1734716E0,1.0062356E0,1.0174928E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[-2.895938E-3,4.718789E-2,-4.6662126E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":268,"left_children":[1,-1,-1],"loss_changes":[6.2081137E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.718789E-2,-4.6662126E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.6197428E1,1.2935807E1,1.3261621E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2827772E-2,-4.464798E-2,1.8220244E-1,-3.79123E-1,4.4397318E-1,-7.3521733E-3,-4.1806813E-2,5.0841398E-3,4.706274E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":269,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.4770918E0,0E0,3.1437378E0,5.2328706E-2,1.2560296E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.464798E-2,-4.668057E-1,6.74979E-2,-2.8540388E-1,-7.3521733E-3,-4.1806813E-2,5.0841398E-3,4.706274E-2],"split_indices":[10,0,0,2,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.7326756E1,8.077361E0,1.9249395E1,5.979345E0,1.327005E1,1.0022837E0,4.9770613E0,1.027186E0,1.2242864E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[5.8828085E-3,-4.62809E-2,4.38331E-1,6.475884E-3,4.6809327E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":270,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.4594793E0,0E0,1.2537241E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.62809E-2,9.3091923E-1,6.475884E-3,4.6809327E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.4934912E1,1.1932326E1,1.3002584E1,1.1938162E0,1.1808768E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.6874104E-3,-4.555334E-2,3.1015885E-1,4.709066E-2,-3.656611E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":271,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.818271E0,0E0,1.9390736E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.555334E-2,-1.5884927E-1,4.709066E-2,-3.656611E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.512643E1,9.86228E0,1.5264151E1,1.2576066E1,2.6880846E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.5694555E-2,-4.6345554E-2,4.713938E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":272,"left_children":[1,-1,-1],"loss_changes":[5.873892E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.6345554E-2,4.713938E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.4900917E1,1.212984E1,1.2771077E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-8.640049E-3,-4.2375755E-1,3.7594172E-1,-4.584595E-2,-8.3839465E-3,4.679163E-2,-2.8727604E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":273,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[4.3351464E0,1.15487814E-1,9.949765E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.584595E-2,-8.3839465E-3,4.679163E-2,-2.8727604E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[2.5156757E1,1.2049098E1,1.3107659E1,1.061653E1,1.4325668E0,1.1769895E1,1.3377649E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-3.1167434E-3,4.680163E-2,-4.6340924E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":274,"left_children":[1,-1,-1],"loss_changes":[5.6240077E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.680163E-2,-4.6340924E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.3933825E1,1.1819341E1,1.2114483E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.348556E-2,-4.4179734E-2,1.7938873E-1,-3.7245712E-1,4.391186E-1,-8.419538E-3,-4.106944E-2,6.169055E-3,4.6637855E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":275,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.2337167E0,0E0,2.8428972E0,3.7326276E-2,1.0672927E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.4179734E-2,-4.668057E-1,7.798416E-2,-2.7335525E-1,-8.419538E-3,-4.106944E-2,6.169055E-3,4.6637855E-2],"split_indices":[10,0,0,2,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.5079828E1,7.3864036E0,1.7693424E1,5.5235553E0,1.2169868E1,1.0218663E0,4.501689E0,1.0395683E0,1.11303005E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[6.0336688E-3,-4.593307E-2,4.3333888E-1,6.2329713E-3,4.6409156E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":276,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.941827E0,0E0,1.1880803E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.593307E-2,9.3091923E-1,6.2329713E-3,4.6409156E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.2850735E1,1.0902369E1,1.1948366E1,1.1462679E0,1.0802098E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.141771E-3,-4.515713E-2,3.0773708E-1,4.6726655E-2,-3.572753E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":277,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.468505E0,0E0,1.7623277E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.515713E-2,-1.5884927E-1,4.6726655E-2,-3.572753E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.3065653E1,9.02749E0,1.4038164E1,1.1561934E1,2.4762292E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.678483E-2,-4.6004567E-2,4.6778884E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":278,"left_children":[1,-1,-1],"loss_changes":[5.340429E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.6004567E-2,4.6778884E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.283244E1,1.1088701E1,1.1743737E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.359137E-3,-4.0486282E-1,3.8526103E-1,-4.546715E-2,-7.039846E-3,4.6306435E-2,-2.5255335E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":279,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[3.9135015E0,1.7642832E-1,7.404014E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.7366098E-1,-4.546715E-2,-7.039846E-3,4.6306435E-2,-2.5255335E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[2.3075312E1,1.151179E1,1.156352E1,9.7068405E0,1.8049506E0,1.0550508E1,1.013013E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-3.355934E-3,4.6399653E-2,-4.5999393E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":280,"left_children":[1,-1,-1],"loss_changes":[5.095954E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.6399653E-2,-4.5999393E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.1878485E1,1.0804428E1,1.1074056E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.4205043E-2,-4.3685537E-2,1.7643173E-1,4.3307954E-1,-3.6852032E-1,5.6004897E-3,4.618177E-2,-4.024849E-2,-1.0143186E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":281,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[2.0138962E0,0E0,2.5761642E0,1.0640645E-1,1.4260054E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.3685537E-2,1.634707E-2,-2.7335525E-1,-5.5058926E-1,5.6004897E-3,4.618177E-2,-4.024849E-2,-1.0143186E-2],"split_indices":[10,0,2,3,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.3038181E1,6.7598133E0,1.6278368E1,1.1206093E1,5.072275E0,1.0023962E0,1.0203697E1,4.050282E0,1.0219934E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[6.167782E-3,-4.5564096E-2,4.282158E-1,6.0020774E-3,4.599273E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":282,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.4748898E0,0E0,1.12372875E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.5564096E-2,9.3091923E-1,6.0020774E-3,4.599273E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.0958221E1,9.969695E0,1.0988525E1,1.1007437E0,9.887782E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.563294E-3,-4.4739008E-2,3.0522987E-1,4.6350222E-2,-3.4871932E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":283,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.1523013E0,0E0,1.6025344E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.4739008E-2,-1.5884927E-1,4.6350222E-2,-3.4871932E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[2.1192986E1,8.271503E0,1.2921482E1,1.0638033E1,2.283449E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.8027373E-2,-4.564301E-2,4.640941E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":284,"left_children":[1,-1,-1],"loss_changes":[4.859485E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.564301E-2,4.640941E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.0960243E1,1.0145637E1,1.0814607E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0010645E-2,-3.993367E-1,3.8059005E-1,-4.5065183E-2,-6.6709765E-3,4.5846812E-2,-2.1617781E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":285,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[3.5279102E0,1.6803682E-1,6.379298E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,1.1709509E0,-4.5065183E-2,-6.6709765E-3,4.5846812E-2,-2.1617781E-2],"split_indices":[3,3,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[2.119967E1,1.0605958E1,1.0593713E1,8.881034E0,1.7249243E0,9.575819E0,1.017894E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-3.6431814E-3,4.598043E-2,-4.5637205E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":286,"left_children":[1,-1,-1],"loss_changes":[4.618835E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.598043E-2,-4.5637205E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.001361E1,9.88201E0,1.0131601E1],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.5045265E-2,-4.3166596E-2,1.7332819E-1,-3.5501942E-1,4.327963E-1,-7.812559E-3,-3.972022E-2,1.0665505E-2,4.5680463E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":287,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.8157042E0,0E0,2.3455908E0,3.689307E-2,3.8770914E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.3166596E-2,-4.529309E-1,9.4500445E-2,-2.3275517E-1,-7.812559E-3,-3.972022E-2,1.0665505E-2,4.5680463E-2],"split_indices":[10,0,0,2,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[2.1182444E1,6.1933117E0,1.4989131E1,4.815403E0,1.0173728E1,1.0136607E0,3.8017423E0,1.0707365E0,9.102992E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[6.2402794E-3,-4.5173164E-2,4.229446E-1,5.7818103E-3,4.5557976E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":288,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.053329E0,0E0,1.0608232E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.5173164E-2,9.3091923E-1,5.7818103E-3,4.5557976E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.923839E1,9.125312E0,1.0113079E1,1.0571537E0,9.055925E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.9277795E-3,-4.4298522E-2,3.0262223E-1,4.5960244E-2,-3.4002174E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":289,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.866304E0,0E0,1.458019E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.4298522E-2,-1.5884927E-1,4.5960244E-2,-3.4002174E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.949064E1,7.587055E0,1.1903585E1,9.795613E0,2.1079721E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.9304143E-2,-4.5260087E-2,4.6028297E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":290,"left_children":[1,-1,-1],"loss_changes":[4.424673E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.5260087E-2,4.6028297E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.9261152E1,9.291586E0,9.969566E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0629917E-2,-4.0827817E-1,3.6163658E-1,-4.463973E-2,-7.203907E-3,4.5541395E-2,-2.6156044E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":291,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[3.1824102E0,1.0091233E-1,7.689109E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.7366098E-1,-4.463973E-2,-7.203907E-3,4.5541395E-2,-2.6156044E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.9500837E1,9.382204E0,1.0118634E1,8.1326E0,1.2496035E0,9.029174E0,1.0894608E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-3.983366E-3,4.554263E-2,-4.525356E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":292,"left_children":[1,-1,-1],"loss_changes":[4.1877475E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.554263E-2,-4.525356E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.8321909E1,9.043837E0,9.278072E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.5780514E-2,-4.2622168E-2,1.7029442E-1,4.230815E-1,-3.5669E-2,8.310492E-3,4.5139097E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":293,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[1.6381979E0,0E0,2.1250963E0,6.3283086E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-4.2622168E-2,1.634707E-2,-2.0549265E-1,-3.5669E-2,8.310492E-3,4.5139097E-2],"split_indices":[10,0,2,1,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.9499634E1,5.680058E0,1.3819575E1,9.47278E0,4.346795E0,1.0306765E0,8.442103E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[6.5475754E-3,-4.475799E-2,4.1758823E-1,5.581815E-3,4.5108058E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":294,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.6735384E0,0E0,9.9885225E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.475799E-2,9.3091923E-1,5.581815E-3,4.5108058E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.7678583E1,8.356847E0,9.321736E0,1.0158247E0,8.305912E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.0631207E-3,-4.3832954E-2,2.9972696E-1,4.5550022E-2,-3.312138E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":295,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.6044438E0,0E0,1.3268746E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.3832954E-2,-1.5884927E-1,4.5550022E-2,-3.312138E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.7928667E1,6.9632397E0,1.0965427E1,9.017223E0,1.9482044E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.0435547E-2,-4.485358E-2,4.5629058E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":296,"left_children":[1,-1,-1],"loss_changes":[4.027859E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.485358E-2,4.5629058E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.770416E1,8.514083E0,9.190078E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.14399055E-2,-3.8854232E-1,3.707872E-1,-4.4190798E-2,-6.1051557E-3,4.4791967E-2,-1.5764942E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":297,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[2.872873E0,1.4810455E-1,4.7469318E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,-2.4907728E-1,-4.4190798E-2,-6.1051557E-3,4.4791967E-2,-1.5764942E-2],"split_indices":[3,3,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.79318E1,9.018094E0,8.913707E0,7.454057E0,1.5640368E0,7.9113126E0,1.0023944E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-4.2704754E-3,4.5085073E-2,-4.4846233E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":298,"left_children":[1,-1,-1],"loss_changes":[3.7972808E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.5085073E-2,-4.4846233E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.6783297E1,8.28226E0,8.501036E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.6233793E-2,-4.204753E-2,1.6750908E-1,-3.434347E-1,4.2322114E-1,-9.8915445E-3,-3.798147E-2,1.1277515E-2,4.4706404E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0,0,0],"id":299,"left_children":[1,-1,3,5,7,-1,-1,-1,-1],"loss_changes":[1.4790112E0,0E0,1.9422293E0,8.147001E-3,2.0742178E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3,4,4],"right_children":[2,-1,4,6,8,-1,-1,-1,-1],"split_conditions":[1E0,-4.204753E-2,-4.529309E-1,1.209389E-1,-2.2380704E-1,-9.8915445E-3,-3.798147E-2,1.1277515E-2,4.4706404E-2],"split_indices":[10,0,0,2,3,0,0,0,0],"split_type":[0,0,0,0,0,0,0,0,0],"sum_hessian":[1.7963976E1,5.2110567E0,1.2752919E1,4.1392145E0,8.613705E0,1.0177318E0,3.1214824E0,1.0230482E0,7.5906568E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"9","size_leaf_vector":"1"}},{"base_weights":[6.6052736E-3,-4.4320952E-2,4.1203228E-1,8.6865695E-3,4.4526786E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":300,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.3298378E0,0E0,6.501436E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.4320952E-2,1.0690231E0,8.6865695E-3,4.4526786E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.6257618E1,7.6627393E0,8.594879E0,1.1321282E0,7.462751E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.407415E-3,-4.33464E-2,2.9693675E-1,4.5131125E-2,-3.2232396E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":301,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.370515E0,0E0,1.2086775E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.33464E-2,-1.5884927E-1,4.5131125E-2,-3.2232396E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.6521772E1,6.4001126E0,1.012166E1,8.319033E0,1.8026282E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.1805577E-2,-4.442585E-2,4.5222346E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":302,"left_children":[1,-1,-1],"loss_changes":[3.6717799E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.442585E-2,4.5222346E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.6302273E1,7.8115892E0,8.490684E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.1949958E-2,-3.970243E-1,3.5121807E-1,-4.3716513E-2,-6.497938E-3,4.4576444E-2,-2.2273535E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":303,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[2.591725E0,9.128976E-2,6.1779463E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.1709509E0,-4.3716513E-2,-6.497938E-3,4.4576444E-2,-2.2273535E-2],"split_indices":[3,3,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.6535511E1,7.980452E0,8.555058E0,6.8373075E0,1.1431446E0,7.536867E0,1.018191E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-4.65711E-3,4.4606913E-2,-4.4417553E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":304,"left_children":[1,-1,-1],"loss_changes":[3.4449065E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.4606913E-2,-4.4417553E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.5389365E1,7.5904512E0,7.798914E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.7078461E-2,-4.1453008E-2,1.6425312E-1,-3.422628E-2,4.1439423E-1,9.719366E-3,4.4228207E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":305,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[1.3346233E0,0E0,1.7615712E0,0E0,3.67167E-2,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[1E0,-4.1453008E-2,-4.668057E-1,-3.422628E-2,-2.2380704E-1,9.719366E-3,4.4228207E-2],"split_indices":[10,0,0,0,3,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.6573555E1,4.789549E0,1.1784006E1,3.773893E0,8.010113E0,1.0097878E0,7.000325E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[6.985552E-3,-4.3858264E-2,4.062984E-1,8.352573E-3,4.403066E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":306,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.020155E0,0E0,6.138885E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.3858264E-2,1.0690231E0,8.352573E-3,4.403066E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.4973145E1,7.0302196E0,7.9429255E0,1.0865451E0,6.85638E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.4763798E-3,-4.2834815E-2,2.9383093E-1,4.4689525E-2,-3.13386E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":307,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.1560357E0,0E0,1.101285E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.2834815E-2,-1.5884927E-1,4.4689525E-2,-3.13386E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.5229019E1,5.8868546E0,9.342164E0,7.672216E0,1.6699482E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.2975052E-2,-4.3973763E-2,4.4795297E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":308,"left_children":[1,-1,-1],"loss_changes":[3.34634E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.3973763E-2,4.4795297E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.501564E1,7.172044E0,7.8435965E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2743691E-2,-3.771397E-1,3.5999742E-1,-4.3219108E-2,-5.5922656E-3,4.375102E-2,-1.1111373E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":309,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[2.341652E0,1.2968719E-1,3.6046922E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.7914535E-1,8.242151E-1,-4.5220256E-2,-4.3219108E-2,-5.5922656E-3,4.375102E-2,-1.1111373E-2],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.5240578E1,7.7005906E0,7.539987E0,6.278993E0,1.4215974E0,6.5359397E0,1.0040472E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-4.9975947E-3,4.410734E-2,-4.3964382E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":310,"left_children":[1,-1,-1],"loss_changes":[3.1257377E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.410734E-2,-4.3964382E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.4121601E1,6.96191E0,7.159692E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.7537726E-2,-4.0828083E-2,1.6137193E-1,4.1813638E-2,-3.205487E-1,-7.878051E-3,-3.6550563E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":311,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[1.2055556E0,0E0,1.6064321E0,0E0,2.2313654E-2,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[1E0,-4.0828083E-2,-1.9144885E-2,4.1813638E-2,1.6301931E-1,-7.878051E-3,-3.6550563E-2],"split_indices":[10,0,2,0,2,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.53025E1,4.4033737E0,1.0899126E1,7.1969748E0,3.702151E0,1.0120307E0,2.6901205E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.1561886E-3,-4.337298E-2,4.0036842E-1,8.026006E-3,4.3509733E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":312,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.7395952E0,0E0,5.7834268E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.337298E-2,1.0690231E0,8.026006E-3,4.3509733E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.3801092E1,6.457562E0,7.3435307E0,1.0427924E0,6.300738E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.9788534E-3,-4.230232E-2,2.9096138E-1,4.424407E-2,-3.0442903E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":313,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.9653666E0,0E0,1.0047182E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.230232E-2,-1.5884927E-1,4.424407E-2,-3.0442903E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.4068804E1,5.4221377E0,8.646667E0,7.0977464E0,1.5489198E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.4410978E-2,-4.3499857E-2,4.436087E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":314,"left_children":[1,-1,-1],"loss_changes":[3.0539355E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.3499857E-2,4.436087E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.3855725E1,6.592806E0,7.262919E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3113568E-2,-3.6442333E-1,3.6101362E-1,-4.2695045E-2,-5.0563985E-3,4.289226E-2,-4.3324255E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":315,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[2.114763E0,1.408925E-1,2.330172E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,8.242151E-1,-3.2583207E-1,-4.2695045E-2,-5.0563985E-3,4.289226E-2,-4.3324255E-3],"split_indices":[3,3,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.4088891E1,7.2793937E0,6.809498E0,5.7696404E0,1.5097533E0,5.778235E0,1.0312626E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-5.393012E-3,4.358603E-2,-4.3489233E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":316,"left_children":[1,-1,-1],"loss_changes":[2.8374405E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.358603E-2,-4.3489233E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.2971696E1,6.3909926E0,6.5807037E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.8844627E-2,-3.8458146E-2,1.6679966E-1,-3.6672E-2,3.943969E-1,6.298676E-3,4.327191E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":317,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[1.0926735E0,0E0,1.4494374E0,0E0,7.452643E-2,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[-5.007865E-1,-3.8458146E-2,1E0,-3.6672E-2,-2.146449E-1,6.298676E-3,4.327191E-2],"split_indices":[0,0,10,0,3,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.4148329E1,4.402797E0,9.745531E0,2.7314246E0,7.0141068E0,1.0010078E0,6.013099E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.0968294E-3,-4.2866487E-2,3.9425018E-1,7.7082105E-3,4.2963732E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":318,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.4858768E0,0E0,5.434966E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.2866487E-2,1.0690231E0,7.7082105E-3,4.2963732E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.2733164E1,5.940073E0,6.793091E0,1.0008566E0,5.792234E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.677811E-3,-4.1751187E-2,2.8751868E-1,4.3765094E-2,-2.954836E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":319,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.7892293E0,0E0,9.164054E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.1751187E-2,-1.5884927E-1,4.3765094E-2,-2.954836E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.2994774E1,5.002318E0,7.9924555E0,6.55401E0,1.4384454E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.6044948E-2,-4.3005485E-2,4.3919656E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":320,"left_children":[1,-1,-1],"loss_changes":[2.791233E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.3005485E-2,4.3919656E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.2810111E1,6.069147E0,6.740964E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3102771E-2,-3.7884784E-1,3.33803E-1,-4.2147473E-2,-5.5657364E-3,4.290637E-2,-1.5211098E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":321,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.9101993E0,7.727444E-2,4.2384917E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,8.242151E-1,1.1343863E0,-4.2147473E-2,-5.5657364E-3,4.290637E-2,-1.5211098E-2],"split_indices":[3,3,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.3058574E1,6.31186E0,6.7467136E0,5.3077E0,1.0041598E0,5.738675E0,1.0080382E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-5.8045047E-3,4.304506E-2,-4.2993437E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":322,"left_children":[1,-1,-1],"loss_changes":[2.5777876E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.304506E-2,-4.2993437E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.193162E1,5.874388E0,6.0572314E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.9679304E-2,-3.9552595E-2,1.551299E-1,4.0673845E-2,-3.0828705E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":323,"left_children":[1,-1,3,-1,-1],"loss_changes":[9.870698E-1,0E0,1.3304613E0,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1E0,-3.9552595E-2,-1.9144885E-2,4.0673845E-2,-3.0828705E-2],"split_indices":[10,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.3089672E1,3.7545745E0,9.335098E0,6.1294613E0,3.2056365E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[7.5280056E-3,-4.2332888E-2,3.8815334E-1,8.927739E-3,4.235231E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":324,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.2579355E0,0E0,3.935802E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.2332888E-2,-4.400355E-1,8.927739E-3,4.235231E-2],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.1766353E1,5.4663777E0,6.2999744E0,1.0395811E0,5.2603936E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.8129965E-3,-4.1173723E-2,2.841893E-1,4.3277934E-2,-2.8658206E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":325,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.630526E0,0E0,8.367911E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.1173723E-2,-1.5884927E-1,4.3277934E-2,-2.8658206E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.2021039E1,4.6168833E0,7.4041553E0,6.0665917E0,1.3375638E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.733215E-2,-4.248494E-2,4.3451834E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":326,"left_children":[1,-1,-1],"loss_changes":[2.5487897E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.248494E-2,4.3451834E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.1840312E1,5.589631E0,6.2506814E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3699612E-2,-3.5235354E-1,3.4887332E-1,-4.157714E-2,-4.679113E-3,4.160604E-2,-2.0346313E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":327,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.7296957E0,1.2130082E-1,1.7770278E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,8.242151E-1,-3.4174526E-1,-4.157714E-2,-4.679113E-3,4.160604E-2,-2.0346313E-3],"split_indices":[3,3,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.208585E1,6.2636237E0,5.822226E0,4.888389E0,1.3752347E0,4.818531E0,1.003695E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-6.1597857E-3,4.247979E-2,-4.247126E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":328,"left_children":[1,-1,-1],"loss_changes":[2.3414748E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.247979E-2,-4.247126E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.09806795E1,5.4028163E0,5.577863E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.0539865E-2,-3.804071E-2,1.5789662E-1,-3.508621E-2,3.7354943E-1,4.189447E-2,4.8806556E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":329,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[9.031711E-1,0E0,1.1716242E0,0E0,8.488488E-2,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[-5.224162E-1,-3.804071E-2,1E0,-3.508621E-2,-8.7895036E-2,4.189447E-2,4.8806556E-3],"split_indices":[0,0,10,0,2,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.21297455E1,3.6455605E0,8.484185E0,2.339042E0,6.1451435E0,5.1369734E0,1.0081701E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.473001E-3,-4.178041E-2,3.815943E-1,9.589344E-3,4.1656703E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":330,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.050214E0,0E0,2.8445423E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.178041E-2,-4.2728513E-1,9.589344E-3,4.1656703E-2],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.088385E1,5.0390363E0,5.844814E0,1.0455344E0,4.7992797E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.5773705E-3,-4.058167E-2,2.8062084E-1,4.276875E-2,-2.7775014E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":331,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.4866431E0,0E0,7.6441425E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-4.058167E-2,-1.5884927E-1,4.276875E-2,-2.7775014E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.1132102E1,4.2699275E0,6.862174E0,5.6168284E0,1.2453452E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.8961215E-2,-4.1946314E-2,4.298392E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":332,"left_children":[1,-1,-1],"loss_changes":[2.332549E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.1946314E-2,4.298392E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.0972665E1,5.157309E0,5.815356E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3573011E-2,-3.4562153E-1,3.4237468E-1,-4.098281E-2,-4.4153794E-3,4.095822E-2,-4.010677E-4],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":333,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.5640712E0,1.140331E-1,1.5077162E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,8.242151E-1,1.2950939E0,-4.098281E-2,-4.4153794E-3,4.095822E-2,-4.010677E-4],"split_indices":[3,3,0,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.1232132E1,5.8261623E0,5.4059696E0,4.506851E0,1.3193111E0,4.374718E0,1.0312518E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-6.6302167E-3,4.1894015E-2,-4.1930787E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":334,"left_children":[1,-1,-1],"loss_changes":[2.1287138E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.1894015E-2,-4.1930787E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[1.0120666E1,4.9750314E0,5.1456347E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.1506842E-2,-3.729384E-2,1.5418667E-1,-3.430925E-2,3.6690232E-1,4.8567113E-3,4.14682E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":335,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[8.137673E-1,0E0,1.0645022E0,0E0,8.173871E-2,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[-5.224162E-1,-3.729384E-2,1E0,-3.430925E-2,-1.9818191E-1,4.8567113E-3,4.14682E-2],"split_indices":[0,0,10,0,3,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.1248352E1,3.374944E0,7.8734083E0,2.175256E0,5.6981525E0,1.0067948E0,4.6913576E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.4430057E-3,-3.874164E-2,3.983335E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":336,"left_children":[1,-1,-1],"loss_changes":[1.8647027E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-3.874164E-2,3.983335E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[1.0081422E1,5.019671E0,5.0617504E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.297017E-3,-3.9972268E-2,2.7695656E-1,4.224333E-2,-2.690149E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":337,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.3564268E0,0E0,6.987996E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.9972268E-2,-1.5884927E-1,4.224333E-2,-2.690149E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[1.032191E1,3.9545803E0,6.3673296E0,5.2063456E0,1.1609839E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.0564856E-2,-4.138762E-2,4.250381E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":338,"left_children":[1,-1,-1],"loss_changes":[2.1363056E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.138762E-2,4.250381E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[1.0181788E1,4.7645392E0,5.417249E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3378126E-2,-3.3881348E-1,3.357835E-1,-4.036725E-2,-4.163961E-3,4.016864E-2,4.9149274E-4],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":339,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.4153503E0,1.0705799E-1,1.2946993E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,8.242151E-1,-3.5439548E-1,-4.036725E-2,-4.163961E-3,4.016864E-2,4.9149274E-4],"split_indices":[3,3,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.0454611E1,5.4264946E0,5.0281157E0,4.1601577E0,1.2663372E0,4.0144715E0,1.0136442E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-7.1177687E-3,4.1287404E-2,-4.137E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":340,"left_children":[1,-1,-1],"loss_changes":[1.9363229E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.1287404E-2,-4.137E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[9.339098E0,4.5861826E0,4.7529154E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.2492962E-2,-3.7512943E-2,1.4639342E-1,3.6191934E-1,-3.4002744E-2,5.608474E-3,4.0868618E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":341,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[7.365228E-1,0E0,1.0097631E0,6.783694E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-3.7512943E-2,6.74979E-2,-1.7030323E-1,-3.4002744E-2,5.608474E-3,4.0868618E-2],"split_indices":[10,0,2,1,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[1.0444894E1,2.9869397E0,7.457954E0,5.345428E0,2.1125262E0,1.0006772E0,4.344751E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.2202967E-3,-4.063013E-2,3.6907837E-1,1.0551306E-2,4.024376E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":342,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.6991308E0,0E0,1.069057E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.063013E-2,1.307082E0,1.0551306E-2,4.024376E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[9.3529415E0,4.30756E0,5.0453815E0,1.0345465E0,4.0108347E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.0181365E-3,-3.934463E-2,2.7318877E-1,4.1702025E-2,-2.6040113E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":343,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.2381345E0,0E0,6.392775E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.934463E-2,-1.5884927E-1,4.1702025E-2,-2.6040113E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[9.581012E0,3.6662793E0,5.9147325E0,4.830983E0,1.0837493E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.2145333E-2,-4.080826E-2,4.2010155E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":344,"left_children":[1,-1,-1],"loss_changes":[1.9574847E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.080826E-2,4.2010155E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[9.457623E0,4.4060454E0,5.051577E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3155933E-2,-3.5258946E-1,3.086257E-1,-3.939053E-2,-8.013493E-3,4.0285826E-2,-7.91009E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":345,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.2821752E0,3.2538176E-2,2.5283897E-1,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[9.3463856E-1,6.547977E-1,1.1108541E0,-3.939053E-2,-8.013493E-3,4.0285826E-2,-7.91009E-3],"split_indices":[3,3,1,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[9.742718E0,4.69472E0,5.0479984E0,3.6894717E0,1.005248E0,4.0296187E0,1.01838E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-7.4885413E-3,4.066296E-2,-4.0788263E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":346,"left_children":[1,-1,-1],"loss_changes":[1.7623104E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.066296E-2,-4.0788263E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[8.628181E0,4.2337456E0,4.3944364E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.3401737E-2,-3.51672E-2,1.5248573E-1,-3.270267E-2,3.6501044E-1,1.0614328E-2,3.977594E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":347,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[6.718305E-1,0E0,9.009157E-1,0E0,6.8362355E-3,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[-5.007865E-1,-3.51672E-2,1E0,-3.270267E-2,-1.3422611E-1,1.0614328E-2,3.977594E-2],"split_indices":[0,0,10,0,3,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[9.706966E0,3.0378375E0,6.669129E0,1.8826342E0,4.7864947E0,1.0138159E0,3.772679E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.36081E-3,-4.00151E-2,3.623446E-1,1.07627595E-2,3.9492622E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":348,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.5460798E0,0E0,4.808843E-3,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-4.00151E-2,-3.7971267E-1,1.07627595E-2,3.9492622E-2],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.685375E0,3.9842854E0,4.7010894E0,1.0211613E0,3.6799283E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.7101118E-3,-3.870171E-2,2.6933518E-1,4.1145228E-2,-2.5193099E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":349,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.1309875E0,0E0,5.852672E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.870171E-2,-1.5884927E-1,4.1145228E-2,-2.5193099E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.9049E0,3.403763E0,5.501137E0,4.48816E0,1.0129764E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.3642564E-2,-4.0210225E-2,4.1503426E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":350,"left_children":[1,-1,-1],"loss_changes":[1.7947836E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-4.0210225E-2,4.1503426E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[8.795432E0,4.0798497E0,4.715582E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3493163E-2,-3.260382E-1,3.2278866E-1,-3.9092865E-2,-3.7945684E-3,3.8611498E-2,2.3992036E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":351,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.1650096E0,9.216368E-2,9.2149496E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,8.242151E-1,-3.6423457E-1,-3.9092865E-2,-3.7945684E-3,3.8611498E-2,2.3992036E-3],"split_indices":[3,3,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[9.083119E0,4.723497E0,4.3596225E0,3.5638204E0,1.1596763E0,3.3561041E0,1.0035186E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-7.880322E-3,4.0019035E-2,-4.018756E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":352,"left_children":[1,-1,-1],"loss_changes":[1.6047646E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,4.0019035E-2,-4.018756E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[7.9809465E0,3.912721E0,4.068226E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.3963049E-2,-3.6081318E-2,1.408798E-1,3.502508E-1,-3.2424785E-2,7.7472925E-3,3.9332945E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":353,"left_children":[1,-1,3,5,-1,-1,-1],"loss_changes":[6.0845006E-1,0E0,8.402317E-1,3.564197E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,2,2,3,3],"right_children":[2,-1,4,6,-1,-1,-1],"split_conditions":[1E0,-3.6081318E-2,6.74979E-2,-1.5591879E-1,-3.2424785E-2,7.7472925E-3,3.9332945E-2],"split_indices":[10,0,2,1,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[9.042238E0,2.5804188E0,6.4618196E0,4.626322E0,1.835498E0,1.0126344E0,3.6136873E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[7.5459955E-3,-3.938439E-2,3.5547957E-1,1.0953194E-2,3.875412E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":354,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.4082544E0,0E0,5.5491924E-5,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[4.8029774E-1,-3.938439E-2,1.3605851E0,1.0953194E-2,3.875412E-2],"split_indices":[2,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.081183E0,3.6910691E0,4.3901143E0,1.0156062E0,3.3745084E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.5281122E-3,-3.804865E-2,2.6556423E-1,4.0477242E-2,-2.2313753E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":355,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.0349776E0,0E0,5.0714004E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.804865E-2,-3.0677405E-1,4.0477242E-2,-2.2313753E-2],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.292624E0,3.1657329E0,5.1268916E0,4.12392E0,1.0029715E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.4995012E-2,-3.9597362E-2,4.0984757E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":356,"left_children":[1,-1,-1],"loss_changes":[1.6470635E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.9597362E-2,4.0984757E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[8.190824E0,3.784003E0,4.4068203E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.331848E-2,-3.1915233E-1,3.1590053E-1,-3.8422227E-2,-3.5836534E-3,3.7784986E-2,3.1907514E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":357,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[1.056247E0,8.608997E-2,7.7183664E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,8.242151E-1,-3.6669433E-1,-3.8422227E-2,-3.5836534E-3,3.7784986E-2,3.1907514E-3],"split_indices":[3,3,4,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[8.489141E0,4.4167247E0,4.072417E0,3.3021479E0,1.1145765E0,3.0718448E0,1.0005721E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-8.4367E-3,3.9353713E-2,-3.9571732E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":358,"left_children":[1,-1,-1],"loss_changes":[1.4620476E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.9353713E-2,-3.9571732E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[7.3912263E0,3.6188862E0,3.7723398E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.4931429E-2,-3.3755854E-2,1.4669031E-1,-3.1079812E-2,3.525762E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":359,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.5537146E-1,0E0,7.485511E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-5.007865E-1,-3.3755854E-2,1E0,-3.1079812E-2,3.525762E-2],"split_indices":[0,0,10,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[8.428163E0,2.6443412E0,5.7838216E0,1.6369268E0,4.146895E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[7.6143825E-3,-3.62138E-2,3.7208144E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":360,"left_children":[1,-1,-1],"loss_changes":[1.2839375E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-3.62138E-2,3.7208144E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[7.5275364E0,3.7398467E0,3.78769E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.5899474E-3,-3.7385326E-2,2.61769E-1,3.9780848E-2,-1.9424846E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":361,"left_children":[1,-1,3,-1,-1],"loss_changes":[9.486371E-1,0E0,4.3663028E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.7385326E-2,-1.5253112E-1,3.9780848E-2,-1.9424846E-2],"split_indices":[9,0,8,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[7.741338E0,2.948663E0,4.792675E0,3.789758E0,1.002917E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.6536045E-2,-3.8971037E-2,4.0465858E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":362,"left_children":[1,-1,-1],"loss_changes":[1.5139567E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.8971037E-2,4.0465858E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[7.643485E0,3.51493E0,4.1285553E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2919588E-2,2.5364807E-1,-3.7684653E-2,-1.163825E-2,3.676323E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":363,"left_children":[1,3,-1,-1,-1],"loss_changes":[9.63877E-1,2.858962E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,9.3463856E-1,-3.7684653E-2,-1.163825E-2,3.676323E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[7.950422E0,4.763961E0,3.186461E0,1.1169451E0,3.6470156E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-8.950407E-3,3.867509E-2,-3.894211E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":364,"left_children":[1,-1,-1],"loss_changes":[1.3333055E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.867509E-2,-3.894211E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.8556957E0,3.352493E0,3.5032027E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.6464263E-2,-3.4630816E-2,1.340018E-1,3.648338E-2,-2.663883E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":365,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.0203353E-1,0E0,7.101925E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1E0,-3.4630816E-2,-1.9144885E-2,3.648338E-2,-2.663883E-2],"split_indices":[10,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[7.8774614E0,2.2448487E0,5.6326127E0,3.6291485E0,2.0034642E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[7.690815E-3,-3.8093653E-2,3.4253325E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":366,"left_children":[1,-1,-1],"loss_changes":[1.1744384E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.8093653E-2,3.4253325E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[7.022469E0,3.1864862E0,3.8359826E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.7232457E-3,-3.6696386E-2,2.576197E-1,-1.6646683E-2,3.9034452E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":367,"left_children":[1,-1,3,-1,-1],"loss_changes":[8.683334E-1,0E0,3.7379003E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.6696386E-2,-6.2313978E-2,-1.6646683E-2,3.9034452E-2],"split_indices":[9,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[7.232021E0,2.7456458E0,4.4863753E0,1.0088003E0,3.477575E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.699099E-2,-3.8320985E-2,3.988951E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":368,"left_children":[1,-1,-1],"loss_changes":[1.3870881E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.8320985E-2,3.988951E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[7.1160517E0,3.2655752E0,3.8504765E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3276197E-2,2.4739654E-1,-3.6975425E-2,-1.1126158E-2,3.5996895E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":369,"left_children":[1,3,-1,-1,-1],"loss_changes":[8.747012E-1,2.6080847E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,9.3463856E-1,-3.6975425E-2,-1.1126158E-2,3.5996895E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[7.4286556E0,4.4676833E0,2.9609728E0,1.070068E0,3.397615E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-8.044343E-3,3.8032033E-2,-3.828844E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":370,"left_children":[1,-1,-1],"loss_changes":[1.2199833E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.8032033E-2,-3.828844E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[6.3801646E0,3.126371E0,3.2537935E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.7443375E-2,-3.3061054E-2,1.3605815E-1,-2.946258E-2,3.2932433E-1,9.766422E-3,3.6615137E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":371,"left_children":[1,-1,3,-1,5,-1,-1],"loss_changes":[4.595845E-1,0E0,6.0828507E-1,0E0,4.4388175E-3,0E0,0E0],"parents":[2147483647,0,0,2,2,4,4],"right_children":[2,-1,4,-1,6,-1,-1],"split_conditions":[-5.224162E-1,-3.3061054E-2,1E0,-2.946258E-2,-7.863617E-2,9.766422E-3,3.6615137E-2],"split_indices":[0,0,10,0,3,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[7.364264E0,2.2220466E0,5.1422176E0,1.430334E0,3.7118835E0,1.0100629E0,2.7018206E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[6.950985E-3,-3.7417937E-2,3.3413917E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":372,"left_children":[1,-1,-1],"loss_changes":[1.0675775E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.7417937E-2,3.3413917E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[6.558454E0,2.963155E0,3.5952992E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.368688E-3,-3.600155E-2,2.537283E-1,-1.4547561E-2,3.8324226E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":373,"left_children":[1,-1,3,-1,-1],"loss_changes":[7.972333E-1,0E0,3.2551053E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.600155E-2,-3.7601605E-2,-1.4547561E-2,3.8324226E-2],"split_indices":[9,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.778656E0,2.561148E0,4.2175083E0,1.002925E0,3.2145832E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.753771E-2,-3.766049E-2,3.9310053E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":374,"left_children":[1,-1,-1],"loss_changes":[1.2727679E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.766049E-2,3.9310053E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.638003E0,3.0390651E0,3.5989375E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.358002E-2,-2.997311E-1,2.9779312E-1,-3.6252137E-2,-3.8016625E-3,3.5007864E-2,6.3104792E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0,0,0],"id":375,"left_children":[1,3,5,-1,-1,-1,-1],"loss_changes":[7.979479E-1,6.2520385E-2,3.0804068E-2,0E0,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1,2,2],"right_children":[2,4,6,-1,-1,-1,-1],"split_conditions":[1.0155948E0,7.4174094E-1,-1.9114107E-1,-3.6252137E-2,-3.8016625E-3,3.5007864E-2,6.3104792E-3],"split_indices":[3,3,7,0,0,0,0],"split_type":[0,0,0,0,0,0,0],"sum_hessian":[6.953893E0,3.6431956E0,3.3106976E0,2.6276042E0,1.0155913E0,2.3054078E0,1.0052898E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"7","size_leaf_vector":"1"}},{"base_weights":[-7.2871996E-3,3.7376825E-2,-3.7624117E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":376,"left_children":[1,-1,-1],"loss_changes":[1.1171424E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.7376825E-2,-3.7624117E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.9457436E0,2.9184854E0,3.0272584E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.815165E-2,-3.163832E-2,1.3635586E-1,-2.867642E-2,3.310418E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":377,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.177692E-1,0E0,5.668447E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-5.007865E-1,-3.163832E-2,1E0,-2.867642E-2,3.310418E-2],"split_indices":[0,0,10,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.900846E0,2.1720357E0,4.7288103E0,1.3411242E0,3.387686E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[6.019803E-3,-3.428676E-2,3.497827E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":378,"left_children":[1,-1,-1],"loss_changes":[9.759789E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-3.428676E-2,3.497827E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[6.1376414E0,3.0474088E0,3.0902324E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.2116208E-3,2.579543E-1,-3.423494E-2,-4.833855E-3,3.5106786E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":379,"left_children":[1,3,-1,-1,-1],"loss_changes":[7.3529834E-1,1.5533555E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-3.3927187E-1,-7.478347E-1,-3.423494E-2,-4.833855E-3,3.5106786E-2],"split_indices":[3,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.373276E0,3.8515213E0,2.5217552E0,1.0100083E0,2.841513E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.9248277E-2,-3.6999125E-2,3.8780347E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":380,"left_children":[1,-1,-1],"loss_changes":[1.1741099E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.6999125E-2,3.8780347E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[6.225235E0,2.835071E0,3.390164E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.29492255E-2,2.3900998E-1,-3.566101E-2,-9.184121E-3,3.465049E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":381,"left_children":[1,3,-1,-1,-1],"loss_changes":[7.3853517E-1,2.0793965E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,9.4491047E-1,-3.566101E-2,-9.184121E-3,3.465049E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.5449014E0,3.9519777E0,2.5929234E0,1.004848E0,2.9471297E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-7.84601E-3,3.6662903E-2,-3.6958706E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":382,"left_children":[1,-1,-1],"loss_changes":[1.0210806E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.6662903E-2,-3.6958706E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.537425E0,2.7141838E0,2.823241E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.9861793E-2,-3.241452E-2,1.2343635E-1,-2.4029309E-2,3.495732E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":383,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.7749588E-1,0E0,5.481396E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1E0,-3.241452E-2,-4.1294152E-1,-2.4029309E-2,3.495732E-2],"split_indices":[10,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.4808574E0,1.8380033E0,4.6428537E0,1.7559303E0,2.8869236E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[6.135226E-3,-3.607936E-2,3.194096E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":384,"left_children":[1,-1,-1],"loss_changes":[8.926023E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.607936E-2,3.194096E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[5.762641E0,2.5841815E0,3.1784594E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.915099E-3,-3.4720223E-2,2.4889845E-1,3.6811613E-2,-9.76928E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":385,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.8735063E-1,0E0,2.3216799E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.4720223E-2,-2.6309076E-1,3.6811613E-2,-9.76928E-3],"split_indices":[9,0,8,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.0128255E0,2.264357E0,3.7484684E0,2.7428877E0,1.0055807E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.8478836E-2,-3.633062E-2,3.8142886E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":386,"left_children":[1,-1,-1],"loss_changes":[1.0770589E0,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.633062E-2,3.8142886E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.8108606E0,2.6485643E0,3.1622965E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3419929E-2,2.328817E-1,-3.4942023E-2,-7.862687E-3,3.4003712E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":387,"left_children":[1,3,-1,-1,-1],"loss_changes":[6.7280596E-1,1.8441534E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,9.6965474E-1,-3.4942023E-2,-7.862687E-3,3.4003712E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.146578E0,3.7237906E0,2.422787E0,1.0212314E0,2.7025592E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-5.958181E-3,3.6059655E-2,-3.628594E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":388,"left_children":[1,-1,-1],"loss_changes":[9.4115967E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.6059655E-2,-3.628594E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[5.193931E0,2.557205E0,2.6367264E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.0916782E-2,-3.0821873E-2,1.2518218E-1,-2.712558E-2,3.0726789E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":389,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.455435E-1,0E0,4.6220803E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-5.224162E-1,-3.0821873E-2,1E0,-2.712558E-2,3.0726789E-2],"split_indices":[0,0,10,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[6.09135E0,1.842944E0,4.248406E0,1.1830178E0,3.065388E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.26301E-3,-3.2929916E-2,3.3449974E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":390,"left_children":[1,-1,-1],"loss_changes":[8.158469E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-3.2929916E-2,3.3449974E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[5.4066772E0,2.6815567E0,2.7251208E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[8.391227E-3,-3.401026E-2,2.4525914E-1,3.6093507E-2,-8.280247E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":391,"left_children":[1,-1,3,-1,-1],"loss_changes":[6.344577E-1,0E0,2.0275354E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.401026E-2,-2.732482E-1,3.6093507E-2,-8.280247E-3],"split_indices":[9,0,8,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.675523E0,2.1202524E0,3.5552707E0,2.5543802E0,1.0008905E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.9056394E-2,-3.5646908E-2,3.7549626E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":392,"left_children":[1,-1,-1],"loss_changes":[9.9160796E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.5646908E-2,3.7549626E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.44587E0,2.475771E0,2.970099E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3573833E-2,2.2693157E-1,-3.4207247E-2,-6.5719425E-3,3.326893E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":393,"left_children":[1,3,-1,-1,-1],"loss_changes":[6.1333925E-1,1.6162904E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,9.9996793E-1,-3.4207247E-2,-6.5719425E-3,3.326893E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.7806783E0,3.5158134E0,2.264865E0,1.0337692E0,2.482044E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-5.230883E-3,3.539034E-2,-3.5597857E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":394,"left_children":[1,-1,-1],"loss_changes":[8.643451E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.539034E-2,-3.5597857E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.8616285E0,2.3976512E0,2.4639773E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.248211E-2,-2.9438764E-2,1.2401858E-1,-2.6381915E-2,3.069589E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":395,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.125653E-1,0E0,4.3001986E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-5.007865E-1,-2.9438764E-2,1E0,-2.6381915E-2,3.069589E-2],"split_indices":[0,0,10,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.734973E0,1.815557E0,3.9194162E0,1.1145142E0,2.8049018E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.7688354E-3,-3.4705013E-2,3.0439032E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":396,"left_children":[1,-1,-1],"loss_changes":[7.465191E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.4705013E-2,3.0439032E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[5.0797367E0,2.2635524E0,2.8161843E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[9.147335E-3,2.4931312E-1,-3.2328043E-2,-1.2160003E-4,3.2792985E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":397,"left_children":[1,3,-1,-1,-1],"loss_changes":[5.882529E-1,8.4227145E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-3.3927187E-1,-7.1823055E-1,-3.2328043E-2,-1.2160003E-4,3.2792985E-2],"split_indices":[3,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.358579E0,3.256158E0,2.102421E0,1.0128921E0,2.243266E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.9631244E-2,-3.4962855E-2,3.695736E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":398,"left_children":[1,-1,-1],"loss_changes":[9.1435206E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.4962855E-2,3.695736E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[5.1132016E0,2.3183684E0,2.7948332E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.35788405E-2,-3.38344E-2,2.1954292E-1,3.4600403E-2,-9.852191E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":399,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.6245154E-1,0E0,2.0946154E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[8.242151E-1,-3.38344E-2,1.2950939E0,3.4600403E-2,-9.852191E-3],"split_indices":[3,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.447914E0,2.0878875E0,3.3600268E0,2.3412971E0,1.0187297E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-4.442278E-3,3.4727048E-2,-3.4909327E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":400,"left_children":[1,-1,-1],"loss_changes":[7.9514325E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.4727048E-2,-3.4909327E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.5595093E0,2.2528741E0,2.3066354E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.3887837E-2,-2.7797788E-2,1.2540999E-1,-2.5657326E-2,3.126909E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":401,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.8404906E-1,0E0,4.0694192E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-4.529309E-1,-2.7797788E-2,1E0,-2.5657326E-2,3.126909E-2],"split_indices":[0,0,10,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.408655E0,1.8416691E0,3.566986E0,1.0517719E0,2.5152142E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.0862365E-3,-2.9471962E-2,3.4336235E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":402,"left_children":[1,-1,-1],"loss_changes":[6.8806136E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.9471962E-2,3.4336235E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[4.788905E0,2.6161492E0,2.172756E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.0763847E-2,-3.271767E-2,2.4062185E-1,-4.603934E-3,3.446837E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":403,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.5156845E-1,0E0,1.4113243E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.271767E-2,-6.504107E-1,-4.603934E-3,3.446837E-2],"split_indices":[9,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.0871873E0,1.8880147E0,3.1991725E0,1.0005409E0,2.1986318E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.9443113E-2,-3.427693E-2,3.632877E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":404,"left_children":[1,-1,-1],"loss_changes":[8.4231377E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.427693E-2,3.632877E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.799038E0,2.174354E0,2.624684E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3913193E-2,2.1816936E-1,-3.285132E-2,-4.4996105E-3,3.1748127E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":405,"left_children":[1,3,-1,-1,-1],"loss_changes":[5.1933837E-1,1.2220697E-1,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,1.0615498E0,-3.285132E-2,-4.4996105E-3,3.1748127E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.1313167E0,3.1293168E0,2.002E0,1.0072191E0,2.1220977E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-3.6256565E-3,3.4067564E-2,-3.4218833E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":406,"left_children":[1,-1,-1],"loss_changes":[7.324274E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.4067564E-2,-3.4218833E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.2832203E0,2.1205184E0,2.162702E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.495098E-2,-2.9485956E-2,1.07904434E-1,3.1792663E-2,-2.3150994E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":407,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.5860637E-1,0E0,4.0676734E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1E0,-2.9485956E-2,-1.9144885E-2,3.1792663E-2,-2.3150994E-2],"split_indices":[10,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[5.108099E0,1.4343772E0,3.6737218E0,2.30855E0,1.365172E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.1999593E-3,-3.3348665E-2,2.909634E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":408,"left_children":[1,-1,-1],"loss_changes":[6.311164E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.3348665E-2,2.909634E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[4.515335E0,1.9987345E0,2.5166004E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.0854223E-2,-3.2017402E-2,2.3585215E-1,3.3640746E-2,-3.4008082E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":409,"left_children":[1,-1,3,-1,-1],"loss_changes":[5.083819E-1,0E0,1.2095751E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.2017402E-2,-4.8261538E-1,3.3640746E-2,-3.4008082E-3],"split_indices":[9,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.8118196E0,1.7759477E0,3.035872E0,2.0320797E0,1.0037923E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.9885093E-2,-3.3592932E-2,3.5731647E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":410,"left_children":[1,-1,-1],"loss_changes":[7.784132E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.3592932E-2,3.5731647E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.5189114E0,2.042488E0,2.4764233E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3928564E-2,-3.2497205E-2,2.1155906E-1,3.2719497E-2,-6.3911304E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":411,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.790451E-1,0E0,1.482356E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[8.242151E-1,-3.2497205E-2,1.258625E0,3.2719497E-2,-6.3911304E-3],"split_indices":[3,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.849944E0,1.8528618E0,2.9970822E0,1.978702E0,1.0183804E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-2.896283E-3,3.3408184E-2,-3.353026E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":412,"left_children":[1,-1,-1],"loss_changes":[6.7537487E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.3408184E-2,-3.353026E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[4.029354E0,1.998414E0,2.0309398E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.6104128E-2,-2.658773E-2,1.19051635E-1,2.9348647E-2,-2.1408645E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":413,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.39321E-1,0E0,3.0502883E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-4.529309E-1,-2.658773E-2,2.9743478E-1,2.9348647E-2,-2.1408645E-2],"split_indices":[0,0,1,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.825083E0,1.6572355E0,3.1678474E0,2.1572905E0,1.0105569E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.248719E-3,-2.821568E-2,3.2940682E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":414,"left_children":[1,-1,-1],"loss_changes":[5.8278906E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.821568E-2,3.2940682E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[4.262206E0,2.3450615E0,1.9171444E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.2108765E-2,2.4083811E-1,-3.0460779E-2,3.5626728E-3,3.03745E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":415,"left_children":[1,3,-1,-1,-1],"loss_changes":[4.769493E-1,3.814818E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-3.3927187E-1,-6.896928E-1,-3.0460779E-2,3.5626728E-3,3.03745E-2],"split_indices":[3,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.5711617E0,2.793386E0,1.7777756E0,1.0228947E0,1.7704911E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.115567E-2,-3.290692E-2,3.51769E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":416,"left_children":[1,-1,-1],"loss_changes":[7.217781E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.290692E-2,3.51769E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.2699018E0,1.9209154E0,2.3489866E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3879456E-2,2.097876E-1,-3.150843E-2,-1.9350899E-3,3.0539108E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":417,"left_children":[1,3,-1,-1,-1],"loss_changes":[4.4239417E-1,8.92773E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,1.1466717E0,-3.150843E-2,-1.9350899E-3,3.0539108E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.585507E0,2.8056257E0,1.7798812E0,1.0607811E0,1.7448447E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-3.468558E-3,3.267528E-2,-3.2839548E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":418,"left_children":[1,-1,-1],"loss_changes":[6.2048846E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.267528E-2,-3.2839548E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.782803E0,1.8733296E0,1.9094734E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.7173264E-2,-2.728477E-2,1.057986E-1,-1.76419E-2,2.8635828E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":419,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.1679182E-1,0E0,2.6412874E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-5.224162E-1,-2.728477E-2,-1.1675815E-1,-1.76419E-2,2.8635828E-2],"split_indices":[0,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.5772653E0,1.3853148E0,3.1919503E0,1.254336E0,1.9376144E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.025851E-3,-3.202274E-2,2.7774265E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":420,"left_children":[1,-1,-1],"loss_changes":[5.361892E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.202274E-2,2.7774265E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[4.036405E0,1.7782793E0,2.2581258E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.2187356E-2,-3.0786043E-2,2.3067424E-1,3.1880483E-2,-4.4698088E-4],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":421,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.4509953E-1,0E0,7.915744E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-3.0786043E-2,-3.5141942E-1,3.1880483E-2,-4.4698088E-4],"split_indices":[9,0,8,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.3496947E0,1.5987415E0,2.7509534E0,1.7422013E0,1.008752E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.009679E-2,-3.225037E-2,3.4527794E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":422,"left_children":[1,-1,-1],"loss_changes":[6.6733825E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.225037E-2,3.4527794E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[4.024315E0,1.8132012E0,2.2111135E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.3286443E-2,-3.1200558E-2,2.0470726E-1,3.0922819E-2,-3.8087144E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":423,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.1279075E-1,0E0,1.05710655E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[8.242151E-1,-3.1200558E-2,1.0800276E0,3.0922819E-2,-3.8087144E-3],"split_indices":[3,0,1,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.358214E0,1.6567254E0,2.7014883E0,1.6972256E0,1.0042628E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-1.6720695E-3,3.2111075E-2,-3.21784E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":424,"left_children":[1,-1,-1],"loss_changes":[5.7715523E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.2111075E-2,-3.21784E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.5857198E0,1.7838577E0,1.8018621E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.790985E-2,-2.4483752E-2,1.1670518E-1,2.870526E-2,-1.7475208E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":425,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.999058E-1,0E0,2.3595843E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-4.1294152E-1,-2.4483752E-2,2.3612122E-1,2.870526E-2,-1.7475208E-2],"split_indices":[0,0,1,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.355108E0,1.612929E0,2.742179E0,1.7402002E0,1.0019788E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.7722261E-3,-2.7057746E-2,3.1567436E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":426,"left_children":[1,-1,-1],"loss_changes":[4.9781185E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.7057746E-2,3.1567436E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.8238616E0,2.1213458E0,1.7025156E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.3150504E-2,-2.8925866E-2,2.3676299E-1,2.923112E-2,5.212041E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":427,"left_children":[1,-1,3,-1,-1],"loss_changes":[4.1636747E-1,0E0,2.073896E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-8.7895036E-2,-2.8925866E-2,-5.610643E-1,2.923112E-2,5.212041E-3],"split_indices":[2,0,3,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.1444697E0,1.6370219E0,2.5074477E0,1.479295E0,1.0281528E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.1312046E-2,-3.1584393E-2,3.399114E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":428,"left_children":[1,-1,-1],"loss_changes":[6.2109137E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.1584393E-2,3.399114E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.8171508E0,1.711849E0,2.1053019E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.31002525E-2,2.1060409E-1,-2.9201483E-2,1.3820854E-3,2.8698353E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":429,"left_children":[1,3,-1,-1,-1],"loss_changes":[3.8203415E-1,4.761356E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.298299E-1,1.2106922E0,-2.9201483E-2,1.3820854E-3,2.8698353E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.1372337E0,2.4317536E0,1.7054803E0,1.0101537E0,1.4215999E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-2.4620409E-3,3.138655E-2,-3.1507876E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":430,"left_children":[1,-1,-1],"loss_changes":[5.3177005E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.138655E-2,-3.1507876E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.3773973E0,1.6767496E0,1.7006477E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.830891E-2,-2.6876226E-2,9.623042E-2,2.9689455E-2,-2.0776607E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":431,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.8540835E-1,0E0,3.0479607E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1E0,-2.6876226E-2,-3.7601605E-2,2.9689455E-2,-2.0776607E-2],"split_indices":[10,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[4.1457853E0,1.1604295E0,2.9853559E0,1.8123857E0,1.1729702E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.1175208E-3,-3.0722996E-2,2.6580373E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":432,"left_children":[1,-1,-1],"loss_changes":[4.6003652E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-3.0722996E-2,2.6580373E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.6412547E0,1.591466E0,2.0497885E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.3640376E-2,-2.9583827E-2,2.2552375E-1,1.7806173E-3,3.015329E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":433,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.9161643E-1,0E0,5.0025165E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-2.9583827E-2,1.0335086E-1,1.7806173E-3,3.015329E-2],"split_indices":[9,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.954722E0,1.4461831E0,2.5085387E0,1.0026802E0,1.5058585E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[3.984982E-2,-3.0931085E-2,3.3317585E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":434,"left_children":[1,-1,-1],"loss_changes":[5.742858E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.0931085E-2,3.3317585E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.6010594E0,1.619177E0,1.9818826E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2617443E-2,-2.9942706E-2,1.9820322E-1,2.9112218E-2,-1.3203888E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":435,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.579675E-1,0E0,7.157801E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[8.242151E-1,-2.9942706E-2,-4.435997E-1,2.9112218E-2,-1.3203888E-3],"split_indices":[3,0,4,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.9386942E0,1.4905679E0,2.4481263E0,1.4387077E0,1.0094185E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-1.8754622E-3,3.075828E-2,-3.0849958E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":436,"left_children":[1,-1,-1],"loss_changes":[4.9326152E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.075828E-2,-3.0849958E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.1983714E0,1.590273E0,1.6080985E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.9500654E-2,-2.390873E-2,1.07112184E-1,-1.5313675E-2,2.743248E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":437,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.7024648E-1,0E0,1.9606742E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-4.4020897E-1,-2.390873E-2,-1.1675815E-1,-1.5313675E-2,2.743248E-2],"split_indices":[0,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.9428434E0,1.4026508E0,2.5401926E0,1.026591E0,1.5136018E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.8884498E-3,-2.5878737E-2,3.0291146E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":438,"left_children":[1,-1,-1],"loss_changes":[4.2815873E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.5878737E-2,3.0291146E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.457393E0,1.9280626E0,1.5293304E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.4393006E-2,2.2981039E-1,-2.8179133E-2,7.3275003E-3,2.6786616E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":439,"left_children":[1,3,-1,-1,-1],"loss_changes":[3.696078E-1,1.3132393E-4,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-3.3927187E-1,-6.688636E-1,-2.8179133E-2,7.3275003E-3,2.6786616E-2],"split_indices":[3,0,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.777957E0,2.3169305E0,1.4610264E0,1.025244E0,1.2916867E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.1135974E-2,-3.02819E-2,3.2802142E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":440,"left_children":[1,-1,-1],"loss_changes":[5.3616923E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-3.02819E-2,3.2802142E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.4270093E0,1.5332333E0,1.893776E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2063936E-2,-2.9274046E-2,1.9393575E-1,2.8106377E-2,-3.0765575E-4],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":441,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.3160293E-1,0E0,5.8245108E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[8.242151E-1,-2.9274046E-2,-4.510292E-1,2.8106377E-2,-3.0765575E-4],"split_indices":[3,0,4,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.7532604E0,1.4104444E0,2.3428159E0,1.3286117E0,1.0142043E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-2.730799E-3,3.004441E-2,-3.0196298E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":442,"left_children":[1,-1,-1],"loss_changes":[4.5548898E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,3.004441E-2,-3.0196298E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[3.0208032E0,1.4985044E0,1.5222989E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.0069375E-2,-2.5652358E-2,9.0326145E-2,2.9056117E-2,-1.8869504E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":443,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.5768579E-1,0E0,2.623144E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1E0,-2.5652358E-2,-7.9247676E-2,2.9056117E-2,-1.8869504E-2],"split_indices":[10,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.7658684E0,1.0521107E0,2.7137578E0,1.5558608E0,1.1578969E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[2.0342388E-3,-2.5180502E-2,2.9627433E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":444,"left_children":[1,-1,-1],"loss_changes":[3.952437E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.5180502E-2,2.9627433E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.2929666E0,1.8452765E0,1.4476902E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.4768195E-2,-2.8426606E-2,2.2026917E-1,3.7825864E-3,2.8324371E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":445,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.46078E-1,0E0,2.7170524E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-2.8426606E-2,-4.6227485E-1,3.7825864E-3,2.8324371E-2],"split_indices":[9,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.6127665E0,1.3153926E0,2.2973738E0,1.000239E0,1.2971348E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.0756103E-2,-2.9640794E-2,3.2197826E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":446,"left_children":[1,-1,-1],"loss_changes":[4.9845856E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.9640794E-2,3.2197826E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.2504766E0,1.453655E0,1.7968216E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.189762E-2,1.9346793E-1,-2.8400356E-2,2.3008499E-3,2.615952E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":447,"left_children":[1,3,-1,-1,-1],"loss_changes":[3.1076065E-1,3.1185105E-2,0E0,0E0,0E0],"parents":[2147483647,0,0,1,1],"right_children":[2,4,-1,-1,-1],"split_conditions":[-6.1585194E-1,1.2281455E0,-2.8400356E-2,2.3008499E-3,2.615952E-2],"split_indices":[2,3,0,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.5778391E0,2.2036695E0,1.3741698E0,1.0112289E0,1.1924406E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-2.105627E-3,2.943322E-2,-2.9550567E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":448,"left_children":[1,-1,-1],"loss_changes":[4.2337438E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.943322E-2,-2.9550567E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.8677554E0,1.4249127E0,1.4428428E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.08672E-2,-2.2452217E-2,1.04872294E-1,-1.1995084E-2,2.59377E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":449,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.4634448E-1,0E0,1.436444E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-4.1294152E-1,-2.2452217E-2,-1.7980196E-3,-1.1995084E-2,2.59377E-2],"split_indices":[0,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.5878856E0,1.348274E0,2.2396116E0,1.0033127E0,1.2362989E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[1.5194169E-3,-2.8873235E-2,2.4861645E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":450,"left_children":[1,-1,-1],"loss_changes":[3.6849782E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-2.8873235E-2,2.4861645E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.1370993E0,1.3650959E0,1.7720035E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.4326722E-2,2.2241918E-2,-2.7044063E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":451,"left_children":[1,-1,-1],"loss_changes":[3.2407594E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.3927187E-1,2.2241918E-2,-2.7044063E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[3.4538293E0,2.122076E0,1.3317531E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.0972974E-2,-2.902906E-2,3.165437E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":452,"left_children":[1,-1,-1],"loss_changes":[4.6591043E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.902906E-2,3.165437E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[3.0972178E0,1.3822267E0,1.7149911E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.1190932E-2,-2.8083349E-2,1.8773727E-1,2.6225349E-2,1.3952493E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":453,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.9013652E-1,0E0,3.708574E-2,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[8.242151E-1,-2.8083349E-2,-4.5409137E-1,2.6225349E-2,1.3952493E-3],"split_indices":[3,0,4,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.426096E0,1.2797252E0,2.1463706E0,1.1459391E0,1.0004315E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-1.7924489E-3,2.8833097E-2,-2.8934583E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":454,"left_children":[1,-1,-1],"loss_changes":[3.9446276E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.8833097E-2,-2.8934583E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.7282798E0,1.3567249E0,1.3715549E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.0928837E-2,-2.3748696E-2,8.939222E-2,-1.4389266E-2,2.4976244E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":455,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.3497588E-1,0E0,1.6301535E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-5.224162E-1,-2.3748696E-2,-8.515472E-2,-1.4389266E-2,2.4976244E-2],"split_indices":[0,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.440502E0,1.0438229E0,2.3966792E0,1.0182352E0,1.3784438E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[5.795252E-4,-2.4145512E-2,2.8328875E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":456,"left_children":[1,-1,-1],"loss_changes":[3.4167162E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.4145512E-2,2.8328875E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.9936926E0,1.6914893E0,1.3022034E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.4361024E-2,-2.738983E-2,2.1459074E-1,2.6372893E-2,5.551174E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":457,"left_children":[1,-1,3,-1,-1],"loss_changes":[3.0804348E-1,0E0,9.664044E-3,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-2.738983E-2,1.00700565E-1,2.6372893E-2,5.551174E-3],"split_indices":[9,0,7,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.318706E0,1.2095153E0,2.1091907E0,1.108833E0,1.0003579E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.07869E-2,-2.8407773E-2,3.1077331E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":458,"left_children":[1,-1,-1],"loss_changes":[4.3447027E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.8407773E-2,3.1077331E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.9469879E0,1.3138673E0,1.6331204E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0482498E-2,1.9439738E-2,-2.6326165E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":459,"left_children":[1,-1,-1],"loss_changes":[2.7276993E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-6.298299E-1,1.9439738E-2,-2.6326165E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.2787282E0,1.9385084E0,1.3402197E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-7.7510654E-4,2.8272826E-2,-2.8308976E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":460,"left_children":[1,-1,-1],"loss_changes":[3.6815152E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.8272826E-2,-2.8308976E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.599754E0,1.2964153E0,1.3033389E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.1363895E-2,-2.1002095E-2,1.0133279E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":461,"left_children":[1,-1,-1],"loss_changes":[1.246606E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.6873317E-1,-2.1002095E-2,1.0133279E-2],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[3.2954853E0,1.2941246E0,2.0013607E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0188108E-4,-2.7702272E-2,2.3681482E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":462,"left_children":[1,-1,-1],"loss_changes":[3.1892118E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-2.7702272E-2,2.3681482E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.8611343E0,1.2411404E0,1.6199939E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.3830549E-2,-2.682288E-2,2.100751E-1,6.179564E-3,2.5338842E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":463,"left_children":[1,-1,3,-1,-1],"loss_changes":[2.8790438E-1,0E0,3.7870854E-3,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[1.4142135E0,-2.682288E-2,1.6301931E-1,6.179564E-3,2.5338842E-2],"split_indices":[9,0,2,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.183293E0,1.1555827E0,2.0277104E0,1.0070096E0,1.0207008E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[4.1377705E-2,-2.7837306E-2,3.0594274E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":464,"left_children":[1,-1,-1],"loss_changes":[4.0854698E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.7837306E-2,3.0594274E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.8226988E0,1.2544234E0,1.5682756E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.978153E-3,-2.702089E-2,1.8286599E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":465,"left_children":[1,-1,-1],"loss_changes":[2.5821078E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[8.242151E-1,-2.702089E-2,1.8286599E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[3.1606662E0,1.1745327E0,1.9861337E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.21587254E-4,2.7741527E-2,-2.7734851E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":466,"left_children":[1,-1,-1],"loss_changes":[3.451598E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.7741527E-2,-2.7734851E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.48605E0,1.2419909E0,1.2440588E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.1449737E-2,-2.1469222E-2,8.9338735E-2,-1.1021176E-2,2.3865012E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0,0,0],"id":467,"left_children":[1,-1,3,-1,-1],"loss_changes":[1.14143476E-1,0E0,1.1849831E-1,0E0,0E0],"parents":[2147483647,0,0,2,2],"right_children":[2,-1,4,-1,-1],"split_conditions":[-4.529309E-1,-2.1469222E-2,4.69858E-2,-1.1021176E-2,2.3865012E-2],"split_indices":[0,0,6,0,0],"split_type":[0,0,0,0,0],"sum_hessian":[3.1911314E0,1.0967944E0,2.094337E0,1.0084449E0,1.085892E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"5","size_leaf_vector":"1"}},{"base_weights":[-1.446985E-3,-2.3179462E-2,2.7042849E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":468,"left_children":[1,-1,-1],"loss_changes":[2.965241E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.3179462E-2,2.7042849E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.733924E0,1.5598001E0,1.1741239E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.4751512E-2,2.1329608E-2,-2.554215E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":469,"left_children":[1,-1,-1],"loss_changes":[2.7239406E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.3927187E-1,2.1329608E-2,-2.554215E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[3.062417E0,1.8865504E0,1.1758666E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.334846E-2,-2.7247194E-2,3.0183254E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":470,"left_children":[1,-1,-1],"loss_changes":[3.8523713E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.7247194E-2,3.0183254E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.7116177E0,1.196094E0,1.5155238E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0477484E-2,1.8049574E-2,-2.6190493E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":471,"left_children":[1,-1,-1],"loss_changes":[2.4118955E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-6.1585194E-1,1.8049574E-2,-2.6190493E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[3.0385957E0,1.8872441E0,1.1513517E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.1445917E-3,2.707356E-2,-2.714084E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":472,"left_children":[1,-1,-1],"loss_changes":[3.2058996E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.707356E-2,-2.714084E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.362985E0,1.1770997E0,1.1858853E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.1585516E-2,-1.9942747E-2,9.383163E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":473,"left_children":[1,-1,-1],"loss_changes":[1.056986E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.6873317E-1,-1.9942747E-2,9.383163E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[3.0696142E0,1.1991719E0,1.8704422E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.4304888E-3,-2.6577374E-2,2.2597494E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":474,"left_children":[1,-1,-1],"loss_changes":[2.7768302E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-2.6577374E-2,2.2597494E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.620257E0,1.1336936E0,1.4865633E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.3160981E-2,-2.5872841E-2,2.0454869E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":475,"left_children":[1,-1,-1],"loss_changes":[2.5816074E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.4142135E0,-2.5872841E-2,2.0454869E-2],"split_indices":[9,0,0],"split_type":[0,0,0],"sum_hessian":[2.9441352E0,1.0709153E0,1.8732198E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.2665735E-2,-2.66918E-2,2.9633293E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":476,"left_children":[1,-1,-1],"loss_changes":[3.6118746E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.66918E-2,2.9633293E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.5920844E0,1.1438525E0,1.448232E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.0084554E-2,-2.2752699E-2,2.0323226E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":477,"left_children":[1,-1,-1],"loss_changes":[2.2871098E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-2.2752699E-2,2.0323226E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.9338925E0,1.4199078E0,1.5139847E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.3409714E-3,2.6690409E-2,-2.6581645E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":478,"left_children":[1,-1,-1],"loss_changes":[3.0332154E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.6690409E-2,-2.6581645E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.2753112E0,1.1415359E0,1.1337755E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.141674E-2,-2.0363925E-2,8.291996E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":479,"left_children":[1,-1,-1],"loss_changes":[9.70983E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-4.529309E-1,-2.0363925E-2,8.291996E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.9767823E0,1.0148715E0,1.961911E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-2.912014E-3,-2.2264786E-2,2.5844006E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":480,"left_children":[1,-1,-1],"loss_changes":[2.5922483E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3091923E-1,-2.2264786E-2,2.5844006E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.5119147E0,1.4450545E0,1.0668602E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.2779416E-2,-2.4440607E-2,2.090784E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":481,"left_children":[1,-1,-1],"loss_changes":[2.45049E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.7895036E-2,-2.4440607E-2,2.090784E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.8416958E0,1.1239965E0,1.7176993E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.4736348E-2,-2.6141008E-2,2.9268924E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":482,"left_children":[1,-1,-1],"loss_changes":[3.421998E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.6141008E-2,2.9268924E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.5000432E0,1.0944531E0,1.4055902E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.049338E-3,-2.5473228E-2,1.733209E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":483,"left_children":[1,-1,-1],"loss_changes":[2.1585014E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[8.242151E-1,-2.5473228E-2,1.733209E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.832133E0,1.0375692E0,1.794564E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.1594299E-4,2.6054546E-2,-2.6027454E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":484,"left_children":[1,-1,-1],"loss_changes":[2.8275028E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.6054546E-2,-2.6027454E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.1695366E0,1.084998E0,1.0845385E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.1530933E-2,-1.7986799E-2,9.974427E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":485,"left_children":[1,-1,-1],"loss_changes":[9.391946E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.7986799E-2,9.974427E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.8876505E0,1.3209742E0,1.5666761E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-7.8673934E-4,-2.5513217E-2,2.1723002E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":486,"left_children":[1,-1,-1],"loss_changes":[2.4539426E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[4.8029774E-1,-2.5513217E-2,2.1723002E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.4259064E0,1.0410928E0,1.3848137E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.1728354E-2,2.0251416E-2,-2.4260635E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":487,"left_children":[1,-1,-1],"loss_changes":[2.3056774E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.3927187E-1,2.0251416E-2,-2.4260635E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.7391517E0,1.6815264E0,1.0576253E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.459266E-2,-2.560778E-2,2.877433E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":488,"left_children":[1,-1,-1],"loss_changes":[3.2215953E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.560778E-2,2.877433E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.3987272E0,1.0487363E0,1.3499908E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.984398E-3,1.7870154E-2,-2.4021434E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":489,"left_children":[1,-1,-1],"loss_changes":[2.0496053E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-6.298299E-1,1.7870154E-2,-2.4021434E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.729962E0,1.6233507E0,1.1066113E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.9723633E-5,2.5503838E-2,-2.549066E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":490,"left_children":[1,-1,-1],"loss_changes":[2.6507115E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.1130457E-1,2.5503838E-2,-2.549066E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.0773299E0,1.0383778E0,1.0389521E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.0875036E-2,-1.8694518E-2,8.634371E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":491,"left_children":[1,-1,-1],"loss_changes":[8.6866274E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.6873317E-1,-1.8694518E-2,8.634371E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.8059118E0,1.0876334E0,1.7182783E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.835597E-3,-2.3001915E-2,2.2910658E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":492,"left_children":[1,-1,-1],"loss_changes":[2.2829907E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-2.3001915E-2,2.2910658E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.3322484E0,1.1751412E0,1.1571072E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.1303159E-2,-2.3472466E-2,1.9977754E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":493,"left_children":[1,-1,-1],"loss_changes":[2.1594705E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-8.7895036E-2,-2.3472466E-2,1.9977754E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.6457744E0,1.0412154E0,1.6045591E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.365218E-2,-2.5077919E-2,2.822693E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":494,"left_children":[1,-1,-1],"loss_changes":[3.0239704E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.236068E0,-2.5077919E-2,2.822693E-2],"split_indices":[11,0,0],"split_type":[0,0,0],"sum_hessian":[2.296638E0,1.0052652E0,1.2913728E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.445501E-3,-1.9798076E-2,2.0897213E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":495,"left_children":[1,-1,-1],"loss_changes":[1.912675E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.0769279E0,-1.9798076E-2,2.0897213E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.6400476E0,1.4671718E0,1.1728756E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.3192114E-3,2.5046563E-2,-2.4673872E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":496,"left_children":[1,-1,-1],"loss_changes":[2.4747875E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-1.2855473E0,2.5046563E-2,-2.4673872E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.0043795E0,1.0011959E0,1.0031837E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-4.0699095E-2,-1.7321417E-2,9.605623E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":497,"left_children":[1,-1,-1],"loss_changes":[8.414518E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.7321417E-2,9.605623E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.7251048E0,1.24861E0,1.4764948E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-3.1738306E-4,-2.2437563E-2,2.248374E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":498,"left_children":[1,-1,-1],"loss_changes":[2.148335E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-2.2437563E-2,2.248374E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.258527E0,1.1337546E0,1.1247725E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.0773144E-2,1.9456873E-2,-2.286835E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":499,"left_children":[1,-1,-1],"loss_changes":[2.0115663E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.5575974E-1,1.9456873E-2,-2.286835E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.559604E0,1.5541611E0,1.005443E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.2255946E-2,-2.29659E-2,2.7147973E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":500,"left_children":[1,-1,-1],"loss_changes":[2.6181445E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.0491859E0,-2.29659E-2,2.7147973E-2],"split_indices":[7,0,0],"split_type":[0,0,0],"sum_hessian":[2.2002037E0,1.0055175E0,1.1946862E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.111304E-3,1.7240878E-2,-2.3055078E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":501,"left_children":[1,-1,-1],"loss_changes":[1.8237343E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-6.298299E-1,1.7240878E-2,-2.3055078E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.5482507E0,1.5220237E0,1.0262269E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.1653117E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":502,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.1653117E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9246781E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-4.012362E-2,-1.6836833E-2,9.257468E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":503,"left_children":[1,-1,-1],"loss_changes":[7.774383E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.6836833E-2,9.257468E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.6524684E0,1.2121729E0,1.4402955E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-1.2954496E-5,-2.1950364E-2,2.2024399E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":504,"left_children":[1,-1,-1],"loss_changes":[2.025293E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-2.1950364E-2,2.2024399E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.1893063E0,1.0982736E0,1.0910326E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[1.00566E-2,-2.1466343E-2,1.8980829E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":505,"left_children":[1,-1,-1],"loss_changes":[1.8163367E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-6.2313978E-2,-2.1466343E-2,1.8980829E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.487881E0,1.0193273E0,1.4685537E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.0540677E-2,-2.1442307E-2,2.6360048E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":506,"left_children":[1,-1,-1],"loss_changes":[2.3382649E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.2304605E0,-2.1442307E-2,2.6360048E-2],"split_indices":[1,0,0],"split_type":[0,0,0],"sum_hessian":[2.1175973E0,1.0062006E0,1.1113968E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.923181E-3,-2.0713612E-2,1.8499263E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":507,"left_children":[1,-1,-1],"loss_changes":[1.7185757E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-2.0713612E-2,1.8499263E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.4739645E0,1.1985718E0,1.2753925E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.079511E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":508,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.0795113E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9129065E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.946774E-2,-1.7834779E-2,8.379748E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":509,"left_children":[1,-1,-1],"loss_changes":[7.6429226E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.6873317E-1,-1.7834779E-2,8.379748E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.5915556E0,1.0084718E0,1.5830839E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[8.5343973E-4,-2.1450637E-2,2.1617409E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":510,"left_children":[1,-1,-1],"loss_changes":[1.9141465E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-2.1450637E-2,2.1617409E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.1278741E0,1.0657309E0,1.0621432E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[9.114488E-3,-2.052788E-2,1.8380146E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":511,"left_children":[1,-1,-1],"loss_changes":[1.6581461E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.7601605E-2,-2.052788E-2,1.8380146E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.4199786E0,1.0078819E0,1.4120969E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.064447E-2,-2.006861E-2,2.5655204E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":512,"left_children":[1,-1,-1],"loss_changes":[2.1059011E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.2351465E0,-2.006861E-2,2.5655204E-2],"split_indices":[1,0,0],"split_type":[0,0,0],"sum_hessian":[2.053515E0,1.0029584E0,1.0505564E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[-9.014153E-3,-2.0205593E-2,1.8126793E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":513,"left_children":[1,-1,-1],"loss_changes":[1.6194934E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-2.0205593E-2,1.8126793E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.4117858E0,1.1664962E0,1.2452898E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.9053059E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":514,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.905306E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8795494E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.915434E-2,-1.6210733E-2,8.86907E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":515,"left_children":[1,-1,-1],"loss_changes":[6.996709E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.6210733E-2,8.86907E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.536481E0,1.1563656E0,1.3801153E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.2883283E-3,-2.096908E-2,2.1280104E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":516,"left_children":[1,-1,-1],"loss_changes":[1.8183096E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-2.096908E-2,2.1280104E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.0747495E0,1.0357195E0,1.0390298E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[8.575995E-3,1.791311E-2,-1.9689675E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":517,"left_children":[1,-1,-1],"loss_changes":[1.5303275E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-4.2728513E-1,1.791311E-2,-1.9689675E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.360375E0,1.3598311E0,1.0005438E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.0031575E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":518,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[4.0031574E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.990842E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.32104E-3,-1.8283477E-2,1.9260203E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":519,"left_children":[1,-1,-1],"loss_changes":[1.5247348E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.0769279E0,-1.8283477E-2,1.9260203E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.3467782E0,1.3130225E0,1.0337557E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.5930104E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":520,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.5930105E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8532779E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.8622763E-2,-1.5762946E-2,8.521815E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":521,"left_children":[1,-1,-1],"loss_changes":[6.480196E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.5762946E-2,8.521815E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.485509E0,1.1283585E0,1.3571504E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.6614442E-3,-2.0552767E-2,2.090921E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":522,"left_children":[1,-1,-1],"loss_changes":[1.7294034E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.064205E-1,-2.0552767E-2,2.090921E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.024113E0,1.0099422E0,1.0141709E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[7.973927E-3,1.7369915E-2,-1.8656885E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":523,"left_children":[1,-1,-1],"loss_changes":[1.392326E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-4.4519135E-1,1.7369915E-2,-1.8656885E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.3133886E0,1.3070734E0,1.0063152E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.8146377E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":524,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.8146377E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9686036E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.456211E-3,-1.9356783E-2,1.7285638E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":525,"left_children":[1,-1,-1],"loss_changes":[1.4412361E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-1.9356783E-2,1.7285638E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.2969255E0,1.1121078E0,1.1848178E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.8183557E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":526,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[4.8183557E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8424606E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.779714E-2,-1.5994197E-2,7.786227E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":527,"left_children":[1,-1,-1],"loss_changes":[6.1125442E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.4062502E-1,-1.5994197E-2,7.786227E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.4452689E0,1.0030764E0,1.4421924E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.3849793E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":528,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.3849793E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9720924E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[7.121029E-3,-1.7927285E-2,1.7145773E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":529,"left_children":[1,-1,-1],"loss_changes":[1.3081256E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.634707E-2,-1.7927285E-2,1.7145773E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.2670717E0,1.0196629E0,1.247409E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.753497E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":530,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.753497E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9543785E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-8.971205E-3,-1.7846687E-2,1.7998897E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":531,"left_children":[1,-1,-1],"loss_changes":[1.3642217E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.0265137E0,-1.7846687E-2,1.7998897E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.2565365E0,1.2188079E0,1.0377284E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.17316E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":532,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.1731605E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8271215E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.7180584E-2,-1.5255764E-2,8.31731E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":533,"left_children":[1,-1,-1],"loss_changes":[5.9992157E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.5255764E-2,8.31731E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.4065444E0,1.0920618E0,1.3144827E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.863657E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":534,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.863657E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9653881E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[6.5656914E-3,-1.7568493E-2,1.671758E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":535,"left_children":[1,-1,-1],"loss_changes":[1.23993605E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.634707E-2,-1.7568493E-2,1.671758E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.2326334E0,1.0018897E0,1.2307438E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.584712E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":536,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.584712E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9399898E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-8.972304E-3,-1.8555991E-2,1.6545296E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":537,"left_children":[1,-1,-1],"loss_changes":[1.2982908E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-1.8555991E-2,1.6545296E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.21829E0,1.0705909E0,1.1476992E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.0036E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":538,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.0036E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.815637E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.6469333E-2,-1.4876879E-2,8.05078E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":539,"left_children":[1,-1,-1],"loss_changes":[5.6375008E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.4876879E-2,8.05078E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.3797488E0,1.0754894E0,1.3042594E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.256752E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":540,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.256752E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9587755E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[6.03098E-3,-1.645122E-2,1.6031997E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":541,"left_children":[1,-1,-1],"loss_changes":[1.105677E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[2.992449E-2,-1.645122E-2,1.6031997E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.1996856E0,1.0133358E0,1.1863497E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.4572463E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":542,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.4572463E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9279805E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.297113E-3,-1.7155008E-2,1.7208917E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":543,"left_children":[1,-1,-1],"loss_changes":[1.23168446E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[1.0265137E0,-1.7155008E-2,1.7208917E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.1819599E0,1.1803477E0,1.0016123E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.820919E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":544,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[4.820919E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8041401E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.578245E-2,-1.4505066E-2,7.7896253E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":545,"left_children":[1,-1,-1],"loss_changes":[5.295885E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.4505066E-2,7.7896253E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.3538663E0,1.059501E0,1.2943652E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.5104715E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":546,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.5104716E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9530736E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[5.582897E-3,1.5842473E-2,-1.6098788E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":547,"left_children":[1,-1,-1],"loss_changes":[1.0621432E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-4.73698E-1,1.5842473E-2,-1.6098788E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.170192E0,1.1572386E0,1.0129533E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.303591E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":548,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.3035912E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9152819E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.255111E-3,-1.7839966E-2,1.5809564E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":549,"left_children":[1,-1,-1],"loss_changes":[1.17306314E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-1.7839966E-2,1.5809564E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.1477656E0,1.0353228E0,1.1124427E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[4.6545253E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":550,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[4.6545253E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7938862E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.516449E-2,-1.4152479E-2,7.539578E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":551,"left_children":[1,-1,-1],"loss_changes":[4.9832188E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.4152479E-2,7.539578E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.3303065E0,1.0449668E0,1.2853397E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.4159217E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":552,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.415922E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9418513E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[5.1949387E-3,1.5405099E-2,-1.5471125E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":553,"left_children":[1,-1,-1],"loss_changes":[9.8615274E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-4.811581E-1,1.5405099E-2,-1.5471125E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.1416981E0,1.1281366E0,1.0135616E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.1864382E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":554,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.1864382E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9049193E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.562548E-3,-1.7485777E-2,1.5416006E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":555,"left_children":[1,-1,-1],"loss_changes":[1.1126543E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.3463856E-1,-1.7485777E-2,1.5416006E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.1153495E0,1.0187757E0,1.0965737E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.630369E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":556,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.630369E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7903771E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.439098E-2,-1.4245926E-2,7.4907145E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":557,"left_children":[1,-1,-1],"loss_changes":[4.9720205E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.0677405E-1,-1.4245926E-2,7.4907145E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.3059695E0,1.0069495E0,1.2990199E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.772841E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":558,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.7728414E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9278305E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[4.5083864E-3,1.4772109E-2,-1.4645931E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":559,"left_children":[1,-1,-1],"loss_changes":[8.893484E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-4.9785498E-1,1.4772109E-2,-1.4645931E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.1127746E0,1.0952712E0,1.0175034E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.139299E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":560,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.139299E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8990026E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-8.912221E-3,-1.681239E-2,1.5420161E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":561,"left_children":[1,-1,-1],"loss_changes":[1.061744E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.5816845E-1,-1.681239E-2,1.5420161E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.0901268E0,1.0421718E0,1.0479549E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.821583E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":562,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.821583E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7830001E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.369729E-2,-1.3702656E-2,7.3527447E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":563,"left_children":[1,-1,-1],"loss_changes":[4.6443313E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.3702656E-2,7.3527447E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.2824812E0,1.0208147E0,1.2616664E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[5.6663835E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":564,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[5.6663837E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9178051E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[4.229972E-3,-1.4575264E-2,1.46876E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":565,"left_children":[1,-1,-1],"loss_changes":[8.748384E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[5.8410563E-2,-1.4575264E-2,1.46876E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.0884812E0,1.0074438E0,1.0810373E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[3.0212212E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":566,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[3.0212214E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8894625E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.1126E-3,-1.6470267E-2,1.504785E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":567,"left_children":[1,-1,-1],"loss_changes":[1.0078783E-1,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.5816845E-1,-1.6470267E-2,1.504785E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.0608623E0,1.0272942E0,1.0335681E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.690309E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":568,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.690309E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7803079E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.3004466E-2,-1.3350311E-2,7.1132355E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":569,"left_children":[1,-1,-1],"loss_changes":[4.3621268E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-9.009541E-3,-1.3350311E-2,7.1132355E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.2606678E0,1.0069246E0,1.2537433E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.7504644E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":570,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.7504647E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9131117E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[3.963755E-3,1.4086072E-2,-1.3757693E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":571,"left_children":[1,-1,-1],"loss_changes":[7.87647E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-5.098688E-1,1.4086072E-2,-1.3757693E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.0648232E0,1.0520719E0,1.0127512E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.9112106E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":572,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.9112108E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.880207E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-9.264681E-3,-1.613256E-2,1.4685357E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":573,"left_children":[1,-1,-1],"loss_changes":[9.5691375E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.5816845E-1,-1.613256E-2,1.4685357E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.0329275E0,1.0129489E0,1.0199786E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.410751E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":574,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.4107514E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7713523E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.249603E-2,-1.3129708E-2,7.0844367E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":575,"left_children":[1,-1,-1],"loss_changes":[4.2396247E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-2.9128584E-1,-1.3129708E-2,7.0844367E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.2413454E0,1.0075363E0,1.2338091E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.0743787E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":576,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.0743786E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9010859E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[3.427025E-3,-1.3693871E-2,1.4040798E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":577,"left_children":[1,-1,-1],"loss_changes":[7.770248E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[6.74979E-2,-1.3693871E-2,1.4040798E-2],"split_indices":[2,0,0],"split_type":[0,0,0],"sum_hessian":[2.0412376E0,1.0083153E0,1.0329223E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.8624153E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":578,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.8624153E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8752612E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-8.579622E-3,-1.5772363E-2,1.4403509E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":579,"left_children":[1,-1,-1],"loss_changes":[9.126484E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[9.5816845E-1,-1.5772363E-2,1.4403509E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.0115285E0,1.0004016E0,1.0111268E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.516577E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":580,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.5165776E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7652962E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.182228E-2,-1.2450971E-2,7.2381734E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":581,"left_children":[1,-1,-1],"loss_changes":[4.0127E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[8.919441E-2,-1.2450971E-2,7.2381734E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.221524E0,1.0726013E0,1.1489226E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[7.0510767E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":582,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[7.051077E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.896903E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[3.1721184E-3,1.356289E-2,-1.31543875E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":583,"left_children":[1,-1,-1],"loss_changes":[7.172629E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-5.212555E-1,1.356289E-2,-1.31543875E-2],"split_indices":[3,0,0],"split_type":[0,0,0],"sum_hessian":[2.0197828E0,1.0150142E0,1.0047686E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.760435E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":584,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.7604352E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.867072E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-8.765188E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":585,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[-8.7651884E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9864126E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[6.2255953E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":586,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.225595E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7571365E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.1259894E-2,-1.21471975E-2,7.0138597E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":587,"left_children":[1,-1,-1],"loss_changes":[3.7826955E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[8.919441E-2,-1.21471975E-2,7.0138597E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.2038817E0,1.0615114E0,1.1423703E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.8874806E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":588,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.887481E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.892095E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[3.0006527E-3,-3.8338413E-3,4.2823595E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":589,"left_children":[1,-1,-1],"loss_changes":[6.585414E-3,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-3.2583207E-1,-3.8338413E-3,4.2823595E-3],"split_indices":[4,0,0],"split_type":[0,0,0],"sum_hessian":[2.002974E0,1.00107E0,1.0019041E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[2.6147045E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":590,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.6147047E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.860255E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-8.812854E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":591,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[-8.812854E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9798944E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[7.1165366E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":592,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[7.116537E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7596861E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-3.0421656E-2,-1.2201736E-2,6.779067E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":593,"left_children":[1,-1,-1],"loss_changes":[3.6978602E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[-2.8064406E-1,-1.2201736E-2,6.779067E-3],"split_indices":[0,0,0],"split_type":[0,0,0],"sum_hessian":[2.191142E0,1.0083458E0,1.1827962E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}},{"base_weights":[6.4605996E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":594,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.4606E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8892903E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[2.594512E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":595,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.594512E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9975818E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[2.5711065E-2],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":596,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[2.5711067E-3],"split_indices":[0],"split_type":[0],"sum_hessian":[1.8611828E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-7.898832E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":597,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[-7.898832E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.9801275E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[6.531958E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0],"id":598,"left_children":[-1],"loss_changes":[0E0],"parents":[2147483647],"right_children":[-1],"split_conditions":[6.5319584E-4],"split_indices":[0],"split_type":[0],"sum_hessian":[1.7560455E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"1","size_leaf_vector":"1"}},{"base_weights":[-2.9687917E-2,-1.2044791E-2,6.7448406E-3],"categories":[],"categories_nodes":[],"categories_segments":[],"categories_sizes":[],"default_left":[0,0,0],"id":599,"left_children":[1,-1,-1],"loss_changes":[3.6181185E-2,0E0,0E0],"parents":[2147483647,0,0],"right_children":[2,-1,-1],"split_conditions":[3.0441722E-2,-1.2044791E-2,6.7448406E-3],"split_indices":[6,0,0],"split_type":[0,0,0],"sum_hessian":[2.1824954E0,1.0042132E0,1.178282E0],"tree_param":{"num_deleted":"0","num_feature":"12","num_nodes":"3","size_leaf_vector":"1"}}]},"name":"gbtree"},"learner_model_param":{"base_score":"[0E0,0E0,0E0,0E0,0E0,0E0]","boost_from_average":"1","num_class":"6","num_feature":"12","num_target":"1"},"objective":{"name":"multi:softprob","softmax_multiclass_param":{"num_class":"6"}}},"version":[3,3,0]} \ No newline at end of file From 9ef62bd546de89152e1afa70aa71ce9a09d91e88 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 16:34:32 +0530 Subject: [PATCH 36/39] added workload predcitor func --- focusos/models/classifier.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/focusos/models/classifier.py b/focusos/models/classifier.py index 1d2c10f..fffe927 100644 --- a/focusos/models/classifier.py +++ b/focusos/models/classifier.py @@ -25,6 +25,35 @@ "browser_active", "compiler_active", ] +class WorkloadPredictor: + def__init__(self,models_dirs="models_saved"): + self.scaler=joblib.load(os.path.join(models_dir,"scaler.pkl")) + self.label=joblib.load(os.path.join(models_dir,"label_encoder.pkl")) + self.kmeans=joblib.load(os.path.join(models_dir,"kmean_modle.pkl")) + self.xgb=XGBClassifier() + self.xgb.load_model(os.path.join(models_dir,"xgboost_model.json")) + + + def predict(self,features_df pd.DataFrame) ->dict: + if features_df is None or features_df.empty(): + return None + + #scaling the incoming feature_vector + scaled=self.scaler.transform(features_df) + #predicting the workload using the xgboost + pred_idx=self.xgb.predict(scaled)[0] + workload_name=self.label_encoder.inverse_transform([pred_idx])[0] + #calculating the confidence + confidence=float(probs[pred_idx]*100) + #predicting the cluster ids + cluster_id=int(self.kmeans.predict(scale)[0]) + + return + { + "workload":workload_name + "confidence":round(confidence,2) + "cluster_id":cluster_id + } def train_classifier(): print("\n" + "═"*60) From b3854bd2003fa3e7fe02ab2bcc93ad5c85776359 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 17:08:56 +0530 Subject: [PATCH 37/39] minor syntax fixes --- focusos/models/classifier.py | 50 +++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/focusos/models/classifier.py b/focusos/models/classifier.py index fffe927..003c83e 100644 --- a/focusos/models/classifier.py +++ b/focusos/models/classifier.py @@ -26,35 +26,39 @@ "compiler_active", ] class WorkloadPredictor: - def__init__(self,models_dirs="models_saved"): - self.scaler=joblib.load(os.path.join(models_dir,"scaler.pkl")) - self.label=joblib.load(os.path.join(models_dir,"label_encoder.pkl")) - self.kmeans=joblib.load(os.path.join(models_dir,"kmean_modle.pkl")) - self.xgb=XGBClassifier() - self.xgb.load_model(os.path.join(models_dir,"xgboost_model.json")) + def __init__(self, models_dir=MODELS_DIR): + self.models_dir = models_dir + self.scaler = joblib.load(os.path.join(models_dir, "scaler.pkl")) + self.label_encoder = joblib.load(os.path.join(models_dir, "label_encoder.pkl")) + self.kmeans = joblib.load(os.path.join(models_dir, "kmeans_model.pkl")) + self.xgb = xgb.XGBClassifier() + self.xgb.load_model(os.path.join(models_dir, "xgboost_model.json")) - - def predict(self,features_df pd.DataFrame) ->dict: - if features_df is None or features_df.empty(): + def predict(self, features_df: pd.DataFrame) -> dict: + if features_df is None or features_df.empty: return None + + # scaling the incoming feature_vector + scaled = self.scaler.transform(features_df) - #scaling the incoming feature_vector - scaled=self.scaler.transform(features_df) - #predicting the workload using the xgboost - pred_idx=self.xgb.predict(scaled)[0] - workload_name=self.label_encoder.inverse_transform([pred_idx])[0] - #calculating the confidence - confidence=float(probs[pred_idx]*100) - #predicting the cluster ids - cluster_id=int(self.kmeans.predict(scale)[0]) + # predicting the workload using xgboost + probs = self.xgb.predict_proba(scaled)[0] + pred_idx = int(np.argmax(probs)) + workload_name = str(self.label_encoder.inverse_transform([pred_idx])[0]) + + # calculating the confidence + confidence = float(probs[pred_idx] * 100) - return - { - "workload":workload_name - "confidence":round(confidence,2) - "cluster_id":cluster_id + # predicting the cluster id + cluster_id = int(self.kmeans.predict(scaled)[0]) + + return { + "workload": workload_name, + "confidence": round(confidence, 2), + "cluster_id": cluster_id, } + def train_classifier(): print("\n" + "═"*60) print(" FocusOS — XGBoost Classifier Training") From e7ee4ce727e256b3253b75540969304af6ec0e27 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 19:51:28 +0530 Subject: [PATCH 38/39] fix(db): resolve SQLite locking with WAL mode, timeouts, and absolute DB_PATH --- config.py | 4 +++- db.py | 7 ++++--- focusos/sliding_window.py | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/config.py b/config.py index 2674350..ec1f9db 100644 --- a/config.py +++ b/config.py @@ -1,2 +1,4 @@ -DB_PATH = "cognios_telemetry.db" +import os +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +DB_PATH = os.path.join(BASE_DIR, "cognios_telemetry.db") SLIDING_WIND_N = 120 diff --git a/db.py b/db.py index 79a5bf2..8b19ace 100644 --- a/db.py +++ b/db.py @@ -9,7 +9,7 @@ def init_db(): """Initializes the unified process_snapshot table for Layer 2 telemetry.""" - with sqlite3.connect(DB_PATH) as conn: + with sqlite3.connect(DB_PATH,timeout=10.0) as conn: conn.execute(""" CREATE TABLE IF NOT EXISTS process_snapshot ( id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -32,7 +32,7 @@ def insert_process_snapshot(top_cpu, top_ram): json.dumps(top_cpu, separators=(',', ':')), json.dumps(top_ram, separators=(',', ':')) ) - with sqlite3.connect(DB_PATH) as conn: + with sqlite3.connect(DB_PATH,timeout=10.0) as conn: conn.execute( "INSERT INTO process_snapshot (timestamp, top_cpu_processes, top_ram_processes) VALUES (?, ?, ?)", row @@ -49,7 +49,8 @@ def insert_process_snapshot(top_cpu, top_ram): # Creating table for all the metrics collected from the system def create_connection(db_path): - conn = sqlite3.connect(db_path) + conn = sqlite3.connect(db_path,timeout=10.0) + conn.execute("PRAGMA journal_mode=WAL") cursor = conn.cursor() cursor.execute('''CREATE TABLE IF NOT EXISTS layer1_sys ( id INTEGER PRIMARY KEY AUTOINCREMENT, diff --git a/focusos/sliding_window.py b/focusos/sliding_window.py index 231fb8c..24d7908 100644 --- a/focusos/sliding_window.py +++ b/focusos/sliding_window.py @@ -26,7 +26,7 @@ # return list(self.buffer) def get_window_from_db(db_path=DB_PATH, limit=SLIDING_WIND_N): try: - with sqlite3.connect(db_path) as conn: + with sqlite3.connect(db_path,timeout=10.0) as conn: # it will fetch last nth rows n=limit from the db query = f"select * from layer1_sys order by timestamp desc limit {limit}" df = pd.read_sql(query, conn) From b5458239730da8fb3c1703ab4222623bbf57f1e5 Mon Sep 17 00:00:00 2001 From: NikhByte Date: Sat, 18 Jul 2026 20:23:39 +0530 Subject: [PATCH 39/39] feat(focusos): add workload inference testing loop to main.py and clean classifier return --- .gitignore | 7 +++++++ focusos/feature_engineer.py | 1 - focusos/models/classifier.py | 1 + main.py | 21 +++++++++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 993f1ba..68b46d7 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,14 @@ data/traces/* # Keep data directories present in git if marker files are added. !data/traces/.gitkeep +<<<<<<< HEAD # OS / IDE .DS_Store .vscode/ .idea/ +======= +# Ignore SQLite database files +*.db +*.sqlite3 +*.sqlite +>>>>>>> start_script diff --git a/focusos/feature_engineer.py b/focusos/feature_engineer.py index 214e224..e84c7b8 100644 --- a/focusos/feature_engineer.py +++ b/focusos/feature_engineer.py @@ -83,7 +83,6 @@ def safe_sum_threads(val): "compiler_active": compiler_active, } features_df = pd.DataFrame([features]) - print(features_df) return features_df except Exception as e: diff --git a/focusos/models/classifier.py b/focusos/models/classifier.py index 003c83e..baa5791 100644 --- a/focusos/models/classifier.py +++ b/focusos/models/classifier.py @@ -59,6 +59,7 @@ def predict(self, features_df: pd.DataFrame) -> dict: } + def train_classifier(): print("\n" + "═"*60) print(" FocusOS — XGBoost Classifier Training") diff --git a/main.py b/main.py index fcb68db..38b114c 100644 --- a/main.py +++ b/main.py @@ -27,3 +27,24 @@ #print("\nAll CogniOS modules are now running silently in the background!") print("Your terminal is free to use.") + +from focusos.models.classifier import WorkloadPredictor +from focusos.feature_engineer import extract_features +from focusos.sliding_window import get_window_from_db +import time + +def run_focusos(): + predictor = WorkloadPredictor() + print("FocusOS model inference testing...") + while True: + df_window = get_window_from_db() + if df_window is not None: + features = extract_features(df_window) + if features is not None: + result = predictor.predict(features) + if result: + print(f"[{time.strftime('%H:%M:%S')}] Detected: {result['workload']} ({result['confidence']}%)") + time.sleep(2) + +if __name__ == "__main__": + run_focusos()