Repository: serengil/deepface Branch: master Commit: bcf1c509d9f9 Files: 150 Total size: 3.6 MB Directory structure: gitextract_icnp_eu4/ ├── .codeboarding/ │ ├── External_Integration_Layer.md │ ├── Facial_Analysis_Engine.md │ ├── Model_Management_System.md │ ├── Utility_Infrastructure_Layer.md │ └── on_boarding.md ├── .gitattributes ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 01-report-bug.yaml │ │ ├── 02-request-feature.yaml │ │ ├── 03-documentation.yaml │ │ └── config.yml │ ├── pull_request_template.md │ └── workflows/ │ └── tests.yml ├── .gitignore ├── .pylintrc ├── .vscode/ │ └── settings.json ├── CITATION.cff ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── benchmarks/ │ ├── Evaluate-Results.ipynb │ ├── Perform-Experiments.ipynb │ └── README.md ├── boosted/ │ ├── Perform-Boosting-Experiments-LightGBM.ipynb │ ├── Perform-Boosting-Experiments-XGBoost.ipynb │ └── models/ │ └── boosted_lightface_7.txt ├── deepface/ │ ├── DeepFace.py │ ├── __init__.py │ ├── api/ │ │ ├── __init__.py │ │ ├── postman/ │ │ │ └── deepface-api.postman_collection.json │ │ └── src/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── dependencies/ │ │ │ ├── __init__.py │ │ │ ├── container.py │ │ │ └── variables.py │ │ └── modules/ │ │ ├── __init__.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ └── service.py │ │ └── core/ │ │ ├── __init__.py │ │ ├── routes.py │ │ └── service.py │ ├── commons/ │ │ ├── __init__.py │ │ ├── constant.py │ │ ├── embed_utils.py │ │ ├── folder_utils.py │ │ ├── image_utils.py │ │ ├── logger.py │ │ ├── package_utils.py │ │ └── weight_utils.py │ ├── config/ │ │ ├── __init__.py │ │ ├── confidence.py │ │ ├── minmax.py │ │ └── threshold.py │ ├── models/ │ │ ├── Demography.py │ │ ├── Detector.py │ │ ├── FacialRecognition.py │ │ ├── __init__.py │ │ ├── demography/ │ │ │ ├── Age.py │ │ │ ├── Emotion.py │ │ │ ├── Gender.py │ │ │ ├── Race.py │ │ │ └── __init__.py │ │ ├── face_detection/ │ │ │ ├── CenterFace.py │ │ │ ├── Dlib.py │ │ │ ├── FastMtCnn.py │ │ │ ├── MediaPipe.py │ │ │ ├── MtCnn.py │ │ │ ├── OpenCv.py │ │ │ ├── RetinaFace.py │ │ │ ├── Ssd.py │ │ │ ├── Yolo.py │ │ │ ├── YuNet.py │ │ │ └── __init__.py │ │ ├── facial_recognition/ │ │ │ ├── ArcFace.py │ │ │ ├── Buffalo_L.py │ │ │ ├── DeepID.py │ │ │ ├── Dlib.py │ │ │ ├── Facenet.py │ │ │ ├── FbDeepFace.py │ │ │ ├── GhostFaceNet.py │ │ │ ├── OpenFace.py │ │ │ ├── SFace.py │ │ │ ├── VGGFace.py │ │ │ └── __init__.py │ │ └── spoofing/ │ │ ├── FasNet.py │ │ ├── FasNetBackbone.py │ │ └── __init__.py │ └── modules/ │ ├── __init__.py │ ├── database/ │ │ ├── __init__.py │ │ ├── inventory.py │ │ ├── mongo.py │ │ ├── neo4j.py │ │ ├── pgvector.py │ │ ├── pinecone.py │ │ ├── postgres.py │ │ ├── types.py │ │ └── weaviate.py │ ├── datastore.py │ ├── demography.py │ ├── detection.py │ ├── encryption.py │ ├── exceptions.py │ ├── modeling.py │ ├── normalization.py │ ├── preprocessing.py │ ├── recognition.py │ ├── representation.py │ ├── streaming.py │ └── verification.py ├── docker/ │ ├── docker-compose.yml │ ├── integration.sh │ ├── pgvector-init/ │ │ └── 01_pgvector.sql │ └── postgres-init/ │ └── 001_create_table.sql ├── entrypoint.sh ├── experiments/ │ └── distance-to-confidence.ipynb ├── mypy.ini ├── package_info.json ├── requirements-dev.txt ├── requirements.txt ├── requirements_additional.txt ├── requirements_local ├── scripts/ │ ├── dockerize.sh │ ├── push-release.sh │ └── service.sh ├── setup.py └── tests/ ├── integration/ │ ├── test_postgres_register.py │ └── test_postgres_search.py └── unit/ ├── dataset/ │ ├── face-recognition-pivot.csv │ └── master.csv ├── face-recognition-how.py ├── overlay.py ├── stream.py ├── test_analyze.py ├── test_api.py ├── test_commons.py ├── test_encrypt.py ├── test_enforce_detection.py ├── test_extract_faces.py ├── test_find.py ├── test_find_batched.py ├── test_landmark_sanitization.py ├── test_output_normalization.py ├── test_represent.py ├── test_signature.py ├── test_singleton.py ├── test_verify.py ├── test_version.py └── visual-test.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: .codeboarding/External_Integration_Layer.md ================================================ ```mermaid graph LR API_Core["API Core"] Streaming_Module["Streaming Module"] DeepFace_Facade["DeepFace Facade"] Common_Utilities["Common Utilities"] Models["Models"] API_Core -- "delegates requests to" --> DeepFace_Facade Streaming_Module -- "delegates requests to" --> DeepFace_Facade API_Core -- "uses" --> Common_Utilities Streaming_Module -- "uses" --> Common_Utilities DeepFace_Facade -- "interacts with to manage and utilize" --> Models DeepFace_Facade -- "uses for logging and image processing" --> Common_Utilities Common_Utilities -- "provides services to" --> API_Core Common_Utilities -- "provides services to" --> DeepFace_Facade Common_Utilities -- "provides services to" --> Streaming_Module Models -- "are used by" --> DeepFace_Facade ``` [![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org) ## Component Details The `External Integration Layer` is a crucial component that acts as the primary interface between the DeepFace library and external applications or systems. It is designed to expose DeepFace's powerful facial analysis capabilities through well-defined interaction patterns, specifically a RESTful API and a real-time streaming module. This layer is fundamental because it enables DeepFace to be integrated into a wide array of applications, such as web services, mobile applications, or live video surveillance systems, without requiring direct Python code interaction from the external system. ### API Core This component is responsible for handling all REST API interactions. It defines the various endpoints that external systems can call to access DeepFace functionalities (e.g., face verification, analysis, detection). It manages the parsing of incoming HTTP requests, validates the input data, orchestrates the calls to the underlying DeepFace functionalities, and formats the responses before sending them back to the client. It essentially translates HTTP requests into DeepFace operations and vice-versa. **Related Classes/Methods**: - `deepface.api.src.api` (1:1) - `deepface.api.src.app` (1:1) - `deepface.api.src.modules.core.routes` (1:1) - `deepface.api.src.modules.core.service` (1:1) ### Streaming Module This component specializes in processing real-time video streams for continuous facial analysis. It handles the ingestion of video frames, applies DeepFace's face detection, recognition, and demography analysis algorithms to each frame, and can output the results in a continuous manner. This is essential for applications requiring live monitoring or interactive facial analysis. **Related Classes/Methods**: - `deepface.modules.streaming` (1:1) ### DeepFace Facade This component serves as the central entry point and a simplified interface to the core DeepFace functionalities. It orchestrates calls to various internal DeepFace modules (e.g., for facial representation, verification, analysis, detection, and model management). It abstracts away the complexity of the underlying deep learning models and their specific implementations, providing a clean and consistent API for higher-level components like the `API Core` and `Streaming Module`. **Related Classes/Methods**: - `deepface.DeepFace` (1:1) ### Common Utilities This component provides a collection of shared utility functions and helper modules that are utilized across various parts of the DeepFace project, including the `External Integration Layer`. Key functionalities include robust logging for debugging and monitoring, and efficient image handling (loading, preprocessing, manipulation) which is critical for any image-based deep learning application. **Related Classes/Methods**: - `deepface.commons.logger` (1:1) - `deepface.commons.image_utils` (1:1) - `deepface.commons.package_utils` (1:1) - `deepface.commons.folder_utils` (1:1) - `deepface.commons.weight_utils` (1:1) ### Models This component is responsible for defining, loading, and managing the various deep learning models used by DeepFace for its core tasks, such as facial recognition, face detection, and demography analysis (age, gender, emotion, race). It handles the instantiation and potentially caching of these models to optimize performance. **Related Classes/Methods**: - `deepface.models.demography` (1:1) - `deepface.models.face_detection` (1:1) - `deepface.models.facial_recognition` (1:1) - `deepface.models.spoofing` (1:1) ### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq) ================================================ FILE: .codeboarding/Facial_Analysis_Engine.md ================================================ ```mermaid graph LR FaceDetection["FaceDetection"] ``` [![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org) ## Component Details Initial analysis of the deepface library, focusing on the detection module. Further analysis is needed to identify more components and their relationships across other modules like demography, modeling, and recognition. The current focus is on understanding the core functionalities within detection.py and how they contribute to the overall face analysis process. Future steps will involve analyzing other modules and establishing relationships between them to build a comprehensive understanding of the library's architecture and data flow. The 'referenced_source_code' for 'detect_faces' and 'extract_faces' is a placeholder as the exact line numbers are not yet known without the file content. ### FaceDetection Handles face detection functionalities. **Related Classes/Methods**: - `deepface.modules.detection.detect_faces` (191:267) - `deepface.modules.detection.extract_faces` (20:188) ### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq) ================================================ FILE: .codeboarding/Model_Management_System.md ================================================ ```mermaid graph LR deepface_modules_modeling["deepface.modules.modeling"] deepface_commons_weight_utils["deepface.commons.weight_utils"] deepface_models_Demography["deepface.models.Demography"] deepface_models_Detector["deepface.models.Detector"] deepface_models_FacialRecognition["deepface.models.FacialRecognition"] deepface_models_spoofing_FasNet["deepface.models.spoofing.FasNet"] deepface_models_spoofing_FasNetBackbone["deepface.models.spoofing.FasNetBackbone"] deepface_modules_modeling -- "loads" --> deepface_models_Demography deepface_modules_modeling -- "loads" --> deepface_models_Detector deepface_modules_modeling -- "loads" --> deepface_models_FacialRecognition deepface_modules_modeling -- "loads" --> deepface_models_spoofing_FasNet deepface_models_spoofing_FasNet -- "downloads weights via" --> deepface_commons_weight_utils deepface_models_spoofing_FasNet -- "builds upon" --> deepface_models_spoofing_FasNetBackbone ``` [![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org) ## Component Details The Model Management System in DeepFace is crucial for handling the diverse range of deep learning models used for facial recognition, detection, demography, and anti-spoofing. It provides a unified and efficient way to load, manage, and utilize these models, abstracting away the underlying complexities of different backends and ensuring pre-trained weights are readily available. ### deepface.modules.modeling This module acts as the central orchestrator for the Model Management System. Its primary function, `build_model`, is responsible for dynamically loading and caching various deep learning models (facial recognition, detection, demography, anti-spoofing) based on the requested task and model name. It ensures that models are loaded efficiently, often employing a singleton pattern to reuse already initialized models, thereby providing a unified interface for the rest of the DeepFace system to access pre-trained models. **Related Classes/Methods**: - `deepface.modules.modeling:build_model` (32:104) ### deepface.commons.weight_utils This utility module is vital for managing pre-trained model weights. Its core function, `download_weights_if_necessary`, handles the downloading, caching, and verification of model weights from external URLs. It supports various compression types and ensures that the necessary model files are available locally before models are loaded, directly addressing the system's need for efficient weight management and utilization. **Related Classes/Methods**: - `deepface.commons.weight_utils:download_weights_if_necessary` (27:76) ### deepface.models.Demography This is an abstract base class that defines the common interface and structure for all demography-related models (e.g., age, gender, emotion, race prediction) within DeepFace. It specifies methods like `predict` and internal preprocessing utilities, ensuring a consistent API for demography models. **Related Classes/Methods**: - `deepface.models.Demography:predict` (20:21) ### deepface.models.Detector This abstract base class defines the common interface and structure for all face detection models (e.g., OpenCV, MTCNN, RetinaFace) within DeepFace. It specifies the `detect_faces` method, which is crucial for locating facial areas in images before further analysis. **Related Classes/Methods**: - `deepface.models.Detector:detect_faces` (11:27) ### deepface.models.FacialRecognition This abstract base class defines the common interface and structure for all facial recognition models (e.g., VGG-Face, FaceNet, ArcFace) within DeepFace. It specifies the `forward` method for generating facial embeddings, which are central to identity verification and recognition tasks. **Related Classes/Methods**: - `deepface.models.FacialRecognition:forward` (21:47) ### deepface.models.spoofing.FasNet This class represents a concrete implementation of an anti-spoofing model, specifically the Mini Face Anti Spoofing Net. It demonstrates how specific deep learning models are structured, initialized, and integrated into the DeepFace system, including the loading of its specific pre-trained weights and performing anti-spoofing analysis. **Related Classes/Methods**: - `deepface.models.spoofing.FasNet` (1:1) ### deepface.models.spoofing.FasNetBackbone This module defines the core neural network architectures, such as `MiniFASNet`, that serve as the backbone for anti-spoofing models like `FasNet`. It encapsulates the complex convolutional layers, depth-wise separable convolutions, and residual blocks that form the deep learning model's structure. **Related Classes/Methods**: - `deepface.models.spoofing.FasNetBackbone:MiniFASNet` (356:465) ### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq) ================================================ FILE: .codeboarding/Utility_Infrastructure_Layer.md ================================================ ```mermaid graph LR Utility_Infrastructure_Layer["Utility & Infrastructure Layer"] API_Core -- "uses" --> Utility_Infrastructure_Layer DeepFace_Facade -- "uses" --> Utility_Infrastructure_Layer Streaming_Module -- "uses" --> Utility_Infrastructure_Layer Models -- "uses" --> Utility_Infrastructure_Layer click Utility_Infrastructure_Layer href "https://github.com/serengil/deepface/blob/main/.codeboarding//Utility_Infrastructure_Layer.md" "Details" ``` [![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org) ## Component Details Analysis of the Utility & Infrastructure Layer within the DeepFace library, detailing its components, purpose, and relationships with other key modules. This layer provides foundational services like image handling, logging, file system operations, and model weight management, which are crucial for the entire DeepFace library's functionality and efficiency. It serves as a bedrock for components such as API Core, DeepFace Facade, Streaming Module, and Models, ensuring reusability and consistency across the application by centralizing common, non-domain-specific functionalities. ### Utility & Infrastructure Layer This foundational component provides essential helper functions and cross-cutting concerns used throughout the entire DeepFace library. It includes utilities for image loading and manipulation, centralized logging, file system operations, package-related utilities, constants, and crucially, utilities for managing and loading model weights. It ensures consistency and efficiency for common, non-domain-specific tasks. **Related Classes/Methods**: - `constant` (0:0) - `folder_utils` (0:0) - `image_utils` (0:0) - `logger` (0:0) - `package_utils` (0:0) - `weight_utils` (0:0) ### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq) ================================================ FILE: .codeboarding/on_boarding.md ================================================ ```mermaid graph LR DeepFace_Public_API["DeepFace Public API"] Model_Management_System["Model Management System"] Facial_Analysis_Engine["Facial Analysis Engine"] Utility_Infrastructure_Layer["Utility & Infrastructure Layer"] External_Integration_Layer["External Integration Layer"] DeepFace_Public_API -- "Delegates to" --> Facial_Analysis_Engine DeepFace_Public_API -- "Delegates to" --> Model_Management_System Model_Management_System -- "Provides models to" --> Facial_Analysis_Engine Model_Management_System -- "Uses" --> Utility_Infrastructure_Layer Facial_Analysis_Engine -- "Requests models from" --> Model_Management_System Facial_Analysis_Engine -- "Uses" --> Utility_Infrastructure_Layer Utility_Infrastructure_Layer -- "Supports" --> DeepFace_Public_API Utility_Infrastructure_Layer -- "Supports" --> Model_Management_System Utility_Infrastructure_Layer -- "Supports" --> Facial_Analysis_Engine Utility_Infrastructure_Layer -- "Supports" --> External_Integration_Layer External_Integration_Layer -- "Invokes" --> DeepFace_Public_API External_Integration_Layer -- "Uses" --> Utility_Infrastructure_Layer click Model_Management_System href "https://github.com/serengil/deepface/blob/main/.codeboarding//Model_Management_System.md" "Details" click Facial_Analysis_Engine href "https://github.com/serengil/deepface/blob/main/.codeboarding//Facial_Analysis_Engine.md" "Details" click Utility_Infrastructure_Layer href "https://github.com/serengil/deepface/blob/main/.codeboarding//Utility_Infrastructure_Layer.md" "Details" click External_Integration_Layer href "https://github.com/serengil/deepface/blob/main/.codeboarding//External_Integration_Layer.md" "Details" ``` [![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org) ## Component Details Final Architecture Analysis for `deepface` Based on the Control Flow Graph (CFG) and Source Code analysis, the `deepface` project's architecture can be effectively summarized into five fundamental components. These components are chosen for their distinct responsibilities, high cohesion, and critical roles in the overall system's operation. Why these components are fundamental: These five components represent a clear and logical separation of concerns within the `deepface` project, making the architecture modular, maintainable, and scalable. 1. **DeepFace Public API**: This is fundamental because it defines the user experience and the primary interaction model with the library. It abstracts internal complexities, providing a clean and stable interface for developers. 2. **Model Management System**: DeepFace is built upon deep learning models. This component is absolutely critical for handling the acquisition, loading, and efficient management of these models, which are the core intellectual property and functional backbone of the library. Without it, every analysis task would need to manage its own model lifecycle. 3. **Facial Analysis Engine**: This is the "brain" of DeepFace, where all the specialized algorithms for face detection, recognition, and attribute analysis reside. It's fundamental because it encapsulates the core domain logic and the complex computational tasks that define the library's purpose. 4. **Utility & Infrastructure Layer**: This component provides essential cross-cutting services that are required by almost every other part of the system (e.g., logging, image handling). It's fundamental for ensuring consistency, reducing code duplication, and providing a robust foundation for the entire application. 5. **External Integration Layer**: This component is crucial for the broader applicability and deployability of DeepFace. By providing a REST API and streaming capabilities, it allows the library to be consumed by various applications and systems beyond direct Python scripting, making it a versatile and production-ready solution. Together, these components form a cohesive and well-structured architecture that effectively manages the complexities of deep learning-based facial analysis, from model management to user interaction and external integration. ### DeepFace Public API This component serves as the primary public interface and orchestration layer for the entire DeepFace library. It provides high-level, user-friendly functions (`verify`, `analyze`, `represent`, `find`, `stream`, `extract_faces`, `build_model`) that abstract the underlying complexities of facial analysis. It acts as a facade, delegating tasks to specialized internal modules and ensuring a clean, consistent API for consumers. **Related Classes/Methods**: - `deepface.DeepFace` (1:1000) ### Model Management System This component is responsible for the lifecycle management of all deep learning models used by DeepFace. This includes dynamic loading, building, caching, and ensuring that pre-trained model weights are correctly downloaded and utilized. It abstracts the complexities of various model backends (e.g., TensorFlow, Keras) and provides a unified interface for accessing different types of models (facial recognition, detection, demography, anti-spoofing). **Related Classes/Methods**: - `deepface.modules.modeling` (1:1000) - `deepface.commons.weight_utils` (1:1000) - `deepface.models.Demography` (15:67) - `deepface.models.Detector` (9:27) - `deepface.models.FacialRecognition` (15:47) - `deepface.models.spoofing.FasNet` (1:1000) ### Facial Analysis Engine This is the algorithmic core of DeepFace, containing the specialized modules that perform the actual facial analysis tasks. Each module within this component handles a specific aspect: face detection, facial representation (embedding generation), identity verification, identity recognition, demographic attribute prediction (age, gender, emotion, race), and image preprocessing (alignment, normalization). It encapsulates the complex machine learning logic. **Related Classes/Methods**: - `deepface.modules.detection` (1:1000) - `deepface.modules.representation` (1:1000) - `deepface.modules.verification` (1:1000) - `deepface.modules.recognition` (1:1000) - `deepface.modules.demography` (1:1000) - `deepface.modules.preprocessing` (1:1000) ### Utility & Infrastructure Layer This foundational component provides essential helper functions and cross-cutting concerns used throughout the entire DeepFace library. It includes utilities for image loading and manipulation, centralized logging, file system operations, package-related utilities, and constants. It ensures consistency and efficiency for common, non-domain-specific tasks. **Related Classes/Methods**: - `deepface.commons.image_utils` (1:1000) - `deepface.commons.logger` (1:1000) - `deepface.commons.folder_utils` (1:1000) - `deepface.commons.package_utils` (1:1000) - `deepface.commons.constant` (1:1000) ### External Integration Layer This component is responsible for exposing DeepFace functionalities to external systems and handling specific interaction patterns beyond direct Python function calls. It primarily includes the REST API, which defines endpoints, parses incoming HTTP requests, and formats responses, and the streaming module, which manages real-time facial analysis from video feeds. It acts as the bridge for integrating DeepFace into web applications or live video processing pipelines. **Related Classes/Methods**: - `deepface.api.src.api` (1:1000) - `deepface.api.src.app` (1:1000) - `deepface.api.src.modules.core.routes` (1:1000) - `deepface.api.src.modules.core.service` (1:1000) - `deepface.modules.streaming` (1:1000) ### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq) ================================================ FILE: .gitattributes ================================================ *.ipynb linguist-vendored ================================================ FILE: .github/CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Standards Examples of behavior that contributes to a positive environment for our community include: * Demonstrating empathy and kindness toward other people * Being respectful of differing opinions, viewpoints, and experiences * Giving and gracefully accepting constructive feedback * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience * Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: * The use of sexualized language or imagery, and sexual attention or advances of any kind * Trolling, insulting or derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or email address, without their explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. ## Scope This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at serengil@gmail.com. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. ## Enforcement Guidelines Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: ### 1. Correction **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. ### 2. Warning **Community Impact**: A violation through a single incident or series of actions. **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. ### 3. Temporary Ban **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. **Consequence**: A permanent ban from any sort of public interaction within the community. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. ================================================ FILE: .github/FUNDING.yml ================================================ github: serengil patreon: serengil buy_me_a_coffee: serengil ================================================ FILE: .github/ISSUE_TEMPLATE/01-report-bug.yaml ================================================ name: '🐛 Report a bug' description: 'Use this template to report DeepFace related issues' title: '[BUG]: ' labels: - bug body: - type: checkboxes id: preliminary-checks attributes: label: Before You Report a Bug, Please Confirm You Have Done The Following... description: If any of these required steps are not taken, we may not be able to review your issue. Help us to help you! options: - label: I have updated to the latest version of the packages. required: true - label: I have searched for both [existing issues](https://github.com/serengil/deepface/issues) and [closed issues](https://github.com/serengil/deepface/issues?q=is%3Aissue+is%3Aclosed) and found none that matched my issue. required: true - type: input id: deepface-version attributes: label: DeepFace's version description: | Please provide your deepface version with calling the command `python -c "import deepface; print(deepface.__version__)"` in your terminal placeholder: e.g. v0.0.90 validations: required: true - type: input id: python-version attributes: label: Python version description: | Please provide your python programming language's version with calling `python --version` in your terminal placeholder: e.g. 3.8.5 validations: required: true - type: input id: os attributes: label: Operating System description: | Please provide your operation system's details placeholder: e.g. Windows 10 or Ubuntu 20.04 validations: required: false - type: textarea id: dependencies attributes: label: Dependencies description: | Please provide python dependencies with calling `pip freeze` in your terminal, in particular tensorflow's and keras' versions validations: required: true - type: textarea id: repro-code attributes: label: Reproducible example description: A ***minimal*** code sample which reproduces the issue render: Python validations: required: true - type: textarea id: exception-message attributes: label: Relevant Log Output description: Please share the exception message from your terminal if your program is failing validations: required: false - type: textarea id: expected attributes: label: Expected Result description: What did you expect to happen? validations: required: false - type: textarea id: actual attributes: label: What happened instead? description: What actually happened? validations: required: false - type: textarea id: additional attributes: label: Additional Info description: | Any additional info you'd like to provide. ================================================ FILE: .github/ISSUE_TEMPLATE/02-request-feature.yaml ================================================ name: '✨ Request a New Feature' description: 'Use this template to propose a new feature' title: '[FEATURE]: ' labels: - 'enhancement' body: - type: textarea id: description attributes: label: Description description: Explain what your proposed feature would do and why this is useful. validations: required: true - type: textarea id: additional attributes: label: Additional Info description: Any additional info you'd like to provide. ================================================ FILE: .github/ISSUE_TEMPLATE/03-documentation.yaml ================================================ name: '📝 Documentation' description: 'Use this template to add or improve docs' title: '[DOC]: ' labels: - documentation body: - type: textarea attributes: label: Suggested Changes description: What would you like to see happen in the docs? validations: required: true - type: textarea id: additional attributes: label: Additional Info description: | Any additional info you'd like to provide. ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false contact_links: - name: Ask a question on StackOverflow about: If you just want to ask a question, consider asking it on StackOverflow! url: https://stackoverflow.com/search?tab=newest&q=deepface ================================================ FILE: .github/pull_request_template.md ================================================ ## Tickets Resolves https://github.com/serengil/deepface/issues/XXX ### What has been done With this PR, ... ## How to test ```shell make lint && make test ``` ================================================ FILE: .github/workflows/tests.yml ================================================ name: Tests on: push: paths: - '.github/workflows/tests.yml' - 'deepface/**' - 'tests/**' - 'api/**' - 'requirements.txt' - '.gitignore' - 'setup.py' pull_request: paths: - '.github/workflows/tests.yml' - 'deepface/**' - 'tests/**' - 'api/**' - 'requirements.txt' - '.gitignore' - 'setup.py' jobs: linting: runs-on: ubuntu-latest strategy: matrix: python-version: [3.8] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install pylint==2.15.10 pip install black pip install . - name: Lint with pylint run: | pylint --fail-under=10 deepface/ type-check: needs: linting runs-on: ubuntu-latest strategy: matrix: python-version: [3.8] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install mypy==1.14.1 pip install . - name: Type checking with MyPy run: | mypy deepface/ unit-tests: needs: type-check runs-on: ubuntu-latest strategy: matrix: python-version: [3.8] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install pytest # sending files in form data throwing error in flask 3 while running tests pip install Werkzeug==2.0.2 flask==2.0.2 pip install . - name: Test with pytest run: | cd tests/unit python -m pytest . -s --disable-warnings ================================================ FILE: .gitignore ================================================ **/__pycache__ **/.DS_Store build/ dist/ Pipfile Pipfile.lock .mypy_cache/ .idea/ deepface.egg-info/ tests/unit/dataset/*.pkl tests/unit/*.ipynb tests/unit/*.csv *.pyc **/.coverage **/.coverage.* benchmarks/results benchmarks/outputs benchmarks/dataset benchmarks/lfwe venv **/.env docker/weaviate_data ================================================ FILE: .pylintrc ================================================ [MAIN] # Analyse import fallback blocks. This can be used to support both Python 2 and # 3 compatible code, which means that the block might have code that exists # only in one or another interpreter, leading to false positives when analysed. analyse-fallback-blocks=no # Load and enable all available extensions. Use --list-extensions to see a list # all available extensions. #enable-all-extensions= # In error mode, messages with a category besides ERROR or FATAL are # suppressed, and no reports are done by default. Error mode is compatible with # disabling specific errors. #errors-only= # Always return a 0 (non-error) status code, even if lint errors are found. # This is primarily useful in continuous integration scripts. #exit-zero= # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. extension-pkg-allow-list= # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code. (This is an alternative name to extension-pkg-allow-list # for backward compatibility.) extension-pkg-whitelist= # Return non-zero exit code if any of these messages/categories are detected, # even if score is above --fail-under value. Syntax same as enable. Messages # specified are enabled, while categories only check already-enabled messages. fail-on= # Specify a score threshold under which the program will exit with error. fail-under=10 # Interpret the stdin as a python script, whose filename needs to be passed as # the module_or_package argument. #from-stdin= # Files or directories to be skipped. They should be base names, not paths. ignore=CVS # Add files or directories matching the regular expressions patterns to the # ignore-list. The regex matches against paths and can be in Posix or Windows # format. Because '\' represents the directory delimiter on Windows systems, it # can't be used as an escape character. ignore-paths= # Files or directories matching the regular expression patterns are skipped. # The regex matches against base names, not paths. The default value ignores # Emacs file locks ignore-patterns=^\.# # List of module names for which member attributes should not be checked # (useful for modules/projects where namespaces are manipulated during runtime # and thus existing member attributes cannot be deduced by static analysis). It # supports qualified module names, as well as Unix pattern matching. ignored-modules= # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). #init-hook= # Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the # number of processors available to use, and will cap the count on Windows to # avoid hangs. jobs=1 # Control the amount of potential inferred values when inferring a single # object. This can help the performance when dealing with large functions or # complex, nested conditions. limit-inference-results=100 # List of plugins (as comma separated values of python module names) to load, # usually to register additional checkers. load-plugins= # Pickle collected data for later comparisons. persistent=yes # Minimum Python version to use for version dependent checks. Will default to # the version used to run pylint. py-version=3.9 # Discover python modules and packages in the file system subtree. recursive=no # When enabled, pylint would attempt to guess common misconfiguration and emit # user-friendly hints instead of false-positive error messages. suggestion-mode=yes # Allow loading of arbitrary C extensions. Extensions are imported into the # active Python interpreter and may run arbitrary code. unsafe-load-any-extension=no # In verbose mode, extra non-checker-related info will be displayed. #verbose= [BASIC] # Naming style matching correct argument names. argument-naming-style=snake_case # Regular expression matching correct argument names. Overrides argument- # naming-style. If left empty, argument names will be checked with the set # naming style. #argument-rgx= # Naming style matching correct attribute names. attr-naming-style=snake_case # Regular expression matching correct attribute names. Overrides attr-naming- # style. If left empty, attribute names will be checked with the set naming # style. #attr-rgx= # Bad variable names which should always be refused, separated by a comma. bad-names=foo, bar, baz, toto, tutu, tata # Bad variable names regexes, separated by a comma. If names match any regex, # they will always be refused bad-names-rgxs= # Naming style matching correct class attribute names. class-attribute-naming-style=any # Regular expression matching correct class attribute names. Overrides class- # attribute-naming-style. If left empty, class attribute names will be checked # with the set naming style. #class-attribute-rgx= # Naming style matching correct class constant names. class-const-naming-style=UPPER_CASE # Regular expression matching correct class constant names. Overrides class- # const-naming-style. If left empty, class constant names will be checked with # the set naming style. #class-const-rgx= # Naming style matching correct class names. class-naming-style=PascalCase # Regular expression matching correct class names. Overrides class-naming- # style. If left empty, class names will be checked with the set naming style. #class-rgx= # Naming style matching correct constant names. const-naming-style=UPPER_CASE # Regular expression matching correct constant names. Overrides const-naming- # style. If left empty, constant names will be checked with the set naming # style. #const-rgx= # Minimum line length for functions/classes that require docstrings, shorter # ones are exempt. docstring-min-length=-1 # Naming style matching correct function names. function-naming-style=snake_case # Regular expression matching correct function names. Overrides function- # naming-style. If left empty, function names will be checked with the set # naming style. #function-rgx= # Good variable names which should always be accepted, separated by a comma. good-names=i, j, k, ex, Run, _ # Good variable names regexes, separated by a comma. If names match any regex, # they will always be accepted good-names-rgxs= # Include a hint for the correct naming format with invalid-name. include-naming-hint=no # Naming style matching correct inline iteration names. inlinevar-naming-style=any # Regular expression matching correct inline iteration names. Overrides # inlinevar-naming-style. If left empty, inline iteration names will be checked # with the set naming style. #inlinevar-rgx= # Naming style matching correct method names. method-naming-style=snake_case # Regular expression matching correct method names. Overrides method-naming- # style. If left empty, method names will be checked with the set naming style. #method-rgx= # Naming style matching correct module names. module-naming-style=snake_case # Regular expression matching correct module names. Overrides module-naming- # style. If left empty, module names will be checked with the set naming style. #module-rgx= # Colon-delimited sets of names that determine each other's naming style when # the name regexes allow several styles. name-group= # Regular expression which should only match function or class names that do # not require a docstring. no-docstring-rgx=^_ # List of decorators that produce properties, such as abc.abstractproperty. Add # to this list to register other decorators that produce valid properties. # These decorators are taken in consideration only for invalid-name. property-classes=abc.abstractproperty # Regular expression matching correct type variable names. If left empty, type # variable names will be checked with the set naming style. #typevar-rgx= # Naming style matching correct variable names. variable-naming-style=snake_case # Regular expression matching correct variable names. Overrides variable- # naming-style. If left empty, variable names will be checked with the set # naming style. #variable-rgx= [CLASSES] # Warn about protected attribute access inside special methods check-protected-access-in-special-methods=no # List of method names used to declare (i.e. assign) instance attributes. defining-attr-methods=__init__, __new__, setUp, __post_init__ # List of member names, which should be excluded from the protected access # warning. exclude-protected=_asdict, _fields, _replace, _source, _make # List of valid names for the first argument in a class method. valid-classmethod-first-arg=cls # List of valid names for the first argument in a metaclass class method. valid-metaclass-classmethod-first-arg=cls [DESIGN] # List of regular expressions of class ancestor names to ignore when counting # public methods (see R0903) exclude-too-few-public-methods= # List of qualified class names to ignore when counting class parents (see # R0901) ignored-parents= # Maximum number of arguments for function / method. max-args=5 # Maximum number of attributes for a class (see R0902). max-attributes=7 # Maximum number of boolean expressions in an if statement (see R0916). max-bool-expr=5 # Maximum number of branch for function / method body. max-branches=12 # Maximum number of locals for function / method body. max-locals=15 # Maximum number of parents for a class (see R0901). max-parents=7 # Maximum number of public methods for a class (see R0904). max-public-methods=20 # Maximum number of return / yield for function / method body. max-returns=6 # Maximum number of statements in function / method body. max-statements=50 # Minimum number of public methods for a class (see R0903). min-public-methods=2 [EXCEPTIONS] # Exceptions that will emit a warning when caught. overgeneral-exceptions=BaseException, Exception [FORMAT] # Expected format of line ending, e.g. empty (any line ending), LF or CRLF. expected-line-ending-format= # Regexp for a line that is allowed to be longer than the limit. ignore-long-lines=^\s*(# )??$ # Number of spaces of indent required inside a hanging or continued line. indent-after-paren=4 # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 # tab). indent-string=' ' # Maximum number of characters on a single line. max-line-length=100 # Maximum number of lines in a module. max-module-lines=1000 # Allow the body of a class to be on the same line as the declaration if body # contains single statement. single-line-class-stmt=no # Allow the body of an if to be on the same line as the test if there is no # else. single-line-if-stmt=no [IMPORTS] # List of modules that can be imported at any level, not just the top level # one. allow-any-import-level= # Allow wildcard imports from modules that define __all__. allow-wildcard-with-all=no # Deprecated modules which should not be used, separated by a comma. deprecated-modules= # Output a graph (.gv or any supported image format) of external dependencies # to the given file (report RP0402 must not be disabled). ext-import-graph= # Output a graph (.gv or any supported image format) of all (i.e. internal and # external) dependencies to the given file (report RP0402 must not be # disabled). import-graph= # Output a graph (.gv or any supported image format) of internal dependencies # to the given file (report RP0402 must not be disabled). int-import-graph= # Force import order to recognize a module as part of the standard # compatibility libraries. known-standard-library= # Force import order to recognize a module as part of a third party library. known-third-party=enchant # Couples of modules and preferred modules, separated by a comma. preferred-modules= [LOGGING] # The type of string formatting that logging methods do. `old` means using % # formatting, `new` is for `{}` formatting. logging-format-style=old # Logging modules to check that the string format arguments are in logging # function parameter format. logging-modules=logging [MESSAGES CONTROL] # Only show warnings with the listed confidence levels. Leave empty to show # all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE, # UNDEFINED. confidence=HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE, UNDEFINED # Disable the message, report, category or checker with the given id(s). You # can either give multiple identifiers separated by comma (,) or put this # option multiple times (only on the command line, not in the configuration # file where it should appear only once). You can also use "--disable=all" to # disable everything first and then re-enable specific checks. For example, if # you want to run only the similarities checker, you can use "--disable=all # --enable=similarities". If you want to run only the classes checker, but have # no Warning level messages displayed, use "--disable=all --enable=classes # --disable=W". disable=raw-checker-failed, bad-inline-option, locally-disabled, file-ignored, suppressed-message, useless-suppression, deprecated-pragma, use-symbolic-message-instead, import-error, invalid-name, missing-module-docstring, missing-function-docstring, missing-class-docstring, too-many-arguments, too-many-locals, too-many-branches, too-many-statements, global-variable-undefined, import-outside-toplevel, singleton-comparison, too-many-lines, duplicate-code, bare-except, cyclic-import, global-statement, no-member, no-name-in-module, unrecognized-option, consider-using-dict-items, consider-iterating-dictionary, unexpected-keyword-arg, unknown-option-value # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option # multiple time (only on the command line, not in the configuration file where # it should appear only once). See also the "--disable" option for examples. enable=c-extension-no-member [METHOD_ARGS] # List of qualified names (i.e., library.method) which require a timeout # parameter e.g. 'requests.api.get,requests.api.post' timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request [MISCELLANEOUS] # List of note tags to take in consideration, separated by a comma. notes=FIXME, XXX, TODO # Regular expression of note tags to take in consideration. notes-rgx= [REFACTORING] # Maximum number of nested blocks for function / method body max-nested-blocks=5 # Complete name of functions that never returns. When checking for # inconsistent-return-statements if a never returning function is called then # it will be considered as an explicit return statement and no message will be # printed. never-returning-functions=sys.exit,argparse.parse_error [REPORTS] # Python expression which should return a score less than or equal to 10. You # have access to the variables 'fatal', 'error', 'warning', 'refactor', # 'convention', and 'info' which contain the number of messages in each # category, as well as 'statement' which is the total number of statements # analyzed. This score is used by the global evaluation report (RP0004). evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)) # Template used to display messages. This is a python new-style format string # used to format the message information. See doc for all details. msg-template= # Set the output format. Available formats are text, parseable, colorized, json # and msvs (visual studio). You can also give a reporter class, e.g. # mypackage.mymodule.MyReporterClass. #output-format= # Tells whether to display a full report or only the messages. reports=no # Activate the evaluation score. score=yes [SIMILARITIES] # Comments are removed from the similarity computation ignore-comments=yes # Docstrings are removed from the similarity computation ignore-docstrings=yes # Imports are removed from the similarity computation ignore-imports=yes # Signatures are removed from the similarity computation ignore-signatures=yes # Minimum lines number of a similarity. min-similarity-lines=4 [SPELLING] # Limits count of emitted suggestions for spelling mistakes. max-spelling-suggestions=4 # Spelling dictionary name. Available dictionaries: none. To make it work, # install the 'python-enchant' package. spelling-dict= # List of comma separated words that should be considered directives if they # appear at the beginning of a comment and should not be checked. spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy: # List of comma separated words that should not be checked. spelling-ignore-words= # A path to a file that contains the private dictionary; one word per line. spelling-private-dict-file= # Tells whether to store unknown words to the private dictionary (see the # --spelling-private-dict-file option) instead of raising a message. spelling-store-unknown-words=no [STRING] # This flag controls whether inconsistent-quotes generates a warning when the # character used as a quote delimiter is used inconsistently within a module. check-quote-consistency=no # This flag controls whether the implicit-str-concat should generate a warning # on implicit string concatenation in sequences defined over several lines. check-str-concat-over-line-jumps=no [TYPECHECK] disable=unsubscriptable-object # List of decorators that produce context managers, such as # contextlib.contextmanager. Add to this list to register other decorators that # produce valid context managers. contextmanager-decorators=contextlib.contextmanager # List of members which are set dynamically and missed by pylint inference # system, and so shouldn't trigger E1101 when accessed. Python regular # expressions are accepted. generated-members= # Tells whether to warn about missing members when the owner of the attribute # is inferred to be None. ignore-none=yes # This flag controls whether pylint should warn about no-member and similar # checks whenever an opaque object is returned when inferring. The inference # can return multiple potential results while evaluating a Python object, but # some branches might not be evaluated, which results in partial inference. In # that case, it might be useful to still emit no-member and other checks for # the rest of the inferred objects. ignore-on-opaque-inference=yes # List of symbolic message names to ignore for Mixin members. ignored-checks-for-mixins=no-member, not-async-context-manager, not-context-manager, attribute-defined-outside-init # List of class names for which member attributes should not be checked (useful # for classes with dynamically set attributes). This supports the use of # qualified names. ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace # Show a hint with possible names when a member name was not found. The aspect # of finding the hint is based on edit distance. missing-member-hint=yes # The minimum edit distance a name should have in order to be considered a # similar match for a missing member name. missing-member-hint-distance=1 # The total number of similar names that should be taken in consideration when # showing a hint for a missing member. missing-member-max-choices=1 # Regex pattern to define which classes are considered mixins. mixin-class-rgx=.*[Mm]ixin # List of decorators that change the signature of a decorated function. signature-mutators= [VARIABLES] # List of additional names supposed to be defined in builtins. Remember that # you should avoid defining new builtins when possible. additional-builtins= # Tells whether unused global variables should be treated as a violation. allow-global-unused-variables=yes # List of names allowed to shadow builtins allowed-redefined-builtins= # List of strings which can identify a callback function by name. A callback # name must start or end with one of those strings. callbacks=cb_, _cb # A regular expression matching the name of dummy variables (i.e. expected to # not be used). dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ # Argument names that match this expression will be ignored. ignored-argument-names=_.*|^ignored_|^unused_ # Tells whether we should check for unused import in __init__ files. init-import=no # List of qualified module names which can have objects that can redefine # builtins. redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io ================================================ FILE: .vscode/settings.json ================================================ { "python.linting.pylintEnabled": true, "python.linting.enabled": true, "python.linting.pylintUseMinimalCheckers": false, "editor.formatOnSave": true, "editor.renderWhitespace": "all", "files.autoSave": "afterDelay", "python.analysis.typeCheckingMode": "basic", "python.formatting.provider": "black", "python.formatting.blackArgs": ["--line-length=100"], "editor.fontWeight": "normal", "python.analysis.extraPaths": [ "./deepface" ], "black-formatter.args": [ "--line-length=100" ] } ================================================ FILE: CITATION.cff ================================================ cff-version: 1.2.0 message: "Please cite the following publication if DeepFace helps your research." title: "DeepFace: A Lightweight Face Recognition Framework for Python" authors: - family-names: Serengil given-names: Sefik version: 1.0.0 date-released: 2020-02-09 doi: 10.35378/gujs.1794891 url: https://github.com/serengil/deepface type: software preferred-citation: type: article title: "Boosted LightFace: A Hybrid DNN and GBM Model for Boosted Facial Recognition" authors: - family-names: Serengil given-names: Sefik Ilkin - family-names: Ozpinar given-names: Alper year: 2026 doi: 10.35378/gujs.1794891 url: https://dergipark.org.tr/en/pub/gujs/article/1794891 journal: "Gazi University Journal of Science" volume: "39" issue: "1" start: "452" end: "466" publisher: "Gazi University" ================================================ FILE: Dockerfile ================================================ # base image FROM python:3.8.12 LABEL org.opencontainers.image.source https://github.com/serengil/deepface # ----------------------------------- # create required folder RUN mkdir -p /app && chown -R 1001:0 /app RUN mkdir /app/deepface # ----------------------------------- # switch to application directory WORKDIR /app # ----------------------------------- # update image os # Install system dependencies RUN apt-get update && apt-get install -y \ ffmpeg \ libsm6 \ libxext6 \ libhdf5-dev \ && rm -rf /var/lib/apt/lists/* # ----------------------------------- # Copy required files from repo into image COPY ./deepface /app/deepface # even though we will use local requirements, this one is required to perform install deepface from source code COPY ./requirements.txt /app/requirements.txt COPY ./requirements_local /app/requirements_local.txt COPY ./package_info.json /app/ COPY ./setup.py /app/ COPY ./README.md /app/ COPY ./entrypoint.sh /app/deepface/api/src/entrypoint.sh # ----------------------------------- # if you plan to use a GPU, you should install the 'tensorflow-gpu' package # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org tensorflow-gpu # if you plan to use face anti-spoofing, then activate this line # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org torch==2.1.2 # ----------------------------------- # install deepface from pypi release (might be out-of-date) # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org deepface # ----------------------------------- # install dependencies - deepface with these dependency versions is working RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org -r /app/requirements_local.txt # install deepface from source code (always up-to-date) RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org -e . --no-deps # ----------------------------------- # some packages are optional in deepface. activate if your task depends on one. # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org cmake==3.24.1.1 # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org dlib==19.20.0 # RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org lightgbm==2.3.1 # ----------------------------------- # environment variables ENV PYTHONUNBUFFERED=1 # ----------------------------------- # run the app (re-configure port if necessary) WORKDIR /app/deepface/api/src EXPOSE 5000 # CMD ["gunicorn", "--workers=1", "--timeout=3600", "--bind=0.0.0.0:5000", "app:create_app()"] ENTRYPOINT [ "sh", "entrypoint.sh" ] ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2019 Sefik Ilkin Serengil Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: Makefile ================================================ test: cd tests/unit && python -m pytest . -s --disable-warnings integration-test: cd tests/integration && python -m pytest . -s --disable-warnings lint: python -m pylint deepface/ --fail-under=10 && mypy deepface/ coverage: pip install pytest-cov && cd tests/unit && python -m pytest --cov=deepface ================================================ FILE: README.md ================================================ # deepface
[![Downloads](https://static.pepy.tech/personalized-badge/deepface?period=total&units=international_system&left_color=grey&right_color=blue&left_text=downloads)](https://pepy.tech/project/deepface) [![Stars](https://img.shields.io/github/stars/serengil/deepface?color=yellow&style=flat&label=%E2%AD%90%20stars)](https://github.com/serengil/deepface/stargazers) [![Pulls](https://img.shields.io/docker/pulls/serengil/deepface?logo=docker)](https://hub.docker.com/r/serengil/deepface) [![License](http://img.shields.io/:license-MIT-green.svg?style=flat)](https://github.com/serengil/deepface/blob/master/LICENSE) [![Tests](https://github.com/serengil/deepface/actions/workflows/tests.yml/badge.svg)](https://github.com/serengil/deepface/actions/workflows/tests.yml) [![DOI](http://img.shields.io/:DOI-10.35378/gujs.1794891-blue.svg?style=flat)](https://doi.org/10.35378/gujs.1794891) [![Blog](https://img.shields.io/:blog-sefiks.com-blue.svg?style=flat&logo=wordpress)](https://sefiks.com) [![YouTube](https://img.shields.io/:youtube-@sefiks-red.svg?style=flat&logo=youtube)](https://www.youtube.com/@sefiks?sub_confirmation=1) [![Twitter](https://img.shields.io/:follow-@serengil-blue.svg?style=flat&logo=x)](https://twitter.com/intent/user?screen_name=serengil) [![Patreon](https://img.shields.io/:become-patron-f96854.svg?style=flat&logo=patreon)](https://www.patreon.com/serengil?repo=deepface) [![GitHub Sponsors](https://img.shields.io/github/sponsors/serengil?logo=GitHub&color=lightgray)](https://github.com/sponsors/serengil) [![Buy Me a Coffee](https://img.shields.io/badge/-buy_me_a%C2%A0coffee-gray?logo=buy-me-a-coffee)](https://buymeacoffee.com/serengil)
serengil%2Fdeepface | Trendshift

DeepFace is a lightweight [face recognition](https://sefiks.com/2018/08/06/deep-face-recognition-with-keras/) and facial attribute analysis ([age](https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/), [gender](https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/), [emotion](https://sefiks.com/2018/01/01/facial-expression-recognition-with-keras/) and [race](https://sefiks.com/2019/11/11/race-and-ethnicity-prediction-in-keras/)) framework for python. It is a hybrid face recognition framework wrapping **state-of-the-art** models: [`VGG-Face`](https://sefiks.com/2018/08/06/deep-face-recognition-with-keras/), [`FaceNet`](https://sefiks.com/2018/09/03/face-recognition-with-facenet-in-keras/), [`OpenFace`](https://sefiks.com/2019/07/21/face-recognition-with-openface-in-keras/), [`DeepFace`](https://sefiks.com/2020/02/17/face-recognition-with-facebook-deepface-in-keras/), [`DeepID`](https://sefiks.com/2020/06/16/face-recognition-with-deepid-in-keras/), [`ArcFace`](https://sefiks.com/2020/12/14/deep-face-recognition-with-arcface-in-keras-and-python/), [`Dlib`](https://sefiks.com/2020/07/11/face-recognition-with-dlib-in-python/), `SFace`, `GhostFaceNet`, `Buffalo_L`. [A modern face recognition pipeline](https://sefiks.com/2020/05/01/a-gentle-introduction-to-face-recognition-in-deep-learning/) consists of 5 common stages: [detect](https://sefiks.com/2020/08/25/deep-face-detection-with-opencv-in-python/), [align](https://sefiks.com/2020/02/23/face-alignment-for-face-recognition-in-python-within-opencv/), [normalize](https://sefiks.com/2020/11/20/facial-landmarks-for-face-recognition-with-dlib/), [represent](https://sefiks.com/2018/08/06/deep-face-recognition-with-keras/) and [verify](https://sefiks.com/2020/05/22/fine-tuning-the-threshold-in-face-recognition/). While DeepFace handles all these common stages in the background, you don’t need to acquire in-depth knowledge about all the processes behind it. You can just call its verification, find or analysis function with a single line of code. [`Experiments`](https://github.com/serengil/deepface/tree/master/benchmarks) show that **human beings have 97.53% accuracy** on facial recognition tasks whereas those models already reached and passed that accuracy level. ## Installation [![PyPI](https://img.shields.io/pypi/v/deepface.svg)](https://pypi.org/project/deepface/) The easiest way to install deepface is to download it from [`PyPI`](https://pypi.org/project/deepface/). It's going to install the library itself and its prerequisites as well. ```shell $ pip install deepface ``` Alternatively, you can also install deepface from its source code. Source code may have new features not published in pip release yet. ```shell $ git clone https://github.com/serengil/deepface.git $ cd deepface $ pip install -e . ``` Once you installed the library, then you will be able to import it and use its functionalities. ```python from deepface import DeepFace ``` **Face Verification** - [`Demo`](https://youtu.be/KRCvkNCOphE) This function determines whether two facial images belong to the same person or to different individuals. The function returns a dictionary, where the key of interest is `verified`: True indicates the images are of the same person, while False means they are of different people. ```python result: dict = DeepFace.verify(img1_path = "img1.jpg", img2_path = "img2.jpg") ```

**Face recognition** - [`Tutorial`](https://sefiks.com/2026/01/01/introducing-brand-new-face-recognition-in-deepface/), [`Demo`](https://youtu.be/Hrjp-EStM_s) [Face recognition](https://sefiks.com/2020/05/25/large-scale-face-recognition-for-deep-learning/) requires applying face verification many times. DeepFace provides an out-of-the-box `find` function that searches for the identity of an input image within a specified database path. ```python dfs: List[pd.DataFrame] = DeepFace.find(img_path = "img1.jpg", db_path = "C:/my_db") ```

Here, the `find` function relies on a directory-based face datastore and stores embeddings on disk. Alternatively, DeepFace provides a database-backed [`search`](https://sefiks.com/2026/01/01/introducing-brand-new-face-recognition-in-deepface/) functionality where embeddings are explicitly registered and queried. Currently, [postgres](https://sefiks.com/2023/06/22/vector-similarity-search-in-postgresql/), [mongo](https://sefiks.com/2021/01/22/deep-face-recognition-with-mongodb/), [neo4j](https://sefiks.com/2021/04/03/deep-face-recognition-with-neo4j/), [pgvector](https://sefiks.com/2024/07/05/postgres-as-a-vector-database-billion-scale-vector-similarity-search-with-pgvector/), [pinecone](https://sefiks.com/2021/05/19/large-scale-face-recognition-with-pinecone-vector-database/) and weaviate are supported as backend databases. ```python # register an image into the database DeepFace.register(img = "img1.jpg") # perform exact search dfs: List[pd.DataFrame] = DeepFace.search(img = "target.jpg") ``` If you want to perform [`approximate nearest neighbor`](https://sefiks.com/2023/12/31/a-step-by-step-approximate-nearest-neighbor-example-in-python-from-scratch/) search instead of exact search to achieve faster results on [large-scale databases](https://www.youtube.com/playlist?list=PLsS_1RYmYQQGSJu_Z3OVhXhGmZ86_zuIm), you can build an index beforehand and explicitly enable ANN search. Here, [Faiss](https://sefiks.com/2020/09/17/large-scale-face-recognition-with-facebook-faiss/) is used to index embeddings in postgres and mongo; whereas vector databases such as pgvector, weaviate, pinecone and neo4j handle indexing internally. ```python # build index on registered embeddings (for postgres and mongo only) DeepFace.build_index() # perform approximate nearest neighbor search dfs: List[pd.DataFrame] = DeepFace.search(img = "target.jpg", search_method = "ann") ``` **Facial Attribute Analysis** - [`Demo`](https://youtu.be/GT2UeN85BdA) DeepFace also comes with a strong facial attribute analysis module including [`age`](https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/), [`gender`](https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/), [`facial expression`](https://sefiks.com/2018/01/01/facial-expression-recognition-with-keras/) (including angry, fear, neutral, sad, disgust, happy and surprise) and [`race`](https://sefiks.com/2019/11/11/race-and-ethnicity-prediction-in-keras/) (including asian, white, middle eastern, indian, latino and black) predictions. ```python objs: List[dict] = DeepFace.analyze( img_path = "img4.jpg", actions = ['age', 'gender', 'race', 'emotion'] ) ```

Age model got ± 4.65 MAE; gender model got 97.44% accuracy, 96.29% precision and 95.05% recall as mentioned in its [tutorial](https://sefiks.com/2019/02/13/apparent-age-and-gender-prediction-in-keras/). **Real Time Analysis** - [`Demo`](https://youtu.be/-c9sSJcx6wI), [`React Demo part-i`](https://youtu.be/IXoah6rhxac), [`React Demo part-ii`](https://youtu.be/_waBA-cH2D4) You can run deepface for real time videos as well. Stream function will access your webcam and apply both face recognition and facial attribute analysis. The function starts to analyze a frame if it can focus a face sequentially 5 frames. Then, it shows results 5 seconds. ```python DeepFace.stream(db_path = "C:/database") ```

Even though face recognition is based on one-shot learning, you can use multiple face pictures of a person as well. You should rearrange your directory structure as illustrated below. ```bash user ├── database │ ├── Alice │ │ ├── Alice1.jpg │ │ ├── Alice2.jpg │ ├── Bob │ │ ├── Bob.jpg ``` If you intend to perform face verification or analysis tasks directly from your browser, [`deepface-react-ui`](https://github.com/serengil/deepface-react-ui) is a separate repository built using ReactJS depending on deepface api. Here, you can also find some real time demos for various facial recognition models:

| Task | Model | Demo | | --- | --- | --- | | Facial Recognition | DeepFace | [`Video`](https://youtu.be/YjYIMs5ZOfc) | | Facial Recognition | FaceNet | [`Video`](https://youtu.be/vB1I5vWgTQg) | | Facial Recognition | VGG-Face | [`Video`](https://youtu.be/tSU_lNi0gQQ) | | Facial Recognition | OpenFace | [`Video`](https://youtu.be/-4z2sL6wzP8) | | Age & Gender | Default | [`Video`](https://youtu.be/tFI7vZn3P7E) | | Race & Ethnicity | Default | [`Video`](https://youtu.be/-ztiy5eJha8) | | Emotion | Default | [`Video`](https://youtu.be/Y7DfLvLKScs) | | Celebrity Look-Alike | Default | [`Video`](https://youtu.be/RMgIKU1H8DY) | **Embeddings** - [`Tutorial`](https://sefiks.com/2025/06/28/what-are-vector-embeddings-and-why-they-matter-in-ai/), [`Demo`](https://youtu.be/OYialFo7Qo4) Face recognition models basically represent facial images as multi-dimensional vectors. Sometimes, you need those embedding vectors directly. DeepFace comes with a dedicated representation function. ```python embedding_objs: List[dict] = DeepFace.represent(img_path = "img.jpg") ``` Embeddings can be [plotted](https://sefiks.com/2020/05/01/a-gentle-introduction-to-face-recognition-in-deep-learning/) as below. Each slot is corresponding to a dimension value and dimension value is emphasized with colors. Similar to 2D barcodes, vertical dimension stores no information in the illustration.

In summary, the distance between vector embeddings of the same person should be smaller than that between embeddings of different people. When reduced to two-dimensional space, the clusters become clearly distinguishable.

**Face recognition models** - [`Demo`](https://youtu.be/eKOZawGR3y0) DeepFace is a **hybrid** face recognition package. It currently wraps many **state-of-the-art** face recognition models: [`VGG-Face`](https://sefiks.com/2018/08/06/deep-face-recognition-with-keras/) , [`FaceNet`](https://sefiks.com/2018/09/03/face-recognition-with-facenet-in-keras/), [`OpenFace`](https://sefiks.com/2019/07/21/face-recognition-with-openface-in-keras/), [`DeepFace`](https://sefiks.com/2020/02/17/face-recognition-with-facebook-deepface-in-keras/), [`DeepID`](https://sefiks.com/2020/06/16/face-recognition-with-deepid-in-keras/), [`ArcFace`](https://sefiks.com/2020/12/14/deep-face-recognition-with-arcface-in-keras-and-python/), [`Dlib`](https://sefiks.com/2020/07/11/face-recognition-with-dlib-in-python/), `SFace`, `GhostFaceNet` and `Buffalo_L`. The default configuration uses VGG-Face model. ```python models = [ "VGG-Face", "Facenet", "Facenet512", "OpenFace", "DeepFace", "DeepID", "ArcFace", "Dlib", "SFace", "GhostFaceNet", "Buffalo_L", ] result = DeepFace.verify( img1_path = "img1.jpg", img2_path = "img2.jpg", model_name = models[0] ) dfs = DeepFace.find( img_path = "img1.jpg", db_path = "C:/my_db", model_name = models[1] ) embeddings = DeepFace.represent( img_path = "img.jpg", model_name = models[2] ) ```

FaceNet, VGG-Face, ArcFace and Dlib are overperforming ones based on experiments - see [`BENCHMARKS`](https://github.com/serengil/deepface/tree/master/benchmarks) for more details. You can find the measured scores of various models in DeepFace and the reported scores from their original studies in the following table. | Model | Measured Score | Declared Score | | -------------- | -------------- | ------------------ | | Facenet512 | 98.4% | 99.6% | | Human-beings | 97.5% | 97.5% | | Facenet | 97.4% | 99.2% | | Dlib | 96.8% | 99.3 % | | VGG-Face | 96.7% | 98.9% | | ArcFace | 96.7% | 99.5% | | GhostFaceNet | 93.3% | 99.7% | | SFace | 93.0% | 99.5% | | OpenFace | 78.7% | 92.9% | | DeepFace | 69.0% | 97.3% | | DeepID | 66.5% | 97.4% | Conducting experiments with those models within DeepFace may reveal disparities compared to the original studies, owing to the adoption of distinct detection or normalization techniques. Furthermore, some models have been released solely with their backbones, lacking pre-trained weights. Thus, we are utilizing their re-implementations instead of the original pre-trained weights. **Face Detection and Alignment** - [`Demo`](https://youtu.be/GZ2p2hj2H5k) Face detection and alignment are important early stages of a modern face recognition pipeline. [Experiments](https://github.com/serengil/deepface/tree/master/benchmarks) show that detection increases the face recognition accuracy up to 42%, while alignment increases it up to 6%. [`OpenCV`](https://sefiks.com/2020/02/23/face-alignment-for-face-recognition-in-python-within-opencv/), [`Ssd`](https://sefiks.com/2020/08/25/deep-face-detection-with-opencv-in-python/), [`Dlib`](https://sefiks.com/2020/07/11/face-recognition-with-dlib-in-python/), [`MtCnn`](https://sefiks.com/2020/09/09/deep-face-detection-with-mtcnn-in-python/), `Faster MtCnn`, [`RetinaFace`](https://sefiks.com/2021/04/27/deep-face-detection-with-retinaface-in-python/), [`MediaPipe`](https://sefiks.com/2022/01/14/deep-face-detection-with-mediapipe/), `Yolo`, `YuNet` and `CenterFace` detectors are wrapped in deepface.

All deepface functions accept optional detector backend and align input arguments. You can switch among those detectors and alignment modes with these arguments. OpenCV is the default detector and alignment is on by default. ```python backends = [ 'opencv', 'ssd', 'dlib', 'mtcnn', 'fastmtcnn', 'retinaface', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'yunet', 'centerface', ] detector = backends[3] align = True obj = DeepFace.verify( img1_path = "img1.jpg", img2_path = "img2.jpg", detector_backend = detector, align = align ) dfs = DeepFace.find( img_path = "img.jpg", db_path = "my_db", detector_backend = detector, align = align ) embedding_objs = DeepFace.represent( img_path = "img.jpg", detector_backend = detector, align = align ) demographies = DeepFace.analyze( img_path = "img4.jpg", detector_backend = detector, align = align ) face_objs = DeepFace.extract_faces( img_path = "img.jpg", detector_backend = detector, align = align ) ``` Face recognition models are actually CNN models and they expect standard sized inputs. So, resizing is required before representation. To avoid deformation, deepface adds black padding pixels according to the target size argument after detection and alignment.

[RetinaFace](https://sefiks.com/2021/04/27/deep-face-detection-with-retinaface-in-python/) and [MtCnn](https://sefiks.com/2020/09/09/deep-face-detection-with-mtcnn-in-python/) seem to overperform in detection and alignment stages but they are much slower. If the speed of your pipeline is more important, then you should use opencv or ssd. On the other hand, if you consider the accuracy, then you should use retinaface or mtcnn. The performance of RetinaFace is very satisfactory even in the crowd as seen in the following illustration. Besides, it comes with an incredible facial landmark detection performance. Highlighted red points show some facial landmarks such as eyes, nose and mouth. That's why, alignment score of RetinaFace is high as well.


The Yellow Angels - Fenerbahce Women's Volleyball Team

You can find out more about RetinaFace on this [repo](https://github.com/serengil/retinaface). **Face Anti Spoofing** - [`Demo`](https://youtu.be/UiK1aIjOBlQ) DeepFace also includes an anti-spoofing analysis module to understand given image is real or fake. To activate this feature, set the `anti_spoofing` argument to True in any DeepFace tasks.

```python # anti spoofing test in face detection face_objs = DeepFace.extract_faces(img_path="dataset/img1.jpg", anti_spoofing = True) assert all(face_obj["is_real"] is True for face_obj in face_objs) # anti spoofing test in real time analysis DeepFace.stream(db_path = "C:/database", anti_spoofing = True) ``` **Similarity** - [`Demo`](https://youtu.be/1EPoS69fHOc) Face recognition models are regular [convolutional neural networks](https://sefiks.com/2018/03/23/convolutional-autoencoder-clustering-images-with-neural-networks/) and they are responsible to represent faces as vectors. We expect that a face pair of same person should be [more similar](https://sefiks.com/2020/05/22/fine-tuning-the-threshold-in-face-recognition/) than a face pair of different persons. Similarity could be calculated by different metrics such as [Cosine Similarity](https://sefiks.com/2018/08/13/cosine-similarity-in-machine-learning/), Angular Distance, Euclidean Distance or L2 normalized Euclidean. The default configuration uses cosine similarity. According to [experiments](https://github.com/serengil/deepface/tree/master/benchmarks), no distance metric is overperforming than other. ```python metrics = ["cosine", "euclidean", "euclidean_l2", "angular"] result = DeepFace.verify( img1_path = "img1.jpg", img2_path = "img2.jpg", distance_metric = metrics[1] ) dfs = DeepFace.find( img_path = "img1.jpg", db_path = "C:/my_db", distance_metric = metrics[2] ) ``` **API** - [`Demo`](https://youtu.be/HeKCQ6U9XmI), [`Docker Demo`](https://youtu.be/9Tk9lRQareA) DeepFace serves an API as well - see [`api folder`](https://github.com/serengil/deepface/tree/master/deepface/api/src) for more details. You can clone deepface source code and run the api with the following command. It will use gunicorn server to get a rest service up. In this way, you can call deepface from an external system such as mobile app or web. ```shell cd scripts && ./service.sh ``` Alternatively, you can run the dockerized service. ```shell cd scripts && ./dockerize.sh ```

Face verification, facial attribute analysis, vector representation and register & search functions are covered in the API. The API accepts images as file uploads (via form data), or as exact image paths, URLs, or base64-encoded strings (via either JSON or form data). ```shell $ curl -X POST http://localhost:5005/represent \ -d '{"model_name":"Facenet", "img":"img1.jpg"}' $ curl -X POST http://localhost:5005/verify \ -d '{"img1":"img1.jpg", "img2":"img3.jpg"}' $ curl -X POST http://localhost:5005/analyze \ -d '{"img": "img2.jpg", "actions": ["age", "gender"]}' $ curl -X POST http://localhost:5005/register \ -d '{"model_name":"Facenet", "img":"img18.jpg"}' $ curl -X POST http://localhost:5005/search \ -d '{"img":"img1.jpg", "model_name":"Facenet"}' ``` [`Here`](https://github.com/serengil/deepface/tree/master/deepface/api/postman), you can find a postman project to find out how these methods should be called. **Encrypt Embeddings** - [`Demo with PHE`](https://youtu.be/8VCu39jFZ7k), [`Tutorial for PHE`](https://sefiks.com/2025/03/04/vector-similarity-search-with-partially-homomorphic-encryption-in-python/), [`Demo with FHE`](https://youtu.be/njjw0PEhH00), [`Tutorial for FHE`](https://sefiks.com/2021/12/01/homomorphic-facial-recognition-with-tenseal/) Vector embeddings, though not reversible, carry sensitive information like fingerprints, making their security crucial. Encrypting them prevents adversarial misuse. Traditional encryption (e.g., AES) is secure but unsuitable for cloud-based distance calculations. [Homomorphic encryption](https://youtu.be/3ejI0zNPMEQ) allows computations on encrypted data without revealing content—ideal for secure cloud processing. For example, the cloud can compute encrypted similarity without knowing the data, while only the key holder can decrypt the result. See the [`LightPHE`](https://github.com/serengil/LightPHE) library for partially homomorphic encryption. ```python from lightphe import LightPHE # build an additively homomorphic cryptosystem (e.g. Paillier) on-prem cs = LightPHE(algorithm_name = "Paillier", precision = 19) # define encrypted and plain vectors encrypted_alpha = DeepFace.represent("source.jpg", cryptosystem=cs)[0]["encrypted_embedding"] beta = DeepFace.represent("target.jpg")[0]["embedding"] # dot product of encrypted & plain embedding in cloud - private key not required encrypted_cosine_similarity = encrypted_alpha @ beta # decrypt similarity on-prem - private key required calculated_similarity = cs.decrypt(encrypted_cosine_similarity)[0] # verification print("same person" if calculated_similarity >= 1 - threshold else "different persons") ```

For stronger privacy, fully homomorphic encryption enables dot product computations between encrypted embeddings, but it's far more computationally intensive. Explore [`CipherFace`](https://github.com/serengil/cipherface) for FHE-based approaches. ### Extended Applications DeepFace can also be used for fun and insightful applications such as **Find Your Celebrity Look-Alike** - [`Demo`](https://youtu.be/jaxkEn-Kieo), [`Real-Time Demo`](https://youtu.be/RMgIKU1H8DY), [`Tutorial`](https://sefiks.com/2019/05/05/celebrity-look-alike-face-recognition-with-deep-learning-in-keras/) DeepFace can analyze your facial features and match them with celebrities, letting you discover which famous personality you resemble the most.

**Find Which Parent a Child Look More** - [`Demo`](https://youtu.be/nza4tmi9vhE), [`Tutorial`](https://sefiks.com/2022/12/22/decide-whom-your-child-looks-like-with-facial-recognition-mommy-or-daddy/) DeepFace can also be used to compare a child's face to their parents' or relatives' faces to determine which one the child resembles more.

## Contribution Pull requests are more than welcome! If you are planning to contribute a large patch, please create an issue first to get any upfront questions or design decisions out of the way first. Before creating a PR, you should run the unit tests and linting locally by running `make test && make lint` command. Once a PR sent, GitHub test workflow will be run automatically and unit test and linting jobs will be available in [GitHub actions](https://github.com/serengil/deepface/actions) before approval. ## Support There are many ways to support a project - starring⭐️ the GitHub repo is just one 🙏 It really helps the project get discovered by more people. If you do like this work, then you can support it financially on [Patreon](https://www.patreon.com/serengil?repo=deepface), [GitHub Sponsors](https://github.com/sponsors/serengil) or [Buy Me a Coffee](https://buymeacoffee.com/serengil). ## Citation Please cite deepface in your publications if it helps your research.
S. I. Serengil and A. Ozpinar, Boosted LightFace: A Hybrid DNN and GBM Model for Boosted Facial Recognition, Gazi University Journal of Science, vol. 39, no. 1, pp. 452-466, 2026. ```BibTeX @article{serengil2026boosted, title = {Boosted LightFace: A Hybrid DNN and GBM Model for Boosted Facial Recognition}, author = {Serengil, Sefik Ilkin and Ozpinar, Alper}, journal = {Gazi University Journal of Science}, volume = {39}, number = {1}, pages = {452-466}, year = {2026}, doi = {10.35378/gujs.1794891}, url = {https://dergipark.org.tr/en/pub/gujs/article/1794891}, publisher = {Gazi University} } ```
S. Serengil and A. Ozpinar, "A Benchmark of Facial Recognition Pipelines and Co-Usability Performances of Modules", Journal of Information Technologies, vol. 17, no. 2, pp. 95-107, 2024. ```BibTeX @article{serengil2024lightface, title = {A Benchmark of Facial Recognition Pipelines and Co-Usability Performances of Modules}, author = {Serengil, Sefik and Ozpinar, Alper}, journal = {Journal of Information Technologies}, volume = {17}, number = {2}, pages = {95-107}, year = {2024}, doi = {10.17671/gazibtd.1399077}, url = {https://dergipark.org.tr/en/pub/gazibtd/issue/84331/1399077}, publisher = {Gazi University} } ```
S. I. Serengil and A. Ozpinar, "HyperExtended LightFace: A Facial Attribute Analysis Framework", 2021 International Conference on Engineering and Emerging Technologies (ICEET), 2021, pp. 1-4. ```BibTeX @inproceedings{serengil2021lightface, title = {HyperExtended LightFace: A Facial Attribute Analysis Framework}, author = {Serengil, Sefik Ilkin and Ozpinar, Alper}, booktitle = {2021 International Conference on Engineering and Emerging Technologies (ICEET)}, pages = {1-4}, year = {2021}, doi = {10.1109/ICEET53442.2021.9659697}, url = {https://ieeexplore.ieee.org/document/9659697}, organization = {IEEE} } ```
S. I. Serengil and A. Ozpinar, "LightFace: A Hybrid Deep Face Recognition Framework", 2020 Innovations in Intelligent Systems and Applications Conference (ASYU), 2020, pp. 23-27. ```BibTeX @inproceedings{serengil2020lightface, title = {LightFace: A Hybrid Deep Face Recognition Framework}, author = {Serengil, Sefik Ilkin and Ozpinar, Alper}, booktitle = {2020 Innovations in Intelligent Systems and Applications Conference (ASYU)}, pages = {23-27}, year = {2020}, doi = {10.1109/ASYU50717.2020.9259802}, url = {https://ieeexplore.ieee.org/document/9259802}, organization = {IEEE} } ```
Also, if you use deepface in your GitHub projects, please add `deepface` in the `requirements.txt`. ## Licence DeepFace is licensed under the MIT License - see [`LICENSE`](https://github.com/serengil/deepface/blob/master/LICENSE) for more details. DeepFace wraps some external face recognition models: [VGG-Face](http://www.robots.ox.ac.uk/~vgg/software/vgg_face/), [Facenet](https://github.com/davidsandberg/facenet/blob/master/LICENSE.md) (both 128d and 512d), [OpenFace](https://github.com/iwantooxxoox/Keras-OpenFace/blob/master/LICENSE), [DeepFace](https://github.com/swghosh/DeepFace), [DeepID](https://github.com/Ruoyiran/DeepID/blob/master/LICENSE.md), [ArcFace](https://github.com/leondgarse/Keras_insightface/blob/master/LICENSE), [Dlib](https://github.com/davisking/dlib/blob/master/dlib/LICENSE.txt), [SFace](https://github.com/opencv/opencv_zoo/blob/master/models/face_recognition_sface/LICENSE), [GhostFaceNet](https://github.com/HamadYA/GhostFaceNets/blob/main/LICENSE) and [Buffalo_L](https://github.com/deepinsight/insightface/blob/master/README.md). Besides, age, gender and race / ethnicity models were trained on the backbone of VGG-Face with transfer learning. Similarly, DeepFace wraps many face detectors: [OpenCv](https://github.com/opencv/opencv/blob/4.x/LICENSE), [Ssd](https://github.com/opencv/opencv/blob/master/LICENSE), [Dlib](https://github.com/davisking/dlib/blob/master/LICENSE.txt), [MtCnn](https://github.com/ipazc/mtcnn/blob/master/LICENSE), [Fast MtCnn](https://github.com/timesler/facenet-pytorch/blob/master/LICENSE.md), [RetinaFace](https://github.com/serengil/retinaface/blob/master/LICENSE), [MediaPipe](https://github.com/google/mediapipe/blob/master/LICENSE), [YuNet](https://github.com/ShiqiYu/libfacedetection/blob/master/LICENSE), [Yolo](https://github.com/ultralytics/ultralytics/blob/main/LICENSE) and [CenterFace](https://github.com/Star-Clouds/CenterFace/blob/master/LICENSE). Finally, DeepFace is optionally using [face anti spoofing](https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/LICENSE) to determine the given images are real or fake. License types will be inherited when you intend to utilize those models. Please check the license types of those models for production purposes. DeepFace [logo](https://thenounproject.com/term/face-recognition/2965879/) is created by [Adrien Coquet](https://thenounproject.com/coquet_adrien/) and it is licensed under [Creative Commons: By Attribution 3.0 License](https://creativecommons.org/licenses/by/3.0/). ================================================ FILE: benchmarks/Evaluate-Results.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "id": "59b076ef", "metadata": {}, "source": [ "# Evaluate DeepFace's Results In The Big Picture" ] }, { "cell_type": "code", "execution_count": 1, "id": "79200f8c", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from IPython.display import display, HTML\n", "from sklearn import metrics\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "bbc11592", "metadata": {}, "outputs": [], "source": [ "alignment = [False, True]\n", "models = [\"Facenet512\", \"Facenet\", \"VGG-Face\", \"ArcFace\", \"Dlib\", \"GhostFaceNet\", \"SFace\", \"OpenFace\", \"DeepFace\", \"DeepID\"]\n", "detectors = [\"retinaface\", \"mtcnn\", \"fastmtcnn\", \"dlib\", \"yolov8\", \"yunet\", \"centerface\", \"mediapipe\", \"ssd\", \"opencv\", \"skip\"]\n", "distance_metrics = [\"euclidean\", \"euclidean_l2\", \"cosine\"]" ] }, { "cell_type": "markdown", "id": "e0dabf1b", "metadata": {}, "source": [ "# Main results" ] }, { "cell_type": "code", "execution_count": 3, "id": "03b09fa3", "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "euclidean for alignment False\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Facenet512FacenetVGG-FaceArcFaceDlibGhostFaceNetSFaceOpenFaceDeepFaceDeepID
detector
retinaface96.192.895.784.188.383.278.670.867.464.3
mtcnn95.992.595.581.889.383.276.370.965.963.2
fastmtcnn96.393.096.082.290.082.776.871.266.564.3
dlib96.089.094.182.696.365.673.175.961.861.9
yolov894.890.895.283.288.477.671.668.968.266.3
yunet97.996.596.384.191.482.778.271.765.565.2
centerface97.495.495.883.290.382.076.569.965.762.9
mediapipe94.987.193.171.191.961.973.277.661.762.4
ssd97.294.996.783.988.684.982.069.966.764.0
opencv94.190.295.889.891.291.086.971.168.461.1
skip92.064.190.656.669.075.181.457.460.860.7
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "euclidean_l2 for alignment False\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Facenet512FacenetVGG-FaceArcFaceDlibGhostFaceNetSFaceOpenFaceDeepFaceDeepID
detector
retinaface98.095.995.795.788.489.590.670.867.764.6
mtcnn97.896.295.595.989.288.091.170.967.064.0
fastmtcnn97.796.696.095.989.687.889.771.267.864.2
dlib96.589.994.193.895.663.075.075.962.661.8
yolov897.795.895.295.088.188.789.868.968.965.3
yunet98.396.896.396.191.788.090.571.767.663.2
centerface97.496.395.895.890.286.889.369.968.463.1
mediapipe96.390.093.189.391.865.674.677.664.961.6
ssd97.997.096.796.689.491.593.069.968.764.9
opencv96.292.995.893.291.593.391.771.168.361.6
skip91.467.690.657.269.378.483.457.462.661.6
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "cosine for alignment False\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Facenet512FacenetVGG-FaceArcFaceDlibGhostFaceNetSFaceOpenFaceDeepFaceDeepID
detector
retinaface98.095.995.795.788.489.590.670.867.763.7
mtcnn97.896.295.595.989.288.091.170.967.064.0
fastmtcnn97.796.696.095.989.687.889.771.267.862.7
dlib96.589.994.193.895.663.075.075.962.661.7
yolov897.795.895.295.088.188.789.868.968.965.3
yunet98.396.896.396.191.788.090.571.767.663.2
centerface97.496.395.895.890.286.889.369.968.462.6
mediapipe96.390.093.189.391.864.874.677.664.961.6
ssd97.997.096.796.689.491.593.069.968.763.8
opencv96.292.995.893.291.593.391.771.168.161.1
skip91.467.690.654.869.378.483.457.462.661.1
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "euclidean for alignment True\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Facenet512FacenetVGG-FaceArcFaceDlibGhostFaceNetSFaceOpenFaceDeepFaceDeepID
detector
retinaface95.993.595.885.288.985.980.269.467.065.6
mtcnn95.293.895.983.789.483.077.470.266.563.3
fastmtcnn96.093.495.883.591.182.877.769.466.764.0
dlib96.090.894.588.696.865.766.375.863.460.4
yolov894.491.995.084.189.277.673.468.769.066.5
yunet97.396.196.084.992.284.079.470.965.865.2
centerface97.695.895.783.690.482.877.468.965.562.8
mediapipe95.188.692.973.293.163.272.578.761.862.2
ssd88.985.687.075.883.179.176.966.863.462.5
opencv88.284.287.373.084.483.881.166.465.559.6
skip92.064.190.656.669.075.181.457.460.860.7
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "euclidean_l2 for alignment True\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Facenet512FacenetVGG-FaceArcFaceDlibGhostFaceNetSFaceOpenFaceDeepFaceDeepID
detector
retinaface98.496.495.896.689.190.592.469.467.764.4
mtcnn97.696.895.996.090.089.890.570.266.464.0
fastmtcnn98.197.295.896.491.089.590.069.467.464.1
dlib97.092.694.595.196.463.369.875.866.559.5
yolov897.395.795.095.588.888.991.968.767.566.0
yunet97.997.496.096.791.689.191.070.966.563.6
centerface97.796.895.796.590.987.589.368.967.864.0
mediapipe96.190.692.990.392.664.475.478.764.763.0
ssd88.787.587.086.283.382.284.666.864.162.6
opencv87.684.887.384.684.085.083.666.463.860.9
skip91.467.690.657.269.378.483.457.462.661.6
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "cosine for alignment True\n" ] }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Facenet512FacenetVGG-FaceArcFaceDlibGhostFaceNetSFaceOpenFaceDeepFaceDeepID
detector
retinaface98.496.495.896.689.190.592.469.467.764.4
mtcnn97.696.895.996.090.089.890.570.266.363.0
fastmtcnn98.197.295.896.491.089.590.069.467.463.6
dlib97.092.694.595.196.463.369.875.866.558.7
yolov897.395.795.095.588.888.991.968.767.565.9
yunet97.997.496.096.791.689.191.070.966.563.5
centerface97.796.895.796.590.987.589.368.967.863.6
mediapipe96.190.692.990.392.664.375.478.764.863.0
ssd88.787.587.086.283.382.284.566.863.862.6
opencv87.684.987.284.684.085.083.666.263.760.1
skip91.467.690.654.869.378.483.457.462.661.1
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for align in alignment:\n", " for metric in distance_metrics:\n", " df = pd.read_csv(f\"results/pivot_{metric}_with_alignment_{align}.csv\")\n", " df = df.rename(columns = {'Unnamed: 0': 'detector'})\n", " df = df.set_index('detector')\n", "\n", " print(f\"{metric} for alignment {align}\")\n", " display(HTML(df.to_html()))\n", " display(HTML(\"
\"))" ] }, { "cell_type": "code", "execution_count": 4, "id": "aef6dc64", "metadata": {}, "outputs": [], "source": [ "def create_github_table():\n", " for metric in distance_metrics:\n", " for align in [True, False]:\n", " df = pd.read_csv(f\"results/pivot_{metric}_with_alignment_{align}.csv\")\n", " df = df.rename(columns = {'Unnamed: 0': 'detector'})\n", " df = df.set_index('detector')\n", " \n", " print(f\"Performance Matrix for {metric} while alignment is {align} \\n\")\n", " header = \"| | \"\n", " for col_name in df.columns.tolist():\n", " header += f\"{col_name} |\"\n", " print(header)\n", " # -------------------------------\n", " seperator = \"| --- | \"\n", " for col_name in df.columns.tolist():\n", " seperator += \" --- |\"\n", " print(seperator)\n", " # -------------------------------\n", " for index, instance in df.iterrows():\n", " line = f\"| {instance.name} |\"\n", " for i in instance.values:\n", " if i < 97.5:\n", " line += f\"{i} |\"\n", " else:\n", " line += f\"**{i}** |\"\n", " print(line)\n", " \n", " print(\"\\n---------------------------\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "5004caaa", "metadata": {}, "outputs": [], "source": [ "# create_github_table()" ] }, { "cell_type": "markdown", "id": "965c655f", "metadata": {}, "source": [ "# Alignment impact" ] }, { "cell_type": "code", "execution_count": 7, "id": "6ce20a58", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
max_alignment_impact
ArcFace6.0
DeepFace3.9
GhostFaceNet2.7
Facenet2.7
SFace2.1
Dlib1.4
DeepID1.4
OpenFace1.1
Facenet5120.5
VGG-Face0.4
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "align_df = None\n", "\n", "for distance_metric in distance_metrics:\n", " df1 = (\n", " pd.read_csv(f\"results/pivot_{distance_metric}_with_alignment_True.csv\")\n", " .rename(columns = {'Unnamed: 0': 'detector'})\n", " .set_index('detector')\n", " )\n", " df2 = (\n", " pd.read_csv(f\"results/pivot_{distance_metric}_with_alignment_False.csv\")\n", " .rename(columns = {'Unnamed: 0': 'detector'})\n", " .set_index('detector')\n", " )\n", " df1 = df1[df1.index != \"skip\"]\n", " df2 = df2[df2.index != \"skip\"]\n", " pivot_df = df1.subtract(df2)\n", " \n", " pivot_df = pivot_df.max()\n", " pivot_df = pd.DataFrame(pivot_df, columns=[f'alignment_impact_of_{distance_metric}'])\n", " # display(HTML(pivot_df.to_html()))\n", "\n", " if align_df is None:\n", " align_df = pivot_df.copy()\n", " else:\n", " align_df = align_df.merge(pivot_df, left_index=True, right_index=True)\n", "\n", "# display(HTML(align_df.to_html()))\n", "align_df = pd.DataFrame(align_df.max(axis=1), columns = [\"max_alignment_impact\"])\n", "align_df = align_df.sort_values(by=[\"max_alignment_impact\"], ascending=False)\n", "display(HTML(align_df.to_html()))" ] }, { "cell_type": "markdown", "id": "f66e349f", "metadata": {}, "source": [ "## Detection impact" ] }, { "cell_type": "code", "execution_count": 8, "id": "34eca61b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
max_detection_impact
ArcFace41.8
Facenet32.4
Dlib27.3
OpenFace20.2
GhostFaceNet15.9
SFace9.6
DeepFace7.6
Facenet5126.9
VGG-Face6.1
DeepID5.6
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "detect_df = None\n", "for distance_metric in distance_metrics:\n", " tmp_df = (\n", " pd.read_csv(f\"results/pivot_{distance_metric}_with_alignment_False.csv\")\n", " .rename(columns = {'Unnamed: 0': 'detector'})\n", " .set_index('detector')\n", " )\n", " ref_df = tmp_df[tmp_df.index == \"skip\"]\n", " \n", " j = []\n", " for i in range(0, len(detectors) - 1):\n", " j.append(ref_df)\n", " minus_df = pd.concat(j)\n", " \n", " tmp_df = tmp_df[tmp_df.index != \"skip\"]\n", " minus_df.index = tmp_df.index\n", " \n", " # print(\"performance with no detection\")\n", " # display(HTML(ref_df.to_html()))\n", " \n", " # print(\"pivot\")\n", " tmp_df = tmp_df.subtract(minus_df)\n", " # display(HTML(tmp_df.to_html()))\n", " \n", " # print(\"avg of detector impact for models\")\n", " # avg_df = pd.DataFrame(tmp_df.mean()).T\n", " avg_df = pd.DataFrame(tmp_df.max(), columns=[f\"detection_impact_of_{distance_metric}\"])\n", " # display(HTML(avg_df.to_html()))\n", "\n", " if detect_df is None:\n", " detect_df = avg_df.copy()\n", " else:\n", " detect_df = detect_df.merge(avg_df, left_index=True, right_index=True)\n", "\n", "# display(HTML(detect_df.to_html()))\n", "detect_df = pd.DataFrame(detect_df.max(axis=1), columns = [\"max_detection_impact\"])\n", "detect_df = detect_df.sort_values(by=[\"max_detection_impact\"], ascending=False)\n", "display(HTML(detect_df.to_html()))\n" ] }, { "cell_type": "markdown", "id": "1bdf64a3", "metadata": {}, "source": [ "# facial recognition model's best scores" ] }, { "cell_type": "code", "execution_count": 9, "id": "0cb1f232", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
best_accuracy_score
Facenet51298.4
Human-beings97.5
Facenet97.4
Dlib96.8
VGG-Face96.7
ArcFace96.7
GhostFaceNet93.3
SFace93.0
OpenFace78.7
DeepFace69.0
DeepID66.5
\n", "
" ], "text/plain": [ " best_accuracy_score\n", "Facenet512 98.4\n", "Human-beings 97.5\n", "Facenet 97.4\n", "Dlib 96.8\n", "VGG-Face 96.7\n", "ArcFace 96.7\n", "GhostFaceNet 93.3\n", "SFace 93.0\n", "OpenFace 78.7\n", "DeepFace 69.0\n", "DeepID 66.5" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame()\n", "for align in alignment:\n", " for distance_metric in distance_metrics:\n", " tmp_df = (\n", " pd.read_csv(f\"results/pivot_{distance_metric}_with_alignment_{align}.csv\")\n", " .rename(columns = {'Unnamed: 0': 'detector'})\n", " .set_index('detector')\n", " )\n", " df = pd.concat([df, tmp_df])\n", "\n", "pivot_df = pd.DataFrame(df.max(), columns = [\"best_accuracy_score\"])\n", "\n", "# add human comparison\n", "pivot_df.loc[\"Human-beings\"] = 97.5\n", "\n", "pivot_df = pivot_df.sort_values(by = [\"best_accuracy_score\"], ascending = False)\n", "pivot_df" ] }, { "cell_type": "markdown", "id": "b81ebe92", "metadata": {}, "source": [ "# ROC Curves" ] }, { "cell_type": "code", "execution_count": 10, "id": "bcb4db0a", "metadata": {}, "outputs": [], "source": [ "def plot_roc(model_name, detector_backend, distance_metric, align):\n", " alignment_text = \"aligned\" if align == True else \"unaligned\"\n", "\n", " df = pd.read_csv(f\"outputs/test/{model_name}_{detector_backend}_{distance_metric}_{alignment_text}.csv\")\n", " \n", " #normalize\n", " df[\"distances_normalized\"] = df[\"distances\"] / df[\"distances\"].max()\n", " df[\"actuals_normalized\"] = 0\n", " idx = df[df[\"actuals\"] == False].index\n", " df.loc[idx, \"actuals_normalized\"] = 1\n", " \n", " y_actual = df[\"actuals_normalized\"].values.tolist()\n", " y_pred_proba = df[\"distances_normalized\"].values.tolist()\n", " \n", " fpr, tpr, _ = metrics.roc_curve(y_actual, y_pred_proba)\n", " auc = metrics.roc_auc_score(y_actual, y_pred_proba)\n", " auc = round(auc, 4)\n", "\n", " # best accuracy score\n", " result_path = f\"results/pivot_{distance_metric}_with_alignment_{align}.csv\"\n", " result_df = pd.read_csv(result_path)\n", " acc = result_df[result_df[\"Unnamed: 0\"] == detector_backend][model_name].values[0]\n", "\n", " label = f\"{model_name}_{detector_backend}_{distance_metric}_{alignment_text} (acc: {acc}, auc: {auc})\"\n", "\n", " return acc, auc, fpr, tpr, label" ] }, { "cell_type": "code", "execution_count": 11, "id": "84b3d5b5", "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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gELKNK4hm3EMmTCuIX9sB76ffPJJHsuAEwZMGSuPP3UbvMfiPxKA5JqamuT3+1OuW5bFzw8AAADABmOMEon2lOvxeNjFagD7sh3XwDiG4pXVSAcUN4/fJ2+awBcAUvH7/WkDXwAAAACZGWO0YOEE25uyAU7JdSM1aXP3rt2wl3EMxY3AFyXJGKOOSCTleiyyycVqAAAAAACQEol222FvXd1oeb3BPFeEUpBzWGukExct19K21J3l2co0roFxDMWNwBclxxijWVMv08oPlhW6FAAAAABAGck0jiGTrcc1HHLwvLQbsnm9QQIzZD1GwQ1j6mrU16ri+7OEEfiiKKXr4I1FNtkOewcOG66qQMDJ0gAAAAAAJShTmLt5HMOpamt715Hr+XyhtIEvSp/bYxQyGVEb1NMjh0o55rR075Y+Al8UnWw6eC+85xFZgeqU61WBAD+kAAAAAKDCuT1bl3ENxa8UxyhkQlCLLXoU+H744YeaOXOmPvzwQ91xxx2qr6/Xn/70J+28887aa6+9nK6xohljZGKpfwCZaNzFatzREYnYCnsHDhuuYO86fpgBAAAAANLKZrZube1wjR41K6fnmoxryB8numrzEdbmijEKcFLWge/LL7+sY445RgcddJBeeeUVXX/99aqvr9dbb72l+++/X0888UQ+6qxIxhitnfG2oitaC11KwaTr4KV7FwAAAACQLWbrlq5inHfLGAUUo6wD3yuuuELXXXedJk2apF69enXe/vWvf1133nmno8VVOhNL2A57/YN7y2P1vO2/WFmBalnVqUc2AAAAAACQDWbrlq5wwrl5t5IzYS1BLYpR1oHvkiVL9Oijj3a7vb6+XuvWrXOkKHQ3YMpYefy+lOseix8wAAAAAACgMBwZtZBBOP7l+XOddysR1qJ8ZR34brfddlq1apV22WWXLrcvWrRIO+20k2OFoSuP3ydvmsAXAAAAAACgEAoxaiHk86rGR04CJJN14Hvqqafq8ssv1+OPPy6Px6NEIqHXX39dTU1NOvvss/NRIwCgB4wxisViKdej0aiL1QAAAAAoRk505objzo5ayGRMXY1C3vIbawk4JevA94YbbtBFF12khoYGxeNxDR8+XPF4XKeffrqmTJmSjxoBAFkyxqi5uVktLS2FLgUAAADIO2OMEon2lOvxeNjFakpHPjpznRi1kAmjGID0sg58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f2233XaqqanRfvvtp4cffrjLNXjcAKRXsYGviRklovFubyYaL3RpQN4dffTRWrVqVZe3XXbZxdFrZOre3baDd3httUb0CiZ9Gxqyv/nh+++/3+Xjqq+v71zbuHGj9t13X911111J7xsOh7Vw4UJdddVVWrhwoZ588km9//77OuGEE3r8ediywV9P1NXVOd7l0dbWpn/9618aP368Bg4cqF69ejl6/mITDAa7fA8Uox122KGkvg4///nP1djYKK+3eB5CrFy5UuPGjdPQoUM1b948Pf/883rnnXf0ne98p/OYtrY2HX300dp55501b948vfbaa+rVq5fGjx9v6//p9OnTS/4PhB9//LGOO+44HXHEEVq8eLF++MMf6txzz9ULL7yQ8j5/+tOfdMYZZ+iCCy7Q0qVL9ctf/lK333677rzzzs5j7r77bk2ePFlXX3213nnnHV1zzTW66KKL9Ic//KHzmCeffLLLz+alS5fK5/Pp5JNP7jzmmGOO0YYNG0r6yXMhffTRRxo5cqT+/Oc/64YbbtCiRYs0d+5cXXbZZXr22Wf10ksvFbpESdLMmTO7fC8888wzrl27urpa999/v/7xj3+4dk04o7a2Vn369Cl0GXlXCo9btvbEE0+od+/eOuiggwpdShfnnnuuXnzxRT388MNasmSJjjrqKI0bN06fffZZ5zFf+cpXdOedd2rJkiV67bXXNGTIEB111FFau3ZtyvMOGjRIN910kxYsWKA333xTX//613XiiSfqnXfecePDclQ8Htdxxx2naDSqv/3tb3rwwQf1wAMPaOrUqSnvY+fxliTddtttuvLKK3XFFVfonXfe0UsvvaTx48d3rjc1NXV7Ljp8+PAujwl22GEHXXnllZo7d67efvttNTY2qrGxsctjFh43ABmYCrN+/Xojybz7wz+ZlstfSfsWj3QkPUe0vd3cOuE4c+uE40y0vd3ljyB7kUjETJs2zUybNs1EIpFCl+OIRCJhOjo2pnyLRNaal2bval6avavp6Njo+PXb29vNu+++a9pL4Ou/rYkTJ5oTTzwx6drPfvYzM2LECBMKhcygQYPMhRdeaDZs2NDlmNdee80cdthhJhgMmu22284cddRR5vPPPzfGGBOPx80NN9xghgwZYqqrq81XRowwtzz4iFm8fqNZvH6juffZPxlJ5ldPP2uG7zfSVAeDZp8xY83zC98yiUSi8xpPPfWUGTlypAkEAmaXXXYxV199tYnFYsYYYwYPHmwkdb4NHjzYGGPMX//6VyPJ/Oc//7H1eZBkfv/732c87o033jCSzIoVKzIe+/HHHxtJZtasWebQQw81gUDAzJw50xhjzL333mv22GMPEwgEzLBhw8xdd93VpZat3w477DBjTPev1WGHHWa+//3vm0svvdRsv/32pl+/fmbatGldakj3NdzyOdr67a9//atZt26dOfXUU83AgQNNMBg0I0aMMI8++miX88bjcXPzzTeb3Xbbzfj9ftPQ0GCuu+66zvVPP/3UnHzyyaaurs5sv/325oQTTjAff/xxxs/ZFvfff78ZPny48fv9pn///uaiiy7qXFuxYoU54YQTTE1NjenVq5c5+eSTzerVqzvXFy9ebA4//HBTW1trevXqZUaNGmXmz59vjDFm5syZpq6urvPYadOmmX333dc89NBDZvDgwaZ3797mlFNOMa2trV0+1q2/j/fZZx/z+OOP2/o4Ojo6zHe/+90v/w985Stm+vTpXY5J9nW95JJLOt9fuXKlOfbYY011dbUZMmSI+fWvf20GDx5sbr/99s5jJJl7773XnHTSSSYYDJqhQ4eap59+ust1lixZYo4++mhTU1Nj6uvrzZlnnmnWrl3bud7W1mbOOussU1NTY/r3729uvfXWbrVs61//+pfxeDxm6dKlXW534mdHuu+vTH71q1+Z+vp6E4/HO297++23jSTzj3/8wxhjzPz5840k8+mnn6Y8JpVFixaZnXbayaxatcr2z46tLV++3Jxwwgmmvr7e1NTUmP3339+8+OKLXY5Jdt66urrOnyHGGNPS0mJOPfVUs/3225tQKGRGjx5t/v73v9uu47LLLjN77bVXl9tOOeUUM378+JT3Oe2008y3v/3tLrf9/Oc/N4MGDer8uX3AAQeYpqamLsdMmjTJHHTQQSnPe/vtt5tevXqZtra2Lrc3NjaaM88809bHg67Gjx9vBg0a1O1zusXWv2ft/AyZM2eO+epXv9r5c/nyyy/v/F1sjDGPP/64GTFihKmurjY77LCDOfLII01bW5uZNm1a0t81W66b7P+PG7+Htvz8/8Y3vmFOPvnkztsXLVpkJHU5Nt3Pz4kTJ3b7+Oz8vsv0+TzssMPMRRddZC666CLTu3dv06dPHzNlypQuX7dNmzaZH//4x2bgwIEmFAqZMWPGdH5ujfnyd97zzz9v9thjD1NTU2PGjx9vVq5c2aWWVL9zTzvtNDNhwoQux0ajUdOnTx/z4IMPZvwYM32N3n77bXPEEUd0fs+cd955XX5X/PWvfzVf/epXTSgUMnV1debAAw80n3zyiTHmy6/fFlt+l95yyy2mf//+ZocddjDf+973TDQatf35Smfb6xmz+efWlseddmt46KGHzOjRo01tba3p16+fOe2008yaNWu6fMxbP37d9nGLMcZce+21ZscddzS1tbXmnHPOMZdffnlePhczZ840DQ0NJhgMmpNOOsnceuut3WrZ1nHHHdft5/8bb7xhxo0bZ/r06WN69+5tDj30ULNgwYIux/znP/8x559/vqmvrzeBQMDstdde5g9/+EPnerrHDJmEw2Hj8/nMs88+2+X2UaNGmSuvvDLl/bbkBC+99JKt62yx/fbbm/vuu8/28XYeKyZ7PHbiiSeaiRMndr6/adMmc9lll5lBgwYZv99vdtttt6zqeO6554zX6+3ymPruu+82vXv3TpkZ2Hm89fnnn5tgMJjV53Hx4sVGknnllVfSHjdy5EgzZcqULre5/bihlHMAFI8tP2/Wr1+f1+sUT3tOkfEP7i2PxaenGBljtGDhBM15ee+Ub6++NrYgdYWjHQV5Mw5tbub1evXzn/9c77zzjh588EH95S9/0WWXXda5vnjxYh155JEaPny45s6dq9dee03HH3+84vHNnfE33nijHnroIc2YMUNvL12qM753sa48/xytWzBPI3oFtUsoIEm6/4Zr9Yvbb9Mb8+erd8Cvn1x8YWfn3Kuvvqqzzz5bl1xyid5991396le/0gMPPKDrr79ekjpfjrWlQ2jbl2ftt99+GjBggL7xjW/o9ddfz/lzsn79enk8nqw6ba+44gpdcsklWrZsmcaPH69f//rXmjp1qq6//notW7ZMN9xwg6666io9+OCDkqQ33nhDkvTSSy9p1apVevLJJ1Oe+8EHH1RNTY3mzZunn/70p/rJT36iF198sXM93dfwwAMP1Pvvvy9J+t3vfqdVq1bpwAMP1KZNmzR69Gj98Y9/1NKlS3X++efrrLPO6qxLkiZPnqybbrpJV111ld599109+uij6tevn6TNXczjx49Xr1699Oqrr+r1119XbW2tjj76aEWj0Yyfr7vvvlsXXXSRzj//fC1ZskTPPPOMhg4dKklKJBI68cQT9fnnn+vll1/Wiy++qI8++kinnHJK5/3POOMMDRo0SPPnz9eCBQt0xRVXyLKslNf78MMP9dRTT+nZZ5/Vs88+q5dfflk33XRT5/rW38fvvPOOfvSjH+nMM8/Uyy+/nPFjSSQSGjRokB5//HG9++67mjp1qv7v//5Pjz32WMb7brFljMicOXP0u9/9Tvfcc4/+9a9/dTvummuu0YQJE/T222/r2GOP1RlnnKHPP/9ckvTFF1/o61//ukaOHKk333xTzz//vNasWaMJEyZ03v/SSy/Vyy+/rKefflp//vOfNWfOHC1cmH6zy9dee02hUEh77rlnl9tz/dmR7vtL2vzy6W27R7YWiUTk9/u7dB0Hg8HOmiVp2LBh6tOnj+6//35Fo1G1t7fr/vvv15577qkhQ4akPHc4HNbpp5+uu+66S/3790/7+Umlra1Nxx57rGbPnq1Fixbp6KOP1vHHH69PP/00q3Mcdthh+uyzz/TMM8/orbfe0mWXXdb5MsYto2HmzJmT8hxz587VuHHjutw2fvx4zZ07N+V9IpGIqquru9wWDAb1z3/+UytWrEh7zBtvvJGye/r+++/Xqaee2uXlm5I0ZswYvfrqqynrKQRjjGKbNhXkze7v93//+9/685//rIsuuqjb53SLbTvU0/0M+eyzz3Tsscfqq1/9qt566y3dfffduv/++3XddddJklatWqXTTjtN3/3ud7Vs2TLNmTNH3/zmN2WMUVNTkyZMmNDl1UQHHnhg2vrd/D1000036Xe/+53efPPNpLVk+vl5xx136IADDtB5553X+fE1NDSk/fgyfT63ePDBB1VVVaU33nhDd9xxh2677Tbdd999nesXX3yx5s6dq1mzZuntt9/WySefrKOPPrpLx3I4HNatt96qhx9+WK+88oo+/fRTNTU1da6n+517xhln6A9/+EOXl2e/8MILCofD+n//7/+l/Ril9F+jjRs3avz48dp+++01f/58Pf7443rppZd08cUXS5I6Ojp00kkn6bDDDtPbb7+tuXPn6vzzz0/7yoq//vWv+vDDD/XXv/61sztx6zE1dj5fucpUQywW07XXXqu33npLTz31lD755JO0v8+29etf/1rXX3+9br75Zi1YsEA777yz7r777qzryPS5mDdvns455xxdfPHFWrx4sY444ohu35/JvPbaa9p///273LZhwwZNnDhRr732mv7+979r991317HHHqsNGzZI2vxY6ZhjjtHrr7+uRx55RO+++65uuukm+Xw+SZkfMzzwwANpvy86OjoUj8eT/l7a8phgW9FoVPfcc4/q6uq07777Zvy4pc0dsrNmzdLGjRt1wAEH2LqP5MxjRWnz48Xf/OY3+vnPf65ly5bpV7/6lWprazvXhwwZoquvvjrl/efOnau99967y+Ot8ePHq7W1NWXHsp3HWy+++KISiYQ+++wz7bnnnho0aJAmTJiglpaWlLXcd999+spXvqJDDjkk6boxRrNnz9b777+vQw89tMtaMT5uAIpGXuPkIrQlSX//jQUmHulI+bb1X9O3RYdvYXV0bOzs3s30Nv/Nk9N+LXsq2V/2NkZiZvDlzxbkbWMklqbariZOnGh8Pp+pqanpfNu2e2uLxx9/3PTp06fz/dNOOy1lx9amTZtMKBQyf/vb34wxxnQkEmbx+o3m/5010Zx62mnGmC+7GLb+i+8f//hHI6nzc3nkkUeaG264ocu5H374YTNgwIDO95WkQ+i9994zM2bMMG+++aZ5/fXXTWNjo6mqqurWUZDuHNtqb283o0aNMqeffnra47bY0uG77V/pd9ttt26dStdee6054IADutxv0aJFXY5J1gl68MEHdznmq1/9qrn88stT1rTt1/A///lPl26rVI477jjz4x//2BhjTGtrqwkEAubee+9NeuzDDz9shg0b1uX/WiQSMcFg0Lzwwgtpr2OMMQMHDkzZcfHnP//Z+Hy+Ll2Z77zzjpFk3njjDWOMMb169TIPPPBA0vsn6/ANhUJdOnovvfRSM3bsWGNM9+/jLc455xxz2n+/j7N10UUXmW9961ud76fr8F22bJmR1NmhbIwx//jHP4ykbh2+W3c4tLW1GUnmT3/6kzFm8/fXUUcd1aWOlpaWzb//3n/fbNiwwfj9fvPYY491rv/73/82wWAwbYfv7bffbnbdddeMH3M2PzsyfX8ZY8xZZ51lrrjiipTrS5cuNVVVVeanP/2piUQi5vPPPzff+ta3jKQuP0+WLFlidtttN+P1eo3X6zXDhg3r7B5L5fzzzzfnnHNO5/t2fnbYsddee5lf/OIXac+7dYfvr371K9OrVy/z73//O+n5/vnPf5phw4aZefPmpbzm7rvv3u3n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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# to show all models in same graph\n", "plt.figure(figsize=(17, 8))\n", "\n", "for model_name in models:\n", " # to show graphs model by model\n", " # plt.figure(figsize=(17, 8))\n", " accs = []\n", " aucs = []\n", " fprs = []\n", " tprs = []\n", " labels = []\n", " for distance_metric in distance_metrics:\n", " # for detector_backend in robust_face_detectors:\n", " for detector_backend in detectors:\n", " for align in alignment:\n", " if detector_backend == \"skip\" and align is True:\n", " continue\n", " acc, auc, fpr, tpr, label = plot_roc(model_name, detector_backend, distance_metric, align)\n", " accs.append(acc)\n", " aucs.append(auc)\n", " fprs.append(fpr)\n", " tprs.append(tpr)\n", " labels.append(label)\n", " # ---------------------------------\n", " #sort by auc\n", " df = pd.DataFrame({\"acc\": accs, \"auc\": aucs, \"fpr\": fprs, \"tpr\": tprs, \"label\": labels})\n", " # df = df.sort_values(by = [\"auc\"], ascending = False).reset_index()\n", " df = df.sort_values(by = [\"acc\"], ascending = False).reset_index()\n", " \n", " for index, instance in df.iterrows():\n", " fpr = instance[\"fpr\"]\n", " tpr = instance[\"tpr\"]\n", " auc = instance[\"auc\"]\n", " acc = instance[\"acc\"]\n", " label = instance[\"label\"]\n", " \n", " plt.plot(fpr, tpr, label=label)\n", " plt.ylabel(\"True Positive Rate\")\n", " plt.xlabel(\"False Positive Rate\")\n", " plt.legend(loc=\"lower center\", ncol=2)\n", " # normally this should be [0, 1] but that scale makes graphs not legible\n", " # plt.xlim([0, 1])\n", " plt.xlim([0, 0.3])\n", "\n", " # to show the best auc value\n", " break\n", " \n", " # to show graphs model by model\n", " # plt.show()\n", " # print(\"----------------\")\n", "\n", "# to show all models in same graph\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "661c5236", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 5 } ================================================ FILE: benchmarks/Perform-Experiments.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "id": "8133a99d", "metadata": {}, "source": [ "# Perform Experiments with DeepFace on LFW dataset" ] }, { "cell_type": "code", "execution_count": 11, "id": "5aab0cbe", "metadata": {}, "outputs": [], "source": [ "# built-in dependencies\n", "import os\n", "\n", "# 3rd party dependencies\n", "import numpy as np\n", "import pandas as pd\n", "from tqdm import tqdm\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import accuracy_score\n", "from sklearn.datasets import fetch_lfw_pairs\n", "from deepface import DeepFace" ] }, { "cell_type": "code", "execution_count": 2, "id": "64c9ed9a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This experiment is done with pip package of deepface with 0.0.90 version\n" ] } ], "source": [ "print(f\"This experiment is done with pip package of deepface with {DeepFace.__version__} version\")" ] }, { "cell_type": "markdown", "id": "feaec973", "metadata": {}, "source": [ "### Configuration Sets" ] }, { "cell_type": "code", "execution_count": 3, "id": "453104b4", "metadata": {}, "outputs": [], "source": [ "# all configuration alternatives for 4 dimensions of arguments\n", "alignment = [True, False]\n", "models = [\"Facenet512\", \"Facenet\", \"VGG-Face\", \"ArcFace\", \"Dlib\", \"GhostFaceNet\", \"SFace\", \"OpenFace\", \"DeepFace\", \"DeepID\"]\n", "detectors = [\"retinaface\", \"mtcnn\", \"fastmtcnn\", \"dlib\", \"yolov8\", \"yunet\", \"centerface\", \"mediapipe\", \"ssd\", \"opencv\", \"skip\"]\n", "metrics = [\"euclidean\", \"euclidean_l2\", \"cosine\"]\n", "expand_percentage = 0" ] }, { "cell_type": "markdown", "id": "c9aeb57a", "metadata": {}, "source": [ "### Create Required Folders if necessary" ] }, { "cell_type": "code", "execution_count": 4, "id": "671d8a00", "metadata": {}, "outputs": [], "source": [ "target_paths = [\"lfwe\", \"dataset\", \"outputs\", \"outputs/test\", \"results\"]\n", "for target_path in target_paths:\n", " if not os.path.exists(target_path):\n", " os.mkdir(target_path)\n", " print(f\"{target_path} is just created\")" ] }, { "cell_type": "markdown", "id": "fc31f03a", "metadata": {}, "source": [ "### Load LFW Dataset" ] }, { "cell_type": "code", "execution_count": 5, "id": "721a7d70", "metadata": {}, "outputs": [], "source": [ "pairs_touch = \"outputs/test_lfwe.txt\"\n", "instances = 1000 #pairs.shape[0]" ] }, { "cell_type": "code", "execution_count": 6, "id": "010184d8", "metadata": {}, "outputs": [], "source": [ "target_path = \"dataset/test_lfw.npy\"\n", "labels_path = \"dataset/test_labels.npy\"\n", "\n", "if os.path.exists(target_path) != True:\n", " fetch_lfw_pairs = fetch_lfw_pairs(subset = 'test', color = True\n", " , resize = 2\n", " , funneled = False\n", " , slice_=None\n", " )\n", " pairs = fetch_lfw_pairs.pairs\n", " labels = fetch_lfw_pairs.target\n", " target_names = fetch_lfw_pairs.target_names\n", " np.save(target_path, pairs)\n", " np.save(labels_path, labels)\n", "else:\n", " if not os.path.exists(pairs_touch):\n", " # loading pairs takes some time. but if we extract these pairs as image, no need to load it anymore\n", " pairs = np.load(target_path)\n", " labels = np.load(labels_path) " ] }, { "cell_type": "markdown", "id": "005f582e", "metadata": {}, "source": [ "### Save LFW image pairs into file system" ] }, { "cell_type": "code", "execution_count": 7, "id": "5bc23313", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1000/1000 [00:00<00:00, 190546.25it/s]\n" ] } ], "source": [ "for i in tqdm(range(0, instances)):\n", " img1_target = f\"lfwe/test/{i}_1.jpg\"\n", " img2_target = f\"lfwe/test/{i}_2.jpg\"\n", " \n", " if not os.path.exists(img1_target):\n", " img1 = pairs[i][0]\n", " # plt.imsave(img1_target, img1/255) #works for my mac\n", " plt.imsave(img1_target, img1) #works for my debian\n", " \n", " if not os.path.exists(img2_target):\n", " img2 = pairs[i][1]\n", " # plt.imsave(img2_target, img2/255) #works for my mac\n", " plt.imsave(img2_target, img2) #works for my debian\n", " \n", "if not os.path.exists(pairs_touch):\n", " open(pairs_touch,'a').close()" ] }, { "cell_type": "markdown", "id": "6f8fa8fa", "metadata": {}, "source": [ "### Perform Experiments\n", "\n", "This block will save the experiments results in outputs folder" ] }, { "cell_type": "code", "execution_count": 8, "id": "e7fba936", "metadata": {}, "outputs": [], "source": [ "for model_name in models:\n", " for detector_backend in detectors:\n", " for distance_metric in metrics:\n", " for align in alignment:\n", " \n", " if detector_backend == \"skip\" and align is True:\n", " # Alignment is not possible for a skipped detector configuration\n", " continue\n", " \n", " alignment_text = \"aligned\" if align is True else \"unaligned\"\n", " task = f\"{model_name}_{detector_backend}_{distance_metric}_{alignment_text}\"\n", " output_file = f\"outputs/test/{task}.csv\"\n", " if os.path.exists(output_file):\n", " #print(f\"{output_file} is available already\")\n", " continue\n", " \n", " distances = []\n", " for i in tqdm(range(0, instances), desc = task):\n", " img1_target = f\"lfwe/test/{i}_1.jpg\"\n", " img2_target = f\"lfwe/test/{i}_2.jpg\"\n", " result = DeepFace.verify(\n", " img1_path=img1_target,\n", " img2_path=img2_target,\n", " model_name=model_name,\n", " detector_backend=detector_backend,\n", " distance_metric=distance_metric,\n", " align=align,\n", " enforce_detection=False,\n", " expand_percentage=expand_percentage,\n", " )\n", " distance = result[\"distance\"]\n", " distances.append(distance)\n", " # -----------------------------------\n", " df = pd.DataFrame(list(labels), columns = [\"actuals\"])\n", " df[\"distances\"] = distances\n", " df.to_csv(output_file, index=False)" ] }, { "cell_type": "markdown", "id": "a0b8dafa", "metadata": {}, "source": [ "### Calculate Results\n", "\n", "Experiments were responsible for calculating distances. We will calculate the best accuracy scores in this block." ] }, { "cell_type": "code", "execution_count": 9, "id": "67376e76", "metadata": {}, "outputs": [], "source": [ "data = [[0 for _ in range(len(models))] for _ in range(len(detectors))]\n", "base_df = pd.DataFrame(data, columns=models, index=detectors)" ] }, { "cell_type": "code", "execution_count": 10, "id": "f2cc536b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "results/pivot_euclidean_with_alignment_True.csv saved\n", "results/pivot_euclidean_l2_with_alignment_True.csv saved\n", "results/pivot_cosine_with_alignment_True.csv saved\n", "results/pivot_euclidean_with_alignment_False.csv saved\n", "results/pivot_euclidean_l2_with_alignment_False.csv saved\n", "results/pivot_cosine_with_alignment_False.csv saved\n" ] } ], "source": [ "for is_aligned in alignment:\n", " for distance_metric in metrics:\n", "\n", " current_df = base_df.copy()\n", " \n", " target_file = f\"results/pivot_{distance_metric}_with_alignment_{is_aligned}.csv\"\n", " if os.path.exists(target_file):\n", " continue\n", " \n", " for model_name in models:\n", " for detector_backend in detectors:\n", "\n", " align = \"aligned\" if is_aligned is True else \"unaligned\"\n", "\n", " if detector_backend == \"skip\" and is_aligned is True:\n", " # Alignment is not possible for a skipped detector configuration\n", " align = \"unaligned\"\n", "\n", " source_file = f\"outputs/test/{model_name}_{detector_backend}_{distance_metric}_{align}.csv\"\n", " df = pd.read_csv(source_file)\n", " \n", " positive_mean = df[(df[\"actuals\"] == True) | (df[\"actuals\"] == 1)][\"distances\"].mean()\n", " negative_mean = df[(df[\"actuals\"] == False) | (df[\"actuals\"] == 0)][\"distances\"].mean()\n", "\n", " distances = sorted(df[\"distances\"].values.tolist())\n", "\n", " items = []\n", " for i, distance in enumerate(distances):\n", " if distance >= positive_mean and distance <= negative_mean:\n", " sandbox_df = df.copy()\n", " sandbox_df[\"predictions\"] = False\n", " idx = sandbox_df[sandbox_df[\"distances\"] < distance].index\n", " sandbox_df.loc[idx, \"predictions\"] = True\n", "\n", " actuals = sandbox_df.actuals.values.tolist()\n", " predictions = sandbox_df.predictions.values.tolist()\n", " accuracy = 100*accuracy_score(actuals, predictions)\n", " items.append((distance, accuracy))\n", "\n", " pivot_df = pd.DataFrame(items, columns = [\"distance\", \"accuracy\"])\n", " pivot_df = pivot_df.sort_values(by = [\"accuracy\"], ascending = False)\n", " threshold = pivot_df.iloc[0][\"distance\"]\n", " # print(f\"threshold for {model_name}/{detector_backend} is {threshold}\")\n", " accuracy = pivot_df.iloc[0][\"accuracy\"]\n", "\n", " # print(source_file, round(accuracy, 1))\n", " current_df.at[detector_backend, model_name] = round(accuracy, 1)\n", " \n", " current_df.to_csv(target_file)\n", " print(f\"{target_file} saved\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 5 } ================================================ FILE: benchmarks/README.md ================================================ # Benchmarks [`🎥 Video Tutorial`](https://youtu.be/eKOZawGR3y0) DeepFace offers various configurations that significantly impact accuracy, including the facial recognition model, face detector model, distance metric, and alignment mode. Our experiments conducted on the [LFW dataset](https://sefiks.com/2020/08/27/labeled-faces-in-the-wild-for-face-recognition/) using different combinations of these configurations yield the following results. You can reproduce the results by executing the `Perform-Experiments.ipynb` and `Evaluate-Results.ipynb` notebooks, respectively. ## ROC Curves ROC curves provide a valuable means of evaluating the performance of different models on a broader scale. The following illusration shows ROC curves for different facial recognition models alongside their optimal configurations yielding the highest accuracy scores.

In summary, FaceNet-512d surpasses human-level accuracy, while FaceNet-128d reaches it, with Dlib, VGG-Face, and ArcFace closely trailing but slightly below, and GhostFaceNet and SFace making notable contributions despite not leading, while OpenFace, DeepFace, and DeepId exhibit lower performance. ## Accuracy Scores Please note that humans achieve a 97.5% accuracy score on the same dataset. Configurations that outperform this benchmark are highlighted in bold. ## Performance Matrix for euclidean while alignment is True | | Facenet512 |Facenet |VGG-Face |ArcFace |Dlib |GhostFaceNet |SFace |OpenFace |DeepFace |DeepID | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | retinaface |95.9 |93.5 |95.8 |85.2 |88.9 |85.9 |80.2 |69.4 |67.0 |65.6 | | mtcnn |95.2 |93.8 |95.9 |83.7 |89.4 |83.0 |77.4 |70.2 |66.5 |63.3 | | fastmtcnn |96.0 |93.4 |95.8 |83.5 |91.1 |82.8 |77.7 |69.4 |66.7 |64.0 | | dlib |96.0 |90.8 |94.5 |88.6 |96.8 |65.7 |66.3 |75.8 |63.4 |60.4 | | yolov8 |94.4 |91.9 |95.0 |84.1 |89.2 |77.6 |73.4 |68.7 |69.0 |66.5 | | yunet |97.3 |96.1 |96.0 |84.9 |92.2 |84.0 |79.4 |70.9 |65.8 |65.2 | | centerface |**97.6** |95.8 |95.7 |83.6 |90.4 |82.8 |77.4 |68.9 |65.5 |62.8 | | mediapipe |95.1 |88.6 |92.9 |73.2 |93.1 |63.2 |72.5 |78.7 |61.8 |62.2 | | ssd |88.9 |85.6 |87.0 |75.8 |83.1 |79.1 |76.9 |66.8 |63.4 |62.5 | | opencv |88.2 |84.2 |87.3 |73.0 |84.4 |83.8 |81.1 |66.4 |65.5 |59.6 | | skip |92.0 |64.1 |90.6 |56.6 |69.0 |75.1 |81.4 |57.4 |60.8 |60.7 | ## Performance Matrix for euclidean while alignment is False | | Facenet512 |Facenet |VGG-Face |ArcFace |Dlib |GhostFaceNet |SFace |OpenFace |DeepFace |DeepID | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | retinaface |96.1 |92.8 |95.7 |84.1 |88.3 |83.2 |78.6 |70.8 |67.4 |64.3 | | mtcnn |95.9 |92.5 |95.5 |81.8 |89.3 |83.2 |76.3 |70.9 |65.9 |63.2 | | fastmtcnn |96.3 |93.0 |96.0 |82.2 |90.0 |82.7 |76.8 |71.2 |66.5 |64.3 | | dlib |96.0 |89.0 |94.1 |82.6 |96.3 |65.6 |73.1 |75.9 |61.8 |61.9 | | yolov8 |94.8 |90.8 |95.2 |83.2 |88.4 |77.6 |71.6 |68.9 |68.2 |66.3 | | yunet |**97.9** |96.5 |96.3 |84.1 |91.4 |82.7 |78.2 |71.7 |65.5 |65.2 | | centerface |97.4 |95.4 |95.8 |83.2 |90.3 |82.0 |76.5 |69.9 |65.7 |62.9 | | mediapipe |94.9 |87.1 |93.1 |71.1 |91.9 |61.9 |73.2 |77.6 |61.7 |62.4 | | ssd |97.2 |94.9 |96.7 |83.9 |88.6 |84.9 |82.0 |69.9 |66.7 |64.0 | | opencv |94.1 |90.2 |95.8 |89.8 |91.2 |91.0 |86.9 |71.1 |68.4 |61.1 | | skip |92.0 |64.1 |90.6 |56.6 |69.0 |75.1 |81.4 |57.4 |60.8 |60.7 | ## Performance Matrix for euclidean_l2 while alignment is True | | Facenet512 |Facenet |VGG-Face |ArcFace |Dlib |GhostFaceNet |SFace |OpenFace |DeepFace |DeepID | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | retinaface |**98.4** |96.4 |95.8 |96.6 |89.1 |90.5 |92.4 |69.4 |67.7 |64.4 | | mtcnn |**97.6** |96.8 |95.9 |96.0 |90.0 |89.8 |90.5 |70.2 |66.4 |64.0 | | fastmtcnn |**98.1** |97.2 |95.8 |96.4 |91.0 |89.5 |90.0 |69.4 |67.4 |64.1 | | dlib |97.0 |92.6 |94.5 |95.1 |96.4 |63.3 |69.8 |75.8 |66.5 |59.5 | | yolov8 |97.3 |95.7 |95.0 |95.5 |88.8 |88.9 |91.9 |68.7 |67.5 |66.0 | | yunet |**97.9** |97.4 |96.0 |96.7 |91.6 |89.1 |91.0 |70.9 |66.5 |63.6 | | centerface |**97.7** |96.8 |95.7 |96.5 |90.9 |87.5 |89.3 |68.9 |67.8 |64.0 | | mediapipe |96.1 |90.6 |92.9 |90.3 |92.6 |64.4 |75.4 |78.7 |64.7 |63.0 | | ssd |88.7 |87.5 |87.0 |86.2 |83.3 |82.2 |84.6 |66.8 |64.1 |62.6 | | opencv |87.6 |84.8 |87.3 |84.6 |84.0 |85.0 |83.6 |66.4 |63.8 |60.9 | | skip |91.4 |67.6 |90.6 |57.2 |69.3 |78.4 |83.4 |57.4 |62.6 |61.6 | ## Performance Matrix for euclidean_l2 while alignment is False | | Facenet512 |Facenet |VGG-Face |ArcFace |Dlib |GhostFaceNet |SFace |OpenFace |DeepFace |DeepID | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | retinaface |**98.0** |95.9 |95.7 |95.7 |88.4 |89.5 |90.6 |70.8 |67.7 |64.6 | | mtcnn |**97.8** |96.2 |95.5 |95.9 |89.2 |88.0 |91.1 |70.9 |67.0 |64.0 | | fastmtcnn |**97.7** |96.6 |96.0 |95.9 |89.6 |87.8 |89.7 |71.2 |67.8 |64.2 | | dlib |96.5 |89.9 |94.1 |93.8 |95.6 |63.0 |75.0 |75.9 |62.6 |61.8 | | yolov8 |**97.7** |95.8 |95.2 |95.0 |88.1 |88.7 |89.8 |68.9 |68.9 |65.3 | | yunet |**98.3** |96.8 |96.3 |96.1 |91.7 |88.0 |90.5 |71.7 |67.6 |63.2 | | centerface |97.4 |96.3 |95.8 |95.8 |90.2 |86.8 |89.3 |69.9 |68.4 |63.1 | | mediapipe |96.3 |90.0 |93.1 |89.3 |91.8 |65.6 |74.6 |77.6 |64.9 |61.6 | | ssd |**97.9** |97.0 |96.7 |96.6 |89.4 |91.5 |93.0 |69.9 |68.7 |64.9 | | opencv |96.2 |92.9 |95.8 |93.2 |91.5 |93.3 |91.7 |71.1 |68.3 |61.6 | | skip |91.4 |67.6 |90.6 |57.2 |69.3 |78.4 |83.4 |57.4 |62.6 |61.6 | ## Performance Matrix for cosine while alignment is True | | Facenet512 |Facenet |VGG-Face |ArcFace |Dlib |GhostFaceNet |SFace |OpenFace |DeepFace |DeepID | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | retinaface |**98.4** |96.4 |95.8 |96.6 |89.1 |90.5 |92.4 |69.4 |67.7 |64.4 | | mtcnn |**97.6** |96.8 |95.9 |96.0 |90.0 |89.8 |90.5 |70.2 |66.3 |63.0 | | fastmtcnn |**98.1** |97.2 |95.8 |96.4 |91.0 |89.5 |90.0 |69.4 |67.4 |63.6 | | dlib |97.0 |92.6 |94.5 |95.1 |96.4 |63.3 |69.8 |75.8 |66.5 |58.7 | | yolov8 |97.3 |95.7 |95.0 |95.5 |88.8 |88.9 |91.9 |68.7 |67.5 |65.9 | | yunet |**97.9** |97.4 |96.0 |96.7 |91.6 |89.1 |91.0 |70.9 |66.5 |63.5 | | centerface |**97.7** |96.8 |95.7 |96.5 |90.9 |87.5 |89.3 |68.9 |67.8 |63.6 | | mediapipe |96.1 |90.6 |92.9 |90.3 |92.6 |64.3 |75.4 |78.7 |64.8 |63.0 | | ssd |88.7 |87.5 |87.0 |86.2 |83.3 |82.2 |84.5 |66.8 |63.8 |62.6 | | opencv |87.6 |84.9 |87.2 |84.6 |84.0 |85.0 |83.6 |66.2 |63.7 |60.1 | | skip |91.4 |67.6 |90.6 |54.8 |69.3 |78.4 |83.4 |57.4 |62.6 |61.1 | ## Performance Matrix for cosine while alignment is False | | Facenet512 |Facenet |VGG-Face |ArcFace |Dlib |GhostFaceNet |SFace |OpenFace |DeepFace |DeepID | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | retinaface |**98.0** |95.9 |95.7 |95.7 |88.4 |89.5 |90.6 |70.8 |67.7 |63.7 | | mtcnn |**97.8** |96.2 |95.5 |95.9 |89.2 |88.0 |91.1 |70.9 |67.0 |64.0 | | fastmtcnn |**97.7** |96.6 |96.0 |95.9 |89.6 |87.8 |89.7 |71.2 |67.8 |62.7 | | dlib |96.5 |89.9 |94.1 |93.8 |95.6 |63.0 |75.0 |75.9 |62.6 |61.7 | | yolov8 |**97.7** |95.8 |95.2 |95.0 |88.1 |88.7 |89.8 |68.9 |68.9 |65.3 | | yunet |**98.3** |96.8 |96.3 |96.1 |91.7 |88.0 |90.5 |71.7 |67.6 |63.2 | | centerface |97.4 |96.3 |95.8 |95.8 |90.2 |86.8 |89.3 |69.9 |68.4 |62.6 | | mediapipe |96.3 |90.0 |93.1 |89.3 |91.8 |64.8 |74.6 |77.6 |64.9 |61.6 | | ssd |**97.9** |97.0 |96.7 |96.6 |89.4 |91.5 |93.0 |69.9 |68.7 |63.8 | | opencv |96.2 |92.9 |95.8 |93.2 |91.5 |93.3 |91.7 |71.1 |68.1 |61.1 | | skip |91.4 |67.6 |90.6 |54.8 |69.3 |78.4 |83.4 |57.4 |62.6 |61.1 | # Citation Please cite deepface in your publications if it helps your research - see [`CITATIONS`](https://github.com/serengil/deepface/blob/master/CITATION.md) for more details. Here is its BibTex entry: ```BibTeX @article{serengil2024lightface, title = {A Benchmark of Facial Recognition Pipelines and Co-Usability Performances of Modules}, author = {Serengil, Sefik Ilkin and Ozpinar, Alper}, journal = {Bilisim Teknolojileri Dergisi}, volume = {17}, number = {2}, pages = {95-107}, year = {2024}, doi = {10.17671/gazibtd.1399077}, url = {https://dergipark.org.tr/en/pub/gazibtd/issue/84331/1399077}, publisher = {Gazi University} } ``` ================================================ FILE: boosted/Perform-Boosting-Experiments-LightGBM.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "id": "8133a99d", "metadata": {}, "source": [ "# Perform Experiments with DeepFace on LFW dataset" ] }, { "cell_type": "code", "execution_count": 1, "id": "5aab0cbe", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2024-07-30 15:44:40.593132: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", "2024-07-30 15:44:40.670688: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory\n", "2024-07-30 15:44:40.670710: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.\n", "/home/sefik/.local/lib/python3.9/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!\n", " warnings.warn(\"urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported \"\n" ] } ], "source": [ "# built-in dependencies\n", "import os\n", "\n", "# 3rd party dependencies\n", "import numpy as np\n", "import pandas as pd\n", "from tqdm import tqdm\n", "import matplotlib.pyplot as plt\n", "import sklearn\n", "from sklearn.datasets import fetch_lfw_pairs\n", "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, precision_score, recall_score, f1_score, accuracy_score\n", "from deepface import DeepFace\n", "from deepface.modules import preprocessing\n", "import lightgbm as lgb\n", "from tqdm import tqdm\n", "import cv2\n", "import matplotlib.pyplot as plt\n", "import shap" ] }, { "cell_type": "code", "execution_count": 2, "id": "cda3ac24", "metadata": {}, "outputs": [], "source": [ "seed = 17\n", "detector_backend = \"retinaface\"\n", "k = 10\n", "multiclass = False # multiclass with 2 classes or binary. both are same.\n", "enforce_training = False" ] }, { "cell_type": "code", "execution_count": 3, "id": "64c9ed9a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This experiment is done with pip package of deepface with 0.0.90 version\n" ] } ], "source": [ "print(f\"This experiment is done with pip package of deepface with {DeepFace.__version__} version\")" ] }, { "cell_type": "markdown", "id": "feaec973", "metadata": {}, "source": [ "### Configuration Sets" ] }, { "cell_type": "code", "execution_count": 4, "id": "453104b4", "metadata": {}, "outputs": [], "source": [ "# all configuration alternatives for 4 dimensions of arguments\n", "alignment = [True]\n", "models = [\"Facenet\", \"Facenet512\", \"VGG-Face\", \"ArcFace\", \"Dlib\"] # 99.1\n", "detectors = [\"retinaface\"]\n", "metrics = [\"euclidean_l2\"]\n", "expand_percentage = 0 # TODO: find increase impact" ] }, { "cell_type": "markdown", "id": "c9aeb57a", "metadata": {}, "source": [ "### Create Required Folders if necessary" ] }, { "cell_type": "code", "execution_count": 5, "id": "671d8a00", "metadata": {}, "outputs": [], "source": [ "target_paths = [\n", " \"lfwe\",\n", " \"lfwe/test\",\n", " \"lfwe/train\",\n", " \"lfwe/10_folds\",\n", " \"dataset\",\n", " \"outputs\",\n", " \"outputs/test\",\n", " \"outputs/train\",\n", " \"outputs/10_folds\",\n", " \"results\",\n", " \"models\",\n", "]\n", "for target_path in target_paths:\n", " if os.path.exists(target_path) is not True:\n", " os.mkdir(target_path)\n", " print(f\"{target_path} is just created\")" ] }, { "cell_type": "markdown", "id": "fc31f03a", "metadata": {}, "source": [ "### Load LFW Datasets" ] }, { "cell_type": "code", "execution_count": 6, "id": "6675c8a1", "metadata": {}, "outputs": [], "source": [ "def retrieve_lfe(task: str):\n", " if task == \"test\":\n", " instances = 1000\n", " elif task == \"train\":\n", " instances = 2200\n", " elif task == \"10_folds\":\n", " instances = 6000\n", " else:\n", " raise ValueError(f\"unimplemented task - {task}\")\n", "\n", " pairs_touch = f\"outputs/{task}_lfwe.txt\"\n", "\n", " target_path = f\"dataset/{task}_lfw.npy\"\n", " labels_path = f\"dataset/{task}_labels.npy\"\n", "\n", " if os.path.exists(target_path) != True:\n", " fetched_lfw_pairs = fetch_lfw_pairs(\n", " subset = task,\n", " color = True,\n", " # memory allocation problem occurs for validation set\n", " resize = 2 if task != \"10_folds\" else 1,\n", " funneled = False,\n", " slice_=None,\n", " )\n", " print(\"fetched\")\n", " pairs = fetched_lfw_pairs.pairs\n", " labels = fetched_lfw_pairs.target\n", " # target_names = fetched_lfw_pairs.target_names\n", " np.save(target_path, pairs)\n", " np.save(labels_path, labels)\n", " else:\n", " if os.path.exists(pairs_touch) != True:\n", " # loading pairs takes some time. but if we extract these pairs as image, no need to load it anymore\n", " pairs = np.load(target_path)\n", " labels = np.load(labels_path)\n", " \n", " # store to file system\n", " for i in tqdm(range(0, instances)):\n", " img1_target = f\"lfwe/{task}/{i}_1.jpg\"\n", " img2_target = f\"lfwe/{task}/{i}_2.jpg\"\n", " \n", " if os.path.exists(img1_target) != True:\n", " img1 = pairs[i][0]\n", " # plt.imsave(img1_target, img1/255) #works for my mac\n", " plt.imsave(img1_target, img1) #works for my debian\n", " \n", " if os.path.exists(img2_target) != True:\n", " img2 = pairs[i][1]\n", " # plt.imsave(img2_target, img2/255) #works for my mac\n", " plt.imsave(img2_target, img2) #works for my debian\n", " \n", " if os.path.exists(pairs_touch) != True:\n", " open(pairs_touch,'a').close()\n", " " ] }, { "cell_type": "code", "execution_count": 7, "id": "5bc23313", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1000/1000 [00:00<00:00, 124626.47it/s]\n", "100%|██████████| 2200/2200 [00:00<00:00, 174353.20it/s]\n", "100%|██████████| 6000/6000 [00:00<00:00, 138320.88it/s]\n" ] } ], "source": [ "retrieve_lfe(task = \"test\")\n", "retrieve_lfe(task = \"train\")\n", "retrieve_lfe(task = \"10_folds\")" ] }, { "cell_type": "markdown", "id": "9bf2e9dc", "metadata": {}, "source": [ "# Perform Experiments" ] }, { "cell_type": "code", "execution_count": 8, "id": "4ec5e037", "metadata": {}, "outputs": [], "source": [ "def perform_experiments(): \n", " for model_name in models:\n", " for detector_backend in detectors:\n", " for distance_metric in metrics:\n", " for align in alignment:\n", " \n", " if detector_backend == \"skip\" and align is True:\n", " # Alignment is not possible for a skipped detector configuration\n", " continue\n", " \n", " calculate_distances(\n", " model_name=model_name,\n", " detector_backend=detector_backend,\n", " distance_metric=distance_metric,\n", " align=align,\n", " )\n", " \n", "def calculate_distances(\n", " model_name: str,\n", " detector_backend: str,\n", " distance_metric: str = \"euclidean_l2\",\n", " align: bool = True\n", "):\n", " for experiment in [\"test\", \"train\", \"10_folds\"]:\n", " if experiment == \"test\":\n", " instances = 1000\n", " elif experiment == \"train\":\n", " instances = 2200\n", " elif experiment == \"10_folds\":\n", " instances = 6000\n", " else:\n", " raise ValueError(f\"unimplemented experiment - {experiment}\")\n", "\n", " labels = np.load(f\"dataset/{experiment}_labels.npy\")\n", "\n", " alignment_text = \"aligned\" if align is True else \"unaligned\"\n", " task = f\"{experiment}/{model_name}_{detector_backend}_{distance_metric}_{alignment_text}\"\n", " output_file = f\"outputs/{task}.csv\"\n", " print(output_file)\n", "\n", " # check file is already available\n", " if os.path.exists(output_file) is True:\n", " continue\n", " \n", " distances = []\n", " for i in tqdm(range(0, instances), desc = task):\n", " img1_target = f\"lfwe/{experiment}/{i}_1.jpg\"\n", " img2_target = f\"lfwe/{experiment}/{i}_2.jpg\"\n", " result = DeepFace.verify(\n", " img1_path=img1_target,\n", " img2_path=img2_target,\n", " model_name=model_name,\n", " detector_backend=detector_backend,\n", " distance_metric=distance_metric,\n", " align=align,\n", " enforce_detection=False,\n", " expand_percentage=expand_percentage,\n", " )\n", " distance = result[\"distance\"]\n", " distances.append(distance)\n", " # -----------------------------------\n", " df = pd.DataFrame(list(labels), columns = [\"actuals\"])\n", " df[\"distances\"] = distances\n", " df.to_csv(output_file, index=False)" ] }, { "cell_type": "code", "execution_count": 9, "id": "89caa2fa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "outputs/test/Facenet_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/Facenet_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Facenet_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/VGG-Face_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/VGG-Face_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/VGG-Face_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/ArcFace_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/ArcFace_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/ArcFace_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/Dlib_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/Dlib_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Dlib_retinaface_euclidean_l2_aligned.csv\n" ] } ], "source": [ "perform_experiments()" ] }, { "cell_type": "markdown", "id": "63fd2aa4", "metadata": {}, "source": [ "# Data Frame" ] }, { "cell_type": "code", "execution_count": 10, "id": "c06abec0", "metadata": {}, "outputs": [], "source": [ "# pre-tuned thresholds for RetinaFace detector\n", "thresholds = {\n", " \"Facenet\": 1.0771751259493634,\n", " \"Facenet512\": 1.080821730376328,\n", " \"VGG-Face\": 1.1952250102966764,\n", " \"ArcFace\": 1.1601818883318848,\n", " \"Dlib\": 0.4022031592966787,\n", " \"GhostFaceNet\": 1.2554638430323275,\n", " \"SFace\": 1.226662066811263,\n", "}" ] }, { "cell_type": "code", "execution_count": 11, "id": "9e1851d5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "outputs/train/Facenet_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/VGG-Face_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/ArcFace_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/Dlib_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/Facenet_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/VGG-Face_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/ArcFace_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/Dlib_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Facenet_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/VGG-Face_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/ArcFace_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Dlib_retinaface_euclidean_l2_aligned.csv\n" ] } ], "source": [ "tasks = [\"train\", \"test\", \"10_folds\"]\n", "\n", "dfs = {}\n", "for task in tasks:\n", " dfs[task] = None\n", " for model in models:\n", " df_path = f\"outputs/{task}/{model}_{detector_backend}_euclidean_l2_aligned.csv\"\n", " print(df_path)\n", " current_df = pd.read_csv(df_path).rename(columns = {\"distances\": model})\n", "\n", " if dfs[task] is None:\n", " dfs[task] = current_df.copy()\n", " else:\n", " current_df = current_df.drop(columns = [\"actuals\"])\n", " dfs[task] = pd.concat([dfs[task], current_df], axis=1)" ] }, { "cell_type": "code", "execution_count": 12, "id": "b1dde8c2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
actualsFacenetFacenet512VGG-FaceArcFaceDlib
010.6653610.5296630.7255900.7543280.241096
110.7614710.8510450.9260090.8728470.361268
210.9296441.0101490.9579051.0057250.320210
310.2985450.4891410.7895480.6490160.259671
410.6130640.6797030.9912150.9505950.356630
\n", "
" ], "text/plain": [ " actuals Facenet Facenet512 VGG-Face ArcFace Dlib\n", "0 1 0.665361 0.529663 0.725590 0.754328 0.241096\n", "1 1 0.761471 0.851045 0.926009 0.872847 0.361268\n", "2 1 0.929644 1.010149 0.957905 1.005725 0.320210\n", "3 1 0.298545 0.489141 0.789548 0.649016 0.259671\n", "4 1 0.613064 0.679703 0.991215 0.950595 0.356630" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfs[\"train\"].head()" ] }, { "cell_type": "code", "execution_count": 13, "id": "a2f6e1bd", "metadata": {}, "outputs": [], "source": [ "def add_classification_results(df: pd.DataFrame) -> pd.DataFrame:\n", " for model_name in models:\n", " idx = df[df[model_name] < thresholds[model_name]].index\n", " # df[f\"{model_name}_clf\"] = -1 # got 99.1 with this but multiplication is not meaningful!\n", " df[f\"{model_name}_clf\"] = 0 # this also gives 99.1 score\n", " df.loc[idx, f\"{model_name}_clf\"] = 1\n", " return df\n", "\n", "dfs[\"train\"] = add_classification_results(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_classification_results(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_classification_results(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 14, "id": "128a04b1", "metadata": {}, "outputs": [], "source": [ "def add_classification_sum(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"clf_sum\"] = 0\n", " for model_name in models:\n", " df[\"clf_sum\"] += df[f\"{model_name}_clf\"]\n", " return df\n", "\n", "dfs[\"train\"] = add_classification_sum(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_classification_sum(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_classification_sum(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 15, "id": "c4c0fe39", "metadata": {}, "outputs": [], "source": [ "def add_classification_multiplications(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"clf_multiplication\"] = 1\n", " for model_name in models:\n", " df[\"clf_multiplication\"] *= np.power(2, df[f\"{model_name}_clf\"])\n", " return df\n", "\n", "dfs[\"train\"] = add_classification_multiplications(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_classification_multiplications(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_classification_multiplications(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 16, "id": "3bcdef6e", "metadata": {}, "outputs": [], "source": [ "def add_distance_additions(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"distance_sums\"] = 0\n", " for model_name in models:\n", " df[\"distance_sums\"] += df[f\"{model_name}\"]\n", " return df\n", "\n", "dfs[\"train\"] = add_distance_additions(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_distance_additions(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_distance_additions(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 17, "id": "8c834ded", "metadata": {}, "outputs": [], "source": [ "def add_distance_multiplications(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"distance_multiplications\"] = 1\n", " for model_name in models:\n", " df[\"distance_multiplications\"] *= df[f\"{model_name}\"]\n", " return df\n", "\n", "dfs[\"train\"] = add_distance_multiplications(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_distance_multiplications(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_distance_multiplications(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 18, "id": "4aaa93fb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "14" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfs[\"train\"].shape[1] - 1" ] }, { "cell_type": "code", "execution_count": 19, "id": "f2bc2338", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
actualsFacenetFacenet512VGG-FaceArcFaceDlibFacenet_clfFacenet512_clfVGG-Face_clfArcFace_clfDlib_clfclf_sumclf_multiplicationdistance_sumsdistance_multiplications
164001.3861921.2043351.3499611.3581040.52182900000015.8204201.597177
146001.3827671.4056901.3720891.4105040.51363000000016.0846801.932172
46910.5334560.4646340.8142410.7550150.298058111115322.8654040.045417
160001.4915451.4941151.3769891.3445200.52363500000016.2308032.160462
216901.5142111.3600361.3155161.4268610.57766300000016.1942872.233002
\n", "
" ], "text/plain": [ " actuals Facenet Facenet512 VGG-Face ArcFace Dlib \\\n", "1640 0 1.386192 1.204335 1.349961 1.358104 0.521829 \n", "1460 0 1.382767 1.405690 1.372089 1.410504 0.513630 \n", "469 1 0.533456 0.464634 0.814241 0.755015 0.298058 \n", "1600 0 1.491545 1.494115 1.376989 1.344520 0.523635 \n", "2169 0 1.514211 1.360036 1.315516 1.426861 0.577663 \n", "\n", " Facenet_clf Facenet512_clf VGG-Face_clf ArcFace_clf Dlib_clf \\\n", "1640 0 0 0 0 0 \n", "1460 0 0 0 0 0 \n", "469 1 1 1 1 1 \n", "1600 0 0 0 0 0 \n", "2169 0 0 0 0 0 \n", "\n", " clf_sum clf_multiplication distance_sums distance_multiplications \n", "1640 0 1 5.820420 1.597177 \n", "1460 0 1 6.084680 1.932172 \n", "469 5 32 2.865404 0.045417 \n", "1600 0 1 6.230803 2.160462 \n", "2169 0 1 6.194287 2.233002 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfs[\"train\"].sample(5)" ] }, { "cell_type": "code", "execution_count": 20, "id": "4db861d6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2200, 15)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfs[\"train\"].shape" ] }, { "cell_type": "code", "execution_count": 21, "id": "2443014b", "metadata": {}, "outputs": [], "source": [ "categorical_features = [column for column in dfs[\"train\"].columns if column.endswith(\"_clf\")]" ] }, { "cell_type": "markdown", "id": "9fe43167", "metadata": {}, "source": [ "# LightGBM" ] }, { "cell_type": "code", "execution_count": 22, "id": "c1d5c915", "metadata": {}, "outputs": [], "source": [ "feature_names = list(dfs[\"train\"].drop(columns=[\"actuals\"]).columns)\n", "\n", "y_train = dfs[\"train\"][\"actuals\"].values\n", "x_train = dfs[\"train\"].drop(columns=[\"actuals\"]).values\n", "\n", "y_test = dfs[\"test\"][\"actuals\"].values\n", "x_test = dfs[\"test\"].drop(columns=[\"actuals\"]).values\n", "\n", "y_val = dfs[\"10_folds\"][\"actuals\"].values\n", "x_val = dfs[\"10_folds\"].drop(columns=[\"actuals\"]).values\n", "\n", "lgb_train = lgb.Dataset(\n", " x_train, y_train, \n", " feature_name = feature_names,\n", " categorical_feature = categorical_features, free_raw_data=False\n", ")\n", "\n", "lgb_test = lgb.Dataset(\n", " x_test, y_test,\n", " feature_name = feature_names,\n", " categorical_feature = categorical_features, free_raw_data=False\n", ")" ] }, { "cell_type": "code", "execution_count": 23, "id": "70dfb6c6", "metadata": {}, "outputs": [], "source": [ "if multiclass is True:\n", " params = {\n", " 'boosting_type': 'gbdt',\n", " 'objective': 'multiclass',\n", " 'num_class': 2, #same person, different persons\n", " 'metric': 'multi_logloss',\n", " 'num_leaves': pow(2, 5) - 1,\n", " 'learning_rate': 0.01,\n", " 'verbose': -1,\n", " 'max_depth': 5,\n", " }\n", "else: # binary\n", " params = {\n", " 'boosting_type': 'gbdt',\n", " 'objective': 'binary',\n", " 'metric': 'binary_logloss',\n", " 'num_leaves': pow(2, 5) - 1,\n", " 'learning_rate': 0.01,\n", " 'verbose': -1,\n", " 'max_depth': 5,\n", " }" ] }, { "cell_type": "code", "execution_count": 24, "id": "9d4e019d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using pre-trained model for 1-th fold.\n", "Using pre-trained model for 2-th fold.\n", "Using pre-trained model for 3-th fold.\n", "Using pre-trained model for 4-th fold.\n", "Using pre-trained model for 5-th fold.\n", "Using pre-trained model for 6-th fold.\n", "Using pre-trained model for 7-th fold.\n", "Using pre-trained model for 8-th fold.\n", "Using pre-trained model for 9-th fold.\n", "Using pre-trained model for 10-th fold.\n" ] } ], "source": [ "gbms = []\n", "learning_curves = []\n", "best_iterations = []\n", "feature_importances = []\n", "\n", "for k in range(0, k):\n", " model_file = f\"models/boosted_lightface_{k}.txt\"\n", " if enforce_training is False and os.path.exists(model_file) is True:\n", " print(f\"Using pre-trained model for {k+1}-th fold.\")\n", " gbm = lgb.Booster(model_file=model_file)\n", " gbms.append(gbm)\n", " continue\n", " \n", " print(f\"Training {k}-th model\")\n", "\n", " valid_from = k * 600\n", " valid_until = valid_from + 600\n", "\n", " lgb_val = lgb.Dataset(\n", " x_val[valid_from:valid_until],\n", " y_val[valid_from:valid_until],\n", " feature_name = feature_names,\n", " categorical_feature = categorical_features, free_raw_data=False\n", " )\n", "\n", " # copy the rest of validation set into training\n", " # train_indices = list(range(0, valid_from)) + list(range(valid_until, len(x_val)))\n", " # x_train_extended = np.concatenate((x_train, x_val[train_indices]), axis=0)\n", " # y_train_extended = np.concatenate((y_train, y_val[train_indices]), axis=0)\n", " # lgb_train = lgb.Dataset(\n", " # x_train_extended,\n", " # y_train_extended,\n", " # feature_name=feature_names,\n", " # categorical_feature=categorical_features,\n", " # free_raw_data=False\n", " # )\n", "\n", " evals_result = {}\n", " gbm = lgb.train(\n", " params = params,\n", " train_set = lgb_train,\n", " valid_sets = [lgb_train, lgb_val],\n", " num_boost_round=10000,\n", " callbacks=[\n", " lgb.early_stopping(stopping_rounds=500),\n", " lgb.record_evaluation(evals_result),\n", " ],\n", " )\n", "\n", " gbm.save_model(f'models/boosted_lightface_{k}.txt')\n", "\n", " gbms.append(gbm)\n", " learning_curves.append(evals_result)\n", " best_iterations.append(gbm.best_iteration)\n", " feature_importances.append(gbm.feature_importance)" ] }, { "cell_type": "code", "execution_count": 25, "id": "ba115239", "metadata": {}, "outputs": [], "source": [ "def find_accuracy(x, y, label):\n", " accuracies = []\n", " aucs = []\n", " fprs = []\n", " tprs = []\n", " for idx, gbm in enumerate(gbms):\n", " if label == \"validation\":\n", " x_org = x.copy()\n", " y_org = y.copy()\n", "\n", " valid_from = k * 600\n", " valid_until = valid_from + 600\n", "\n", " x = x[valid_from:valid_until]\n", " y = y[valid_from:valid_until]\n", "\n", " if multiclass is True:\n", " predictions = gbm.predict(x)\n", " df = pd.DataFrame(predictions, columns = [\"different_persons\", \"same_person\"])\n", " pred_probas = df[\"same_person\"].values.tolist()\n", " else:\n", " pred_probas = gbm.predict(x)\n", "\n", " fpr, tpr, _ = sklearn.metrics.roc_curve(y, pred_probas)\n", " auc = sklearn.metrics.roc_auc_score(y, pred_probas)\n", " auc = round(auc, 4)\n", "\n", " aucs.append(auc)\n", " fprs.append(fpr)\n", " tprs.append(tpr)\n", "\n", " classified_ones = 0\n", " if multiclass is True:\n", " for i, prediction_proba in enumerate(predictions):\n", " actual = y[i]\n", " \n", " prediction = np.argmax(prediction_proba)\n", " \n", " if actual == prediction:\n", " classified_ones += 1\n", " accuracy = 100 * classified_ones / len(predictions)\n", " else:\n", " for i, prediction_proba in enumerate(pred_probas):\n", " actual = y[i]\n", " prediction = 1 if prediction_proba > 0.5 else 0\n", " if actual == prediction:\n", " classified_ones += 1\n", " accuracy = 100 * classified_ones / len(pred_probas)\n", " \n", " accuracies.append(round(accuracy, 2))\n", "\n", " # restore\n", " if label == \"validation\":\n", " x = x_org.copy()\n", " y = y_org.copy()\n", "\n", " return (accuracies, aucs, fprs, tprs)" ] }, { "cell_type": "code", "execution_count": 26, "id": "b6320755", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "overperforming model on validation set is 6-th one\n", "best score: 99.1\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
foldtrainvalidationtest
0099.6498.0099.0
1199.4598.3399.1
2299.4198.1799.0
3399.4598.3399.1
4499.4598.3399.1
5599.9198.0098.7
6699.4598.5099.1
7799.4598.3399.1
8899.4598.3399.1
9999.4598.5099.1
\n", "
" ], "text/plain": [ " fold train validation test\n", "0 0 99.64 98.00 99.0\n", "1 1 99.45 98.33 99.1\n", "2 2 99.41 98.17 99.0\n", "3 3 99.45 98.33 99.1\n", "4 4 99.45 98.33 99.1\n", "5 5 99.91 98.00 98.7\n", "6 6 99.45 98.50 99.1\n", "7 7 99.45 98.33 99.1\n", "8 8 99.45 98.33 99.1\n", "9 9 99.45 98.50 99.1" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_score, _, _, _ = find_accuracy(x_train, y_train, label = \"train\")\n", "val_score, _, _, _ = find_accuracy(x_val, y_val, label = \"validation\")\n", "test_score, test_aucs, test_fprs, test_tprs = find_accuracy(x_test, y_test, label = \"test\")\n", "\n", "# winner_id = np.argmax(test_score) # cheating!\n", "winner_id = np.argmax(val_score)\n", "\n", "print(f\"overperforming model on validation set is {winner_id}-th one\")\n", "\n", "# print(f\"best score: {max(test_score)}\") # cheating!\n", "print(f\"best score: {test_score[winner_id]}\")\n", "\n", "pd.DataFrame({\"train\": train_score, \"validation\": val_score, \"test\": test_score}).reset_index().rename(columns={\"index\": \"fold\"})" ] }, { "cell_type": "markdown", "id": "599b580b", "metadata": {}, "source": [ "# Loss functions" ] }, { "cell_type": "code", "execution_count": 27, "id": "4ca6cd5f", "metadata": {}, "outputs": [], "source": [ "if learning_curves:\n", "\n", " for i in range(0, k+1):\n", "\n", " if multiclass is True:\n", " training_loss = learning_curves[i][\"training\"][\"multi_logloss\"]\n", " validation_loss = learning_curves[i][\"valid_1\"][\"multi_logloss\"]\n", " else:\n", " training_loss = learning_curves[i][\"training\"][\"binary_logloss\"]\n", " validation_loss = learning_curves[i][\"valid_1\"][\"binary_logloss\"]\n", "\n", " # fold_idx = winner_id\n", " # fold_idx = 9\n", " fold_idx = i\n", " best_iter = best_iterations[fold_idx]\n", "\n", " plt.plot(training_loss[:best_iter], label='Training loss')\n", " plt.plot(validation_loss[:best_iter], label='Validation loss')\n", " plt.xlabel('Iterations')\n", " plt.ylabel('Binary Logloss')\n", " plt.title(f'Training and Validation Loss in fold {fold_idx+1}')\n", " plt.legend()\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "28c2ac94", "metadata": {}, "source": [ "# Feature Importance" ] }, { "cell_type": "code", "execution_count": 29, "id": "acaf05a0", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAskAAAGdCAYAAADgwu6RAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTGklEQVR4nO3deXRN9/7/8dfJdDInQkiQIBJTJTG3KEL4houWqrqqRblKVU1VmtuaaVTrGqqq97ZXqqZWW7RUi5hDzQlKY6iIVkr1kggVGc7vD8v59ZwESYQj8XystdfK3vuzP/t9PmLllZ3P3ttgMplMAgAAAGBmZ+sCAAAAgAcNIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACsOti4AKIlyc3N19uxZeXh4yGAw2LocAABQACaTSZcvX1bFihVlZ3f7a8WEZKAIzp49q4CAAFuXAQAAiuDMmTOqXLnybdsQkoEi8PDwkHTjP5mnp6eNqwEAAAWRnp6ugIAA88/x2yEkA0Vwc4qFp6cnIRkAgBKmIFMluXEPAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKzwCDjgLtQd/73sjK62LgMAgFIleVpHW5fAlWQAAADAGiEZAAAAsEJIBgAAAKwQkh9QERERGj58uCSpatWqmjVrlk3rAQAAeJgQkkuAPXv26MUXXyxQWwI1AADA3ePpFiWAr6+vrUsAAAB4qHAl+QFw5coV9e7dW+7u7vL399eMGTMs9v/16rDJZNKECRMUGBgoo9GoihUraujQoZJuTNE4ffq0RowYIYPBIIPBIEn6448/1LNnT1WqVEmurq4KDQ3V0qVLLc4RERGhoUOHavTo0fLx8ZGfn58mTJhg0ebSpUsaOHCgKlSoIGdnZ9WtW1erV68279++fbtatGghFxcXBQQEaOjQobpy5UqBxmDevHkKCQmRs7OzKlSooKeffjrfz39TvXr1LOozGAz68MMP1alTJ7m6uqp27drauXOnTpw4oYiICLm5ualZs2Y6efKk+ZjExES1bt1aHh4e8vT0VMOGDbV3794C1QsAAEo3QvID4LXXXtOWLVu0atUqrVu3Tps3b9b+/fvzbfvll19q5syZ+vDDD3X8+HGtXLlSoaGhkqSvvvpKlStX1qRJk5SamqrU1FRJ0rVr19SwYUOtWbNGhw8f1osvvqjnn39eu3fvtuj7k08+kZubm3bt2qXp06dr0qRJWr9+vSQpNzdXHTp0UHx8vBYtWqQjR45o2rRpsre3lySdPHlS7du3V7du3XTw4EF99tln2r59u4YMGXLHz793714NHTpUkyZNUlJSkr777ju1bNmy0OM4efJk9e7dWwkJCapVq5aeffZZDRw4UNHR0dq7d69MJpNFPb169VLlypW1Z88e7du3T6+//rocHR3z7TszM1Pp6ekWCwAAKL2YbmFjGRkZ+vjjj7Vo0SJFRkZKuhFWK1eunG/7lJQU+fn5qW3btnJ0dFRgYKCaNGkiSfLx8ZG9vb08PDzk5+dnPqZSpUoaNWqUef2VV17R999/r88//9x8rCSFhYVp/PjxkqSQkBDNnTtXcXFxateunTZs2KDdu3fr6NGjqlGjhiQpKCjIfGxMTIx69eplvtkwJCREc+bMUatWrfTBBx/I2dn5lmOQkpIiNzc3derUSR4eHqpSpYrq169fmGGUJL3wwgt65plnJEljxoxR06ZNNXbsWEVFRUmShg0bphdeeMHivK+99ppq1aplrvlWYmJiNHHixELXBAAASiauJNvYyZMndf36dT366KPmbT4+PqpZs2a+7bt3764///xTQUFBGjBggFasWKHs7OzbniMnJ0eTJ09WaGiofHx85O7uru+//14pKSkW7cLCwizW/f39df78eUlSQkKCKleubA7I1hITExUbGyt3d3fzEhUVpdzcXJ06deq29bVr105VqlRRUFCQnn/+eS1evFhXr1697TH5+Wv9FSpUkCTzVfab265du2a+Cjxy5Ej94x//UNu2bTVt2jSLqRjWoqOjlZaWZl7OnDlT6PoAAEDJQUguYQICApSUlKR58+bJxcVFgwcPVsuWLZWVlXXLY9555x3Nnj1bY8aM0aZNm5SQkKCoqChdv37dop31VAODwaDc3FxJkouLy23rysjI0MCBA5WQkGBeEhMTdfz4cVWvXv22x3p4eGj//v1aunSp/P39NW7cOIWHh+vSpUuSJDs7O5lMJotj8vu8f63/5nzs/Lbd/EwTJkzQjz/+qI4dO2rjxo2qU6eOVqxYkW+NRqNRnp6eFgsAACi9CMk2Vr16dTk6OmrXrl3mbRcvXtSxY8dueYyLi4s6d+6sOXPmaPPmzdq5c6cOHTokSXJyclJOTo5F+/j4eD355JN67rnnFB4erqCgoNv2n5+wsDD98ssvtzyuQYMGOnLkiIKDg/MsTk5Od+zfwcFBbdu21fTp03Xw4EElJydr48aNkm483ePm/GpJSk9Pv+PV6YKqUaOGRowYoXXr1umpp57SggULiqVfAABQshGSbczd3V39+/fXa6+9po0bN+rw4cPq27ev7Ozy/6eJjY3Vxx9/rMOHD+vnn3/WokWL5OLioipVqki68SSIrVu36tdff9WFCxck3Zhru379eu3YsUNHjx7VwIEDde7cuULV2apVK7Vs2VLdunXT+vXrderUKa1du1bfffedpBtzgHfs2KEhQ4YoISFBx48f16pVqwp0497q1as1Z84cJSQk6PTp01q4cKFyc3PNU07atGmjTz/9VNu2bdOhQ4fUp08f8w2DRfXnn39qyJAh2rx5s06fPq34+Hjt2bNHtWvXvqt+AQBA6cCNew+Ad955RxkZGercubM8PDz06quvKi0tLd+23t7emjZtmkaOHKmcnByFhobqm2++UdmyZSVJkyZN0sCBA1W9enVlZmbKZDLpzTff1M8//6yoqCi5urrqxRdfVJcuXW55jlv58ssvNWrUKPXs2VNXrlxRcHCwpk2bJunGleYtW7bojTfeUIsWLWQymVS9enX16NHjjv16e3vrq6++0oQJE3Tt2jWFhIRo6dKleuSRRyTdmA986tQpderUSV5eXpo8efJdX0m2t7fXH3/8od69e+vcuXMqV66cnnrqKW7OAwAAkiSDyXqyJ4A7Sk9Pl5eXlwKGfy47o6utywEAoFRJntbxnvR78+d3WlraHe8vYroFAAAAYIWQjHtu27ZtFo+Gs14AAAAeNEy3wD33559/6tdff73l/uDg4PtYTfEozJ9rAADAg6EwP7+5cQ/3nIuLS4kMwgAA4OHFdAsAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADAioOtCwBKsrrjv5ed0dXWZQAPveRpHW1dAoBShivJAAAAgBVCMgAAAGCFkAwAAABYISTjnktOTpbBYFBCQoJ5W3x8vEJDQ+Xo6KguXbrYrDYA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3btX9evXNx8zcuRI1a9fX+PGjZMk/frrr/r666/1yy+/mJ+ScXPZsWNH0QYWAACUOjzdAiiCm3fH8nQL3C883QIA7l5hnm7BlWQAAADACiEZAAAAsMKNe8BdODwx6o5/rgEAACUPV5IBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwIqDrQsASrK647+XndG12PtNntax2PsEAAAFx5VkAAAAwAohGQAAALBCSAYAAACsPHAhOSIiQsOHD5ckVa1aVbNmzbJpPSVV37591aVLl9u22bx5swwGgy5dulTgfidMmKB69eoV6jzFwWAwaOXKlff8PAAAANIDfuPenj175ObmVqC2VatW1fDhw80BG5YiIiJUr149i186mjVrptTUVHl5eRW539mzZ8tkMhVDhTdMmDBBK1euVEJCgsX21NRUlSlTptjOAwAAcDsPdEj29fW1dQmlmpOTk/z8/O6qj7sJ2IVxt3UCAAAUhk2nW1y5ckW9e/eWu7u7/P39NWPGDIv9f51uYTKZNGHCBAUGBspoNKpixYoaOnSopBtXSU+fPq0RI0bIYDDIYDBIkv744w/17NlTlSpVkqurq0JDQ7V06VKLc0RERGjo0KEaPXq0fHx85OfnpwkTJli0uXTpkgYOHKgKFSrI2dlZdevW1erVq837t2/frhYtWsjFxUUBAQEaOnSorly5UqAxqFq1qqZMmWIehypVqujrr7/W77//rieffFLu7u4KCwvT3r17zcdYT3mQpFmzZqlq1ar5nqNv377asmWLZs+ebR6f5OTkPNMtYmNj5e3trZUrVyokJETOzs6KiorSmTNnblm/9XSL3NxcTZ8+XcHBwTIajQoMDNTUqVPN+8eMGaMaNWrI1dVVQUFBGjt2rLKyssznnzhxohITE811xsbGSso73eLQoUNq06aNXFxcVLZsWb344ovKyMjIU9e7774rf39/lS1bVi+//LL5XJI0b9488+esUKGCnn766Vt+TgAA8HCxaUh+7bXXtGXLFq1atUrr1q3T5s2btX///nzbfvnll5o5c6Y+/PBDHT9+XCtXrlRoaKgk6auvvlLlypU1adIkpaamKjU1VZJ07do1NWzYUGvWrNHhw4f14osv6vnnn9fu3bst+v7kk0/k5uamXbt2afr06Zo0aZLWr18v6Ubo69Chg+Lj47Vo0SIdOXJE06ZNk729vSTp5MmTat++vbp166aDBw/qs88+0/bt2zVkyJACj8PMmTPVvHlzHThwQB07dtTzzz+v3r1767nnntP+/ftVvXp19e7du8jTGmbPnq2mTZtqwIAB5vEJCAjIt+3Vq1c1depULVy4UPHx8bp06ZL+/ve/F/hc0dHRmjZtmsaOHasjR45oyZIlqlChgnm/h4eHYmNjdeTIEc2ePVv/+c9/NHPmTElSjx499Oqrr+qRRx4x19mjR48857hy5YqioqJUpkwZ7dmzR8uXL9eGDRvyjPmmTZt08uRJbdq0SZ988oliY2PNoXvv3r0aOnSoJk2apKSkJH333Xdq2bLlLT9XZmam0tPTLRYAAFB62Wy6RUZGhj7++GMtWrRIkZGRkm6E1cqVK+fbPiUlRX5+fmrbtq0cHR0VGBioJk2aSJJ8fHxkb28vDw8Piz/LV6pUSaNGjTKvv/LKK/r+++/1+eefm4+VpLCwMI0fP16SFBISorlz5youLk7t2rXThg0btHv3bh09elQ1atSQJAUFBZmPjYmJUa9evcxzoUNCQjRnzhy1atVKH3zwgZydne84Fn/72980cOBASdK4ceP0wQcfqHHjxurevbukG1dfmzZtqnPnzhVp2oGXl5ecnJzk6up6x+OzsrI0d+5cPfroo5Ju/JvUrl1bu3fvthiz/Fy+fFmzZ8/W3Llz1adPH0lS9erV9fjjj5vbvPnmm+avq1atqlGjRmnZsmUaPXq0XFxc5O7uLgcHh9vWuWTJEl27dk0LFy40z1mfO3euOnfurLffftscysuUKaO5c+fK3t5etWrVUseOHRUXF6cBAwYoJSVFbm5u6tSpkzw8PFSlShXVr1//lueMiYnRxIkTb/v5AQBA6WGzK8knT57U9evXzWFMuhF2a9asmW/77t27688//1RQUJAGDBigFStWKDs7+7bnyMnJ0eTJkxUaGiofHx+5u7vr+++/V0pKikW7sLAwi3V/f3+dP39ekpSQkKDKlSubA7K1xMRExcbGyt3d3bxERUUpNzdXp06duuM4WJ//ZsC7eZX8r9tu1nQvOTg4qHHjxub1WrVqydvbW0ePHr3jsUePHlVmZqb5l578fPbZZ2revLn8/Pzk7u6uN998M8+/R0HOEx4ebnFTZ/PmzZWbm6ukpCTztkceecR8xV+y/Hdt166dqlSpoqCgID3//PNavHixrl69estzRkdHKy0tzbzcbgoKAAAo+R64R8DdSkBAgJKSkjRv3jy5uLho8ODBatmypcUcU2vvvPOOZs+erTFjxmjTpk1KSEhQVFSUrl+/btHO0dHRYt1gMCg3N1eS5OLictu6MjIyNHDgQCUkJJiXxMREHT9+XNWrVy/QZ/vr+W/Op85v282a7Ozs8ky9uN043C93GqudO3eqV69e+tvf/qbVq1frwIEDeuONN/L8exSX2/27enh4aP/+/Vq6dKn8/f01btw4hYeH3/JxeEajUZ6enhYLAAAovWwWkqtXry5HR0ft2rXLvO3ixYs6duzYLY9xcXFR586dNWfOHG3evFk7d+7UoUOHJN14UkNOTo5F+/j4eD355JN67rnnFB4erqCgoNv2n5+wsDD98ssvtzyuQYMGOnLkiIKDg/MsTk5OhTpXQfn6+uq3336zCMrWj0yzlt/45Cc7O9viJsGkpCRdunRJtWvXvuOxISEhcnFxUVxcXL77d+zYoSpVquiNN95Qo0aNFBISotOnTxe6ztq1aysxMdHi5sj4+HjZ2dnd8i8R+XFwcFDbtm01ffp0HTx4UMnJydq4cWOBjwcAAKWXzUKyu7u7+vfvr9dee00bN27U4cOH1bdvX9nZ5V9SbGysPv74Yx0+fFg///yzFi1aJBcXF1WpUkXSjfmtW7du1a+//qoLFy5IuhHa1q9frx07dujo0aMaOHCgzp07V6g6W7VqpZYtW6pbt25av369Tp06pbVr1+q7776TdGO+8I4dOzRkyBAlJCTo+PHjWrVqVaFu3CusiIgI/f7775o+fbpOnjyp999/X2vXrr3tMVWrVtWuXbuUnJysCxcumK+oWnN0dNQrr7yiXbt2ad++ferbt68ee+yxO85HliRnZ2eNGTNGo0eP1sKFC3Xy5En98MMP+vjjjyXd+PdISUnRsmXLdPLkSc2ZM0crVqzIU+epU6eUkJCgCxcuKDMzM895evXqJWdnZ/Xp00eHDx/Wpk2b9Morr+j555+3uEnwdlavXq05c+YoISFBp0+f1sKFC5Wbm1uokA0AAEovm063eOedd9SiRQt17txZbdu21eOPP66GDRvm29bb21v/+c9/1Lx5c4WFhWnDhg365ptvVLZsWUnSpEmTlJycrOrVq5ufr/zmm2+qQYMGioqKUkREhPz8/Ir0drgvv/xSjRs3Vs+ePVWnTh2NHj3afLUzLCxMW7Zs0bFjx9SiRQvVr19f48aNU8WKFYs2KAVQu3ZtzZs3T++//77Cw8O1e/duixsU8zNq1CjZ29urTp068vX1veU8YFdXV40ZM0bPPvusmjdvLnd3d3322WcFrm3s2LF69dVXNW7cONWuXVs9evQwzwN+4oknNGLECA0ZMkT16tXTjh07NHbsWIvju3Xrpvbt26t169by9fXN88i+mzV+//33+t///qfGjRvr6aefVmRkpObOnVvgOr29vfXVV1+pTZs2ql27tubPn6+lS5fqkUceKXAfAACg9DKYivN1aSjRYmNjNXz48EK9pvphlZ6eLi8vLwUM/1x2Rtdi7z95Wsdi7xMAgIfdzZ/faWlpd7y/qMTcuAcAAADcL4Tke2jbtm0Wj4azXgAAAPBguuvpFteuXSvQCzMeRn/++ad+/fXXW+4PDg6+j9WgOBXmzzUAAODBUJif30V6415ubq6mTp2q+fPn69y5czp27JiCgoI0duxYVa1aVf379y9S4aWNi4sLQRgAAKAEKtJ0iylTpig2NlbTp0+3eBZw3bp19dFHHxVbcQAAAIAtFCkkL1y4UP/+97/Vq1cvi9f+hoeH66effiq24gAAAABbKFJI/vXXX/OdRpCbm/tAvB4ZAAAAuBtFCsl16tTRtm3b8mz/4osvVL9+/bsuCgAAALClIt24N27cOPXp00e//vqrcnNz9dVXXykpKUkLFy7U6tWri7tGAAAA4L4q0pXkJ598Ut988402bNggNzc3jRs3TkePHtU333yjdu3aFXeNAAAAwH3Fa6mBIuA5yQAAlDz3/DnJf5WRkaHc3FyLbYQGAAAAlGRFmm5x6tQpdezYUW5ubvLy8lKZMmVUpkwZeXt7q0yZMsVdIwAAAHBfFelK8nPPPSeTyaT//ve/qlChggwGQ3HXBQAAANhMkUJyYmKi9u3bp5o1axZ3PQAAAIDNFWm6RePGjXXmzJnirgUAAAB4IBTpSvJHH32kQYMG6ddff1XdunXl6OhosT8sLKxYigMAAABsoUgh+ffff9fJkyf1wgsvmLcZDAaZTCYZDAbl5OQUW4EAAADA/VakkNyvXz/Vr19fS5cu5cY9AAAAlDpFCsmnT5/W119/reDg4OKuBwAAALC5It2416ZNGyUmJhZ3LQAAAMADoUhXkjt37qwRI0bo0KFDCg0NzXPj3hNPPFEsxQEPurrjv5ed0fWu+kie1rGYqgEAAMWlSCF50KBBkqRJkybl2ceNewAAACjpihSSc3Nzi7sOAAAA4IFRpDnJAAAAQGlWpCvJknTlyhVt2bJFKSkpun79usW+oUOH3nVhAAAAgK0UKSQfOHBAf/vb33T16lVduXJFPj4+unDhglxdXVW+fHlC8kNq586devzxx9W+fXutWbPmrvvL7/nbzZs31/bt2++6bwAAgNsp0nSLESNGqHPnzrp48aJcXFz0ww8/6PTp02rYsKHefffd4q4RJcTHH3+sV155RVu3btXZs2dv2c5kMik7O7tAfS5YsECpqanm5euvvy6ucgEAAG6pSCE5ISFBr776quzs7GRvb6/MzEwFBARo+vTp+uc//1ncNaIEyMjI0GeffaaXXnpJHTt2VGxsrHnf5s2bZTAYtHbtWjVs2FBGo1Hbt29Xbm6upk+fruDgYBmNRgUGBmrq1KkW/Xp7e8vPz8+8+Pj46I8//lDPnj1VqVIlubq6KjQ0VEuXLrU47k59nzlzRs8884y8vb3l4+OjJ598UsnJyfdyiAAAQAlSpJDs6OgoO7sbh5YvX14pKSmSJC8vL505c6b4qkOJ8fnnn6tWrVqqWbOmnnvuOf33v/+VyWSyaPP6669r2rRpOnr0qMLCwhQdHa1p06Zp7NixOnLkiJYsWaIKFSrc8VzXrl1Tw4YNtWbNGh0+fFgvvviinn/+ee3evdvc5nZ9Z2VlKSoqSh4eHtq2bZvi4+Pl7u6u9u3b55lff1NmZqbS09MtFgAAUHoZTNZJpgD+7//+T3379tWzzz6rAQMG6ODBgxo6dKg+/fRTXbx4Ubt27boXteIB1rx5cz3zzDMaNmyYsrOz5e/vr+XLlysiIkKbN29W69attXLlSj355JOSpMuXL8vX11dz587VP/7xj3z7NBgMcnZ2lr29vXnbokWL1KVLlzxtO3XqpFq1aundd9+9Y9+LFi3SlClTdPToUfO85+vXr8vb21srV67U//3f/+U5ZsKECZo4cWKe7QHDP+dlIgAAlBDp6eny8vJSWlqaPD09b9u2SFeS33rrLfn7+0uSpk6dqjJlyuill17S77//rn//+99F6RIlWFJSknbv3q2ePXtKkhwcHNSjRw99/PHHFu0aNWpk/vro0aPKzMxUZGTkbfueOXOmEhISzEu7du2Uk5OjyZMnKzQ0VD4+PnJ3d9f3339v/ovGnfpOTEzUiRMn5OHhIXd3d7m7u8vHx0fXrl3TyZMn8z0mOjpaaWlp5oW/mAAAULoV6ekWfw075cuX13fffVdsBaHk+fjjj5Wdna2KFSuat5lMJhmNRs2dO9e8zc3Nzfy1i4tLgfr28/NTcHCwxbZp06Zp9uzZmjVrlkJDQ+Xm5qbhw4ebp0rcqe+MjAw1bNhQixcvzrPP19c332OMRqOMRmOBagYAACUfLxPBXcnOztbChQs1Y8YMiyu+iYmJqlixYp4b6m4KCQmRi4uL4uLiCn3O+Ph4Pfnkk3ruuecUHh6uoKAgHTt2rMB9N2jQQMePH1f58uUVHBxssXh5eRW6HgAAUPoUKSSfO3dOzz//vCpWrCgHBwfZ29tbLHh4rF69WhcvXlT//v1Vt25di6Vbt255plzc5OzsrDFjxmj06NFauHChTp48qR9++OGW7f8qJCRE69ev144dO3T06FENHDhQ586dK3DfvXr1Urly5fTkk09q27ZtOnXqlDZv3qyhQ4fql19+KZ6BAQAAJVqRplv07dtXKSkpGjt2rPz9/fN96QMeDh9//LHatm2b7xXYbt26afr06Tp48GC+x44dO1YODg4aN26czp49K39/fw0aNOiO53zzzTf1888/KyoqSq6urnrxxRfVpUsXpaWlFahvV1dXbd26VWPGjNFTTz2ly5cvq1KlSoqMjLzjJH4AAPBwKNLTLW4+OqtevXr3oCTgwXfz7liebgEAQMlxz59uERAQkOcZuAAAAEBpUaSQPGvWLL3++uu8oQwAAAClUpGmW5QpU0ZXr15Vdna2XF1d5ejoaLH/f//7X7EVCDyICvPnGgAA8GAozM/vIt24N2vWrKIcBgAAAJQIRQrJffr0KVC7adOmadCgQfL29i7KaQAAAACbuKcvE3nrrbeYegEAAIAS556GZJ6AAQAAgJKI11IDAAAAVgjJAAAAgBVCMgAAAGCFkAwAAABYuachuUWLFnJxcbmXpwAAAACKXZFD8smTJ/Xmm2+qZ8+eOn/+vCRp7dq1+vHHH81tvv32W/n7+999lQAAAMB9VKSQvGXLFoWGhmrXrl366quvlJGRIUlKTEzU+PHji7VAAAAA4H4rUkh+/fXXNWXKFK1fv15OTk7m7W3atNEPP/xQbMUBAAAAtlCkkHzo0CF17do1z/by5cvrwoULd10UAAAAYEtFCsne3t5KTU3Ns/3AgQOqVKnSXRcFAAAA2FKRQvLf//53jRkzRr/99psMBoNyc3MVHx+vUaNGqXfv3sVdIwAAAHBfFSkkv/XWW6pVq5YCAgKUkZGhOnXqqGXLlmrWrJnefPPN4q4RAAAAuK8MJpPJVJgDTCaTzpw5I19fX124cEGHDh1SRkaG6tevr5CQkHtVJ/BASU9Pl5eXl9LS0uTp6WnrcgAAQAEU5ue3Q2E7N5lMCg4O1o8//qiQkBAFBAQUuVAAAADgQVTokGxnZ6eQkBD98ccfXDnGQ6/u+O9lZ3Qt1DHJ0zreo2oAAEBxKdKc5GnTpum1117T4cOHi7seAAAAwOYKfSVZknr37q2rV68qPDxcTk5OcnFxsdj/v//9r1iKAwAAAGyhSCF51qxZxVwGAAAA8OAoUkju06dPcdcBAAAAPDCKNCc5JSXltgseLn379pXBYMiznDhxwtalFYjBYNDKlSttXQYAAHiAFOlKctWqVWUwGG65Pycnp8gFoWRq3769FixYYLHN19fXRtUAAADcnSJdST5w4ID2799vXnbt2qX58+erRo0aWr58eXHXiBLAaDTKz8/PYpk9e7ZCQ0Pl5uamgIAADR48WBkZGRbHxcfHKyIiQq6uripTpoyioqJ08eJFSVJubq5iYmJUrVo1ubi4KDw8XF988YX52M2bN8tgMCguLk6NGjWSq6urmjVrpqSkJItzrFq1Sg0aNJCzs7OCgoI0ceJEZWdnS7rxC58kde3aVQaDwbwOAAAebkW6khweHp5nW6NGjVSxYkW98847euqpp+66MJR8dnZ2mjNnjqpVq6aff/5ZgwcP1ujRozVv3jxJUkJCgiIjI9WvXz/Nnj1bDg4O2rRpk/kvETExMVq0aJHmz5+vkJAQbd26Vc8995x8fX3VqlUr83neeOMNzZgxQ76+vho0aJD69eun+Ph4SdK2bdvUu3dvzZkzRy1atNDJkyf14osvSpLGjx+vPXv2qHz58lqwYIHat28ve3v7fD9LZmamMjMzzevp6en3ZMwAAMCDodCvpb6dEydOKDw8XFeuXCmuLlEC9O3bV4sWLZKzs7N5W4cOHfL8VeGLL77QoEGDdOHCBUnSs88+q5SUFG3fvj1Pn5mZmfLx8dGGDRvUtGlT8/Z//OMfunr1qpYsWaLNmzerdevW2rBhgyIjIyVJ3377rTp27Kg///xTzs7Oatu2rSIjIxUdHW3uY9GiRRo9erTOnj0r6cac5BUrVqhLly63/IwTJkzQxIkT82wPGP45LxMBAKCEuKevpb55gr8ymUxKTU3VhAkTeAvfQ6p169b64IMPzOtubm7asGGDYmJi9NNPPyk9PV3Z2dm6du2arl69KldXVyUkJKh79+759nfixAldvXpV7dq1s9h+/fp11a9f32JbWFiY+Wt/f39J0vnz5xUYGKjExETFx8dr6tSp5jY5OTkWdRREdHS0Ro4caV5PT0/nlewAAJRiRQrJ3t7eeW7cM5lMCggI0LJly4qlMJQsbm5uCg4ONq8nJyerU6dOeumllzR16lT5+Pho+/bt6t+/v65fvy5XV9c8L6H5q5tzl9esWaNKlSpZ7DMajRbrjo6O5q9vfl/m5uaa+5k4cWK+U4D+euX7ToxGY57zAgCA0qtIIXnTpk0W63Z2dvL19VVwcLAcHIrUJUqZffv2KTc3VzNmzJCd3Y37Qz///HOLNmFhYYqLi8t3GkOdOnVkNBqVkpJiMf+4sBo0aKCkpCSLAG/N0dGRJ7IAAAALRUq0BoNBzZo1yxOIs7OztXXrVrVs2bJYikPJFRwcrKysLL333nvq3Lmz4uPjNX/+fIs20dHRCg0N1eDBgzVo0CA5OTlp06ZN6t69u8qVK6dRo0ZpxIgRys3N1eOPP660tDTFx8fL09OzwC+0GTdunDp16qTAwEA9/fTTsrOzU2Jiog4fPqwpU6ZIuvGEi7i4ODVv3lxGo1FlypQp9vEAAAAlS5EeAde6dWv973//y7M9LS1NrVu3vuuiUPKFh4frX//6l95++23VrVtXixcvVkxMjEWbGjVqaN26dUpMTFSTJk3UtGlTrVq1yvzL1+TJkzV27FjFxMSodu3aat++vdasWaNq1aoVuI6oqCitXr1a69atU+PGjfXYY49p5syZqlKlirnNjBkztH79egUEBOSZ7wwAAB5ORXq6hZ2dnc6dO5fnZRHHjh1To0aNeDwWSr2bd8fydAsAAEqOe/Z0i5s3PxkMBvXt29fiRqacnBwdPHhQzZo1K0LJAAAAwIOjUCHZy8tL0o0nWXh4eFg8ncDJyUmPPfaYBgwYULwVAgAAAPdZoULyggULJN240WnUqFFyc3O7J0UBJcXhiVF3/HMNAAAoeYr1jXvAw6Iwc5oAAMCD4Z6/cU+68Yrhzz//XCkpKbp+/brFvv379xe1WwAAAMDmivQIuDlz5uiFF15QhQoVdODAATVp0kRly5bVzz//rA4dOhR3jQAAAMB9VaSQPG/ePP373//We++9JycnJ40ePVrr16/X0KFDlZaWVtw1AgAAAPdVkUJySkqK+VFvLi4uunz5siTp+eef19KlS4uvOgAAAMAGihSS/fz8zG/cCwwM1A8//CBJOnXqlLgPEAAAACVdkUJymzZt9PXXX0uSXnjhBY0YMULt2rVTjx491LVr12ItEAAAALjfivQIuNzcXOXm5srB4cbDMZYtW6YdO3YoJCREAwcOlJOTU7EXCjxIeAQcAAAlT2F+fvOcZKAICMkAAJQ8hfn5XaTpFpK0bds2Pffcc2ratKl+/fVXSdKnn36q7du3F7VLAAAA4IFQpJD85ZdfKioqSi4uLjpw4IAyMzMlSWlpaXrrrbeKtUAAAADgfitSSJ4yZYrmz5+v//znP3J0dDRvb968OW/bAwAAQIlXpJCclJSkli1b5tnu5eWlS5cu3W1NAAAAgE0V+TnJJ06cyLN9+/btCgoKuuuiAAAAAFsqUkgeMGCAhg0bpl27dslgMOjs2bNavHixRo0apZdeeqm4awQAAADuK4eCNjx48KDq1q0rOzs7RUdHKzc3V5GRkbp69apatmwpo9GoUaNG6ZVXXrmX9QIAAAD3XIGfk2xvb6/U1FSVL19eQUFB2rNnjzw8PHTixAllZGSoTp06cnd3v9f1Ag8EnpMMAEDJU5if3wW+kuzt7a1Tp06pfPnySk5OVm5urpycnFSnTp27LhgAAAB4kBQ4JHfr1k2tWrWSv7+/DAaDGjVqJHt7+3zb/vzzz8VWIPAgqzv+e9kZXS22JU/raKNqAABAcSlwSP73v/+tp556SidOnNDQoUM1YMAAeXh43MvaAAAAAJsocEiWpPbt20uS9u3bp2HDhhGSAQAAUCoVKiTftGDBguKuAwAAAHhgFOk5ycCDzmAwaOXKlZKk5ORkGQwGJSQkSJI2b94sg8HA2yEBAMAtEZJRovTt21cGg0EGg0GOjo6qUKGC2rVrp//+97/Kzc3N95iAgAClpqaqbt2697laAABQUhGSUeK0b99eqampSk5O1tq1a9W6dWsNGzZMnTp1UnZ2dp729vb28vPzk4NDkWYXAQCAhxAhGSWO0WiUn5+fKlWqpAYNGuif//ynVq1apbVr1yo2NjZPe+vpFjfFx8crLCxMzs7Oeuyxx3T48OH78wEAAMADj5CMUqFNmzYKDw/XV199VeBjXnvtNc2YMUN79uyRr6+vOnfurKysrHzbZmZmKj093WIBAAClFyEZpUatWrWUnJxc4Pbjx49Xu3btFBoaqk8++UTnzp3TihUr8m0bExMjLy8v8xIQEFBMVQMAgAcRIRmlhslkksFgKHD7pk2bmr/28fFRzZo1dfTo0XzbRkdHKy0tzbycOXPmrusFAAAPLu5kQqlx9OhRVatW7Z70bTQaZTQa70nfAADgwcOVZJQKGzdu1KFDh9StW7cCH/PDDz+Yv7548aKOHTum2rVr34vyAABACcOVZJQ4mZmZ+u2335STk6Nz587pu+++U0xMjDp16qTevXsXuJ9JkyapbNmyqlChgt544w2VK1dOXbp0uXeFAwCAEoOQjBLnu+++k7+/vxwcHFSmTBmFh4drzpw56tOnj+zsCv7HkWnTpmnYsGE6fvy46tWrp2+++UZOTk73sHIAAFBSGEwmk8nWRQAlTXp6+o2nXAz/XHZGV4t9ydM62qgqAABwOzd/fqelpcnT0/O2bZmTDAAAAFghJAMAAABWmJMM3IXDE6Pu+OcaAABQ8nAlGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsEJIBAAAAK4RkAAAAwAohGQAAALBCSAYAAACsONi6AKAkqzv+e9kZXS22JU/raKNqAABAceFKMgAAAGCFkAwAAABYISQDAAAAVgjJAAAAgBVCMiRJnTt3Vvv27fPdt23bNhkMBh08eFCS9OWXX6pNmzYqU6aMXFxcVLNmTfXr108HDhywOO769et655131KBBA7m5ucnLy0vh4eF68803dfbs2dvWExERIYPBkGfJzs4ung8MAABwG4RkSJL69++v9evX65dffsmzb8GCBWrUqJHCwsI0ZswY9ejRQ/Xq1dPXX3+tpKQkLVmyREFBQYqOjjYfk5mZqXbt2umtt95S3759tXXrVh06dEhz5szRhQsX9N57792xpgEDBig1NdVicXDggSwAAODeI3FAktSpUyf5+voqNjZWb775pnl7RkaGli9frnfeeUc//PCDpk+frtmzZ2vo0KHmNoGBgWrYsKFMJpN528yZM7V9+3bt3btX9evXt2jbqlUri7a34urqKj8/vzzbx4wZoxUrVuiXX36Rn5+fevXqpXHjxsnR0dHc5ptvvtGkSZN06NAhubu7q0WLFlqxYoWkGwH+jTfe0NKlS3Xp0iXVrVtXb7/9tiIiIgo1ZgAAoPTiSjIkSQ4ODurdu7diY2MtAuzy5cuVk5Ojnj17aunSpXJ3d9fgwYPz7cNgMJi/Xrp0qdq1a2cRkG/VtrA8PDwUGxurI0eOaPbs2frPf/6jmTNnmvevWbNGXbt21d/+9jcdOHBAcXFxatKkiXn/kCFDtHPnTi1btkwHDx5U9+7d1b59ex0/fvyW58zMzFR6errFAgAASi+DqSCX9PBQ+Omnn1S7dm1t2rTJfFW1ZcuWqlKlij799FN16NBBZ8+eVWJiovmYf/3rXxo3bpx5/ddff5WXl5dcXFz04osvavbs2eZ9Xbt21fr16yVJYWFh2rFjxy1riYiI0I4dO+Tk5GTeNnDgQM2YMSNP23fffVfLli3T3r17JUnNmjVTUFCQFi1alKdtSkqKgoKClJKSoooVK5q3t23bVk2aNNFbb72Vbz0TJkzQxIkT82wPGP45LxMBAKCESE9Pl5eXl9LS0uTp6XnbtlxJhlmtWrXUrFkz/fe//5UknThxQtu2bVP//v1veUy/fv2UkJCgDz/8UFeuXLntNIp58+YpISFB/fr109WrVyVJixcvlru7u3nZtm2buX2vXr2UkJBgXm7Oef7ss8/UvHlz+fn5yd3dXW+++aZSUlLMxyUkJCgyMjLfGg4dOqScnBzVqFHD4rxbtmzRyZMnb1l7dHS00tLSzMuZM2du2RYAAJR8zEmGhf79++uVV17R+++/rwULFqh69epq1aqVJCkkJETbt29XVlaWef6vt7e3vL2989zwFxISoqSkJItt/v7+kiQfHx/ztieeeEKPPvqoeb1SpUrmr728vBQcHGzRx86dO9WrVy9NnDhRUVFR8vLy0rJlyyyuMLu4uNzy82VkZMje3l779u2Tvb29xT53d/dbHmc0GmU0Gm+5HwAAlC5cSYaFZ555RnZ2dlqyZIkWLlyofv36mecP9+zZUxkZGZo3b94d++nZs6fWr1+f57Fw1jw8PBQcHGxebhdwJWnHjh2qUqWK3njjDTVq1EghISE6ffq0RZuwsDDFxcXle3z9+vWVk5Oj8+fPW5w3ODg435sEAQDAw4krybDg7u6uHj16KDo6Wunp6erbt695X9OmTfXqq6/q1Vdf1enTp/XUU08pICBAqamp+vjjj2UwGGRnd+P3rhEjRmjNmjWKjIzU+PHj1aJFC5UpU0bHjh3T2rVr81zFLaiQkBClpKRo2bJlaty4sdasWWN+asVN48ePV2RkpKpXr66///3vys7O1rfffqsxY8aoRo0a6tWrl3r37q0ZM2aofv36+v333xUXF6ewsDB17Mh8YgAAwJVk5KN///66ePGioqKiLG5uk27cJLdkyRIdOHBAnTp1UkhIiLp3767c3Fzt3LnTPAne2dlZcXFxGjNmjBYsWKDHH39ctWvX1vDhw9W8eXOtXLmySLU98cQTGjFihIYMGaJ69eppx44dGjt2rEWbiIgILV++XF9//bXq1aunNm3aaPfu3eb9CxYsUO/evfXqq6+qZs2a6tKli/bs2aPAwMAi1QQAAEofnm4BFMHNu2N5ugUAACUHT7cAAAAA7gIhGQAAALDCjXvAXTg8MeqOf64BAAAlD1eSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRk2YTAYtHLlSklScnKyDAaDEhISJEmbN2+WwWDQpUuX7sm5IyIiNHz4cPP61atX1a1bN3l6et7T8wIAgJKDkIxi1bdvXxkMBhkMBjk6OqpChQpq166d/vvf/yo3NzffYwICApSamqq6deve52pv+OSTT7Rt2zbt2LFDqamp8vLyskkdAADgwUFIRrFr3769UlNTlZycrLVr16p169YaNmyYOnXqpOzs7Dzt7e3t5efnJwcHBxtUK508eVK1a9dW3bp15efnJ4PBYJM6AADAg4OQjGJnNBrl5+enSpUqqUGDBvrnP/+pVatWae3atYqNjc3T3nq6xU3x8fEKCwuTs7OzHnvsMR0+fLjANcTHxysiIkKurq4qU6aMoqKidPHixTztIiIiNGPGDG3dulUGg0ERERGF/LQAAKA0IiTjvmjTpo3Cw8P11VdfFfiY1157TTNmzNCePXvk6+urzp07Kysr647HJSQkKDIyUnXq1NHOnTu1fft2de7cWTk5OXnafvXVVxowYICaNm2q1NTUW9aXmZmp9PR0iwUAAJRetvn7Nh5KtWrV0sGDBwvcfvz48WrXrp2kG/OGK1eurBUrVuiZZ5657XHTp09Xo0aNNG/ePPO2Rx55JN+2Pj4+cnV1lZOTk/z8/G7ZZ0xMjCZOnFjg2gEAQMnGlWTcNyaTqVDzfZs2bWr+2sfHRzVr1tTRo0fveNzNK8nFKTo6WmlpaeblzJkzxdo/AAB4sHAlGffN0aNHVa1atXt+HhcXl2Lv02g0ymg0Fnu/AADgwcSVZNwXGzdu1KFDh9StW7cCH/PDDz+Yv7548aKOHTum2rVr3/G4sLAwxcXFFalOAAAAiSvJuAcyMzP122+/KScnR+fOndN3332nmJgYderUSb179y5wP5MmTVLZsmVVoUIFvfHGGypXrpy6dOlyx+Oio6MVGhqqwYMHa9CgQXJyctKmTZvUvXt3lStX7i4+GQAAeFhwJRnF7rvvvpO/v7+qVq2q9u3ba9OmTZozZ45WrVole3v7Avczbdo0DRs2TA0bNtRvv/2mb775Rk5OTnc8rkaNGlq3bp0SExPVpEkTNW3aVKtWrbLZc5gBAEDJYzCZTCZbFwGUNOnp6fLy8lJaWpo8PT1tXQ4AACiAwvz85koyAAAAYIWQjBKnQ4cOcnd3z3d56623bF0eAAAoBZikiRLno48+0p9//pnvPh8fn/tcDQAAKI0IyShxKlWqZOsSAABAKcd0CwAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArDjYugAAAADkLycnR1lZWbYuo0RxcnKSnd3dXwcmJAMAADxgTCaTfvvtN126dMnWpZQ4dnZ2qlatmpycnO6qH0IyAADAA+ZmQC5fvrxcXV1lMBhsXVKJkJubq7Nnzyo1NVWBgYF3NW6EZAAAgAdITk6OOSCXLVvW1uWUOL6+vjp79qyys7Pl6OhY5H64cQ8AAOABcnMOsqurq40rKZluTrPIycm5q34IyQAAAA8gplgUTXGNGyEZAAAAsEJIBgAAwANj8+bNMhgMNn+yBzfuAQAAlBBVX19zX8+XPK3jfT2fJDVr1kypqany8vK67+f+K0IyAAAAHhhOTk7y8/OzdRlMt8DDp2rVqpo1a5Z5/bffflO7du3k5uYmb29vm9UFAEBpcPnyZfXq1Utubm7y9/fXzJkzFRERoeHDh0uSPv30UzVq1EgeHh7y8/PTs88+q/Pnz5uPt55uERsbK29vb33//feqXbu23N3d1b59e6Wmpt7Tz0FIfgj07dtXBoMhz3LixAlbl1YgBoNBK1euvGf9z5w5U6mpqUpISNCxY8fu2XkAAHgYjBw5UvHx8fr666+1fv16bdu2Tfv37zfvz8rK0uTJk5WYmKiVK1cqOTlZffv2vW2fV69e1bvvvqtPP/1UW7duVUpKikaNGnVPPwfTLR4S7du314IFCyy2+fr62qiaB8vJkyfVsGFDhYSE2LoUAABKtMuXL+uTTz7RkiVLFBkZKUlasGCBKlasaG7Tr18/89dBQUGaM2eOGjdurIyMDLm7u+fbb1ZWlubPn6/q1atLkoYMGaJJkybdw0/CleSHhtFolJ+fn8Uye/ZshYaGys3NTQEBARo8eLAyMjIsjouPj1dERIRcXV1VpkwZRUVF6eLFi5JuvPoxJiZG1apVk4uLi8LDw/XFF1+Yj73555K4uDg1atRIrq6uatasmZKSkizOsWrVKjVo0EDOzs4KCgrSxIkTlZ2dLenG1AhJ6tq1qwwGg3n9Tr755hs1btxYzs7OKleunLp27Zpvu6pVq+rLL7/UwoULZTAY7vibLAAAuLWff/5ZWVlZatKkiXmbl5eXatasaV7ft2+fOnfurMDAQHl4eKhVq1aSpJSUlFv26+rqag7IkuTv728xReNeICQ/xOzs7DRnzhz9+OOP+uSTT7Rx40aNHj3avD8hIUGRkZGqU6eOdu7cqe3bt6tz587mN9jExMRo4cKFmj9/vn788UeNGDFCzz33nLZs2WJxnjfeeEMzZszQ3r175eDgYPEb5LZt29S7d28NGzZMR44c0YcffqjY2FhNnTpVkrRnzx5JN34LTU1NNa/fzpo1a9S1a1f97W9/04EDBxQXF2fxn/Wv9uzZo/bt2+uZZ55RamqqZs+enW+7zMxMpaenWywAAKBwrly5oqioKHl6emrx4sXas2ePVqxYIUm6fv36LY+zfr20wWCQyWS6p7Uy3eIhsXr1aos/YXTo0EHLly83r1etWlVTpkzRoEGDNG/ePEnS9OnT1ahRI/O6JD3yyCOSboTGt956Sxs2bFDTpk0l3fiTyfbt2/Xhhx+afyuUpKlTp5rXX3/9dXXs2FHXrl2Ts7OzJk6cqNdff119+vQx9zF58mSNHj1a48ePN08J8fb2LvCdrlOnTtXf//53TZw40bwtPDw837a+vr4yGo1ycXG5bf8xMTEW/QEAgLyCgoLk6OioPXv2KDAwUJKUlpamY8eOqWXLlvrpp5/0xx9/aNq0aQoICJAk7d2715Yl3xIh+SHRunVrffDBB+Z1Nzc3bdiwQTExMfrpp5+Unp6u7OxsXbt2TVevXpWrq6sSEhLUvXv3fPs7ceKErl69qnbt2llsv379uurXr2+xLSwszPy1v7+/JOn8+fMKDAxUYmKi4uPjzVeOpRvvWv9rHYWVkJCgAQMGFPq424mOjtbIkSPN6+np6eb/3AAA4AYPDw/16dNHr732mnx8fFS+fHmNHz9ednZ2MhgMCgwMlJOTk9577z0NGjRIhw8f1uTJk21ddr4IyQ8JNzc3BQcHm9eTk5PVqVMnvfTSS5o6dap8fHy0fft29e/fX9evX5erq6tcXFxu2d/Nuctr1qxRpUqVLPYZjUaL9b/+ieTm+9Rzc3PN/UycOFFPPfVUnnM4OzsX8lPecLu6i8poNOb5XAAAIK9//etfGjRokDp16iRPT0+NHj1aZ86ckbOzs3x9fRUbG6t//vOfmjNnjho0aKB3331XTzzxhK3LzoOQ/JDat2+fcnNzNWPGDNnZ3Zia/vnnn1u0CQsLU1xcXL7TDOrUqSOj0aiUlBSLqRWF1aBBAyUlJVkEeGuOjo7medAFcbPuF154och1AQDwILLFG/AKy8PDQ4sXLzavX7lyRRMnTtSLL74oSerZs6d69uxpccxf5xdHRERYrPft2zfPjfVdunRhTjLujeDgYGVlZem9995T586dFR8fr/nz51u0iY6OVmhoqAYPHqxBgwbJyclJmzZtUvfu3VWuXDmNGjVKI0aMUG5urh5//HGlpaUpPj5enp6e5jnGdzJu3Dh16tRJgYGBevrpp2VnZ6fExEQdPnxYU6ZMkXRjvnRcXJyaN28uo9GoMmXK3LbP8ePHKzIyUtWrV9ff//53ZWdn69tvv9WYMWOKNlgAAKDADhw4oJ9++klNmjRRWlqa+VFtTz75pI0rKxyebvGQCg8P17/+9S+9/fbbqlu3rhYvXqyYmBiLNjVq1NC6deuUmJioJk2aqGnTplq1apUcHG78bjV58mSNHTtWMTExql27ttq3b681a9aoWrVqBa4jKipKq1ev1rp169S4cWM99thjmjlzpqpUqWJuM2PGDK1fv14BAQF55jvnJyIiQsuXL9fXX3+tevXqqU2bNtq9e3eBawIAAHfn3XffVXh4uNq2basrV65o27ZtKleunK3LKhSD6V5fqwZKofT0dHl5eSktLU2enp62LgcAUIpcu3ZNp06dUrVq1Yp8f87D7HbjV5if31xJBgAAAKwQklHiPPLII3J3d893+euNAgAAAEXFjXsocb799ltlZWXlu69ChQr3uRoAAO6Nm49LReEU10xiQjJKnL/e1AcAQGnj5OQkOzs7nT17Vr6+vnJycjK/ZwC3ZzKZ9Pvvv8tgMOR5lXVhEZIBAAAeIHZ2dqpWrZpSU1N19uxZW5dT4hgMBlWuXFn29vZ31Q8hGQAA4AHj5OSkwMBAZWdnF+qFWrjxErK7DcgSIRkAAOCBdHPKwN1OG0DR8HQLAAAAwAohGQAAALBCSAYAAACsMCcZKIKbz2BMT0+3cSUAAKCgbv7cLsizlAnJQBH88ccfkqSAgAAbVwIAAArr8uXL8vLyum0bQjJQBD4+PpKklJSUO/4nw91LT09XQECAzpw5I09PT1uXU+ox3vcX431/Md7314M23iaTSZcvX1bFihXv2JaQDBSBnd2N6fxeXl4PxH/6h4WnpyfjfR8x3vcX431/Md7314M03gW9uMWNewAAAIAVQjIAAABghZAMFIHRaNT48eNlNBptXcpDgfG+vxjv+4vxvr8Y7/urJI+3wVSQZ2AAAAAADxGuJAMAAABWCMkAAACAFUIyAAAAYIWQDAAAAFghJANF8P7776tq1apydnbWo48+qt27d9u6pFJh69at6ty5sypWrCiDwaCVK1da7DeZTBo3bpz8/f3l4uKitm3b6vjx47YpthSIiYlR48aN5eHhofLly6tLly5KSkqyaHPt2jW9/PLLKlu2rNzd3dWtWzedO3fORhWXbB988IHCwsLML1Vo2rSp1q5da97PWN8706ZNk8Fg0PDhw83bGO/iNWHCBBkMBoulVq1a5v0lcbwJyUAhffbZZxo5cqTGjx+v/fv3Kzw8XFFRUTp//rytSyvxrly5ovDwcL3//vv57p8+fbrmzJmj+fPna9euXXJzc1NUVJSuXbt2nystHbZs2aKXX35ZP/zwg9avX6+srCz93//9n65cuWJuM2LECH3zzTdavny5tmzZorNnz+qpp56yYdUlV+XKlTVt2jTt27dPe/fuVZs2bfTkk0/qxx9/lMRY3yt79uzRhx9+qLCwMIvtjHfxe+SRR5Sammpetm/fbt5XIsfbBKBQmjRpYnr55ZfN6zk5OaaKFSuaYmJibFhV6SPJtGLFCvN6bm6uyc/Pz/TOO++Yt126dMlkNBpNS5cutUGFpc/58+dNkkxbtmwxmUw3xtfR0dG0fPlyc5ujR4+aJJl27txpqzJLlTJlypg++ugjxvoeuXz5sikkJMS0fv16U6tWrUzDhg0zmUx8b98L48ePN4WHh+e7r6SON1eSgUK4fv269u3bp7Zt25q32dnZqW3bttq5c6cNKyv9Tp06pd9++81i7L28vPToo48y9sUkLS1NkuTj4yNJ2rdvn7KysizGvFatWgoMDGTM71JOTo6WLVumK1euqGnTpoz1PfLyyy+rY8eOFuMq8b19rxw/flwVK1ZUUFCQevXqpZSUFEkld7wdbF0AUJJcuHBBOTk5qlChgsX2ChUq6KeffrJRVQ+H3377TZLyHfub+1B0ubm5Gj58uJo3b666detKujHmTk5O8vb2tmjLmBfdoUOH1LRpU127dk3u7u5asWKF6tSpo4SEBMa6mC1btkz79+/Xnj178uzje7v4Pfroo4qNjVXNmjWVmpqqiRMnqkWLFjp8+HCJHW9CMgBAL7/8sg4fPmwxhxDFr2bNmkpISFBaWpq++OIL9enTR1u2bLF1WaXOmTNnNGzYMK1fv17Ozs62Lueh0KFDB/PXYWFhevTRR1WlShV9/vnncnFxsWFlRcd0C6AQypUrJ3t7+zx35J47d05+fn42qurhcHN8GfviN2TIEK1evVqbNm1S5cqVzdv9/Px0/fp1Xbp0yaI9Y150Tk5OCg4OVsOGDRUTE6Pw8HDNnj2bsS5m+/bt0/nz59WgQQM5ODjIwcFBW7Zs0Zw5c+Tg4KAKFSow3veYt7e3atSooRMnTpTY729CMlAITk5OatiwoeLi4szbcnNzFRcXp6ZNm9qwstKvWrVq8vPzsxj79PR07dq1i7EvIpPJpCFDhmjFihXauHGjqlWrZrG/YcOGcnR0tBjzpKQkpaSkMObFJDc3V5mZmYx1MYuMjNShQ4eUkJBgXho1aqRevXqZv2a8762MjAydPHlS/v7+Jfb7m+kWQCGNHDlSffr0UaNGjdSkSRPNmjVLV65c0QsvvGDr0kq8jIwMnThxwrx+6tQpJSQkyMfHR4GBgRo+fLimTJmikJAQVatWTWPHjlXFihXVpUsX2xVdgr388stasmSJVq1aJQ8PD/PcQC8vL7m4uMjLy0v9+/fXyJEj5ePjI09PT73yyitq2rSpHnvsMRtXX/JER0erQ4cOCgwM1OXLl7VkyRJt3rxZ33//PWNdzDw8PMxz629yc3NT2bJlzdsZ7+I1atQode7cWVWqVNHZs2c1fvx42dvbq2fPniX3+9vWj9cASqL33nvPFBgYaHJycjI1adLE9MMPP9i6pFJh06ZNJkl5lj59+phMphuPgRs7dqypQoUKJqPRaIqMjDQlJSXZtugSLL+xlmRasGCBuc2ff/5pGjx4sKlMmTImV1dXU9euXU2pqam2K7oE69evn6lKlSomJycnk6+vrykyMtK0bt06837G+t766yPgTCbGu7j16NHD5O/vb3JycjJVqlTJ1KNHD9OJEyfM+0vieBtMJpPJRvkcAAAAeCAxJxkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMAKIRkAAACwQkgGAAAArBCSAQAAACuEZAAAAMDK/wP4VWGWMKiSBgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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tWvXloODg3bu3Gnedv78eR09evSmxzg7OysyMlKzZs1SfHy8tm/froMHD0qSHB0dlZuba9E+ISFBTz75pJ599lmFhoaqVq1at+y/ICEhIfr1119velyTJk10+PBhBQYG5lscHR1v27+9vb06dOigqVOn6sCBA0pNTdXGjRslXZ/d48b4aknKzMy87d3pwqpTp45GjhypdevWqUePHpo7d26J9AsAAEo3QrKNubm5aeDAgXrjjTe0ceNGHTp0SAMGDJCdXcH/aWJjYzVnzhwdOnRIP//8s+bPny9nZ2fVqFFD0vWZIH744QedOnVK586dk3R9rO369eu1bds2HTlyRIMHD9bZs2eLVGfbtm3Vpk0b9ezZU+vXr9eJEye0du1afffdd5KujwHetm2bXn31VSUmJurYsWNatWpVoR7cW716tWbNmqXExESdPHlS8+bNU15ennnISfv27fXFF19oy5YtOnjwoPr3729+YLC4Ll26pFdffVXx8fE6efKkEhIStHv3btWvX/+O+gUAAGUDD+7dB95//31lZWUpMjJS7u7uev3115WRkVFgW09PT02ZMkWjRo1Sbm6ugoOD9c0336hixYqSpEmTJmnw4MGqXbu2cnJyZDKZ9NZbb+nnn39WRESEXFxc9NJLL6lbt243PcfNfPXVVxo9erT69OmjixcvKjAwUFOmTJF0/U7z5s2b9eabb+qxxx6TyWRS7dq11bt379v26+npqeXLl2vixIm6fPmygoKCtGjRIj300EOSro8HPnHihLp27SoPDw+9/fbbd3wnuVy5cvrjjz/Ur18/nT17VpUqVVKPHj14OA8AAEiSDCbrwZ4AbiszM1MeHh7yG7FEdkYXW5cDlFqpU7rYugQAD5Abv78zMjJu+3wRwy0AAAAAK4Rk3HVbtmyxmBrOegEAALjf3PFwi8uXL9/yRRHApUuXdOrUqZvuDwwMvIfVlIyi/LkGAADcH4ry+7tYD+7l5eVp8uTJmj17ts6ePaujR4+qVq1aGjdunAICAjRw4MBiFY6yydnZuVQGYQAA8OAq1nCLd955R7GxsZo6darFHLgNGzbUf/7znxIrDgAAALCFYoXkefPm6d///rf69u1rMV9taGiofvrppxIrDgAAALCFYoXkU6dOFfjn87y8vFu+HhkAAAAoDYoVkhs0aKAtW7bk275s2TI1btz4josC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W7bU66+/rtdff10nT55Ujx495Ofnp/T0dM2ZM0cGg0F2dtf/3TVy5EitWbNG4eHhmjBhgh577DFVqFBBR48e1dq1a/PdxS2soKAgpaWlafHixWrevLnWrFljnrXihgkTJig8PFy1a9fW3/72N127dk3ffvutxo4dqzp16qhv377q16+fpk2bpsaNG+v3339XXFycQkJC1KULY0sBAAB3klGAgQMH6vz584qIiLB4uE26/pDcwoULtX//fnXt2lVBQUHq1auX8vLytH37dvMgeCcnJ8XFxWns2LGaO3euHn30UdWvX18jRoxQ69attXLlymLV9sQTT2jkyJF69dVX1ahRI23btk3jxo2zaBMWFqalS5fq66+/VqNGjdS+fXvt2rXLvH/u3Lnq16+fXn/9ddWtW1fdunXT7t275e/vX6yaAABA2cPsFkAx3Hg6ltktIDG7BQCUFsxuAQAAANwBQjIAAABghQf3gDtwKDritn+uAQAApQ93kgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADACiEZAAAAsEJIBgAAAKwQkgEAAAArhGQAAADAir2tCwBKs4YTvped0cXWZZilTuli6xIAACgTuJMMAAAAWCEkAwAAAFYIyQAAAIAVQjLuutTUVBkMBiUmJpq3JSQkKDg4WA4ODurWrZvNagMAACgID+7BJkaNGqVGjRpp7dq1cnNzs3U5AAAAFriTDJtISUlR+/btVb16dXl6etq6HAAAAAuEZJSYvLw8TZ06VYGBgTIajfL399fkyZMt2twYevHHH3/ohRdekMFgUGxs7C37PX/+vPr27Stvb285OzsrKChIc+fOlSTFx8fLYDDowoUL5vaJiYkyGAxKTU2VJMXGxsrT01OrV69W3bp15eLioqeeekrZ2dn6/PPPFRAQoAoVKmjYsGHKzc0tyUsCAABKKYZboMRERUXps88+0/Tp0/Xoo48qPT1dP/30k0UbPz8/paenq27dupo0aZJ69+4tDw+PW/Y7btw4HT58WGvXrlWlSpV0/PhxXbp0qUi1ZWdna9asWVq8eLH+/PNP9ejRQ927d5enp6e+/fZb/fzzz+rZs6dat26t3r175zs+JydH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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for importance_type in [\"gain\", \"split\"]:\n", " # feature importance with percentages\n", " fi_df = pd.DataFrame({\n", " \"feature_name\": gbms[winner_id].feature_name(),\n", " importance_type: gbms[winner_id].feature_importance(\n", " importance_type=importance_type\n", " )\n", " })\n", "\n", " fi_df = fi_df.sort_values(by = [importance_type], ascending=False)\n", " fi_df[importance_type] = 100 * fi_df[importance_type] / fi_df[importance_type].sum()\n", " fi_df = fi_df[fi_df[importance_type] > 0]\n", "\n", " ax = fi_df.plot.barh(x='feature_name', y=importance_type)\n", " ax.invert_yaxis()\n", " plt.legend(loc='lower right')\n", " # _ = ax.bar_label(ax.containers[0])\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 36, "id": "db1adfbc", "metadata": {}, "outputs": [], "source": [ "# feature importance as table\n", "feature_importances = {}\n", "for importance_type in [\"gain\", \"split\"]:\n", " # feature importance with percentages\n", " fi_df = pd.DataFrame({\n", " \"feature_name\": gbms[winner_id].feature_name(),\n", " importance_type: gbms[winner_id].feature_importance(\n", " importance_type=importance_type\n", " )\n", " })\n", "\n", " fi_df = fi_df.sort_values(by = [importance_type], ascending=False)\n", " fi_df[importance_type] = round(100 * fi_df[importance_type] / fi_df[importance_type].sum(), 2)\n", " # fi_df = fi_df[fi_df[importance_type] > 0]\n", "\n", " feature_importances[importance_type] = fi_df" ] }, { "cell_type": "code", "execution_count": 37, "id": "61126298", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
feature_namegainsplit
0distance_sums51.3711.30
1clf_sum24.721.97
2Facenet51216.8717.03
3distance_multiplications2.499.08
4ArcFace1.8925.46
5Facenet1.4318.32
6Dlib0.608.71
7VGG-Face0.597.04
8Dlib_clf0.030.24
9Facenet_clf0.010.86
10Facenet512_clf0.000.00
11VGG-Face_clf0.000.00
12ArcFace_clf0.000.00
13clf_multiplication0.000.00
\n", "
" ], "text/plain": [ " feature_name gain split\n", "0 distance_sums 51.37 11.30\n", "1 clf_sum 24.72 1.97\n", "2 Facenet512 16.87 17.03\n", "3 distance_multiplications 2.49 9.08\n", "4 ArcFace 1.89 25.46\n", "5 Facenet 1.43 18.32\n", "6 Dlib 0.60 8.71\n", "7 VGG-Face 0.59 7.04\n", "8 Dlib_clf 0.03 0.24\n", "9 Facenet_clf 0.01 0.86\n", "10 Facenet512_clf 0.00 0.00\n", "11 VGG-Face_clf 0.00 0.00\n", "12 ArcFace_clf 0.00 0.00\n", "13 clf_multiplication 0.00 0.00" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "feature_importances[\"gain\"].merge(feature_importances[\"split\"], on = [\"feature_name\"], how = \"left\")" ] }, { "cell_type": "code", "execution_count": 38, "id": "f0034dfa", "metadata": {}, "outputs": [], "source": [ "explainer = shap.Explainer(gbms[winner_id])\n", "shap_values = explainer(x_test)" ] }, { "cell_type": "code", "execution_count": 39, "id": "13fa32e1", "metadata": {}, "outputs": [ { "data": { "image/png": "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NC3WDcllxAIGp8Fl/XV004agCcEIw3tqvDs+ufkdCtFK5InLLbdTLQmXXHIJc+bM4e6772bZsmV0796dhQsXsmjRooRnCGzL008/zddff83xxx9PQUEBSinmz5/P2rVrE6Z/rG9leOihhzjjjDNwuVx0796dHj16MHToUN544w3++te/MmjQIMrKypg9e3a8//euysvL44YbbuDee+9l3LhxjBgxgvz8fIqLi5k3bx633XYbBx98ML1792bixIk8+eSTXHDBBQwbNoycnBxKS0tZtmwZX3zxBV9//fVvysuuGDRoEJ07d+aJJ56gqqqK9u3b89NPP/Hzzz+36N4A9O3bl1mzZvHYY4/RtWtXNE3jxBNP3G5rQHp6Op988gklJSUceeSR8SlQs7KymDRp0k6fR0vvw+DBg3nxxRf54x//yNlnn43T6eSbb75h1apVzZ5vnz59+Pbbb3n22Wdp164dmqZx2mmnNZuHlJQUrrvuOu69914uu+yy+PM03n77bTZs2MCtt97apJ9lS6xbt46JEycyZMgQunfvTkpKCmvXruW1116joKCAI444Yqf3KYTYsdDmWtxBhV/3kWxvHSjYJNNc8CAaOypfI8kNgW3NOaLB9HOTmH7uXs2WEGIP2qkgITU1laeeeoopU6bw7rvvArHpLp944gmuvPLKHW5/0kknUVpaykcffUR5eTlut5uOHTvy97//nTPPbGhf7devH9deey1vvPEGd911F5ZlMWHCBHr06MH1119PUlISH374IfPmzSMvL4+zzz6bXr16cdVVV+3k6ScaO3YsHTp0YMaMGbz88stEo1FycnIYOHAgeXl58fUmTpxIr169ePnll3nppZcIBoNkZmbSvXt3brzxxt+Uh11lGAZTpkzhvvvuY+bMmTidTo4++miefPJJfv/737doH1dddRVVVVW8+uqr1NTUoJTirbfe2m6Q4PV64w9Te+SRR1BKccwxx/DnP/95l56RAC27D/369ePf//43Tz31FI8//jhut5tBgwbx5JNPMmHChCb7vOWWW7j33nuZPn16vHVgW0ECxGbEys7O5rnnnmPatGkAHHTQQdx3331NHqbWUnl5eYwePZqFCxfy6aefxs/r7LPP5tJLL8Xjab5bgBDit9GcOg7LYosqwMfKuiZ0BZiAjc6O584XsOUqg+QHtmqpre+PYEsdrBAH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Qxk8eDDPPfccV111Fffcc09AvFu3bqVRo0YVau9IISEhDBw4kEcffZTk5OQTeg87d+5kwoQJjBw50lfWpEkT/u///o8PP/yQ66677oRiWbNmDVOnTqVz5848//zzfkOBbr/9dt/PDoeD+fPnByQh7dq146mnnmLx4sVceOGFxMXFccEFF5zQ72fr1q28++67nH322bz66qvY7XYALr30Uq688kqeeeYZunXr5jePYePGjX6/v8svv5z8/HxmzZrFnXfeqd4EkVpiR2hjeuzeTJSrZIWjfFso29yp1RyViIg/LYF6AubPn09kZCQ33XRTwD6L5dR/lG3btvVdYALY7XZat26NaZqMGDHC79gOHToAsGPHjlMe1/GEhYVx5ZVX+pVdeeWVhIWF8fXXX59wffPnzwdg7NixAXMFDMPwTZ42DMOXIHg8HnJzc8nKyqJLly5ASbJRUUuWLME0Ta699lpfggCQkJDAkCFD2L17N3/88YffOUf//gC6dOmCx+Nh165dFY6lsmVmZlJcXOzbzsvLIzc317ftdDrJyMjwO2f37t1lbqenp2OaptpQG2oDSMnaS74jjC2RjdgS2YjM4Fha7t1W496H2lAbp6INOX2oJ+EEbN++nebNm1fbJNbk5OSAskMToevVq+dXHhERAUB2dvapD+w4kpOT/S6koeQuf3JyMmlpaSdc3/bt2zEMg2bNmh332C+//JL33nuPP/74A7fb7bcvJ6fiDy86dFHftGngZMNDZWlpabRq1cpXXtrvLyoqCjg9fk+HHD1PJDw83G/b4XAQFxfnV5aUlFTmdt26ddWG2lAbB9XJyyXfevgYt8VGuPNwb3RNeR9qQ22cijZONa8mLpebkoQapKwlOI+178gM/1jLkx598VwTHNljcCyLFi3igQceoHXr1tx9990kJibicDjwer3cfvvtfp9NVSjr91fVsYhI9fGW8tXrtFT+6nAiIidDScIJaNiwIVu3bsXpdJ6S5T5PtUO9DtnZ2b472ECF7uafiLS0NFwul19vgtPpJC0trULzJRo2bMiKFSvYsGFDwPCdI82dO5egoCBee+01v3kJW7duDTj2RJ/vcKhX4M8//wx4KN7mzZv9jhEROdKeqFAic/3LssP0dSxSFfRU5fLTnIQTMGDAAHJycnjzzTcD9tWEO8EpKSkAfP/9937l7733XrnrCA0N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nHvuufz6668UFRWV6/MCmD9/PgBjx471SxAADMPAqKFPbszMzKS4uNi3nZeXR25urm/b6XSSkZHhd87RK1UdvZ2eno5pmmpDbagN4JN259L83kk8eeEVPNt7KO0nPMtz5x2+WVBT3ofaUBunoo1TzWUYZb7kMMM88rcrtdatt97Kpk2bePPNN/0ubl9//XW++uor5s2bR3R0NFAyJ6Ffv348/bT/o3/eeecdXnzxRV566SW6du1aZntDhgwhJCSEjz/++JjHTJ8+nRkzZrB58+aAXohbbrmF0aNHA3DllVeSm5vru2g/lh49evj98SrNnDlzqFu3bpnHHDJu3DhWrlzJN998E5AkHGnXrl1ccsklAXMOhgwZQlJS0gn1XohIzWd7pgiP9aiOfNOLeY+jegISqUUajttf5v5tL8RXUSSnPw03EtLS0li1ahWmaTJs2LBSj5k7dy4jRx5+QujRE4cr23vvvcekSZPo2rUrI0aMID4+Hrvdzr59+5g4cWJA0lBeqamp3HnnncfcHxMTc0L11eQeAxGpHg6Pm8KjkgSrV/frROT0oiRBmD17NqZp8vDDDxMeHh6w/5VXXmHWrFl+SUJpGjZsCMAff/xx3J6E45k7dy716tXjhRde8BsytGLFioBjU1JSWLJkCRkZGcTFHXud8QYNGnDgwAG6dOkSMCypIho2bMiKFSvYsGGDb36EiMjxDFv9Le93vsCvrPfG34DO1RKPSG0SuGyAHIvmJNRyXq+X2bNnk5qayqWXXkq/fv0CXv3792fTpk2sXbu2zLq6du1KdHQ077//Pvv3B3bnncjINqvVimEYfue43W7efvvtgGMvvvhiAF544YWAHoYjzx80aBAZGRm8//77pbZ59DjJ4+nfv2S5wpdffhmXK/DPjkbyiUhpnp/1Do8t+JjogjzCiwoY+808Pn7vueoOS0TEj3oSarlvv/2WPXv2MHTo0GMe06dPH15//XVmzpxJ69atj3lccHAwjzzyCPfddx/Dhw/3LYF64MABvv32W0aOHMkFF1xQrrj69u3LSy+9xLhx4+jduzf5+fksWLDAb7WjQ/r168eFF17I559/zo4dO+jZsycRERFs376dlStX+uY9XH311Xz33Xc8//zz/PDDD3Tp0oWwsDDS09P54YcfcDgcvPbaa+WKD6BNmzb89a9/5Z133uGaa67hoosu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "shap.summary_plot(shap_values, x_test, feature_names=feature_names)" ] }, { "cell_type": "code", "execution_count": 40, "id": "1cf7697a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAK8CAYAAAByTimbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACmKUlEQVR4nOzdeVjU5f7/8deAqAjuIiHgirmXGu67YiqIJlqZJy0sXBKtXMpTJyPT65sd85ilHkClcDlulIh75ZK7YotprqnhkiuCiEIs8/vDi/k5DijwUQF9Pq6r62LuuT/35z2f8VxnXnPf92dMZrPZLAAAAAAwwK6gCwAAAABQ9BEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLIAiKCwsTGlpaQVdBgAAgAXBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhpnMZrO5oIsAkDemqekFXQIAALhPzGOLFXQJ9wUzFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCRSHm7++vIUOG3LMNAAAAKGgEi8dEbGysQkNDlZSUVNClAAAA4BH0aPzM32MkKipKJpMpz8ft27dP4eHh8vf3V+nSpR9AZQAAAHicESyKmOLFixd0CQAAAIANgkUhcP78eU2fPl07d+6UJDVt2lRjxozJtq+/v7/c3NwUFhZmafv11181d+5cHTlyRElJSSpbtqxq166toKAgNWrUSCEhIVq1apUkqVevXpbjgoKCNHToUF26dEkLFizQ3r179ddffyk1NVXu7u7y8/PTwIEDZW9vbzkmJiZGH330kWbPnq3Dhw9r+fLlunjxotzc3DR48GD17NnTpubY2FjNnz9fBw4c0M2bN+Xi4qJnnnlGo0aNUrly5Sz9NmzYoCVLlujYsWPKyMiQl5eXBg4cKB8fnzxf03tdE0mW6xIbG2tzvLe3t3r27KmQkBBJ0rlz59SrVy8FBQWpZs2aioiI0J9//ikXFxcNHjxYvXr10vnz5zVt2jTFxsYqPT1dHTp00Pjx4+Xk5GQZ9/z58woNDdXevXt15coVOTs7y9PTUwEBAdleOwAAgKKCYFHAkpKSNGTIEF24cEEBAQGqWbOmfvrpJw0dOlSpqan3PP7UqVMaMWKEKlasqP79+6tChQqKj4/XL7/8oqNHj6pRo0YKCAhQcnKyNm3apNGjR1s+zNeuXVuSdOzYMW3atEkdO3aUh4eH0tPTtXPnTn355Zc6e/as3n//fZvzzpw5U6mpqQoICFDx4sW1fPlyhYSEyMPDQ40bN7b0i4qK0ieffKLKlSurb9++cnNz0/nz57V161ZduHDBUsusWbM0b948tW7dWsOGDZOdnZ02bdqk8ePH65133tELL7yQ62uam2uSX9u2bdM333yjfv36qUyZMoqOjtbEiRPl4OCgmTNnqlmzZnrjjTf0+++/a+XKlSpevLg++OADSVJ6erpGjBihS5cuqV+/fqpataquX7+u48eP6+effyZYAACAIo1gUcAiIyN17tw5TZgwwTKb8Pzzz+uzzz7T//73v3sev2vXLqWkpGjy5Mlq2LBhtn2eeuopeXl5WcJDlSpVrJ5v2rSpoqOjrfZuDBgwQB988IGio6M1dOhQVapUyeqYv//+W5GRkXJwcJAkdenSRb1799bSpUstweLChQuaOnWqqlevrnnz5lnt7Rg+fLgyMzMlSYcPH9a8efMUGBioESNGWPr0799fY8aM0cyZM+Xn52f1zb/Ra5JfJ0+e1LJly+Tm5iZJevbZZ+Xn56cJEybozTff1Msvv2zpm5SUpNWrV2vMmDEqVaqUTp48qT///FMjR47UK6+8cl/rAgAAKGjcFaqAbd68WRUrVpSfn59Ve24/eDo7O0uStmzZkqsZjuyULFnSEirS0tKUmJiohIQEtWrVSpmZmfr9999tjnn++ectoUKSKleurKpVq+r06dOWtu+//15paWkKCgrKdsO4nd2tf35r166VyWSSn5+fEhISrP5r3769kpOT9dtvv+X69dyPa5KTjh07WkKFJJUvX17VqlWTnZ2dzaxK48aNlZ6ernPnzlnVtW/fPsXHx9/XugAAAAoaMxYF7OzZs6pfv77VPgZJqlSpUq7u3vTss89qzZo1ioiI0KJFi9SoUSO1bNlS3bp1s/oAfDfp6en66quvtGbNGp0+fVpms9nq+WvXrtkc4+7ubtNWtmxZnT9/3vI4K2TUqVPnruc/efKkzGaz+vXrl2OfK1eu3HWM292Pa5KT7F536dKlValSJZuN9WXKlJEkJSYmSpJlH8pXX32l7t2768knn1SzZs3k4+OjBg0aGKoLAACgoBEsirjixYtr1qxZOnDggHbt2qWffvpJoaGhCg8P16RJk9SpU6d7jvGf//xHS5YsUdeuXTV48GCVL19exYoV0+HDh/XFF1/YBA3p/8823Cm7vrlhMpk0Y8aMHMetVatWrsfK7TXJ6ba96enpOY6dU305tUvW1+SNN95Qr169tG3bNv3yyy+Kjo7W/PnzNWjQII0aNSo3Lw8AAKBQIlgUMHd3d50+fVoZGRlWsxaXL1/O04/ZNWzY0LKf4Pz58/rHP/6h2bNn3/NDtCStWbNGTZs21f/93/9Ztd++rCk/qlatKkk6evSoqlWrlmM/T09P7dixQ0888YRq1Khh6Jy3u9c1uX1GoWzZspbjzp49e99qyI6Hh4f69++v/v37KzU1VSNHjlRkZKRefvllVahQ4YGeGwAA4EFhj0UB69Chg65cuaLVq1dbtX/99de5Oj4hIcGmzdXVVeXLl7cswZGkUqVKScp+WZOdnZ3NTMPNmze1aNGiXNWQky5dusjBwUHh4eG6fv26zfNZ5/T19ZV0605TGRkZNv3ysgxKyv01yQo+e/bsseq7YMGCPJ0vt65fv24zG1KiRAlVr15dUvbvDQAAQFHBjEUBGzRokNatW6fJkyfr0KFDqlWrlvbt26f9+/db/cZDTubOnatdu3apbdu2cnd3l9ls1tatW3Xq1CkNGjTI0i/rm/sZM2aoR48eKl68uGrVqiUvLy916dJF33zzjf75z3+qefPmunLlimJiYqy+xc8PV1dXjRkzRlOmTFH//v3l5+cnNzc3Xbx4UVu2bNGECRNUp04dNWjQQEOGDFFYWJgGDBggHx8fubi46PLlyzp06JC2b9+uXbt25fq8ub0m3bp106xZszR58mSdOnVKZcqU0c6dO7MNJvdDbGysJk+erM6dO6tatWoqVaqUDh06pOjoaDVs2NASMAAAAIoigkUBK1OmjObMmaNp06ZpzZo1km7d/jU0NFTDhw+/5/EdOnTQ5cuX9f333ys+Pl4lSpSQp6en/vWvf6l3796Wfo0bN9bIkSP1zTffaNKkScrIyFBQUJC8vLw0evRoOTk56bvvvtOWLVvk6uqqPn36qH79+nrjjTcMvb5+/frJw8NDkZGRWrx4sdLS0uTi4qJmzZrJ1dXV0m/IkCGqX7++Fi9erP/973+6efOmKlSooFq1amns2LF5Omdur4mzs7M+//xzTZs2TREREXJ0dFTnzp318ccf52pvSl7Vrl1bnTp10r59+7Ru3TplZGToiSeeUGBgoNVtagEAAIoikzm/u20BFBjT1Jw3mAMAgKLFPPbR+K6fPRYAAAAADHs04hEeC4mJiUpLS7trn5IlS1p+iA4AAAAPD8ECRca4ceP0008/3bVPz549FRIS8nAKAgAAgAXBAkXG22+/fc9bsrq4uDykagAAAHA7ggWKjHr16hV0CQAAAMgBm7cBAAAAGEawAAAAAGAYS6GAIii0zDwFBgbKwcGhoEsBAACQxIwFAAAAgPuAYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDTGaz2VzQRQDIG9PU9IIuAQCAR5p5bLGCLqHIYcYCAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBi//PEYio2N1bBhw3J8PiIiQo0aNXqIFT0cSUlJWrRokZ555hl5e3vbPD9kyBD99NNP2R4bGRmp+vXrWx5fvnxZS5Ys0eHDh3Xo0CElJCSoZ8+eCgkJsTn24sWLWr16tXbu3Kk///xTycnJqlKlitq0aaNXXnlF5cqVu18vEQAAoMAQLB5j3bp1U5s2bWzaPT09C6CaBy8pKUnh4eGSlG2wkKRy5cpp9OjRNu3u7u5Wj0+dOqWIiAi5urqqfv362rFjR47n/fHHHxUWFqa2bdtq4MCBcnJy0sGDB7Vo0SJt2LBBX3/9tSpVqmTglQEAABQ8gsVjrG7duvL19S3oMgoVR0fHXF2TevXq6bvvvlP58uWVkJAgHx+fHPs2adJEMTExVuGhT58+atiwoSZNmqQFCxborbfeuh/lAwAAFBiCBWwcOHBAy5cv1/79+3XhwgXZ29vLy8tLAwcOVKdOnWz6X758WREREdq2bZsuXrwoZ2dn1a5dW4MGDVLLli0t/eLi4hQeHq49e/YoMTFRLi4u8vHx0ZAhQ+To6GjpFxISolWrVmnz5s364osvtHHjRiUnJ6tu3boaPXq0GjZsaHV+s9msqKgorVixQidPnpSdnZ3q16+voKAgy8zE7cu/wsPDLTMXbm5uiomJsRovMzNTN27ckJOTk0wmU7bXyMnJSU5OTrm6nrVq1cq2vWvXrpo0aZL++OOPXI0DAABQmBEsHmMpKSlKSEiwanNwcNDmzZt16tQp+fj4yM3NTYmJiVq1apXGjRunSZMmqXv37pb+586d02uvvab4+Hj5+vqqfv36unnzpn777Tft2bPHEiwOHTqkYcOGqXTp0goICFDlypV19OhRLV68WL/++qvCwsJUrJj1P8fg4GCVL19er7/+uhITE7Vw4UK9+eabWrlypdWH+gkTJmj9+vXq0qWL/P39lZaWprVr12rEiBH69NNP1aFDB9WoUUOjR4/WtGnT1KlTJ0tAKlWqlNU5L168qHbt2ik1NVUlS5ZUq1atNGLECFWvXv0+Xvn/fy5JqlChwn0fGwAA4GEjWDzGQkNDFRoaatXWtWtXTZgwQcHBwVbt/fv314ABAzR37lyrYPHJJ5/o0qVL+uKLL9SqVSurYzIzMy1/T5w4UZUqVVJkZKRVKGjevLnGjRuntWvXyt/f3+r4unXravz48ZbHNWvW1Pjx47Vu3Tr17dtXkrRp0yatXbtW7733ngICAqzqDQwM1Geffab27durYsWK6tixo6ZNmyYvL69slzu5u7vr6aefVu3atWVnZ6eDBw9q6dKl2rNnj+bOnSsvL697XtO8yLr2PXv2vK/jAgAAFASCxWOsT58+NnsDKlasaLUsKSUlRSkpKZKkZs2aKSoqStevX5ezs7MSExO1c+dOtW7d2iZUSJKd3a27GR8/flzHjh3T0KFDlZaWZjVL0rhxYzk6OmrXrl02wWLAgAFWj7OWNZ0+fdrStmbNGjk5Oaljx442sy/t2rVTWFiY4uLiVK1atXtejw8//NDqsY+Pj9q3b6+hQ4dq2rRpmjVr1j3HyK0FCxbo+++/V58+fdSsWbP7Ni4AAEBBIVg8xqpWraoWLVrYtMfHx2v27NnasmWL4uPjbZ7PChanT5+W2WxWnTp17nqekydPSsp+huT2c97pzjsxZd2WNTEx0dJ26tQpJScn69lnn83x/PHx8bkKFtlp0qSJmjRpon379iklJUUlS5bM1zi3W7FihT7//HO1bdtW7777ruHxAAAACgOCBayYzWYFBwfr5MmT6t+/v+rXry9nZ2fZ2dkpJiZG69ats1rilNsxJenll1/OdmZDksqUKWPTZm9vf9fxsv4uX768Jk2alOP5c9o8nVtVqlTRvn37lJSUZDhYREdHa/LkyWrZsqU+/fRTm30lAAAARRWfamDl2LFjOnr0qIKCgjR06FCr51asWGH12NPTUyaTSUeOHLnrmFWrVpV0a2lUdjMkRnh6eiouLk6NGjWy2Yh9p5zu8HQvcXFxsre3zzb85EV0dLQmTZqk5s2ba+rUqSpevLih8QAAAAoTu4IuAIVL1r6I22cFpFv7JDZv3mzVVrZsWbVu3Vo7duzQ7t27bcbKGqNOnTqqVauWoqKidObMGZt+6enpVsub8sLPz0+ZmZn68ssvs33+ypUrlr+z9o5cu3bNpt/169eVkZFh075t2zb9+uuvatGihUqUKJGvGiUpJiZGkydPVrNmzfTZZ58ZGgsAAKAwYsYCVmrUqKGaNWsqMjJSKSkpqlatmuLi4vTNN9/Iy8tLhw4dsur/zjvvaPDgwRo1apR69uypevXqKSUlRQcPHpSbm5tGjRolk8mkiRMnavjw4XrppZfUq1cv1axZUykpKTpz5ow2btyo4OBgm83bueHj4yN/f38tXbpUhw8fVrt27VSuXDldvHhR+/fv15kzZxQdHS3p1h4NT09PbdiwQR4eHqpQoYIcHR3Vvn17xcbG6j//+Y/atWsnd3d32dvb6+DBg1q7dq3KlSunMWPG2Jx7zpw5kqTU1FRJt2Z7stqaNm2qpk2bSpK2bNmijz/+WE5OTuratas2btxoNU6pUqXUsWPHPL92AACAwoRgASv29vb6/PPPNX36dK1atUo3b95UrVq1FBISoqNHj9oEC3d3d82fP19z5szR9u3btXr1apUpU0a1a9dWnz59LP3q1KmjhQsXKiIiQj/++KOioqLk5OQkNzc3+fv7G7oz0ocffihvb299++23+uqrr5SWlqaKFSuqbt26GjFihFXfjz/+WNOmTdPMmTOVkpIiNzc3tW/fXtWqVVO9evW0detWxcfHKz09XZUrV1bfvn0VGBioypUr25z3v//9r9XjI0eOWJaFBQUFWYLF4cOHlZmZqaSkJE2ePNlmHDc3N4IFAAAo8kzmO9e8ACj0TFPTC7oEAAAeaeaxfP+eV+yxAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhnGDXqAICi0zT4GBgXJwcCjoUgAAACQxYwEAAADgPiBYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDTGaz2VzQRQDIG9PU9IIuAXjkmccWK+gSAKBIYcYCAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrBAkRETEyNvb2/FxsZatZ89e1ZjxoyRj4+PvL29FRISUjAFAgAAPMb49R8UeR999JGOHTumwYMHq2LFivLw8CjokgAAAB47BAsUaX///bd+/vlnvfDCCxo4cGBBlwMAAPDYYikUirT4+HiZzWaVKVOmoEsBAAB4rBEsUCikpaXp66+/1oABA9SmTRt16NBBAwcO1JIlS3I8JiQkRD179pQkhYeHy9vbO9s9GHezbds2DRkyRF26dFGbNm3k5+encePG6c8//7T0GTJkiPz9/W2OPXfunLy9vRUaGmppi42Nlbe3t2JiYrRs2TIFBASodevWevHFF7V161ZJ0vHjxzVy5Eh16NBBXbp00b///W+lp6fnumYAAIDCiKVQKHBpaWkKDg7Wvn371LJlS/Xo0UPFixfX8ePHtWnTJr344ovZHhcQEKAnn3xS06ZNU6dOndSpUydJUo0aNXJ13n379mn06NGqVauWAgMD5ezsrMuXL2vPnj06ffq0qlWrlu/XtGzZMl27dk3PPfecihcvriVLlmjs2LGaMmWKJk2apG7duqlDhw7avXu3lixZovLly+v111/P9/kAAAAKGsECBW7RokXat2+fAgMDNWLECKvnMjMzczzuqaeeUqVKlTRt2jR5eXnJ19c3T+fdsmWLMjMzNXPmTFWoUMHSfj8+4F+6dEnLli2Ts7OzJKlZs2Z66aWXNG7cOE2ZMkWdO3eWJPXr108vv/yyli1bRrAAAABFGkuhUODWrVunMmXKZPvB2s7uwf0TzfrQv3Hjxvu+FKlnz56W8SWpdu3acnJykouLiyVUZGncuLGuXLmiGzdu3NcaAAAAHiaCBQpcXFycqlevrhIlSjzU877wwguqU6eOPvnkE3Xp0kWjRo3S4sWLdfXqVcNju7u727SVKVNGVapUsWkvXbq0JCkxMdHweQEAAAoKwQKPrXLlyikyMlL//e9/9cILL+jGjRuaNm2aAgICtH//fks/k8mU7fEZGRk5jm1vb59t+91mYMxmcy4rBwAAKHwIFihw1apV06lTp/T3338/9HPb29vL29tbI0aM0Jw5c7Rw4ULduHFDc+fOtfQpU6aMrl27ZnPs2bNnH2apAAAAhRrBAgWue/fuunbtmtWH+SwP8lv8hIQEm7bq1aurZMmSVkGiWrVqSk5O1oEDByxtmZmZWrRo0QOrDQAAoKjhrlAocC+99JK2bt2quXPn6vfff1eLFi1UokQJnThxQn/++admzZr1QM47adIkXbx4US1atJCbm5tSU1P13XffKTk5WX5+fpZ+ffr00YIFCzRu3Dj1799fDg4O+uGHH+66FAoAAOBxQ7BAgXNwcNCXX36pBQsWaP369Zo1a5aKFy+uqlWrZvvDdPeLr6+vYmJitHr1al29elVOTk6qWbOmpkyZoi5dulj6ubu7a+rUqZo1a5b++9//qmzZsvL19VWvXr3Ur1+/B1YfAABAUWIys2MUKHJMU/mlbuBBM4/luzcAyAv2WAAAAAAwjK9j8Mi5evXqPfc/lCpVSqVKlXpIFQEAADz6CBZ45AwaNEh//fXXXfsEBQVp6NChD6kiAACARx/BAo+cjz/+WKmpqXftk90vYwMAACD/CBZ45DRu3LigSwAAAHjssHkbAAAAgGHMWABFUGiZeQoMDJSDg0NBlwIAACCJGQsAAAAA9wHBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYZjKbzeaCLgJA3pimphd0CSiCzGOLFXQJAIBHGDMWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAsPsWLPz9/TVkyJB7tqFwyOt7M2TIEPn7++f7fOfOnZO3t7dCQ0Ot2r29vRUSEpLvce8H/p0CAAAYVyhnLGJjYxUaGqqkpKSCLuWxsmjRIsXExBR0GQ9EaGioNm/eXNBlAAAAPLIe6M+wRkVFyWQy5fm4ffv2KTw8XP7+/ipduvQDqAzZ+d///ic3N7dsZyZmzpypB/Ej7du3b5e9vf19H/dO4eHh6tmzpzp27GjzXH7/nQIAAOD/e6DBonjx4g9yeDxEDg4OD2TcEiVKPJBx84J/pwAAAMblOVicP39e06dP186dOyVJTZs21ZgxY7Lt6+/vLzc3N4WFhVnafv31V82dO1dHjhxRUlKSypYtq9q1aysoKEiNGjVSSEiIVq1aJUnq1auX5bigoCANHTpUly5d0oIFC7R371799ddfSk1Nlbu7u/z8/DRw4ECrb79jYmL00Ucfafbs2Tp8+LCWL1+uixcvys3NTYMHD1bPnj1tao6NjdX8+fN14MAB3bx5Uy4uLnrmmWc0atQolStXztJvw4YNWrJkiY4dO6aMjAx5eXlp4MCB8vHxyesltVynsWPHavr06frtt99UsmRJ+fr6auTIkcrIyNDs2bO1fv16JSYmqkGDBnrvvfdUo0YNyxihoaEKDw/XypUrVaVKlXu+D3fy9vaWJP3111+WvyVZxhsyZIj++usvq6VSWW2zZ8/WtGnTtG/fPklSs2bN9NZbb8nDw+Oer93b21s9e/a02WeRm/dh2bJl2rx5s06cOKGrV6+qbNmyat68uYYPH265BufOnbP8O1q1apXl31bWOe52fTZv3qzIyEgdPXpUJpNJtWvX1qBBg2xmPbKOf++99/Sf//xHP//8s0wmk1q0aKF33nlHlSpVsvRNTEzUnDlz9OOPP+rSpUtydHSUm5ubnn32WQ0aNOie1wsAAKCwylOwSEpK0pAhQ3ThwgUFBASoZs2a+umnnzR06FClpqbe8/hTp05pxIgRqlixovr3768KFSooPj5ev/zyi44ePapGjRopICBAycnJ2rRpk0aPHm35EFm7dm1J0rFjx7Rp0yZ17NhRHh4eSk9P186dO/Xll1/q7Nmzev/9923OO3PmTKWmpiogIEDFixfX8uXLFRISIg8PDzVu3NjSLyoqSp988okqV66svn37ys3NTefPn9fWrVt14cIFSy2zZs3SvHnz1Lp1aw0bNkx2dnbatGmTxo8fr3feeUcvvPBCXi6rJOnixYsaMWKEunbtqs6dO2v37t1auHCh7O3tdeLECaWmpuqVV15RYmKi5s+frzFjxmj58uWys7s/22QmTpyoadOmqVy5cho8eLClvXz58nc97ubNmxo6dKgaNmyo4OBgxcXFafny5frtt9+0cOFCqw/VuZXb92HBggVq2LChXnzxRZUtW1Z//PGHVqxYob1792rx4sUqV66cypcvr4kTJ2rChAlq0qSJ+vTpk6sali1bpilTpqh69ep6/fXXJd0KJmPHjtV7772ngIAAq/6XLl3S0KFD1bFjR40aNUrHjh3TN998o+TkZM2cOdPSb/z48frpp5/Ut29f1a5dW6mpqTp58qT27dtHsAAAAEVanoJFZGSkzp07pwkTJli+BX7++ef12Wef6X//+989j9+1a5dSUlI0efJkNWzYMNs+Tz31lLy8vCzh4c5v35s2baro6GirNfEDBgzQBx98oOjoaA0dOtTmw+zff/+tyMhIy3KeLl26qHfv3lq6dKklWFy4cEFTp05V9erVNW/ePKu9HcOHD1dmZqYk6fDhw5o3b54CAwM1YsQIS5/+/ftrzJgxmjlzpvz8/OTk5HTP63G7M2fO6JNPPrHMePTr108vv/yy5s+fr3bt2mnWrFmW11y2bFlNnTpVu3fvVqtWrfJ0npz4+vpq9uzZqlChgnx9fXN9XEJCgl566SWrWaumTZtq3LhxCgsL03vvvZenOnL7PkjS4sWL5ejoaHV8+/bt9cYbbyg6OlqvvPKKHB0d5evrqwkTJsjd3T1Xr+3atWuaMWOGPDw89NVXX8nZ2VnSrffkH//4h6ZPn66uXbta1Xb69Gn93//9n7p27Wpps7Oz07Jly3Tq1ClVr15d169f1969e9WvXz+98847ebouAAAAhV2evu7evHmzKlasKD8/P6v2V155JVfHZ31A27JlS65mOLJTsmRJywfstLQ0JSYmKiEhQa1atVJmZqZ+//13m2Oef/55qz0ClStXVtWqVXX69GlL2/fff6+0tDQFBQVlu2E8a2Zg7dq1MplM8vPzU0JCgtV/7du3V3Jysn777bc8v67KlSvbLKNq3LixzGazXnzxRasglRWG4uLi8nyeB+HO979Tp06qVq2atmzZkuexcvs+SLKEiszMTF2/fl0JCQl68skn5ezsrAMHDuT53Fl2796tmzdvqn///pZ/s9Ktf7/9+/fXjRs3tHv3bqtjXFxcrEKF9P+Xl2X9OytRooSKFy+uAwcO6Ny5c/muDwAAoDDK04zF2bNnVb9+fZu7+FSqVClXd2969tlntWbNGkVERGjRokVq1KiRWrZsqW7dusnNzS1XNaSnp+urr77SmjVrdPr0aZs7FV27ds3mGHd3d5u2smXL6vz585bHWR/+6tSpc9fznzx5UmazWf369cuxz5UrV+46RnbunJmRZLmmd9ZfpkwZSbfW6xe00qVLZ7vcqUaNGtq8ebNu3rxpM6twN7l9HyRp7969Cg8P18GDB22CqpFbFZ89e1aSVLNmTZvnstqy+mTJ6d+Y9P/fJwcHB40ePVqfffaZevXqpZo1a8rb21sdO3ZU8+bN810vAABAYfBA7wp1p+LFi2vWrFk6cOCAdu3apZ9++smy6XjSpEnq1KnTPcf4z3/+oyVLlqhr164aPHiwypcvr2LFiunw4cP64osvsr0lak77EPJ7+1STyaQZM2bkOG6tWrXyPObd9krkpv673S41IyMjz/UUdgcPHlRwcLA8PDwUHBysKlWqqESJEjKZTHrvvfeslkw9DHd7/25/n/r166eOHTtq27Zt2rdvn3744QctXbpUXbt21f/93/89jFIBAAAeiDwFC3d3d50+fVoZGRlWsxaXL1/O0zfEDRs2tOyxOH/+vP7xj39o9uzZlmBxtw/Ja9asUdOmTW0+hN2+rCk/qlatKkk6evSoqlWrlmM/T09P7dixQ0888YTVXZkKWtYsxrVr16xmP1JTU3X58uVc3aEpP7/lkJSUpMuXL9vMWpw8eVIVKlTI02yFlPv3Yd26dcrIyNCMGTOsZgtu3rxp+IcVs67ViRMnbGYSTp48KSn7GYrcqlSpkp577jk999xzysjI0IQJE7R+/Xq9/PLLatCgQf4LBwAAKEB52mPRoUMHXblyRatXr7Zq//rrr3N1fEJCgk2bq6urypcvb7Wsp1SpUpKyX9ZkZ2dnM9Nw8+ZNLVq0KFc15KRLly5ycHBQeHi4rl+/bvN81jmzNv/OnDkz25mA/CyDuh+yPoTfufZ/0aJFuf723tHRMdtrfi93vv+bNm3Sn3/+qQ4dOuR5rNy+D1nB9s5/C/Pmzcv29ZYqVSrXS8datGghR0dHLVmyRMnJyZb25ORkLVmyRKVKlVLLli1z/ZqypKSkKCUlxarN3t7ecsez/Fx7AACAwiJPMxaDBg3SunXrNHnyZB06dEi1atXSvn37tH//fqvfeMjJ3LlztWvXLrVt21bu7u4ym83aunWrTp06ZXWrzazZjBkzZqhHjx4qXry4atWqJS8vL3Xp0kXffPON/vnPf6p58+a6cuWKYmJiLOvZ88vV1VVjxozRlClT1L9/f/n5+cnNzU0XL17Uli1bNGHCBNWpU0cNGjTQkCFDFBYWpgEDBsjHx0cuLi66fPmyDh06pO3bt2vXrl2GasmP5s2bq1q1agoNDVViYqKqVKmiX3/9Vb/99luu3htJatSokaKjozV79mzVqFFDJpNJ7du3v+usQ7ly5bRx40ZdunRJzzzzjOV2sxUrVtTQoUPz/Dpy+z507NhRixYt0ptvvqk+ffrIwcFBu3fv1vHjx7N9vQ0bNtSePXv01Vdf6YknnpDJZFK3bt2yraF06dIaNWqUpkyZoldffdXyeyerVq3S6dOn9d5771lt6s6tP//8U0OGDFGnTp1Uq1YtlS5dWqdOndLy5cvl7u6uJk2a5HlMAACAwiJPwaJMmTKaM2eOpk2bpjVr1ki6dWvR0NBQDR8+/J7Hd+jQQZcvX9b333+v+Ph4lShRQp6envrXv/6l3r17W/o1btxYI0eO1DfffKNJkyYpIyNDQUFB8vLy0ujRo+Xk5KTvvvtOW7Zskaurq/r06aP69evrjTfeyOPLt9avXz95eHgoMjJSixcvVlpamlxcXNSsWTO5urpa+g0ZMkT169fX4sWL9b///U83b95UhQoVVKtWLY0dO9ZQDfllb2+vadOmaerUqVqyZIkcHBzUsmVLhYWF6bXXXsvVGG+88YYSExO1bNkyJSUlyWw2a+XKlXcNFo6OjpYfyPvyyy9lNpvVqlUrvf322/n6DQspd+9D48aN9emnn2rOnDn673//qxIlSqh58+YKCwtTUFCQzZjjx4/XlClTFBERYZmFyClYSLfuJFapUiXNnz9f4eHhkqQnn3xSU6dOtfmBvNxydXVVr169tG/fPm3evNnyuvr06aNXXnlFJUuWzNe4AAAAhYHJnN8dzHjsZfdr3Hg4TFPTC7oEFEHmsQ/1fh0AgMfM/fnZZgAAAACPNb6+ekASExOVlpZ21z4lS5bM11p9AAAAoLAhWDwg48aN008//XTXPj179lRISMjDKQgAAAB4gNhj8YAcOnTonrcPdXFxyfbXnYF7YY8F8oM9FgCAB4n/l3lA6tWrV9AlAAAAAA8Nm7cBAAAAGMaMBVAEhZaZp8DAQDk4OBR0KQAAAJKYsQAAAABwHxAsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhJrPZbC7oIgDkjWlqekGXUKSZxxYr6BIAAHjkMGMBAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxfiUKhcO3aNfXo0UOpqan66KOP5Ofn90DO4+/vr7/++ivb5wICAvTee+89kPMCAAA86ggWKBTWrl2rv//+W+7u7lq5cuUDCxaS5OrqqhEjRti0V61a9YGdEwAA4FFHsEChEB0dLW9vb3Xo0EGfffaZzpw5Iw8Pj3sel5ycLCcnpzydy8nJSb6+vvktFQAAANkgWKDAHT58WEePHlVISIjatm2r6dOna+XKlXrjjTes+nl7e6tnz57y9fVVaGiojh49qnr16iksLMwyTkREhH7++WclJSWpQoUKevrpp/XGG2/kKqRIt4LK119/rd27d+vMmTO6ceOGXF1d1aVLFwUFBalkyZJW/c1ms1asWKEVK1boxIkTkqQqVaqoU6dOGjZsmKXf33//rQULFmjdunU6c+aMihcvriZNmmjo0KGqW7eukcsHAABQKBAsUOCio6NVqlQpdenSRY6OjmrXrp1Wr16tYcOGyc7O+v4Cv//+uzZu3KjnnntOPXv2tLRv3bpV77zzjhwdHdW7d295enrqypUr2rlzp44fP24VLDIzM5WQkGBTR7ly5XTp0iVFR0erc+fO6t69u+zt7fXTTz8pMjJSR44c0Zdffml1zIQJE7R27Vo1bNhQgwcPVunSpXXq1Cn98MMPlmCRnp6ukSNHav/+/fL19dULL7yg69ev69tvv9Vrr72m8PBw1a9f/z5eUQAAgIfPZDabzQVdBB5fqamp6t69uzp06KCQkBBJ0ubNmzV27Fh9/vnnatOmjaWvt7e3JGnmzJlq0aKFpT0lJUU9e/aUyWTSwoULVblyZatzZGZmWgLK3TZvb9++XXZ2djKZTCpWzDpzz549W3PnztVXX32lhg0bSpK+++47/fOf/1SPHj300UcfWYWg28+5cOFC/ec//9EXX3yhVq1aWfpcv35dL774otzd3S2zLrllmpqep/6wZh7LdyoAANxv/L8rCtSmTZuUlJRkNfvQtm1blS9fXitXrrQKFpL05JNPWoUKSdq5c6cSEhIUHBxsEyok2cx6VKlSRe+//75NPwcHB6u+6enpunHjhjIzM9W8eXPNnTtXBw4csASLtWvXSpLeeustm3Pc/njt2rWqXr266tWrZzNT0qJFC61evVopKSk2y6wAAACKEoIFClR0dLTKly+vypUr6/Tp05b2li1b6vvvv1dCQoLKlStnac/uzk1xcXGSlOu9CiVLlrQJJ7dbtmyZoqKidOLECWVmZlo9l5SUZPn79OnTqlSpkipWrHjX8508eVKpqany8fHJsU9CQoKeeOKJXNUPAABQGBEsUGDOnj2r2NhYmc1mBQQEZNtnzZo1GjBggOXxg/5Wf8GCBZo+fbpatmyp/v37q1KlSnJwcNClS5cUEhJiEzRyy8vLS2+//XaOz5cvXz6/JQMAABQKBAsUmJiYGJnNZv3rX/+Ss7OzzfOzZ8/WypUrrYJFdqpVqyZJOnLkiFq2bGmopjVr1qhKlSqaMWOG1XKmHTt22PStWrWqtmzZoitXrtx11sLT01NXr15Vs2bNbJZMAQAAPCr4lIMCkZmZqZiYGHl5eem5556Tj4+PzX/dunXT8ePHdfDgwbuO1bJlS5UrV04LFy7U5cuXbZ7Py/0J7O3tZTKZrI5JT0/XV199ZdO3R48ekqQZM2bYzGTcfryfn5+uXLmihQsXZnvOK1eu5Lo+AACAwooZCxSIXbt26cKFC+rdu3eOfTp37qywsDBFR0erQYMGOfYrWbKkPvjgA7377rt68cUXLbebvXr1qnbt2qUBAwaoY8eOuaqrS5cu+vLLLzVq1Ch16tRJycnJWr9+vc1doiTJx8dHXbt21erVq3X69Gm1b99epUuXVlxcnHbu3KmlS5dKkl566SXt3r1bn3/+ufbu3atmzZrJyclJ58+f1969e1W8eHGFhobmqj4AAIDCimCBAhEdHS3pVnjIiZeXl6pWraoNGzZo9OjRdx2vQ4cOmjNnjiIiIhQdHa0bN26oQoUKatKkiby8vHJd18CBA2U2mxUdHa3PPvtMFStWVNeuXdWrVy89//zzNv0nT56sJk2aKDo6WuHh4bK3t1eVKlWsNmoXK1ZM06dP1/Lly7VmzRpLiHBxcVGDBg2s7ogFAABQVPE7FkARxO9YGMPvWAAAcP+xxwIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhnHPRaAICi0zT4GBgXJwcCjoUgAAACQxYwEAAADgPiBYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDTGaz2VzQRQDIG9PU9IIuwcI8tlhBlwAAAAoBZiwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhvHLVihQsbGxGjZsWI7PR0REqFGjRg+xoocjKSlJixYt0jPPPCNvb++CLgcAAMAwggUKhW7duqlNmzY27Z6engVQzYOXlJSk8PBwSSJYAACARwLBAoVC3bp15evrW9BlAAAAIJ8IFijUDhw4oOXLl2v//v26cOGC7O3t5eXlpYEDB6pTp042/S9fvqyIiAht27ZNFy9elLOzs2rXrq1BgwapZcuWln5xcXEKDw/Xnj17lJiYKBcXF/n4+GjIkCFydHS09AsJCdGqVau0efNmffHFF9q4caOSk5NVt25djR49Wg0bNrQ6v9lsVlRUlFasWKGTJ0/Kzs5O9evXV1BQkGVm4vblX+Hh4ZaZCzc3N8XExNz3awgAAPAwECxQKKSkpCghIcGqzcHBQZs3b9apU6fk4+MjNzc3JSYmatWqVRo3bpwmTZqk7t27W/qfO3dOr732muLj4+Xr66v69evr5s2b+u2337Rnzx5LsDh06JCGDRum0qVLKyAgQJUrV9bRo0e1ePFi/frrrwoLC1OxYtb/0wgODlb58uX1+uuvKzExUQsXLtSbb76plStXysnJydJvwoQJWr9+vbp06SJ/f3+lpaVp7dq1GjFihD799FN16NBBNWrU0OjRozVt2jR16tTJEpBKlSr1gK4uAADAg0ewQKEQGhqq0NBQq7auXbtqwoQJCg4Otmrv37+/BgwYoLlz51oFi08++USXLl3SF198oVatWlkdk5mZafl74sSJqlSpkiIjI61CQfPmzTVu3DitXbtW/v7+VsfXrVtX48ePtzyuWbOmxo8fr3Xr1qlv376SpE2bNmnt2rV67733FBAQYFVvYGCgPvvsM7Vv314VK1ZUx44dNW3aNHl5ebEEDAAAPBIIFigU+vTpIx8fH6u2ihUrWi1LSklJUUpKiiSpWbNmioqK0vXr1+Xs7KzExETt3LlTrVu3tgkVkmRnd+vOysePH9exY8c0dOhQpaWlWc2SNG7cWI6Ojtq1a5dNsBgwYIDV46xlTadPn7a0rVmzRk5OTurYsaPN7Eu7du0UFhamuLg4VatWLZdXBQAAoOggWKBQqFq1qlq0aGHTHh8fr9mzZ2vLli2Kj4+3eT4rWJw+fVpms1l16tS563lOnjwpKfsZktvPeSd3d3erx+XKlZMkJSYmWtpOnTql5ORkPfvsszmePz4+nmABAAAeSQQLFFpms1nBwcE6efKk+vfvr/r168vZ2Vl2dnaKiYnRunXrrJY45XZMSXr55ZezndmQpDJlyti02dvb33W8rL/Lly+vSZMm5Xj+WrVq5aVcAACAIoNggULr2LFjOnr0qIKCgjR06FCr51asWGH12NPTUyaTSUeOHLnrmFWrVpV0a2lUdjMkRnh6eiouLk6NGjW650Zsk8l0X88NAABQ0OwKugAgJ1n7Im6fFZBu7ZPYvHmzVVvZsmXVunVr7dixQ7t377YZK2uMOnXqqFatWoqKitKZM2ds+qWnp1stb8oLPz8/ZWZm6ssvv8z2+StXrlj+zto7cu3atXydCwAAoLBhxgKFVo0aNVSzZk1FRkYqJSVF1apVU1xcnL755ht5eXnp0KFDVv3feecdDR48WKNGjVLPnj1Vr149paSk6ODBg3Jzc9OoUaNkMpk0ceJEDR8+XC+99JJ69eqlmjVrKiUlRWfOnNHGjRsVHBxss3k7N3x8fOTv76+lS5fq8OHDateuncqVK6eLFy9q//79OnPmjKKjoyXd2qPh6empDRs2yMPDQxUqVJCjo6Pat29/X64dAADAw0awQKFlb2+vzz//XNOnT9eqVat08+ZN1apVSyEhITp69KhNsHB3d9f8+fM1Z84cbd++XatXr1aZMmVUu3Zt9enTx9KvTp06WrhwoSIiIvTjjz8qKipKTk5OcnNzk7+/v5o1a5bvmj/88EN5e3vr22+/1VdffaW0tDRVrFhRdevW1YgRI6z6fvzxx5o2bZpmzpyplJQUubm5ESwAAECRZTLfuc4EQKFnmppe0CVYmMfy/QQAAGCPBQAAAID7gGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMO4TCRRBoWXmKTAwUA4ODgVdCgAAgCRmLAAAAADcBwQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGCYyWw2mwu6CAB5Y5qaXtAlWJjHFivoEgAAQCHAjAUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAHkU0xMjLy9vRUbG2tpi42Nlbe3t2JiYu7aBgAA8Kjhl60A3frwP2zYMMtjOzs7OTk5ycXFRfXq1VO3bt3UqlUrmUymAqwSAACg8CJYALfp1q2b2rRpI7PZrBs3bujPP//U5s2btXr1ajVv3lxTpkxR6dKlczy+adOm2r59u4oV439aAADg8cKnH+A2devWla+vr1Xb22+/rRkzZmjhwoV6//33NWPGjByPt7OzU4kSJR50mQAAAIUOeyyAe7C3t9fbb7+txo0ba8eOHfrll19y7Huv/RSLFy9WQECAWrdurYCAAC1evPgBVQ0AAPBwESyAXOrdu7ckadu2bfk6fsmSJfr666/Vo0cPjRgxQs7Ozpo6darCwsLuZ5kAAAAFgqVQQC7Vrl1bkvTnn3/m6/i4uDgtW7ZMrq6ukqQXXnhBr732mubOnavevXtb2gEAAIoiZiyAXHJycpIkJScn5+v47t27W4UHBwcHDRgwQBkZGdq6det9qREAAKCgECyAXMoKFFkBI69q1Khh01azZk1J0tmzZ/NfGAAAQCFAsABy6dixY5Kk6tWrF2whAAAAhRDBAsil6OhoSVKbNm3ydfzJkydt2k6cOCFJcnd3z39hAAAAhQDBAriHjIwMTZ8+Xb/88ovatGmjxo0b52ucdevW6cKFC5bHaWlpWrRokezt7dW2bdv7VC0AAEDB4K5QwG0OHz6sNWvWSJLVL2//9ddfatmypSZPnpzvsatWrapXX31Vffv2ValSpbRu3Tr9/vvvev311/XEE0/cr5cAAABQIAgWwG3Wr1+v9evXy87OTo6OjnJ1dVXTpk3VrVs3tW7d2tDYL774opKTk7VkyRKdP39eTzzxhMaMGaOXXnrpPlUPAABQcExms9lc0EUAyBvT1PSCLsHCPJbvJwAAAHssAAAAANwHBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGMYN6IEiKLTMPAUGBsrBwaGgSwEAAJDEjAUAAACA+4BgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMNMZrPZXNBFAMgb09T0+z6meWyx+z4mAAB4fDBjAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMX8RCnr377rv64YcftHDhQtWpUyfbPmazWb1799a1a9e0bt06lSxZUpL0888/KyoqSvv379eVK1ckSS4uLmrQoIG6du2qDh06yGQy2Yz3448/KiYmRgcPHtTVq1dVrFgxubq66qmnnlKPHj3UrFmzXNUeEhKiVatWZftctWrVFBUVlatxAAAAYI1ggTzr3bu3fvjhB8XExOQYLGJjY3Xu3DkFBASoZMmSyszM1Keffqrly5fL1dVVPj4+qlq1quzs7HTu3Dnt2LFDY8eO1YgRIxQYGGgZJyUlRf/617+0efNmVatWTX5+fnJ3d1dGRobi4uK0detWrVy5UpMmTVL37t1z/RrGjx+vUqVKWbU5Ozvn74IAAACAYIG8a9mypVxdXbV27Vq9+eabcnBwsOmzcuVKSbdCiCSFh4dr+fLl6tGjhz744AMVL17cqv+IESMUGxurS5cuWbV/8skn2rx5swYOHKiRI0fKzs569d5bb72lTZs2WWZEcsvHx0flypXL0zEAAADIGcECeWZnZyd/f3/NmTNHW7ZskY+Pj9Xz169f18aNG1WrVi01aNBA8fHxioyMlLu7e7ahIou3t7fV42PHjmnVqlV6+umnNWrUqGyXSJlMJnXu3Pn+vThJy5Yt0+bNm3XixAldvXpVZcuWVfPmzTV8+HBVqVLFpn9sbKzmz5+vAwcO6ObNm3JxcdEzzzyjUaNGWYWXDRs2aMmSJTp27JgyMjLk5eWlgQMH2lw/AACAoojN28gXf39/mUwmxcTE2Dy3YcMGpaamWmYrtm3bptTUVPn6+uYYKrKzceNGSbdmPbILFUYkJiYqISHB6r/09HRJ0oIFC1SuXDm9+OKLevfdd9W1a1dt2rRJgwcPVkJCgtU4UVFRGj58uI4fP66+fftq3Lhx6t69uw4fPqwLFy5Y+s2aNUvvvfeenJycNGzYMI0cOVIlS5bU+PHjtXTp0vv62gAAAAoCMxbIF3d3d3l7e2vXrl26fPmyKlWqZHkuJiZGDg4O8vX1lST98ccfkqQnn3zSZpzr169bPtBLkr29vUqXLi1JOn78eI7HJSYmymw2Wx4XK1YsT3sk+vbta9M2Y8YMtW7dWosXL5ajo6PVc+3bt9cbb7yh6OhovfLKK5KkCxcuaOrUqapevbrmzZtnqVuShg8frszMTEnS4cOHNW/ePAUGBmrEiBGWPv3799eYMWM0c+ZM+fn5ycnJKdf1AwAAFDYEC+Rb7969tXfvXq1atUqvvvqqJOnUqVP67bff1KVLF8syoOTkZEnK9oPz8OHDdejQIcvjmjVrWr7Bzzouu8AQEBCgxMREy+O2bdtq+vTpua79008/taknayN6VqjIzMzUjRs3lJ6erieffFLOzs46cOCApf/333+vtLQ0BQUFWYWKLFn7QdauXSuTySQ/Pz+bGY/27dtry5Yt+u2339SyZctc1w8AAFDYECyQb506dVLp0qUVExNjCRbR0dGSpF69eln6ZX2AzwoKt3v33Xct7RMmTLB6Luu469ev2xz373//W2lpaZJkNQsgSZcvX7Z67ODgoLJly1q1NW3aNMfN23v37lV4eLgOHjyo1NRUq+eSkpIsf58+fVqScrwzVpaTJ0/KbDarX79+OfbJuvUuAABAUUWwQL6VKFFC3bt317Jly/Trr7+qYcOGWrNmjVxdXdWqVStLv1q1akmSjh49qk6dOlmN0bBhQ8vfd+6/8PLy0qZNm3T06FHVrVvX6rmmTZvmWNedt51t2rSpwsLCcvWaDh48qODgYHl4eCg4OFhVqlRRiRIlZDKZ9N5771mWN+WVyWTSjBkzbO5qlSXrGgEAABRVBAsY0rt3by1btkwxMTG6du2arly5osGDB1t9gG7btq1KlCihNWvWKDAwMNcbuDt37qzw8HBFR0dbNovnxsyZM60elylTJtevZ926dcrIyNCMGTPk7u5uab9586bVbIUkVa1aVdKtwFStWrUcx/T09NSOHTv0xBNPqEaNGrmuBQAAoCjhrlAwpG7dunryySf13XffadmyZTKZTFbLoCSpQoUKGjRokM6ePauJEyfq77//znas2zdjS1Lt2rXl5+enX3/9VV988UW2swV3HiNJLVq0sPqvXr16uX499vb22Y47b948m/N36dJFDg4OCg8Pz3a5VtYYWZvYZ86cqYyMDJt+LIMCAACPAmYsYFjv3r3173//Wzt27NAzzzwjDw8Pmz5BQUGKj49XVFSUfv75Z/n4+Fi+5b948aJ+/PFHnT9/Xu3atbM67p///KeuX7+uyMhIbdmyRZ07d5a7u7vS09N1/vx5/fDDD5KU7e9L5EfHjh21aNEivfnmm+rTp48cHBy0e/duHT9+3GZPhqurq8aMGaMpU6aof//+8vPzk5ubmy5evKgtW7ZowoQJqlOnjho0aKAhQ4YoLCxMAwYMkI+Pj1xcXHT58mUdOnRI27dv165du+5L/QAAAAXFZM7uK18gD65du6YePXooNTVVH330kfz8/HLsu2/fPn377bf69ddfdeXKFZlMJlWqVEkNGjTQs88+qw4dOtgseTKbzdqyZYtWrVqlgwcP6urVqypWrJhcXV311FNPyc/Pz+bH9XISEhKiVatW6fvvv89x8/bmzZs1Z84cnTp1SiVKlFDz5s315ptvKigoSG5ubjb7NXbt2qXIyEgdPHhQaWlpcnFxUbNmzRQcHGx1jm3btmnx4sX6/fffdfPmTVWoUEG1atVS+/bt77qxOzumqen37pRH5rF8zwAAAPKPYAEUQQQLAABQ2LDHAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGMaN64EiKLTMPAUGBsrBwaGgSwEAAJDEjAUAAACA+4BgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMNMZrPZXNBFAMgb09R0SZJ5bLECrgQAAOAWZiwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAvgIfD29lZISIhVW2ZmpkJDQ9W7d2+1aNFC3t7eBVMcAADAfcCva0GxsbEaNmxYjs9HRESoUaNGD7GihyMpKUmLFi3SM888UyAf6letWqXw8HD16tVLTZs2lZ0dOR8AABRdBAtYdOvWTW3atLFp9/T0LIBqHrykpCSFh4dLUoEEi927d8vZ2VkffPCBTCbTQz8/AADA/USwgEXdunXl6+tb0GU8Nq5cuaLSpUsTKgAAwCOBYIF7OnDggJYvX679+/frwoULsre3l5eXlwYOHKhOnTrZ9L98+bIiIiK0bds2Xbx4Uc7Ozqpdu7YGDRqkli1bWvrFxcUpPDxce/bsUWJiolxcXOTj46MhQ4bI0dHR0i8kJESrVq3S5s2b9cUXX2jjxo1KTk5W3bp1NXr0aDVs2NDq/GazWVFRUVqxYoVOnjwpOzs71a9fX0FBQZaZiduXf4WHh1tmLtzc3BQTE5On6xMbG6v58+frwIEDunnzplxcXPTMM89o1KhRKleuXLb9b196llVTz549bfZhAAAAFBUEC1ikpKQoISHBqs3BwUGbN2/WqVOn5OPjIzc3NyUmJmrVqlUaN26cJk2apO7du1v6nzt3Tq+99pri4+Pl6+ur+vXr6+bNm/rtt9+0Z88eS7A4dOiQhg0bptKlSysgIECVK1fW0aNHtXjxYv36668KCwtTsWLW/zyDg4NVvnx5vf7660pMTNTChQv15ptvauXKlXJycrL0mzBhgtavX68uXbrI399faWlpWrt2rUaMGKFPP/1UHTp0UI0aNTR69GhNmzZNnTp1sgSkUqVK5emaRUVF6ZNPPlHlypXVt29fubm56fz589q6dasuXLiQbbCoUaOGJk6cqHnz5ikhIUGjR4+WJHl4eOTp3AAAAIUJwQIWoaGhCg0NtWrr2rWrJkyYoODgYKv2/v37a8CAAZo7d65VsPjkk0906dIlffHFF2rVqpXVMZmZmZa/J06cqEqVKikyMtIqFDRv3lzjxo3T2rVr5e/vb3V83bp1NX78eMvjmjVravz48Vq3bp369u0rSdq0aZPWrl2r9957TwEBAVb1BgYG6rPPPlP79u1VsWJFdezYUdOmTZOXl1e+loBduHBBU6dOVfXq1TVv3jyVLl3a8tzw4cOtXu/tKlasKF9fX61YsUKpqaksPwMAAI8EggUs+vTpIx8fH6u2ihUrWi1LSklJUUpKiiSpWbNmioqK0vXr1+Xs7KzExETt3LlTrVu3tgkVkix3PTp+/LiOHTumoUOHKi0tzWqWpHHjxnJ0dNSuXbtsgsWAAQOsHmctITp9+rSlbc2aNXJyclLHjh1tZl/atWunsLAwxcXFqVq1arm8Kjn7/vvvlZaWpqCgIKtQkYW7PAEAgMcJwQIWVatWVYsWLWza4+PjNXv2bG3ZskXx8fE2z2cFi9OnT8tsNqtOnTp3Pc/JkyclZT9Dcvs57+Tu7m71OGuZUWJioqXt1KlTSk5O1rPPPpvj+ePj4+9LsMgKNPd6vQAAAI8DggXuymw2Kzg4WCdPnlT//v1Vv359OTs7y87OTjExMVq3bl2OS37uNqYkvfzyy9nObEhSmTJlbNrs7e3vOl7W3+XLl9ekSZNyPH+tWrXyUi4AAABygWCBuzp27JiOHj2qoKAgDR061Oq5FStWWD329PSUyWTSkSNH7jpm1apVJd1aKpTdDIkRnp6eiouLU6NGje65EdvobV6zXsfRo0fvywwIAABAUcYicNxV1j6B22cFpFv7JDZv3mzVVrZsWbVu3Vo7duzQ7t27bcbKGqNOnTqqVauWoqKidObMGZt+6enpVsub8sLPz0+ZmZn68ssvs33+ypUrlr+z9o5cu3YtX+fq0qWLHBwcFB4eruvXr9s8f+c1AwAAeJQxY4G7qlGjhmrWrKnIyEilpKSoWrVqiouL0zfffCMvLy8dOnTIqv8777yjwYMHa9SoUerZs6fq1aunlJQUHTx4UG5ubho1apRMJpMmTpyo4cOH66WXXlKvXr1Us2ZNpaSk6MyZM9q4caOCg4NtNm/nho+Pj/z9/bV06VIdPnxY7dq1U7ly5XTx4kXt379fZ86cUXR0tKRbezQ8PT21YcMGeXh4qEKFCnJ0dFT79u1zdS5XV1eNGTNGU6ZMUf/+/eXn5yc3NzddvHhRW7Zs0YQJE9h/AQAAHhsEC9yVvb29Pv/8c02fPl2rVq3SzZs3VatWLYWEhOjo0aM2wcLd3V3z58/XnDlztH37dq1evVplypRR7dq11adPH0u/OnXqaOHChYqIiNCPP/6oqKgoOTk5yc3NTf7+/mrWrFm+a/7www/l7e2tb7/9Vl999ZXS0tJUsWJF1a1bVyNGjLDq+/HHH2vatGmaOXOmUlJS5ObmlutgIUn9+vWTh4eHIiMjtXjxYqWlpcnFxUXNmjWTq6trvl8DAABAUWMys14DKHJMU9MlSeaxfDcAAAAKB/ZYAAAAADCMrzuBO1y9elUZGRl37VOqVKl73nUKAADgcUKwAO4waNAg/fXXX3ftk93tdwEAAB5nBAvgDh9//LFSU1Pv2ufOXwEHAAB43BEsgDs0bty4oEsAAAAocti8DQAAAMAwggUAAAAAwwgWQBEUWmae/n6Tn6ABAACFB8ECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsACKoKHXBhd0CQAAAFYIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBYq8mJgYeXt7KzY21tIWGxsrb29vxcTE3LXtYQkJCZG3t7dNe2xsrF599VW1b9++wGoDAAC4H4oVdAHA7WJjYzVs2DDLYzs7Ozk5OcnFxUX16tVTt27d1KpVK5lMpgKs8v64du2axo0bp8qVK+utt95SyZIl9dRTTxV0WQAAAPlCsECh1K1bN7Vp00Zms1k3btzQn3/+qc2bN2v16tVq3ry5pkyZotKlS+d4fNOmTbV9+3YVK1Z4/4n//vvvSkpK0gcffKDOnTsXdDkAAACGFN5PXXis1a1bV76+vlZtb7/9tmbMmKGFCxfq/fff14wZM3I83s7OTiVKlHjQZRpy+fJlSVKZMmUKuBIAAADjCBYoMuzt7fX222/r4MGD2rFjh3755Rc1btw4275ZS6o+/PBD+fv72zy/ePFiLV26VOfPn9cTTzyhF154Qf37989XXZcvX1ZERIS2bdumixcvytnZWbVr19agQYPUsmXLbI/x9/fXX3/9JUlWS79u3ycCAABQlBAsUOT07t1bv/zyi7Zt25ZjsLibJUuW6MqVKwoICFCpUqW0fv16TZ06VdeuXdOQIUPyNNa5c+f02muvKT4+Xr6+vqpfv75u3ryp3377TXv27MkxWIwZM0bbt2/Xt99+q8DAQNWoUSPPrwMAAKAwIVigyKldu7Yk6c8//8zX8XFxcVq2bJlcXV0lSS+88IJee+01zZ07V71797a058Ynn3yiS5cu6YsvvlCrVq2snsvMzMzxuI4dOyopKUnffvutWrRoke0dowAAAIoSbjeLIsfJyUmSlJycnK/ju3fvbhUeHBwcNGDAAGVkZGjr1q25HicxMVE7d+5U69atbUKFdGufBwAAwOOCTz4ocrICRVbAyKvslh3VrFlTknT27Nlcj3P69GmZzWbVqVMnX3UAAAA8SggWKHKOHTsmSapevXrBFgIAAAALggWKnOjoaElSmzZt8nX8yZMnbdpOnDghSXJ3d8/1OJ6enjKZTDpy5Ei+6gAAAHiUECxQZGRkZGj69On65Zdf1KZNm3zdEUqS1q1bpwsXLlgep6WladGiRbK3t1fbtm1zPU7ZsmXVunVr7dixQ7t377Z53mw256s+AACAooi7QqFQOnz4sNasWSNJVr+8/ddff6lly5aaPHlyvseuWrWqXn31VfXt21elSpXSunXr9Pvvv+v111/XE088kaex3nnnHQ0ePFijRo1Sz549Va9ePaWkpOjgwYNyc3PTqFGj8l0nAABAUUKwQKG0fv16rV+/XnZ2dnJ0dJSrq6uaNm2qbt26qXXr1obGfvHFF5WcnKwlS5ZYfiBvzJgxeumll/I8lru7u+bPn685c+Zo+/btWr16tcqUKaPatWurT58+huoEAAAoSkxm1msARY5parr+ftMsBweHgi4FAABAEnssAAAAANwHLIUC7nDjxg3duHHjrn3s7e1Vvnz5h1QRAABA4UewAO4wf/58hYeH37WPm5ubYmJiHlJFAAAAhR/BAriDn5/fPW9lW6JEiYdTDAAAQBFBsADu4OHhIQ8Pj4IuAwAAoEhh8zYAAAAAwwgWAAAAAAwjWABFUGiZeQVdAgAAgBWCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwgsUDEhMTI29vb8XGxlq1nz17VmPGjJGPj4+8vb0VEhJSMAXmUl5r9Pf315AhQ/J9vtjYWHl7eysmJsbSdu7cOXl7eys0NDTf494PReH9AgAAKCjFCrqAx81HH32kY8eOafDgwapYsaI8PDwKuqQ8Cw0NVZ06ddSxY8eCLuW+SkpK0qJFi/TMM8/I29u7oMsBAAAoUggWD9Hff/+tn3/+WS+88IIGDhxY0OXkW3h4uHr27JltsIiKipLJZLqv53Nzc9P27dtlb29/X8e9U1JSksLDwyUp22DxMGoAAAAoqggWD1F8fLzMZrPKlClT0KU8MMWLF7/vY5pMJpUoUeK+j5tXhaEGAACAwoo9FvmQlpamr7/+WgMGDFCbNm3UoUMHDRw4UEuWLMnxmJCQEPXs2VPSrW/8vb29s92DcTdZa/z37t2rwMBAtWnTRr6+vvrqq68kSdeuXdPEiRPVtWtXtWnTRm+99ZYuXbpkU0dOy3zutYcga6+DJK1atcryGm4fL7s9Fllthw8f1rBhw9SuXTt17txZH374oeLj4+/5uu+2x+KHH37QkCFD1LFjR7Vp00YBAQH697//rbS0NElSZmam5s6dq6CgIHXr1k0tW7aUn5+f/u///k8JCQmWcWJjY9WrVy9J1u+Pv7//Pa/PihUr9I9//MPyb2HEiBH65ZdfbPplHb9//34NGTJEbdu2VZcuXfTxxx/rxo0b97wOAAAAhRkzFnmUlpam4OBg7du3Ty1btlSPHj1UvHhxHT9+XJs2bdKLL76Y7XEBAQF68sknNW3aNHXq1EmdOnWSJNWoUSNP5z9y5Ii2bt2qPn36yM/PT999952+/PJLlShRQqtWrVKVKlU0ZMgQnT59WkuWLNGHH36oWbNmGX7dklS+fHlNnDhREyZMUJMmTdSnT59cH3vx4kUNHz5cnTt3VpcuXXT48GGtXLlShw4dUmRkpEqWLJnnembOnKmIiAjVrFlTAwYMUKVKlXTmzBlt3LhRw4YNk4ODg9LS0jR//nx17txZHTp0UMmSJfX7778rOjpav/zyixYsWCAHBwfVqFFDo0ePtnl/SpUqddcaZsyYocjISDVo0EBvvPGGbty4oW+//VZDhw7VZ599prZt21r1P3r0qN5++235+/urW7du2rdvn6Kjo2VnZ6f3338/z9cAAACgsCBY5NGiRYu0b98+BQYGasSIEVbPZWZm5njcU089pUqVKmnatGny8vKSr69vvs5//PhxRUREqGHDhpKk3r17q2fPnpo2bZpeeOEFjRs3zqbeU6dOqXr16vk63+0cHR3l6+urCRMmyN3dPU+v4cyZMxo9erQGDBhgaatZs6b+85//aPHixXr11VfzVMuBAwcUEREhb29vff7551bLlEaOHGn5u3jx4lq3bp1NcHnqqac0adIkbd68WV27dlXFihXVsWPHPL0/p06d0vz58/X000/rv//9rxwcHCRJzz33nJ5//nlNmTJFrVq1stqXcezYMav3r2/fvkpOTtbKlSv19ttv3zPIAAAAFFYshcqjdevWqUyZMnr99ddtnrOze/CXs1GjRpYPpZLk4OCgBg0ayGw2q3///lZ9mzRpIkk6ffr0A6/rXpycnPT8889btT3//PNycnLSpk2b8jzeunXrJEnBwcE2ex9MJpNlA7nJZLKEioyMDCUlJSkhIUHNmjWTdCug5NeWLVtkNps1aNAgS6iQJBcXF/n7++uvv/7SkSNHrI658/2TpGbNmikjI0Pnzp3Ldy0AAAAFjRmLPIqLi1OdOnUKbCOvu7u7TVvWZvAqVapYtZcuXVqSlJiY+OALuwd3d3erD9/SrdkEd3d3nT17Ns/jxcXFyWQyqXbt2vfs+91332nBggU6cuSI0tPTrZ67du1ans+dJSsI1KpVy+a5rLazZ8+qfv36lvbs3r+yZctKKhzvEwAAQH4RLIqYu93uNKfnzGaz5e+cbgV75wfuouD2mYmcbNy4Uf/85z/VoEEDjR07Vq6uripevLgyMzM1cuRIq2vzMNzt/XvYtQAAANxPBIs8qlatmk6dOqW///77gdxa9UHLmt1ITEy0fFMuKV+zBnlx9uxZpaWlWc1a/P333zp79my+9n9Uq1ZNO3bs0NGjR22WFt1uzZo1KlGihEJDQ632WZw6dcqmb15/fyNr9uGPP/6w+aHDEydOWPUBAAB41LHHIo+6d++ua9euae7cuTbPFYVvnKtWrSpJ2rNnj1X7ggULcj1GqVKl8rxsJzk5WcuWLbNqW7ZsmZKTk/P1C97dunWTJM2aNctya9nbZb0XWftebt9Ybzabs33/HB0dJeV+eVT79u1lMpk0f/58qxmfy5cvKyYmRm5ubqpTp04uXxEAAEDRxoxFHr300kvaunWr5s6dq99//10tWrRQiRIldOLECf3555/37dauD0q3bt00a9YsTZ48WadOnVKZMmW0c+dOq990uJeGDRtqz549+uqrr/TEE0/IZDJZPujnxMPDQ+Hh4frjjz9Ur149HTp0SCtXrlT16tVtNp3ntoZXXnlFX3/9tf7xj3/o2WefVcWKFXXu3Dn98MMP+vrrr1W6dGl16dLFcvtZPz8/paena8uWLUpJSbEZs1y5cvL09NSGDRvk4eGhChUqyNHRUe3bt8+2hurVq2vgwIGKjIxUUFCQunbtarnd7I0bN/Txxx/zS90AAOCxQbDIIwcHB3355ZdasGCB1q9fr1mzZql48eKqWrWq1Y+pFVbOzs76/PPPNW3aNEVERMjR0VGdO3fWxx9/bPnthnsZP368pkyZooiICCUnJ0vSPYNF5cqV9cknn2j69Olav369HBwc1L17d7311luWmYK8GjlypGrXrq2lS5cqMjJSmZmZcnV1VZs2bSzLnrp166YbN25o0aJF+vzzz1W6dGm1b99ewcHB6tKli82YH3/8saZNm6aZM2cqJSVFbm5uOQYLSRo1apQ8PT21bNkyffnll5a7dE2aNMlyVy4AAIDHgclcFNbvoEjz9/eXm5ubwsLCCrqUR0ZYWJgCAwNt7rQFAABQUNhjAQAAAMAwlkIVsKtXryojI+OufUqVKsUvMgMAAKBQI1gUsEGDBumvv/66a5+goCANHTr0IVUEAAAA5B3BooB9/PHHSk1NvWufov5bCDExMQVdAgAAAB4wgkUBa9y4cUGXAAAAABjG5m0AAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAHrBz587J29tboaGhVu0pKSn697//LT8/PzVv3lz+/v4FVCEAAIBxxQq6ABQu165dU48ePZSamqqPPvpIfn5+D+Q8/v7++uuvv7J9LiAgQO+9994DOW9h8vXXX2vJkiUaOHCgvLy85OTkVNAlAQAA5BvBAlbWrl2rv//+W+7u7lq5cuUDCxaS5OrqqhEjRti0V61a9YGdszDZvXu3vLy89OabbxZ0KQAAAIYRLGAlOjpa3t7e6tChgz777DOdOXNGHh4e9zwuOTk5z9+4Ozk5ydfXN7+lFnlXrlyRq6trQZcBAABwXxAsYHH48GEdPXpUISEhatu2raZPn66VK1fqjTfesOrn7e2tnj17ytfXV6GhoTp69Kjq1aunsLAwyzgRERH6+eeflZSUpAoVKujpp5/WG2+8kauQIt0KKl9//bV2796tM2fO6MaNG3J1dVWXLl0UFBSkkiVLWvU3m81asWKFVqxYoRMnTkiSqlSpok6dOmnYsGGWfn///bcWLFigdevW6cyZMypevLiaNGmioUOHqm7duvm6bj/88IOWLFmio0ePKi0tTa6urmrVqpXeeustOTg42PSPiYnRRx99JEk6e/asvL29JUlBQUEaOnRovmoAAAAoaAQLWERHR6tUqVLq0qWLHB0d1a5dO61evVrDhg2TnZ31Pv/ff/9dGzdu1HPPPaeePXta2rdu3ap33nlHjo6O6t27tzw9PXXlyhXt3LlTx48ftwoWmZmZSkhIsKmjXLlyunTpkqKjo9W5c2d1795d9vb2+umnnxQZGakjR47oyy+/tDpmwoQJWrt2rRo2bKjBgwerdOnSOnXqlH744QdLsEhPT9fIkSO1f/9++fr66oUXXtD169f17bff6rXXXlN4eLjq16+fp2s2c+ZMRUREqGbNmhowYIAqVaqkM2fOaOPGjRo2bFi2waJJkyaaOHGipk2bpnLlymnw4MGSpNq1a+fp3AAAAIUJwQKSpNTUVK1bt06dO3eWo6OjJMnPz0+bNm3Szp071aZNG6v+J06c0MyZM9WiRQtLW0pKij766CM5Oztr4cKFqly5suW5oKAgZWZmWo1x6tQp+fj42NSyfft2ubu7a/Xq1SpW7P//E33hhRc0e/ZszZ07VwcOHFDDhg0lSd99953Wrl2rHj166KOPPrIKQbefc8mSJdq3b5+++OILtWrVytLer18/vfjii5o+fbpl1iU3Dhw4oIiICHl7e+vzzz9XiRIlLM+NHDkyx+M8PDzk4eGh2bNnq0KFCo/1cjAAAPDoIFhAkrRp0yYlJSVZzT60bdtW5cuX18qVK22CxZNPPmkVKiRp586dSkhIUHBwsFWoyHLnrEeVKlX0/vvv2/RzcHCw6puenq4bN24oMzNTzZs3twkWa9eulSS99dZbNue4/fHatWtVvXp11atXz2ampEWLFlq9erVSUlJsllnlZN26dZKk4OBgq1AhSSaTKVdjAAAAPCoIFpB0axlU+fLlVblyZZ0+fdrS3rJlS33//fdKSEhQuXLlLO3Z3bkpLi5OknK9V6FkyZI24eR2y5YtU1RUlE6cOGEz25GUlGT5+/Tp06pUqZIqVqx41/OdPHlSqamp2c6SZElISNATTzyRq/rj4uJkMplYwgQAACCCBXRrA3FsbKzMZrMCAgKy7bNmzRoNGDDA8ji33+rn14IFCzR9+nS1bNlS/fv3V6VKleTg4KBLly4pJCTEJmjklpeXl95+++0cny9fvnyexjOZTMxOAAAAiGAB3bpLkdls1r/+9S85OzvbPD979mytXLnSKlhkp1q1apKkI0eOqGXLloZqWrNmjapUqaIZM2ZYLWfasWOHTd+qVatqy5YtunLlyl1nLTw9PXX16lU1a9bMZslUflSrVk07duzQ0aNHLcuyAAAAHlfGP12hSMvMzFRMTIy8vLz03HPPycfHx+a/bt266fjx4zp48OBdx2rZsqXKlSunhQsX6vLlyzbPm83mXNdlb28vk8lkdUx6erq++uorm749evSQJM2YMcNmJuP24/38/HTlyhUtXLgw23NeuXIl1/VJUrdu3SRJs2bNUlpams3zeXm9AAAARR0zFo+5Xbt26cKFC+rdu3eOfTp37qywsDBFR0erQYMGOfYrWbKkPvjgA7377rt68cUXLbebvXr1qnbt2qUBAwaoY8eOuaqrS5cu+vLLLzVq1Ch16tRJycnJWr9+vdVdorL4+Pioa9euWr16tU6fPq327durdOnSiouL086dO7V06VJJ0ksvvaTdu3fr888/1969e9WsWTM5OTnp/Pnz2rt3r4oXL67Q0NBc1SdJDRs21CuvvKKvv/5a//jHP/Tss8+qYsWKOnfunH744Qd9/fXXKl26dK7HAwAAKMoIFo+56OhoSbfCQ068vLxUtWpVbdiwQaNHj77reB06dNCcOXMUERGh6Oho3bhxQxUqVFCTJk3k5eWV67oGDhwos9ms6OhoffbZZ6pYsaK6du2qXr166fnnn7fpP3nyZDVp0kTR0dEKDw+Xvb29qlSpYrVRu1ixYpo+fbqWL1+uNWvWWEKEi4uLGjRoYHVHrNwaOXKkateuraVLlyoyMlKZmZlydXVVmzZtHvg+FAAAgMLEZGa9BlDkhIWFKTAwMNsf4AMAACgI7LEAAAAAYBhLoYA7ZLfx/E7Ozs4sdQIAALgNwQK4Q/fu3e/Z58MPP5S/v/9DqAYAAKBoIFgAd5g5c+Y9+9SqVeshVAIAAFB0ECyAO7Ro0aKgSwAAAChy2LwNAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWAAAAAAwjWAAAAAAwjGABAAAAwDCCBQAAAADDCBYAAAAADCNYAAAAADCMYAEAAADAMIIFAAAAAMMIFgAAAAAMI1gAAAAAMIxgAQAAAMAwggUAAAAAwwgWwEPg7++vIUOG2LQvW7ZMffv2VatWreTt7a1z584VQHUAAADGFSvoApB/7777rn744QctXLhQderUybaP2WxW7969de3aNa1bt04lS5aUJP3888+KiorS/v37deXKFUmSi4uLGjRooK5du6pDhw4ymUw24/3444+KiYnRwYMHdfXqVRUrVkyurq566qmn1KNHDzVr1ixXtYeEhGjVqlXZPletWjVFRUXlapyiLDY2VlOmTFGHDh30yiuvqFixYipfvnxBlwUAAJAvBIsirHfv3vrhhx8UExOTY7CIjY3VuXPnFBAQoJIlSyozM1Offvqpli9fLldXV/n4+Khq1aqys7PTuXPntGPHDo0dO1YjRoxQYGCgZZyUlBT961//0ubNm1WtWjX5+fnJ3d1dGRkZiouL09atW7Vy5UpNmjRJ3bt3z/VrGD9+vEqVKmXV5uzsnL8LUsTs3r1bkjRhwgSVLVu2gKsBAAAwhmBRhLVs2VKurq5au3at3nzzTTk4ONj0WblypaRbIUSSwsPDtXz5cvXo0UMffPCBihcvbtV/xIgRio2N1aVLl6zaP/nkE23evFkDBw7UyJEjZWdnvYrurbfe0qZNmywzIrnl4+OjcuXK5emYR8Xly5cliVABAAAeCQSLIszOzk7+/v6aM2eOtmzZIh8fH6vnr1+/ro0bN6pWrVpq0KCB4uPjFRkZKXd392xDRRZvb2+rx8eOHdOqVav09NNPa9SoUdkukTKZTOrcufP9e3G6tf9g8+bNOnHihK5evaqyZcuqefPmGj58uKpUqWLTPzY2VvPnz9eBAwd08+ZNubi46JlnntGoUaOswsuGDRu0ZMkSHTt2TBkZGfLy8tLAgQNtrl9uHT58WBEREfr555+VlJSkChUq6Omnn9Ybb7whDw8Pm/7nzp1Tr169LI+zrnfTpk0VFhaWrxoAAAAKGsGiiPP399fcuXMVExNj88F4w4YNSk1NtcxWbNu2TampqfL19c0xVGRn48aNkm7NemQXKoxITEy0aXN2dlaxYsW0YMECNWzYUC+++KLKli2rP/74QytWrNDevXu1ePFiq7AQFRWlTz75RJUrV1bfvn3l5uam8+fPa+vWrbpw4YKl76xZszRv3jy1bt1aw4YNk52dnTZt2qTx48frnXfe0QsvvJCn+rdu3ap33nlHjo6O6t27tzw9PXXlyhXt3LlTx48fzzZYlC9fXhMnTtS3336rn3/+WRMnTpQkVahQIU/nBgAAKEwIFkWcu7u7vL29tWvXLl2+fFmVKlWyPBcTEyMHBwf5+vpKkv744w9J0pNPPmkzzvXr15Wenm55bG9vr9KlS0uSjh8/nuNxiYmJMpvNlsfFihXL0x6Jvn372rTNmDFDrVu31uLFi+Xo6Gj1XPv27fXGG28oOjpar7zyiiTpwoULmjp1qqpXr6558+ZZ6pak4cOHKzMzU9KtmYV58+YpMDBQI0aMsPTp37+/xowZo5kzZ8rPz09OTk65qj0lJUUfffSRnJ2dtXDhQlWuXNnyXFBQkOW8d3J0dJSvr6/27Nmjn3/+2fL+AAAAFGUEi0dA7969tXfvXq1atUqvvvqqJOnUqVP67bff1KVLF8u39cnJyZKU7Qfn4cOH69ChQ5bHNWvW1NKlS62Oyy4wBAQEWM06tG3bVtOnT8917Z9++qlNPVkb0bNCRWZmpm7cuKH09HQ9+eSTcnZ21oEDByz9v//+e6WlpSkoKMgqVGTJ2g+ydu1amUwm+fn5KSEhwapP+/bttWXLFv32229q2bJlrmrfuXOnEhISFBwcbBUq7jwvAADA44Bg8Qjo1KmTSpcurZiYGEuwiI6OliSrtfxZH+CzgsLt3n33XUv7hAkTrJ7LOu769es2x/373/9WWlqaJFnNAkj/f3NyFgcHB5uNyk2bNs1x8/bevXsVHh6ugwcPKjU11eq5pKQky9+nT5+WpBzvjJXl5MmTMpvN6tevX459sm69mxtxcXGSpLp16+b6GAAAgEcVweIRUKJECXXv3l3Lli3Tr7/+qoYNG2rNmjVydXVVq1atLP1q1aolSTp69Kg6depkNUbDhg0tf9+5/8LLy0ubNm3S0aNHbT5EN23aNMe67rztbF42Jx88eFDBwcHy8PBQcHCwqlSpohIlSshkMum9997LcZnRvZhMJs2YMSPH2YSsawQAAIC8IVg8Inr37q1ly5YpJiZG165d05UrVzR48GCrD9Bt27ZViRIltGbNGgUGBuZ6A3fnzp0VHh6u6Oho+fv753oD98yZM60elylTJtevZ926dcrIyNCMGTPk7u5uab9586bVbIUkVa1aVdKtwFStWrUcx/T09NSOHTv0xBNPqEaNGrmuJSdZ5zpy5Eiul08BAAA8qlgE/oioW7eunnzySX333XdatmyZTCaT1TIo6dZdhwYNGqSzZ89q4sSJ+vvvv7Md6/bN2JJUu3Zt+fn56ddff9UXX3yR7WzBncdIUosWLaz+q1evXq5fj729fbbjzps3z+b8Xbp0kYODg8LDw7NdrpU1RtYm6ZkzZyojI8OmX16WQUm3fkekXLlyWrhwoc2yr+xqBwAAeJQxY/EI6d27t/79739rx44deuaZZ7K91WlQUJDi4+MVFRWln3/+WT4+PpZv3i9evKgff/xR58+fV7t27ayO++c//6nr168rMjJSW7ZsUefOneXu7q709HSdP39eP/zwgyRl+/sS+dGxY0ctWrRIb775pvr06SMHBwft3r1bx48ft9mT4erqqjFjxmjKlCnq37+//Pz85ObmposXL2rLli2aMGGC6tSpowYNGmjIkCEKCwvTgAED5OPjIxcXF12+fFmHDh3S9u3btWvXrlzXWLJkSX3wwQd699139eKLL1puN3v16lXt2rVLAwYMUMeOHe/L9QAAACjsCBaPkB49emjGjBlKTU21ma3IYmdnp3/+85969tln9e2332rjxo26cuWKTCaTKlWqZPnw3aFDB6vjSpYsqalTp2rLli1atWqVVq1apatXr6pYsWJydXVV48aN9f7779v8uF5+NW7cWJ9++qnmzJmj//73vypRooSaN2+usLAwBQUF2fTv16+fPDw8FBkZqcWLFystLU0uLi5q1qyZXF1dLf2GDBmi+vXra/Hixfrf//6nmzdvqkKFCqpVq5bGjh2b5zo7dOigOXPmKCIiQtHR0bpx44YqVKigJk2ayMvLy9A1AAAAKEpMZtZrAEVOWFiYAgMD5eDgUNClAAAASGKPBQAAAID7gKVQwB0SExMtv82Rk5IlS+bpF8YBAAAedQQL4A7jxo3TTz/9dNc+PXv2VEhIyMMpCAAAoAggWAB3ePvtt3Xt2rW79nFxcXlI1QAAABQNBAvgDnn5vQ0AAADcwuZtAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAB6CkJAQeXt727THxsbq1VdfVfv27eXt7a2YmJgCqA4AAMC4YgVdwOMsNjZWw4YNy/H5iIgINWrU6CFW9HAkJSVp0aJFeuaZZ7L9sD1kyBD99NNP2R4bGRmp+vXrWx5fvnxZS5Ys0eHDh3Xo0CElJCSoZ8+eCgkJsTn24sWLWr16tXbu3Kk///xTycnJqlKlitq0aaNXXnlF5cqVu18vMVeuXbumcePGqXLlynrrrbdUsmRJPfXUUw+1BgAAgPuFYFEIdOvWTW3atLFp9/T0LIBqHrykpCSFh4dLUrbBQpLKlSun0aNH27S7u7tbPT516pQiIiLk6uqq+vXra8eOHTme98cff1RYWJjatm2rgQMHysnJSQcPHtSiRYu0YcMGff3116pUqZKBV5Y3v//+u5KSkvTBBx+oc+fOD+28AAAADwLBohCoW7eufH19C7qMQsXR0TFX16RevXr67rvvVL58eSUkJMjHxyfHvk2aNFFMTIxVeOjTp48aNmyoSZMmacGCBXrrrbfuR/m5cvnyZUlSmTJlHto5AQAAHhSCRSF24MABLV++XPv379eFCxdkb28vLy8vDRw4UJ06dbLpf/nyZUVERGjbtm26ePGinJ2dVbt2bQ0aNEgtW7a09IuLi1N4eLj27NmjxMREubi4yMfHR0OGDJGjo6OlX0hIiFatWqXNmzfriy++0MaNG5WcnKy6detq9OjRatiwodX5zWazoqKitGLFCp08eVJ2dnaqX7++goKCLDMTty//Cg8Pt8xcuLm52ewvyMzM1I0bN+Tk5CSTyZTtNXJycpKTk1OurmetWrWybe/atasmTZqkP/74I1fj3Cm31/12/v7++uuvvyTJajlcbGxsvmoAAAAoaASLQiAlJUUJCQlWbQ4ODtq8ebNOnTolHx8fubm5KTExUatWrdK4ceM0adIkde/e3dL/3Llzeu211xQfHy9fX1/Vr19fN2/e1G+//aY9e/ZYPuAeOnRIw4YNU+nSpRUQEKDKlSvr6NGjWrx4sX799VeFhYWpWDHrfxbBwcEqX768Xn/9dSUmJmrhwoV68803tXLlSqsP9RMmTND69evVpUsX+fv7Ky0tTWvXrtWIESP06aefqkOHDqpRo4ZGjx6tadOmqVOnTpaAVKpUKatzXrx4Ue3atVNqaqpKliypVq1aacSIEapevfp9vPL//1ySVKFChTwfm9vrfqcxY8Zo+/bt+vbbbxUYGKgaNWoYeg0AAAAFjWBRCISGhio0NNSqrWvXrpowYYKCg4Ot2vv3768BAwZo7ty5VsHik08+0aVLl/TFF1+oVatWVsdkZmZa/p44caIqVaqkyMhIq1DQvHlzjRs3TmvXrpW/v7/V8XXr1tX48eMtj2vWrKnx48dr3bp16tu3ryRp06ZNWrt2rd577z0FBARY1RsYGKjPPvtM7du3V8WKFdWxY0dNmzZNXl5e2S53cnd319NPP63atWvLzs5OBw8e1NKlS7Vnzx7NnTtXXl5e97ymeZF17Xv27JnnY3N73e/UsWNHJSUl6dtvv1WLFi1y3GsCAABQVBAsCoE+ffrY7A2oWLGi1bKklJQUpaSkSJKaNWumqKgoXb9+Xc7OzkpMTNTOnTvVunVrmw+3kmRnd+uuwsePH9exY8c0dOhQpaWlWc2SNG7cWI6Ojtq1a5dNsBgwYIDV46wPwadPn7a0rVmzRk5OTurYsaPN7Eu7du0UFhamuLg4VatW7Z7X48MPP7R67OPjo/bt22vo0KGaNm2aZs2adc8xcmvBggX6/vvv1adPHzVr1ixPx+b2ugMAADwOCBaFQNWqVdWiRQub9vj4eM2ePVtbtmxRfHy8zfNZweL06dMym82qU6fOXc9z8uRJSdnPkNx+zjvdeSemrNuyJiYmWtpOnTql5ORkPfvsszmePz4+PlfBIjtNmjRRkyZNtG/fPqWkpKhkyZL5Gud2K1as0Oeff662bdvq3XffzfPxub3uAAAAjwOCRSFlNpsVHByskydPqn///qpfv76cnZ1lZ2enmJgYrVu37q5LbXIaU5JefvnlbL9hl7K/Q5G9vf1dx8v6u3z58po0aVKO589p83RuValSRfv27VNSUpLhYBEdHa3JkyerZcuW+vTTT232lQAAACBv+DRVSB07dkxHjx5VUFCQhg4davXcihUrrB57enrKZDLpyJEjdx2zatWqkm4t0cluhsQIT09PxcXFqVGjRjYbse+U0x2e7iUuLk729vaGb88aHR2tSZMmqXnz5po6daqKFy+er3Fye90BAAAeBywCL6Sy1uffPisg3donsXnzZqu2smXLqnXr1tqxY4d2795tM1bWGHXq1FGtWrUUFRWlM2fO2PRLT0+3Wt6UF35+fsrMzNSXX36Z7fNXrlyx/J21d+TatWs2/a5fv66MjAyb9m3btunXX39VixYtVKJEiXzVKEkxMTGaPHmymjVrps8++8zQWLm97gAAAI8DZiwKqRo1aqhmzZqKjIxUSkqKqlWrpri4OH3zzTfy8vLSoUOHrPq/8847Gjx4sEaNGqWePXuqXr16SklJ0cGDB+Xm5qZRo0bJZDJp4sSJGj58uF566SX16tVLNWvWVEpKis6cOaONGzcqODjYZvN2bvj4+Mjf319Lly7V4cOH1a5dO5UrV04XL17U/v37debMGUVHR0u6tUfD09NTGzZskIeHhypUqCBHR0e1b99esbGx+s9//qN27drJ3d1d9vb2OnjwoNauXaty5cppzJgxNueeM2eOJCk1NVXSrdmerLamTZuqadOmkqQtW7bo448/lpOTk7p27aqNGzdajVOqVCl17NgxT687N9cdAADgcUCwKKTs7e31+eefa/r06Vq1apVu3rypWrVqKSQkREePHrUJFu7u7po/f77mzJmj7du3a/Xq1SpTpoxq166tPn36WPrVqVNHCxcuVEREhH788UdFRUXJyclJbm5u8vf3z/OdkW734YcfytvbW99++62++uorpaWlqWLFiqpbt65GjBhh1ffjjz/WtGnTNHPmTKWkpMjNzU3t27dXtWrVVK9ePW3dulXx8fFKT09X5cqV1bdvXwUGBqpy5co25/3vf/9r9fjIkSOW5UlBQUGWYHH48GFlZmYqKSlJkydPthnHzc0tz8Eit9cdAADgUWcys14DKHLCwsIUGBgoBweHgi4FAABAEnssAAAAANwHLIUC7nDjxg3duHHjrn3s7e1Vvnz5h1QRAABA4UewAO4wf/58hYeH37WPm5ubYmJiHlJFAAAAhR/BAriDn5+fGjdufNc+Rm5TCwAA8CgiWAB38PDwkIeHR0GXAQAAUKSweRsAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYBjBAgAAAIBhBAsAAAAAhhEsAAAAABhGsAAAAABgGMECAAAAgGEECwAAAACGESwAAAAAGEawAAAAAGAYwQIAAACAYQQLAAAAAIYRLAAAAAAYRrAAAAAAYFixgi4AQN6YzWbdvHlT165dk4ODQ0GXAwAAiojSpUvLZDI9sPFNZrPZ/MBGB3DfXb58WS4uLgVdBgAAKGISExNVpkyZBzY+MxZAEVOiRAk1btxYq1evlrOzc0GXU2CuX78uPz+/x/o6cA3+X3v3HRbV8faP/72Ay1KWvigEKYoIIhoVBUtQULEEsWDHiIga2xex1yhiDYoGe1ABQXg+asSQGLFFTB6NlQRbJDERbB8QRKkqCMzvD357Hg67C8uConi/ritXZHbOnDlz5tx7ypzZStQOlagdqA2kqB0qUTvItoFYLH6r66MLC0I+MAKBAOrq6tDT0/toAyUAqKmpffTtQG1QidqhErUDtYEUtUMlaod33wb08jYhhBBCCCGk3ujCghBCCCGEEFJvdGFByAdGKBRi6tSpEAqFjV2VRkXtQG0gRe1QidqB2kCK2qEStcO7bwOaFYoQQgghhBBSb/TEghBCCCGEEFJvdGFBCCGEEEIIqTeabpaQRpKRkYHQ0FDcvHkTOjo6GDx4MGbOnFnrr2kzxnDgwAEcOXIEeXl5sLOzw7x58+Dk5MTLl5OTg9DQUFy5cgUaGhpwd3fH3Llz37sp91Rph2fPniEuLg5XrlzB48ePoauri06dOmH27NkwMzPj8l2/fh3Tp0+XWb5///7YsGHDW9keVajaF4YMGYLMzEyZ9IsXL0JTU5P7uyn3BUX7GACsrKxw9OjRGvO9b33h0aNHiI2Nxe3bt/Hvv//CysoKhw8frnW5phYXVGmHphYXANX7Q1OLDaq0Q1OLDWfPnsWJEyeQlpaGgoICWFpaYsyYMfD29q7xl7TfdWygCwtCGkFBQQGmT58OS0tLbNq0CdnZ2di6dStev36NxYsX17jsgQMH8O2332L27Nlo06YNjhw5gtmzZyMuLg4WFhYAgLKyMsyePRsAsHbtWrx+/Rrh4eFYsWIFvvnmm7e9eUpTtR3u3r2L5ORkeHt7w8nJCXl5edi3bx/8/Pxw6NAhGBoa8vKvWrUK1tbW3N8GBgZvaYvqrj59AQD69u2LCRMm8NKqvqTX1PuCvb09oqKieGnFxcUIDAxEjx49ZPK/z30BAP79919cvHgRjo6OqKioQEVFhVLLNaW4AKjWDk0pLkip2h+AphMbANXaoanFhri4OJiZmSEoKAiGhoa4cuUK1q1bh6dPn2LatGkKl3vnsYERQt65yMhI1qtXL5aXl8elHT16lHXr1o1lZ2crXO7169fMzc2N7dixg0srLS1lXl5ebMOGDVxaUlISc3Z2Zunp6VzapUuXWJcuXditW7cadmPqQdV2KCgoYG/evOGlZWVlMWdnZxYbG8ulXbt2jXXp0oXduXOn4SvfQFRtA8YY8/LyYhs3bqwxT1PvC/L88MMPrEuXLuz27dtc2ofQFxhjrLy8nPv3qlWr2KhRo2pdpqnFBcZUa4emFBekVGkHxppWbGBM9Xao7kOODS9evJBJW7t2LXNzc+O1T1WNERvoHQtCGsFvv/2Gbt26QV9fn0vr378/KioqcPnyZYXL3bx5E8XFxejXrx+X1qxZM7i7u+PixYu88tu0acO7++Li4gJ9fX1evsamajuIxWJoaPAfuDZv3hyGhobIycl5a/V9G1Rtg7qU35T7gjwnT56EpaUlHB0dG7qab52aWt2/lptaXABUa4emFBekVGkHZTX1/iDPhxwb5D1Badu2LYqLi/Hq1Su5yzRGbKALC0IaQUZGBu8ABiq/FE1MTJCRkVHjcgBklrWxsUFWVhZev37N5bOysuLlEQgEsLKyqrH8d03VdpDnwYMHeP78OWxsbGQ+mzNnDrp164bBgwcjPDyca6f3QX3b4OTJk+jevTs+++wzBAYG4p9//pEp/2PqC7m5ubh+/ToGDBgg9/P3uS+oqqnFhYb0ocaFhtBUYkNDaYqxITU1FaamptDR0ZH7eWPEBnrHgpBGUFBQALFYLJMuFotRUFBQ43JCoZD38p10OcYYCgsLIRKJUFhYKLd8PT29Gst/11Rth+oYY9i8eTMkEgnvS0NXVxcTJ05E586doampiWvXruHgwYNIT09/b8YQ16cN3Nzc0L59e7Ro0QJPnjxBZGQkAgICeGNnP7a+cObMGZSXl2PgwIG89A+hL6iqqcWFhvIhx4X6akqxoaE0tdiQmpqK06dPIygoSGGexogNdGFBCPngRURE4OrVq9i+fTu0tLS4dHt7e9jb23N/d+3aFSYmJggNDcXt27fRvn37xqhug1m4cCH3706dOsHV1RU+Pj44ePAglixZ0og1azxJSUlwcHCQufvW1PsCkfWxxgWAYoM8TSk2PH36FEuXLoWzszPGjh3b2NXhoaFQhDQCPT09FBUVyaQXFhZCT0+vxuVKS0tRUlIis5xAIODuOIjFYrnlFxQU1Fj+u6ZqO1R17Ngx7N27F8uWLUO3bt1qzd+/f38AQFpaWt0q+5Y0RBtImZiY4NNPP8Xdu3e5tI+pLzx+/Bh37tyRuSOpyPvWF1TV1OJCQ/jQ40JD+5BjQ0NoSrGhsLAQgYGB0NfXR2hoaI3vnzRGbKALC0IagbW1tcy4xaKiIjx79kxmLGT15YDKccNVZWRkoEWLFhCJRArLZ4zhwYMHNZb/rqnaDlLJycnYuHEjpk+fjqFDh76dSr5l9W0DVcpvin0BqBxTrqampnAMdVPV1OJCfTWFuPAufCz9AWg6seH169cICgpCUVERtm3bVutvTDRGbKALC0IaQY8ePXD16lUUFhZyaWfPnoWamhpcXV0VLtehQwfo6Ojg7NmzXFpZWRmSk5PRs2dPXvn37t3Dw4cPubSrV68iPz+fl6+xqdoOQOWPGi1fvhzDhg3DlClTlF7nqVOnAADt2rVTrdINrD5tUF1OTg5SU1N52/Yx9AWpU6dOoUuXLjAxMVE6P/D+9AVVNbW4UB9NJS40tA85NjSEphAbysrKsHTpUmRkZGD79u0wNTWtdZnGiA30jgUhjcDHxweHDh3C/PnzMXnyZGRnZyM8PBwjRoyARCLh8s2YMQOZmZn4/vvvAQCamprw9/dHREQEDA0NYWtriyNHjiA/P5/3Q0j9+vVDVFQUFi1ahFmzZuH169f45ptv0KtXr/dqvKiq7ZCeno4FCxagZcuWGDx4MG7dusXlNTQ05F5O/Oqrr2BhYQF7e3vupbz4+Hj06dPnvfnCULUNTp48iQsXLqBnz56QSCR4/PgxoqOjoa6u/lH1Bam0tDSkp6fD19dXbvkfQl8AKu9IXrhwAQCQmZmJ4uJi7qSgS5cuMDQ0bPJxAVCtHZpSXJBSpR2aWmwAVGsHqaYSG77++mv87//+L4KCglBcXMzr323btoVQKHwvYgNdWBDSCPT09LB7925s2rQJ8+fPh46ODoYNG4aZM2fy8pWXl6O8vJyX5ufnB8YYDh48iBcvXsDOzg7bt2/nvjQBQENDA9u3b8emTZuwfPlyqKurw93dHfPmzXsn26csVdvh9u3bKCoqQlFREQICAnh5vby8EBwcDABo1aoVkpKSEBcXh9LSUpibm8Pf3x/+/v5vfduUpWobfPLJJ8jJyUFYWBg3o0fXrl3x5Zdf4pNPPuHyNfW+IHXq1CkIhUL07dtXbvkfQl8AgOfPn8u8XCv9e8+ePXB2dm7ycQFQrR2aUlyQUqUdmlpsAFQ/LoCmExukv+cjb6aqH374Aebm5u9FbBAwxlidlyKEEEIIIYSQKugdC0IIIYQQQki90YUFIYQQQgghpN7owoIQQgghhBBSb3RhQQghhBBCCKk3urAghBBCCCGE1BtdWBBCCCGEEELqjS4sCCGEEEIIIfVGFxaEEEIIIYSQeqMLC0I+UtnZ2dDX18fevXt56ZMmTYK1tXXjVKqJCA4OhkAgQEZGxjtZX3R0tMz6Xr16BXNzc6xevbrO5SnqG0R10n10/vz5xq4KaWT1jQ/Ulz5eGRkZEAgE3K/Ivyvnz5+HQCBAdHR0rXnpwoKQj9SKFSsgkUjg7++vVP6srCwsWLAA7du3h1gshp6eHtq0aYOxY8ciISGBl7dPnz7Q1dVVWJb0i/X69etyP3/x4gW0tLQgEAgQGxursBxra2sIBALuP6FQCGtra0yZMgWPHj1SaruaKi0tLSxZsgSbNm1CZmZmnZata98gH7fU1FQEBwe/swtp0vgyMjIQHByM1NTUd7pe6muy8vLyEBwc/N5caNKFBSEfocePHyMyMhL/7//9P2hoaNSa/8GDB+jYsSN27twJV1dXbNy4ERs2bICXlxfS0tIQFRXVoPWLi4tDSUkJbGxsEBkZWWNeCwsLxMbGIjY2FuHh4XBxcUFkZCRcXFzw7NmzBq3XhyYgIAACgQBbtmxRepm69g2inC+++AKvXr2Cm5tbY1elwaWmpmL16tV0svcRycjIwOrVqxvlwuJj7mtWVlZ49eoVVqxYwaXl5eVh9erV782FBX1rEPIR+vbbbyEQCDBu3Dil8m/evBnZ2dn4/vvvMXToUJnPs7KyGrR++/fvh7u7O4YOHYqgoCDcv38frVq1kptXX18fEyZM4P6eMWMGTE1NsWPHDkRFRWHhwoUNWrcPiY6ODkaMGIHo6GisXbsWmpqatS5T177R2MrLy1FSUgJtbe3GrkqN1NXVoa6u3tjVIIR8wAQCAUQiUWNXo0b0xIIQJUjHtP78888ICQmBlZUVtLS04OLigsuXLwMAfvnlF/Tq1Qs6OjowMzPDmjVr5JZ1/fp1DB8+HCYmJtDU1ETbtm2xbt06lJWV8fJdvXoVkyZNgp2dHbS1tSEWi9GzZ08cO3ZMpsxJkyZBIBAgPz+fO7EWiUTo2bMnrly5IpP/yJEjcHZ2hqmpqVLbf+/ePQBA37595X7eokULpcpRxu+//47U1FT4+flh/Pjx0NDQqPWpRXUDBgwAAPzzzz8K8yQlJUEgEGDbtm1yP+/evTskEgnevHkDoG77Qx7pPpJHIBBg0qRJMumHDh1Cr169IBaLoa2tDRcXF3z33XdKrU9q0KBBePbsGZKTk5XKr6hvVFRUYN26dXBzc0OLFi0gFAphaWmJGTNmIDc3l8uXl5cHkUiEESNGyC1/6dKlEAgEvDud+fn5WLx4MWxtbaGpqQmJRIJx48bh/v37vGWlx+HZs2exZs0atG7dGiKRCIcPHwYAnD59GmPGjEGrVq2gpaUFAwMDeHp64pdffpFbl6NHj6Jjx44QiUSwtLTE6tWrcfbsWbljiUtKSrB+/Xo4OjpCJBLBwMAAQ4YMwR9//KFUu8obF99QccXa2hp9+vTB77//Dg8PD+jq6sLIyAh+fn7Izs7m5S0sLMSKFSvg4uLCxSBbW1ssWbIEL1++lCmbMYa9e/fCxcUFurq60NXVhZOTE1auXAmgclijdMicu7s7NyxRXn+u7ubNmxg+fDiMjY0hEonQrl07hIaGory8nJevrvFNHunwyz///BNBQUEwMzODtrY2+vbti7/++gsAkJCQgM6dO0NLSwvW1taIiIiQW9a+ffu4fPr6+vD09MSFCxdk8lVUVGDDhg2wsbGBSCRC+/btERcXp7COmZmZmDFjBiwtLSEUCmFubo5p06bJ7MO6Urad+/TpI/f9uurj+qOjo+Hu7g4A8Pf35/Z5nz59APDH42/fvh12dnYQiUSws7PD9u3bZcqX9t/qqo/rV7WvSftPbm4uJk2aBBMTE4jFYgwbNoy7KRYREQEHBweIRCLY29sjMTFRppxdu3bB09MTn3zyCYRCIczMzDBhwgS5T0/Ky8uxZs0aWFlZQSQSoUOHDjh06JDc92vq0r+r74vz58/DxsYGALB69WquTaT7saZ3IxR9JyUmJqJTp04QiURo2bIlvvrqK+57sDp5cZGeWBBSB0uWLEF5eTnmzJmD0tJShIWFwdPTEzExMQgICMC0adPg6+uLw4cPY+XKlbCxseHdTf/pp58wYsQI2NraYv78+TAyMsKlS5ewcuVKpKam4siRI1zeY8eOIS0tDaNHj4aVlRVyc3Nx4MABjBgxAnFxcRg/frxM/QYMGACJRIKVK1ciNzcXW7Zsweeff4709HSIxWIAwNOnT/HXX38hMDBQ6e1u3bo1AGDv3r0ICgpSeIJcnaKhSPJOYKT2798PXV1d+Pj4QEdHB15eXjhw4ABCQkKgpqbcvRDphZCJiYnCPJ6enmjRogViYmJk2uLevXu4fPkyAgMD0axZMwCq7Y/6WLFiBdatW4eBAwdizZo1UFNTw7FjxzBq1Cjs2LEDs2bNUqqc7t27A6j8ghk4cGCNeWvqG6Wlpdi0aRN8fHwwdOhQ6Ojo4Nq1a9i/fz8uXLiAlJQUCIVCGBgYwNvbG4mJiXj+/DmMjIy4MioqKhAXF4cOHTrg008/BVB5UdGjRw88fPgQkydPhqOjIzIzM7Fr1y64uLjg+vXrsLKy4tVlwYIFePPmDaZOnQo9PT20bdsWQOUJz/PnzzFx4kRYWFjgyZMn2LdvH/r27Yvk5GR89tlnXBmHDh3CuHHj0Lp1a6xatQoaGho4cOAAfvzxR5ltf/PmDQYOHIjffvsNX3zxBWbPno38/Hzs3bsXPXv2xK+//gpnZ2el9oc89Y0rQOUQtr59+8LHxwcjR47E77//jsjISFy/fh3Xrl3jnuhI28THx4e7cP/ll18QGhqKP/74A6dOneKV+8UXXyAuLg4uLi5Yvnw5DAwMkJaWhu+++w4hISEYMWIEMjMzERERgWXLlsHBwQHA/8UMRa5fv47evXujWbNmmDVrFlq0aIEff/wRixcvxo0bN+SegCsT32rj5+cHXV1dLFu2DDk5OQgLC8OAAQOwZs0aLFq0CDNmzMDkyZOxf/9+fPnll2jXrh169erFLb948WKEhoaiW7duWL9+PQoLCxEREQF3d3ckJiZi8ODBXN558+YhPDwcbm5umDt3LrKzszFr1iy5T18fPnyI7t27o7S0FAEBAWjdujX++ecf7N69G8nJybh+/Tr09fWV2sb6tnNt3NzcsGzZMqxfvx7Tpk3jjqvmzZvz8m3fvh1ZWVn48ssvIRaL8T//8z8IDAzE8+fPsWrVqjqvV9W+JjVw4EBYWFggJCQE//zzD7Zt24bhw4djxIgRiIiIQEBAAEQiEbZt24aRI0fi77//5k7agcon966urggMDISRkRFu376Nffv24dy5c7h16xaMjY25vLNnz8aePXvg7u6OBQsWICcnBzNnzuSVV50q/dvBwQFbt27F3LlzuW0BUOM7jjU5duwYfHx8YG1tjZUrV0JDQwNRUVH46aefZPIqiotghJBaRUVFMQCsU6dOrKSkhEtPTExkAJiGhga7du0al15SUsJatGjBXF1dubRXr16x5s2bs88++4y9efOGV/6WLVsYAJacnMylFRUVydSjuLiY2dnZMQcHB166n58fA8BmzJjBSz98+DADwPbs2cOlnTt3jgFg4eHhcrfVz8+PWVlZ8dL+/fdfpqenxwCwli1bsvHjx7OtW7ey69evyy2jd+/eDECt/1VtM2kbGRgYMD8/Py7t+++/ZwDYiRMnZNZjZWXF7O3tWU5ODsvJyWH3799nkZGRTF9fn2loaLBbt27JrZ/UggULGAB2584dXvqKFSsYAJaSksKl1WV/rFq1igFg6enpXJp0H8kDgLfNKSkpDABbunSpTN6hQ4cysVjMCgoKuDRp/6y6vqo0NDSYl5eX3M+qqqlvVFRUsJcvX8qk79u3jwFghw4d4tKOHz/OALCdO3fy8p49e5YBYGFhYVxaYGAgE4lELDU1lZc3IyODicViXrtIt9POzo4VFxfL1EXePsrKymLGxsZs0KBBXNqbN2+Yubk5MzU1Zc+fP+fSCwsLmY2NDQPAoqKiuHTp8Xny5Ele2fn5+axly5asd+/eMuutTlr3qsd4Q8QVxiqPAwBs69atvHRpvTds2MAro7S0VKZ+0j5/5coVLu3QoUMMAJswYQIrLy/n5a/6t7xtq02PHj2Yuro6u3HjBpdWUVHBRo0axQCws2fPcul1iW+KSI9JLy8vVlFRwaWHh4czAEwsFrOHDx9y6dnZ2UxTU5ONHTuWS0tLS2MCgYD17NmTt7+ePHnC9PX1mZWVFSsrK+Pl9fDw4NIYqzy2BQKBzPHq7e3NJBIJe/ToEa/e165dY+rq6mzVqlVcWl3auy7t3Lt3b5nYzxhj6enpDACvDsnJyTLHSfXPdHV1edtTUlLCunbtyjQ0NHjpVlZWco8heetQpa9J+8/MmTN56XPnzuW+0/Lz87n0GzduMABsyZIlvPzy4os0pn399ddc2u3btxkANmDAAN5xcvPmTaampqbwu0GZ/i1vX8hLk6ppP1X/TiorK2MtW7ZkxsbGLCcnh0vPy8tjlpaWSsdFGgpFSB3MmDEDQqGQ+1t6p8bFxYV3x1IoFKJbt27cnXMAOHPmDJ4+fQp/f3/k5eXh2bNn3H/Su1ynT5/m8uvo6HD/fvnyJXJzc/Hy5Ut4eHjg7t27KCgokKnf3LlzeX97eHgAAK8eOTk5AMC7k1ybVq1a4caNG9xd8vj4eMydOxfOzs7o0KEDUlJSZJYRiUQ4c+aM3P+++OILuetJSEhAXl4e/Pz8uLTBgwdDIpEoHA6VlpYGiUQCiUSCVq1aYfLkyTAxMUFiYiLat29f43ZJ1xMTE8OlMcZw8OBBtG/fHp07d+bSVdkfqoqLi4NAIICfnx+vnzx79gze3t4oLCzEpUuXlC7PyMhIqeEUNfUNgUAALS0tAJWP+aV9WNrHqj6yHzBgAJo3b85rV6CynTU0NODr6wugsq3j4uLg5uaGTz75hLedOjo6cHV15R0TUjNmzJD7TkXVfVRUVITc3Fyoq6vDxcWFV7+UlBT897//xaRJk2BoaMil6+rqYvr06TLlHjx4EPb29ujSpQuvjqWlpejfvz8uXLiAV69eyWlR5dQnrkjp6elh5syZvLSZM2dCT0+PN1xPKBRyT+HKysrw4sULPHv2DP369QPA34/Su9mbN2+WeVqo7NNDebKzs/Hbb7/B29sbHTp04NIFAgGWL18OAHKHGCoT32oTGBjIe+IqbWtvb2+0bNmSS5dIJGjbti2v7MTERDDGsGjRIt7+Mjc3h7+/Px48eMANjZPmnTdvHu/dms6dO6N///68OuXn5+P48ePw9vaGSCTi9TFra2vY2trKPQ5qo2o7NxRfX19YWFhwfwuFQsydOxdlZWVynwy+bUFBQby/pft+4sSJ0NPT49I7dOgAPT09mX4ljS8VFRXIz8/Hs2fP0LFjR+jr6/OOm+PHjwMA5syZwztOnJycuGG68jRE/66PlJQUPHr0CP7+/ryn/fr6+nWKizQUipA6qP4IW3pSIu/xpqGhIW/s+d27dwEAkydPVlj+06dPuX9nZ2djxYoVSExMlHtSmJeXxwuG8uonfTRbtR7SL1XGmMJ6yGNtbY0dO3Zgx44dyMzMxIULFxAbG4sff/wRXl5euHPnDu+EVF1dnTtZqU7eeGSgchiURCKBhYUF7/0IT09PHDlyBM+ePZMZ3mRtbc393oJ0XLKtra1S2yS9eIiLi8P69euhpqaGX3/9FRkZGQgNDeXlVWV/qOru3btgjMHe3l5hnqp9pTaMMaWGr9XWNw4fPoywsDD88ccfMmNuX7x4wf1bevGwZcsW/P3337Czs0NxcTESEhLg6enJDZnIyclBbm4uTp8+DYlEIned8k5g7ezs5Ob9999/sXz5cpw6dQp5eXlytw0A0tPTAYAbQlWVvLS7d+/i1atXCusIVA77q3piWhf1iStVy6h6sgsAmpqaaNWqlcy7Krt27cKePXtw584dVFRU8D6ruh/v3bsHMzMzmSEu9SVtf0dHR5nPHBwcoKamJlNnQLn4Vpu6tvWDBw+Uqrc07f79+3B2dubqL+8YbteuHe9C4a+//kJFRQX279+P/fv3K1VvZajazg1FOlSpqnbt2gHAW12vIvU9zs6dO4eQkBBcuXIFr1+/5n1W9bipLb4kJSUpVT9V+nd91NZnq1MUF+nCgpA6UDSrizKzvUhP1jZt2sSNL6/O3Nycy+vp6Ym7d+9izpw5cHZ2hr6+PtTV1REVFYX4+HiZE4Ka6lH1RFEaBJ4/f15rnRUxMzPDqFGjMGrUKPj6+iI+Ph4nTpyQGfddF+np6UhOTgZjTOGJ48GDB2XuOuno6Ci8gFHGxIkTERQUhHPnzqFfv36IiYmBuro6b1tU3R9VKTqxr/7SvnR9AoEASUlJCvepvJMFRV68eFHjSbFUTX0jISEBY8aMQbdu3RAeHo6WLVtCJBKhvLwcAwcOlNn+iRMnYsuWLYiJicHatWuRkJCAoqIi3tMoab/s168fFi9erPT2yHtaUVRUBDc3NxQXFyMoKAhOTk4Qi8VQU1PDhg0bcO7cOaXLr44xBicnpxqn7VWmfRWpT1ypqy1btmD+/Pnw9PREYGAgzM3NIRQK8eTJE0yaNKnWftyYlIlvqpbREGWrSrqOCRMm8I6PqqRPC9+musSoD3G99dn3165dg6enJ2xtbbFx40bY2Nhwv7U0duzYBjlu3kYfrOmGUn3bV1FcpAsLQt6RNm3aAFDuRPjmzZu4ceMGVq5cKfPLyfv27atXPaQnpA31eNXV1RXx8fF48uRJvcqJioriZqAxMDCQ+XzFihWIjIyUubCor/Hjx2PhwoWIiYlBz5498d1336F///4wMzPj8jTE/pA+zan+QrO8O3dt2rTByZMnYWlpKfeuX11kZGSgrKys1mFhQM19IzY2FiKRCMnJybwT+7S0NLlldezYER07dsTBgwexZs0axMTEcC92S0kkEhgYGKCgoKBeF4cA8PPPP+O///0vIiMjZX7Yr+qc7wC4GVOkswFVJS+tTZs2yMnJgYeHR72GAL1N9+/fR2lpKe+pRUlJCe7fv8+7AxkbGwtra2skJSXxtuXkyZMyZdrZ2SExMRFPnz6t8amFspM5SEnvEN+5c0fms7S0NFRUVKh0h/5tk9bpzp07Mi8M//nnn7w80v+npaUpzCtla2sLgUCA0tLSeh8HVdW1nY2MjOQOa5UXo5TZ59Kn9FVVbyfpeuXdzFB1vW9DfHw8ysvLkZSUxHvCUVxczHtaAfDjS/V+LC++1FdNbVL1e6e66u1btc9WV73PAorj4vsZIQlpggYMGABTU1Ns3LhR7kH+6tUrFBYWAvi/OxfV71Tcvn273mNiJRIJHB0duekslXH+/Hm5Y8grKiq4sbLyHpUqq6KiAtHR0XBycsKUKVMwcuRImf/GjRuHW7du4dq1ayqvRx6JRIJBgwYhISEBcXFxKCgokLlr2BD7Q/oU5uzZs7z0sLAwmbzSd1CWLVsmMyUkULdhUNL93Lt371rz1tQ31NXVIRAIeHfmGGNYu3atwvL8/Pzw4MEDxMfH49y5cxgzZgxvDnY1NTX4+vri6tWrCqfRVXaqTUX76PTp0zJTNjo7O8PMzAzR0dG8k4KioiLs2bNHpuyJEyciKytL4ROLuuyPt6WgoAC7du3ipe3atQsFBQUYNmwYlybdj1XbqaysDBs3bpQpU/ouzKJFi2TuyFZdXjoDjbJPQU1NTdGjRw/8+OOPuH37Nq/MDRs2AACGDx+uVFnvkre3NwQCATZt2sQbCpiZmYmoqChYWVmhU6dOvLxbtmzhHcO///67TAwwNjbG4MGDkZCQIPfYY4xx7z/VRV3b2c7ODoWFhbh69SqXVlFRga1bt8qUrcw+j4uLw+PHj7m/S0tLsXXrVqirq8PLy4u33rS0NN7NqZKSEuzcuVOl9b4NiuLL+vXrZY6NIUOGAADCw8N5n926dUtm1rWGUFOb2NjYQENDQ6bP/fbbbzJ9rUuXLrCwsEBUVBRvRseCgoI6xUV6YkHIO6Kjo4OYmBgMGzYMbdu2xeTJk2Fra4u8vDykpaUhISEBx44dQ58+feDg4ABHR0eEhobi5cuXaNu2Lf7++298++23cHJykntXqS5GjRqFNWvWIDMzk3dnXpHNmzfj4sWLGDJkCDp37gx9fX1kZWXh6NGjSElJgbu7Oz7//HOV63P69Gk8evQIAQEBCvP4+PggODgY+/fvR9euXVVelzx+fn744YcfMH/+fOjr6/NOxAA0yP4YN24cli1bhmnTpiEtLQ1GRkY4efKk3Cl5u3btiuDgYAQHB+PTTz/FqFGjYG5ujszMTKSkpODEiRMoLS1VattOnDgBExMTbt752ijqGyNHjsTRo0fh4eGBiRMn4s2bN/j+++9rnDrY19cXixYtwsyZM1FRUSF3mMe6detw8eJFjB49GqNHj4arqyuEQiEePHiAEydOoEuXLnLnYK+uV69eaNGiBebPn4+MjAxYWFggNTUVsbGxcHJywq1bt7i8Ghoa2Lx5M3x9fdGtWzcEBARAQ0MD0dHRMDY2Rnp6Ou8u4Jw5c3DmzBksXLgQ586dg4eHB/T09PDw4UP8/PPP3JOcxtS6dWusXr0at2/fRpcuXZCSkoLIyEjY29vzpg8eOXIkli5dikGDBmHEiBEoKChAfHw890J3VaNGjcKYMWMQExODe/fuwdvbG4aGhvj7779x6tQp7mS1a9euUFNTw7p16/DixQvo6OjAxsYGLi4uCusbHh6O3r1747PPPuOmQT1+/DhOnTqF8ePHK/zNnMbUtm1bLFy4EKGhoXBzc8OYMWO46WaLiooQFxfHnYDa29tj1qxZ2LFjBzw8PODj44Ps7Gzs2LEDHTt2lPn9k927d6NXr15wc3PDxIkT0alTJ1RUVOD+/ftITEzExIkTud8uqIu6tPO0adMQFhaG4cOHY86cORAKhfjuu+/kDplp164dxGIxdu3aBW1tbRgYGMDU1JR74RiovGBwcXHB9OnTIRaLER8fj2vXruGrr77ivY80e/Zs/Oc//0G/fv0wffp0lJaWIjY2Vu6QR1X6WkMYPnw4tm7disGDB2PatGkQCoU4c+YMbt68KfPen6OjI6ZNm4aIiAj069cPw4cPR05ODnbu3IlOnTohJSWlQZ+8GBsbw9bWFv/5z3/QunVrNG/eHDo6OhgyZAh0dXUxadIk7Nu3D+PGjUOfPn1w7949REVFoUOHDrhx4wZXjrq6OrZu3YrRo0ejW7dumDp1Kvc7UsbGxnj48CFvvYriIk03S4gSapriDtWmCpVSNL3orVu3mK+vLzM3N2fNmjVjpqamrHv37iwkJITl5uZy+TIyMtjIkSOZiYkJ09LSYl27dmUJCQn1nsqUscrpETU0NNjmzZvl1rv6lIOXLl1i8+bNY87OzszU1JRpaGgwfX195urqysLCwtjr1695+Xv37s10dHTk1oex/5v6UTqV5siRIxkAdvPmTYXLMMaYnZ0d09fX56Y9tbKyYo6OjjUuo4ySkhJmZGTEALApU6bIzVOX/SEvjTHGLl++zHr06ME0NTWZsbExmzp1Knvx4oXCPnT8+HHm6enJDA0NmVAoZBYWFmzgwIFs9+7dvHyKppstKipiOjo6bMGCBUq3RU19IyIigjk4ODBNTU3WokULNnXqVJabm6uw/owx5uXlxQCwNm3aKFxncXExCwkJYe3bt2cikYjp6uoye3t7NmXKFHb58mWZ7VQ01eSNGzfYgAEDmIGBAdPV1WW9e/dmv/76q8Lj4/Dhw8zJyYkJhULWsmVLFhwczBISEmSmz2Wscora8PBw5uzszLS1tZm2tjaztbVl48ePZ6dOnVK4bTXVvaHiinS6zpSUFObu7s60tbWZgYEBmzBhAsvKyuLlLSsrY+vXr2etW7dmQqGQWVpasoULF7I///xT7pSV5eXlbMeOHaxTp05MS0uL6erqMicnJxYcHMzLFx0dzRwcHFizZs1q7A9VpaamsqFDh3L9297enn399de86VkVbXNt7VSdomOypqk6FU2/GhERwT799FOmqanJxGIx69evH/v1119l8pWXl7O1a9cyS0tLJhQKmaOjIzt48KDCuuTk5LAFCxawNm3aME1NTaavr8/at2/PAgMDeVNi13XKVWXbmTHGfvrpJ9axY0cmFAqZmZkZW7RoEUtLS5PbRj/99BPr1KkT09TUZAC4KWOrTnEaHh7ObG1tmVAoZLa2tuybb76RW8fo6GhmZ2fHmjVrxqytrdnXX3/Nfv75Z7lTpda1rynqPzVNxSpvCtxjx46xzp07M21tbWZsbMzGjBnDHjx4IDdvWVkZCw4OZi1btmRCoZA5OTmxQ4cOsfnz5zMA7OnTp7XWjzHZ/q2ov165coX16NGDaWtrMwC8fltYWMgCAgKYkZER09LSYr169WIXL15UuN6jR49yfcDCwoKtWLGCnT59Wm5byYuLgv+/4oSQj8z06dNx+vRp/PXXX7y7lZMmTcL58+fl/pooeT9FR0fD398f6enpvF/ODQ8Px/Lly7nZfZSlqG98DMLCwrBgwQJcunQJrq6ujV0dpVhbW8Pa2pr3q96ENJbz58/D3d0dUVFRSv0C+8dkyJAhOHfuHAoKCt7K5AzvA3rHgpCPVEhICHJzcxEVFdXYVSFvwatXr7Bx40YsXLiwThcVwMfRN0pLS2XeXykqKsLOnTthbGzM+w0TQgipC3nvJN68eRNJSUnw8PBoshcVAL1jQchHy9TUFPn5+Y1dDfKWaGlpITMzU6VlP4a+cf/+fQwaNAhjx46FjY0NMjMzceDAAaSnp2P37t0yvwlBCCHKOnDgAGJiYvD5559DIpEgLS0NEREREAqFCAkJaezqvVV0YUEIIeSjI5FI4Orqiri4OGRnZ0NDQwNOTk7YuHEjRo8e3djVI4R8wDp37oxjx45h27ZteP78OcRiMTw8PLBq1Spu5rCmit6xIIQQQgghhNQbvWNBCCGEEEIIqTe6sCCEEEIIIYTUG11YEEIIIYQQQuqNLiwIIYQQQggh9UYXFoQQQgghhJB6owsLQgghhBBCSL3RhQUhhBBCCCGk3ujCghBCCCGEEFJvdGFBCCGEEEIIqbf/DyBhSo+vul9EAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "shap.summary_plot(shap_values, x_test, plot_type='bar', feature_names=feature_names)" ] }, { "cell_type": "markdown", "id": "87f5de82", "metadata": {}, "source": [ "### Confusion Matrix" ] }, { "cell_type": "code", "execution_count": 41, "id": "aefeb29c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[498 2]\n", " [ 7 493]]\n" ] } ], "source": [ "pred_probas = gbms[winner_id].predict(x_test)\n", "pred_classes = []\n", "for pred_proba in pred_probas:\n", " if multiclass is True:\n", " pred_class = 1 if pred_proba[1] > pred_proba[0] else 0\n", " else:\n", " pred_class = 1 if pred_proba > 0.5 else 0\n", " pred_classes.append(pred_class)\n", "\n", "cm = confusion_matrix(y_test, pred_classes)\n", "print(cm)" ] }, { "cell_type": "code", "execution_count": 42, "id": "5233a976", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Boosted LightFace's accuracy=99.1, precision=99.6, recall=98.6, f1=99.1\n" ] } ], "source": [ "accuracy= 100 * round(accuracy_score(y_test, pred_classes), 4)\n", "precision = 100 * round(precision_score(y_test, pred_classes), 4)\n", "recall = 100 * round(recall_score(y_test, pred_classes), 4)\n", "f1 = 100 * round(f1_score(y_test, pred_classes), 4)\n", "\n", "print(f\"Boosted LightFace's {accuracy=}, {precision=}, {recall=}, {f1=}\")" ] }, { "cell_type": "code", "execution_count": 43, "id": "3b5ef5fe", "metadata": {}, "outputs": [ { "data": { "image/png": "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rl+/DmdnZwCAs7MzfvrpJ532qmcXVV9TU+weIiIikhFDjml5UlqtFmVlZfD394e5uTkOHDggncvOzkZubi4CAwMBAIGBgTh58iQKCgqka5KSkqBSqeDj41Or57LSQkRERI81c+ZM9O/fH23atMHdu3exdetWJCcn49tvv4VarcbYsWMxdepU2NvbQ6VSYdKkSQgMDERAQAAAoG/fvvDx8cFrr72GJUuWID8/H7Nnz0ZkZORju6Meh0kLERGRnNTzx4cKCgoQHh6OvLw8qNVq+Pr64ttvv8WLL74IAFixYgVMTEwwfPhwlJWVITQ0FB988IF0v6mpKRITEzFx4kQEBgbCxsYGERERmD9/fq3DrlHSsmvXrho3+NJLL9U6CCIiIqqZ+v720MaNG//0vKWlJdasWYM1a9Y89ho3Nzfs2bOnxs98nBolLUOHDq1RY4IgQKPR6BMPERER/RUjXRa2RkmLVqut6ziIiIiI/pReY1pKS0thaanfUsJERERUc/XdPdSY1HrKs0ajwYIFC9CqVSsolUr88ssvAIA5c+b8Zb8XERER6amev/LcmNQ6aVm0aBESEhKwZMkSnY8cderUCRs2bDBocERERETVap20bN68GevXr0dYWBhMTU2l4126dMHZs2cNGhwRERH9kWCgTX5qPabl6tWr0lK+D9JqtaioqDBIUERERPQY9bxOS2NS60qLj48PDh48+NDxL7/8El27djVIUERERER/VOtKy9y5cxEREYGrV69Cq9Vi+/btyM7OxubNm5GYmFgXMRIREVE1VlpqbsiQIdi9eze+++472NjYYO7cucjKysLu3bulJX2JiIiojlR/5VnfTYaeaJ2WXr16ISkpydCxEBERET3WEy8ud+zYMWRlZQGoGufi7+9vsKCIiIjo0USxatO3DTmqddLy66+/4tVXX8Xhw4dhZ2cHALh9+zZ69uyJbdu2oXXr1oaOkYiIiKpxTEvNjRs3DhUVFcjKykJhYSEKCwuRlZUFrVaLcePG1UWMREREVI1jWmouJSUFqamp6NChg3SsQ4cOWL16NXr16mXQ4IiIiIiq1TppcXV1feQichqNBi4uLgYJioiIiB5NEKs2fduQo1p3Dy1duhSTJk3CsWPHpGPHjh1DdHQ0li1bZtDgiIiI6A+M+IOJNaq0NGvWDILwe/9XSUkJevToATOzqtsrKyth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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "disp = ConfusionMatrixDisplay(\n", " confusion_matrix=cm,\n", " display_labels=[\"different\\npersons\", \"same\\nperson\"]\n", ")\n", "disp.plot()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "974514d7", "metadata": {}, "source": [ "# ROC Curves" ] }, { "cell_type": "code", "execution_count": 44, "id": "ef1f33c2", "metadata": {}, "outputs": [], "source": [ "def plot_roc(model_name, detector_backend, distance_metric, align):\n", " alignment_text = \"aligned\" if align == True else \"unaligned\"\n", "\n", " df = pd.read_csv(f\"outputs/test/{model_name}_{detector_backend}_{distance_metric}_{alignment_text}.csv\")\n", "\n", " #normalize\n", " df[\"distances_normalized\"] = df[\"distances\"] / df[\"distances\"].max()\n", " df[\"actuals_normalized\"] = 0\n", " idx = df[df[\"actuals\"] == False].index\n", " df.loc[idx, \"actuals_normalized\"] = 1\n", " \n", " y_actual = df[\"actuals_normalized\"].values.tolist()\n", " y_pred_proba = df[\"distances_normalized\"].values.tolist()\n", " \n", " fpr, tpr, _ = sklearn.metrics.roc_curve(y_actual, y_pred_proba)\n", " auc = sklearn.metrics.roc_auc_score(y_actual, y_pred_proba)\n", " auc = round(auc, 4)\n", " \n", " label = f\"{model_name}_{detector_backend}_{distance_metric}_{alignment_text} (auc: {auc})\"\n", "\n", " return fpr, tpr, label" ] }, { "cell_type": "code", "execution_count": 45, "id": "f457c00b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "outputs/test/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/train/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/10_folds/Facenet512_retinaface_euclidean_l2_aligned.csv\n", "outputs/test/Facenet_yunet_euclidean_l2_aligned.csv\n", "outputs/train/Facenet_yunet_euclidean_l2_aligned.csv\n", "outputs/10_folds/Facenet_yunet_euclidean_l2_aligned.csv\n", "outputs/test/Dlib_dlib_euclidean_aligned.csv\n", "outputs/train/Dlib_dlib_euclidean_aligned.csv\n", "outputs/10_folds/Dlib_dlib_euclidean_aligned.csv\n", "outputs/test/VGG-Face_ssd_euclidean_l2_unaligned.csv\n", "outputs/train/VGG-Face_ssd_euclidean_l2_unaligned.csv\n", "outputs/10_folds/VGG-Face_ssd_euclidean_l2_unaligned.csv\n", "outputs/test/ArcFace_yunet_euclidean_l2_aligned.csv\n", "outputs/train/ArcFace_yunet_euclidean_l2_aligned.csv\n", "outputs/10_folds/ArcFace_yunet_euclidean_l2_aligned.csv\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABXwAAAKnCAYAAAA1L4U5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAADQbklEQVR4nOzdd3hTZf/H8U+60rSFsltGocgsskERQRFkqQ+KExVlqLgAUR4QUIaogAqoqCgPKOJCcIsLRRQFZAmUZSlbkI0IBVq6cv/+4EckNG0Tmjbl8H5dV66rOfN7TpKT5NM7920zxhgBAAAAAAAAAM57QYEuAAAAAAAAAADgHwS+AAAAAAAAAGARBL4AAAAAAAAAYBEEvgAAAAAAAABgEQS+AAAAAAAAAGARBL4AAAAAAAAAYBEEvgAAAAAAAABgEQS+AAAAAAAAAGARIYEuoKg5nU7t2bNHJUqUkM1mC3Q5AAAAAAAAAC4AxhgdO3ZMlSpVUlBQ4bXDveAC3z179iguLi7QZQAAAAAAAAC4AO3atUtVqlQptO1fcIFviRIlJJ06sSVLlgxwNQAAAAAAAAAuBCkpKYqLi3Plk4Xlggt8T3fjULJkSQJfAAAAAAAAAEWqsLuZZdA2AAAAAAAAALAIAl8AAAAAAAAAsAgCXwAAAAAAAACwCAJfAAAAAAAAALAIAl8AAAAAAAAAsAgCXwAAAAAAAACwCAJfAAAAAAAAALAIAl8AAAAAAAAAsAgCXwAAAAAAAACwCAJfAAAAAAAAALAIAl8AAAAAAAAAsAgCXwAAAAAAAACwCAJfAAAAAAAAALAIAl8AAAAAAAAAsAgCXwAAAAAAAACwCAJfAAAAAAAAALAIAl8AAAAAAAAAsAgCXwAAAAAAAACwCAJfAAAAAAAAALAIAl8AAAAAAAAAsIiABr6//vqrunTpokqVKslms+mLL77Id50FCxaoadOmstvtqlmzpmbMmFHodQIAAAAAAADA+SCgge+JEyfUqFEjTZ482avlt2/fruuuu05t27ZVYmKiHn30Ud133336/vvvC7lSAAAAAAAAACj+QgK582uuuUbXXHON18tPmTJF1atX18SJEyVJCQkJWrRokV566SV16tSpsMoEAAAAAAAAgPNCQANfXy1ZskTt27d3m9apUyc9+uijgSkIAACLMsbIpKUFugwAuGAYY5SWdTLQZRQpY4yyMp2BLgNAETJGysjmdR8oxhhlZ2QEuowL2rFjx4pkP+dV4Ltv3z7FxMS4TYuJiVFKSorS0tLkcDhyrJOenq709HTX/ZSUlEKvEwCAQPFLUGuMtt91t9KSt/qnKAAAzmJsNq1q/JiOl4gLdCnIgzFGUlagywDgF0YZx2bLZB8MdCEXtJOZmUWyn/Mq8D0X48aN0+jRowNdBgCcO2OkzNRAV1HsGGOUlpkd6DKKFWOM9t97v9LXrivYdiStajJQR6+s4Z/CYHkEAgDOmSmaL744F4RDAHC+Oq8C39jYWO3fv99t2v79+1WyZEmPrXsladiwYRo4cKDrfkpKiuLi+C8yYGlFFJAWTeBoFP7efxS0v2ABnhXZJEUEuogAyM6W0rI8H7kzy6aUDRWkYHuB9uEMDtWRklX5Eg4vEQgAAACcL8rYU3VdlY2BLuOCdSzdqeFFsJ/zKvBt2bKlvv32W7dp8+bNU8uWLXNdx263y24v2BdfAP5hnE6lpRZ2fzVFF5BeqIFjUTGS0my2wt+PkUx20ewnS3m/HxkjZZmgPBaw6cPtbZVljuS+TP1zqy+HI6/6aUMAAOB8Vi6umroOHXnqwy/gB47QYNl4QgVMiN0uWxF8z4Jn4Skp0ouVCn0/AQ18jx8/ri1btrjub9++XYmJiSpTpoyqVq2qYcOGaffu3Xr33XclSQ8++KBee+01Pf7447rnnnv0008/6aOPPtI333wTqEOwNH4uHWAW+xm/MUb7Xm6rGtnbAl2KpKILE/0lyRmnuzOekAl0IcZPbxzGKMTkfX0JrjJT9uAD/thbnoZ8nK2qhdww0dhsWtOwn46XqJLXUl62kjzix8oA//m7ZIa+u2xfoMu4YNWMrqFXrngpzy/Q4cF8wQOKQpGFWaERUhG8pgmHAMCPwoomZ7OZU52uBcSCBQvUtm3bHNN79uypGTNmqFevXtqxY4cWLFjgts5jjz2mP/74Q1WqVNGIESPUq1cvr/eZkpKi6OhoHT16VCVLlvTDUViTMUa3TFmilX/+E+hSLMrIofRc59okfRw2WhcH/ZnPVs6v0LIo5R2QGgXHvy1buIWCCSOFOMPyWcbIXsBf6F+7cYDKpMUWbCP8/LvAgmyl9EnrpFxb2qSHyC9fALODMmjNA69lBRueLx7ULVNX73R+p9D34whxEMgAAAAUc0WVSwY08A0EAl/vpGZkqd7I7wNdhkUZfRI2Ws2DNhVwK1KPijFKDKfLkguekbpuGKDYYxcV7m7M6aB2T6Hu50JXpkpVXffYUOWVnDnKlVJwcHDRFQXgnBHEAgAA4LSiyiXPqz58izOrdX+QmvHvsfw+vL0iwggWXAra1UJmqiImeRf2OmMa6OTdX8tT8JOWlabELzucex0oslZXBWWMUVaGM9f5WRlOzVq60m/7krJymZnp17C3RFqGLt12QHn1UxFWu6aqvv56of9c0eYomkAmJDQo3/3ws0kAAAAAQEEQ+PqBdbs/ONXtQIROKoKnyinGSG93lvb5aUCwQVuksNyH/QoKjVBEbsFPZqjrzwW3LZAjxOGfmi4QxhiFZ0q2AnZxUNiMMfri1Q3at+O4V8v3HN1MoWE5B/1ynkzTlqs7KNtm00XffKWg8HAP+5I+m/iUDu3KuysRSXpg0jSFFnBAzJCw/IPNogpiAQAAAACwClI8P0jLzLZk2OvqdmBCoGuxqLjLpMhyfmm56AhxKCI09+C4KBhjZNLSAlqD14zRjrvuVnpSUuHvSpIzKO++dY2k7FyeB87gUO1t+axX+4o+uk3b2vbLtSOApTUrK8Vh1/whD3m1vdxUqlNPkTGxBLEAAAAAABRDBL5+dt50f5BftwQ+dDtwQYptIPWeW7CwNp9RdY0xSsvKPUDNa56/5RvmehmgGknZQcUoJCzkWoykNQ3762h0Xn3rejGA2ZFXvdrfAUnzGhS8H9/y8Rfp9tHP5zq6NF0OAAAAAABQfBH4+llEWLAiwor5aTVGmt5J2rXMu+Xz6XbggpRPWFtQxhj1+K6HEg8mFng7BW5168cw93QL0wuK+UY6Eugi/pVfmCsR6AIAAAAAcD4r5skkCkVmqvdhrx+7HYD30rLSvAt7jdGlpRrJnmHkPLvFtjHaftddSk1O9k9RhLmFqlzV6rpl+Lhcg1ZvBvvyBmEuAAAAAADWRuB7ocuv9W4ht2Q9H+XX1YI/pGWlScbIninNvXmuwoM9DchmtK/nfcrcuEqbhjb3MFdaWrOS/vHDT/z9yZsWpgVljFFWprPQtn96H3NeSdTff53wavl7xrdWaB7dvRDEAgAAAAAAfyDw9YIxRmmZ2bnOT83IfV6xFxYhhUUGuorzhr+6WvBiR3r6vWzV3S0dnNgh98WUezcK2UFB+ifSU1BcePJrpSpJIWGFG2waY/T5i6t0aNfxQtvHmWy20HyXqVgjWo4SEQS6AAAAAACg0BH45sMYo1umLNHKP/8JdCkoBrzuaqGA7JlS3d15L+NqwetFqPvQ1PcVag/PuQ1j9OXLidq/I+UcK3V3LCVEM4Ys98u2zhfl4qJ043+b5hNy+6c7BgAAAAAAgPwQ+OYjLTPb67C3ebXScoTm/pNtWMuC2xbIEXJuLWiNMcrKyL3LAWdamv56qYOybTZd9M1XCgrPGdZmpqfrn8cfzHdfFWslKMQe5bFrjqyMbB34M82rVqrnG2+CWH8gzAUAAAAAAMUJga8Pfh/eXhF59MHpCA0m+LmAOEIcigjNo//jXBhj9Nn4ldq3LfdWtcYYZTRuIZO9R/OHPJTvNu3RD0q5hLaHD4Zo2qO/5ruN3i+0VqjdOv+wIIgFAAAAAAAXIgJfH0SEBSsijFOGgslMz9berUclZeW+kMmUyd7j1fZswZUkm6NA4eapPmZDCUgBAAAAAADOc6SXuGAYY5SWlVagbXizvjFGWenpuc5P/+eYMo69L5N90Kt93vvqDIWF5951hD8GQaM1LAAAAAAAgDUQ+OKCYIxRj+965D/gmpFCsvMOPkN0an7myZPKzA46a3WjWaOG6OCObQUp16VSnQRFly9LGAsAAAAAAACvEPhakTFSZmru8zPymGdRaVlpXoW91yyNUcw/OQdI8+TNH3oUqCZbcHn1mfiCwkuXyHWZEHvBW+8CAAAAAADgwkHgazXGSNM7SbuWBbqSYmvBbQvkCMnZRULmyZN687uChbinla8ar9uGPS1PWW360RN6d9wfkkIUFh6u0HDvAmYAAAAAAAAgPwS+VpOZ6n3YG3eZFBpRuPX4SUH73z1zXUeIQxEejvvM7hkemvq+Qu2+B7HGGO3sfY8yvpqv7V/N97hMdlCYbFe+5PO2AQAAAAAAgPwQ+FrZoC1SWB6BbmiEPDZBLWa87n/Xj4KdTgU7nT6v50xLU0ZiopxBYbkukx387zybI/fB2AAAAAAAAABfEfhaWViEFBYZ6CoKzKv+d73UpEITj905SKeC5dM2tWqtEKfxuFxejKRVTQbqaHQNr5anf14AAAAAAAD4E4EvAi6/7hrOnJdb/7ve7ic0O0hZ6eke52ccPeLddqRcW/BmB4d5HfZWrBGtkLCg/BcEAAAAAAAAvETgi4DytbuG3PrfNcbkGuRKkpHRrFFDdXDHNq/2U+3b72WPLuVx3hevbdCh3an5bqP3C60Vag/OdX5IWBAtfAEAAAAAAOBXBL4IKF+6a8itOwZjjGaNfFx7NiX5pSZbcCW9O25TgcLYijWi5SgRSqALAAAAAACAIkXgi0Llr+4ajDEKz5RMWprO7lk382Sa12GvLbi8wkp0k5RXEBuSb1BbLi5KN/63aa7L0XoXAAAAAAAAgUDgq/8PJTOzPc5LzfA8PWCMkTLz6E4gI/+uBoqKP7tr+PPO7kpbvdrjellBNqnBRZKkqzfsULDTmWOZbFuYFrV+Xl6FuVWidOOg3MNciUAXAAAAAAAAxdMFH/gaY3TLlCVa+ec/RbGzvMNab9Z/u7O0b53/aspzd3m3zs2PP7prkE616s0t7D1bwq+/KDQ853Yy07O1eNgKSfStCwAAAAAAAOu64APftMxsr8Le5tVKyxGae0iYL2Ok6Z2kXcvOfRu+iLtM8tBa1lu+ts7NY0OyZ0pzb56r8GDPga4kOULCPXbXIEnOtH9D51qLFynI4b6dzPST+uHBHpKkoIhIBYWH59hGUPC/LbVD7cF5Br4AAAAAAADA+eqCD3zP9Pvw9ooI8xwEOkKDC9bqMzPVf2FvbAOp91wpr3pCI/Kenw+vWuf+f5ibl6ffz1b1/dLBiR3OuZYzBTkcCopwD7KDgoL8sm0AAAAAAADgfEfge4aIsGBFhBXBKRm0RQo799a3BQ1zfeVpMDVjjPb3uFfpiWuKrA5H06ayOXJvJQwAAAAAAABc6Ah8AyEsQgqLDHQVXvM0mJozNdXrsNeekKD4998rcEhtczjoWxcAAAAAAADIA4EvCsxTv7pn8kdQa4xRVobT47zMjGz3v23ZOZdJzzkNAAAAAAAAsBoCX+Tu//vodaamyRnqPuvMgdQ89avr3zKMPn1hpfZt+zuXBf7tSHj64EWy2UI9LwcAAAAAAABYHIEvPDLG6On3slV3t7RrYutC31dWenqu8zPSs7RzzWSZ7IMF3lfFGtEKCWOQNwAAAAAAAFgTgS88MmknVXd3/ssVdCA1Y4xmjXxcezYlnfM2TqtYK0G3DL86z+4jQsKC6AcYAAAAAAAAlkXgi3xVWTBPkSXLeJxX0P55s9LTvQ57bcHl9cAbryrM7vlpG2K3E+YCAAAAAADggkbgi3zZCrmP3tMemvq+Qu3hOaZnZmRr+uBFkkIUFu5QqD240GsBAAAAAAAAzkcEvig2Qu3hCg3PGfjKls1AbAAAAAAAAIAXGL0KAAAAAAAAACyCFr4WZIyRSUsr2DYKuD4AAAAAAACAokfgazHGGP15Z3elrV4d6FJ8lpmRLdmyc05PzzkNAAAAAAAAQE4EvhZj0tL8GvZurCJVdXjoV9dPjDGuv6cPXkRfvQAAAAAAAEABEPhaWK3FixTkcJzTuqmZabrqozZKD5U62Wx+ruxfWZlOr5etWCNaIWF0Ow0AAAAAAADkhsDXwoIcDgVFRJzbuplSeljhBb2e3P1sS0WUjMx1fkhYkGyFGD4DAAAAAAAA5zsCX5wzY4yy0tMLtI3M9JOuv0PtwQq1Bxe0LAAAAAAAAOCCReCLc2KM0ayRj2vPpqRAlwIAAAAAAADg/9EhKs5JVnq6X8NeW3AlhYTZ/bY9AAAAAAAA4EJEC19/MUbKTM19fkYe885zD019X6H28BzTMzOyNX3wIq+2UbFGWbpzAAAAAAAAAAqIwNcfjJGmd5J2LQt0JQERag9XaHjOwFe2bNlsoZKk3i+0zjPQZUA2AAAAAAAAoOAIfP0hM9X7sDfuMik0onDr8RcjhWTblHnypDKz3Xv/OHOwNW8wIBsAAAAAAABQ+Ah8/W3QFiksj0A3NEI6D1qyGmN0zZIYxRwJ15s/9Mhz2cyMbMmWnXN6es5pAAAAAAAAAAoPga+/hUVIYZGBriJfxhhlZThznZ92PFUxRzx003AWW3AlTR+8lO4YAAAAAAAAgGKAwPcCZIzRZ+NXad+2o3ksk+n62x79oPT/ffHmFJJv2FuxRrRCwoLyXAYAAAAAAABAwRH4XoCyMpx5hr1nu31cC0VHlTnn/TEgGwAAAAAAAFA0CHwvcL1faO1xMLWjxw/rnYdP/R0axoBrAAAAAAAAwPmAwPc8Y4yRSUvLdb4zj3mehNo9h7mhGQS8AAAAAAAAwPmGwPc8YozRn3d2V9rq1YEuBQAAAAAAAEAxxEha5xGTluZ12Oto2lQ2h6OQKwIAAAAAAABQnNDC9zxVa/EiBeUR6NocDgZKAwAAAAAAAC4wBL7FTF599J7ZP2+Qw6GgiIgC7UfKUmb6Scnk7K83Mz39nLcNAAAAAAAAIDAIfItQfgOuyRjtuOtupSclFXodGcdmy2Tv0Rt9Xi3UfQEAAAAAAAAoOgS+RcSfA64VtH/erIx0mew9Xi27v/RJhdjt57wvAAAAAAAAAEWHwLeI+DLgmj0hQfHvvyfl0gevP/vnve+1dxRRIjLH9NTMVF310VXKCjZ6ir6AAQAAAAAAgPMCgW8AFKcB10Lt4QoND885PdiprBBTJDUAAAAAAAAA8A8C3wAo6IBrAAAAAAAAAOAJga+fGCOZbJuUmiZl5Wyd68xrsDa/12KUlZ6e6/zM9JNFVgsAAAAAAACAokPg6wfGGP05v5zSDoVJn1wR8FpmjXxcezYlBbQOAAAAAAAAAEUvKNAFWIFJO3kq7PWCo2lT2fLov7egstLTvQ57bcGVFBJmL7RaAAAAAAAAABQtWvj6Wa2ff1BQdNlc5xflgGwPTX1fofacA7JlZmRr+uBFkkKKrBYAAAAAAAAAhY/A18+K1YBsttBTtxyCZPM4HQAAAAAAAMD5jMDXYowxrr+nD15EsAsAAAAAAABcQOjD12KyMp1eL1uxRrRCwngKAAAAAAAAAFZBC18Lu/vZloooGZnr/JCwIPrwBQAAAAAAACyEwNfCQu3BCrUHB7oMAAAAAAAAAEWE3/MDAAAAAAAAgEUQ+AIAAAAAAACARRD4AgAAAAAAAIBFEPgCAAAAAAAAgEUwaNt5xhijrPT0XOdnpp8swmoAAAAAAAAAFCcEvucRY4xmjXxcezYlBboUAAAAAAAAAMUQgW8xk1cL3oyTaV6HvbbgSgoJs/uzNAAAAAAAAADFHIFvMeJLC1579IOSLTTX+RVrlFWoPdif5QEAAAAAAAAo5gh8i5Gs9HSvwl5bcCX1Ht9BYeG5P3whYUGy2Wz+LA8AAAAAAABAMUfgW4SMMcrKcOY6PzMj2/X3fa+9o1B7uPv89Gy9N3yJpBCFhYfQghcAAAAAAACAGwLfImKM0WfjV2nftqN5LJPp+vu94b/L5qHLBk/TAAAAAAAAAECSggJdwIUiK8OZZ9jri4o1ohUSxkMHAAAAAAAAwB0tfAOg9wutPXbHkJl+Um/0eVWSdM/41jm6dDiN/nkBAAAAAAAAeELgGwCh9mDP/e+af6eFhuWyDAAAAAAAAADkgn4BAAAAAAAAAMAiCHwBAAAAAAAAwCIIfAEAAAAAAADAIgh8AQAAAAAAAMAiCHwBAAAAAAAAwCIIfAEAAAAAAADAIgh8AQAAAAAAAMAiQgJdwHnBGCkzNff5makykpxBYcrMcCooPTvnIh6mAQAAAAAAAIA/Efjmxxhpeidp17LcF8m0aVWT8ToaXUO/jFxfhMUBAAAAAAAAwL/o0iE/mal5hr2SlCW7jkbX8GpzFWtEKySM0w4AAAAAAADA/2jh64tBW6SwiJzTj5yQ/r9lb8/RzWQvFZXrJkLCgmSz2QqrQq8ZY5SWlZbr/LzmAQAAAAAAACieCHx9ERYhhUXmnB7q/PfPsCCF2oOLsCjfGWPU47seSjyYGOhSAAAAAAAAAPgRfQtcgNKy0rwOe5tUaCJHiKNwCwIAAAAAAADgF7TwvcAtuG1BnoGuI8RRLLqgAAAAAAAAAJA/At8LnCPEoYhQD/0SAwAAAAAAADjvBLxLh8mTJys+Pl7h4eFq0aKFli9fnufyL7/8surUqSOHw6G4uDg99thjOnnyZBFVCwAAAAAAAADFV0AD39mzZ2vgwIEaNWqUVq1apUaNGqlTp046cOCAx+VnzpypoUOHatSoUUpKStJbb72l2bNn64knnijiygEAAAAAAACg+Alo4Pviiy+qT58+6t27t+rVq6cpU6YoIiJC06dP97j8b7/9platWunOO+9UfHy8OnbsqDvuuCPfVsEFZYyU6bQrMz3b8y3DWaj7BwAAAAAAAABvBKwP34yMDK1cuVLDhg1zTQsKClL79u21ZMkSj+tcfvnlev/997V8+XJdeuml2rZtm7799lvdfffdhVanMUafHR6rfZkJ0uDfC20/AAAAAAAAAFBQAQt8Dx06pOzsbMXExLhNj4mJ0caNGz2uc+edd+rQoUNq3bq1jDHKysrSgw8+mGeXDunp6UpPT3fdT0lJ8anOrAznqbDXC9FHtyokrIVP2wcAAAAAAAAAfwlY4HsuFixYoLFjx+r1119XixYttGXLFg0YMEDPPPOMRowY4XGdcePGafTo0X7Zf+8xTRUaVSLHdGdqqja3aq0gZ4Zstu5+2RcAAAAAAAAA+CpggW+5cuUUHBys/fv3u03fv3+/YmNjPa4zYsQI3X333brvvvskSQ0aNNCJEyd0//3368knn1RQUM4uiYcNG6aBAwe67qekpCguLu6cag4NC1KoPTjHdGd2sIKdGee0zcJgjFFaVlqu8/OaBwAAAAAAAOD8FbDANywsTM2aNdP8+fPVtWtXSZLT6dT8+fPVr18/j+ukpqbmCHWDg08FsMYYj+vY7XbZ7Xb/FV5EUjNTFRp8boPB9ZzbUxsPe+4WAwAAAAAAAIB1BbRLh4EDB6pnz55q3ry5Lr30Ur388ss6ceKEevfuLUnq0aOHKleurHHjxkmSunTpohdffFFNmjRxdekwYsQIdenSxRX8ns/ODK2v+ugqZYV4DrH9pUmFJnKEOAp1HwAAAAAAAACKTkAD327duungwYMaOXKk9u3bp8aNG2vu3Lmugdx27tzp1qJ3+PDhstlsGj58uHbv3q3y5curS5cuGjNmTKAOwSfGGGWdMYDc2VJOHPHbvuqWqat3Or+T5zKOEIdsNpvf9gkAAAAAAAAgsAI+aFu/fv1y7cJhwYIFbvdDQkI0atQojRo1qggq8y9jjGaNfFx7NiV5tfx3N89VychS57w/wlwAAAAAAADgwhPwwPdCkZWe7nXYu7/0SZWIiFZEaEQhVwUAAAAAAADASgh8A+Chqe8r1B6eY3pqZuqpvnuDjZ6idS4AAAAAAAAAHxH4BkCoPVyh4TkD39BgZ6EP1AYAAAAAAADAuoLyXwQAAAAAAAAAcD4g8AUAAAAAAAAAiyDwBQAAAAAAAACLIPAFAAAAAAAAAIsg8AUAAAAAAAAAiyDwBQAAAAAAAACLIPAFAAAAAAAAAIsg8AUAAAAAAAAAiwgJdAFWYSRlB9mUmX5SQUE5c/TM9JNFXxQAAAAAAACACwqBrx8YY7S0ZiX9E+nQDw/2CHQ5AAAAAAAAAC5QdOngB1kZ6fon0uHVspXq1FOI3V7IFQEAAAAAAAC4ENHC188emDRN9lKlc50fYrfLZrMVYUUAAAAAAAAALhQEvn4WarcrNDw80GUAAAAAAAAAuADRpQMAAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWASBLwAAAAAAAABYBIEvAAAAAAAAAFgEgS8AAAAAAAAAWERIoAsoHowcSpcyTijHKclIC0hFAAAAAAAAAOArAl9j9EnYaDUP2iRN8DDfaZc0q6irAgAAAAAAAACf0aVDZuqpsNcboRGFWwsAAAAAAAAAFAAtfM+QOmCjIiJLuk9Mz5YG/37qb5ut6IsCAAAAAAAAAC8R+J4pNEIKi3SfZrIDUwsAAAAAAAAA+IguHQAAAAAAAADAIgh8AQAAAAAAAMAiCHwBAAAAAAAAwCIIfAEAAAAAAADAIgh8AQAAAAAAAMAiCHwBAAAAAAAAwCIIfAEAAAAAAADAIgh8AQAAAAAAAMAiCHwBAAAAAAAAwCJCAl3A+cAYIylLmeknJROcY35menrRFwUAAAAAAAAAZyHwzYcxRhnHZstk79EbfV4NdDkAAAAAAAAAkCu6dMhHVka6TPYer5YtfSJNIWH2Qq4IAAAAAAAAADyjha8P7nvtHUWUiMwx3ZmWqk2tWivYaWSz2QJQGQAAAAAAAAAQ+Pok1B6u0PDwHNOdTqdCnCYAFQEAAAAAAADAv+jSAQAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyCwBcAAAAAAAAALILAFwAAAAAAAAAsgsAXAAAAAAAAACyiQIHvyZMnC1zA5MmTFR8fr/DwcLVo0ULLly/Pc/kjR46ob9++qlixoux2u2rXrq1vv/22wHUAAAAAAAAAwPnO58DX6XTqmWeeUeXKlRUVFaVt27ZJkkaMGKG33nrLp23Nnj1bAwcO1KhRo7Rq1So1atRInTp10oEDBzwun5GRoQ4dOmjHjh365JNPlJycrGnTpqly5cq+HgYAAAAAAAAAWI7Pge+zzz6rGTNm6IUXXlBYWJhrev369fXmm2/6tK0XX3xRffr0Ue/evVWvXj1NmTJFERERmj59usflp0+frsOHD+uLL75Qq1atFB8frzZt2qhRo0a+HgYAAAAAAAAAWI7Pge+7776rqVOnqnv37goODnZNb9SokTZu3Oj1djIyMrRy5Uq1b9/+32KCgtS+fXstWbLE4zpz5sxRy5Yt1bdvX8XExKh+/foaO3assrOzfT0MAAAAAAAAALCcEF9X2L17t2rWrJljutPpVGZmptfbOXTokLKzsxUTE+M2PSYmJtfgeNu2bfrpp5/UvXt3ffvtt9qyZYsefvhhZWZmatSoUR7XSU9PV3p6uut+SkqK1zUCAAAAAAAAwPnE58C3Xr16WrhwoapVq+Y2/ZNPPlGTJk38VpgnTqdTFSpU0NSpUxUcHKxmzZpp9+7dGj9+fK6B77hx4zR69OhCrctbxhilZaXlOj+veQAAAAAAAACQH58D35EjR6pnz57avXu3nE6nPvvsMyUnJ+vdd9/V119/7fV2ypUrp+DgYO3fv99t+v79+xUbG+txnYoVKyo0NNStK4mEhATt27dPGRkZbn0KnzZs2DANHDjQdT8lJUVxcXFe1+kvxhj1+K6HEg8mFvm+AQAAAAAAAFwYfO7D94YbbtBXX32lH3/8UZGRkRo5cqSSkpL01VdfqUOHDl5vJywsTM2aNdP8+fNd05xOp+bPn6+WLVt6XKdVq1basmWLnE6na9qmTZtUsWJFj2GvJNntdpUsWdLtFghpWWleh71NKjSRI8RRuAUBAAAAAAAAsByfW/hK0hVXXKF58+YVeOcDBw5Uz5491bx5c1166aV6+eWXdeLECfXu3VuS1KNHD1WuXFnjxo2TJD300EN67bXXNGDAAPXv31+bN2/W2LFj9cgjjxS4lqK04LYFeQa6jhCHbDZbEVYEAAAAAAAAwAp8DnwvuugirVixQmXLlnWbfuTIETVt2lTbtm3zelvdunXTwYMHNXLkSO3bt0+NGzfW3LlzXQO57dy5U0FB/zZCjouL0/fff6/HHntMDRs2VOXKlTVgwAANGTLE18MIKEeIQxGhEYEuAwAAAAAAAIDF+Bz47tixQ9nZ2Tmmp6ena/fu3T4X0K9fP/Xr18/jvAULFuSY1rJlSy1dutTn/QAAAAAAAACA1Xkd+M6ZM8f19/fff6/o6GjX/ezsbM2fP1/x8fF+LQ4AAAAAAAAA4D2vA9+uXbtKkmw2m3r27Ok2LzQ0VPHx8Zo4caJfiwMAAAAAAAAAeM/rwNfpdEqSqlevrhUrVqhcuXKFVhQAAAAAAAAAwHc+9+G7ffv2wqgDAAAAAAAAAFBAPge+knTixAn98ssv2rlzpzIyMtzmPfLII34pDAAAAAAAAADgG58D39WrV+vaa69VamqqTpw4oTJlyujQoUOKiIhQhQoVCHwBAAAAAAAAIECCfF3hscceU5cuXfTPP//I4XBo6dKl+vPPP9WsWTNNmDChMGoEAAAAAAAAAHjB58A3MTFR//3vfxUUFKTg4GClp6crLi5OL7zwgp544onCqLHQGSNlOoOUmX5SmSfPuqWfDHR5AAAAAAAAAOAVn7t0CA0NVVDQqZy4QoUK2rlzpxISEhQdHa1du3b5vcDCZozRrD8bak9atPTwvYEuBwAAAAAAAADOmc+Bb5MmTbRixQrVqlVLbdq00ciRI3Xo0CG99957ql+/fmHUWKiyMtJPhb35sAVXUkiYvQgqAgAAAAAAAIBz43PgO3bsWB07dkySNGbMGPXo0UMPPfSQatWqpbfeesvvBRalni+9rugyFdymZWZka/rgRZJCZLPZAlMYAAAAAAAAAHjB58C3efPmrr8rVKiguXPn+rWgQAq12xUaHu4+0ZYtmy00MAUBAAAAAAAAgA98HrQtN6tWrdJ//vMff20OAAAAAAAAAOAjnwLf77//XoMGDdITTzyhbdu2SZI2btyorl276pJLLpHT6SyUIgEAAAAAAAAA+fO6S4e33npLffr0UZkyZfTPP//ozTff1Isvvqj+/furW7duWr9+vRISEgqzVgAAAAAAAABAHrxu4Ttp0iQ9//zzOnTokD766CMdOnRIr7/+utatW6cpU6YQ9gIAAAAAAABAgHkd+G7dulW33nqrJOmmm25SSEiIxo8frypVqhRacQAAAAAAAAAA73kd+KalpSkiIkKSZLPZZLfbVbFixUIrDAAAAAAAAADgG6/78JWkN998U1FRUZKkrKwszZgxQ+XKlXNb5pFHHvFfdQAAAAAAAAAAr3kd+FatWlXTpk1z3Y+NjdV7773ntozNZiPwBQAAAAAAAIAA8Trw3bFjRyGWAQAAAAAAAAAoKK/78AUAAAAAAAAAFG8EvgAAAAAAAABgEQS+AAAAAAAAAGARBL4AAAAAAAAAYBEEvgAAAAAAAABgEecU+G7dulXDhw/XHXfcoQMHDkiSvvvuO23YsMGvxQEAAAAAAAAAvOdz4PvLL7+oQYMGWrZsmT777DMdP35ckrRmzRqNGjXK7wUCAAAAAAAAALzjc+A7dOhQPfvss5o3b57CwsJc09u1a6elS5f6tTgAAAAAAAAAgPd8DnzXrVunG2+8Mcf0ChUq6NChQ34pCgAAAAAAAADgO58D31KlSmnv3r05pq9evVqVK1f2S1EAAAAAAAAAAN/5HPjefvvtGjJkiPbt2yebzSan06nFixdr0KBB6tGjR2HUCAAAAAAAAADwgs+B79ixY1W3bl3FxcXp+PHjqlevnq688kpdfvnlGj58eGHUCAAAAAAAAADwQoivK4SFhWnatGkaMWKE1q9fr+PHj6tJkyaqVatWYdQHAAAAAAAAAPCSz4HvokWL1Lp1a1WtWlVVq1YtjJoAAAAAAAAAAOfA5y4d2rVrp+rVq+uJJ57QH3/8URg1AQAAAAAAAADOgc+B7549e/Tf//5Xv/zyi+rXr6/GjRtr/Pjx+uuvvwqjPgAAAAAAAACAl3wOfMuVK6d+/fpp8eLF2rp1q2699Va98847io+PV7t27QqjRgAAAAAAAACAF3wOfM9UvXp1DR06VM8995waNGigX375xV91AQAAAAAAAAB8dM6B7+LFi/Xwww+rYsWKuvPOO1W/fn198803/qwNAAAAAAAAAOCDEF9XGDZsmGbNmqU9e/aoQ4cOmjRpkm644QZFREQURn0AAAAAAAAAAC/5HPj++uuvGjx4sG677TaVK1euMGoCAAAAAAAAAJwDnwPfxYsXF0YdAAAAAAAAAIAC8irwnTNnjq655hqFhoZqzpw5eS57/fXX+6WwQMhMdyozPfusadm5LA0AAAAAAAAAxYtXgW/Xrl21b98+VahQQV27ds11OZvNpuzs8ysgNca4/p41eq1sttAAVgMAAAAAAAAA586rwNfpdHr82wqyMkz+C0mqWCNaIWFBhVwNAAAAAAAAAJw7n/vwfffdd9WtWzfZ7Xa36RkZGZo1a5Z69Ojht+KK2i3D6qtsxViP80LCgmSz2Yq4IgAAAAAAAADwns9NVnv37q2jR4/mmH7s2DH17t3bL0UFSkhYkELtwR5vhL0AAAAAAAAAijufA19jjMfw86+//lJ0dLRfigIAAAAAAAAA+M7rLh2aNGkim80mm82mq6++WiEh/66anZ2t7du3q3PnzoVSJAAAAAAAAAAgf14Hvl27dpUkJSYmqlOnToqKinLNCwsLU3x8vG6++Wa/FwgAAAAAAAAA8I7Xge+oUaMkSfHx8erWrZvCw8MLrSgAAAAAAAAAgO+8DnxP69mzZ2HUUawZY2TS0nKd78xjHgAAAAAAAAAUFa8C3zJlymjTpk0qV66cSpcu7XHQttMOHz7st+KKA2OM/ryzu9JWrw50KQAAAAAAAACQJ68C35deekklSpRw/Z1X4Gs1Ji3N67DX3qSR0kKMbJmpOealZdEKGAAAAAAAAEDh8irwPbMbh169ehVWLcVercWLFORw5JhujFGfH/poxdG10oeXBaAyAAAAAAAAAJCCfF1h1apVWrdunev+l19+qa5du+qJJ55QRkaGX4srboIcDgVFROS4pYfZtCJlneRFy+cmFZrIEZIzNAYAAAAAAACAgvJ50LYHHnhAQ4cOVYMGDbRt2zZ169ZNN910kz7++GOlpqbq5ZdfLoQyzx8LbluQZ6DrCHFcUF1iAAAAAAAAACg6Prfw3bRpkxo3bixJ+vjjj9WmTRvNnDlTM2bM0Keffurv+s47jhCHIkIjcr0R9gIAAAAAAAAoLD4HvsYYOZ1OSdKPP/6oa6+9VpIUFxenQ4cO+bc6AAAAAAAAAIDXfA58mzdvrmeffVbvvfeefvnlF1133XWSpO3btysmJsbvBQIAAAAAAAAAvONz4Pvyyy9r1apV6tevn5588knVrFlTkvTJJ5/o8ssv93uBAAAAAAAAAADv+DxoW8OGDbVu3boc08ePH6/g4GC/FAUAAAAAAAAA8J3Pge9pK1euVFJSkiSpXr16atq0qd+KAgAAAAAAAAD4zufA98CBA+rWrZt++eUXlSpVSpJ05MgRtW3bVrNmzVL58uX9XSMAAAAAAAAAwAs+9+Hbv39/HT9+XBs2bNDhw4d1+PBhrV+/XikpKXrkkUcKo0YAAAAAAAAAgBd8buE7d+5c/fjjj0pISHBNq1evniZPnqyOHTv6tTgAAAAAAAAAgPd8buHrdDoVGhqaY3poaKicTqdfigIAAAAAAAAA+M7nwLddu3YaMGCA9uzZ45q2e/duPfbYY7r66qv9WhwAAAAAAAAAwHs+B76vvfaaUlJSFB8frxo1aqhGjRqqXr26UlJS9OqrrxZGjUXGefKknKmp7re0tECXBQAAAAAAAABe8bkP37i4OK1atUrz589XUlKSJCkhIUHt27f3e3FFwci4/t7T5Ub9nZ0ewGoAAAAAAAAA4Nz5FPjOnj1bc+bMUUZGhq6++mr179+/sOoqMuakdwGvo2lT2RyOQq4GAAAAAAAAAM6d14HvG2+8ob59+6pWrVpyOBz67LPPtHXrVo0fP74w6ytSFT+eqfLx8R7n2RwO2Wy2oi0IAAAAAAAAAHzgdR++r732mkaNGqXk5GQlJibqnXfe0euvv16YtRU5W7hDQRERHm+EvQAAAAAAAACKO68D323btqlnz56u+3feeaeysrK0d+/eQikMAAAAAAAAAOAbrwPf9PR0RUZG/rtiUJDCwsKUlpZWKIUBAAAAAAAAAHzj06BtI0aMUEREhOt+RkaGxowZo+joaNe0F1980X/VAQAAAAAAAAC85nXge+WVVyo5Odlt2uWXX65t27a57tPPLQAAAAAAAAAEjteB74IFCwqxDAAAAAAAAABAQXndhy8AAAAAAAAAoHgj8AUAAAAAAAAAiyDwBQAAAAAAAACLIPAFAAAAAAAAAIsg8AUAAAAAAAAAizinwHfhwoW666671LJlS+3evVuS9N5772nRokV+LQ4AAAAAAAAA4D2fA99PP/1UnTp1ksPh0OrVq5Weni5JOnr0qMaOHev3AgEAAAAAAAAA3vE58H322Wc1ZcoUTZs2TaGhoa7prVq10qpVq/xaHAAAAAAAAADAez4HvsnJybryyitzTI+OjtaRI0f8URMAAAAAAAAA4Bz4HPjGxsZqy5YtOaYvWrRIF110kV+KAgAAAAAAAAD4zufAt0+fPhowYICWLVsmm82mPXv26IMPPtCgQYP00EMPFUaNAAAAAAAAAAAvhPi6wtChQ+V0OnX11VcrNTVVV155pex2uwYNGqT+/fsXRo0AAAAAAAAAAC/4HPjabDY9+eSTGjx4sLZs2aLjx4+rXr16ioqKKoz6AAAAAAAAAABe8jnwPS0sLEz16tXzZy0AAAAAAAAAgALwOfBt27atbDZbrvN/+umnAhUEAAAAAAAAADg3Pge+jRs3drufmZmpxMRErV+/Xj179vRXXQAAAAAAAAAAH/kc+L700ksepz/11FM6fvx4gQsCAAAAAAAAAJybIH9t6K677tL06dP9tblixRij1MzUXG9pWWmBLhEAAAAAAAAAzn3QtrMtWbJE4eHh/tpcsWGMUY/veijxYGKgSwEAAAAAAACAPPkc+N50001u940x2rt3r37//XeNGDHCb4UVF2lZaV6HvU0qNJEjxFG4BQEAAAAAAABALnwOfKOjo93uBwUFqU6dOnr66afVsWNHvxVWHC24bUGega4jxCGbzVaEFQEAAAAAAADAv3wKfLOzs9W7d281aNBApUuXLqyaii1HiEMRoRGBLgMAAAAAAAAAPPJp0Lbg4GB17NhRR44c8WsRkydPVnx8vMLDw9WiRQstX77cq/VmzZolm82mrl27+rUeAAAAAAAAADgf+RT4SlL9+vW1bds2vxUwe/ZsDRw4UKNGjdKqVavUqFEjderUSQcOHMhzvR07dmjQoEG64oor/FYLAAAAAAAAAJzPfA58n332WQ0aNEhff/219u7dq5SUFLebr1588UX16dNHvXv3Vr169TRlyhRFRERo+vTpua6TnZ2t7t27a/To0brooot83icAAAAAAAAAWJHXge/TTz+tEydO6Nprr9WaNWt0/fXXq0qVKipdurRKly6tUqVK+dyvb0ZGhlauXKn27dv/W1BQkNq3b68lS5bkWUuFChV07733+rQ/AAAAAAAAALAyrwdtGz16tB588EH9/PPPftv5oUOHlJ2drZiYGLfpMTEx2rhxo8d1Fi1apLfeekuJiYle7SM9PV3p6emu++fSChkAAAAAAAAAzgdeB77GGElSmzZtCq2Y/Bw7dkx33323pk2bpnLlynm1zrhx4zR69OhCrgwAAAAAAAAAAs/rwFeSbDabX3derlw5BQcHa//+/W7T9+/fr9jY2BzLb926VTt27FCXLl1c05xOpyQpJCREycnJqlGjhts6w4YN08CBA133U1JSFBcX58/DAAAAAAAAAIBiwafAt3bt2vmGvocPH/Z6e2FhYWrWrJnmz5+vrl27SjoV4M6fP1/9+vXLsXzdunW1bt06t2nDhw/XsWPH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v3THHXeoTJkyioyMVPPmzbVs2TKP+zv7J8snTpxQjx49FBUVpYoVK3r8WWR+x/j333/rjjvuUOXKlRUREaEGDRroww8/dNvGVVddpUceeUSPP/64ypQpo9jYWNdj4KvOnTvr7bffVseOHXXRRRfp+uuv16BBg/TZZ595tb439Z7t7JboGzduVOvWrV3XlB9//NHjT6s/++wztW3bVhEREWrUqJGWLFnitt38Hv8DBw6oS5cucjgcql69uj744IN8j2/lypXaunWrrrvuOrfp+T3XPXX38eijj+qqq65y3Xc6nXrhhRdUs2ZN2e12Va1aVWPGjMm3ptOSkpI0d+5cvfnmm2rRooVat26tV199VbNmzdKePXs8rrN48WLt2LFDM2bMUIMGDdSgQQO98847+v333/XTTz9Jkr7++muFhoZq8uTJqlOnji655BJNmTJFn376qbZs2SLp1GN2+PBhPf3006pTp44uvvhijRo1Svv379eff/7pts+yZcu6XWNDQ0Pd5nfp0kWzZs3y+rgvNKc/L1SuXFlNmzbVE088oS+//FLfffddri1oc+uOYPHixWrYsKHCw8N12WWXaf369V7XMWPGDFWtWlURERG68cYb9ffff+e5vKfXQFZWlvr166fo6GiVK1dOI0aMkDHGq/3nd+08u0sJSXr55ZdztAKdPn26Lr74YtntdlWsWFH9+vXzuD9P5/Dbb79V7dq15XA41LZtW49dCuR3HXrvvffUvHlzV0vNO++8UwcOHHDNP/3ro/nz56t58+aKiIjQ5ZdfruTkZK/O09atW3XDDTcoJiZGUVFRuuSSS/Tjjz/muc7Z742//fabGjdurPDwcDVv3lxffPGFxy5C8quxMD5Pfvvtt7Lb7brssstc07Kzs91+qVKnTh1NmjTJbT1PXYp07drVLVhNT0/XkCFDFBcXJ7vdrpo1a+qtt97Kt6bTfvjhB/3xxx96//331bhxY11zzTV65plnNHny5Fz/ce/N9Xb27Nlq2LChRo4cqZo1a6pNmzZ64YUXNHnyZLfPbtKpFrp169bVbbfdlmNf06dP1+HDh/XFF1+oVatWio+PV5s2bdSoUSO35bgmAyjuCHyBC5AxRqkZWQG5efuFxZPjx4/r/fffV82aNV0tJU+cOKFOnTqpdOnSWrFihT7++GP9+OOPbl9MJk2apIkTJ2rChAlau3atOnXqpOuvv16bN2+WJL3yyiuaM2eOPvroIyUnJ+uDDz5wffFZsWKFJOntt9/W3r17XfcXLlyoHj16aMCAAfrjjz/0v//9TzNmzHCFEE6nUzfddJPCwsK0bNkyTZkyRUOGDDnnY8/PBx98oDFjxuj555/XypUrVbVqVY8twX7++Wdt3bpVP//8s6tFxekvwp999pmqVKmip59+2tXCLD/Hjh1Tz549tWjRIi1dulS1atXStdde6/pg7XQ6dc0112jx4sV6//339ccff+i5555TcHCwpFNfuDp37qybb75Za9eu1ezZs7Vo0aJcv1h6MmHCBDVq1EirV6/WiBEj8t2mL8e5detWffHFF/r666/19ddf65dfftFzzz3nmn/ixAkNHDhQv//+u+bPn6+goCDdeOONrhaAe/fu1cUXX6z//ve/2rt3rwYNGiRJKlGihGbMmKE//vhDkyZN0rRp0/TSSy+5tvvNN9/oxhtv1LXXXqvVq1dr/vz5uvTSS13z+/XrpyVLlmjWrFlau3atbr31VnXu3Nn1nM6LP8758ePH1aZNG+3evVtz5szRmjVr9Pjjj+f50+kzDR48WL/88ou+/PJL/fDDD1qwYEGOfxTkd4wnT55Us2bN9M0332j9+vW6//77dffdd2v58uVu23nnnXcUGRmpZcuW6YUXXtDTTz/tt3++HD16VGXKlPFqWW/rzU12dra6du2qiIgILVu2TFOnTtWTTz7pcdknn3xSgwYNUmJiomrXrq077rjDFR548/j36tVLu3bt0s8//6xPPvlEr7/+ulvQ4snChQtVu3ZtlShRwm16fs91bwwbNkzPPfecRowYoT/++EMzZ85UTEyMa/5VV13lFkacbcmSJSpVqpSaN2/umta+fXsFBQXl+k+K9PR02Ww2t9Z84eHhCgoK0qJFi1zLhIWFKSjo34/TDodDklzL1KlTR2XLltVbb72ljIwMpaWl6a233lJCQkKOgO36669XhQoV1Lp1a82ZMydHTZdeeqn++uuvIu2P0xgjZ2pqQG4F+bxwWrt27dSoUSOv/zFz2uDBgzVx4kStWLFC5cuXV5cuXXL8U86TZcuW6d5771W/fv2UmJiotm3b6tlnn/W57nfeeUchISFavny5Jk2apBdffFFvvvmmV+sW5P3htDfeeEN9+/bV/fffr3Xr1mnOnDmqWbOmV+vu2rVLN910k7p06aLExETXP6DP5M11KDMzU88884zWrFmjL774Qjt27PD4On/yySc1ceJE/f777woJCdE999zjVZ3Hjx/Xtddeq/nz52v16tXq3LmzunTpop07d3q1fkpKirp06aIGDRpo1apVeuaZZ3L9nJdXjYX1eXLhwoVuvxI4va0qVaro448/1h9//KGRI0fqiSee0EcffeTVMZ/Wo0cPffjhh3rllVeUlJSk//3vf4qKinLNj4+Pz/Ofq0uWLFGDBg3cruOdOnVSSkqKNmzY4HEdb6636enpCg8Pd1vP4XDo5MmTWrlypWvaTz/9pI8//liTJ0/2uK85c+aoZcuW6tu3r2JiYlS/fn2NHTtW2dnZbstdeumlWr58udLT03M9VgAIKHOBOXr0qJFkjh49aowxZtemDWbCbdeZCbddZ3Zt2hDg6gD/S0tLM3/88YdJS0tzTTuRnmmqDfk6ILcT6Zle196zZ08THBxsIiMjTWRkpJFkKlasaFauXOlaZurUqaZ06dLm+PHjrmnffPONCQoKMvv27TPGGFOpUiUzZswYt21fcskl5uGHHzbGGNO/f3/Trl0743Q6PdYhyXz++edu066++mozduxYt2nvvfeeqVixojHGmO+//96EhISY3bt3u+Z/9913HreVm7yWffvtt010dLTrfosWLUzfvn3dlmnVqpVp1KiR637Pnj1NtWrVTFZWlmvarbfearp16+a6X61aNfPSSy+5befnn382klyPw+nboUOHctSVnZ1tSpQoYb766itjzKnzEBQUZJKTkz0ex7333mvuv/9+t2kLFy40QUFBbs/Z3FSrVs107drV5216Os6zz+moUaNMRESESUlJcU0bPHiwadGiRa71HDx40Egy69atc01r1KiRGTVqVJ7HMX78eNOsWTPX/ZYtW5ru3bt7XPbPP/80wcHBbs8tY049J4cNG5bnfozx7vx4eu5FR0ebt99+2xhjzP/+9z9TokQJ8/fff3vcx6hRo3I892644QZjjDHHjh0zYWFh5qOPPnLN//vvv43D4TADBgwo0DFed9115r///a/rfps2bUzr1q3dlrnkkkvMkCFDct3GmfJ6DW7evNmULFnSTJ061atteVvv6XNgjPvz9LvvvjMhISFm7969rvnz5s1zq3H79u1GknnzzTddy2zYsMFIMklJScaY/B//5ORk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RJHtz99++uknrVu3To899phP6y1dujTH9SkhISHf9RISEnL0C30u7/2etlGrVq0cIe7ZvLl2li9fXvv27XN7rZ454FqJEiUUHx+v+fPnq23btj7XnpCQkKMP6rPPQX7XoXXr1unvv//Wc889p7i4OEnS77//7nMteVm8eLF69erlGhD1+PHjPvWPXadOHb3//vtKT0939fV9rtfkwvg82aRJE73//vtu0xYvXqzLL79cDz/8sGva2S2/z37/z87O1vr1613PhQYNGsjpdOqXX35R+/btvTvIs7Rs2VJjxozRgQMHVKFCBUnSvHnzVLJkSa/eE3O73p5ms9lcLaI//PBDxcXFqWnTppJO/SPyzM9/X375pZ5//nn99ttvqly5sqRTvwKcOXOmnE6n631+06ZNqlixoivslU5dk6tUqeJ6jwCA4oYuHQAUa+np6dq3b5/27dunpKQk9e/fX8ePH1eXLl0kSd27d1d4eLh69uyp9evX6+eff1b//v119913uz4QDh48WM8//7xmz56t5ORkDR06VImJiRowYIAk6cUXX9SHH36ojRs3atOmTfr4448VGxvras16+ovPvn37XK0lRo4cqXfffVejR4/Whg0blJSUpFmzZmn48OGSTg0IVLt2bfXs2VNr1qzRwoULcx1gKS/bt29360YhMTHRbRTr0/r376+33npL77zzjjZv3qxnn31Wa9eu9flnrPHx8fr111+1e/dut+A2N7Vq1dJ7772npKQkLVu2TN27d3dr/dGmTRtdeeWVuvnmmzVv3jxXS+q5c+dKkoYMGaLffvvNNcDN5s2b9eWXXxbop4DebNPX4/SkdOnSKlu2rKZOnaotW7bop59+0sCBA/Ndr1atWtq5c6dmzZqlrVu36pVXXtHnn3/utsyoUaP04YcfatSoUUpKStK6dev0/PPPS5Jq166t7t27q0ePHvrss8+0fft2LV++XOPGjdM333yT7/69OT/t2rXTa6+9ptWrV+v333/Xgw8+6NZC6Y477lBsbKy6du2qxYsXa9u2bfr000+1ZMmSfPcfFRWle++9V4MHD9ZPP/2k9evXq1evXm7hqTfHWKtWLc2bN0+//fabkpKS9MADD7haCBWG3bt366qrrlLVqlU1YcIEHTx40HVt8kZB6+3QoYNq1Kihnj17au3atVq8eLHreuPL6zy/x79OnTrq3LmzHnjgAS1btkwrV67Ufffdl2+rrrZt2+r48eNuA+5481xv166dfv/9d7377rvavHmzRo0a5RYAh4eHa8iQIXr88cf17rvvauvWrVq6dKnbiPA9evTQsGHDcq0tISFBnTt3Vp8+fbR8+XItXrxY/fr10+233+4KBXbv3q26deu6tTp7++23tXTpUm3dulXvv/++br31Vj322GNu3Y+89tprWrVqlTZt2qTJkyerX79+GjdunOv9o0OHDvrnn3/Ut29fJSUlacOGDerdu7dCQkJcAco777zjeg/auHGjxo4dq+nTp6t///5ux7Fw4UJdccUVRdIC83x0+vPC7t27tWrVKo0dO1Y33HCD/vOf/7j9M9QbTz/9tObPn++6PpUrV05du3bNd71HHnlEc+fO1YQJE7R582a99tprrvc7X+zcuVMDBw5UcnKyPvzwQ7366quuzyx58ebaedVVV+ngwYN64YUXtHXrVk2ePFnfffed23aeeuopTZw4Ua+88oo2b96sVatW6dVXX/Wq9gcffFCbN2/W4MGDlZycrJkzZ7oGhz0tv+tQ1apVFRYWpldffVXbtm3TnDlz9Mwzz3i1f2/VqlVLn332mRITE7VmzRrdeeedPv364/Ty999/v5KSkvT999+7Wo36ck0urM+TnTp10oYNG9xa+daqVUu///67vv/+e23atEkjRozIEVK3a9dO33zzjb755htt3LhRDz30kNs//OLj49WzZ0/dc889+uKLL7R9+3YtWLDAbeC3q6++Wq+99lqutXXs2FH16tXT3XffrTVr1uj777/X8OHD1bdvX1d4vnz5ctWtW1e7d+92rZff9VY69WuadevWacOGDXrmmWf03HPP6ZVXXnH9syQhIUH169d33SpXrqygoCDVr19fpUuXliQ99NBDOnz4sAYMGKBNmzbpm2++0dixY9W3b1+341i4cKE6duyY72MBAAFTqD0EF0MM2oYLzfncCX7Pnj2NJNetRIkS5pJLLjGffPKJ23Jr1641bdu2NeHh4aZMmTKmT58+rkE9jDk1kNhTTz1lKleubEJDQ02jRo3Md99955o/depU07hxYxMZGWlKlixprr76arNq1SrX/Dlz5piaNWuakJAQt0FN5s6day6//HLjcDhMyZIlzaWXXuo2gFNycrJp3bq1CQsLM7Vr1zZz5871edA2T7eFCxd6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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(17, 8))\n", "\n", "# -------------------------------------------\n", "# Boosted LightFace's ROC Curve\n", "\n", "plt.plot(\n", " test_fprs[winner_id],\n", " test_tprs[winner_id],\n", " label=f\"Boosted_LightFace_retinaface_euclidean_l2_aligned (auc: {test_aucs[winner_id]})\"\n", ")\n", "\n", "plt.ylabel(\"True Positive Rate\")\n", "plt.xlabel(\"False Positive Rate\")\n", "plt.legend(loc=\"lower center\", ncol=2)\n", "# normally this should be [0, 1] but that scale makes graphs not legible\n", "\n", "# -------------------------------------------\n", "# Single Model's ROC Curves\n", "\n", "# these are the best single model configurations\n", "# according to the https://github.com/serengil/deepface/tree/master/benchmarks (2024-05-09)\n", "single_models = [\n", " \"Facenet512|retinaface|euclidean_l2|aligned\",\n", " \"Facenet|yunet|euclidean_l2|aligned\",\n", " \"Dlib|dlib|euclidean|aligned\",\n", " \"VGG-Face|ssd|euclidean_l2|unaligned\",\n", " \"ArcFace|yunet|euclidean_l2|aligned\",\n", "]\n", "\n", "for single_models in single_models:\n", " model_name, detector_backend, distance_metric, alignment = single_models.split(\"|\")\n", "\n", " # confirm that distance csv's ready\n", " calculate_distances(model_name, detector_backend, distance_metric, align = (alignment == \"aligned\"))\n", "\n", " fpr, tpr, label = plot_roc(model_name, detector_backend, distance_metric, alignment == \"aligned\")\n", " plt.plot(fpr, tpr, label=label)\n", " plt.ylabel(\"True Positive Rate\")\n", " plt.xlabel(\"False Positive Rate\")\n", " plt.legend(loc=\"lower center\", ncol=2)\n", " \n", "plt.xlim([-0.001, 0.3])\n", "# plt.xlim([-0.001, 0.05])\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "66795d2f", "metadata": {}, "source": [ "# Misclassifications" ] }, { "cell_type": "code", "execution_count": 46, "id": "2f57923f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "2-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "3-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "4-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "5-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "6-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "7-th misclassification - false negative (predicted as different persons but actually same person)\n", "actual=1, pred_class=0\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "8-th misclassification - false positive (predicted as same person but actually different persons)\n", "actual=0, pred_class=1\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "9-th misclassification - false positive (predicted as same person but actually different persons)\n", "actual=0, pred_class=1\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "misclf_idx = 0\n", "for i, pred_class in enumerate(pred_classes):\n", " actual = y_test[i]\n", " if actual != pred_class:\n", " misclf_idx += 1\n", " label = (\n", " \"false negative (predicted as different persons but actually same person)\" \n", " if (actual == 1 and pred_class == 0) \n", " else \"false positive (predicted as same person but actually different persons)\"\n", " )\n", " print(f\"{misclf_idx}-th misclassification - {label}\")\n", " print(f\"{actual=}, {pred_class=}\")\n", "\n", " img1_target = f\"lfwe/test/{i}_1.jpg\"\n", " img2_target = f\"lfwe/test/{i}_2.jpg\"\n", "\n", " img1 = cv2.imread(img1_target)[:,:,::-1]\n", " img2 = cv2.imread(img2_target)[:,:,::-1]\n", "\n", " # img1 = DeepFace.extract_faces(img_path=img1_target, detector_backend=\"retinaface\")[0][\"face\"]\n", " # img2 = DeepFace.extract_faces(img_path=img2_target, detector_backend=\"retinaface\")[0][\"face\"]\n", " # img1 = preprocessing.resize_image(img=img1, target_size=(224, 224))[0]\n", " # img2 = preprocessing.resize_image(img=img2, target_size=(224, 224))[0]\n", "\n", " fig = plt.figure(figsize=(5, 5))\n", "\n", " fig.add_subplot(1, 2, 1)\n", " plt.imshow(img1)\n", " plt.axis(\"off\")\n", "\n", " fig.add_subplot(1, 2, 2)\n", " plt.imshow(img2)\n", " plt.axis(\"off\")\n", "\n", " plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 5 } ================================================ FILE: boosted/Perform-Boosting-Experiments-XGBoost.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "id": "8133a99d", "metadata": {}, "source": [ "# Perform Experiments with DeepFace on LFW dataset" ] }, { "cell_type": "code", "execution_count": 1, "id": "5aab0cbe", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2024-05-09 11:59:17.587328: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", "2024-05-09 11:59:17.590521: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory\n", "2024-05-09 11:59:17.590530: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.\n", "/home/sefik/.local/lib/python3.9/site-packages/requests/__init__.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.2.0)/charset_normalizer (2.0.12) doesn't match a supported version!\n", " warnings.warn(\"urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported \"\n" ] } ], "source": [ "# built-in dependencies\n", "import os\n", "# os.environ['CUDA_VISIBLE_DEVICES'] = '-1'\n", "import statistics\n", "\n", "# 3rd party dependencies\n", "import numpy as np\n", "import pandas as pd\n", "from tqdm import tqdm\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import accuracy_score\n", "from sklearn.datasets import fetch_lfw_pairs\n", "from deepface import DeepFace\n", "import lightgbm as lgb\n", "import xgboost\n", "from xgboost import plot_importance\n", "from sklearn.model_selection import KFold\n", "from tqdm import tqdm" ] }, { "cell_type": "code", "execution_count": 2, "id": "cda3ac24", "metadata": {}, "outputs": [], "source": [ "seed = 17\n", "detector_backend = \"retinaface\"\n", "more_train = False # append some of validation data into train" ] }, { "cell_type": "code", "execution_count": 3, "id": "64c9ed9a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This experiment is done with pip package of deepface with 0.0.90 version\n" ] } ], "source": [ "print(f\"This experiment is done with pip package of deepface with {DeepFace.__version__} version\")" ] }, { "cell_type": "markdown", "id": "feaec973", "metadata": {}, "source": [ "### Configuration Sets" ] }, { "cell_type": "code", "execution_count": 4, "id": "453104b4", "metadata": {}, "outputs": [], "source": [ "# all configuration alternatives for 4 dimensions of arguments\n", "alignment = [True]\n", "\n", "models = [\"Facenet\", \"Facenet512\", \"VGG-Face\", \"ArcFace\", \"Dlib\"]\n", "detectors = [\"retinaface\"]\n", "\n", "metrics = [\"euclidean_l2\"]\n", "expand_percentage = 0" ] }, { "cell_type": "markdown", "id": "c9aeb57a", "metadata": {}, "source": [ "### Create Required Folders if necessary" ] }, { "cell_type": "code", "execution_count": 5, "id": "671d8a00", "metadata": {}, "outputs": [], "source": [ "target_paths = [\n", " \"lfwe\",\n", " \"lfwe/test\",\n", " \"lfwe/train\",\n", " \"lfwe/10_folds\",\n", " \"dataset\",\n", " \"outputs\",\n", " \"outputs/test\",\n", " \"outputs/train\",\n", " \"outputs/10_folds\",\n", " \"results\"\n", "]\n", "for target_path in target_paths:\n", " if os.path.exists(target_path) != True:\n", " os.mkdir(target_path)\n", " print(f\"{target_path} is just created\")" ] }, { "cell_type": "markdown", "id": "fc31f03a", "metadata": {}, "source": [ "### Load LFW Datasets" ] }, { "cell_type": "code", "execution_count": 6, "id": "6675c8a1", "metadata": {}, "outputs": [], "source": [ "def retrieve_lfe(task: str):\n", " if task == \"test\":\n", " instances = 1000\n", " elif task == \"train\":\n", " instances = 2200\n", " elif task == \"10_folds\":\n", " instances = 6000\n", " else:\n", " raise ValueError(f\"unimplemented task - {task}\")\n", "\n", " pairs_touch = f\"outputs/{task}_lfwe.txt\"\n", "\n", " target_path = f\"dataset/{task}_lfw.npy\"\n", " labels_path = f\"dataset/{task}_labels.npy\"\n", "\n", " if os.path.exists(target_path) != True:\n", " fetched_lfw_pairs = fetch_lfw_pairs(\n", " subset = task,\n", " color = True,\n", " # memory allocation problem occurs for validation set\n", " resize = 2 if task != \"10_folds\" else 1,\n", " funneled = False,\n", " slice_=None,\n", " )\n", " print(\"fetched\")\n", " pairs = fetched_lfw_pairs.pairs\n", " labels = fetched_lfw_pairs.target\n", " # target_names = fetched_lfw_pairs.target_names\n", " np.save(target_path, pairs)\n", " np.save(labels_path, labels)\n", " else:\n", " if os.path.exists(pairs_touch) != True:\n", " # loading pairs takes some time. but if we extract these pairs as image, no need to load it anymore\n", " pairs = np.load(target_path)\n", " labels = np.load(labels_path)\n", " \n", " # store to file system\n", " for i in tqdm(range(0, instances)):\n", " img1_target = f\"lfwe/{task}/{i}_1.jpg\"\n", " img2_target = f\"lfwe/{task}/{i}_2.jpg\"\n", " \n", " if os.path.exists(img1_target) != True:\n", " img1 = pairs[i][0]\n", " # plt.imsave(img1_target, img1/255) #works for my mac\n", " plt.imsave(img1_target, img1) #works for my debian\n", " \n", " if os.path.exists(img2_target) != True:\n", " img2 = pairs[i][1]\n", " # plt.imsave(img2_target, img2/255) #works for my mac\n", " plt.imsave(img2_target, img2) #works for my debian\n", " \n", " if os.path.exists(pairs_touch) != True:\n", " open(pairs_touch,'a').close()\n", " " ] }, { "cell_type": "code", "execution_count": 7, "id": "5bc23313", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1000/1000 [00:00<00:00, 204430.67it/s]\n", "100%|██████████| 2200/2200 [00:00<00:00, 277927.44it/s]\n", "100%|██████████| 6000/6000 [00:00<00:00, 224941.89it/s]\n" ] } ], "source": [ "retrieve_lfe(task = \"test\")\n", "retrieve_lfe(task = \"train\")\n", "retrieve_lfe(task = \"10_folds\")" ] }, { "cell_type": "markdown", "id": "9bf2e9dc", "metadata": {}, "source": [ "# Perform Experiments" ] }, { "cell_type": "code", "execution_count": 8, "id": "4ec5e037", "metadata": {}, "outputs": [], "source": [ "def perform_experiments(): \n", " for model_name in models:\n", " for detector_backend in detectors:\n", " for distance_metric in metrics:\n", " for align in alignment:\n", " \n", " if detector_backend == \"skip\" and align is True:\n", " # Alignment is not possible for a skipped detector configuration\n", " continue\n", " \n", " calculate_distances(\n", " model_name=model_name,\n", " detector_backend=detector_backend,\n", " distance_metric=distance_metric,\n", " align=align,\n", " )\n", " \n", "def calculate_distances(\n", " model_name: str,\n", " detector_backend: str,\n", " distance_metric: str = \"euclidean_l2\",\n", " align: bool = True\n", "):\n", " for experiment in [\"test\", \"train\", \"10_folds\"]:\n", " if experiment == \"test\":\n", " instances = 1000\n", " elif experiment == \"train\":\n", " instances = 2200\n", " elif experiment == \"10_folds\":\n", " instances = 6000\n", " else:\n", " raise ValueError(f\"unimplemented experiment - {experiment}\")\n", "\n", " labels = np.load(f\"dataset/{experiment}_labels.npy\")\n", "\n", " alignment_text = \"aligned\" if align is True else \"unaligned\"\n", " task = f\"{experiment}/{model_name}_{detector_backend}_{distance_metric}_{alignment_text}\"\n", " output_file = f\"outputs/{task}.csv\"\n", "\n", " # check file is already available\n", " if os.path.exists(output_file) is True:\n", " continue\n", " \n", " distances = []\n", " for i in tqdm(range(0, instances), desc = task):\n", " img1_target = f\"lfwe/{experiment}/{i}_1.jpg\"\n", " img2_target = f\"lfwe/{experiment}/{i}_2.jpg\"\n", " result = DeepFace.verify(\n", " img1_path=img1_target,\n", " img2_path=img2_target,\n", " model_name=model_name,\n", " detector_backend=detector_backend,\n", " distance_metric=distance_metric,\n", " align=align,\n", " enforce_detection=False,\n", " expand_percentage=expand_percentage,\n", " )\n", " distance = result[\"distance\"]\n", " distances.append(distance)\n", " # -----------------------------------\n", " df = pd.DataFrame(list(labels), columns = [\"actuals\"])\n", " df[\"distances\"] = distances\n", " df.to_csv(output_file, index=False)" ] }, { "cell_type": "code", "execution_count": 9, "id": "89caa2fa", "metadata": {}, "outputs": [], "source": [ "perform_experiments()" ] }, { "cell_type": "markdown", "id": "63fd2aa4", "metadata": {}, "source": [ "# Data Frame" ] }, { "cell_type": "code", "execution_count": 10, "id": "c06abec0", "metadata": {}, "outputs": [], "source": [ "# pre-tuned threshold for single models\n", "if detector_backend == \"mtcnn\":\n", " thresholds = {\n", " \"Facenet\": 1.0927487190831375,\n", " \"Facenet512\": 1.0676744382971612,\n", " \"VGG-Face\": 1.199458073887602,\n", " \"ArcFace\": 1.1853355178343647,\n", " \"Dlib\": 0.4020917206804517,\n", " }\n", "elif detector_backend == \"retinaface\":\n", " thresholds = {\n", " \"Facenet\": 1.0771751259493634,\n", " \"Facenet512\": 1.080821730376328,\n", " \"VGG-Face\": 1.1952250102966764,\n", " \"ArcFace\": 1.1601818883318848,\n", " \"Dlib\": 0.4022031592966787,\n", " }\n", "elif detector_backend == \"yunet\":\n", " thresholds = {\n", " \"Facenet\": 1.066751738677861,\n", " \"Facenet512\": 1.0691771483816928,\n", " \"VGG-Face\": 1.1802823845238797,\n", " \"ArcFace\": 1.1945138501899335,\n", " \"Dlib\": 0.422060409585814,\n", " }\n", "else:\n", " raise ValueError(f\"unimplemented detector - {detector_backend}\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "9e1851d5", "metadata": {}, "outputs": [], "source": [ "tasks = [\"train\", \"test\", \"10_folds\"]\n", "\n", "dfs = {}\n", "for task in tasks:\n", " dfs[task] = None\n", " for model in models:\n", " current_df = pd.read_csv(\n", " f\"outputs/{task}/{model}_{detector_backend}_euclidean_l2_aligned.csv\"\n", " ).rename(columns = {\"distances\": model})\n", "\n", " if dfs[task] is None:\n", " dfs[task] = current_df.copy()\n", " else:\n", " current_df = current_df.drop(columns = [\"actuals\"])\n", " dfs[task] = pd.concat([dfs[task], current_df], axis=1)" ] }, { "cell_type": "code", "execution_count": 12, "id": "b1dde8c2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
actualsFacenetFacenet512VGG-FaceArcFaceDlib
010.6653610.5296630.7255900.7543280.241096
110.7614710.8510450.9260090.8728470.361268
210.9296441.0101490.9579051.0057250.320210
310.2985450.4891410.7895480.6490160.259671
410.6130640.6797030.9912150.9505950.356630
\n", "
" ], "text/plain": [ " actuals Facenet Facenet512 VGG-Face ArcFace Dlib\n", "0 1 0.665361 0.529663 0.725590 0.754328 0.241096\n", "1 1 0.761471 0.851045 0.926009 0.872847 0.361268\n", "2 1 0.929644 1.010149 0.957905 1.005725 0.320210\n", "3 1 0.298545 0.489141 0.789548 0.649016 0.259671\n", "4 1 0.613064 0.679703 0.991215 0.950595 0.356630" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfs[\"train\"].head()" ] }, { "cell_type": "code", "execution_count": 13, "id": "2aa2a50f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "more_train=False\n" ] } ], "source": [ "print(f\"{more_train=}\")\n", "if more_train:\n", " tmp_df = dfs[\"train\"].append(dfs[\"10_folds\"], ignore_index = True)\n", " dfs[\"train\"] = tmp_df.sample(frac = 0.7, random_state=seed)\n", " dfs[\"10_folds\"] = tmp_df.drop(dfs[\"train\"].index)\n", " k = 1\n", "else:\n", " k = 10" ] }, { "cell_type": "code", "execution_count": 14, "id": "a2f6e1bd", "metadata": {}, "outputs": [], "source": [ "def add_classification_results(df: pd.DataFrame) -> pd.DataFrame:\n", " for model_name in models:\n", " idx = df[df[model_name] < thresholds[model_name]].index\n", " df[f\"{model_name}_clf\"] = -1\n", " df.loc[idx, f\"{model_name}_clf\"] = 1\n", " return df\n", "\n", "dfs[\"train\"] = add_classification_results(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_classification_results(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_classification_results(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 15, "id": "128a04b1", "metadata": {}, "outputs": [], "source": [ "def add_classification_sum(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"clf_sum\"] = 0\n", " for model_name in models:\n", " df[\"clf_sum\"] += df[f\"{model_name}_clf\"]\n", " return df\n", "\n", "dfs[\"train\"] = add_classification_sum(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_classification_sum(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_classification_sum(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 16, "id": "3bcdef6e", "metadata": {}, "outputs": [], "source": [ "def add_distance_additions(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"distance_sums\"] = 0\n", " for model_name in models:\n", " df[\"distance_sums\"] += df[f\"{model_name}\"]\n", " return df\n", "\n", "dfs[\"train\"] = add_distance_additions(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_distance_additions(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_distance_additions(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 17, "id": "8c834ded", "metadata": {}, "outputs": [], "source": [ "def add_distance_multiplications(df: pd.DataFrame) -> pd.DataFrame:\n", " df[\"distance_multiplications\"] = 1\n", " for model_name in models:\n", " df[\"distance_multiplications\"] *= df[f\"{model_name}\"]\n", " return df\n", "\n", "dfs[\"train\"] = add_distance_multiplications(dfs[\"train\"])\n", "dfs[\"10_folds\"] = add_distance_multiplications(dfs[\"10_folds\"])\n", "dfs[\"test\"] = add_distance_multiplications(dfs[\"test\"])" ] }, { "cell_type": "code", "execution_count": 18, "id": "f2bc2338", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
actualsFacenetFacenet512VGG-FaceArcFaceDlibFacenet_clfFacenet512_clfVGG-Face_clfArcFace_clfDlib_clfclf_sumdistance_sumsdistance_multiplications
74410.5559780.5351290.7209070.7742790.2824071111152.8687000.046900
146600.4751640.8116940.7659390.1683190.4811631111-132.7022800.023925
163801.2824751.2041471.2828471.2433300.447448-1-1-1-1-1-55.4602461.102127
165701.2384761.3387121.3610041.2825960.463052-1-1-1-1-1-55.6838401.340151
110101.3341901.3658961.3159011.3684800.487813-1-1-1-1-1-55.8722791.600847
\n", "
" ], "text/plain": [ " actuals Facenet Facenet512 VGG-Face ArcFace Dlib \\\n", "744 1 0.555978 0.535129 0.720907 0.774279 0.282407 \n", "1466 0 0.475164 0.811694 0.765939 0.168319 0.481163 \n", "1638 0 1.282475 1.204147 1.282847 1.243330 0.447448 \n", "1657 0 1.238476 1.338712 1.361004 1.282596 0.463052 \n", "1101 0 1.334190 1.365896 1.315901 1.368480 0.487813 \n", "\n", " Facenet_clf Facenet512_clf VGG-Face_clf ArcFace_clf Dlib_clf \\\n", "744 1 1 1 1 1 \n", "1466 1 1 1 1 -1 \n", "1638 -1 -1 -1 -1 -1 \n", "1657 -1 -1 -1 -1 -1 \n", "1101 -1 -1 -1 -1 -1 \n", "\n", " clf_sum distance_sums distance_multiplications \n", "744 5 2.868700 0.046900 \n", "1466 3 2.702280 0.023925 \n", "1638 -5 5.460246 1.102127 \n", "1657 -5 5.683840 1.340151 \n", "1101 -5 5.872279 1.600847 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfs[\"train\"].sample(5)" ] }, { "cell_type": "code", "execution_count": 19, "id": "2443014b", "metadata": {}, "outputs": [], "source": [ "categorical_features = [column for column in dfs[\"train\"].columns if column.endswith(\"_clf\")]\n", "feature_names = list(dfs[\"train\"].drop(columns=[\"actuals\"]).columns)" ] }, { "cell_type": "markdown", "id": "42df4d7b", "metadata": {}, "source": [ "# XGBoost" ] }, { "cell_type": "code", "execution_count": 20, "id": "36602d33", "metadata": {}, "outputs": [], "source": [ "# restore sets\n", "y_train = dfs[\"train\"][\"actuals\"].values\n", "x_train = dfs[\"train\"].drop(columns=[\"actuals\"]).values\n", "\n", "y_test = dfs[\"test\"][\"actuals\"].values\n", "x_test = dfs[\"test\"].drop(columns=[\"actuals\"]).values\n", "\n", "y_val = dfs[\"10_folds\"][\"actuals\"].values\n", "x_val = dfs[\"10_folds\"].drop(columns=[\"actuals\"]).values" ] }, { "cell_type": "code", "execution_count": 22, "id": "72f0096f", "metadata": {}, "outputs": [], "source": [ "params = {\n", " 'learning_rate': 0.01\n", " , 'max_depth': 5\n", " , 'max_leaves': pow(2, 5) - 1\n", " , 'n_estimators': 10000\n", " , 'seed': 17\n", " , 'nthread': 2\n", " , 'object': 'binary:logistic'\n", "}" ] }, { "cell_type": "code", "execution_count": 23, "id": "dad49d75", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training 0-th model\n", "Training 1-th model\n", "Training 2-th model\n", "Training 3-th model\n", "Training 4-th model\n", "Training 5-th model\n", "Training 6-th model\n", "Training 7-th model\n", "Training 8-th model\n", "Training 9-th model\n" ] } ], "source": [ "models = []\n", "for k in range(0, 10):\n", " print(f\"Training {k}-th model\")\n", " \n", " model = xgboost.XGBClassifier(**params)\n", "\n", " valid_from = k * 600\n", " valid_until = valid_from + 600\n", "\n", " _ = model.fit(\n", " x_train,\n", " y_train,\n", " eval_metric='logloss',\n", " eval_set=[(x_val[valid_from:valid_until], y_val[valid_from:valid_until])],\n", " early_stopping_rounds=500,\n", " verbose=False,\n", " )\n", "\n", " models.append(model)" ] }, { "cell_type": "code", "execution_count": 24, "id": "79964c3a", "metadata": {}, "outputs": [], "source": [ "def analyze_results(x, y, label):\n", " scores = []\n", " for k in range(0, 10):\n", " model = models[k]\n", "\n", " if label == \"validation\":\n", " x_org = x.copy()\n", " y_org = y.copy()\n", "\n", " valid_from = k * 600\n", " valid_until = valid_from + 600\n", "\n", " x = x[valid_from:valid_until]\n", " y = y[valid_from:valid_until]\n", "\n", " predictions = model.predict(x)\n", "\n", " classified = 0\n", " for idx, prediction in enumerate(predictions):\n", " actual = y[idx]\n", " if actual == prediction:\n", " classified += 1\n", "\n", " score = 100 * (classified / len(predictions))\n", " print(round(score, 2))\n", " scores.append(score)\n", "\n", " # restore\n", " if label == \"validation\":\n", " x = x_org.copy()\n", " y = y_org.copy()\n", "\n", " return scores" ] }, { "cell_type": "code", "execution_count": 25, "id": "c71ba25f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "99.73\n", "99.68\n", "99.64\n", "99.68\n", "99.73\n", "99.73\n", "99.68\n", "99.68\n", "99.68\n", "99.86\n" ] } ], "source": [ "train_results = analyze_results(x_train, y_train, \"train\")" ] }, { "cell_type": "code", "execution_count": 26, "id": "7600f5c1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "99.71" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "round(sum(train_results)/10, 2)" ] }, { "cell_type": "code", "execution_count": 27, "id": "4b2d9dcb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "97.33\n", "97.17\n", "96.33\n", "97.17\n", "98.83\n", "98.0\n", "97.83\n", "97.5\n", "98.0\n", "98.33\n" ] } ], "source": [ "val_results = analyze_results(x_val, y_val, \"validation\")" ] }, { "cell_type": "code", "execution_count": 28, "id": "caa2d179", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "97.65" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "round(sum(val_results)/10, 2)" ] }, { "cell_type": "code", "execution_count": 29, "id": "1fb56eee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "98.9\n", "98.9\n", "99.0\n", "99.0\n", "98.9\n", "98.8\n", "99.0\n", "98.9\n", "98.9\n", "98.8\n" ] } ], "source": [ "test_results = analyze_results(x_test, y_test, \"test\")" ] }, { "cell_type": "code", "execution_count": 30, "id": "cc0d8658", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "98.91" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "round(sum(test_results)/10, 2)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 5 } ================================================ FILE: boosted/models/boosted_lightface_7.txt ================================================ tree version=v4 num_class=1 num_tree_per_iteration=1 label_index=0 max_feature_idx=13 objective=binary sigmoid:1 feature_names=Facenet Facenet512 VGG-Face ArcFace Dlib Facenet_clf Facenet512_clf VGG-Face_clf ArcFace_clf Dlib_clf clf_sum clf_multiplication distance_sums distance_multiplications feature_infos=[0.1114128796949834:1.6243800589293098] [0.30084998846460931:1.6544904908752631] [0.38527133186771251:1.408670836588948] [0.091631847708825306:1.5591140337251324] [0.14066080692387919:0.72448328455898536] -1:1:0 -1:1:0 -1:1:0 -1:0:1 -1:0:1 [0:5] [1:32] [1.5585367880592558:6.6295179669139355] [0.001076733775378194:3.3779772767673943] tree_sizes=1093 1287 1167 1387 1282 1391 1392 1392 1494 1284 1495 1289 1492 1288 1499 1389 1493 1291 1393 1498 1392 1497 1388 1395 1395 1500 1390 1503 1292 1286 1389 1287 1394 1283 1496 1396 1395 1287 1514 1288 1515 1388 1391 1516 1389 1391 1405 1412 1408 1518 1288 1509 1281 1411 1515 1289 1410 1508 1513 1285 1514 1409 1285 1514 1289 1514 1410 1406 1287 1510 1291 1511 1410 1292 1391 1409 1393 1409 1391 1282 1409 1393 1409 1388 1410 1293 1389 1407 1395 1388 1516 1391 1289 1408 1389 1385 1407 1397 1394 1391 1500 1390 1386 1618 1394 1396 1393 1496 1388 1391 1394 1395 1395 1391 1490 1393 1393 1394 1401 1398 1496 1391 1497 1397 1390 1498 1495 1388 1390 1493 1392 1609 1395 1605 1393 1605 1596 1604 1395 1810 1396 1611 1391 1915 1392 1605 1395 1926 1393 1922 1294 1615 1397 1821 1500 1713 1610 1714 1817 1391 1608 1394 1715 1613 1504 1711 1714 1503 1715 1505 1714 1708 1815 1504 1716 1917 2138 1933 2144 1813 1929 2142 1931 1925 2137 1820 1935 1922 2146 1930 1932 2032 1819 1927 1932 2035 1814 1925 1933 2033 1824 1930 1931 2037 1933 1821 1826 1819 2037 1823 1715 2144 1821 1718 1719 2140 1602 1720 2142 1603 1715 1601 1723 2146 1604 1602 1718 2139 1606 1721 2037 1606 1598 1716 1717 2031 1605 1606 1721 2040 1604 1720 2030 1610 1721 2028 1602 1721 2034 1603 1722 1826 1831 1832 1828 2132 1932 1827 1934 2138 1613 1828 1935 1933 1829 1920 2136 1610 1823 1931 1611 1717 2141 2043 2044 1825 2043 2048 2048 2045 2050 1723 2037 2047 2047 2047 2053 1730 2053 2043 2051 2052 2047 1832 2046 2057 2050 2050 2140 2049 2146 2142 2053 2141 2053 2146 2135 2054 2146 2046 2145 2143 2054 2149 2148 2058 1938 2053 2040 2047 2161 1935 2049 2162 2053 1932 2057 2162 1935 2050 2052 2158 2147 2045 2155 1927 2147 2028 2036 2155 1919 1739 1624 1623 1620 1625 1626 1621 1630 1624 1622 1623 1630 1626 1625 1624 1630 1624 1623 1629 1621 1628 1624 1626 1844 1850 1846 1851 1620 1845 1842 1850 1625 1846 1843 1846 1844 1849 1849 2053 1845 1845 1846 1851 1854 1845 1853 2052 1846 1849 1854 1846 2055 1849 1742 1740 1738 2054 1737 1737 1856 1841 1851 2043 1847 1848 2043 1739 1748 1740 1929 1738 1743 1633 1927 1625 1629 1527 1930 1636 1736 1737 1933 1627 1627 1629 1935 1636 1735 1741 1736 1937 1633 1521 1628 1925 1631 1628 1615 1742 1622 1518 1742 1639 1932 1637 1615 1839 1839 1934 1840 1627 1629 1927 1627 1632 1653 1619 1648 1624 1629 1646 1645 1953 1644 1643 1641 1936 1644 1625 1642 1931 1645 1754 1755 1938 1620 1644 1290 1650 1649 1646 1644 1629 1646 1536 1935 1536 1642 1536 1643 1295 1537 2036 1537 1648 1541 1648 1538 2043 1541 1644 1293 1533 1652 1539 2035 1526 1632 1524 1521 1631 1286 1962 1541 1542 1540 1649 1545 1538 1648 1544 1544 1654 Tree=0 num_leaves=10 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 split_gain=2000.81 46.3455 18.8623 7.35325 4.00549 1.87983 0.889265 0.784451 0.107079 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 right_child=2 -3 6 5 -6 -7 8 -9 -10 leaf_value=0.0088000000000000005 -0.0046153846153846158 -0.010476190476190477 -0.016842105263157894 0.02 -0.014999999999999999 0.014999999999999999 -0.018888888888888889 0.016 -0.02 leaf_weight=6.2499999999999991 9.7499999999999982 5.2499999999999991 9.4999999999999982 252.25 5.9999999999999991 7.9999999999999991 8.9999999999999982 4.9999999999999991 239 leaf_count=25 39 21 38 1009 24 32 36 20 956 internal_value=0 0.0189521 -0.0191949 0.0195212 -0.00857143 0.0197738 -0.0198447 0.0199223 -0.0199597 internal_weight=0 276.75 273.25 271.5 15.75 265.25 257.5 257.25 248 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 is_linear=0 shrinkage=0.01 Tree=1 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 12 0 1 split_gain=1961.18 45.4285 18.4921 7.2091 3.92626 1.84317 0.871951 0.778549 0.104998 2.27374e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 4.6533632910829281 1.1305001193370379 1.3757701375557085 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0087121693286318653 -0.0045692550522918682 -0.010371713725596921 -0.016674871503819608 0.019802453930607679 -0.014850838285168482 0.014850838285168482 -0.018701672980023776 0.015817359331544868 -0.019801986678460028 -0.019801986678460028 leaf_weight=6.2498789280652991 9.7499482780694944 5.2498560547828665 9.4993261694908124 252.22487881779671 5.9996623992919913 7.9995498657226554 8.9991974830627424 4.9995719194412223 134.23657277226448 104.73952326178551 leaf_count=25 39 21 38 1009 24 32 36 20 537 419 internal_value=0 0.0187644 -0.0190047 0.0193278 -0.00848593 0.019578 -0.0196482 0.019725 -0.0197621 -0.019802 internal_weight=0 276.724 273.224 271.474 15.7496 265.224 257.475 257.224 247.975 238.976 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=2 num_leaves=10 num_cat=0 split_feature=12 1 13 3 3 1 3 12 0 split_gain=1922.7 44.5398 18.1393 7.07196 3.84952 1.80865 0.855712 0.763881 0.103055 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 4.6533632910829281 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 right_child=2 -3 6 5 -6 -7 8 -9 -10 leaf_value=0.0086255442410644294 -0.0045236340750364765 -0.010268834550588189 -0.016511603835845441 0.019610250797482971 -0.01470478962652888 0.01470478962652888 -0.018519568251086534 0.015662458614774725 -0.019609797470843723 leaf_weight=6.2495209276676169 9.749794274568556 5.249429538846015 9.497332423925398 252.1503474265337 5.9986635446548453 7.998218059539794 8.9968215823173505 4.9985319375991812 238.90536707639694 leaf_count=25 39 21 38 1009 24 32 36 20 956 internal_value=0 0.018582 -0.01882 0.01914 -0.00840169 0.0193879 -0.0194574 0.0195335 -0.0195702 internal_weight=0 276.646 273.148 271.397 15.7485 265.147 257.4 257.149 247.902 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 is_linear=0 shrinkage=0.01 Tree=3 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 1 3 3 0 0 split_gain=1885.31 43.6782 17.8027 6.94143 3.81749 3.69668 1.77616 0.840477 0.75892 0.10124 2.27374e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.364839830809575 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0085400959119074117 -0.017787328471455907 -0.0101675084709333 -0.016352150594584537 0.019424071472742811 -0.0015972618404373337 -0.005771447180996263 0.014561742063816739 -0.018342364514813147 0.015488345141560347 -0.019423185912296671 -0.019423185912296671 leaf_weight=6.2489327043294898 5.2484058737754804 5.2487295269966117 9.4940584003925306 252.02818219363689 5.4990679025650016 4.9990913867950439 7.9960308074951163 8.9929200410842878 4.9965715408325186 133.88182401657104 104.90739941596985 leaf_count=25 21 21 38 1009 22 20 32 36 20 536 420 internal_value=0 0.0184047 -0.0186403 0.0189575 -0.00831868 -0.0119256 0.0192032 -0.0192721 0.0193476 -0.019384 -0.0194232 internal_weight=0 276.518 273.023 271.27 15.7466 10.2475 265.021 257.276 257.025 247.782 238.789 internal_count=2200 1107 1093 1086 63 41 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=4 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 12 0 0 split_gain=1848.98 42.8424 17.4821 6.81711 3.74803 1.74555 0.826183 0.745689 0.0995457 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 4.6533632910829281 1.1305001193370379 1.4890836106919547 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0084557984943274787 -0.0044105012249234564 -0.010067695635372192 -0.016196369674795329 0.019242784618277543 -0.014458465060102642 0.014421591539147407 -0.01816986432656445 0.015340602569756988 -0.01924192426848121 -0.01924192426848121 leaf_weight=6.2481213361024848 9.748875826597212 5.2477635294198981 9.489542603492735 251.8593410551548 5.9953390359878531 7.9930143356323233 8.9875395298004133 4.9942514300346366 218.66008901596069 19.968957901000977 leaf_count=25 39 21 38 1009 24 32 36 20 876 80 internal_value=0 0.0182323 -0.0184657 0.0187801 -0.00823673 0.0190237 -0.019092 0.0191669 -0.019203 -0.0192419 internal_weight=0 276.342 272.85 271.095 15.7442 264.847 257.106 256.854 247.617 238.629 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=5 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 1 3 3 0 0 split_gain=1813.65 42.0314 17.1756 6.69864 3.73215 3.61135 1.71672 0.812771 0.741622 0.0979636 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.5033800733562284 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0083726239943373113 -0.017519889308453138 -0.0099693534618597954 -0.016044122361084719 0.019067052218420297 -0.0015100288910292381 -0.0056408259224277136 0.014284235796428839 -0.018001880314975158 0.015174193597082828 -0.019065791914708398 -0.019065791914708398 leaf_weight=6.247093901038169 5.2448554337024671 5.2465403079986563 9.4838235378265363 251.64596565067768 5.4982345998287192 4.997927725315094 7.9891939163207999 8.9807251095771772 4.9908509254455558 224.45978969335556 13.966386914253233 leaf_count=25 21 21 38 1009 22 20 32 36 20 900 56 internal_value=0 0.0180646 -0.0182957 0.0186076 -0.00815603 -0.0117235 0.0188492 -0.018917 0.0189913 -0.0190272 -0.0190658 internal_weight=0 276.12 272.632 270.873 15.741 10.2428 264.626 256.891 256.637 247.407 238.426 internal_count=2200 1107 1093 1086 63 41 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=6 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 1 3 3 0 0 split_gain=1779.3 41.2441 16.8829 6.58569 3.66037 3.54414 1.68954 0.800185 0.72966 0.0964867 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.5239341756449745 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0082905476254636293 -0.01735507371768702 -0.0098724445811375142 -0.015895278595705636 0.018895807190905327 -0.0014949648571189204 -0.0055850342086189234 0.014149580974083642 -0.017838236972066525 0.015033099640654737 -0.018894583072240557 -0.018894583072240557 leaf_weight=6.2458567321300498 5.2417328059673292 5.2450676858425131 9.4769380092620832 251.38852083683014 5.4981031417846671 4.9973786771297455 7.9845938682556143 8.9725213050842267 4.9873332381248465 230.20933395624161 7.9726176261901847 leaf_count=25 21 21 38 1009 22 20 32 36 20 924 32 internal_value=0 0.0179015 -0.0181304 0.0184398 -0.00807644 -0.0116105 0.0186796 -0.0187469 0.0188207 -0.0188562 -0.0188946 internal_weight=0 275.851 272.369 270.606 15.7372 10.2391 264.36 256.631 256.376 247.154 238.182 internal_count=2200 1107 1093 1086 63 41 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=7 num_leaves=12 num_cat=0 split_feature=12 1 13 3 3 0 13 3 3 0 0 split_gain=1745.89 40.4796 16.6026 6.47794 3.62688 1.67588 1.44903 0.788377 0.177359 0.0951087 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.4922867273937477 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0082095447454837139 -0.0042347722238588303 -0.0097769321377115023 -0.015749712294597241 0.016915392170689041 -0.014123911436508643 0.018764931327943987 0.012029935687104493 -0.017678763921624832 0.018735162558344169 -0.018728101129627996 -0.018728101129627996 leaf_weight=6.2444165349006644 9.7455892860889417 5.2433531731367102 9.4689222574233991 5.4751349389553061 5.9869845807552329 5.7249276340007764 7.2273657023906708 8.9629710316658002 245.62385968863964 219.98067581653595 17.916978120803833 leaf_count=25 39 21 38 22 24 23 29 36 987 884 72 internal_value=0 0.0177426 -0.0179694 0.0182765 -0.00799805 0.0185145 0.0150068 -0.0185814 0.0186955 -0.01869 -0.0187281 internal_weight=0 275.539 272.062 270.296 15.7326 264.051 12.9523 256.33 251.099 246.861 237.898 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=8 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 0 split_gain=1713.36 39.7369 16.3353 6.3751 3.58092 3.46684 1.65035 1.42565 0.777299 0.174565 0.0938238 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.4922867273937477 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0081295908844538564 -0.017104852245209971 -0.0096827797145945232 -0.015607306412461693 0.016766563462794985 -0.0014110065994328807 -0.0054591577625002679 0.018602000520848622 0.011918068982462981 -0.017523302818643081 0.018573033184768536 -0.018566161656378741 -0.018566161656378741 leaf_weight=6.2427792698144904 5.2349995225667936 5.2414042800664893 9.4598113894462568 5.4685306251049033 5.4970094859600058 4.995602935552597 5.7173576802015287 7.2222770601511002 8.9521166682243329 245.29193949699402 219.68189430236816 17.892642974853516 leaf_count=25 21 21 38 22 22 20 23 29 36 987 884 72 internal_value=0 0.017588 -0.0178126 0.0181175 -0.00792059 -0.0114183 0.0183539 0.0148714 -0.0184203 0.0185336 -0.0185283 -0.0185662 internal_weight=0 275.184 271.714 269.943 15.7276 10.2306 263.7 12.9396 255.986 250.76 246.527 237.575 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=9 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 0 split_gain=1681.71 39.0151 16.0785 6.27691 3.53666 1.63672 0.76691 0.712376 0.0926265 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.534423313053304 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.008050664152638172 -0.0041288535614580528 -0.0095899519803080945 -0.015467946512569919 0.018411264055357632 -0.013898831317318935 0.013733498461240166 -0.017371699545130532 0.01458865959806579 -0.018408588220718791 -0.018408588220718791 leaf_weight=6.2409512698650351 9.7426721751689893 5.239228516817092 9.4496410787105543 250.37129932641983 5.978966921567916 7.9646887481212607 8.9399995207786542 4.9719930440187445 231.25866788625717 5.955158829689025 leaf_count=25 39 21 38 1009 24 32 36 20 932 24 internal_value=0 0.0174373 -0.0176599 0.0179627 -0.00784439 0.0181976 -0.0182636 0.0183368 -0.0183709 -0.0184086 internal_weight=0 274.788 271.325 269.549 15.7216 263.308 255.603 255.343 246.154 237.214 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=10 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 0 split_gain=1650.88 38.3134 15.8338 6.18312 3.50457 3.39377 1.61733 1.39776 0.757169 0.172208 0.0915117 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.5128493085903074 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0079727412362567748 -0.016864574803151854 -0.0094984168171107341 -0.015331523886708075 0.016465901756037255 -0.0013293191796370691 -0.0053363680731589097 0.018294348380716589 0.011667681988734165 -0.017223810949953417 0.01826279053207442 -0.018255214237526511 -0.018255214237526511 leaf_weight=6.238938868045806 5.2264317870140058 5.236833080649375 9.4384436011314374 5.4524271041154853 5.4957021176815024 4.9934184849262238 5.6997944116592389 7.2087490856647491 8.9266592860221845 244.51523205637932 224.9263396859169 11.890379190444945 leaf_count=25 21 21 38 22 22 20 23 29 36 987 908 48 internal_value=0 0.0172905 -0.017511 0.0178118 -0.00776898 -0.0112319 0.0180453 0.0145937 -0.018111 0.0182236 -0.0182177 -0.0182552 internal_weight=0 274.352 270.897 269.115 15.7156 10.2199 262.876 12.9085 255.182 249.968 245.743 236.817 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=11 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 0 split_gain=1620.85 37.6309 15.598 6.09349 3.45057 1.60338 0.74804 0.700355 0.0904744 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.3930492496573113 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0078957997611106626 -0.0040255888142148311 -0.0094081421935828542 -0.015197936123337768 0.018109168961895884 -0.013681478325563625 0.013474038818618739 -0.017079500790043844 0.014314016157000925 -0.018105881265350038 -0.018105881265350038 leaf_weight=6.2367480248212805 9.739097908139227 5.2342248558998099 9.4262523651123029 249.49930472671986 5.9692235291004172 7.9477061778306952 8.9121351242065412 4.9591471105813971 159.97980657219887 76.404575318098068 leaf_count=25 39 21 38 1009 24 32 36 20 647 309 internal_value=0 0.0171475 -0.017366 0.0176649 -0.00769486 0.0178971 -0.0179624 0.0180352 -0.0180686 -0.0181059 internal_weight=0 273.877 270.431 268.643 15.7083 262.406 254.723 254.458 245.297 236.384 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=12 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 0 split_gain=1591.6 36.9671 15.3737 6.0078 3.4311 3.32458 1.58812 1.37262 0.739487 0.170189 0.0895109 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.534423313053304 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0078198206341960948 -0.016633652087556287 -0.0093190950942196003 -0.015067085827740943 0.016179203737215809 -0.0012498311271383824 -0.0052165511868445822 0.018002565852120449 0.011425843930449724 -0.01693863408334036 0.017968651768601091 -0.017960437329839797 -0.017960437329839797 leaf_weight=6.2343839555978766 5.2161273658275586 5.2314107269048682 9.4130996465682966 5.4334351271390906 5.494197189807891 4.990851491689682 5.6789240390062314 7.1929127275943756 8.8964661955833417 243.59374898672104 229.99532890319824 5.9226264953613272 leaf_count=25 21 21 38 22 22 20 23 29 36 987 932 24 internal_value=0 0.017008 -0.0172245 0.0175216 -0.00762141 -0.0110511 0.0177526 0.0143274 -0.0178176 0.0179296 -0.0179233 -0.0179604 internal_weight=0 273.365 269.929 268.133 15.7012 10.207 261.899 12.8718 254.228 249.027 244.814 235.918 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=13 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 0 split_gain=1563.08 36.3211 15.1568 5.92584 3.36832 1.57386 0.731479 0.689839 0.0886167 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.4890836106919547 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0077447836360233363 -0.0039248859058846923 -0.0092312482134857786 -0.014938877567118971 0.017822586189390553 -0.013471413498745888 0.01322425041358552 -0.016801089615097579 0.014050312152094652 -0.017818740107517897 -0.017818740107517897 leaf_weight=6.2318522483110419 9.7349076420068723 5.2283975780010215 9.3990160226821882 248.48395393788815 5.957850068807601 7.9278412312269202 8.8796889781951887 4.9442188888788214 215.71825343370438 19.700297117233276 leaf_count=25 39 21 38 1009 24 32 36 20 876 80 internal_value=0 0.0168719 -0.0170865 0.0173819 -0.00754928 0.0176117 -0.0176764 0.017749 -0.0177818 -0.0178187 internal_weight=0 272.816 269.39 267.588 15.6928 261.356 253.697 253.428 244.298 235.419 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=14 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 0 split_gain=1535.28 35.6922 14.9507 5.84742 3.36033 3.25899 1.56236 1.34995 0.723989 0.168478 0.0877883 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.4963909566261886 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0076706664899655963 -0.016411537840938947 -0.0091445710015668688 -0.01481321962318209 0.015905446343948911 -0.0011724752763405363 -0.0050995950457634843 0.017725511765560295 0.011191991241356367 -0.016666746941354473 0.017689446872212106 -0.017680654123346858 -0.017680654123346858 leaf_weight=6.2291592359542838 5.2041807621717435 5.2251916676759711 9.3840332031249982 5.4117424488067618 5.4925102293491355 4.9879270792007446 5.6549563109874708 7.1749245822429657 8.8618399500846845 242.53671568632126 219.16258054971695 15.724669456481932 leaf_count=25 21 21 38 22 22 20 23 29 36 987 892 64 internal_value=0 0.0167392 -0.0169518 0.0172457 -0.0074777 -0.0108756 0.0174744 0.0140717 -0.0175389 0.0176505 -0.0176438 -0.0176807 internal_weight=0 272.233 268.818 267.007 15.6846 10.1921 260.778 12.8299 253.133 247.948 243.749 234.887 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=15 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 1 3 3 0 2 split_gain=1508.18 35.0799 14.7508 5.77236 3.2991 3.2052 1.54777 0.716988 0.680687 0.0870221 1.13687e-13 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.2626160677949871 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0075974535262314782 -0.016272990828582492 -0.0090590355958430468 -0.014690028067693657 0.01755040217305804 -0.001160794996574114 -0.0050498122658702059 0.012983482322417472 -0.016535494387920509 0.013796778894327811 -0.017546049163933479 -0.017546049163933479 leaf_weight=6.2263093888759604 5.1960441917180997 5.2217995673418036 9.3681800663471204 247.33446741104126 5.492300033569335 4.9867349863052368 7.9052834659814826 8.8429545164108259 4.927345633506774 23.28544482588768 211.03966310620308 leaf_count=25 21 21 38 1009 22 20 32 36 20 95 861 internal_value=0 0.0166097 -0.0168204 0.0171128 -0.00740747 -0.0107767 0.0173405 -0.0174047 0.0174771 -0.0175093 -0.017546 internal_weight=0 271.615 268.211 266.393 15.6751 10.1828 260.167 252.536 252.262 243.168 234.325 internal_count=2200 1107 1093 1086 63 41 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=16 num_leaves=13 num_cat=0 split_feature=12 1 12 3 2 0 4 13 3 1 3 13 split_gain=1481.74 34.4835 14.5927 5.70048 3.59092 1.53971 1.35183 1.32953 0.571127 1.08503 0.167049 0.00869275 threshold=4.8980530291692244 1.1058192561221138 5.1170890668050761 0.17408222448223767 1.2266574521666753 1.0188919694060079 0.36291089430411749 0.46553849925547169 1.2471304352583659 1.1954219695798878 0.52015392592939824 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 10 -4 -7 9 -8 -5 -10 right_child=2 -3 6 5 -6 7 8 -9 11 -11 -12 -13 leaf_value=0.0075251247593242131 -0.010593213454455212 -0.0089746158178601806 -0.012231842386853736 0.015643705307545625 0.00080123414973599331 0.017462148902929429 -0.01158383418577367 0.01096560751698737 -0.017833246123033171 -0.016990169755167706 0.017424118974852455 -0.017418352475016191 leaf_weight=6.2233079224824897 6.2084634155035001 5.2182272225618354 5.40433046221733 5.3875271230936042 4.9877915382385254 5.6280910819768888 4.910199016332629 7.1549339145421982 5.1654959768056861 15.215898573398588 241.35294692218304 225.68042539060116 leaf_count=25 25 21 22 22 20 23 20 29 21 62 987 923 internal_value=0 0.0164832 -0.0166922 0.0169831 -0.00551713 0.0172099 -0.0171802 0.0138259 -0.0172868 -0.0156712 0.0173852 -0.0174276 internal_weight=0 270.965 267.573 265.747 11.1963 259.523 256.376 12.783 250.972 20.1261 246.74 230.846 internal_count=2200 1107 1093 1086 45 1061 1048 52 1026 82 1009 944 is_linear=0 shrinkage=0.01 Tree=17 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 4 split_gain=1455.94 33.9025 14.4036 5.63164 3.24236 1.52479 0.708753 0.672775 0.0869379 3.28231e-05 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0074536616590756355 -0.0037055878838271896 -0.0088912843616085254 -0.014442528518917799 0.017291608225979888 -0.013086966308815808 0.012751142422050436 -0.016275314900880009 0.013552716700878027 -0.017313451235904404 -0.017287239782257362 leaf_weight=6.220160797238349 9.7230652868747693 5.2144808918237677 9.3327118307352048 246.05962955951691 5.9315293431282035 7.8802129924297324 8.8010890781879407 4.9086579531431189 4.8796004801988593 228.23778320848942 leaf_count=25 39 21 38 1009 24 32 36 20 20 936 internal_value=0 0.0163598 -0.0165668 0.0168565 -0.00726019 0.0170825 -0.0171466 0.0172185 -0.017251 -0.0172878 internal_weight=0 270.283 266.906 265.069 15.6546 258.849 251.251 250.968 241.918 233.117 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=18 num_leaves=12 num_cat=0 split_feature=12 1 13 3 3 0 13 3 3 0 4 split_gain=1430.76 33.3362 14.2284 5.56567 3.18684 1.51988 1.31113 0.702959 0.16588 0.0863051 3.11607e-05 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0073830477887817016 -0.0036691721386276095 -0.0088090173967155811 -0.014326405577367614 0.015393135845414527 -0.012974204393263074 0.017211536865331001 0.010746219691296372 -0.016152839327154243 0.017171707624714216 -0.017187919404453206 -0.017162345080963242 leaf_weight=6.2168721109628668 9.7213773578405362 5.2105665206909171 9.3143661469221097 5.3609584271907798 5.9232920557260504 5.5985193103551847 7.1330813020467758 8.7792521715164167 240.05077700316906 4.866153195500373 227.60290017724037 leaf_count=25 39 21 38 22 24 23 29 36 987 20 936 internal_value=0 0.0162392 -0.0164444 0.0167329 -0.00719219 0.0169581 0.0135892 -0.017022 0.0171329 -0.0171261 -0.0171629 internal_weight=0 269.571 266.207 264.36 15.6447 258.143 12.7316 250.563 245.412 241.248 232.469 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=19 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 4 split_gain=1406.18 32.7841 14.0601 5.50245 3.17304 3.15975 1.50508 1.29595 0.697568 0.164246 0.0857246 2.95912e-05 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0073132670087915439 -0.015913668208957513 -0.0087277899565042644 -0.01421243257306689 0.015277593516445325 -0.00099920905468391281 -0.0047508353000161006 0.017088495332248377 0.010653605655392459 -0.016033043749722673 0.017049611335369239 -0.017065429793757109 -0.017040471866623903 leaf_weight=6.213447079062461 5.1695313900709134 5.2064897418022147 9.2952651530504209 5.3475547432899466 5.4876801818609229 4.9770733714103699 5.5825216472148878 7.1231892853975296 8.7565142661333066 239.35560536384583 4.8521399199962607 226.94171015918255 leaf_count=25 21 21 38 22 22 20 23 29 36 987 20 936 internal_value=0 0.0161214 -0.0163248 0.0166122 -0.00712503 -0.0104381 0.0168366 0.0134809 -0.0169004 0.0170109 -0.0170043 -0.017041 internal_weight=0 268.829 265.48 263.622 15.6343 10.1466 257.409 12.7057 249.846 244.703 240.55 231.794 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=20 num_leaves=12 num_cat=0 split_feature=12 1 12 3 2 1 4 3 3 1 13 split_gain=1382.19 32.2459 13.9246 5.44184 3.47942 1.49937 1.32467 0.665923 0.552698 1.07604 0.0100813 threshold=4.8980530291692244 1.1058192561221138 5.1170890668050761 0.17408222448223767 1.2266574521666753 1.0023056708553677 0.36291089430411749 1.1948510833126798 1.2471304352583659 1.1954219695798878 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 9 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 10 -11 -12 leaf_value=0.0072443017171191452 -0.010289774746757914 -0.0086475788067262842 -0.011770518880392615 0.016926870486567391 0.00093707873387079892 0.012411443350131652 -0.011111721378871063 0.013194782515862398 -0.017373760928023715 -0.016519302487327123 -0.016924985006205744 leaf_weight=6.2098905444145194 6.1886691302061063 5.2022561877965918 5.359262838959693 243.93226061761379 4.9834185391664505 7.8372985422611228 4.8685069978237179 4.8765955418348303 5.1204733550548545 15.07076872885227 223.13222362101078 leaf_count=25 25 21 22 1009 20 32 20 20 21 62 923 internal_value=0 0.0160063 -0.0162079 0.0164943 -0.00528193 0.0167181 -0.0166894 0.0168537 -0.0167956 -0.015199 -0.0169351 internal_weight=0 268.058 264.723 262.856 11.1721 256.646 253.551 248.809 248.192 19.9393 228.253 internal_count=2200 1107 1093 1086 45 1061 1048 1029 1026 82 944 is_linear=0 shrinkage=0.01 Tree=21 num_leaves=13 num_cat=0 split_feature=12 1 13 3 4 0 13 0 3 3 0 4 split_gain=1358.75 31.7209 13.7648 5.3837 3.10239 1.48921 1.28046 0.751917 0.691998 0.163477 0.0859004 0.000110759 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 0.42636365958866435 1.0188919694060079 0.46553849925547169 1.1305001193370379 1.2103584781205146 0.52015392592939824 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 7 9 -7 -2 -4 -5 -10 -12 right_child=2 -3 8 5 -6 6 -8 -9 10 -11 11 -13 leaf_value=0.0071761365598097442 -0.012634618474599225 -0.0085683606568543406 -0.013982881885485871 0.015042162702193341 -0.00045274258968229205 0.016855505869714765 0.010443641666396601 -0.0073193539121678012 -0.015794956063610838 0.016814972769716132 -0.016854211163786131 -0.016805793637089665 leaf_weight=6.2062069773674002 5.4261358082294446 5.1978718042373648 9.2533555030822736 5.3178114891052237 4.9602164775133124 5.5492069572210294 7.098927304148674 5.22356216609478 8.7070987671613675 237.89051170647144 4.8257771730422965 225.54663477838039 leaf_count=25 22 21 38 22 20 23 29 21 36 987 20 936 internal_value=0 0.0158938 -0.0160936 0.016379 -0.00698505 0.0166022 0.0132568 -0.0100275 -0.0166661 0.0167762 -0.01677 -0.0168068 internal_weight=0 267.261 263.943 262.063 15.6099 255.856 12.6481 10.6497 248.333 243.208 239.08 230.372 internal_count=2200 1107 1093 1086 63 1061 52 43 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=22 num_leaves=12 num_cat=0 split_feature=12 1 12 3 2 1 4 3 3 1 13 split_gain=1335.86 31.2087 13.63 5.32794 3.42407 1.48283 1.31064 0.660552 0.546165 1.06434 0.0107656 threshold=4.8980530291692244 1.1058192561221138 5.1170890668050761 0.17408222448223767 1.2266574521666753 1.0023056708553677 0.36291089430411749 1.1948510833126798 1.2471304352583659 1.1954219695798878 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 9 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 10 -11 -12 leaf_value=0.0071087568700500597 -0.010141196349297022 -0.0084901143791679522 -0.011557410806523874 0.016697708489290402 0.0010011038916378249 0.012198005659220759 -0.010902266455150317 0.012971930881938354 -0.017160404224393477 -0.016292863576766334 -0.016695490995145605 leaf_weight=6.2024004757404319 6.1784661114215833 5.1933412849903098 5.3359698653221121 242.3798845410347 4.9818229973316193 7.8065873384475699 4.8472914546728161 4.8538280576467505 5.0952201485633841 14.988107040524481 221.70927146077156 leaf_count=25 25 21 22 1009 20 32 20 20 21 62 923 internal_value=0 0.0157838 -0.0159817 0.0162664 -0.0051674 0.0164891 -0.0164607 0.0166246 -0.0165668 -0.0149755 -0.0167059 internal_weight=0 266.436 263.136 261.243 11.1603 255.04 251.976 247.234 246.64 19.8354 226.804 internal_count=2200 1107 1093 1086 45 1061 1048 1029 1026 82 944 is_linear=0 shrinkage=0.01 Tree=23 num_leaves=12 num_cat=0 split_feature=12 1 13 3 3 0 13 3 3 0 4 split_gain=1313.49 30.7089 13.4977 5.27441 3.05717 1.47559 1.26656 0.687494 0.162918 0.0861673 0.000231623 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0070421476217069059 -0.003398665052775229 -0.0084128180450268077 -0.013761584291278644 0.014816113758440367 -0.012534837595062033 0.01663325830273259 0.010239666777364896 -0.015566942246070985 0.016591204031915018 -0.016652213695559789 -0.016581992252701069 leaf_weight=6.1984762549400321 9.7032227963209134 5.1886702626943579 9.2084841132163984 5.2860990762710562 5.8833601772785178 5.5136238187551481 7.0731168240308762 8.6542383730411512 236.32626016438007 4.7978267669677725 224.05741658806801 leaf_count=25 39 21 38 22 24 23 29 36 987 20 936 internal_value=0 0.0156762 -0.0158723 0.0161562 -0.00684723 0.0163785 0.0130404 -0.0164425 0.0165524 -0.0165464 -0.0165835 internal_weight=0 265.586 262.305 260.398 15.5866 254.199 12.5867 246.718 241.612 237.509 228.855 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=24 num_leaves=12 num_cat=0 split_feature=12 1 13 3 4 1 0 3 3 0 4 split_gain=1291.63 30.2211 13.3585 5.22305 3.03698 1.46854 0.748698 0.68366 0.6561 0.0857566 0.000220361 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 0.42636365958866435 1.0023056708553677 1.1305001193370379 1.2103584781205146 1.1948510833126798 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 6 8 -2 -4 -5 -9 -11 right_child=2 -3 7 5 -6 -7 -8 9 -10 10 -12 leaf_value=0.0069762937221570179 -0.012406775479003644 -0.0083364502987766913 -0.01365763742538215 0.016479067400945967 -0.00031801350401472125 0.011991267990841324 -0.0070957920975750644 -0.015459506364873418 0.012756520038594484 -0.016542359428488144 -0.016473749473888556 leaf_weight=6.1944380402564994 5.4075405001640302 5.1838640570640555 9.1858959794044477 240.72968372702599 4.9534323364496222 7.7739269584417334 5.213369682431221 8.6273715049028379 4.8296548724174491 4.7814730256795874 223.27821610867977 leaf_count=25 22 21 38 1009 20 32 21 36 20 20 936 internal_value=0 0.015571 -0.0157654 0.0160486 -0.00678413 0.0162704 -0.00979983 -0.0163343 0.0164059 -0.0164382 -0.0164752 internal_weight=0 264.712 261.447 259.528 15.5743 253.333 10.6209 245.873 245.559 236.687 228.06 internal_count=2200 1107 1093 1086 63 1061 43 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=25 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 4 split_gain=1270.26 29.7448 13.2276 5.17372 3.01376 3.12892 1.46401 1.2541 0.680132 0.162555 0.0853878 0.000209715 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0069111814730683776 -0.015443598847914755 -0.008260993276483523 -0.013555457427727145 0.014598831769498789 -0.00075128731627198463 -0.0043014306538640083 0.016421067677862309 0.010041326905256314 -0.015354255311559919 0.016377609158082146 -0.016435025958862499 -0.016367975707556819 leaf_weight=6.1902903020381919 5.1255787611007673 5.1789270490407935 9.1627035140991193 5.2525591701269141 5.4792560189962378 4.9584710299968719 5.4759331345558149 7.0458744764328003 8.5997842103242856 234.66988161206245 4.764657035470008 222.47787921130657 leaf_count=25 21 21 38 22 22 20 23 29 36 987 20 936 internal_value=0 0.0154681 -0.0156607 0.0159432 -0.00672109 -0.00996484 0.0161647 0.0128313 -0.0162285 0.0163387 -0.0163324 -0.0163694 internal_weight=0 263.813 260.568 258.635 15.5633 10.084 252.444 12.5218 245.005 239.922 235.842 227.243 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=26 num_leaves=12 num_cat=0 split_feature=12 1 12 3 2 1 4 3 3 1 13 split_gain=1249.38 29.2798 13.1152 5.12637 3.33134 1.45629 1.29496 0.652493 0.534952 1.05961 0.01284 threshold=4.8980530291692244 1.1058192561221138 5.1170890668050761 0.17408222448223767 1.2266574521666753 1.0023056708553677 0.36291089430411749 1.1948510833126798 1.2471304352583659 1.1954219695798878 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 9 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 10 -11 -12 leaf_value=0.0068467980129736407 -0.0098582819332123303 -0.0081864254223598318 -0.01113532192645194 0.01627027728083711 0.0011447490929762921 0.011790823822484324 -0.010472116046766787 0.012548072595597894 -0.016778123029031061 -0.015879624864869626 -0.016267657861578494 leaf_weight=6.1860371381044379 6.1545516252517682 5.1738645583391181 5.2817882895469657 238.98870512843132 4.9767140001058578 7.7394594848155966 4.7975623160600689 4.8041793704032889 5.0411995500326148 14.810117691755293 218.60210698843002 leaf_count=25 25 21 22 1009 20 32 20 20 21 62 923 internal_value=0 0.0153673 -0.0155583 0.0158402 -0.0049389 0.0160614 -0.0160339 0.0161969 -0.0161403 -0.0145565 -0.0162792 internal_weight=0 262.892 259.664 257.718 11.1313 251.532 248.533 243.793 243.251 19.6077 223.643 internal_count=2200 1107 1093 1086 45 1061 1048 1029 1026 82 944 is_linear=0 shrinkage=0.01 Tree=27 num_leaves=13 num_cat=0 split_feature=12 1 13 3 4 0 13 0 3 3 0 4 split_gain=1228.95 28.8255 12.9936 5.08086 2.98092 1.45432 1.24296 0.73532 0.677666 0.162376 0.0858657 0.000349134 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 0.42636365958866435 1.0188919694060079 0.46553849925547169 1.1305001193370379 1.2103584781205146 0.52015392592939824 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 7 9 -7 -2 -4 -5 -10 -12 right_child=2 -3 8 5 -6 6 -8 -9 10 -11 11 -13 leaf_value=0.0067831289058954813 -0.012175027934985641 -0.0081127303533345945 -0.013348884461849174 0.014389745354983774 -0.00018094503960358052 0.016218307131226458 0.0098482944332294528 -0.0069038273842369317 -0.015144244934141739 0.016173548757371436 -0.016250700575242381 -0.016163904159509277 leaf_weight=6.1816819012165061 5.3851976096630079 5.1686809659004203 9.1126460880041105 5.2173266261816016 4.9453216344118109 5.4362875223159772 7.0173102766275406 5.2035607248544693 8.5408397912979108 232.92809803783894 4.733694687485694 220.81995137035847 leaf_count=25 22 21 38 22 20 23 29 21 36 987 20 936 internal_value=0 0.0152687 -0.015458 0.0157393 -0.00659094 0.0159603 0.012629 -0.00958464 -0.0160243 0.0161345 -0.0161285 -0.0161657 internal_weight=0 261.949 258.741 256.781 15.5341 250.599 12.4536 10.5888 243.207 238.145 234.094 225.554 internal_count=2200 1107 1093 1086 63 1061 52 43 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=28 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 4 split_gain=1208.97 28.3817 12.8765 5.03717 2.95428 1.44592 0.674904 0.649669 0.0855867 0.000332577 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 0.36779881615355986 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0067201624134883668 -0.0031420402358791084 -0.008039888366192946 -0.013251803242648453 0.016070727722141118 -0.012147673424270783 0.011596298032597461 -0.015045252797668524 0.012346153306681618 -0.016149947669597202 -0.016065072623556172 leaf_weight=6.1772294342517844 9.6824381798505765 5.1633812785148612 9.0877352803945524 237.16363669931889 5.8396723419427863 7.7033193111419669 8.5112129896879178 4.7774984985589972 4.7156843245029441 219.96094167232513 leaf_count=25 39 21 38 1009 24 32 36 20 20 936 internal_value=0 0.0151722 -0.0153597 0.0156407 -0.00653011 0.0158614 -0.0159254 0.0159972 -0.0160296 -0.0160669 internal_weight=0 260.985 257.798 255.822 15.5221 249.644 242.276 241.941 233.188 224.677 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=29 num_leaves=11 num_cat=0 split_feature=1 12 10 3 12 13 3 1 0 3 split_gain=1189.59 25.6581 14.593 4.98372 2.30865 2.22234 0.902521 1.06941 0.137552 0.095234 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 4.6533632910829281 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.0253804391042192 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 8 -2 7 -7 -5 -8 right_child=2 -3 -4 4 -6 6 9 -9 -10 -11 leaf_value=0.0066578859481139906 -0.010234017013861148 -0.0065622386226324948 -0.00030984139718995724 0.015977419217297964 0.010756077471672188 -0.010273527855254696 -0.014943786317214085 -0.016483680072728164 0.014399381244907897 -0.015984527787676745 leaf_weight=6.1726827174425116 7.3659508973360053 5.3660262972116461 6.3627084642648688 233.90985305607319 8.9099257588386518 6.2244560867547971 9.1537593752145749 5.0007205009460449 5.6573036164045325 222.7101958990097 leaf_count=25 30 22 26 999 37 26 39 21 24 951 internal_value=0 0.0150778 -0.0152655 0.0155338 0.0157543 -0.0156454 -0.0158094 -0.0130401 0.0159402 -0.0159434 internal_weight=0 260.016 256.818 254.65 248.477 250.455 243.089 11.2252 239.567 231.864 internal_count=2200 1107 1093 1085 1060 1067 1037 47 1023 990 is_linear=0 shrinkage=0.01 Tree=30 num_leaves=12 num_cat=0 split_feature=1 12 10 3 13 13 4 3 1 3 1 split_gain=1170.44 25.2761 14.4163 4.94311 2.30366 2.21743 1.90698 0.899824 1.058 0.0946487 0.00263552 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 0.46553849925547169 0.78123321994831596 0.40921209589540597 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.9791112189391441 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 -2 -6 8 -7 -9 -5 right_child=2 -3 -4 4 6 7 -8 9 -10 -11 -12 leaf_value=0.0065962870222862858 -0.010142085445647556 -0.0065023699642583199 -0.00030674909141308889 0.015877938886229077 0.006537208181894039 -0.010192048906686528 0.014536613098847928 -0.01485015901577804 -0.016378005595896836 -0.015889649663651077 0.016092387452787349 leaf_weight=6.1680462211370459 7.3584290444850913 5.3613017350435248 6.3625849038362494 228.9503103941679 4.7994125634431821 6.2115392088890058 7.8615769296884537 9.1195288151502591 4.9827461838722229 221.80415213108063 5.8780019432306281 leaf_count=25 30 22 26 982 20 26 33 39 21 951 25 internal_value=0 0.0149848 -0.0151709 0.0154389 0.0156593 -0.01555 0.0115043 -0.0157144 -0.0129455 -0.0158486 0.0158833 internal_weight=0 259.019 255.839 253.657 247.489 249.476 12.661 242.118 11.1943 230.924 234.828 internal_count=2200 1107 1093 1085 1060 1067 53 1037 47 990 1007 is_linear=0 shrinkage=0.01 Tree=31 num_leaves=11 num_cat=0 split_feature=1 12 10 3 12 13 3 1 0 3 split_gain=1151.7 24.9028 14.2442 4.90402 2.29652 2.21306 0.897402 1.04707 0.136697 0.0941102 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 4.6533632910829281 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.0253804391042192 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 8 -2 7 -7 -5 -8 right_child=2 -3 -4 4 -6 6 9 -9 -10 -11 leaf_value=0.0065353540681057191 -0.010051390609972406 -0.006443128021058446 -0.00030368735686661446 0.015790182520000105 0.010572850881120133 -0.010111553313654167 -0.014758304364311008 -0.016274714753239709 0.014211413533048951 -0.015796825488742991 leaf_weight=6.1633225530385962 7.3506158441305152 5.3565148413181296 6.3624621033668509 231.98789843916893 8.8785536587238294 6.1984437853097898 9.0846998095512372 4.9643188118934631 5.6170860826969138 220.88105882704258 leaf_count=25 30 22 26 999 37 26 39 21 24 951 internal_value=0 0.0148936 -0.0150783 0.015346 0.0155663 -0.0154566 -0.0156214 -0.0128524 0.0157529 -0.0157558 internal_weight=0 258.003 254.842 252.647 246.484 248.479 241.129 11.1628 237.605 229.966 internal_count=2200 1107 1093 1085 1060 1067 1037 47 1023 990 is_linear=0 shrinkage=0.01 Tree=32 num_leaves=12 num_cat=0 split_feature=1 12 10 3 13 13 4 3 1 3 1 split_gain=1133.35 24.5381 14.0767 4.86647 2.29308 2.2092 1.88289 0.895243 1.03662 0.0936161 0.00247961 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 0.46553849925547169 0.78123321994831596 0.40921209589540597 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.9791112189391441 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 -2 -6 8 -7 -9 -5 right_child=2 -3 -4 4 6 7 -8 9 -10 -11 -12 leaf_value=0.0064750753297872854 -0.0099619011765331618 -0.0063845022664074224 -0.00030065617740544575 0.015694862597534182 0.0063781095811754097 -0.010032016604326675 0.014343346950358668 -0.014668169955524217 -0.016173731093009056 -0.015705992966348784 0.015903694693643534 leaf_weight=6.1585161834955207 7.3425216525793067 5.3516683727502814 6.3623404651880255 227.02435439825058 4.782684847712515 6.1851776540279371 7.8205690532922745 9.0492968708276731 4.9454557746648788 219.94159695506096 5.8318297415971747 leaf_count=25 30 22 26 982 20 26 33 39 21 951 25 internal_value=0 0.0148043 -0.0149875 0.0152549 0.0154752 -0.0153651 0.0113207 -0.0155304 -0.0127608 -0.015665 0.0157001 internal_weight=0 256.97 253.826 251.618 245.459 247.464 12.6033 240.122 11.1306 228.991 232.856 internal_count=2200 1107 1093 1085 1060 1067 53 1037 47 990 1007 is_linear=0 shrinkage=0.01 Tree=33 num_leaves=11 num_cat=0 split_feature=1 12 10 3 12 13 3 1 0 3 split_gain=1115.39 24.1815 13.9136 4.83032 2.2868 2.20583 0.893339 1.0266 0.136033 0.0931656 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 4.6533632910829281 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.0253804391042192 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 8 -2 7 -7 -5 -8 right_child=2 -3 -4 4 -6 6 9 -9 -10 -11 leaf_value=0.0064154400226412471 -0.0098735873514293818 -0.0063264828996802804 -0.00029765557317494975 0.015610890517322829 0.010394420561254822 -0.0099534152429504533 -0.014579702605608487 -0.016074984349491239 0.014030070286307525 -0.015617095603055924 leaf_weight=6.153630092740058 7.3341563791036597 5.3467651903629294 6.3622196316719046 229.99747833609581 8.845783203840254 6.1717486530542356 9.0133442580699903 4.9261732697486877 5.5754916518926612 218.98643279075623 leaf_count=25 30 22 26 999 37 26 39 21 24 951 internal_value=0 0.0147167 -0.0148986 0.0151657 0.015386 -0.0152755 -0.0154412 -0.0126707 0.0155735 -0.0155761 internal_weight=0 255.919 252.794 250.572 244.419 246.432 239.098 11.0979 235.573 228 internal_count=2200 1107 1093 1085 1060 1067 1037 47 1023 990 is_linear=0 shrinkage=0.01 Tree=34 num_leaves=13 num_cat=0 split_feature=12 1 13 3 2 0 0 13 3 3 0 3 split_gain=1097.84 26.4455 12.279 4.8124 2.97928 3.0768 1.39319 1.18926 0.661635 0.164185 0.0879762 0.000453844 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0.46553849925547169 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.2433743438056273 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0063564376908034582 -0.014896709203867646 -0.0078107250782194137 -0.012705422114564033 0.013710103716618703 -0.00022720662431414357 -0.0037924081674566537 0.015592473305927454 0.0092944964039633048 -0.014470855755102657 0.015527981900798644 -0.015593672150112019 -0.01551609765037072 leaf_weight=6.1486676335334769 5.0571343898773176 5.144815891981124 8.9285316169261915 5.0798093974590293 5.4544805437326422 4.9256474375724792 5.2892335653305036 6.9222977757453918 8.3139996379613859 226.26210869848728 7.8209017366170874 211.24948072433472 leaf_count=25 21 21 38 22 22 20 23 29 36 987 34 922 internal_value=0 0.0146313 -0.0148112 0.0150937 -0.0061704 -0.00941769 0.0153143 0.0120224 -0.0153757 0.0154881 -0.0154805 -0.0155189 internal_weight=0 254.847 251.75 249.702 15.4373 9.98278 243.553 12.2115 236.313 231.342 227.384 219.07 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 is_linear=0 shrinkage=0.01 Tree=35 num_leaves=12 num_cat=0 split_feature=1 12 10 3 13 13 4 3 1 3 1 split_gain=1080.77 23.4819 13.6425 4.76338 2.26027 2.17284 1.86252 0.888735 1.02078 0.0934937 0.00224876 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 0.46553849925547169 0.78123321994831596 0.40921209589540597 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.9791112189391441 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 -2 -6 8 -7 -9 -5 right_child=2 -3 -4 4 6 7 -8 9 -10 -11 -12 leaf_value=0.0062980567603544745 -0.009735623310680501 -0.0062123136337797445 -0.00026086816355169246 0.015434658336723493 0.0061470120832667107 -0.0097827144396276794 0.01409627744476185 -0.014402069284981028 -0.015906242319845543 -0.01544570170546725 0.015634784276224199 leaf_weight=6.1436321586370459 7.3152220100164405 5.3337956070899954 6.3536629229784003 224.01743078231812 4.7547466903924924 6.1403817832469922 7.7543435394763947 8.9374318122863752 4.8903152942657471 217.03767235577106 5.7591841816902152 leaf_count=25 30 22 26 982 20 26 33 39 21 951 25 internal_value=0 0.0145481 -0.0147272 0.0149938 0.0152143 -0.0151035 0.0110747 -0.0152691 -0.0124975 -0.0154044 0.0154397 internal_weight=0 253.763 250.675 248.429 242.286 244.321 12.5091 237.006 11.0307 225.975 229.777 internal_count=2200 1107 1093 1085 1060 1067 53 1037 47 990 1007 is_linear=0 shrinkage=0.01 Tree=36 num_leaves=12 num_cat=0 split_feature=1 12 10 3 13 13 4 3 1 3 1 split_gain=1063.91 23.1486 13.4909 4.73116 2.25586 2.17118 1.83813 0.887587 1.0117 0.0931367 0.00214769 threshold=1.0652111417665497 4.9554982271603158 2.5000000000000004 0.17408222448223767 0.46553849925547169 0.78123321994831596 0.40921209589540597 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.9791112189391441 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 -2 -6 8 -7 -9 -5 right_child=2 -3 -4 4 6 7 -8 9 -10 -11 -12 leaf_value=0.0062402881129497538 -0.009650250714726397 -0.0061560541936616789 -0.00025826379322888281 0.01535142185427537 0.0060933746793718083 -0.0097069758348619258 0.013998144132081921 -0.014318417693110047 -0.015813347979404053 -0.015362255931970641 0.015547432298029787 leaf_weight=6.1385266482830039 7.3061831444501868 5.3287406414747229 6.3535550236701956 222.98492367565632 4.7486652135848981 6.1264789104461652 7.7307362705469131 8.8999378532171232 4.8699546009302139 216.03943119943142 5.7337537407875052 leaf_count=25 30 22 26 982 20 26 33 39 21 951 25 internal_value=0 0.0144655 -0.0146433 0.0149098 0.0151304 -0.0150191 0.0109902 -0.0151853 -0.0124113 -0.015321 0.0153563 internal_weight=0 252.665 249.596 247.337 241.198 243.242 12.4794 235.936 10.9964 224.939 228.719 internal_count=2200 1107 1093 1085 1060 1067 53 1037 47 990 1007 is_linear=0 shrinkage=0.01 Tree=37 num_leaves=11 num_cat=0 split_feature=10 1 1 3 12 13 3 1 0 3 split_gain=1047.42 15.9856 15.5938 4.71314 2.32845 2.16992 0.886656 1.00299 0.13556 0.0928172 threshold=2.5000000000000004 1.0797383065324315 1.0652111417665497 0.17408222448223767 4.6533632910829281 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.0253804391042192 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=2 3 -1 -2 8 -4 7 -7 -5 -8 right_child=1 -3 5 4 -6 6 9 -9 -10 -11 leaf_value=-0.0002363489716209451 0.0061831216859327296 -0.001864088614129053 -0.0095659530108374562 0.015275370527379546 0.0095250479416746671 -0.0096320837059176052 -0.014236245700153952 -0.015722444113188312 0.013684677623644243 -0.01528052954203651 leaf_weight=7.4379543811082831 6.1333540827035895 5.8674806505441657 7.2969080805778495 225.61741073429585 7.3625218719243994 6.1124436110258085 8.8619858622550947 4.8492341935634613 5.4877837300300589 215.02802237868309 leaf_count=31 25 24 30 998 31 26 39 21 24 951 internal_value=0 0.0144473 -0.0144983 0.0148386 0.0150612 -0.0149364 -0.0151032 -0.0123263 0.0152376 -0.0152392 internal_weight=0 250.469 249.587 244.601 238.468 242.149 234.852 10.9617 231.105 223.89 internal_count=2200 1102 1098 1078 1053 1067 1037 47 1022 990 is_linear=0 shrinkage=0.01 Tree=38 num_leaves=13 num_cat=1 split_feature=12 1 13 3 2 0 0 5 3 3 0 3 split_gain=1031.34 25.2303 11.8984 4.68995 2.95608 3.03048 1.35694 1.17156 0.65701 0.164946 0.0894737 0.000620274 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0061265469838921996 -0.014668971422214941 -0.0076435336043052318 -0.012367825273811126 0.013362700555130565 -3.8217742617635405e-05 -0.0036213396009749646 0.008084184821938397 0.014389980841105246 -0.014124463680729072 0.015200183593098273 -0.015272641140590567 -0.015186983987875019 leaf_weight=6.1281181871891013 5.0227088481187803 5.1296839118003836 8.8138324469327909 4.9951976537704459 5.4422395378351203 4.9104685336351395 5.1122385710477829 6.9544137865304929 8.172488257288931 222.11408530175686 8.8152518421411497 206.22259375452995 leaf_count=25 21 21 38 22 22 20 22 30 36 987 39 917 internal_value=0 0.0143058 -0.0144812 0.0147648 -0.00596201 -0.00920757 0.0149861 0.0117184 -0.0150457 0.0151598 -0.0151515 -0.0151905 internal_weight=0 250.434 247.4 245.304 15.3754 9.93318 239.176 12.0667 232.024 227.109 223.21 215.038 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=39 num_leaves=11 num_cat=0 split_feature=10 1 1 3 12 13 3 1 0 3 split_gain=1015.62 15.5537 15.231 4.65594 2.30009 2.14267 0.884053 0.998915 0.133428 0.0933491 threshold=2.5000000000000004 1.0797383065324315 1.0652111417665497 0.17408222448223767 4.6533632910829281 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.0253804391042192 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=2 3 -1 -2 8 -4 7 -7 -5 -8 right_child=1 -3 5 4 -6 6 9 -9 -10 -11 leaf_value=-0.0002326893331903008 0.0060705549335740598 -0.0018092385896275329 -0.0094338717789449172 0.015117352292925471 0.009389476835357121 -0.0094688361811075955 -0.014070794535024281 -0.015567460136760967 0.013533203685556066 -0.015122830155798133 leaf_weight=7.4224927276372901 6.1228211969137183 5.8588287681341162 7.2764604687690726 223.45805138349533 7.3313418477773658 6.0797248780727369 8.7821001261472684 4.811044842004776 5.4464668333530417 212.97462657094002 leaf_count=31 25 24 30 998 31 26 39 21 24 951 internal_value=0 0.0142907 -0.014341 0.0146799 0.0149031 -0.0147774 -0.0149446 -0.0121629 0.0150797 -0.0150812 internal_weight=0 248.218 247.346 242.359 236.236 239.924 232.647 10.8908 228.905 221.757 internal_count=2200 1102 1098 1078 1053 1067 1037 47 1022 990 is_linear=0 shrinkage=0.01 Tree=40 num_leaves=13 num_cat=1 split_feature=12 1 13 3 2 0 0 5 3 3 0 3 split_gain=1000.11 24.5961 11.7104 4.63516 2.90537 2.99369 1.34383 1.1641 0.656032 0.164973 0.0899129 0.000655665 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0060151370816994947 -0.014535064565878011 -0.0075382209925100151 -0.012205552542156139 0.013200338414150184 4.8489835095299537e-06 -0.0035398025133881262 0.0079390791268492307 0.014243082838830358 -0.01396261287012604 0.015045921664736861 -0.015120885753288823 -0.015032409929530933 leaf_weight=6.1174660921096793 5.0019654929637891 5.1199500858783713 8.7544050514698011 4.9523858278989783 5.4388040453195563 4.9040276855230331 5.0859008431434631 6.9078871458768827 8.1001110821962339 219.9623247385025 8.7341573238372785 204.21204897761345 leaf_count=25 21 21 38 22 22 20 22 30 36 987 39 917 internal_value=0 0.0141525 -0.0143256 0.0146094 -0.00586758 -0.00909179 0.0148314 0.0115699 -0.0148904 0.0150053 -0.0149967 -0.015036 internal_weight=0 248.146 245.146 243.026 15.3448 9.90599 236.908 11.9938 229.801 224.915 221.046 212.946 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=41 num_leaves=12 num_cat=0 split_feature=10 1 1 0 3 13 4 13 3 0 1 split_gain=985.071 15.141 14.9042 5.45997 4.60297 2.28126 2.24089 1.21505 0.622254 0.0724431 0.00365673 threshold=2.5000000000000004 1.0797383065324315 1.0880563133346253 1.1135288793191862 0.17408222448223767 0.46553849925547169 0.4118824176054639 0.78123321994831596 1.2103584781205146 1.1305001193370379 0.98578357518082749 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 10 -7 -4 -9 -10 -6 right_child=1 -3 7 -5 5 6 -8 8 9 -11 -12 leaf_value=0.0053669574370391205 0.0059602829415018356 -0.0017554801126575415 -0.010191728272840647 -0.009123900355666419 0.014961264178394756 0.005313684295874214 0.01449585056888127 -0.012242699401015784 -0.014027726012243958 -0.014967206790854766 0.015248941007833076 leaf_weight=4.774906322360037 6.112055853009223 5.8500436693429938 5.8026264607906333 5.7089991122484207 218.75746859610081 4.9562410861253721 5.7313431650400162 8.9632249325513822 8.5394493788480741 211.26758454740047 4.5096678733825675 leaf_count=20 25 24 24 24 987 21 25 39 38 953 20 internal_value=0 0.0141399 -0.0141894 -0.00252402 0.0145272 0.014751 0.0102377 -0.0147108 -0.0148254 -0.0149307 0.0149671 internal_weight=0 245.917 245.057 10.4839 240.067 233.955 10.6876 234.573 228.77 219.807 223.267 internal_count=2200 1102 1098 44 1078 1053 46 1054 1030 991 1007 is_linear=0 shrinkage=0.01 Tree=42 num_leaves=12 num_cat=0 split_feature=10 1 1 0 3 13 4 13 3 0 1 split_gain=970.108 14.9662 14.7629 5.35739 4.57725 2.27925 2.21486 1.21774 0.622701 0.072699 0.00349716 threshold=2.5000000000000004 1.0797383065324315 1.0880563133346253 1.1135288793191862 0.17408222448223767 0.46553849925547169 0.4118824176054639 0.78123321994831596 1.2103584781205146 1.1305001193370379 0.98578357518082749 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 10 -7 -4 -9 -10 -6 right_child=1 -3 7 -5 5 6 -8 8 9 -11 -12 leaf_value=0.0053144391312628901 0.0059059858063509364 -0.0017381775470146263 -0.010107947092820231 -0.0090449129526898198 0.014887591539262312 0.0052654981822712289 0.01440431444544866 -0.012162999183878271 -0.013950171680306158 -0.014893433943248949 0.015169599774369802 leaf_weight=4.7738769799470884 6.1065930873155585 5.8491991609334937 5.7922670245170584 5.7013048082590103 217.64717996120453 4.9516044557094556 5.7101930230855942 8.9318954497575742 8.5012457221746427 210.19630464911461 4.488030567765235 leaf_count=20 25 24 24 24 987 21 25 39 38 953 20 internal_value=0 0.0140654 -0.0141147 -0.00250089 0.0144523 0.0146765 0.01016 -0.0146359 -0.0147511 -0.0148568 0.0148933 internal_weight=0 244.753 243.897 10.4752 238.904 232.797 10.6618 233.422 227.629 218.698 222.135 internal_count=2200 1102 1098 44 1078 1053 46 1054 1030 991 1007 is_linear=0 shrinkage=0.01 Tree=43 num_leaves=13 num_cat=1 split_feature=12 1 13 3 2 0 0 5 3 3 0 1 split_gain=955.516 23.7152 11.4448 4.56058 2.83054 2.99299 1.32397 1.15889 0.657291 0.165668 0.0900349 0.000620912 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0058522352576830736 -0.014383780431101984 -0.0073934987791218973 -0.011966852768458396 0.012963699699720218 6.4188107934300904e-05 -0.0033675205056462811 0.0077223040426921694 0.014040857819146775 -0.013733891182685413 0.014825808490015231 -0.014924576380542485 -0.014812679336741708 leaf_weight=6.1010804027318946 4.9759978204965574 5.1055364757776251 8.6625890880823118 4.8855577409267417 5.4335799217224112 4.8897504061460495 5.0443655848503113 6.8370060026645643 7.9909458458423606 216.65235105156898 5.0821407139301291 204.64324186742306 leaf_count=25 21 21 38 22 22 20 22 30 36 987 23 933 internal_value=0 0.0139327 -0.0141025 0.0143872 -0.0057317 -0.0089238 0.0146103 0.0113582 -0.0146682 0.0147847 -0.0147757 -0.0148154 internal_weight=0 244.626 241.678 239.52 15.2993 9.86575 233.419 11.8814 226.379 221.538 217.716 209.725 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=44 num_leaves=12 num_cat=0 split_feature=10 1 1 3 13 4 13 3 0 3 1 split_gain=941.324 14.5798 14.4687 4.53008 2.26136 2.18427 2.08343 0.882458 1.00544 0.0959709 0.00335549 threshold=2.5000000000000004 1.0797383065324315 1.0652111417665497 0.17408222448223767 0.46553849925547169 0.4118824176054639 0.78123321994831596 1.2190084357665867 1.2748487141050349 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=2 3 -1 -2 10 -6 -4 8 -8 -9 -5 right_child=1 -3 6 4 5 -7 7 9 -10 -11 -12 leaf_value=-0.0001858760080851368 0.0057990239289880379 -0.0016858819207618346 -0.0091178508893491588 0.014744997582540546 0.0051573341317805955 0.014257820631513081 -0.0090462737060864884 -0.013676072788115239 -0.015217753278690592 -0.014755792935285313 0.015022541455312401 leaf_weight=7.3807658553123465 6.09552077949047 5.8403158634901038 7.220558136701583 215.40339580178261 4.9341124892234784 5.6660662591457367 5.9777121692895872 8.5720487087964994 4.7276327162981033 207.65823550522327 4.4459609538316718 leaf_count=31 25 24 30 987 21 25 26 39 21 951 20 internal_value=0 0.0139227 -0.0139715 0.014308 0.0145331 0.0100218 -0.014406 -0.0145742 -0.0117717 -0.014713 0.0147506 internal_weight=0 242.385 241.537 236.545 230.45 10.6002 234.156 226.936 10.7053 216.23 219.849 internal_count=2200 1102 1098 1078 1053 46 1067 1037 47 990 1007 is_linear=0 shrinkage=0.01 Tree=45 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 1 3 3 0 1 split_gain=927.22 23.1408 11.2814 4.51534 2.78067 2.95706 1.31493 0.658487 0.635199 0.0906864 0.000702847 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0057463441430227781 -0.014257226201427472 -0.0072929620148901707 -0.011813738730814868 0.01468336308558725 0.00010134458324610956 -0.0032911636477377603 0.010316552067102261 -0.013584962685493083 0.010895594757193514 -0.014792299681651286 -0.0146726744505963 leaf_weight=6.089916080236434 4.9537262469530088 5.0953040570020667 8.600084260106085 219.1437573581934 5.4299528300762168 4.8827880322933197 7.3795312345027915 7.9150910675525656 4.5186297148466101 5.0335984379053107 202.49963170289993 leaf_count=25 21 21 38 1009 22 20 32 36 20 23 933 internal_value=0 0.0137927 -0.0139604 0.0142458 -0.00564283 -0.00881374 0.0144698 -0.0145272 0.0146068 -0.0146355 -0.0146756 internal_weight=0 242.227 239.315 237.132 15.2665 9.83651 231.042 224.048 223.662 215.448 207.533 internal_count=2200 1107 1093 1086 63 41 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=46 num_leaves=12 num_cat=1 split_feature=10 1 1 0 3 13 9 13 3 0 1 split_gain=913.601 14.2049 14.1824 5.15311 4.48625 2.24599 2.65507 1.20223 0.625639 0.073732 0.00342422 threshold=2.5000000000000004 1.0797383065324315 1.0880563133346253 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2103584781205146 1.1305001193370379 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=2 4 3 -1 -2 10 -7 -4 -9 -10 -6 right_child=1 -3 7 -5 5 6 -8 8 9 -11 -12 leaf_value=0.0052583936816318726 0.005694187683512493 -0.0016313770274506128 -0.0098390504732192349 -0.0088641180910842814 0.01460761181002777 0.014192786594863902 0.00403540760178955 -0.01185628041560698 -0.013654752196202885 -0.014613601476270595 0.014889277504590641 leaf_weight=4.7520982325077039 6.0842689126729956 5.8317565023899069 5.7534455209970465 5.6623337417840958 213.11901924014091 6.069320395588873 4.4678062200546265 8.8042842745780927 8.3447851836681348 205.82767124474049 4.405340462923049 leaf_count=20 25 24 24 24 987 27 19 39 38 953 20 internal_value=0 0.0137848 -0.0138327 -0.00242003 0.0141688 0.0143949 0.009886 -0.0143524 -0.0144688 -0.0145762 0.0146133 internal_weight=0 239.978 239.145 10.4144 234.146 228.061 10.5371 228.73 222.977 214.172 217.524 internal_count=2200 1102 1098 44 1078 1053 46 1054 1030 991 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=47 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=900.016 14.0624 14.0498 4.46494 2.24535 2.62499 2.06091 0.883983 1.01218 0.0973105 0.00327828 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=-0.00015756483126058344 0.0056425461679088223 -0.0089273705811329235 -0.0016152972598001396 0.014540796927048861 0.014108388142811425 0.0039979107003320878 -0.0088078110146168048 -0.013456501306116385 -0.015035811731427935 -0.014552038691889781 0.014817108542133946 leaf_weight=7.3604466915130606 6.0785822570323935 7.1857379972934714 5.8309146165847769 211.96311961114407 6.0446950644254667 4.4646290987730026 5.9301008731126768 8.442809194326399 4.6602720022201538 204.35702927410603 4.3826431185007086 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0137643 0.0137167 0.0141005 0.0143271 0.0098132 -0.0141987 -0.0143682 -0.0115484 -0.0145086 0.0145464 internal_weight=0 237.936 238.765 232.934 226.855 10.5093 230.576 223.39 10.5904 212.8 216.346 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=48 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 1 split_gain=886.775 22.3496 11.0518 4.45403 2.75779 1.30398 1.15552 0.66097 0.168757 0.0915804 0.00086741 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0055914121855857634 -0.0022359453287878438 -0.0071575281377184554 -0.011591927980330461 0.012584915127077424 -0.011042621733656097 0.0073596644823563581 0.013721037515346726 -0.013371651671739206 0.014487335974569568 -0.014606336822153152 -0.014472469156782072 leaf_weight=6.0728576034307471 9.5527806282043439 5.0805349647998801 8.5047180801630002 4.7682161629199973 5.6641568839550009 4.9693270027637482 6.7127194255590421 7.7999269217252722 210.95972549915314 4.9608366638422003 199.22265942394733 leaf_count=25 39 21 38 22 24 22 30 36 987 23 933 internal_value=0 0.0135919 -0.0137566 0.0140434 -0.00551403 0.0142691 0.011015 -0.0143254 0.0144453 -0.0144351 -0.0144757 internal_weight=0 238.563 235.705 233.483 15.2169 227.41 11.682 220.488 215.728 211.983 204.183 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=49 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=873.839 13.8211 13.7052 5.00561 4.42588 2.23306 2.58891 1.20622 0.490529 1.34665 0.0138573 0.00314594 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.0052270881770817767 0.0055407804907221993 -0.0093488384053317004 -0.0015665317964023923 -0.0087176483679705687 0.014411351758612991 0.013971540938379585 0.0039038154928427611 -0.014544271242482419 -0.014960684601327174 -0.0092289387926573537 -0.01440839373444679 0.014683397770028117 leaf_weight=4.7390899211168271 6.0670975595712653 5.1081321388483039 5.8221953660249701 5.6349295377731323 209.63582473993301 5.9941996783018094 4.4506874084472656 14.906069323420526 4.6522458195686331 7.0070419907569876 193.44694742560387 4.3387289196252814 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.0136327 0.0135859 -0.00234737 0.0139686 0.0141965 0.00968157 -0.0141528 -0.0142643 -0.0128446 -0.0144214 0.0144169 internal_weight=0 235.494 236.309 10.374 230.487 224.419 10.4449 225.12 220.012 21.9131 198.099 213.975 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=50 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=861.03 21.7844 10.9339 4.41623 2.73279 1.3075 0.668872 0.627704 0.0914655 0.000929204 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0054906415400944883 -0.0021569465881005135 -0.007045617327823335 -0.011436096227628843 0.014357448011210236 -0.010936074848431071 0.0099681236368632173 -0.013240338931378499 0.010558855068467692 -0.014484935342668988 -0.014345677164413637 leaf_weight=6.0613043606281272 9.5385706126689893 5.0677590966224662 8.4347209483385068 213.23802387714386 5.6435609161853781 7.2674541771411887 7.7253006845712653 4.4408001303672782 4.9109177142381659 197.01121167838573 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0134638 -0.0136259 0.0139137 -0.00542036 0.0141406 -0.0141971 0.01428 -0.0143082 -0.0143491 internal_weight=0 236.075 233.264 231.008 15.1821 224.946 218.082 217.679 209.647 201.922 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=51 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=848.604 13.5798 13.37 4.87369 4.38955 2.22298 2.55901 1.20611 0.492595 1.34405 0.0135188 0.003203 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.0051771778263405253 0.0054409889944396373 -0.0092048403057527328 -0.0015156032114323581 -0.0086036784159270064 0.014286453658586841 0.013841453716589257 0.0038041897014049935 -0.014415299413128531 -0.014831508887219886 -0.0090838947657714501 -0.014283515284179328 0.014562301836947724 leaf_weight=4.7279189974069578 6.0554802417755118 5.0716851353645316 5.8138609528541556 5.6129892021417618 207.2770622074604 5.9436776638030988 4.435622900724411 14.779631301760675 4.6103365570306769 6.95320139825344 191.26800799369812 4.2966226637363425 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.0135054 0.0134594 -0.002303 0.0138412 0.0140704 0.009552 -0.0140256 -0.0141379 -0.0127096 -0.0142964 0.0142921 internal_weight=0 233.024 233.822 10.3409 228.008 221.953 10.3793 222.683 217.611 21.7328 195.878 211.574 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=52 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=836.225 21.24 10.823 4.3812 2.70822 1.305 0.67704 0.625652 0.0914554 0.000987884 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.005391817600513913 -0.0020795031819459257 -0.0069358189243296621 -0.011283960754445517 0.014235104108714368 -0.010831794907463055 0.0098359656742739426 -0.013112919979774887 0.010429249829324295 -0.014367882050377425 -0.01422354890052006 leaf_weight=6.0496270656585684 9.5240058153867704 5.0547204762697211 8.363784193992613 210.82190325856209 5.6225657165050498 7.2234769314527503 7.6499517709016791 4.4098043590784064 4.8604718893766394 194.77618761360645 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0133399 -0.0134995 0.0137885 -0.00532845 0.0140168 -0.0140734 0.0141571 -0.0141859 -0.0142271 internal_weight=0 233.56 230.797 228.505 15.1466 222.455 215.65 215.232 207.287 199.637 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=53 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=824.283 13.3679 13.0486 4.35586 2.21439 2.53031 2.00239 0.897916 1.02095 0.0995783 0.00325275 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=-6.5093982801294755e-05 0.0053431186743230219 -0.0085978793239182682 -0.0014657718914599309 0.01416612625592214 0.013715388364207048 0.003706271972861535 -0.0083389932939628899 -0.013052859171198064 -0.014670353860566913 -0.014178756124267325 0.014445500003008909 leaf_weight=7.2991260737180701 6.0437470674514762 7.1151257902383795 5.8054853975772849 204.89468233287334 5.8924704045057279 4.4204638004302979 5.8095275163650495 8.180617690086363 4.535038560628891 197.58861953020096 4.2540654838085166 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0133822 0.013337 0.0137181 0.0139488 0.00942515 -0.0138176 -0.0139895 -0.0111147 -0.014134 0.0141718 internal_weight=0 230.528 231.311 225.505 219.462 10.3129 223.229 216.114 10.3446 205.769 209.149 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=54 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=812.342 13.2669 12.9165 4.74226 4.3394 2.21601 2.50333 1.21352 0.497281 1.34849 0.0131553 0.00311831 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.0051536592329175339 0.0052948865752710638 -0.0089793671381063374 -0.0014513213669060485 -0.008465187612659868 0.014107525535696202 0.01363896178118521 0.0036718400892071443 -0.014232533907840957 -0.014649084035878984 -0.008858526929552378 -0.014104731784731791 0.014381833335392231 leaf_weight=4.7160325646400434 6.0378421097993842 5.0132888555526725 5.8046613186597815 5.5846021771430969 203.69434256851673 5.8663651645183545 4.4173125773668289 14.589529350399973 4.5469697415828696 6.8670365065336219 187.96051317453384 4.2302880138158789 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.013321 0.0132764 -0.00222995 0.0136576 0.013889 0.00935762 -0.0138427 -0.0139566 -0.0125126 -0.0141176 0.0141131 internal_weight=0 229.278 230.051 10.3006 224.246 218.208 10.2837 218.977 213.964 21.4566 192.507 207.925 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=55 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=800.744 20.5141 10.6494 4.3342 2.68636 1.29672 0.686651 0.619894 0.0922856 0.00115828 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0052471156409774214 -0.0019650360840498464 -0.0067963266438721293 -0.011069314563210387 0.014060157514015206 -0.010700276513609233 0.0096537517393115984 -0.012924430799492046 0.010252070779523814 -0.014205994065789873 -0.014048489829761611 leaf_weight=6.0319136828184119 9.4998446702957136 5.0371021032333365 8.2587637901306135 207.16067308187485 5.5934966504573813 7.1574658453464499 7.5327953249216071 4.3647474795579901 4.7857952266931525 191.38397693634033 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0131619 -0.0133181 0.0136093 -0.00520226 0.0138399 -0.013896 0.0139816 -0.0140106 -0.0140523 internal_weight=0 229.752 227.055 224.715 15.0933 218.683 211.961 211.525 203.703 196.17 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=56 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=789.312 13.0525 12.6137 4.3093 2.20953 2.47653 1.99478 0.90745 1.02128 0.100504 0.00316116 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=-2.7250135097973242e-05 0.0051997994785428258 -0.0084176686499686914 -0.001402883865302212 0.013993634308981663 0.01351861862991372 0.0035761841119101262 -0.0081202993614914506 -0.012866471602655116 -0.014493488341851719 -0.014006868835251565 0.01427124501508473 leaf_weight=7.2766958177089682 6.0259643942117682 7.0769636780023566 5.7962778359651557 201.28252986073494 5.8142479062080366 4.4020954966545105 5.7502565830945951 8.0484986603260023 4.4681390523910522 194.13062363862991 4.1871181130409232 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0132036 0.0131599 0.0135406 0.0137736 0.00923455 -0.0136405 -0.0138145 -0.0109071 -0.0139615 0.0139993 internal_weight=0 226.751 227.508 221.712 215.686 10.2163 219.474 212.398 10.2184 202.179 205.47 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=57 num_leaves=13 num_cat=1 split_feature=12 1 13 3 2 0 0 5 3 3 0 1 split_gain=778.094 20.0561 10.5399 4.30544 2.64804 2.99896 1.29512 1.17133 0.689671 0.176996 0.0933899 0.00122662 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0051529304410455994 -0.013801347490824484 -0.0067064985977341156 -0.010938483191900841 0.011957207754374066 0.0004944681998847809 -0.002661914767136861 0.0066990529982680989 0.013208379817324626 -0.012799861307751348 0.01395288134904726 -0.014099655653082598 -0.013936684142946663 leaf_weight=6.0199957340955725 4.851840063929556 5.0259408205747595 8.1921824216842634 4.5449562221765509 5.391127571463584 4.8155935108661652 4.8215632140636444 6.4794022738933545 7.4518135488033286 200.29705716669559 4.733985722064971 189.09608244895935 leaf_count=25 21 21 38 22 22 20 22 30 36 987 23 933 internal_value=0 0.0130476 -0.0132018 0.0134945 -0.005121 -0.00825251 0.0137268 0.0104312 -0.0137827 0.0139086 -0.0138984 -0.0139407 internal_weight=0 227.189 224.533 222.163 15.0586 9.66743 216.143 11.301 209.474 204.842 201.282 193.83 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=58 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=767.123 12.8348 12.3249 4.5714 4.28158 2.20184 2.44518 1.22375 0.503078 1.3605 0.0130164 0.00303098 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.0051118309285944968 0.0051065051493043682 -0.0086906848682820285 -0.001357538929370312 -0.0083004122355999979 0.01388400143356909 0.013400594963623532 0.0034923041225667583 -0.014007938761553793 -0.014427614794970973 -0.0085625348607591256 -0.013881086717526954 0.014157347205967476 leaf_weight=4.6929720193147642 6.0140095651149741 4.9331193864345542 5.7870215624570838 5.5425183027982712 198.85986778140068 5.7605600804090482 4.3877648115158081 14.334630608558657 4.4637871086597434 6.7480678856372824 183.49177034199238 4.141033023595809 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.0130903 0.0130472 -0.0021509 0.0134276 0.0136623 0.00911661 -0.0136136 -0.0137298 -0.012265 -0.0138941 0.0138896 internal_weight=0 224.207 224.95 10.2355 219.163 213.149 10.1483 213.971 209.038 21.0827 187.956 203.001 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=59 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=756.234 19.574 10.4478 4.27841 2.65189 1.30194 0.69889 0.620126 0.0936618 0.0012715 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0050605158280619426 -0.0018174302699717137 -0.0066029995721218352 -0.010797407505288608 0.013841358886931849 -0.010522443905892707 0.0093949844931739031 -0.012684797656530107 0.010003353178436971 -0.013996022349497041 -0.013829179102815937 leaf_weight=6.0080073773860923 9.4668440520763379 5.0122207552194586 8.118923291563986 202.22427272796631 5.5519715994596472 7.0620736032724372 7.3746606558561316 4.2993761599063864 4.6821928918361655 186.8020444214344 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.012937 -0.0130889 0.013383 -0.00503539 0.0136171 -0.0136733 0.0137615 -0.0137907 -0.0138333 internal_weight=0 224.606 221.997 219.594 15.0188 213.586 206.978 206.524 198.859 191.484 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=60 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=745.672 12.6345 12.0452 4.45329 4.25568 2.19782 2.42038 1.22642 0.507144 1.36004 0.0126893 0.00306635 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.0050640013057021184 0.0050149582989659977 -0.0085577187554633609 -0.0013110334971609444 -0.0081952072154584943 0.013777984275989141 0.013287206959572907 0.0033997407028693765 -0.013896209058597299 -0.014317392153072183 -0.0084285110289003366 -0.013775085346891917 0.014054389548497801 leaf_weight=4.6815385073423368 6.0019906610250464 4.8957267850637427 5.7785719931125632 5.5195399820804596 196.4192268550396 5.7074932605028135 4.3724616914987564 14.2019679248333 4.4198921769857398 6.6933293193578711 181.23744669556618 4.0972719788551322 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.0129801 0.0129378 -0.00211021 0.013318 0.0135546 0.00899824 -0.0135045 -0.0136218 -0.0121448 -0.013788 0.0137836 internal_weight=0 221.649 222.377 10.2011 216.598 210.596 10.08 211.448 206.553 20.8953 185.657 200.516 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=61 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=735.127 12.5421 11.9318 4.24293 2.20122 2.39581 1.98852 0.927145 1.03089 0.102685 0.00294307 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=2.6607707457544137e-05 0.0049698263100247924 -0.0081254616636983155 -0.0012981022525365633 0.013726289142406622 0.013217415053324305 0.0033681259368081484 -0.0077524077474050582 -0.012571774934919346 -0.014227128075838345 -0.013740886818332201 0.013997894435449288 leaf_weight=7.2312308698892585 5.9959616512060157 7.0060653686523429 5.7777793705463401 195.19351567327976 5.6803901344537717 4.3693839311599731 5.6448602229356748 7.8248684257268897 4.3571709543466568 188.30597729980946 4.0727931410074225 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0129253 0.0128834 0.013264 0.0135015 0.0089352 -0.0133647 -0.0135428 -0.010573 -0.0136942 0.0137318 internal_weight=0 220.37 221.09 215.312 209.316 10.0498 213.139 206.133 10.002 196.131 199.266 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=62 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=724.904 18.9331 10.3052 4.24236 2.63089 1.29801 0.71006 0.617058 0.0948659 0.0014262 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0049251144764377898 -0.001710248384090971 -0.0064721077772042683 -0.010598214149998904 0.013687078306002593 -0.010400095786492173 0.0092246674525997396 -0.012513773283691779 0.0098376130584387975 -0.013852925850496401 -0.013674762619758744 leaf_weight=5.9899214655160895 9.441106364130972 4.9938495904207221 8.0112701058387739 198.48552826046944 5.5216121077537528 6.994080811738967 7.2550812959671012 4.253369227051734 4.6059548407793036 183.33903096616268 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0127776 -0.0129263 0.0132232 -0.00491702 0.0134602 -0.0135161 0.0136063 -0.0136358 -0.0136791 internal_weight=0 220.717 218.174 215.723 14.9627 209.733 203.211 202.739 195.2 187.945 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=63 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=714.766 12.3764 11.6674 4.33595 4.21979 2.1989 2.37247 1.23755 0.514568 1.36728 0.0123327 0.00297334 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.0050406288670445274 0.0048808174249212457 -0.0083477007701886017 -0.0012528907430744637 -0.0080679880380339682 0.013625708904041172 0.01310880540519628 0.0032776153431965339 -0.013737731555577877 -0.014161629134309307 -0.0082185447816758 -0.01362294502883394 0.013900202454287851 leaf_weight=4.6694198846816999 5.9838715940713874 4.8359143435955039 5.7693457454442969 5.4901056438684464 192.73825608193874 5.6267696768045408 4.3540738224983215 14.004314348101618 4.3540790081024161 6.6058411896228781 177.83962677419186 4.0286969840526572 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.0128199 0.0127789 -0.00204314 0.0131595 0.0133991 0.00882002 -0.0133472 -0.0134664 -0.0119688 -0.0136358 0.0136313 internal_weight=0 217.799 218.501 10.1595 212.732 206.748 9.98084 207.64 202.804 20.6102 182.194 196.767 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=64 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=704.864 18.49 10.2286 4.21996 2.60792 1.30033 0.719885 0.617934 0.0953235 0.00146112 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0048369306042436982 -0.0016412808800993668 -0.0063728181127486782 -0.010463977231692236 0.013588439479962947 -0.010307057720946373 0.0091063918349085799 -0.012406222499505497 0.0097214644413224846 -0.013757656496661955 -0.013576289293027753 leaf_weight=5.9778138995170584 9.4248739033937436 4.9797266870737067 7.9369653314352027 195.97959107160568 5.4990186691284171 6.9480878412723532 7.1773030906915656 4.2213810682296744 4.5536408573389044 181.02257899940014 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0126752 -0.0128215 0.0131203 -0.00483437 0.0133593 -0.0134155 0.0135069 -0.013537 -0.0135807 internal_weight=0 218.107 215.614 213.127 14.9239 207.149 200.69 200.201 192.754 185.576 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=65 num_leaves=13 num_cat=1 split_feature=10 1 1 0 3 13 9 4 12 2 3 1 split_gain=695.095 12.1942 11.413 4.22496 4.19833 2.19761 2.34987 1.24152 0.519563 1.3679 0.0120246 0.00299871 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 1.1135288793191862 0.17408222448223767 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 3 4 -1 -2 11 -7 -3 9 -9 -10 -6 right_child=2 7 -4 -5 5 6 -8 8 10 -11 -12 -13 leaf_value=0.004993873453142293 0.0047934483044071623 -0.0082197984294708655 -0.0012086556757730591 -0.0079672365433064406 0.013528547825365261 0.013003156675732888 0.0031885601659468864 -0.013634179600115585 -0.014060468439676335 -0.0080895390721340485 -0.013525797463219842 0.013805741331852903 leaf_weight=4.6578997820615751 5.9717494994401923 4.7983505576848975 5.7609062343835822 5.4667138010263443 190.276392608881 5.5728656500577909 4.3387392163276672 13.869516834616663 4.3095368742942801 6.5511142760515204 175.56579358875751 3.9844569861888877 leaf_count=20 25 23 24 24 987 27 19 67 21 32 911 20 internal_value=0 -0.0127177 0.0126775 -0.00200439 0.0130582 0.0132999 0.00870688 -0.0132466 -0.013367 -0.0118554 -0.0135386 0.0135342 internal_weight=0 215.219 215.905 10.1246 210.144 204.172 9.9116 205.094 200.296 20.4206 179.875 194.261 internal_count=2200 1098 1102 44 1078 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=66 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 1 split_gain=685.496 18.0615 10.1564 4.19916 2.58525 1.30363 1.19503 0.729923 0.186632 0.0958572 0.00149291 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0047503672286749099 -0.0015736127426783752 -0.0062752318475518135 -0.010332264110322061 0.011394586819132935 -0.010215766813157293 0.0060721831051706154 0.012761595362423037 -0.012301388355507049 0.013497952219070448 -0.01366554284960403 -0.013481145446474866 leaf_weight=5.9656798839569083 9.4084342271089536 4.9654586911201468 7.8623628020286551 4.314608320593833 5.4761999547481528 4.6694353371858597 6.2384996712207776 7.0994083732366553 189.33671924471855 4.5012014508247367 178.70116546750069 leaf_count=25 39 21 38 22 24 22 30 36 987 23 933 internal_value=0 0.0125758 -0.0127197 0.0130204 -0.00475314 0.0132616 0.00989801 -0.0133181 0.0134511 -0.0134415 -0.0134857 internal_weight=0 215.49 213.049 210.525 14.8846 204.559 10.9079 198.164 193.651 190.302 183.202 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=67 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=676.1 12.0116 11.1723 4.17854 2.1965 2.32347 1.95729 0.949542 1.04521 0.106229 0.00287417 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=0.00010748591821048219 0.0047076798116628907 -0.0078377134061780682 -0.0011685939202607564 0.013434859074859589 0.012898105729089815 0.0031085586374808398 -0.0073347571279462108 -0.012239973075761001 -0.013943760917131074 -0.013450481460576032 0.013707858807825284 leaf_weight=7.1665953099727622 5.9596065431833258 6.9278530776500693 5.7519689351320258 187.81560660898685 5.517770051956175 4.3246396034955978 5.5181670933961851 7.5515518933534613 4.2251781672239304 181.24280855059624 3.9372932612895957 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0126187 0.012579 0.01296 0.013204 0.00859669 -0.0130626 -0.013245 -0.0102007 -0.0134021 0.0134405 internal_weight=0 212.632 213.307 207.555 201.595 9.84241 205.466 198.538 9.74335 188.794 191.753 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=68 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=666.769 17.6845 10.0749 4.18009 2.54846 1.31156 0.734525 0.621802 0.0973211 0.00154115 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0046653835990580796 -0.0015237527294791153 -0.0061940352932167674 -0.010215789183490932 0.013401501675925121 -0.010118272694267183 0.0088664052899582024 -0.012193127214282846 0.0094910903117216786 -0.013577295038634528 -0.013388827660813294 leaf_weight=5.9535305947065345 9.395965099334715 4.9538336545228949 7.7945217639207831 190.9648765027523 5.452088087797164 6.8501128554344168 7.0167369693517676 4.154847487807273 4.4482603371143332 176.36883172392845 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0124789 -0.0126211 0.0129238 -0.00467959 0.0131672 -0.0132238 0.0133182 -0.0133486 -0.0133935 internal_weight=0 212.877 210.476 207.923 14.8481 201.97 195.628 195.12 187.834 180.817 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=69 num_leaves=13 num_cat=1 split_feature=10 1 1 3 0 13 9 4 12 2 3 1 split_gain=657.709 11.8607 10.936 4.16009 4.07969 2.19706 2.30227 1.25998 0.527619 1.38722 0.0118616 0.00289464 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 0.17408222448223767 1.1135288793191862 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 4 3 -2 -1 11 -7 -3 9 -9 -10 -5 right_child=2 7 -4 5 -6 6 -8 8 10 -11 -12 -13 leaf_value=0.0049649362441456747 0.0046234728633265335 -0.0079474611882956597 -0.0011260928315193167 0.013344081017345971 -0.007813057888467671 0.012798016452283687 0.0030222745631944864 -0.013449842964486196 -0.013877646519034727 -0.0078139058166005679 -0.013341221806317196 0.013619615083940167 leaf_weight=4.6337923556566221 5.9474535286426535 4.716016173362731 5.7435191720724097 185.3472603559494 5.4225996434688568 5.4634583890438062 4.3093056529760361 13.609848752617838 4.2239723354578009 6.4309422820806494 171.00970034301281 3.8928780108690253 leaf_count=20 25 23 24 987 24 27 19 67 21 32 911 20 internal_value=0 -0.0125222 0.0124833 0.0128647 -0.0019252 0.013111 0.0084874 -0.013055 -0.0131784 -0.0116413 -0.0133542 0.0133497 internal_weight=0 210.047 210.704 204.96 10.0564 199.013 9.77276 199.99 195.274 20.0408 175.234 189.24 internal_count=2200 1098 1102 1078 44 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=70 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=648.659 17.2827 10.0108 4.16217 2.52662 1.31566 0.745077 0.623735 0.0979796 0.00156579 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0045819437886115413 -0.0014583663045552892 -0.006099432114216108 -0.010088530601863962 0.013312435114185252 -0.010030318202473945 0.0087538198008258201 -0.012093437859355158 0.0093804949696702795 -0.013491016407026895 -0.013299912317249815 leaf_weight=5.9413764625787726 9.3792599290609342 4.939356103539466 7.7195939719676963 188.44873641431332 5.4289298802614203 6.8037197887897483 6.9388042986392966 4.1227344125509253 4.3956809490919104 174.04368959367275 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0123851 -0.0125249 0.0128298 -0.00460099 0.0130756 -0.0131325 0.0132283 -0.0132593 -0.0133046 internal_weight=0 210.256 207.906 205.317 14.8082 199.375 193.098 192.571 185.378 178.439 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=71 num_leaves=13 num_cat=1 split_feature=10 1 1 3 0 13 9 4 12 2 3 1 split_gain=639.923 11.697 10.7083 4.14298 3.97648 2.19848 2.28166 1.26523 0.533639 1.38881 0.0115612 0.00291106 threshold=2.5000000000000004 1.0880563133346253 1.0797383065324315 0.17408222448223767 1.1135288793191862 0.46553849925547169 0 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 0.98578357518082749 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 4 3 -2 -1 11 -7 -3 9 -9 -10 -5 right_child=2 7 -4 5 -6 6 -8 8 10 -11 -12 -13 leaf_value=0.0049194779855204181 0.0045407916710366791 -0.0078249825827186297 -0.0010845124822901771 0.01325628879866857 -0.0077172091625194528 0.012700486233966203 0.0029373435703680785 -0.013354804696919284 -0.013785890944601517 -0.0076902191830632164 -0.013253445573194758 0.013534199476819503 leaf_weight=4.6221377700567228 5.9353005141019812 4.6785143017768851 5.7350797206163397 182.87881281971931 5.3988253623247147 5.409019470214842 4.2939769327640533 13.473680645227434 4.1790439784526816 6.376585364341735 168.72991545498371 3.8484366834163657 leaf_count=20 25 23 24 987 24 27 19 67 21 32 911 20 internal_value=0 -0.0124284 0.0123903 0.0127721 -0.00188858 0.0130209 0.00837989 -0.0129633 -0.013088 -0.0115351 -0.0132663 0.013262 internal_weight=0 207.459 208.101 202.366 10.021 196.43 9.703 197.438 192.759 19.8503 172.909 186.727 internal_count=2200 1098 1102 1078 44 1053 46 1054 1031 99 932 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=72 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=631.161 11.622 10.618 4.13443 2.20394 2.25971 1.95459 0.973152 1.05655 0.109136 0.0027984 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=0.00017262873548861232 0.0045000113344007614 -0.007584391114035389 -0.0010738031918867503 0.013213410265868206 0.012638943421021225 0.0029099326921767686 -0.0069979137015048886 -0.011984318510850054 -0.013722439165098129 -0.013230144041319883 0.013486779361044997 leaf_weight=7.119452863931655 5.9292271733283988 6.8572794198989859 5.7343588769435874 181.64374227821827 5.3811439871788007 4.2910953909158707 5.4116259664297086 7.3253480643033972 4.1118153184652328 175.34295885264874 3.8234734535217276 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0123815 0.0123437 0.0127264 0.0129764 0.00832266 -0.0128305 -0.0130177 -0.00990128 -0.0131802 0.013219 internal_weight=0 206.168 206.803 201.069 195.139 9.67224 199.049 192.192 9.52344 182.668 185.467 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=73 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 1 split_gain=622.641 16.7505 9.90358 4.13849 2.50738 1.31711 0.758272 0.623984 0.0997091 0.00168954 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1948510833126798 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0044595994906619901 -0.0013611376357523983 -0.0059805498878504129 -0.0099086039255561354 0.013184551331344921 -0.0099208956538961984 0.008598495200758444 -0.011944160103462949 0.0092291025648266519 -0.013372120991370331 -0.013171843582545164 leaf_weight=5.9231571853160849 9.3518886268138868 4.9201848953962317 7.6105031371116629 184.68121875822544 5.3970980793237677 6.7344192117452613 6.8183789104223242 4.0762717276811591 4.3188290596008292 170.55567453801632 leaf_count=25 39 21 38 1009 24 32 36 20 23 933 internal_value=0 0.0122493 -0.0123861 0.0126946 -0.00449341 0.0129441 -0.013001 0.0130991 -0.0131305 -0.0131768 internal_weight=0 206.335 204.052 201.415 14.749 195.492 189.303 188.757 181.693 174.875 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=74 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=614.226 11.487 10.4209 4.20541 3.87401 1.82652 1.27995 0.54379 1.39886 0.0112287 0.00374058 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0253804391042192 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.004895926570126303 0.0044195521762988828 -0.0076293957956637161 0.0013316876247144917 0.013132422165246632 -0.0076019936753713184 0.0069344285812957028 -0.013219913128960054 -0.013656151503531791 -0.0074944909727216536 -0.013127139707455106 0.013429314349167725 leaf_weight=4.6097757965326291 5.9170916676521292 4.6184623986482611 8.3763216584920865 180.69522209465504 5.3687147051095963 4.8688255548477164 13.272519975900652 4.1121588051319113 6.2896032035350791 165.31482630968094 4.3457301259040824 leaf_count=20 25 23 36 995 24 23 67 21 32 911 23 internal_value=0 -0.0122913 0.0122544 0.0127216 -0.00182831 0.0129803 -0.0128306 -0.0129577 -0.0113791 -0.01314 0.0131394 internal_weight=0 203.586 204.203 195.827 9.97849 189.91 193.608 188.989 19.5621 169.427 185.041 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=75 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 1 split_gain=605.937 16.4093 9.85173 4.12364 2.48581 1.32756 1.22322 0.769344 0.197927 0.100518 0.00170537 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0043798642567301595 -0.0012974332234482766 -0.0059037463439081993 -0.0097864495663980665 0.010881098805354339 -0.0098348940711514826 0.0054721739841626024 0.012363943125599469 -0.011850201211488545 0.013108186730765416 -0.013292425078494159 -0.013089974018136441 leaf_weight=5.9110321104526511 9.335280776023863 4.9071061164140692 7.5354966819286338 4.0818665325641623 5.3735475391149512 4.514968141913414 5.9949856996536237 6.7407463788986197 178.31527271866798 4.2663347870111457 168.23631244897842 leaf_count=25 39 21 38 22 24 22 30 36 987 23 933 internal_value=0 0.0121612 -0.0122961 0.0126071 -0.00441641 0.0128592 0.00940331 -0.0129166 0.0130583 -0.0130482 -0.013095 internal_weight=0 203.725 201.488 198.818 14.7088 192.907 10.51 186.779 182.397 179.243 172.503 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=76 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=597.844 11.3254 10.2533 4.19176 3.77081 1.83079 1.28617 0.550564 1.40126 0.0109469 0.00379427 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.0048435458796172969 0.0043405329499477544 -0.0075108022676305067 0.0013245155745605687 0.013051077238926912 -0.0075091377582894086 0.006826499268996508 -0.013131248138242704 -0.013571512678598595 -0.0073746400351876115 -0.013046281808097884 0.013334652823710125 leaf_weight=4.5963890403509122 5.9049788862466803 4.5812003612518302 8.3599006682634336 177.66607908904552 5.3448648601770401 4.8387467712163916 13.13591141998768 4.0671614855527869 6.2358244955539694 163.04243344068527 4.8470817506313315 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.012204 0.0121672 0.0126362 -0.00179781 0.0128977 -0.0127455 -0.0128741 -0.0112782 -0.0130591 0.0130586 internal_weight=0 201.004 201.617 193.257 9.94125 187.352 191.063 186.481 19.3717 167.11 182.513 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=77 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 13 split_gain=589.76 16.0781 9.80278 4.10979 2.46447 1.33347 1.22233 0.780601 0.199782 0.10139 0.00174582 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0043015542825530807 -0.0012348692444429791 -0.0058280551419881274 -0.0096661844251523434 0.01077779012501151 -0.0097503132139082418 0.0053601584796831702 0.012275582801191657 -0.011758319730974583 0.013028743040183415 -0.013110872289976124 -0.013004991267173372 leaf_weight=5.8989338576793662 9.3185736238956434 4.8939421176910392 7.4605481326580039 4.0334003120660773 5.3498835265636435 4.4864695370197296 5.9398826956748945 6.6633247584104529 175.86893117427826 17.339972466230392 152.7960901260376 leaf_count=25 39 21 38 22 24 22 30 36 987 96 860 internal_value=0 0.0120755 -0.0122084 0.012522 -0.00434062 0.0127768 0.00929987 -0.0128347 0.0129783 -0.0129684 -0.0130158 internal_weight=0 201.122 198.928 196.228 14.6685 190.329 10.4264 184.26 179.902 176.799 170.136 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=78 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=581.979 11.1686 10.0916 4.17919 3.67073 1.8356 1.29287 0.557658 1.40401 0.010674 0.00389553 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.0047918371918615294 0.0042629227595367639 -0.0073933521833808328 0.0013173063306457136 0.012972695484876369 -0.0074180444482712018 0.0067200354606368785 -0.013044930148449952 -0.013489546944005351 -0.0072560662237861027 -0.012967996329842118 0.013261673137895247 leaf_weight=4.5829228758811933 5.8928973972797385 4.5439757853746405 8.3434724211692792 175.19920834898949 5.3210237473249435 4.8087276220321646 12.999199762940409 4.0221985876560202 6.1822737753391257 160.77594685554504 4.7924541980028144 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.012119 0.0120821 0.0125531 -0.00176808 0.0128175 -0.0126628 -0.0127929 -0.0111792 -0.0129807 0.0129804 internal_weight=0 198.428 199.037 190.693 9.90395 184.8 188.524 183.98 19.1815 164.798 179.992 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=79 num_leaves=11 num_cat=0 split_feature=10 1 1 3 13 12 3 1 3 0 split_gain=574.14 11.1098 10.0391 4.17297 1.95242 1.83833 1.00963 1.07785 0.11391 0.00375043 threshold=2.5000000000000004 1.0652111417665497 1.0383879925828392 0.17408222448223767 0.78123321994831596 4.6533632910829281 1.2190084357665867 1.2807709791646134 1.2471304352583659 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 -3 9 7 -6 -8 -5 right_child=2 4 -4 5 6 -7 8 -9 -10 -11 leaf_value=0.00025515601280281071 0.0042246356402903928 -0.0072535960230143961 0.00130410049610586 0.012934384228674678 -0.0065359763158590678 0.0066690023618499496 -0.011649526833702682 -0.013445928435851223 -0.012950785261766686 0.013218893805267487 leaf_weight=7.0450165569782248 5.886870250105857 6.7555552423000327 8.3436806499958021 173.9671333283186 5.2594519555568677 4.797128587961196 7.0093258917331687 3.9548687338829041 167.12194304168224 4.7600465267896643 leaf_count=31 25 30 36 992 26 23 39 21 951 26 internal_value=0 -0.0120762 0.0120393 0.0125122 -0.0125332 0.012778 -0.0127277 -0.00950179 -0.0128984 0.012942 internal_weight=0 197.146 197.755 189.411 190.101 183.524 183.346 9.21432 174.131 178.727 internal_count=2200 1098 1102 1066 1067 1041 1037 47 990 1018 is_linear=0 shrinkage=0.01 Tree=80 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 13 split_gain=566.479 15.6581 9.71999 4.09166 2.44542 1.34019 1.22746 0.79486 0.20323 0.103422 0.00184582 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0041866893935487599 -0.0011408656271833021 -0.0057432024612662407 -0.0094960565085565468 0.010623329801864874 -0.0096442314927947265 0.0051866310705631479 0.012157027779723198 -0.011620048310816752 0.012914895160243394 -0.013000393527373609 -0.012890442733999122 leaf_weight=5.8808542788028708 9.2915686219930631 4.8776801675558081 7.3519771993160239 3.9590788781642905 5.317440763115882 4.4402506947517395 5.8610975891351682 6.54377856850624 172.22261276841164 17.003901109099388 149.59470337629318 leaf_count=25 39 21 38 22 24 22 30 36 987 96 860 internal_value=0 0.0119508 -0.0120815 0.0123994 -0.00423595 0.0126584 0.00915254 -0.0127165 0.0128634 -0.0128532 -0.0129017 internal_weight=0 197.242 195.103 192.364 14.609 186.483 10.3013 180.494 176.182 173.142 166.599 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=81 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=559.009 10.9712 9.88529 4.16187 3.57155 1.84394 1.3096 0.569317 1.41564 0.0103712 0.00384353 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.0047606248551575903 0.0041490806761978211 -0.007204690205354948 0.0012969884323402378 0.012859662123085116 -0.0073090466416122594 0.0065645534636259882 -0.012922413159603081 -0.013373631992681859 -0.0070673240738411483 -0.012855184357724128 0.013149351256872964 leaf_weight=4.5687029063701612 5.8748491108417502 4.4843236804008475 8.3273056894540769 171.51237635314465 5.2909862101078033 4.7672428339719763 12.798169031739237 3.9554950743913642 6.0964562296867362 157.39084044098854 4.7056665867567053 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.0119942 0.0119574 0.0124325 -0.0017163 0.0127014 -0.0125428 -0.0126756 -0.0110332 -0.0128679 0.0128674 internal_weight=0 194.585 195.187 186.86 9.85969 180.985 184.725 180.241 18.8946 161.346 176.218 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=82 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 13 split_gain=551.534 15.3491 9.67762 4.08014 2.42448 1.34741 1.22686 0.806601 0.205304 0.10443 0.001898 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0041118050599171316 -0.0010810645395016372 -0.0056698876834574176 -0.0093800330955001524 0.010524167755624208 -0.009562880854865001 0.0050779047019069087 0.012073376048827871 -0.011533016695395023 0.012841533193585757 -0.012929303157876514 -0.012817065029884571 leaf_weight=5.8688566088676444 9.2746598571538907 4.8643440604209891 7.2774289399385443 3.9110915511846533 5.2936055958271018 4.4121788889169693 5.806114509701727 6.467100888490676 169.79596975445747 16.781045377254486 147.47071944177151 leaf_count=25 39 21 38 22 24 22 30 36 987 96 860 internal_value=0 0.0118703 -0.0119991 0.0123199 -0.00416306 0.0125818 0.00905279 -0.0126405 0.0127894 -0.0127795 -0.0128285 internal_weight=0 194.659 192.565 189.794 14.5683 183.925 10.2183 177.996 173.707 170.719 164.252 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=83 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=544.349 10.8255 9.73666 4.15167 3.4773 1.85001 1.31711 0.577092 1.41903 0.0101151 0.00393013 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.004709987733339859 0.0040748591772000091 -0.0070905629589102228 0.0012898359750605007 0.012787257370562348 -0.0072213564245178288 0.0064614582220847228 -0.012841552645187975 -0.013297809575325255 -0.0069520304532570886 -0.01278286550434618 0.01308190360623351 leaf_weight=4.5551416277885419 5.8628771454095832 4.4475253373384467 8.3109327852725965 169.06753087043762 5.2671007663011551 4.7374564111232749 12.661845505237581 3.9107495099306098 6.043738216161727 155.14473773539066 4.6514966785907736 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.0119144 0.0118776 0.012355 -0.0016881 0.012627 -0.0124656 -0.0126001 -0.0109387 -0.0127955 0.0127951 internal_weight=0 192.031 192.63 184.319 9.82224 178.456 182.209 177.761 18.7056 159.055 173.719 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=84 num_leaves=12 num_cat=1 split_feature=10 1 1 3 13 9 13 3 1 3 1 split_gain=537.099 10.7645 9.69257 4.05979 2.21031 2.20714 1.95773 1.03712 1.09141 0.117607 0.00302441 threshold=2.5000000000000004 1.0652111417665497 1.0797383065324315 0.17408222448223767 0.46553849925547169 0 0.78123321994831596 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.98578357518082749 decision_type=2 2 2 2 2 1 2 2 2 2 2 left_child=1 -1 3 -2 10 -6 -3 8 -8 -9 -5 right_child=2 6 -4 4 5 -7 7 9 -10 -11 -12 leaf_value=0.00030240977220465445 0.0040382414303193857 -0.0070241574126300348 -0.0010088816625592662 0.012750741046741133 0.012172648372911574 0.002368248806410365 -0.0062226315395119492 -0.011425507127847109 -0.013264079735328673 -0.012769351537025337 0.013045212526764492 leaf_weight=6.9940035641193381 5.8569114655256262 6.6822562962770453 5.6985852867364875 166.97283515334129 5.08215084671974 4.1883756369352341 5.1538438349962217 6.7862959653139105 3.8422564715147018 161.3031157553196 3.5622331500053397 leaf_count=31 25 30 24 987 27 19 26 39 21 951 20 internal_value=0 -0.0118741 0.0118372 0.0122315 0.0124984 0.00774307 -0.0123376 -0.0125381 -0.00923005 -0.0127151 0.0127569 internal_weight=0 190.762 191.361 185.663 179.806 9.27053 183.768 177.086 8.9961 168.089 170.535 internal_count=2200 1098 1102 1078 1053 46 1067 1037 47 990 1007 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=85 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 1 3 3 0 13 split_gain=530.024 14.9302 9.60071 4.06515 2.40593 1.35421 0.821577 0.697505 0.106657 0.00198562 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0023056708553677 1.2103584781205146 1.1981154781470527 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.0040019453900989642 -0.00099222335064471962 -0.0055741924493299434 -0.0092158887896579573 0.012732160974251951 -0.0094627669613403399 0.0079754390551559137 -0.011401570055652423 0.0083349697500039698 -0.012827153863530996 -0.01271118937626799 leaf_weight=5.8509606868028632 9.2468374818563444 4.8462884277105323 7.1697826683521262 169.96922752261162 5.2610265314579001 6.4586416482925406 6.3487079590558997 3.6856413781642905 16.448451280593872 144.3017700612545 leaf_count=25 39 21 38 1010 24 32 36 19 96 860 internal_value=0 0.0117536 -0.0118799 0.0122051 -0.00406392 0.0124716 -0.0125306 0.0126388 -0.0126728 -0.0127231 internal_weight=0 190.811 188.777 185.964 14.5079 180.114 174.269 173.655 167.099 160.75 internal_count=2200 1107 1093 1086 63 1061 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=86 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=523.091 10.654 9.52555 4.13729 3.38999 1.86748 1.33501 0.589707 1.4316 0.0098313 0.00371764 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.0046873551586125361 0.0039659697185235035 -0.0069063457547908474 0.001280032805739512 0.012682883251124051 -0.007117504211909367 0.0062960508000430952 -0.012726824095802737 -0.013190612484516076 -0.0067676738624655843 -0.012678558069900347 0.012972326614448304 leaf_weight=4.5427903383970243 5.8450251817703238 4.3884544670581809 8.2912997603416425 165.42354379594326 5.2370111644268036 4.6930662840604773 12.461975529789926 3.8445094376802436 5.9590986371040335 151.79618082940578 4.5598355680704108 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.0117967 0.0117605 0.0122419 -0.00163406 0.0125188 -0.0123536 -0.012491 -0.0107991 -0.0126912 0.0126906 internal_weight=0 188.23 188.813 180.521 9.7798 174.676 178.45 174.062 18.4211 155.641 169.983 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=87 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 13 split_gain=516.194 14.6421 9.56384 4.05561 2.38537 1.36759 1.24342 0.833778 0.212462 0.107792 0.00203008 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0039303096145514253 -0.0009350544251206951 -0.005503259504856489 -0.0091035886372259952 0.010272576856766474 -0.0093844061875528375 0.0047731645446944708 0.011888420532782881 -0.011318846873396028 0.012668793341861112 -0.012761361378720781 -0.012643305941556365 leaf_weight=5.8391060680150977 9.2297943681478483 4.8328377902507773 7.0959169864654532 3.7857487648725501 5.2371117323637 4.3304135352373123 5.6742877811193448 6.273036077618598 163.79410754144192 16.228307321667671 142.20297937095165 leaf_count=25 39 21 38 22 24 22 30 36 987 96 860 internal_value=0 0.0116779 -0.0118024 0.0121306 -0.00399377 0.0124002 0.00880867 -0.0124599 0.0126147 -0.0126045 -0.0126554 internal_weight=0 188.257 186.267 183.424 14.4669 177.585 10.0047 171.8 167.58 164.704 158.431 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=88 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=509.521 10.5179 9.38885 4.12905 3.30098 1.87455 1.34323 0.598114 1.43553 0.00959065 0.00379354 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.0046376164038448393 0.0038949635361547777 -0.0067952015465995988 0.0012728233312002399 0.012615874259494101 -0.0070329884811847678 0.0061961803345168664 -0.012650877759953756 -0.013120342127795939 -0.0066553331002872154 -0.012611630607266231 0.012909998865205162 leaf_weight=4.5291761159896833 5.8332037180662146 4.3521961718797675 8.2750100940465909 163.00901827216148 5.2131485939025879 4.6636394113302222 12.326552331447603 3.800150290131568 5.90736499428749 149.57806754112244 4.5063480436801902 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.0117216 0.0116853 0.0121694 -0.00160736 0.0124497 -0.0122815 -0.0124207 -0.0107085 -0.0126242 0.0126238 internal_weight=0 185.707 186.287 178.012 9.74232 172.179 175.964 171.612 18.2339 153.378 167.515 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=89 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 1 3 0 13 split_gain=502.855 13.6676 9.63964 5.08404 4.1024 1.19155 1.06601 1.10567 0.121615 0.107244 0.013658 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.17408222448223767 0.99689265265511573 1.2190084357665867 1.2807709791646134 1.2471304352583659 1.1019912764466293 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0038599273393983991 -0.011887103841913247 -0.002640446401404279 -0.0059174014789843098 0.0013290751705810541 0.012530184577998836 0.0084997779512512514 -0.01121211131529277 -0.013096128916599694 -0.013197819460962769 0.014340716164016068 -0.012586767847229745 leaf_weight=5.8273188769817343 4.5023956000804892 6.5071109980344763 5.0493770241737348 8.2334412485361081 162.64761650562286 7.531319484114646 6.5660034120082846 3.7307250052690506 3.7482080906629553 3.3387756198644629 151.80660472810268 leaf_count=25 20 30 26 36 996 38 39 21 21 18 930 internal_value=0 0.0115964 -0.011736 -0.00334313 0.0121129 0.0123901 -0.0123614 -0.00896769 -0.0125452 0.0125666 -0.0126015 internal_weight=0 185.852 183.637 12.7358 179.345 173.518 170.901 8.7801 162.121 165.986 155.555 internal_count=2200 1107 1093 56 1077 1052 1037 47 990 1014 951 is_linear=0 shrinkage=0.01 Tree=90 num_leaves=13 num_cat=1 split_feature=12 1 13 3 2 0 0 5 3 3 0 13 split_gain=496.382 14.1817 9.46038 4.04312 2.34609 3.19958 1.38529 1.24506 0.849406 0.215583 0.110312 0.00208526 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -8 -4 -5 -10 -12 right_child=2 -3 8 6 -6 -7 7 -9 10 -11 11 -13 leaf_value=0.0038251992709211033 -0.012903732416077953 -0.0053768941227900118 -0.0089447216146283388 0.010134705367041301 0.0014018974984000524 -0.0010765057142739867 0.0046049115718385034 0.011769189478930861 -0.011192713553390224 0.012571675034688579 -0.012666202811965784 -0.012545310049878966 leaf_weight=5.8214519172906867 4.5642063319683057 4.8096742480993262 6.9895744025707236 3.7142092585563651 5.2653578221797934 4.5851248353719711 4.285759449005127 5.5893453508615476 6.1556420922279349 160.24196317791939 15.898972555994986 139.07788798213005 leaf_count=25 21 21 38 22 22 20 22 30 36 987 96 860 internal_value=0 0.0115692 -0.0116909 0.0120229 -0.00391612 -0.0069766 0.0122974 0.00865992 -0.0123575 0.0125165 -0.0125056 -0.0125577 internal_weight=0 184.462 182.537 179.653 14.4147 9.14933 173.831 9.8751 168.122 163.956 161.133 154.977 internal_count=2200 1107 1093 1086 63 41 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=91 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=490.02 10.2814 9.15776 4.11797 3.22023 1.89242 1.35255 0.612365 1.44641 0.00932341 0.00374741 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.0045838398074077927 0.0037907740131520157 -0.0066379478350905895 0.0012835939876795119 0.012519527572586606 -0.0069704738187453298 0.0060351665032661993 -0.012540617508331636 -0.013021038681914612 -0.0064774204021379386 -0.012515051597385814 0.012814647569852636 leaf_weight=4.5119632482528669 5.8156039565801612 4.298379883170127 8.2530247271060926 159.4276921749115 5.1829625815153122 4.6161853671073905 12.125537469983103 3.7346058934926978 5.8243740350008002 146.2778198570013 4.4219709038734427 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.0116131 0.0115766 0.012064 -0.00159316 0.0123496 -0.012177 -0.0123188 -0.0105732 -0.0125276 0.0125275 internal_weight=0 181.956 182.534 174.281 9.69493 168.466 172.261 167.962 17.9499 150.012 163.85 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=92 num_leaves=11 num_cat=0 split_feature=10 1 1 3 0 12 13 3 0 0 split_gain=483.597 10.2266 9.11822 4.11429 3.16077 1.89616 1.35528 0.812807 0.0940855 0.00361219 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.78123321994831596 1.2103584781205146 1.1305001193370379 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 -3 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 8 -10 -11 leaf_value=0.0045395703196916687 0.0037566504897759596 -0.0071118994242285408 0.0012707251176554868 0.012488184684643791 -0.0069135238791451416 0.0059891047613858167 -0.0089961064148270237 -0.01126688029957146 -0.012498453769994625 0.012778981206298962 leaf_weight=4.510411933064459 5.8097757399082175 5.1929704695940009 8.2532371878623945 158.23552685976028 5.1734481006860733 4.605226442217826 7.1265488117933264 6.4664705693721762 152.24473540484905 4.3901292085647574 leaf_count=20 25 24 36 992 24 23 39 38 953 26 internal_value=0 -0.0115763 0.0115397 0.0120294 -0.00157906 0.0123168 -0.0121424 -0.0122999 -0.0124483 0.012496 internal_weight=0 180.715 181.294 173.041 9.68386 167.231 171.031 165.838 158.711 162.626 internal_count=2200 1098 1102 1066 44 1041 1054 1030 991 1018 is_linear=0 shrinkage=0.01 Tree=93 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 13 split_gain=477.294 13.8324 9.39911 4.03182 2.35696 1.39654 1.2538 0.86623 0.219748 0.112455 0.0021018 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0037228250621553854 -0.00077607930633078815 -0.0052993213812286511 -0.0087869946845911765 0.0099937591588344175 -0.0092148476534356458 0.0044366742937168406 0.011669154851845958 -0.01107307129534235 0.012478385119972027 -0.012574244892851392 -0.012451588856399083 leaf_weight=5.8039668947458258 9.1734958142042142 4.792896404862403 6.8843115866184226 3.642341434955596 5.1779054552316657 4.2406650483608246 5.5129793882369977 6.0426647067069998 156.71021376550198 15.57025372982025 135.98024992644787 leaf_count=25 39 21 38 22 24 22 30 36 987 96 860 internal_value=0 0.0114621 -0.011582 0.0119188 -0.00382074 0.0121985 0.00852464 -0.0122592 0.0124219 -0.0124109 -0.0124642 internal_weight=0 180.703 178.829 175.91 14.3514 170.106 9.75364 164.477 160.353 157.593 151.551 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=94 num_leaves=12 num_cat=0 split_feature=10 1 1 3 0 12 4 12 2 3 0 split_gain=471.203 10.1024 8.9944 4.10795 3.07828 1.90423 1.37284 0.627763 1.46008 0.00919863 0.00367758 threshold=2.5000000000000004 1.0880563133346253 1.0383879925828392 0.17408222448223767 1.1135288793191862 4.6533632910829281 0.36291089430411749 5.4117715327450009 1.2626160677949871 1.2103584781205146 1.0188919694060079 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 10 -3 8 -8 -9 -5 right_child=2 6 -4 5 -6 -7 7 9 -10 -11 -12 leaf_value=0.004491600349743192 0.0036892944905122724 -0.006457720028480593 0.001263273644817711 0.012426980177125535 -0.0068323529146318666 0.0058928484698346139 -0.012434695395169882 -0.012929504812689757 -0.0062968547003508912 -0.01242266692679248 0.012722178716319858 leaf_weight=4.4967403411865217 5.7981792837381354 4.2399619221687308 8.2371027469634992 155.86644458770752 5.1496811658143997 4.5762947201728812 11.926167070865633 3.6728048622608176 5.7414735257625571 143.0076225399971 4.3376475870609275 leaf_count=20 25 23 36 992 24 23 67 21 32 911 26 internal_value=0 -0.0115064 0.0114693 0.0119622 -0.00155362 0.0122533 -0.0120759 -0.0122209 -0.0104401 -0.0124354 0.012435 internal_weight=0 178.234 178.816 170.579 9.64642 164.78 168.588 164.348 17.6676 146.68 160.204 internal_count=2200 1098 1102 1066 44 1041 1054 1031 99 932 1018 is_linear=0 shrinkage=0.01 Tree=95 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 1 3 0 13 split_gain=465.066 13.165 9.46367 5.06023 3.26004 1.19462 1.10209 1.12596 0.127236 0.112526 0.0136376 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2807709791646134 1.2471304352583659 1.1019912764466293 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.005263358030343189 -0.011756429735597748 -0.0026600437004067634 -0.0055566266480208742 0.0014899715510666991 0.012340296453689111 0.0082601573012545323 -0.01096579362919285 -0.012913660672768478 -0.013022619989825263 0.014223074635333675 -0.012401179280394154 leaf_weight=7.0765473842620841 4.4549606442451468 6.43399554491043 4.9243475645780546 8.1774091571569425 154.23688520491123 7.3712036758661261 6.3036869913339606 3.6018090695142746 3.6193981617689124 3.241055652499198 145.15276312828064 leaf_count=33 20 30 26 36 988 38 39 21 21 18 930 internal_value=0 0.011384 -0.011521 -0.00318153 0.0119096 0.0121949 -0.0121649 -0.00866455 -0.0123573 0.012379 -0.0124163 internal_weight=0 178.36 176.234 12.6324 171.926 164.849 163.602 8.52616 155.076 157.478 148.772 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=96 num_leaves=12 num_cat=1 split_feature=12 1 13 3 3 0 5 3 3 0 13 split_gain=459.181 13.4056 9.30591 4.03399 2.3175 1.41611 1.2558 0.882651 0.221706 0.115189 0.00214523 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.0188919694060079 0 1.2103584781205146 0.52015392592939824 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 4 -1 -2 8 -7 -4 -5 -9 -11 right_child=2 -3 7 5 -6 6 -8 9 -10 10 -12 leaf_value=0.0036086186726572234 -0.00072808498379802584 -0.0051773211771902203 -0.0086335977039601469 0.009871434769221225 -0.0091157552911791256 0.0042726952150627245 0.011556460095744139 -0.010953298511278495 0.012389689034235903 -0.012487277221084074 -0.012362043853225747 leaf_weight=5.7841315865516654 9.15299443900585 4.7695134729146949 6.77994181215763 3.5776897668838492 5.146188646554946 4.1969351470470428 5.42900203168392 5.9274936020374289 153.22864380478859 15.247439235448836 132.91761992871761 leaf_count=25 39 21 38 22 24 22 30 36 987 96 860 internal_value=0 0.0113604 -0.0114777 0.0118184 -0.00374676 0.0121037 0.00838072 -0.0121649 0.0123322 -0.0123202 -0.0123749 internal_weight=0 176.986 175.172 172.216 14.2992 166.432 9.62594 160.872 156.806 154.093 148.165 internal_count=2200 1107 1093 1086 63 1061 52 1030 1009 992 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=97 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 13 split_gain=453.356 9.95714 8.78687 4.11157 3.89818 2.19399 1.92444 0.886595 0.116119 0.00362293 0.00206919 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1331424306771034 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.0025357977295348338 0.0035760829185181101 -0.0085869486709159414 0.0012710035471421061 0.012339066554862017 0.0030209704473280296 -0.012254761429408918 0.0057354572317267188 -0.010913762838314509 -0.012456485356524456 0.012634917892501589 -0.012333026050312501 leaf_weight=4.5035694986581785 5.7784184813499442 6.748763144016265 8.2159240990877134 152.36439019441605 5.5852368474006644 4.7964768409729004 4.5296785980463019 5.8896664828062049 15.132853299379347 4.2547541409730902 131.90314075350761 leaf_count=21 25 38 36 992 25 22 23 36 96 26 860 internal_value=0 -0.0114048 0.0113672 0.0118641 -0.00358253 -0.00754833 0.0121613 -0.012134 -0.0122906 0.0123471 -0.0123457 internal_weight=0 174.56 175.143 166.927 14.8853 9.30005 161.149 159.674 152.926 156.619 147.036 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=98 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 13 split_gain=447.47 9.94312 8.75192 4.10856 3.82892 2.16413 1.92848 0.890591 0.117059 0.00349389 0.00199606 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1331424306771034 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.0025118570321141639 0.003543828546231365 -0.0085405633770825017 0.0012582600446768611 0.012310385405129153 0.0029898623169631908 -0.012173829147666562 0.0056914779499498379 -0.010874543323456404 -0.012426148903942088 0.012601998950213942 -0.012304430125577373 leaf_weight=4.5010414570569974 5.7727281004190436 6.7177188396453849 8.216139689087866 151.19802390038967 5.5869063287973395 4.7801623344421387 4.5190868377685538 5.8519877046346656 15.018672093749045 4.2233670949935904 130.89266076683998 leaf_count=21 25 38 36 992 25 22 23 36 96 26 860 internal_value=0 -0.0113701 0.0113324 0.0118319 -0.00355087 -0.00748813 0.0121311 -0.0121036 -0.0122613 0.0123183 -0.012317 internal_weight=0 173.349 173.929 165.713 14.8681 9.2812 159.94 158.481 151.763 155.421 145.911 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=99 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 1 3 0 13 split_gain=441.746 12.7653 9.31843 4.99218 3.26955 1.20072 1.11786 1.13201 0.132119 0.111368 0.0134349 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2807709791646134 1.2471304352583659 1.1019912764466293 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0051016874071849981 -0.011652093861156598 -0.0026212564476081851 -0.0053542682732567589 0.0015355398081075885 0.012223582385922003 0.0081027682103451404 -0.010801587583636776 -0.012802118722278244 -0.012910111784914878 0.014116472054025447 -0.012285719406258369 leaf_weight=7.0206759572029105 4.4283120781183234 6.3895442187786093 4.8530980348587018 8.1597683578729612 149.61065053939819 7.2679267376661292 6.1259646713733664 3.5215911716222763 3.5325103402137747 3.1741469800472251 140.77939322590828 leaf_count=33 20 30 26 36 988 38 39 21 21 18 930 internal_value=0 0.0112505 -0.0113855 -0.00310369 0.011781 0.012074 -0.012042 -0.00848612 -0.0122399 0.0122629 -0.012301 internal_weight=0 173.463 171.401 12.5881 167.073 160.053 158.813 8.37469 150.438 152.785 144.312 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=100 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 0 2 3 0 0 13 split_gain=436.147 12.9997 9.17794 4.83667 7.71425 2.30041 3.21983 1.09518 0.898376 0.574871 0.119465 0.00193507 threshold=4.8980530291692244 1.1418730677972666 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2396581529761168 1.1305001193370379 1.2132009332284019 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1331424306771034 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 9 -4 -5 -10 -12 right_child=2 -3 8 7 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.012598899897259073 -0.012717094870217461 -0.008984420420167661 -0.0084493140949224756 0.012278572017045622 -0.0053627297864437696 0.0016220008009543458 -0.00076403631847804694 0.0068067686427393205 -0.010793868185382477 0.0092501954126155556 -0.012369266850329987 -0.012248528699790182 leaf_weight=5.4738719165325147 4.4899299442768079 3.1243891119956961 6.6552451252937308 148.79332627356052 4.2457901984453201 5.2246337383985511 4.5245710760354996 3.9316168129444113 5.7733995616435996 6.5440012514591208 14.798285514116285 128.88568297028542 leaf_count=28 21 14 38 986 21 22 20 22 36 36 96 860 internal_value=0 0.0112274 -0.0113432 0.0116011 0.00475281 -0.00365763 -0.0067176 0.0120191 -0.0120442 0.012151 -0.0122043 -0.012261 internal_weight=0 172.113 170.352 168.989 9.71966 14.2391 9.0145 159.269 156.113 155.337 149.457 143.684 internal_count=2200 1107 1093 1093 49 63 41 1044 1030 1022 992 956 is_linear=0 shrinkage=0.01 Tree=101 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 1 split_gain=430.604 9.80425 8.56728 4.12758 3.75516 2.13331 1.94974 0.902526 0.120434 0.003291 0.00187195 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.0024610949757169188 0.0034170707896730634 -0.0084036813821080705 0.0012591097189687472 0.012227811808809953 0.0029872632309882359 -0.0120799815286336 0.0055368181286559971 -0.010755578011119147 -0.012458425150717559 0.012513789043507291 -0.012227584013425725 leaf_weight=4.4820600450038892 5.7499960809946051 6.6246236264705649 8.1965416967868787 147.76376350224018 5.5708411186933509 4.7484640330076218 4.4728911966085425 5.7362003177404395 3.6040295958518973 4.1367206871509543 138.96894171833992 leaf_count=21 25 38 36 992 25 22 23 36 23 26 933 internal_value=0 -0.0112721 0.0112337 0.011738 -0.00349634 -0.00740934 0.012044 -0.012015 -0.0121763 0.0122356 -0.0122334 internal_weight=0 169.735 170.32 162.123 14.8014 9.23052 156.373 154.934 148.309 151.9 142.573 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=102 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 0 3 0 13 split_gain=425.074 12.4845 9.23011 4.90727 3.2835 1.21283 1.13112 1.14085 0.135724 0.109784 0.013461 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2748487141050349 1.2471304352583659 1.1019912764466293 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0049778358478839956 -0.011540055145930929 -0.0025946679587464223 -0.005176469750789019 0.0015614441249464795 0.012140316598482003 0.0079746491782619715 -0.010682738674280649 -0.012699790400886857 -0.012834113847659603 0.014034383790532122 -0.012203420021694509 leaf_weight=6.9820207804441443 4.4054487347602835 6.3585127145051947 4.7728642076253873 8.1437346786260587 146.19426515698433 7.1882317513227454 5.995763197541236 3.4891259223222733 3.4694281220436087 3.1256164759397498 137.54487712681293 leaf_count=33 20 30 26 36 988 38 39 21 21 18 930 internal_value=0 0.0111528 -0.0112872 -0.0030379 0.0116875 0.0119868 -0.0119539 -0.00835365 -0.0121563 0.01218 -0.0122189 internal_weight=0 169.849 167.821 12.5492 163.49 156.508 155.272 8.26199 147.01 149.32 141.014 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=103 num_leaves=14 num_cat=1 split_feature=12 1 13 3 1 2 0 0 5 3 0 12 1 split_gain=419.749 12.6708 9.0782 3.39188 5.28685 2.27837 3.1846 1.50723 1.28274 0.911349 0.122902 0.0297226 0.0018451 threshold=4.8980530291692244 1.1058192561221138 0.85162615880101311 0.52015392592939824 0.71240026013066937 1.2396581529761168 1.1305001193370379 1.0188919694060079 0 1.2103584781205146 1.1305001193370379 4.6109421182883317 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 3 5 4 -1 6 -2 11 -9 -4 -11 -5 -12 right_child=2 -3 9 7 -6 -7 -8 8 -10 10 12 -13 -14 leaf_value=0.012351933985225253 -0.012639327558651658 -0.0049978167891428478 -0.0083121599378832827 0.012174850035638243 -0.0029624418194018304 0.0016603817118251559 -0.00072742261257317819 0.0038479335885208332 0.011322631862985497 -0.010676631350365107 -0.012404771014696756 0.013072322724717768 -0.012173964350254593 leaf_weight=5.1811714023351652 4.463801369071005 4.7337502092123023 6.5623845756053916 141.49028500914574 3.9903608560562134 5.2152542173862448 4.5139157176017761 4.0823434740304947 5.2465423792600614 5.6585026681423178 3.5535290241241446 3.7889730185270301 136.82027921080589 leaf_count=27 21 21 38 965 20 22 20 22 30 36 23 22 933 internal_value=0 0.0111314 -0.0112462 0.0115976 0.00568894 -0.0035964 -0.00665013 0.0119481 0.00805169 -0.0119577 -0.0121216 0.0121983 -0.0121798 internal_weight=0 168.513 166.788 163.78 9.17153 14.193 8.97772 154.608 9.32889 152.595 146.032 145.279 140.374 internal_count=2200 1107 1093 1086 47 63 41 1039 52 1030 992 987 956 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=104 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 1 split_gain=414.496 9.65399 8.36958 4.14889 3.67635 2.1038 1.97089 0.915637 0.1239 0.00324093 0.00178125 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.0024147410769799582 0.0032907956136737793 -0.0082672507237290666 0.0012717490821648036 0.012148616113312298 0.0029719468011558414 -0.011993101068224678 0.0053850374445558111 -0.010639202247603822 -0.012375307604073259 0.012435231742874604 -0.012147662326368993 leaf_weight=4.463432163000105 5.7268085181713095 6.5322043150663367 8.1755459457635862 144.36850233376026 5.5537386238574973 4.7158937305212021 4.426558941602706 5.6218095272779456 3.526504933834075 4.0560536086559287 135.75072695314884 leaf_count=21 25 38 36 992 25 22 23 36 23 26 933 internal_value=0 -0.0111777 0.0111386 0.0116473 -0.00345012 -0.00733564 0.0119603 -0.0119296 -0.0120947 0.0121564 -0.0121534 internal_weight=0 166.164 166.753 158.578 14.7331 9.17933 152.851 151.431 144.899 148.425 139.277 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=105 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 1 split_gain=409.172 9.64272 8.33944 4.14604 3.6112 2.07568 1.9751 0.919971 0.124909 0.00312715 0.00171972 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.0023919117919074667 0.0032610135083013764 -0.0082225723502857631 0.0012589964479390373 0.012122675254932866 0.0029413767085274311 -0.01191559536524135 0.0053434474075359593 -0.010602038543275195 -0.012346272527333895 0.012405287935631644 -0.012121734225491339 leaf_weight=4.4609848409891111 5.7213468253612509 6.5021716952323905 8.1757727563381177 143.23633940517902 5.5553369075059882 4.6991868317127228 4.4164533317089072 5.5852840095758429 3.4995852559804908 4.025339573621749 134.68601839244366 leaf_count=21 25 38 36 992 25 22 23 36 23 26 933 internal_value=0 -0.0111452 0.0111061 0.0116176 -0.00341976 -0.00727758 0.0119328 -0.0119018 -0.0120682 0.0121304 -0.0121274 internal_weight=0 164.989 165.575 157.399 14.7155 9.16017 151.678 150.273 143.771 147.262 138.186 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=106 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 1 3 13 13 split_gain=403.958 12.1393 9.11826 4.84883 3.30331 1.22026 1.14896 1.15094 0.140923 0.139686 0.0136315 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.50652862085158101 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0048154307667698237 -0.011434752386301792 -0.0025687003440661876 -0.0049928765177574231 0.0016203048695123462 0.012030551852132428 0.0078248548455239885 -0.010526585260092558 -0.012629827862652128 -0.01274147989509007 0.014254736264184489 -0.012099111513420758 leaf_weight=6.9276361018419257 4.3792086988687506 6.3155386894941321 4.7263375520706159 8.1205314546823484 141.8858368396759 7.0866053700447074 5.823102429509162 3.3879836350679398 3.3874504566192618 2.8809784948825827 133.29929016530514 leaf_count=33 20 30 26 36 990 38 39 21 21 16 930 internal_value=0 0.0110276 -0.0111606 -0.00295346 0.0115684 0.0118765 -0.0118417 -0.00818154 -0.0120501 0.0120748 -0.012115 internal_weight=0 165.097 163.124 12.4997 158.781 151.853 150.624 8.11432 142.51 144.767 136.687 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=107 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 0 2 3 0 0 1 split_gain=398.923 12.3565 8.96124 4.86875 7.54765 2.27457 3.15416 1.1033 0.928424 0.596154 0.127467 0.00169541 threshold=4.8980530291692244 1.1418730677972666 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2396581529761168 1.1305001193370379 1.2132009332284019 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 9 -4 -5 -10 -12 right_child=2 -3 8 7 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.012357867383226813 -0.0125584458675497 -0.0087865110697145192 -0.008134563143256399 0.012097676834543438 -0.005564477427618765 0.0017470621746473681 -0.00067321519566815107 0.0065135228399598021 -0.010525169669298643 0.0089643365414464066 -0.012295657044512232 -0.012071107178029537 leaf_weight=5.3299797624349576 4.4338187426328641 3.0943052470684043 6.4416795372962943 141.00394567847252 4.202403724193573 5.1981033384799948 4.4982382953166962 3.8116702437400809 5.508841633796691 6.3454197347164145 3.4498974382877341 132.57625375688076 leaf_count=28 21 14 38 986 21 22 20 22 36 36 23 933 internal_value=0 0.0110071 -0.0111209 0.0113882 0.0044567 -0.00351226 -0.00657297 0.0118253 -0.0118474 0.0119627 -0.0120164 -0.0120768 internal_weight=0 163.788 162.107 160.693 9.53238 14.1302 8.93206 151.161 147.977 147.349 141.535 136.026 internal_count=2200 1107 1093 1093 49 63 41 1044 1030 1022 992 956 is_linear=0 shrinkage=0.01 Tree=108 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 1 split_gain=393.923 9.51436 8.17079 4.16484 3.54213 2.04763 1.99828 0.932889 0.128505 0.00298058 0.00163726 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.0023437309679326121 0.0031415613777009111 -0.008090547360282278 0.0012598333755702137 0.012048004267348467 0.002937365591036255 -0.011829011290698617 0.0051920036797778058 -0.010488785486670555 -0.012267781471950734 0.012326799679190462 -0.01204626006371542 leaf_weight=4.4421414285898191 5.6987228989601126 6.4121060669422141 8.1559071838855726 139.90764930844307 5.5389210581779471 4.6669462770223618 4.370644897222518 5.4728520363569251 3.4232925325632086 3.9427448809146872 131.526472017169 leaf_count=21 25 38 36 992 25 22 23 36 23 26 933 internal_value=0 -0.011054 0.0110139 0.0115307 -0.00336883 -0.00720342 0.0118533 -0.0118206 -0.011991 0.0120556 -0.0120519 internal_weight=0 161.483 162.076 153.92 14.648 9.10909 148.221 146.835 140.423 143.85 134.95 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=109 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 2 12 3 0 0 1 split_gain=388.891 9.50414 8.14277 4.16207 3.47944 2.02053 2.00256 0.937395 0.129554 0.00287671 0.00158119 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.17408222448223767 0.43216120423585541 1.2169811510592434 4.6533632910829281 1.2103584781205146 1.1305001193370379 1.0188919694060079 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 5 -1 9 -3 -9 -5 -10 right_child=2 7 -4 6 -6 -7 -8 8 10 -11 -12 leaf_value=-0.00232155241986918 0.003113067108966958 -0.0080467477253290433 0.001247200162724764 0.01202348219473909 0.0029071733036331029 -0.011753506598114558 0.0051517140279194037 -0.010452641018643025 -0.012240305029510005 0.012298435578807368 -0.012021761487888654 leaf_weight=4.4397451132535917 5.6934010088443747 6.3826860338449469 8.1561323106288892 138.79662930965424 5.540472984313964 4.6500425189733505 4.3608272522687903 5.4370387494564048 3.3967999666929236 3.9124714732170096 130.48179976642132 leaf_count=21 25 38 36 992 25 22 23 36 23 26 933 internal_value=0 -0.0110226 0.0109825 0.0115023 -0.00333926 -0.00714664 0.011827 -0.0117942 -0.0119659 0.012031 -0.0120273 internal_weight=0 160.329 160.919 152.763 14.6303 9.08979 147.07 145.698 139.316 142.709 133.879 internal_count=2200 1098 1102 1066 68 43 1041 1030 992 1018 956 is_linear=0 shrinkage=0.01 Tree=110 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 0 3 13 13 split_gain=384.031 11.809 9.00226 4.76724 3.32064 1.23006 1.16762 1.16149 0.146299 0.139299 0.0137905 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2748487141050349 1.2471304352583659 0.50652862085158101 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0046615205950206367 -0.011318897158755854 -0.0025425600876778118 -0.0047718068429398889 0.0016588281267335997 0.011930167500584078 0.0076757282585961997 -0.010374275634972769 -0.012509538836831825 -0.012654574698655567 0.014168693151975595 -0.012000571759863909 leaf_weight=6.875360667705535 4.3512130677700034 6.2728656381368628 4.6311295181512824 8.0992472618818265 137.46532769501209 6.984712302684783 5.6535218209028235 3.3383296132087708 3.3067553490400305 2.8372462689876548 129.13317672908306 leaf_count=33 20 30 26 36 990 38 39 21 21 16 930 internal_value=0 0.0109072 -0.0110391 -0.00287665 0.0114544 0.0117715 -0.0117349 -0.00801307 -0.0119497 0.0119754 -0.0120169 internal_weight=0 160.436 158.513 12.4505 154.163 147.287 146.063 7.96946 138.093 140.303 132.44 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=111 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 3 3 0 0 1 split_gain=379.237 12.0277 8.84854 4.22405 2.26882 3.12395 0.993517 0.946938 0.199023 0.1322 0.00155928 threshold=4.8980530291692244 1.0383879925828392 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2036545671815675 1.2103584781205146 1.1239891699988165 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0030424971812455627 -0.012479905619140986 -0.0013844037308268231 -0.0079586379977406915 0.011996544398691781 0.0018278263226701558 -0.00062126822832948554 0.0057903580603234804 -0.010377633143266644 0.0092461332846040297 -0.01219251699840072 -0.011973912184054435 leaf_weight=5.6801418960094443 4.4038830101490003 7.6054919213056555 6.3227408230304709 140.51579251885414 5.1811735928058615 4.4825735837221146 2.6717213541269293 5.3619268983602515 2.681126043200492 3.3479813486337653 128.41290432214737 leaf_count=25 21 35 38 1016 22 20 15 36 16 23 933 internal_value=0 0.010887 -0.0110001 0.0115029 -0.00343161 -0.00649808 0.0118323 -0.0117424 0.011945 -0.0119168 -0.0119795 internal_weight=0 159.154 157.513 151.549 14.0676 8.88646 145.869 143.446 143.197 137.123 131.761 internal_count=2200 1107 1093 1072 63 41 1047 1030 1032 992 956 is_linear=0 shrinkage=0.01 Tree=112 num_leaves=12 num_cat=0 split_feature=10 13 1 4 3 3 2 3 0 0 1 split_gain=374.482 9.38284 7.95469 3.4145 3.35123 2.30736 1.99677 0.951558 0.164062 0.133278 0.00150624 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.43216120423585541 0.24292548700197389 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1019912764466293 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 6 -2 8 -1 -3 -6 -9 -11 right_child=2 7 -4 -5 5 -7 -8 9 -10 10 -12 leaf_value=-0.0022742930313611734 0.0045864377277602987 -0.0079154672680135426 0.0012723334437743984 0.0029005308772228357 0.011970643281808279 0.0023368028851801169 -0.011675796534023206 -0.010342193487915749 0.0096321200802284169 -0.012166120385923017 -0.011950421255529416 leaf_weight=4.4228170961141569 6.8495872318744651 6.2937981635332099 8.1482012718915922 5.5277455747127524 136.85982552170753 2.5587038099765769 4.617729663848877 5.3266747146844855 3.0672666579484931 3.3218240439891806 127.3838324546814 leaf_count=21 33 38 36 25 999 15 22 36 19 23 933 internal_value=0 -0.0109344 0.0108939 -0.00329078 0.0114189 0.0117473 -0.00707639 -0.0117168 0.0119194 -0.0118927 -0.0119559 internal_weight=0 156.894 157.484 14.5683 149.335 142.486 9.04055 142.326 139.927 136.032 130.706 internal_count=2200 1098 1102 68 1066 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=113 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 1 3 13 13 split_gain=369.743 11.5283 8.94425 4.70482 3.33432 1.24388 1.18244 1.16995 0.150261 0.135868 0.0137881 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.50652862085158101 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0045481591427868643 -0.011214911759732413 -0.00248916762493072 -0.0046428993468770816 0.0016966737080577384 0.011858293701570646 0.0075545867732659299 -0.010263459009419313 -0.012473288001992083 -0.012590241805350988 0.014086047715761526 -0.011930189233497734 leaf_weight=6.8382195681333533 4.3355762958526602 6.2500895410776129 4.6038386523723593 8.0849211513996107 134.2060534954071 6.9077079594135276 5.5297831147909156 3.2586655765771866 3.2463088184595099 2.794679343700408 126.06199045479298 leaf_count=33 20 30 26 36 990 38 39 21 21 16 930 internal_value=0 0.010819 -0.0109495 -0.00281032 0.0113708 0.011695 -0.0116579 -0.00788825 -0.0118777 0.0119037 -0.0119468 internal_weight=0 156.997 155.121 12.4205 150.747 143.908 142.701 7.8625 134.838 137.001 129.308 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=114 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 0 2 3 0 0 1 split_gain=365.207 11.8035 8.7602 4.90915 7.48325 2.24729 3.08764 1.61461 0.960584 0.620165 0.13599 0.00148559 threshold=4.8980530291692244 1.1418730677972666 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 9 -4 -5 -10 -12 right_child=2 -3 8 7 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.0121605510878728 -0.012406376929544201 -0.0086217658477737453 -0.0078303047201647366 0.011941585544633749 -0.0058497754944504352 0.0018617566323419915 -0.00059203436758812223 0.004200265957220374 -0.010268466085853337 0.0086955788395910467 -0.012120327499410055 -0.011904538596612406 leaf_weight=5.198599845170973 4.3776940703392011 3.0675791800022116 6.2354318350553504 134.32072851061821 4.1475776135921478 5.1703430712223044 4.4717477709054947 2.8528435677289954 5.2526157349348059 6.1555690318346015 3.27369500696659 125.34668929874897 leaf_count=28 21 14 38 991 21 22 20 17 36 36 23 933 internal_value=0 0.0108 -0.0109128 0.0111902 0.00416806 -0.00337615 -0.00643642 0.0116481 -0.0116669 0.0117993 -0.0118456 -0.01191 internal_weight=0 155.743 154.128 152.675 9.34618 14.0198 8.84944 143.329 140.108 140.476 133.873 128.62 internal_count=2200 1107 1093 1093 49 63 41 1044 1030 1027 992 956 is_linear=0 shrinkage=0.01 Tree=115 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=360.657 9.26298 7.79894 3.36982 3.34957 2.30912 1.96873 0.965315 0.169596 0.137097 0.00143538 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1019912764466293 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.002231004842368353 0.0044722105891586827 -0.0077877222600383801 0.0012734572006268606 0.011902406907098134 0.0028950651698088641 0.0022183180149268583 -0.011592742069928656 -0.010233678133497397 0.0095049131254496683 -0.012094956010599227 -0.01188200330829832 leaf_weight=4.4036290198564512 6.8154112100601187 6.2069743424653998 8.1283377856016141 133.61140117049217 5.5111753046512595 2.5355734378099433 4.5853429436683655 5.2179407626390448 3.0171624273061743 3.2478859573602668 124.33365316689014 leaf_count=21 33 38 36 999 25 15 22 36 19 23 933 internal_value=0 -0.0108489 0.0108069 0.0113378 -0.00324314 0.011674 -0.0070065 -0.0116423 0.0118495 -0.0118224 -0.0118874 internal_weight=0 153.507 154.108 145.98 14.5001 139.164 8.98897 139.006 136.629 132.799 127.582 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=116 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=356.084 9.25452 7.77423 3.37564 3.29039 2.30477 1.94303 0.97008 0.171605 0.138215 0.00138696 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1019912764466293 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.0022098611480265355 0.0044348129128384825 -0.0077453324675561845 0.0012606855528544286 0.011879963281147866 0.0028653355600419075 0.0021985282671336528 -0.011520075325691857 -0.010199088771527318 0.0094616485007873348 -0.012069938899418533 -0.011859775994874238 leaf_weight=4.4013165533542615 6.8042112588882437 6.1786776483058921 8.128575995564459 132.5306067019701 5.5126655995845786 2.5328269600868216 4.5682099461555481 5.1834535598754874 3.0007317662239066 3.2222003340721121 123.32606513798237 leaf_count=21 33 38 36 999 25 15 22 36 19 23 933 internal_value=0 -0.0108194 0.010777 0.0113109 -0.00321476 0.0116498 -0.00695158 -0.0116179 0.0118264 -0.0117996 -0.0118651 internal_weight=0 152.393 152.997 144.868 14.4822 138.064 8.96953 137.91 135.531 131.732 126.548 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=117 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 1 3 0 3 13 13 split_gain=351.664 11.1892 8.83584 4.62421 3.35814 1.26379 1.20229 1.17857 0.155966 0.133748 0.0139255 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.99689265265511573 1.2190084357665867 1.2748487141050349 1.2471304352583659 0.50652862085158101 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 -4 -8 -6 -10 right_child=2 -3 6 -5 5 -7 8 -9 10 -11 -12 leaf_value=0.0043977029078519306 -0.011103751965624334 -0.0024352319637420349 -0.0044310458950983858 0.0017303272672872406 0.011767149428042398 0.0073928902583190884 -0.010116790384815345 -0.012357777546772215 -0.012512368623641197 0.013997373741891726 -0.011840821511584412 leaf_weight=6.7930689156055442 4.3070008754730216 6.2159724980592719 4.5129703879356375 8.0633134096860868 129.95225435495377 6.7990722060203543 5.3659416288137427 3.2098006010055542 3.1680207401514044 2.7458223253488532 122.04319985210896 leaf_count=33 20 30 26 36 990 38 39 21 21 16 930 internal_value=0 0.0107052 -0.0108353 -0.00273814 0.0112635 0.0115978 -0.0115595 -0.00772562 -0.0117863 0.0118133 -0.0118578 internal_weight=0 152.506 150.67 12.3703 146.29 139.497 138.3 7.72277 130.577 132.698 125.211 internal_count=2200 1107 1093 56 1077 1044 1037 47 990 1006 951 is_linear=0 shrinkage=0.01 Tree=118 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 12 3 0 13 1 split_gain=347.354 11.4969 8.64907 3.44577 2.23875 3.05402 1.01819 0.980154 0.141017 0.0031922 0.00136848 threshold=4.8980530291692244 1.0383879925828392 0.85162615880101311 0.24292548700197389 1.2396581529761168 1.1305001193370379 4.6533632910829281 1.2103584781205146 1.1305001193370379 0.45127701946665238 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 9 -4 -9 -5 -10 right_child=2 -3 7 6 -6 -7 -8 8 10 -11 -12 leaf_value=0.0043608776133212089 -0.012329691823721151 -0.0013355720347102335 -0.0076598331583418704 0.011821193163472292 0.0019326012486365885 -0.00054889515242026888 0.0071836212817089256 -0.010126887046242443 -0.012026661362053088 0.012131761135320572 -0.011816353848231112 leaf_weight=6.7819839864969245 4.3476657271385175 7.5573098063468924 6.1208724677562705 128.65339240431786 5.1521086990833274 4.4556896090507507 4.8927531987428656 5.1108309030532828 3.1750259548425666 3.3969989418983451 121.33243930339813 leaf_count=33 21 35 38 988 22 20 27 36 23 24 933 internal_value=0 0.0106865 -0.0107995 0.0113186 -0.00330294 -0.00636701 0.0116632 -0.0115702 -0.0117549 0.0118292 -0.0118217 internal_weight=0 151.282 149.695 143.725 13.9555 8.80336 136.943 135.739 129.618 132.05 124.507 internal_count=2200 1107 1093 1072 63 41 1039 1030 992 1012 956 is_linear=0 shrinkage=0.01 Tree=119 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=343.003 9.14036 7.60033 3.39367 3.22645 2.30998 1.91995 0.985015 0.177521 0.142164 0.00132259 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1019912764466293 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.0021646727155481592 0.0043243351983920418 -0.0076180060190465674 0.0012846060966270371 0.011815162536693551 0.0028552143270055884 0.0020735701477969919 -0.011444359954828454 -0.010092884814513195 0.0093340445472634009 -0.012002600889987711 -0.011795020050513826 leaf_weight=4.3845860958099347 6.7709570676088324 6.0930745601654044 8.1205654740333539 129.34253388643265 5.4989442378282538 2.5087291002273551 4.5363298505544662 5.0769385099411002 2.9494865685701361 3.1497036069631568 120.34133958816528 leaf_count=21 33 38 36 999 25 15 22 36 19 23 933 internal_value=0 -0.0107364 0.0106929 0.0112326 -0.00316965 0.0115796 -0.00688344 -0.0115467 0.0117598 -0.0117329 -0.0118003 internal_weight=0 149.081 149.692 141.572 14.4199 134.801 8.92092 134.661 132.292 128.568 123.491 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=120 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 0 2 3 0 0 1 split_gain=338.703 11.4058 8.61848 4.95951 7.40906 2.21482 3.01786 1.62059 0.989906 0.639811 0.143322 0.0012783 threshold=4.8980530291692244 1.1418730677972666 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 9 -4 -5 -10 -12 right_child=2 -3 8 7 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.011986102826879879 -0.012260015618395396 -0.0085127158823981846 -0.0075763603222991629 0.011813533357951975 -0.0060650212813650687 0.0019537523060449528 -0.00052872352232583573 0.003958357837271863 -0.010059062395059878 0.0084718764242837103 -0.011978872474060029 -0.011773975121103158 leaf_weight=5.0898288488388044 4.3233644813299161 3.0490113198757163 6.0654402524232855 128.05564866960049 4.1098169386386871 5.1458082795143119 4.449821725487709 2.7860439270734778 5.0432380586862555 5.9980200678110114 3.1245095878839484 119.35581690073013 leaf_count=28 21 14 38 991 21 22 20 17 36 36 23 933 internal_value=0 0.0106297 -0.0107432 0.0110293 0.00392201 -0.0032548 -0.00630982 0.0115071 -0.0115234 0.011664 -0.0117112 -0.0117792 internal_weight=0 149.088 147.508 146.039 9.19965 13.919 8.77319 136.84 133.589 134.054 127.524 122.48 internal_count=2200 1107 1093 1093 49 63 41 1044 1030 1027 992 956 is_linear=0 shrinkage=0.01 Tree=121 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=334.519 9.08007 7.5238 3.40574 3.16812 2.31244 1.90181 0.994828 0.18035 0.144491 0.00123556 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1019912764466293 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.002119889910292252 0.0042519481716119245 -0.0075348934447213214 0.0012714634811976026 0.011773432488458498 0.0028407221349402551 0.0019948279667599709 -0.01137414518939448 -0.010025414506299979 0.0092597147515375514 -0.011955470281293335 -0.011753213555815101 leaf_weight=4.3700948655605298 6.7486160248517981 6.0379702448844901 8.1060060411691648 127.24733920395374 5.4887609034776679 2.4933297038078299 4.5149343758821487 5.009731099009513 2.9196884036064139 3.0994450449943534 118.37589962780476 leaf_count=21 33 38 36 999 25 15 22 36 19 23 933 internal_value=0 -0.0106816 0.0106372 0.0111818 -0.00313248 0.0115343 -0.00682245 -0.0115004 0.011717 -0.0116897 -0.0117584 internal_weight=0 146.897 147.515 139.409 14.3738 132.66 8.88503 132.523 130.167 126.485 121.475 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=122 num_leaves=13 num_cat=0 split_feature=1 3 13 3 3 13 4 3 1 3 13 1 split_gain=330.412 10.7888 8.72148 4.56347 3.38767 1.28441 1.90166 1.2276 1.19795 0.163584 0.0143372 0.00236703 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.46553849925547169 0.4118824176054639 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.91589481622423152 0.98578357518082749 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 11 -7 8 -4 -9 -11 -6 right_child=2 -3 7 -5 5 6 -8 9 -10 10 -12 -13 leaf_value=0.0042162407973546394 -0.010986729152202612 -0.0023805817856221347 -0.0042018005701513475 0.0018008187386292359 0.011733619618126408 0.0025605662397152947 0.01198496543037272 -0.0099359579181289674 -0.012297016657804248 -0.012427510570954115 -0.011735807188259666 0.012036506035439785 leaf_weight=6.7377667278051367 4.2773672491312018 6.1643211692571631 4.4499050974845877 8.0296561419963819 122.82247377932072 3.8829228729009611 4.7727183848619461 5.1646318137645713 3.1025533974170685 3.0752403140068045 117.14441556483507 2.6355134844779959 leaf_count=33 20 30 26 36 976 20 29 39 21 21 930 19 internal_value=0 0.0105686 -0.0106972 -0.00264356 0.0111353 0.0114829 0.00775718 -0.0114428 -0.00752732 -0.0116786 -0.0117535 0.01174 internal_weight=0 147.016 145.244 12.307 140.851 134.114 8.65564 132.937 7.55246 125.384 120.22 125.458 internal_count=2200 1107 1093 56 1077 1044 49 1037 47 990 951 995 is_linear=0 shrinkage=0.01 Tree=123 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 3 3 0 0 1 split_gain=326.309 11.1629 8.53852 3.47818 2.19401 2.98084 1.05022 1.00447 0.230315 0.147412 0.00121965 threshold=4.8980530291692244 1.0383879925828392 0.85162615880101311 0.24292548700197389 1.2396581529761168 1.1305001193370379 1.2103584781205146 1.2103584781205146 1.1305001193370379 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.0041808072313060871 -0.012188456341462324 -0.0013135245412359661 -0.007452907657190211 0.011734492811967293 0.0019856131660499973 -0.00050454276400057046 0.0050832675582136964 -0.0099548617027502024 0.0086109296926956055 -0.011915111183337393 -0.011712651129233823 leaf_weight=6.7269768714904776 4.2972104847431165 7.5233336538076392 5.9824671596288672 126.71518017351627 5.1337811648845664 4.4392842352390289 2.4621325284242621 4.9389507174491873 2.4054043442010871 3.0535118430852881 116.43823724985123 leaf_count=33 21 35 38 1010 22 20 14 36 15 23 933 internal_value=0 0.0105491 -0.0106621 0.0111944 -0.00320271 -0.0062515 0.0115529 -0.0114554 0.0116763 -0.0116478 -0.0117178 internal_weight=0 145.833 144.283 138.31 13.8703 8.73649 131.583 130.413 129.121 124.431 119.492 internal_count=2200 1107 1093 1072 63 41 1039 1030 1025 992 956 is_linear=0 shrinkage=0.01 Tree=124 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=322.275 8.98646 7.35463 3.42342 3.10219 2.3076 1.87792 1.00948 0.22639 0.148609 0.00117911 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1135288793191862 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.0020703786035541055 0.0041456449081332235 -0.0074119546663873872 0.001297708150714142 0.011713571699857881 0.0028310943730794286 0.0019050551721920377 -0.011290956442176663 -0.0099217274738321488 0.0086459429660141716 -0.011892587412053462 -0.011692710429540228 leaf_weight=4.354482635855673 6.7162475883960715 5.9555020779371253 8.098051041364668 124.55257472395897 5.4763904213905326 2.4751406461000434 4.482684850692749 4.9060551673173896 2.453139215707778 3.0288257524371138 115.47526681423187 leaf_count=21 33 38 36 1002 25 15 22 36 16 23 933 internal_value=0 -0.0106013 0.0105564 0.0111069 -0.00308274 0.011468 -0.00674755 -0.0114332 0.0116543 -0.0116272 -0.0116978 internal_weight=0 143.679 144.295 136.197 14.3136 129.481 8.83717 129.366 127.006 123.41 118.504 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=125 num_leaves=13 num_cat=0 split_feature=1 3 13 3 3 13 4 3 1 3 13 1 split_gain=318.288 10.5411 8.67223 4.50363 3.4047 1.30362 1.87797 1.24374 1.20197 0.167975 0.0143031 0.00228406 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 0.46553849925547169 0.4118824176054639 1.2190084357665867 1.2807709791646134 1.2471304352583659 0.91589481622423152 0.98578357518082749 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 11 -7 8 -4 -9 -11 -6 right_child=2 -3 7 -5 5 6 -8 9 -10 10 -12 -13 leaf_value=0.0041107512992947281 -0.010889173052127868 -0.0023286756486869831 -0.0040685715232602988 0.0018336403648211005 0.011674020342920595 0.0024723335122886414 0.011887251067803651 -0.0098311632479522199 -0.012237191582392556 -0.012373531885966944 -0.01167608051312901 0.011974841131988394 leaf_weight=6.7055784165859214 4.2613581717014304 6.1422684192657462 4.4045537114143363 8.0157679766416532 119.80825310945511 3.8575612604618055 4.6999061703681946 5.0487656891345969 3.0478324815630913 3.0180373787879935 114.27096086740494 2.5783367082476607 leaf_count=33 20 30 26 36 976 20 29 39 21 21 930 19 internal_value=0 0.0104887 -0.0106157 -0.00258241 0.0110606 0.0114165 0.00764317 -0.0113755 -0.00740933 -0.0116171 -0.011694 0.0116804 internal_weight=0 143.792 142.067 12.2771 137.65 130.944 8.55747 129.79 7.45239 122.338 117.289 122.387 internal_count=2200 1107 1093 56 1077 1044 49 1037 47 990 951 995 is_linear=0 shrinkage=0.01 Tree=126 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 0 2 3 0 0 1 split_gain=314.401 10.9428 8.46082 4.99659 7.31822 2.17339 2.94441 1.62378 1.01929 0.65739 0.151597 0.0011641 threshold=4.8980530291692244 1.1418730677972666 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 9 -4 -5 -10 -12 right_child=2 -3 8 7 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.011821223552405984 -0.01211828067167728 -0.0083549053960523048 -0.007330951064208756 0.011695488984810114 -0.0062488095872424536 0.0020164784530339835 -0.0004812572430114093 0.0037350293821458774 -0.0098520656107476609 0.0082626326367252687 -0.011853854472022708 -0.011653751880301742 leaf_weight=4.9835917651653272 4.2711451649665815 3.0224751830101004 5.9009730070829383 121.99094026535749 4.0729278922080994 5.1216102093458167 4.428809255361557 2.7233560085296622 4.8364271074533454 5.8457410037517539 2.9836553186178199 113.57177289575338 leaf_count=28 21 14 38 991 21 22 20 17 36 36 23 933 internal_value=0 0.01047 -0.0105827 0.0108775 0.00369471 -0.00315179 -0.00619432 0.0113757 -0.0113896 0.0115385 -0.0115869 -0.0116589 internal_weight=0 142.639 141.114 139.617 9.05652 13.8216 8.69995 130.56 127.293 127.837 121.392 116.555 internal_count=2200 1107 1093 1093 49 63 41 1044 1030 1027 992 956 is_linear=0 shrinkage=0.01 Tree=127 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=310.52 8.89017 7.21421 3.441 3.03703 2.30801 1.85061 1.02438 0.232504 0.152824 0.00112562 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1135288793191862 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.0020251732595053065 0.0040416818488892134 -0.0072904918079360094 0.0013014895825141774 0.011655441859762342 0.0028221062933856461 0.0018017269812770202 -0.011204004655331523 -0.0098194034273483555 0.0085219970663455956 -0.011832167168075055 -0.011634593369984545 leaf_weight=4.336623549461363 6.68372519314289 5.8745168149471274 8.0780717283487302 121.50005307048559 5.4600492268800727 2.4544609785079947 4.451055184006691 4.8041512817144385 2.4150902703404418 2.9593545943498603 112.62594214081764 leaf_count=21 33 38 36 1002 25 15 22 36 16 23 933 internal_value=0 -0.0105231 0.0104772 0.0110343 -0.0030351 0.0114042 -0.00667435 -0.011368 0.0115944 -0.011567 -0.0116397 internal_weight=0 140.512 141.131 133.053 14.2477 126.37 8.78768 126.264 123.915 120.389 115.585 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=128 num_leaves=12 num_cat=0 split_feature=1 3 13 3 3 0 3 0 12 3 13 split_gain=306.665 10.3159 8.60664 4.42527 3.42128 1.56702 1.26013 1.2097 0.486619 0.172482 0.0142643 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 1.1546668796111181 1.2190084357665867 1.2748487141050349 4.7089134508189288 1.2471304352583659 0.91589481622423152 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 8 7 -4 -6 -8 -11 right_child=2 -3 6 -5 5 -7 9 -9 -10 10 -12 leaf_value=0.0040075830752285459 -0.010791258664161543 -0.0022911036294182932 -0.0039066211246769891 0.001848375807223711 0.011405071361118782 0.0032508269823621106 -0.0097274868394169722 -0.012150593014704779 0.015438992506513561 -0.012321855172963627 -0.011618701668609611 leaf_weight=6.673240900039672 4.2370366901159269 6.1162286698818198 4.3333545476198188 7.9996990114450455 122.43075216561556 2.3437418267130843 4.93493328988552 3.0207127407193184 3.0653077363967887 2.9616961777210227 111.44880411028862 leaf_count=33 20 30 26 36 1015 13 39 21 16 21 930 internal_value=0 0.0104104 -0.0105369 -0.00252817 0.0109879 0.0113523 -0.0113104 -0.00729287 0.0115036 -0.0115579 -0.0116369 internal_weight=0 140.629 138.936 12.2367 134.513 127.84 126.7 7.35407 125.496 119.345 114.411 internal_count=2200 1107 1093 56 1077 1044 1037 47 1031 990 951 is_linear=0 shrinkage=0.01 Tree=129 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 0 2 3 10 0 1 split_gain=302.966 14.6068 8.38105 5.84617 7.8354 2.14747 2.91664 1.65585 1.03514 0.918378 0.15588 0.00111144 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 3.5000000000000004 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 9 -4 -5 -10 -12 right_child=2 -3 8 7 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.011726185239273917 -0.012055880824554123 -0.014577869113709856 -0.00720850328744819 0.015235686245854991 -0.0067572845738351466 0.0020369194344768199 -0.00044959123925834312 0.0036043640020586121 -0.0097505445636484039 0.011334523246498862 -0.011794975704196265 -0.011597156178609458 leaf_weight=4.9256881549954397 4.2455203086137754 2.3039512634277335 5.8202223926782599 6.3569243550300589 4.2918100357055664 5.1101958006620398 4.4187006503343582 2.6909954696893683 4.7356895208358756 118.93430352210999 2.9149543419480315 110.75694204866886 leaf_count=28 21 11 38 38 22 22 20 17 36 991 23 933 internal_value=0 0.0103925 -0.0105052 0.0108118 0.00312 -0.00310438 -0.00613674 0.0113658 -0.0113258 0.0115325 -0.0115282 -0.0116022 internal_weight=0 139.504 138.002 137.2 9.2175 13.7744 8.66422 127.982 124.228 125.291 118.408 113.672 internal_count=2200 1107 1093 1096 50 63 41 1046 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=130 num_leaves=12 num_cat=0 split_feature=10 13 1 3 4 3 2 3 0 0 1 split_gain=299.24 8.77579 7.11692 3.45684 2.98471 2.31711 1.82495 1.0403 0.239181 0.157136 0.0010749 threshold=2.5000000000000004 0.85162615880101311 1.0383879925828392 0.24292548700197389 0.43216120423585541 1.1981154781470527 1.2169811510592434 1.2103584781205146 1.1135288793191862 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 6 8 -1 -3 -5 -9 -11 right_child=2 7 -4 5 -6 -7 -8 9 -10 10 -12 leaf_value=-0.0019916155397423346 0.0039419205656904413 -0.0071685290069638061 0.0012768758995419249 0.011599863686642363 0.0028190828391773475 0.0016767681654813876 -0.011134295518006545 -0.009718316568066241 0.0083947599949241291 -0.01177408562799823 -0.011578742585992516 leaf_weight=4.3151919990777952 6.6520539820194236 5.7942816615104666 8.0542654693126661 118.53211715072393 5.4393127858638755 2.4312382340431204 4.4190405607223511 4.7040389925241461 2.3749697953462592 2.8910447731614104 109.82840002328157 leaf_count=21 33 38 36 1002 25 15 22 36 16 23 933 internal_value=0 -0.0104477 0.0103986 0.0109638 -0.00299595 0.0113425 -0.00661731 -0.0113049 0.0115369 -0.011509 -0.0115838 internal_weight=0 137.391 138.045 129.99 14.1735 123.338 8.73423 123.218 120.907 117.423 112.719 internal_count=2200 1098 1102 1066 68 1033 43 1030 1018 992 956 is_linear=0 shrinkage=0.01 Tree=131 num_leaves=14 num_cat=0 split_feature=1 3 13 3 3 0 3 0 12 12 13 0 12 split_gain=295.5 10.1051 8.53281 4.32488 3.4351 1.58052 1.28032 1.3064 1.68805 0.479003 0.0142204 0.00155641 0.000917015 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7089134508189288 0.91589481622423152 1.1305001193370379 5.6282894992994832 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 8 -4 -6 -8 -12 -9 right_child=2 -3 6 -5 5 -7 10 12 -10 -11 11 -13 -14 leaf_value=0.0039085836465020838 -0.010683589159805941 -0.0022620736522554908 -0.010176891548756886 0.0018443887767478863 0.011344466944016031 0.0031171108938392233 -0.012272359026742272 -0.012022608483036497 -0.00022219177167894953 0.015370387813366325 -0.011780744691782769 -0.011556967203335424 -0.011758455659071137 leaf_weight=6.6417538672685614 4.2075765579938871 6.0881500244140616 3.4517632424831373 7.9850484579801559 119.45535808056593 2.3226552531123152 2.9062225446104994 2.7406267076730728 3.3631818294525146 3.0303125828504553 3.2024479508399954 105.47593979537487 2.5250514522194862 leaf_count=33 20 30 22 36 1015 13 21 20 24 16 25 905 20 internal_value=0 0.0103329 -0.0104603 -0.00247892 0.0109162 0.0112891 -0.0112472 -0.00815485 -0.00526424 0.0114441 -0.011582 -0.0115636 -0.0118959 internal_weight=0 137.538 135.858 12.1926 131.45 124.808 123.665 12.0806 6.81495 122.486 111.585 108.678 5.26568 internal_count=2200 1107 1093 56 1077 1044 1037 86 46 1031 951 930 40 is_linear=0 shrinkage=0.01 Tree=132 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 1 split_gain=291.971 14.2808 8.31046 6.06469 2.12347 2.88995 1.61941 1.0517 0.811623 0.160236 0.00106767 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00088690170346719492 -0.011993415943627383 -0.014482999460275463 -0.0070862935684186737 0.011543422161876864 0.0020627498138517234 -0.00041539272222323358 0.0034747885393600344 -0.0096504648051946706 0.0078175319724344897 -0.011738996982354338 -0.011542843860514134 leaf_weight=5.9707596600055686 4.2193326801061612 2.2831947505474082 5.7404010295867911 119.36696940660477 5.0979813933372489 4.4082672297954559 2.6590901091694823 4.6369383558630934 6.1475793346762648 2.8480805903673163 107.9980782866478 leaf_count=27 21 11 38 1014 22 20 17 36 38 23 933 internal_value=0 0.0103163 -0.010429 0.0107384 -0.00305412 -0.00607763 0.0111973 -0.011264 0.0113609 -0.0114717 -0.0115479 internal_weight=0 136.428 134.949 134.144 13.7256 8.6276 128.174 121.223 125.515 115.483 110.846 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=133 num_leaves=14 num_cat=0 split_feature=10 1 1 1 3 3 2 3 3 13 13 0 3 split_gain=288.371 10.3403 7.02545 3.80021 3.4629 2.75092 2.5429 2.32249 0.429195 0.296182 0.985603 0.243342 0.0129218 threshold=2.5000000000000004 0.9791112189391441 1.0383879925828392 1.1899369278690821 0.24292548700197389 1.2616250467501662 1.2396581529761168 1.1981154781470527 1.3268335175992902 0.97735317110040087 0.87216409470284928 1.1135288793191862 1.2103584781205146 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 4 5 -2 6 -3 11 -7 10 -5 -6 -11 right_child=2 3 -4 9 7 8 -8 -9 -10 12 -12 -13 -14 leaf_value=0.012654191946664046 0.0038547153279630442 -0.0078324914426768522 0.0012513545279895894 -0.013112060000356978 0.011546057373417433 -0.0080683690203713805 0.0021846178075890514 0.0015651913770138662 -0.012273122966211256 -0.012159475336520783 -0.0051456345142572961 0.0082904396272080391 -0.011527100949113522 leaf_weight=1.9221866279840458 6.6213071793317786 5.2974962294101733 8.0313206464052183 3.2475794851779929 115.59882950782776 4.2842779606580716 4.8583640232682228 2.4101715683937064 5.6015759110450745 3.3361407071351996 2.9762988090515137 2.3424099311232558 102.80969337373972 leaf_count=10 33 29 36 19 1002 31 26 15 42 23 23 16 895 internal_value=0 -0.0103729 0.0103217 -0.0107072 0.0108955 -0.00669578 -0.0030405 0.0112828 -0.0104509 -0.0114227 -0.00930246 0.0114814 -0.011547 internal_weight=0 134.334 135.004 132.411 126.973 20.0417 10.1559 120.351 9.88585 112.37 6.22388 117.941 106.146 internal_count=2200 1098 1102 1088 1066 128 55 1033 73 960 42 1018 918 is_linear=0 shrinkage=0.01 Tree=134 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 1 split_gain=284.788 14.0212 8.31704 6.05318 2.06775 2.85738 1.62462 1.06354 0.826685 0.163081 0.00107762 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 1.1368346020835252 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00084272408554092351 -0.011901293715376125 -0.014407201632487885 -0.0070036445656069743 0.011506552411967595 0.0020563524287389935 -0.00035662348982939133 0.0033941874400840373 -0.0095856584164284147 0.0077304497991119193 -0.011706482193833039 -0.0115080041819587 leaf_weight=5.9621093720197669 4.1846022307872754 2.2644018232822409 5.6858814656734458 117.41851718723774 5.0940016806125632 4.3962278217077255 2.6414457932114592 4.573877476155757 6.0987881496548644 2.807861126959323 106.19746996462345 leaf_count=27 21 11 38 1014 22 20 17 36 38 23 933 internal_value=0 0.010266 -0.0103773 0.0106888 -0.00299052 -0.0059866 0.0111542 -0.0112242 0.0113201 -0.0114355 -0.0115131 internal_weight=0 134.385 132.94 132.121 13.6748 8.58083 126.159 119.265 123.517 113.579 109.005 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=135 num_leaves=14 num_cat=0 split_feature=10 1 1 1 3 3 2 3 3 13 13 0 3 split_gain=281.315 10.1449 6.98281 3.82286 3.46313 2.72547 2.49443 2.32543 0.431103 0.304438 0.983993 0.246735 0.0125126 threshold=2.5000000000000004 0.9791112189391441 1.0383879925828392 1.1899369278690821 0.24292548700197389 1.2616250467501662 1.2396581529761168 1.1981154781470527 1.3268335175992902 0.97735317110040087 0.87216409470284928 1.1135288793191862 1.2103584781205146 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 4 5 -2 6 -3 11 -7 10 -5 -6 -11 right_child=2 3 -4 9 7 8 -8 -9 -10 12 -12 -13 -14 leaf_value=0.012571369745943826 0.0038016669647448391 -0.0077511869301297763 0.001223582422120706 -0.01305349776799393 0.011511328314076526 -0.0079916937703068177 0.0021906828672955646 0.0014927692262810832 -0.012231740686155708 -0.012118611769370241 -0.0050502254473951133 0.0082171651182258304 -0.011492409524268117 leaf_weight=1.9074342399835575 6.6011162400245658 5.2609907686710375 8.0171303600072843 3.2103753462433806 113.66639922559261 4.2391752228140813 4.8504192978143692 2.3961007148027411 5.520942322909832 3.2949615418910971 2.9459132999181747 2.3201534152030936 101.08045619726181 leaf_count=10 33 29 36 19 1002 31 26 15 42 23 23 16 895 internal_value=0 -0.0103239 0.0102706 -0.0106587 0.0108509 -0.00662063 -0.0029821 0.011244 -0.0103901 -0.0113847 -0.00922376 0.0114454 -0.0115122 internal_weight=0 132.311 133.001 130.403 124.984 19.8715 10.1114 118.383 9.76012 110.532 6.15629 115.987 104.375 internal_count=2200 1098 1102 1088 1066 128 55 1033 73 960 42 1018 918 is_linear=0 shrinkage=0.01 Tree=136 num_leaves=14 num_cat=0 split_feature=10 1 1 1 3 3 2 3 3 13 13 0 3 split_gain=277.821 10.0164 6.96469 3.83999 3.46863 2.7078 2.45297 2.32137 0.431738 0.309581 0.977534 0.24903 0.0120833 threshold=2.5000000000000004 0.9791112189391441 1.0383879925828392 1.1899369278690821 0.24292548700197389 1.2616250467501662 1.2396581529761168 1.1981154781470527 1.3268335175992902 0.97735317110040087 0.87216409470284928 1.1135288793191862 1.2103584781205146 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 4 5 -2 6 -3 11 -7 10 -5 -6 -11 right_child=2 3 -4 9 7 8 -8 -9 -10 12 -12 -13 -14 leaf_value=0.012496314851038737 0.0037693893585914813 -0.0076970004857561036 0.0012113114493423494 -0.013015041035273045 0.011494086237495552 -0.0079502424605359528 0.0021672558088492986 0.0014789678580115436 -0.012206550706813804 -0.012093169707126568 -0.0050173011726011062 0.008176197844347732 -0.011475359297044489 leaf_weight=1.899740383028983 6.5911163240671149 5.2451274469494837 8.0173609554767591 3.1877760142087928 112.70335482060909 4.218767471611498 4.8538049831986427 2.39428487420082 5.4772314131259918 3.2690048515796652 2.9356441646814346 2.3085193485021582 100.22263486683369 leaf_count=10 33 29 36 19 1002 31 26 15 42 23 23 16 895 internal_value=0 -0.0102989 0.0102443 -0.0106336 0.0108283 -0.00658 -0.00295599 0.0112246 -0.0103546 -0.0113656 -0.00918082 0.0114275 -0.0114949 internal_weight=0 131.31 132.015 129.41 123.997 19.7949 10.0989 117.406 9.696 109.615 6.12342 115.012 103.492 internal_count=2200 1098 1102 1088 1066 128 55 1033 73 960 42 1018 918 is_linear=0 shrinkage=0.01 Tree=137 num_leaves=14 num_cat=0 split_feature=1 3 13 3 3 0 3 0 12 12 13 0 12 split_gain=274.38 9.70095 8.46713 4.26525 3.44359 1.59833 1.32957 1.32725 1.72289 0.469916 0.0134415 0.00141493 0.000935618 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7089134508189288 0.91589481622423152 1.1305001193370379 5.6282894992994832 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 8 -4 -6 -8 -12 -9 right_child=2 -3 6 -5 5 -7 10 12 -10 -11 11 -13 -14 leaf_value=0.0037373586158921095 -0.010554353798906733 -0.0022237627328571602 -0.010012738110382884 0.001965130668415283 0.011228294769906893 0.0028899802107209939 -0.012162276975948766 -0.011919099339282421 0.00018018697488668626 0.015259500292405657 -0.011671897462923663 -0.011453694703968969 -0.011646493904036792 leaf_weight=6.5811791270971289 4.143666133284567 6.0130759924650183 3.3613537102937681 7.9274859577417374 113.62472873926163 2.28731745481491 2.8005775064229956 2.6381920203566551 3.2729855552315712 2.9671923890709868 3.0625320002436629 100.2612023204565 2.408324271440506 leaf_count=33 20 30 22 36 1015 13 21 20 24 16 25 905 20 internal_value=0 0.010184 -0.0103089 -0.00233243 0.0107787 0.0111685 -0.0111262 -0.00792408 -0.00498416 0.0113309 -0.0114787 -0.0114602 -0.011789 internal_weight=0 131.473 129.876 12.0712 125.46 118.879 117.805 11.6809 6.63434 116.592 106.124 103.324 5.04652 internal_count=2200 1107 1093 56 1077 1044 1037 86 46 1031 951 930 40 is_linear=0 shrinkage=0.01 Tree=138 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=271.11 13.5846 8.29071 6.04781 1.99388 2.83595 1.64645 1.08834 0.850918 0.169464 0.00122582 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00073926084495350337 -0.011784982945752013 -0.014290170605705085 -0.0068373794821332658 0.011438234929518351 0.0020710311132535828 -0.00022955436275942743 0.0031927408876789541 -0.0094534600032961449 0.0075738778889682893 -0.011587517981525235 -0.011438366422756197 leaf_weight=5.93801625072956 4.1339614167809469 2.2318895906209937 5.5762604773044577 113.63239198178053 5.0782315284013739 4.3679260760545731 2.5947186127305022 4.4456488937139502 5.9989618062973014 5.8330445885658255 99.575517609715462 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.0101688 -0.0102777 0.0105947 -0.00288688 -0.00584827 0.0110735 -0.0111472 0.0112445 -0.011366 -0.0114466 internal_weight=0 130.396 129.011 128.164 13.5801 8.50189 122.226 115.43 119.631 109.854 105.409 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=139 num_leaves=16 num_cat=0 split_feature=10 1 3 1 3 1 3 2 1 10 3 13 13 12 3 split_gain=267.786 9.77909 6.92769 8.89602 4.29931 3.86059 2.666 2.39848 1.77084 1.87193 0.436167 0.320944 0.980547 0.0235579 0.0116508 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.73272418878666612 1.2190084357665867 1.1899369278690821 1.2616250467501662 1.2396581529761168 1.0023056708553677 3.5000000000000004 1.3268335175992902 0.97735317110040087 0.87216409470284928 4.6360580590350748 1.2103584781205146 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 8 6 7 -3 13 -10 -8 12 -7 -4 -13 right_child=2 5 4 -5 -6 11 10 -9 9 -11 -12 14 -14 -15 -16 leaf_value=0.012407704223238669 0.011527349784384246 -0.0075988732903249871 0.011423901678825827 -0.0078938678854631548 -0.001729512372179104 -0.012939209176369074 -0.0078360388415588383 0.0021869890549142609 0.011151941494333477 0.0016178229182127984 -0.012153910973182554 -0.012037997797939416 -0.0048638727363251415 0.012427464344855983 -0.011425780049871572 leaf_weight=1.880637615919112 4.7679350301623327 5.1952140927314776 106.33160500973463 4.6672899127006531 2.6687807738780966 3.1377114728093138 4.1493595167994481 4.8360431045293808 4.3550372868776304 3.9066825211048126 5.3633482679724693 3.2106043696403495 2.8873003199696541 2.3917102962732306 97.694619931280613 leaf_count=10 28 29 975 24 14 19 31 26 20 24 42 23 23 17 895 internal_value=0 -0.0102279 0.01017 0.00192032 0.0108205 -0.0105645 -0.00647778 -0.00288113 0.0111068 0.00664359 -0.0102705 -0.0113114 -0.00906935 0.011446 -0.0114453 internal_weight=0 128.355 129.089 9.43522 119.654 126.474 19.544 10.0313 116.985 8.26172 9.51271 106.93 6.02501 108.723 100.905 internal_count=2200 1098 1102 52 1050 1088 128 55 1036 44 73 960 42 992 918 is_linear=0 shrinkage=0.01 Tree=140 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=264.497 13.3432 8.28104 6.02252 1.94038 2.79203 1.65272 1.10034 0.869792 0.172425 0.00126915 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00070646606680357829 -0.011691736736809139 -0.014222633447185773 -0.0067563729290629343 0.011403506283896506 0.0020555357161043488 -0.0001930892197140003 0.0031099503675749434 -0.0093899962659872056 0.0074792532090871312 -0.01155882319815062 -0.011405986599156552 leaf_weight=5.9273224771022788 4.0982531532645208 2.2129506170749655 5.5236797034740439 111.77454929798841 5.0741793513298026 4.3563009649515152 2.5771624594926825 4.3850327655673018 5.9486789852380744 5.7525477707386008 97.886148639023304 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.0101202 -0.0102285 0.0105469 -0.00283298 -0.00576693 0.0110318 -0.0111097 0.0112052 -0.0113323 -0.0114145 internal_weight=0 128.441 127.076 126.228 13.5287 8.45455 120.3 113.547 117.723 108.024 103.639 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=141 num_leaves=14 num_cat=0 split_feature=1 3 13 3 3 0 3 0 12 12 13 0 12 split_gain=261.308 9.43031 8.35568 4.15914 3.43718 1.61299 1.36354 1.34154 1.73928 0.463023 0.0132296 0.00134177 0.000909699 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 1.0686078178399756 0.24292548700197389 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7089134508189288 0.91589481622423152 1.1305001193370379 5.6282894992994832 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 3 -2 -1 9 7 8 -4 -6 -8 -12 -9 right_child=2 -3 6 -5 5 -7 10 12 -10 -11 11 -13 -14 leaf_value=0.0036402550882317797 -0.010451034917117552 -0.0021868167704123076 -0.009901420856867833 0.0019687308651797075 0.011154985554123942 0.0027350786491103542 -0.012100641152715757 -0.011851965877905804 0.00043134035816982708 0.015187978030464429 -0.011604617668541079 -0.011388948395229448 -0.011579284581199336 leaf_weight=6.5423543453216544 4.094965457916258 5.9655361473560324 3.2987373322248441 7.8946086913347244 109.88078093528748 2.2643176838755599 2.7324904575943938 2.569959782063961 3.2184747233986855 2.9224501103162757 2.9732377156615248 96.886563040316105 2.3350966051220894 leaf_count=33 20 30 22 36 1015 13 21 20 24 16 25 905 20 internal_value=0 0.0100887 -0.0102142 -0.00227316 0.0106909 0.0110917 -0.0110493 -0.00777181 -0.00479867 0.0112595 -0.0114142 -0.0113954 -0.0117222 internal_weight=0 127.575 126.004 11.9896 121.61 115.068 114.015 11.4223 6.51721 112.803 102.592 99.8598 4.90506 internal_count=2200 1107 1093 56 1077 1044 1037 86 46 1031 951 930 40 is_linear=0 shrinkage=0.01 Tree=142 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=258.143 13.0735 8.23174 5.99903 1.90635 2.76469 1.66339 1.11193 0.882733 0.175749 0.0012589 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00067489671980249996 -0.0116376948146536 -0.01413505855869562 -0.0066772399312844607 0.011370312797666766 0.0020406318477870604 -0.0001762560887850636 0.0030136309935233328 -0.0093240763396144639 0.0074000970511125244 -0.011527822052912596 -0.011374416679212494 leaf_weight=5.9176130443811408 4.0759541317820531 2.1920208334922782 5.4733748883008948 109.9435712620616 5.0699293166398993 4.3514199256896973 2.5567364618182173 4.3219320550560942 5.9007307738065711 5.6643919423222533 96.21928659081459 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.010074 -0.0101811 0.0105009 -0.00280469 -0.00571966 0.010992 -0.0110726 0.0111681 -0.0112992 -0.0113829 internal_weight=0 126.511 125.176 124.319 13.4973 8.42737 118.401 111.679 115.844 106.206 101.884 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=143 num_leaves=17 num_cat=0 split_feature=10 1 3 1 13 1 0 4 3 2 3 13 13 3 1 3 split_gain=255 9.4906 6.86876 8.9813 4.26606 3.88651 3.25072 3.34089 2.61663 2.33955 0.442185 0.335715 0.989394 0.0112758 0.00408809 0.00189436 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.78827279013960749 0.46553849925547169 1.1899369278690821 1.0691005037898054 0.39803928112194603 1.2616250467501662 1.2396581529761168 1.3268335175992902 0.97735317110040087 0.87216409470284928 1.2103584781205146 0.98578357518082749 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 14 8 7 -6 9 -3 -10 12 -7 -13 15 -4 right_child=2 5 4 -5 6 11 -8 -9 10 -11 -12 13 -14 -15 -16 -17 leaf_value=0.01231691904735528 0.0099626751683248721 -0.0074776741097994552 0.011358358147559628 -0.0099864789682795694 -0.0055577736284118037 -0.012849392237352139 0.011804248812866455 0.0081006753934726086 -0.0076880232793257062 0.0022335244981790871 -0.012089518678013191 -0.011971791853435124 -0.00464819190966804 -0.011362571005705884 0.011778950640989492 0.01163791878022429 leaf_weight=1.8545984923839558 5.5323120951652509 5.1257341578602809 99.476824462413788 3.8116730451583862 3.8224306106567365 3.0738733410835257 4.3351256400346756 3.3694897964596748 4.0579290390014631 4.8075514361262321 5.2166947573423386 3.139083817601203 2.8210010007023811 94.401440724730492 2.4449591487646094 2.4844109416007987 leaf_count=10 33 29 945 19 18 19 23 23 31 26 42 23 23 895 20 21 internal_value=0 -0.0101355 0.0100727 0.00182486 0.0107375 -0.010475 0.00496431 0.000841352 -0.00634403 -0.00277761 -0.0101637 -0.0112421 -0.0089247 -0.0113822 0.0113749 0.0113652 internal_weight=0 124.498 125.277 9.34399 115.933 122.643 11.527 7.19192 19.2079 9.93329 9.27462 103.435 5.89487 97.5405 104.406 101.961 internal_count=2200 1098 1102 52 1050 1088 64 41 128 55 73 960 42 918 986 966 is_linear=0 shrinkage=0.01 Tree=144 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=251.88 12.8118 8.22263 5.97195 1.85821 2.72304 1.66234 1.12408 0.905856 0.17879 0.00129963 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00064578074604282364 -0.01154946555036763 -0.01405285571775566 -0.0065971315677913088 0.011338036063047422 0.0020290449566376652 -0.00014199700975076374 0.0029562593383863347 -0.0092613410387280114 0.0072966890820499774 -0.01150062298217493 -0.011343652181913419 leaf_weight=5.9070688635110846 4.0409533157944661 2.1708736270666114 5.4220677167177191 108.12105709314346 5.0663849264383307 4.3398929834365845 2.5432391911745063 4.2629513144493094 5.8462419286370269 5.5860382914543143 94.575177237391472 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.0100279 -0.010133 0.010455 -0.00275203 -0.00564228 0.0109523 -0.0110365 0.0111307 -0.011267 -0.0113524 internal_weight=0 124.588 123.293 122.418 13.4472 8.38085 116.511 109.846 113.967 104.424 100.161 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=145 num_leaves=14 num_cat=0 split_feature=1 3 13 0 3 0 3 0 12 12 13 0 12 split_gain=248.813 9.19925 8.28059 5.8857 4.06794 1.58024 1.3982 1.3558 1.75553 0.491056 0.0130139 0.00127342 0.000884461 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 0.31415341067031349 1.0686078178399756 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7089134508189288 0.91589481622423152 1.1305001193370379 5.6282894992994832 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 9 7 8 -4 -5 -8 -12 -9 right_child=2 -3 6 5 -6 -7 10 12 -10 -11 11 -13 -14 leaf_value=-0.0071123745757479444 -0.010345968475163695 -0.0021768043976613531 -0.0097925881635094886 0.010945000800032212 0.00199679090663303 0.0025692374718224772 -0.0120420737917704 -0.011788211196408367 0.00068024268223259524 0.015127053634258857 -0.011540692000737414 -0.011327430412987036 -0.011515443337012257 leaf_weight=1.8455771431326855 4.0440983027219755 5.9130463302135459 3.2374898195266706 110.88736909627914 7.8601175844669342 2.2399020865559569 2.6659674271941176 2.5033347830176353 3.165691502392292 2.8806474953889838 2.8862536549568167 93.602346263825893 2.2637255415320396 leaf_count=9 20 30 22 1039 36 13 21 20 24 16 25 905 20 internal_value=0 0.00999458 -0.01012 0.0106053 -0.00219629 0.0108871 -0.010975 -0.00762093 -0.00461489 0.0110509 -0.0113529 -0.0113338 -0.0116587 internal_weight=0 123.767 122.229 117.853 11.9042 116.008 110.325 11.1702 6.40318 113.768 99.1546 96.4886 4.76706 internal_count=2200 1107 1093 1077 56 1068 1037 86 46 1055 951 930 40 is_linear=0 shrinkage=0.01 Tree=146 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=245.84 12.5538 8.17397 5.96266 1.82565 2.69658 1.67297 1.13571 0.918778 0.182207 0.0012875 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00060082802870324765 -0.011497131891808041 -0.013970047245740134 -0.0065191690230188741 0.011306345382156515 0.0020142629439477704 -0.00012598616225541215 0.0028613500066084628 -0.0091959858030946969 0.0072190314653379755 -0.011471111261023926 -0.011313650190790857 leaf_weight=5.8944358825683585 4.018762491643427 2.1497896015644065 5.3731704503297797 106.34662581980228 5.0619724541902533 4.3351032584905624 2.5233014971017829 4.2014543488621703 5.7995627000927916 5.500069633126258 92.95349133759737 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.00998249 -0.0100866 0.0104096 -0.00272471 -0.00559626 0.0109138 -0.0110008 0.011095 -0.0112354 -0.0113224 internal_weight=0 122.714 121.444 120.564 13.4158 8.35387 114.669 108.028 112.146 102.655 98.4536 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=147 num_leaves=17 num_cat=0 split_feature=10 1 3 1 13 1 0 4 3 2 3 13 13 3 1 3 split_gain=242.867 9.21385 6.82876 8.80801 4.29176 3.91217 3.20186 3.2738 2.56727 2.28216 0.448414 0.350697 0.998909 0.0109176 0.00378308 0.00180847 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.78827279013960749 0.46553849925547169 1.1899369278690821 1.0691005037898054 0.39803928112194603 1.2616250467501662 1.2396581529761168 1.3268335175992902 0.97735317110040087 0.87216409470284928 1.2103584781205146 0.98578357518082749 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 14 8 7 -6 9 -3 -10 12 -7 -13 15 -4 right_child=2 5 4 -5 6 11 -8 -9 10 -11 -12 13 -14 -15 -16 -17 leaf_value=0.012230474210934799 0.0098569690794556263 -0.0073597020780260805 0.011299029981752263 -0.0099890450991378787 -0.0056044279055764016 -0.012764171124115483 0.011664426748646869 0.0080018302852751539 -0.0075410401621723213 0.0022774289800791361 -0.012028461185348591 -0.01190886643382817 -0.0044327286363003869 -0.011302502759174658 0.011710019817159564 0.011576258648179903 leaf_weight=1.8287293910980214 5.4520005807280523 5.0572081282734889 96.129972152411938 3.7915126979351044 3.8018801510333997 3.0108700469136229 4.2896624654531479 3.306190699338913 3.9687995836138708 4.7796637192368507 5.0734414011240005 3.0692895203828803 2.756663866341114 91.197468422353268 2.3712145611643782 2.4121108278632155 leaf_count=10 33 29 945 19 18 19 23 23 31 26 42 23 23 895 20 21 internal_value=0 -0.0100452 0.00997838 0.00171651 0.0106584 -0.0103878 0.00484172 0.000724277 -0.00621262 -0.00267709 -0.0100589 -0.0111758 -0.00878206 -0.0113222 0.0113153 0.0113058 internal_weight=0 120.742 121.555 9.24351 112.311 118.913 11.3977 7.10807 18.8791 9.83687 9.04224 100.034 5.76753 94.2668 100.913 98.5421 internal_count=2200 1098 1102 52 1050 1088 64 41 128 55 73 960 42 918 986 966 is_linear=0 shrinkage=0.01 Tree=148 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=239.889 12.3033 8.16421 5.93526 1.77932 2.65611 1.67191 1.148 0.941986 0.18533 0.0013257 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00057323195537924804 -0.01141114741986283 -0.013892127338038905 -0.0064399112476257207 0.011275510889707864 0.0020024211507762204 -9.2789508156330947e-05 0.0028054209886441369 -0.0091338780567880428 0.0071168684480015509 -0.011445320072038929 -0.011284406476049702 leaf_weight=5.8839559555053702 3.9838253110647184 2.1284891813993445 5.3231366649270049 104.57323582470417 5.058336839079856 4.3236031085252762 2.5102046802639952 4.1441061347722998 5.7460896521806708 5.4238468259572974 91.354487933218479 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.00993741 -0.0100394 0.0103647 -0.00267342 -0.00552051 0.0108753 -0.010966 0.0110589 -0.0112047 -0.0112934 internal_weight=0 120.842 119.611 118.713 13.3658 8.30743 112.83 106.246 110.319 100.922 96.7783 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=149 num_leaves=17 num_cat=0 split_feature=10 1 3 1 13 1 0 4 3 2 4 13 13 3 1 3 split_gain=236.986 9.04435 6.79252 8.653 4.30717 3.93379 3.1478 3.21325 2.54196 2.23877 0.454252 0.359271 0.998724 0.0105826 0.00357105 0.00171281 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.78827279013960749 0.46553849925547169 1.1899369278690821 1.0691005037898054 0.39803928112194603 1.2616250467501662 1.2396581529761168 0.44197101458486437 0.97735317110040087 0.87216409470284928 1.2103584781205146 0.98578357518082749 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 14 8 7 -6 9 -3 -10 12 -7 -13 15 -4 right_child=2 5 4 -5 6 11 -8 -9 10 -11 -12 13 -14 -15 -16 -17 leaf_value=0.012156806142654318 0.0097941114895310037 -0.0072846688905094017 0.011270195616196806 -0.0099092903098733816 -0.0055746819872711777 -0.012715344391693671 0.011566728169033189 0.0079400312056092364 -0.0072338493130765279 0.0022802028960712882 -0.011840253175544702 -0.011874277023754005 -0.0043392537442813704 -0.011273492571244388 0.011672754863706827 0.011542195731642569 leaf_weight=1.8141713440418232 5.409533739089964 5.0223881676793116 94.475937634706497 3.7907592803239822 3.7954807579517347 2.9750316888093939 4.2642494142055511 3.2792419940233231 3.5626224577426893 4.7723827958106995 5.36405099183321 3.0310972779989234 2.7295958548784256 89.624477967619896 2.3333342224359503 2.3732559680938712 leaf_count=10 33 29 945 19 18 19 23 23 26 26 47 23 23 895 20 21 internal_value=0 -0.0100002 0.00993145 0.0016758 0.0106187 -0.0103435 0.00478016 0.000689594 -0.00614203 -0.0026243 -0.0100018 -0.0111432 -0.00870749 -0.0112931 0.0112862 0.0112769 internal_weight=0 118.896 119.722 9.20029 110.521 117.082 11.339 7.07472 18.7214 9.79477 8.92667 98.3602 5.70463 92.6556 99.1825 96.8492 internal_count=2200 1098 1102 52 1050 1088 64 41 128 55 73 960 42 918 986 966 is_linear=0 shrinkage=0.01 Tree=150 num_leaves=11 num_cat=0 split_feature=12 1 13 3 3 2 3 0 0 12 split_gain=234.09 12.0585 8.15076 5.90781 1.75125 1.67086 1.16029 0.965194 0.188512 0.00135658 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2659661080065192 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 7 -4 -5 -8 -10 right_child=2 -3 6 5 -6 -7 8 -9 9 -11 leaf_value=0.00054622047856005209 1.1946133659232964e-05 -0.013816500712163012 -0.0063611191404974871 0.011245376322768303 -0.0076121088727067777 0.0027501866357259232 -0.0090718544736993444 0.0070154604608178529 -0.011419813115204347 -0.011255867616571762 leaf_weight=5.8733990341424933 8.7114935815334302 2.1071528792381278 5.2737480700016013 102.82448071241379 4.6057099997997275 2.497273124754428 4.0873475298285475 5.6931832730770102 5.3477944731712332 89.776910997927189 leaf_count=27 39 11 38 1014 24 17 36 38 50 906 internal_value=0 0.00989284 -0.0099927 0.0103202 -0.00262481 0.0108374 -0.0109318 0.0110235 -0.0111747 -0.0112651 internal_weight=0 118.995 117.803 116.888 13.3172 111.015 104.486 108.518 99.2121 95.1247 internal_count=2200 1107 1093 1096 63 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=151 num_leaves=14 num_cat=0 split_feature=1 3 13 0 3 0 3 0 12 12 13 0 12 split_gain=231.262 8.86486 8.16188 5.84614 3.95279 1.60867 1.45078 1.37962 1.79579 0.491025 0.0114269 0.00091982 0.000871653 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 0.31415341067031349 1.0686078178399756 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7089134508189288 0.92841159450679933 1.1305001193370379 5.6282894992994832 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 9 7 8 -4 -5 -8 -12 -9 right_child=2 -3 6 5 -6 -7 10 12 -10 -11 11 -13 -14 leaf_value=-0.0072050359966482989 -0.010217613728680552 -0.0021698286440429751 -0.0096442378217676903 0.010837247030732529 0.0020419948556437248 0.0023103741368693835 -0.011851067481888538 -0.011702130176447192 0.0010913724841137955 0.015062777219237355 -0.011438323911616628 -0.011240496180513438 -0.011425483739058445 leaf_weight=1.8383411467075337 3.9659020155668241 5.8256966769695273 3.1521928459405881 105.54906559735537 7.8074128031730652 2.2002624422311774 3.2293171882629386 2.4091422483325005 3.0811161920428276 2.8236197829246512 2.4144234061241141 88.535232998430729 2.1601134836673737 leaf_count=9 20 30 22 1039 36 13 27 20 24 16 22 902 20 internal_value=0 0.00985808 -0.00998295 0.0104814 -0.00208772 0.0107755 -0.0108684 -0.00739734 -0.00433764 0.0109473 -0.0112665 -0.0112457 -0.0115713 internal_weight=0 118.237 116.755 112.411 11.7733 110.573 104.982 10.8026 6.23331 108.373 94.179 90.9497 4.56926 internal_count=2200 1107 1093 1077 56 1068 1037 86 46 1055 951 924 40 is_linear=0 shrinkage=0.01 Tree=152 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 0 2 3 0 0 12 split_gain=228.491 11.8171 8.10606 5.89834 1.73162 2.61843 1.68159 1.17194 0.978213 0.192079 0.00134087 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2396581529761168 1.1305001193370379 1.2169811510592434 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 5 -2 8 -4 -5 -9 -11 right_child=2 -3 7 6 -6 -7 -8 9 -10 10 -12 leaf_value=0.00050304257619488378 -0.011312496119539273 -0.013740050372010886 -0.0062848451528046759 0.011215692950672667 0.0020160314338523106 -3.0285768153429193e-05 0.0026564690322913105 -0.0090070911176750625 0.0069394183241997332 -0.011392325369438058 -0.011228047127029154 leaf_weight=5.8609292805194846 3.940010763704775 2.0859372913837424 5.226992353796958 101.12411583214998 5.0453291535377494 4.3044443875551224 2.4778776317834845 4.028191313147544 5.6481462493538848 5.2650152146816245 88.222527176141739 leaf_count=27 21 11 38 1014 22 20 17 36 38 50 906 internal_value=0 0.00984873 -0.0099473 0.0102762 -0.00259825 -0.00542203 0.0108005 -0.0108979 0.0109895 -0.0111452 -0.0112373 internal_weight=0 117.197 116.033 115.111 13.2898 8.24446 109.25 102.743 106.772 97.5157 93.4875 internal_count=2200 1107 1093 1096 63 41 1069 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=153 num_leaves=16 num_cat=0 split_feature=10 1 3 1 13 12 0 4 2 3 4 3 1 3 4 split_gain=225.735 8.7842 6.75143 8.48786 4.33705 3.98157 3.10964 3.15272 1.84653 3.08827 1.72914 0.00498862 0.00330931 0.00163547 0.000212323 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.78827279013960749 0.46553849925547169 5.4588099803130126 1.0691005037898054 0.39803928112194603 1.2525408166204799 1.2471304352583659 0.41848776227765522 1.2190084357665867 0.98578357518082749 1.1748853893285929 0.36936640095180312 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 12 8 7 -6 10 -10 -3 -7 13 -4 -13 right_child=2 5 4 -5 6 11 -8 -9 9 -11 -12 14 -14 -15 -16 leaf_value=0.012076346450697543 0.0096920396370800081 -0.0047587845736205584 0.011215206610621316 -0.0099119451972590217 -0.0056306499904000256 -0.011676321718071767 0.011438052840290617 0.0078400078993169225 0.0011210570427843359 -0.0098833785454660022 -0.012047860081012251 -0.011316122964167381 0.011608915084843335 0.011484996515668961 -0.011213096719269313 leaf_weight=1.7885808199644078 5.3316094502806646 5.4834590181708363 91.269878402352333 3.7704142928123474 3.7757463753223401 2.4144742786884299 4.2194159924983978 3.2184009552001953 6.087458483874796 4.3888732492923737 8.0064245685935003 2.0484948530793181 2.262249529361724 2.3036550357937804 85.075128920376301 leaf_count=10 33 34 945 19 18 20 23 23 37 37 58 20 20 21 882 internal_value=0 -0.00991246 0.00983946 0.0015713 0.0105425 -0.010259 0.00465813 0.000567958 -0.00663882 -0.00348906 -0.00908495 -0.0112279 0.011231 0.0112218 -0.0112155 internal_weight=0 115.293 116.151 9.10202 107.049 113.504 11.2136 6.99415 23.9662 10.4763 13.4899 89.5381 95.8358 93.5735 87.1236 internal_count=2200 1098 1102 52 1050 1088 64 41 166 74 92 922 986 966 902 is_linear=0 shrinkage=0.01 Tree=154 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 2 0 3 10 0 12 split_gain=222.971 11.5918 8.09457 5.87482 7.3958 1.73091 1.69096 2.57731 1.18163 0.814828 0.195371 0.00136576 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2103584781205146 3.5000000000000004 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 9 7 -2 -4 -5 -10 -12 right_child=2 -3 8 5 -6 -7 -8 -9 10 -11 11 -13 leaf_value=0.011185202952806093 -0.011229413940602768 -0.013669719239193062 -0.0062145164247931362 0.01474639795800318 -0.007307800394905346 0.0026073761535536466 0.0020059665820875154 -6.4088061415006504e-06 -0.0089451056307569398 0.010869657934035628 -0.011367811270837023 -0.011200797175008914 leaf_weight=4.5110477656126005 3.9074700772762281 2.0658986717462531 5.1837052404880515 5.7445364743471137 4.1539527922868729 2.4649900421500197 5.0429490953683844 4.2957052737474442 3.9724475219845763 96.461461387574673 5.1894005239009848 86.684947848320007 leaf_count=28 21 11 38 38 22 17 22 20 36 991 50 906 internal_value=0 0.00980488 -0.00990116 0.0102328 0.00231976 0.0108878 -0.00255095 -0.00535233 -0.0108648 0.0110876 -0.0111164 -0.0112102 internal_weight=0 115.402 114.277 113.336 8.665 104.671 13.2461 8.20318 101.031 102.206 95.8468 91.8743 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 1029 992 956 is_linear=0 shrinkage=0.01 Tree=155 num_leaves=15 num_cat=0 split_feature=10 1 3 1 13 12 0 4 0 0 3 1 3 4 split_gain=220.308 8.59907 6.69498 8.2131 4.37206 4.0154 3.04653 3.09689 1.8562 1.83672 0.00484849 0.00311792 0.00152691 0.000198906 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.78827279013960749 0.46553849925547169 5.4588099803130126 1.0691005037898054 0.39803928112194603 1.2509949463117855 1.048937272384614 1.2190084357665867 0.98578357518082749 1.1748853893285929 0.36936640095180312 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 11 8 7 -6 9 -3 -7 12 -4 -12 right_child=2 5 4 -5 6 10 -8 -9 -10 -11 13 -13 -14 -15 leaf_value=0.011993581023039527 0.0095999491250774206 -0.0010268224097937939 0.011188712929707793 -0.0097053644244342215 -0.0056123001010972926 -0.011645999453918211 0.011321913935286294 0.00777503476315098 0.00057461751716678664 -0.0090051976017365976 -0.011286844904924749 0.011573988273906266 0.011451627213515916 -0.011186258681010334 leaf_weight=1.7709347307682026 5.2827076613903028 3.469610318541533 89.702231228351593 3.7809427082538605 3.7684881985187513 2.3822187408804885 4.1863317638635635 3.191280297935009 3.1549979150295249 17.138309262692928 2.0132935717701903 2.2254971936345092 2.2647216543555251 83.592013910412788 leaf_count=10 33 18 945 19 18 20 23 23 25 123 20 20 21 882 internal_value=0 -0.00986944 0.00979372 0.00154665 0.0105033 -0.0102159 0.00458095 0.000526229 -0.00656837 -0.00766193 -0.011201 0.0112041 0.0111952 -0.0111886 internal_weight=0 113.521 114.402 9.06365 105.339 111.75 11.1461 6.95977 23.7629 20.6079 87.9875 94.1925 91.967 85.6053 internal_count=2200 1098 1102 52 1050 1088 64 41 166 141 922 986 966 902 is_linear=0 shrinkage=0.01 Tree=156 num_leaves=14 num_cat=0 split_feature=1 3 13 0 3 0 3 0 12 12 13 12 0 split_gain=217.616 8.61852 8.07096 5.83137 3.84608 1.62787 1.49639 1.398 1.80172 0.575308 0.0113313 0.000870732 0.000857405 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 0.31415341067031349 1.0686078178399756 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7800646666530477 0.92841159450679933 5.6282894992994832 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 9 7 8 -4 -5 -8 -9 -12 right_child=2 -3 6 5 -6 -7 10 11 -10 -11 12 -13 -14 leaf_value=-0.0073185899155382575 -0.010091619028310043 -0.002176818080080641 -0.0095029193321231921 0.010763021208666498 0.0020719283574223797 0.0020977814700366328 -0.011790589109682835 -0.011635355905450369 0.0013647935187121991 0.016273381206114986 -0.011367772025958884 -0.011353827119444264 -0.011173090634298517 leaf_weight=1.8297052234411229 3.9075530022382718 5.7554087191820136 3.0757533088326436 102.13355462998152 7.7659412175416946 2.1617276296019545 3.1310806423425666 2.334127739071846 3.0266393050551414 1.9305121898651112 2.3242850229144087 2.075442798435688 84.735885687172413 leaf_count=9 20 30 22 1045 36 13 27 20 24 10 22 20 902 internal_value=0 0.00974684 -0.00987095 0.0103819 -0.00199966 0.0106868 -0.0107834 -0.00721278 -0.0041128 0.0108652 -0.0111995 -0.0115028 -0.0111783 internal_weight=0 113.811 112.377 108.055 11.6735 106.226 100.703 10.512 6.10239 104.064 90.1913 4.40957 87.0602 internal_count=2200 1107 1093 1077 56 1068 1037 86 46 1055 951 40 924 is_linear=0 shrinkage=0.01 Tree=157 num_leaves=15 num_cat=0 split_feature=10 1 3 1 13 12 0 4 0 0 3 1 3 4 split_gain=215.015 8.44924 6.66787 8.05304 4.40349 4.04582 3.0144 3.03817 1.84892 1.8171 0.0046249 0.00304363 0.00152029 0.000185732 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.78827279013960749 0.46553849925547169 5.4588099803130126 1.0691005037898054 0.39803928112194603 1.2509949463117855 1.048937272384614 1.2190084357665867 0.98578357518082749 1.1748853893285929 0.36936640095180312 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 11 8 7 -6 9 -3 -7 12 -4 -12 right_child=2 5 4 -5 6 10 -8 -9 -10 -11 13 -13 -14 -15 leaf_value=0.011919924463393988 0.0095242301514643843 -0.0009967367929250401 0.011162960958474992 -0.0096349716877674758 -0.0056003180465910652 -0.011612555373141334 0.011238360686062206 0.0076919719114037438 0.00064252514751102512 -0.0089455120854689523 -0.01125815742695073 0.011546663982794986 0.011427187576089516 -0.011160106995902008 leaf_weight=1.7586922049522389 5.2365131303668004 3.4623731002211633 88.163564577698708 3.7756491303443909 3.7647188156843168 2.3461236208677283 4.161268912255764 3.1652857661247253 3.1401142925024024 16.979305550456047 1.9784459844231594 2.191308304667472 2.2327281683683387 82.131853617727757 leaf_count=10 33 18 945 19 18 20 23 23 25 123 20 20 21 882 internal_value=0 -0.00982565 0.00974796 0.00149747 0.0104651 -0.0101732 0.00451071 0.000470947 -0.00650171 -0.00759916 -0.0111746 0.0111784 0.0111695 -0.0111624 internal_weight=0 111.797 112.691 9.01216 103.679 110.038 11.0913 6.93 23.5818 20.4417 86.4564 92.5876 90.3963 84.1103 internal_count=2200 1098 1102 52 1050 1088 64 41 166 141 922 986 966 902 is_linear=0 shrinkage=0.01 Tree=158 num_leaves=16 num_cat=0 split_feature=10 1 3 1 13 12 0 4 3 2 3 3 1 3 4 split_gain=212.373 8.34322 6.63807 7.93798 4.42088 4.07524 2.96955 2.9825 1.84794 2.14187 0.375763 0.00447267 0.0029488 0.00147125 0.000179636 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.73272418878666612 0.46553849925547169 5.4588099803130126 1.0691005037898054 0.39803928112194603 1.2616250467501662 1.2396581529761168 1.323927965737479 1.2190084357665867 0.98578357518082749 1.1748853893285929 0.36936640095180312 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 12 8 7 -6 9 -3 -10 -7 13 -4 -13 right_child=2 5 4 -5 6 11 -8 -9 10 -11 -12 14 -14 -15 -16 leaf_value=0.011852604309021783 0.011033258024796839 -0.0084173652404494811 0.011150052531974977 -0.0077597654961054094 -0.00554163120855365 -0.011594052438156461 0.011168669214383253 0.0076372235523243862 -0.0080751441147182065 -0.00068210285331962847 -0.012150444846716846 -0.011244084471055101 0.011529340251328426 0.011411103176532393 -0.011147233277807958 leaf_weight=1.7510328590869892 4.4241439774632436 6.6198011562228221 87.386869214475155 4.5685222893953323 3.7665326595306379 2.3264676108956328 4.1454420909285545 3.1561428084969521 4.8057153075933439 7.7946211770176888 4.275387741625309 1.9611994102597226 2.1727479398250571 2.2136123552918425 81.408065550029278 leaf_count=10 28 41 945 24 18 20 23 23 41 50 34 20 20 21 882 internal_value=0 -0.00980274 0.00972487 0.00148588 0.0104453 -0.01015 0.00447506 0.00046679 -0.00646049 -0.00423451 -0.0099938 -0.0111616 0.0111653 0.0111565 -0.0111495 internal_weight=0 110.942 111.834 8.99267 102.841 109.191 11.0681 6.92268 23.4955 14.4144 9.0811 85.6957 91.7732 89.6005 83.3693 internal_count=2200 1098 1102 52 1050 1088 64 41 166 91 75 922 986 966 902 is_linear=0 shrinkage=0.01 Tree=159 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 2 0 3 0 0 12 split_gain=209.812 11.1719 8.0708 5.85445 1.69009 1.67285 2.53795 1.21523 1.06767 0.204529 0.00159316 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 8 6 -2 -4 -5 -9 -11 right_child=2 -3 7 4 -6 -7 -8 9 -10 10 -12 leaf_value=0.00035225750790081355 -0.011119248290961182 -0.013550986482546178 -0.0060152049993110294 0.011122527534702586 0.0024229923774297286 0.0021058133984029359 7.8661523164937476e-05 -0.0087864303398263108 0.0065685956494388334 -0.011319173760016557 -0.01113592342286307 leaf_weight=5.7989489287137976 3.853945426642893 2.029405638575553 5.0625004470348349 95.3650983273983 2.4217345267534247 5.0195106118917456 4.2625891715288162 3.8322707489132872 5.4421101287007323 5.0320632979273787 82.956140257418156 leaf_count=27 21 11 38 1014 17 22 20 36 38 50 906 internal_value=0 0.00969642 -0.00978761 0.0101291 0.0106784 -0.00243205 -0.0052384 -0.0107849 0.0108767 -0.0110479 -0.0111464 internal_weight=0 111.057 110.019 109.028 103.229 13.136 8.11653 96.883 100.807 91.8205 87.9882 internal_count=2200 1107 1093 1096 1069 63 41 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=160 num_leaves=14 num_cat=0 split_feature=1 3 13 0 3 0 3 0 12 12 13 12 0 split_gain=207.27 8.42331 8.0214 5.7966 3.77132 1.63528 1.53282 1.40814 1.80065 0.576279 0.0109429 0.000871604 0.000800871 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 0.31415341067031349 1.0686078178399756 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7800646666530477 0.92841159450679933 5.6282894992994832 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 9 7 8 -4 -5 -8 -9 -12 right_child=2 -3 6 5 -6 -7 10 11 -10 -11 12 -13 -14 leaf_value=-0.0073591282341371978 -0.0099877992007624157 -0.0021740961876695018 -0.0093918272402100517 0.010696117986170912 0.0021095161792593657 0.0019561132449007227 -0.011737063440333814 -0.011583354108879481 0.0015570387634912235 0.016244263114092411 -0.011313375737016539 -0.011297471912360666 -0.011122260156022605 leaf_weight=1.8255310729145993 3.8643874228000623 5.704536944627761 3.0192590802907926 98.806789122521877 7.735483318567276 2.1344821229577056 3.0507655739784232 2.2745937928557396 2.9891789555549622 1.908293068408965 2.2530449479818335 2.0078621581196785 81.803943149745464 leaf_count=9 20 30 22 1045 36 13 27 20 24 10 22 20 902 internal_value=0 0.00965927 -0.00978135 0.0103042 -0.00192059 0.0106177 -0.0107175 -0.00706773 -0.0039448 0.0108012 -0.0111487 -0.0114493 -0.0111274 internal_weight=0 110.38 108.999 104.675 11.5999 102.85 97.3986 10.2909 6.00844 100.715 87.1078 4.28246 84.057 internal_count=2200 1107 1093 1077 56 1068 1037 86 46 1055 951 40 924 is_linear=0 shrinkage=0.01 Tree=161 num_leaves=12 num_cat=0 split_feature=12 1 13 3 2 2 0 3 0 0 12 split_gain=204.819 10.9505 8.02106 5.84391 1.70026 1.64287 2.51392 1.22679 1.08057 0.208309 0.0015685 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2103584781205146 1.0637796106207162 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 8 6 -2 -4 -5 -9 -11 right_child=2 -3 7 4 -6 -7 -8 9 -10 10 -12 leaf_value=0.00031206790717554537 -0.0110725087828805 -0.013481857335224929 -0.0059414184527573745 0.011095524089377964 0.0023332587533379822 0.0020878754315774386 9.1422901156980072e-05 -0.008722251127256898 0.0064951328085047968 -0.011294305317401682 -0.011111036723331301 leaf_weight=5.7867431491613379 3.8324058353900892 2.0082311928272238 5.018837481737136 93.773344658315182 2.4036732017993918 5.0148127526044837 4.2582017481327057 3.7767090797424308 5.3997929245233527 4.9537551552057257 81.500996269285679 leaf_count=27 21 11 38 1014 17 22 20 36 38 50 906 internal_value=0 0.00965401 -0.00974425 0.0100868 0.0106436 -0.00240929 -0.00519677 -0.0107535 0.010845 -0.0110211 -0.0111215 internal_weight=0 109.372 108.356 107.364 101.577 13.1054 8.09061 95.2503 99.1731 90.2315 86.4548 internal_count=2200 1107 1093 1096 1069 63 41 1030 1052 992 956 is_linear=0 shrinkage=0.01 Tree=162 num_leaves=15 num_cat=0 split_feature=10 1 3 1 13 12 0 4 0 0 3 1 3 4 split_gain=202.331 8.10682 6.59817 7.81728 4.44545 4.12137 2.92876 2.92542 1.86867 1.80922 0.00431796 0.00273952 0.0014055 0.000157414 threshold=2.5000000000000004 0.9791112189391441 0.52015392592939824 0.73272418878666612 0.46553849925547169 5.4588099803130126 1.0691005037898054 0.39803928112194603 1.2509949463117855 1.048937272384614 1.2190084357665867 0.98578357518082749 1.1748853893285929 0.36936640095180312 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 -1 3 -2 11 8 7 -6 9 -3 -7 12 -4 -12 right_child=2 5 4 -5 6 10 -8 -9 -10 -11 13 -13 -14 -15 leaf_value=0.011780604751541173 0.010952660724924835 -0.00083075584625772988 0.011100853753488056 -0.0077956992850800469 -0.005588765382222396 -0.011542060033462084 0.011041700465070024 0.0075456897210367125 0.00091290308224304382 -0.0088156879702905224 -0.011189721586232342 0.011472341576678648 0.011359884989438586 -0.011097457218032495 leaf_weight=1.7257957309484471 4.3586711883544904 3.4226520135998788 84.38626192510128 4.5409432575106621 3.7461427599191648 2.2680818513035765 4.1032484024763107 3.0982247963547707 3.0827109366655341 16.599809885025024 1.8937291279435147 2.1056771352887145 2.1480370536446562 78.573860101401806 leaf_count=10 28 18 945 24 18 20 23 23 25 123 20 20 21 882 internal_value=0 -0.0097184 0.00963621 0.00138649 0.0103734 -0.010069 0.00436157 0.000356779 -0.00633485 -0.00745074 -0.0111118 0.011116 0.0111073 -0.0110996 internal_weight=0 107.567 108.487 8.89961 99.5876 105.841 10.9476 6.84437 23.1052 20.0225 82.7357 88.64 86.5343 80.4676 internal_count=2200 1098 1102 52 1050 1088 64 41 166 141 922 986 966 902 is_linear=0 shrinkage=0.01 Tree=163 num_leaves=14 num_cat=0 split_feature=1 3 13 0 3 0 3 0 12 12 13 12 0 split_gain=199.851 8.277 7.9645 5.74435 3.70136 1.63609 1.56323 1.41934 1.79681 0.573708 0.0108102 0.000861376 0.000764541 threshold=1.0652111417665497 1.2351688403888856 0.78123321994831596 0.31415341067031349 1.0686078178399756 1.1546668796111181 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.7800646666530477 0.92841159450679933 5.6282894992994832 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 9 7 8 -4 -5 -8 -9 -12 right_child=2 -3 6 5 -6 -7 10 11 -10 -11 12 -13 -14 leaf_value=-0.0073325189700523168 -0.0099079729046423724 -0.0021647757655826163 -0.0093003487412296557 0.010646459246866772 0.0021157076173391061 0.0018694374532674538 -0.011702642986728304 -0.011545245675426514 0.0017054133653578388 0.016208605947320671 -0.011274595771615851 -0.011257877508286619 -0.01108567925719919 leaf_weight=1.8257063254714001 3.8316866457462293 5.6715767085552207 2.9728126227855665 96.375266350805759 7.7159353345632553 2.1176021322607985 2.9928997233510009 2.2306955605745316 2.9608594998717308 1.8907930105924595 2.2014067247509947 1.9591956138610838 79.658672966063023 leaf_count=9 20 30 22 1045 36 13 27 20 24 10 22 20 902 internal_value=0 0.00959388 -0.00971577 0.0102464 -0.00187394 0.0105661 -0.0106692 -0.00695496 -0.00380855 0.0107535 -0.0111123 -0.0114109 -0.0110908 internal_weight=0 107.881 106.524 102.209 11.5476 100.384 94.9765 10.1236 5.93367 98.2661 84.853 4.18989 81.8601 internal_count=2200 1107 1093 1077 56 1068 1037 86 46 1055 951 40 924 is_linear=0 shrinkage=0.01 Tree=164 num_leaves=13 num_cat=0 split_feature=12 1 13 3 1 2 4 3 0 10 0 12 split_gain=197.512 10.6801 7.9811 5.84093 6.8818 1.7667 1.64622 1.24699 0.856221 0.782183 0.214052 0.00161895 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2169811510592434 0.42636365958866435 1.2103584781205146 1.1305001193370379 3.5000000000000004 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 9 8 -4 -2 -5 -9 -12 right_child=2 -3 7 5 -6 -7 -8 10 -10 -11 11 -13 leaf_value=0.010885538129304441 -0.0080444417649095882 -0.013402481865107908 -0.0058236050093718964 0.014596185676880527 -0.0071655618489069404 0.0022114235929770855 0.0026546909511174226 -0.0086268100556110752 -0.0017648253430262173 0.010711492190789748 -0.011263054651023643 -0.011074887110295946 leaf_weight=4.3167747557163221 4.2997189089655858 1.9826694279909123 4.9495114907622328 5.5053661391139022 4.1351485028862953 2.3781201392412177 4.3644848912954322 3.6955920830368987 4.3863385021686554 88.563363067805767 4.8519479259848586 79.361728131771088 leaf_count=28 22 11 38 38 22 17 20 36 21 991 50 906 internal_value=0 0.00959053 -0.00967827 0.0100251 0.00205394 0.0107236 -0.00235573 -0.0107074 -0.00487332 0.0109388 -0.0109824 -0.0110857 internal_weight=0 106.881 105.909 104.899 8.45192 96.4468 13.0505 92.8588 8.68606 94.0687 87.9093 84.2137 internal_count=2200 1107 1093 1096 50 1046 63 1030 43 1029 992 956 is_linear=0 shrinkage=0.01 Tree=165 num_leaves=15 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 1 12 3 split_gain=195.151 7.95676 6.5451 7.55255 4.48794 2.88617 2.80947 2.51677 1.86528 1.25239 0.215639 0.0026064 0.00156774 0.00135043 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2169811510592434 1.2103584781205146 1.1305001193370379 0.98578357518082749 5.428310804937337 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 11 7 8 -6 -1 -3 -11 13 -12 -4 right_child=2 9 4 -5 5 -7 -8 -9 -10 10 12 -13 -14 -15 leaf_value=-0.0010865939688822462 0.010839624229235921 -0.0057885320119521111 0.011065802981335898 -0.0076620565556267057 -0.0045251919266249318 0.010926449817443427 0.0035122780523572177 0.0079994133044722342 -0.010739353310836586 -0.0085974599463393957 -0.011249031020574016 0.011432524606534962 -0.011063049819180834 0.011322644652625004 leaf_weight=3.9142122864723188 4.2918342128396016 4.929805099964141 82.215653359889984 4.5404990985989571 4.1909738481044752 4.0612018257379532 5.0292230099439612 2.5996082797646523 4.0975619480013847 3.6712482422590247 4.8096287399530402 2.056430295109748 78.655714593827724 2.0993806049227706 leaf_count=21 28 38 945 24 20 23 25 21 22 36 50 20 906 21 internal_value=0 -0.0096565 0.00957045 0.00132834 0.0103192 0.00425782 -0.00234601 0.000269547 -0.00602343 -0.010692 -0.0109694 0.0110808 -0.0110738 0.0110722 internal_weight=0 105.107 106.056 8.83233 97.2232 10.8518 13.041 6.79058 8.01177 92.0664 87.1366 86.3715 83.4653 84.315 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 992 986 956 966 is_linear=0 shrinkage=0.01 Tree=166 num_leaves=15 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 1 12 3 split_gain=192.756 7.94963 6.51707 7.43238 4.50219 2.84281 2.75896 2.47273 1.84093 1.25779 0.217237 0.00252611 0.00151819 0.00130726 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.78827279013960749 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2169811510592434 1.2103584781205146 1.1305001193370379 0.98578357518082749 5.428310804937337 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 11 7 8 -6 -1 -3 -11 13 -12 -4 right_child=2 9 4 -5 5 -7 -8 -9 -10 10 12 -13 -14 -15 leaf_value=-0.001076066099449392 0.0092388813804310885 -0.0057535819115281253 0.011054075079421256 -0.0093262803944997794 -0.0044787917468930355 0.010859108964490752 0.0034758359241429206 0.007949711152051283 -0.010676040951290862 -0.0085681468494133769 -0.011235179262712868 0.011416662840483021 -0.011051354926442885 0.011307880990543062 leaf_weight=3.9129891544580442 5.0541001185774785 4.9102520123124114 81.483520351350307 3.7611564099788666 4.1920429617166501 4.0456013679504395 5.0311219543218613 2.5897522494196892 4.0807277485728264 3.6470914781093589 4.7676134333014479 2.0387829244136801 77.955072186887264 2.0811914876103392 leaf_count=21 33 38 945 19 20 23 25 21 22 36 50 20 906 21 internal_value=0 -0.00963391 0.00954805 0.00131779 0.0103004 0.00422485 -0.0023255 0.000267259 -0.00597678 -0.0106768 -0.0109566 0.0110689 -0.0110619 0.0110604 internal_weight=0 104.305 105.246 8.81526 96.4309 10.8274 13.0248 6.7818 7.99372 91.28 86.3698 85.6035 82.7227 83.5647 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 992 986 956 966 is_linear=0 shrinkage=0.01 Tree=167 num_leaves=13 num_cat=0 split_feature=12 1 13 3 0 2 0 13 3 1 0 12 split_gain=190.422 10.4812 7.92778 5.8052 1.72275 1.65972 2.4561 1.31152 1.26319 0.979433 0.218845 0.00147024 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2396581529761168 1.1305001193370379 0.50652862085158101 1.2103584781205146 1.0383879925828392 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 9 6 -2 -6 -4 -5 -10 -12 right_child=2 -3 8 4 7 -7 -8 -9 10 -11 11 -13 leaf_value=0.00018800303967895317 -0.010979327839568915 -0.013346255543074004 -0.0057187545900591061 0.011079517733765695 0.00066395418144264749 0.0022203968330014945 0.00010510598179547644 0.010031846556785717 -0.0085388688323886682 0.0052847130803065478 -0.011221497126535125 -0.011039801867312305 leaf_weight=5.7332194298505774 3.7866611629724485 1.9657482206821431 4.8908515796065322 87.750356607139111 2.9910414591431609 4.9837542921304694 4.2344634234905243 2.9869062677025795 3.6231209859251967 3.0170180946588507 4.7259012758731833 77.259769253432751 leaf_count=27 21 11 38 1011 24 22 20 19 36 15 50 906 internal_value=0 0.00952631 -0.00961248 0.00996505 0.0105444 -0.00231175 -0.0051277 0.00534466 -0.0106616 0.0108869 -0.010944 -0.0110503 internal_weight=0 104.444 103.505 102.479 96.7453 13.0049 8.02112 5.97795 90.4996 90.7674 85.6088 81.9857 internal_count=2200 1107 1093 1096 1069 63 41 43 1030 1026 992 956 is_linear=0 shrinkage=0.01 Tree=168 num_leaves=15 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 1 12 3 split_gain=188.135 7.89861 6.47643 7.33082 4.50857 2.78684 2.71076 2.41836 1.82653 1.26858 0.220463 0.00244572 0.00142385 0.00123563 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2169811510592434 1.2103584781205146 1.1305001193370379 0.98578357518082749 5.428310804937337 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 11 7 8 -6 -1 -3 -11 13 -12 -4 right_child=2 9 4 -5 5 -7 -8 -9 -10 10 12 -13 -14 -15 leaf_value=-0.0010408012146741925 0.010749777905802718 -0.0056840496892352392 0.011031227081863795 -0.0075418934569083168 -0.004440240901232859 0.010766427553162414 0.0034554641488113687 0.0078933859693465693 -0.01062388648726513 -0.0085096239595384027 -0.011207982109730752 0.011390704938694641 -0.011028386638344016 0.011280073512361722 leaf_weight=3.8990126997232419 4.2348817735910398 4.8716031387448302 80.044419825077057 4.5397755578160286 4.1835392862558347 4.0176365599036217 5.0187722593545914 2.564220555126667 4.0598926991224289 3.5993361175060263 4.6844914183020583 2.0075912699103347 76.569797828793526 2.0463982298970214 leaf_count=21 28 38 945 24 20 23 25 21 22 36 50 20 906 21 internal_value=0 -0.00959186 0.00950559 0.00128615 0.0102659 0.00417263 -0.00229993 0.000246669 -0.0059292 -0.0106466 -0.0109315 0.0110459 -0.0110387 0.0110374 internal_weight=0 102.703 103.638 8.77466 94.8638 10.7654 12.9777 6.74776 7.95891 89.7252 84.8536 84.0984 81.2543 82.0908 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 992 986 956 966 is_linear=0 shrinkage=0.01 Tree=169 num_leaves=13 num_cat=0 split_feature=12 1 13 3 0 2 0 13 3 1 0 12 split_gain=185.839 10.3216 7.89405 5.77812 1.74579 1.64717 2.41628 1.29789 1.27397 0.981026 0.222092 0.00137896 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2396581529761168 1.1305001193370379 0.50652862085158101 1.2103584781205146 1.0383879925828392 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 9 6 -2 -6 -4 -5 -10 -12 right_child=2 -3 8 4 7 -7 -8 -9 10 -11 11 -13 leaf_value=0.00016561440962269209 -0.010922638478559872 -0.013298229664939834 -0.0056494673169944143 0.011057073960424903 0.00059464137014743638 0.0022348840716859388 9.2766795130603611e-05 0.0099495390128527036 -0.0084804117590007271 0.0052491102677802845 -0.011194631778401945 -0.011017108539540925 leaf_weight=5.7223380208015433 3.7628147602081281 1.9508081227540959 4.8525059148669234 86.222528651356697 2.9744972437620154 4.9777254015207291 4.2298544645309448 2.9578255861997604 3.5757358446717253 3.0097765028476706 4.6433832272887221 75.885131374001503 leaf_count=27 21 11 38 1011 24 22 20 19 36 15 50 906 internal_value=0 0.00948456 -0.00956895 0.0099251 0.0105119 -0.0022808 -0.0050931 0.00525895 -0.0106316 0.0108612 -0.0109191 -0.0110273 internal_weight=0 102.838 101.927 100.887 95.1646 12.9704 7.99267 5.93232 88.9568 89.2323 84.1043 80.5285 internal_count=2200 1107 1093 1096 1069 63 41 43 1030 1026 992 956 is_linear=0 shrinkage=0.01 Tree=170 num_leaves=15 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 1 12 3 split_gain=183.625 7.84784 6.43761 7.21366 4.51462 2.73211 2.66346 2.3652 1.81232 1.27936 0.22373 0.00236829 0.00133552 0.00116816 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2169811510592434 1.2103584781205146 1.1305001193370379 0.98578357518082749 5.428310804937337 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 11 7 8 -6 -1 -3 -11 13 -12 -4 right_child=2 9 4 -5 5 -7 -8 -9 -10 10 12 -13 -14 -15 leaf_value=-0.0010059463374654473 0.010699416248536637 -0.0056150068040684642 0.011008927832686578 -0.0074877937093838524 -0.0044021378394837538 0.010674835536305018 0.0034351643791675009 0.0078374044292186668 -0.010572368238365795 -0.0084512300479724321 -0.011181443761410885 0.011365358983416196 -0.011005965797233338 0.011252941919013786 leaf_weight=3.8851257115602476 4.1995451226830465 4.8335593268275252 78.627349562942982 4.5368276908993721 4.1749971210956556 3.9898670613765717 5.0064402222633362 2.5390002131462097 4.0391612201929092 3.5523194819688788 4.6025757715106002 1.9768213555216778 75.205744326114655 2.0120856910943976 leaf_count=21 28 38 945 24 20 23 25 21 22 36 50 20 906 21 internal_value=0 -0.00955008 0.00946324 0.00125474 0.0102317 0.00412108 -0.00227472 0.000226431 -0.00588214 -0.0106168 -0.0109068 0.0110234 -0.0110161 0.011015 internal_weight=0 101.125 102.056 8.73637 93.3201 10.7039 12.9307 6.714 7.92429 88.1942 83.3606 82.6163 79.8083 80.6394 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 992 986 956 966 is_linear=0 shrinkage=0.01 Tree=171 num_leaves=15 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 1 12 3 split_gain=181.373 7.84032 6.40957 7.09357 4.52813 2.69114 2.61557 2.32372 1.78869 1.28474 0.225379 0.00229564 0.00129347 0.00113098 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2169811510592434 1.2103584781205146 1.1305001193370379 0.98578357518082749 5.428310804937337 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 11 7 8 -6 -1 -3 -11 13 -12 -4 right_child=2 9 4 -5 5 -7 -8 -9 -10 10 12 -13 -14 -15 leaf_value=-0.00099617938589000531 0.01065474165241582 -0.0055806680204985156 0.010997882156988359 -0.0074008072181515122 -0.0043571076385806387 0.010609332966083867 0.003399578859569432 0.0077882032758832152 -0.010510416333028072 -0.0084220774900237282 -0.011168415847497486 0.011350329687007632 -0.01099495663550518 0.011239037486978687 leaf_weight=3.8839913010597211 4.1751046106219274 4.8147625252604476 77.922779709100723 4.5442129373550415 4.1759588867425901 3.9744332209229469 5.0082484781742096 2.5295372679829597 4.0224238336086273 3.5290861725807181 4.562068209052085 1.9597302004694928 74.531616017222404 1.9945172071456898 leaf_count=21 28 38 945 24 20 23 25 21 22 36 50 20 906 21 internal_value=0 -0.0095278 0.00944121 0.0012448 0.0102134 0.00408912 -0.00225485 0.00022451 -0.00583659 -0.010602 -0.0108946 0.0110122 -0.011005 0.0110039 internal_weight=0 100.352 101.276 8.71932 92.557 10.6799 12.9147 6.7055 7.90642 87.4375 82.6228 81.877 79.0937 79.9173 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 992 986 956 966 is_linear=0 shrinkage=0.01 Tree=172 num_leaves=16 num_cat=0 split_feature=1 0 13 3 3 3 4 3 0 12 12 13 3 3 0 split_gain=179.195 8.12654 7.78968 3.85382 3.55324 3.50834 2.90744 1.64763 1.46816 1.88868 0.0128112 0.0112641 0.0025871 0.00111481 0.000759764 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.24292548700197389 1.0686078178399756 1.2351688403888856 0.39394749199373341 1.2471304352583659 1.2748487141050349 5.3611511359867654 4.6109421182883317 0.92841159450679933 1.2103584781205146 1.1748853893285929 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 6 -3 8 9 -4 13 -9 -10 -5 -13 right_child=2 5 7 10 -6 -7 -8 11 12 -11 -12 14 -14 -15 -16 leaf_value=0.0028484445923901 -0.0097366739979450299 0.00010342696297919498 -0.0091186205377030288 0.010990669921029513 0.0021599025502564489 -0.0051756780615749114 0.012710528960888853 -0.011630949522052085 -0.011560068103202887 0.0024074916052401478 0.01175495316745054 -0.011177274224667227 -0.011047413495528553 0.011231429826635513 -0.010982957906946575 leaf_weight=6.2092848792672148 3.7363481819629651 3.9429611563682538 2.8538217917084676 78.254523321986198 7.6529874056577682 4.6080903261899948 3.412417083978653 2.8293561041355124 2.0642585828900342 2.8328436985611916 2.2911889255046836 2.0688041448593131 1.8817100822925565 1.9716998115181912 73.476856969296932 leaf_count=33 20 32 22 956 36 23 22 27 18 24 20 22 22 21 902 internal_value=0 0.00940276 -0.00952472 0.0104459 -0.00174285 0.00166603 0.0059523 -0.0105318 -0.00662891 -0.00337682 0.0110176 -0.0110115 -0.0113156 0.0109966 -0.0109883 internal_weight=0 100.69 99.397 88.7267 11.3893 11.9635 7.35538 88.0077 9.63263 5.68667 82.5174 78.375 3.94597 80.2262 75.5457 internal_count=2200 1107 1093 1030 56 77 54 1037 86 46 997 951 40 977 924 is_linear=0 shrinkage=0.01 Tree=173 num_leaves=13 num_cat=0 split_feature=12 1 13 3 0 2 0 3 13 1 0 12 split_gain=177.083 10.0605 7.80232 5.7402 1.77778 1.65355 2.3675 1.29621 1.28143 0.968087 0.229538 0.00126605 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2396581529761168 1.1305001193370379 1.2103584781205146 0.50652862085158101 1.0383879925828392 1.1305001193370379 5.428310804937337 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 9 6 -2 -4 -6 -5 -9 -12 right_child=2 -3 7 4 8 -7 -8 10 -10 -11 11 -13 leaf_value=0.00010452823850420967 -0.010860572574931306 -0.013226779095974273 -0.0055095943504314005 0.011014094509620008 0.00045945865662137201 0.0022987801878419137 7.5537905889158031e-05 -0.0083574705681272315 0.0098219359915137812 0.0052288427510085358 -0.011146448530141049 -0.010973450038951402 leaf_weight=5.6933801621198645 3.7327445149421674 1.9265766292810429 4.7747430354356757 83.247195102274418 2.939598634839057 4.9567623734474182 4.2146402299404144 3.4776795953512183 2.9080928862094879 2.9965937435626975 4.4896896854042998 73.204759687185287 leaf_count=27 21 11 38 1011 24 22 20 36 19 15 50 906 internal_value=0 0.00940301 -0.00948449 0.00984887 0.0104513 -0.00223392 -0.00506096 -0.0105731 0.00511548 0.0108131 -0.0108709 -0.0109834 internal_weight=0 99.7114 98.851 97.7849 92.0915 12.9041 7.94738 85.9469 5.84769 86.2438 81.1721 77.6944 internal_count=2200 1107 1093 1096 1069 63 41 1030 43 1026 992 956 is_linear=0 shrinkage=0.01 Tree=174 num_leaves=15 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 1 12 3 split_gain=174.941 7.74956 6.35459 6.96619 4.53609 2.64358 2.56407 2.25742 1.77073 1.30157 0.231214 0.00227546 0.00122631 0.00104187 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2132009332284019 1.2103584781205146 1.1305001193370379 0.98578357518082749 5.428310804937337 1.1748853893285929 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 11 7 8 -6 -1 -3 -11 13 -12 -4 right_child=2 9 4 -5 5 -7 -8 -9 -10 10 12 -13 -14 -15 leaf_value=-0.00050486531536607273 0.010591333448228078 -0.0054756236026531502 0.010965973419355495 -0.0073661711429699895 -0.0043277328204127871 0.010508835278361163 0.0033856655189686718 0.007710236715955463 -0.010053082462357078 -0.0083283987550154849 -0.011133846785034021 0.011320502502344627 -0.010962827171681941 0.011200391127022168 leaf_weight=3.5128688216209394 4.1288091614842397 4.7564141079783431 75.862210124731064 4.5308425053954124 4.1671688705682737 3.9386078417301178 4.9836337119340897 2.487759955227375 4.3441298380494118 3.4550345838069907 4.4500223398208609 1.9178449288010586 72.546238265931606 1.9445833861827839 leaf_count=19 28 38 945 24 20 23 25 21 24 36 50 20 906 21 internal_value=0 -0.00946726 0.00937872 0.00119573 0.0101633 0.00401537 -0.00222516 0.000172327 -0.00578407 -0.0105586 -0.0108591 0.0109802 -0.0109727 0.0109718 internal_weight=0 98.0483 98.9778 8.65965 90.3182 10.5935 12.8406 6.65493 7.857 85.2077 80.4513 79.7246 76.9963 77.8068 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 992 986 956 966 is_linear=0 shrinkage=0.01 Tree=175 num_leaves=17 num_cat=0 split_feature=12 1 13 3 1 2 2 0 3 0 0 0 12 12 2 0 split_gain=172.827 9.90924 7.76787 5.7192 6.16141 1.78044 1.63979 2.32702 1.30859 1.3592 0.887516 0.814528 0.00171405 0.000742938 0.000538473 0.000183017 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 1.2148150016890609 1.0637796106207162 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 11 7 -2 9 10 -4 -5 14 -11 -10 -14 right_child=2 -3 8 5 -6 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=0.010547321739533176 -0.010802382833871504 -0.013181651591838222 -0.007502194741049001 0.011028157462498758 -0.0067227569260365876 0.00185506666273329 0.0023098475428554839 6.084385821890273e-05 -0.011060566699646284 -0.011411781290657704 0.0010916940841134044 0.0068123419818658581 -0.011048086157521366 -0.011133690428372412 -0.011277081236646705 -0.01095024282849388 leaf_weight=4.1046984642744047 3.7089318484067899 1.9118316769599903 2.46763828396797 80.852352470159531 4.1589163765311241 2.2902074158191672 4.9509483128786087 4.2103789001703262 2.8085264414548865 2.068363837897778 2.342427596449852 4.8583084717392913 1.9661471769213665 1.7938671261072157 1.9435436278581617 69.08381462097168 leaf_count=28 21 11 22 992 22 17 22 20 33 20 20 37 23 20 20 872 internal_value=0 0.00936204 -0.00944164 0.00980976 0.00185563 0.0105567 -0.00220455 -0.00502684 -0.0105443 -0.00686457 -0.0033171 0.0107892 -0.0109652 -0.0112826 -0.0111491 -0.010953 internal_weight=0 98.1763 97.3446 96.2645 8.26361 88.0009 12.8703 7.91931 84.4743 8.6723 4.81007 85.7107 75.802 3.86223 4.75207 71.05 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 82 42 1029 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=176 num_leaves=19 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 0 1 12 3 12 2 0 split_gain=170.736 7.70836 6.29959 6.74953 4.54805 2.59923 2.51983 2.21195 1.7563 1.31532 1.35481 0.876116 0.00264183 0.00165991 0.000989029 0.00071905 0.000521115 0.00017712 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.78827279013960749 0.46553849925547169 1.0691005037898054 0.43216120423585541 0.40823767690221374 1.2169811510592434 1.2471304352583659 1.2748487141050349 1.2148150016890609 0.99689265265511573 5.428310804937337 1.1748853893285929 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 12 7 8 -6 -1 10 11 -3 14 16 -4 -12 -11 -15 right_child=2 9 4 -5 5 -7 -8 -9 -10 13 15 -13 -14 17 -16 -17 -18 -19 leaf_value=-0.00092418996032726981 0.0089482576762491238 -0.0074683482723546246 0.010945043843907161 -0.0088941499158311354 -0.0043055109460365436 0.010421609351994559 0.00336901879058238 0.007650580278050695 -0.01040049658965865 -0.011048965335086756 -0.011395980044952032 0.0010799353832399573 0.011364569325192643 -0.011036581113785972 0.011175375737829049 -0.011121195287151883 -0.011262904392879889 -0.010939894469168363 leaf_weight=3.8528588116168958 4.8677738755941373 2.4541014134883863 74.815167561173439 3.7561188489198685 4.1587414741516096 3.9143595024943352 4.9728193581104279 2.4642921760678291 3.9720793515443802 2.7834860607981673 2.0506084188818936 2.3442440629005432 1.5746216401457775 1.9486027508974064 1.9118764474987973 1.7780032753944395 1.9266149178147314 68.460791796445847 leaf_count=21 33 22 949 19 20 23 25 21 22 33 20 20 16 23 21 20 20 872 internal_value=0 -0.00942544 0.00933697 0.00117703 0.0101291 0.00396129 -0.00219717 0.0001431 -0.00573453 -0.01053 -0.00683192 -0.00329206 0.0109591 -0.0109547 0.0109508 -0.0112684 -0.0111365 -0.0109426 internal_weight=0 96.5442 97.463 8.62389 88.8391 10.5374 12.7978 6.62303 7.82494 83.7465 8.62696 4.79835 78.3017 75.1195 76.727 3.82861 4.7101 70.4094 internal_count=2200 1098 1102 52 1050 64 68 41 43 1030 82 42 986 948 970 40 53 895 is_linear=0 shrinkage=0.01 Tree=177 num_leaves=17 num_cat=0 split_feature=12 1 13 3 0 2 0 3 0 13 1 0 12 12 2 0 split_gain=168.675 9.75757 7.73372 5.69663 1.82274 1.62725 2.28957 1.32204 1.35043 1.27112 0.980487 0.864847 0.00160752 0.000695955 0.000504332 0.000171414 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 0.50652862085158101 1.0383879925828392 1.2148150016890609 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 6 -2 8 11 -6 -5 -4 14 -10 -9 -14 right_child=2 -3 7 4 9 -7 -8 12 13 -11 -12 -13 15 -15 -16 -17 leaf_value=4.3561374862834525e-05 -0.010747876108586277 -0.013136300111951606 -0.007434563735494162 0.010973665123188795 0.00027803039073624454 0.0023226239242371454 4.8623805017925366e-05 -0.011037502878701706 -0.011380375725467295 0.0096781548443477788 0.0051317485695587277 0.0010683127554974256 -0.011025212895265542 -0.011108851216560595 -0.011248901591681055 -0.01092966849763603 leaf_weight=5.6606616377830496 3.6854686737060529 1.8966995775699604 2.4406684190034849 80.369883626699448 2.8970372080802909 4.9447837322950363 4.205647736787796 2.7586374953389159 2.0329743251204495 2.8573574498295784 2.9794782474637023 2.3460416048765182 1.9311930164694775 1.7622580900788305 1.9098072946071623 67.842694528400898 leaf_count=27 21 11 22 1011 24 22 20 33 20 19 15 20 23 20 20 872 internal_value=0 0.00932156 -0.00939905 0.00977105 0.010389 -0.00217527 -0.00499378 -0.0105159 -0.00679936 0.00494568 0.0107648 -0.00326717 -0.0109443 -0.0112543 -0.011124 -0.0109323 internal_weight=0 96.6611 95.8602 94.7644 89.1038 12.8359 7.89112 83.0243 8.58194 5.75439 83.3494 4.78671 74.4423 3.79523 4.66844 69.7739 internal_count=2200 1107 1093 1096 1069 63 41 1030 82 43 1026 42 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=178 num_leaves=19 num_cat=0 split_feature=10 13 3 1 13 0 4 2 4 3 0 0 1 12 3 12 2 0 split_gain=166.65 7.65857 6.25918 6.65223 4.55288 2.54849 2.47602 1.74303 1.50732 1.32876 1.34604 0.853706 0.00255749 0.00155681 0.000935779 0.000673623 0.000488105 0.000165896 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.43216120423585541 1.2169811510592434 0.4001334954389475 1.2471304352583659 1.2748487141050349 1.2148150016890609 0.99689265265511573 5.428310804937337 1.1748853893285929 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 12 8 7 -1 -6 10 11 -3 14 16 -4 -12 -11 -15 right_child=2 9 4 -5 5 -7 -8 -9 -10 13 15 -13 -14 17 -16 -17 -18 -19 leaf_value=-0.00089064115232115586 0.010461728292267292 -0.0074008404026872227 0.010924786735349874 -0.0071720361576215232 -0.0037854223985387659 0.010333632635879971 0.003349106393423723 -0.010351467058882962 0.0059740916664809129 -0.011026176574003106 -0.011364965045961066 0.0010568241336075244 0.011340630746237019 -0.011013981595608483 0.011150758173444171 -0.011096655946797946 -0.011235069803028906 -0.010919564113957262 leaf_weight=3.8392652273178083 4.0503113418817502 2.4273389130830747 73.478681623935699 4.5342847853899002 3.9501772671937925 3.8873793333768845 4.9605477154254913 3.9518172442913055 2.6402673795819283 2.733980067074298 2.0154614448547368 2.3478205353021622 1.5511489063501347 1.9139172509312619 1.8794683963060368 1.7466311603784559 1.8931205198168752 67.229491047561169 leaf_count=21 28 22 949 24 19 23 25 22 22 33 20 20 16 23 21 20 20 872 internal_value=0 -0.00938461 0.00929577 0.00114778 0.0100962 0.00391215 -0.0021733 -0.00568939 0.000124439 -0.0105018 -0.00676688 -0.00324243 0.0109387 -0.0109341 0.0109304 -0.0112404 -0.0111116 -0.0109222 internal_weight=0 95.0594 95.9717 8.5846 87.3871 10.4778 12.7516 7.79108 6.59044 82.3078 8.53725 4.77516 76.9093 73.7705 75.3582 3.76209 4.6271 69.1434 internal_count=2200 1098 1102 52 1050 64 68 43 41 1030 82 42 986 948 970 40 53 895 is_linear=0 shrinkage=0.01 Tree=179 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 3 4 3 0 12 4 1 13 12 0 split_gain=164.658 7.96256 7.65401 6.05441 3.43633 3.24995 2.95463 1.70448 1.4527 1.89314 0.633943 0.16764 0.0115123 0.000652029 0.000649147 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.0686078178399756 1.2351688403888856 0.39394749199373341 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.43963968064395148 0.95282455020400814 0.92841159450679933 5.6282894992994832 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 6 -3 8 9 -4 11 -5 -9 -10 -14 right_child=2 5 7 10 -6 -7 -8 12 13 -11 -12 -13 14 -15 -16 leaf_value=-0.0078855535464322241 -0.0096030667915773665 -0.0002374562806836301 -0.0090007550590657411 0.011035752696635896 0.0021908929463168056 -0.005066688108443065 0.012637810845741471 -0.011580437003520676 -0.01134974514943661 0.002659191973373214 0.006724962006523825 0.008880820745829526 -0.011095262286655973 -0.011084607317115993 -0.01091039541220825 leaf_weight=1.7835836485028256 3.660504497587679 3.8406835347413999 2.7808621451258642 74.344332210719585 7.5988821238279343 4.5529098063707352 3.3256925642490387 2.7028988301753989 1.998069688677788 2.789077565073967 3.7554971799254409 3.794269047677516 1.9532373994588841 1.7311221361160276 68.960793390870094 leaf_count=9 20 32 22 942 36 23 22 27 20 24 38 41 22 20 902 internal_value=0 0.00926007 -0.00937978 0.0103413 -0.0016434 0.00154014 0.00573756 -0.0104303 -0.00639625 -0.00316218 0.0107382 0.0109311 -0.0109399 -0.0112267 -0.0109155 internal_weight=0 95.397 94.1754 83.6777 11.2594 11.7193 7.16638 82.9161 9.29913 5.56994 81.8941 78.1386 73.6169 3.72919 70.914 internal_count=2200 1107 1093 1030 56 77 54 1037 86 46 1021 983 951 40 924 is_linear=0 shrinkage=0.01 Tree=180 num_leaves=17 num_cat=0 split_feature=12 1 13 3 1 2 2 0 3 0 0 0 12 12 2 0 split_gain=162.695 9.54017 7.66499 5.67778 5.88692 1.78358 1.6185 2.25393 1.34079 1.33502 0.849992 0.838226 0.00148221 0.000631147 0.000466671 0.000155293 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 1.0637796106207162 1.2148150016890609 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 10 7 -2 9 11 -5 -4 14 -11 -10 -14 right_child=2 -3 8 5 -6 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=0.01039826842728874 -0.010695727084257827 -0.013074112718204259 -0.0073491357865946919 0.010978005115430612 -0.0065834597479028792 0.0017127390889960783 0.002347452408448884 4.2116878334312652e-05 -0.011004397711053104 -0.01133471320865456 0.0066261689775660602 0.0010478918346347786 -0.010991883396648446 -0.011072703360880851 -0.011210417563575064 -0.010899705909241953 leaf_weight=4.0099797844886762 3.6605333611369115 1.8742782697081555 2.4067510813474637 77.383378349244595 4.1582345739006996 2.2559676989912978 4.9318535476922989 4.1950974613428116 2.6853687241673461 1.9807988330721857 4.7645146548748007 2.3491567894816399 1.8797282204031933 1.7157304659485815 1.8617796972393987 66.01756014674902 leaf_count=28 21 11 22 992 22 17 22 20 33 20 37 20 23 20 20 872 internal_value=0 0.00926204 -0.00933699 0.00971428 0.00175329 0.0104847 -0.00214257 -0.00496146 -0.0104742 -0.00670522 0.0107256 -0.00320147 -0.010914 -0.0112131 -0.0110888 -0.0109023 internal_weight=0 94.4464 93.6844 92.5721 8.16821 84.4039 12.7875 7.85563 80.8969 8.45244 82.1479 4.75591 72.4444 3.69653 4.54715 67.8973 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 82 1029 42 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=181 num_leaves=19 num_cat=0 split_feature=10 13 3 1 13 0 4 4 2 3 0 0 1 12 3 12 2 0 split_gain=160.717 7.58356 6.20413 6.42329 4.56674 2.50837 3.37878 2.43063 1.72134 1.34749 1.33066 0.82738 0.00249136 0.00143559 0.000867165 0.000610949 0.000451703 0.000150309 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.0691005037898054 0.39481630453702732 0.43216120423585541 1.2169811510592434 1.2471304352583659 1.2748487141050349 1.2148150016890609 0.99689265265511573 5.428310804937337 1.1748853893285929 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 7 3 -2 12 6 -6 8 -1 10 11 -3 14 16 -4 -12 -11 -15 right_child=2 9 4 -5 5 -7 -8 -9 -10 13 15 -13 -14 17 -16 -17 -18 -19 leaf_value=-0.00085867078018925941 0.01035542156544288 -0.0073155603171124453 0.010895396036140629 -0.0070470887561593313 -0.0071354381111353995 0.010237869783697721 0.0072303613957893009 0.0033426648197036643 -0.010289053344147739 -0.010993465712189884 -0.011319866605440059 0.0010366384280522715 0.011310074604262558 -0.010981049411876768 0.011115698466185788 -0.011060942918488637 -0.011197058105640596 -0.01088995311853261 leaf_weight=3.8215155601501447 3.9864239543676359 2.3936848118901235 71.519118748605251 4.5324382707476616 3.263582229614256 3.8556114658713341 3.2852676808834076 4.9392382055521011 3.9220428392291069 2.6612794250249854 1.9636487588286402 2.3509028032422066 1.5188638791441906 1.8628515452146519 1.8325280770659436 1.7004557549953458 1.8454428836703298 65.418914772570133 leaf_count=21 28 22 949 24 16 23 25 25 22 33 20 20 16 23 21 20 20 872 internal_value=0 -0.00932409 0.00923363 0.00109646 0.0100465 0.00383872 7.12466e-05 -0.00213875 -0.00563507 -0.0104604 -0.00667298 -0.00317712 0.0109092 -0.010904 0.0109009 -0.0111997 -0.0110768 -0.0108925 internal_weight=0 92.88 93.7938 8.51886 85.275 10.4045 6.54885 12.6828 7.74356 80.1972 8.40869 4.74459 74.8705 71.7885 73.3516 3.6641 4.50672 67.2818 internal_count=2200 1098 1102 52 1050 64 41 68 43 1030 82 42 986 948 970 40 53 895 is_linear=0 shrinkage=0.01 Tree=182 num_leaves=17 num_cat=0 split_feature=12 1 13 3 0 2 0 3 0 13 1 0 12 12 2 0 split_gain=158.815 9.39285 7.62002 5.66102 1.86154 1.60748 2.22322 1.35418 1.3263 1.25606 0.983081 0.816658 0.00139047 0.00059142 0.000437229 0.000145489 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 0.50652862085158101 1.0383879925828392 1.2148150016890609 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 6 -2 8 11 -6 -5 -4 14 -10 -9 -14 right_child=2 -3 7 4 9 -7 -8 12 13 -11 -12 -13 15 -15 -16 -17 leaf_value=-4.8972998550811473e-05 -0.010653736826990778 -0.013029295719546381 -0.0072820429606614027 0.010925645492811369 0.00010131008676408015 0.0023551743235872237 2.9864977515929662e-05 -0.010982663005649576 -0.011305202979154246 0.0095282993271289616 0.0050543124975671403 0.0010255145382626894 -0.010970344686916494 -0.011049322534654659 -0.011183860888382129 -0.010880315347894701 leaf_weight=5.6161432415246955 3.6396574005484563 1.8590424358844746 2.380720414221285 76.900566816329956 2.8537103906273833 4.9256081730127335 4.1903254389762878 2.6373778954148284 1.9466191157698634 2.8003762513399124 2.96160814911127 2.3526307791471481 1.8461064994335163 1.6852975636720655 1.829225607216358 64.825072214007378 leaf_count=27 21 11 22 1011 24 22 20 33 20 19 15 20 23 20 20 872 internal_value=0 0.0092227 -0.00929555 0.00967663 0.0103153 -0.00212065 -0.00493626 -0.0104467 -0.00664081 0.00477034 0.0107079 -0.00315291 -0.0108943 -0.0111865 -0.0110651 -0.0108828 internal_weight=0 92.9914 92.2586 91.1324 85.5163 12.7556 7.82998 79.5031 8.36527 5.65409 79.8622 4.73335 71.1378 3.63192 4.4666 66.6712 internal_count=2200 1107 1093 1096 1069 63 41 1030 82 43 1026 42 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=183 num_leaves=17 num_cat=0 split_feature=12 1 13 3 1 2 2 0 3 0 0 0 12 12 2 0 split_gain=156.883 9.27818 7.61013 5.64183 5.70597 1.7888 1.57936 2.19641 1.36086 1.32193 0.873855 0.806059 0.00134679 0.000572531 0.000423231 0.000140825 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.73272418878666612 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 1.0637796106207162 1.2148150016890609 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 10 7 -2 9 11 -5 -4 14 -11 -10 -14 right_child=2 -3 8 5 -6 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=0.010308335916788673 -0.010604825773827146 -0.012991261114643477 -0.0072485837325599331 0.010948169179644156 -0.0064638147756369167 0.0016220515352593748 0.002330672282595684 2.9565746854415459e-05 -0.010971987718915258 -0.011290718950600359 0.0065074602794279483 0.0010145182026253187 -0.010959766195410305 -0.011037840872204106 -0.011170823411173869 -0.010870790225124287 leaf_weight=3.9534518644213659 3.6199785023927671 1.8459061980247486 2.3678574189543706 75.3531244546175 4.165663480758667 2.2376981526613227 4.927606001496315 4.1903587281703949 2.6136633530259124 1.929709851741791 4.7082170546054831 2.3543408587574959 1.8294927105307568 1.6702554598450658 1.8131275698542593 64.236006744205952 leaf_count=28 21 11 22 992 22 17 22 20 33 20 37 20 23 20 20 872 internal_value=0 0.00920287 -0.00927401 0.00965596 0.00170307 0.0104405 -0.00210244 -0.00489932 -0.0104331 -0.00660873 0.010687 -0.00312886 -0.0108846 -0.0111734 -0.0110534 -0.0108733 internal_weight=0 92.2641 91.5524 90.4182 8.11912 82.299 12.7379 7.81034 78.8145 8.32216 80.0613 4.7222 70.4923 3.59997 4.42679 66.0655 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 82 1029 42 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=184 num_leaves=19 num_cat=0 split_feature=10 13 3 1 13 10 4 2 3 0 0 4 1 12 3 12 2 0 split_gain=155 7.50083 6.1371 6.23084 4.57353 2.50396 2.39071 1.71542 1.36754 1.31756 0.795582 0.458528 0.00235182 0.00130453 0.000804759 0.000554258 0.000409695 0.00013632 threshold=2.5000000000000004 0.85162615880101311 0.52015392592939824 0.78827279013960749 0.46553849925547169 3.5000000000000004 0.43216120423585541 1.2169811510592434 1.2471304352583659 1.2748487141050349 1.2148150016890609 0.3887456056823268 0.99689265265511573 5.428310804937337 1.1748853893285929 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 12 11 7 -1 9 10 -3 -6 14 16 -4 -11 -10 -15 right_child=2 8 4 -5 5 -7 -8 -9 13 15 -12 -13 -14 17 -16 -17 -18 -19 leaf_value=-0.00080225140271033169 0.00870882966255857 -0.0072151807298118497 0.010866918480121359 -0.0085649905476677876 0.004294032285220759 -0.0033742478379607732 0.0033406274132209181 -0.010246154690802397 -0.010961437859048753 -0.011276412459473559 0.001003647909079202 0.0094493003884605319 0.011274485076898611 -0.010949313627783373 0.011081863837536819 -0.011026497183416403 -0.01115794349295284 -0.010861375161214338 leaf_weight=3.7958402186632139 4.7159250527620298 2.3550954014062864 69.599261730909348 3.7476120069622993 3.0978759974241239 3.3267996311187744 4.9146599322557449 3.8991197794675827 2.5901349708437911 1.9129206389188769 2.3560331985354424 3.8939424231648445 1.4841747283935536 1.8130094632506359 1.7865579202771176 1.6553288847208021 1.7971483692526815 63.651698805391788 leaf_count=21 33 22 949 19 14 24 25 22 33 20 20 26 16 23 21 20 20 872 internal_value=0 -0.0092645 0.00917278 0.00106007 0.00999816 0.00376717 -0.00210777 -0.00558758 -0.0104195 -0.00657672 -0.00310495 0.00716515 0.0108805 -0.010875 0.0108723 -0.0111605 -0.0110419 -0.0108638 internal_weight=0 90.741 91.6521 8.46354 83.1886 10.3186 12.6096 7.69496 78.1314 8.27938 4.71113 6.99182 72.87 69.852 71.3858 3.56825 4.38728 65.4647 internal_count=2200 1098 1102 52 1050 64 68 43 1030 82 42 40 986 948 970 40 53 895 is_linear=0 shrinkage=0.01 Tree=185 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 4 13 3 0 12 4 1 13 12 0 split_gain=153.166 7.82546 7.51908 6.04788 3.04257 2.97418 2.67579 1.74897 1.41831 1.86793 0.641296 0.172763 0.0116718 0.000536589 0.000534289 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.2351688403888856 0.39394749199373341 0.582163634996683 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.43963968064395148 0.95282455020400814 0.92841159450679933 5.6282894992994832 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 5 -3 -2 8 9 -4 11 -5 -9 -10 -14 right_child=2 4 7 10 -6 -7 -8 12 13 -11 -12 -13 14 -15 -16 leaf_value=-0.008016924999654975 -0.0076283002240144608 -0.00049875431786430119 -0.0089088719353313389 0.01098119061802608 -0.0049716726075293271 0.012550691627697877 0.0023935731011085703 -0.011540844502445545 -0.011262281093045534 0.0027468831423326364 0.0065709867352932117 0.0087481293811586553 -0.011025081971131771 -0.011015287452031177 -0.0108528136289275 leaf_weight=1.7712731137871731 4.4073093608021718 3.7647234499454481 2.7262494564056379 70.517959535121918 4.5080858841538429 3.2580560296773911 6.7357034832239151 2.5966864749789229 1.8962512165308001 2.7738742008805275 3.637626849114894 3.6435873731970778 1.8514396250247944 1.6405174806714056 65.28632277995348 leaf_count=9 23 32 22 942 23 22 33 27 20 24 38 41 22 20 902 internal_value=0 0.00913871 -0.00925896 0.0102544 0.00143965 0.00555523 -0.0015703 -0.0103466 -0.00620735 -0.00303053 0.0106704 0.0108715 -0.010883 -0.0111477 -0.0108576 internal_weight=0 91.1013 89.9144 79.5704 11.5309 7.02278 11.143 78.7713 9.03689 5.50012 77.7992 74.1615 69.7344 3.53677 67.1378 internal_count=2200 1107 1093 1030 77 54 56 1037 86 46 1021 983 951 40 924 is_linear=0 shrinkage=0.01 Tree=186 num_leaves=17 num_cat=0 split_feature=12 1 13 3 0 2 0 3 0 13 1 0 12 12 2 0 split_gain=151.361 9.07651 7.52597 5.63061 1.87452 1.56975 2.17032 1.37943 1.30658 1.24356 1.00375 0.780837 0.00124264 0.000519493 0.000391931 0.000127653 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 0.50652862085158101 1.0383879925828392 1.2148150016890609 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 -1 10 6 -2 8 11 -6 -5 -4 14 -10 -9 -14 right_child=2 -3 7 4 9 -7 -8 12 13 -11 -12 -13 15 -15 -16 -17 leaf_value=-0.00011895213129950082 -0.010569598863066491 -0.012934300439694247 -0.007164066446128492 0.010888843904240211 4.4610061898846661e-07 0.0023424590333197171 2.2755150541332792e-05 -0.010941159270606437 -0.011248321722975987 0.0094345916670825168 0.0049391452734147221 0.00099418070480887218 -0.010928744892289869 -0.011004211733465193 -0.011135030819954124 -0.010842871941426666 leaf_weight=5.5834320783615103 3.598842188715933 1.8242418467998494 2.3353994041681272 74.216028891503811 2.8262396305799475 4.9152773320674896 4.1823756396770477 2.5437491387128821 1.8797013834118845 2.7632988393306732 2.9481800124049178 2.3574469238519669 1.7803985252976406 1.6258206292986868 1.767158508300781 62.497102133929729 leaf_count=27 21 11 22 1011 24 22 20 33 20 19 15 20 23 20 20 872 internal_value=0 0.00914472 -0.00921363 0.00960067 0.0102565 -0.00208162 -0.00487625 -0.0103929 -0.00651612 0.0046644 0.0106615 -0.00306578 -0.0108563 -0.0111351 -0.0110206 -0.0108453 internal_weight=0 90.1614 89.4833 88.3372 82.7537 12.6965 7.78122 76.7868 8.19837 5.58954 77.1642 4.69285 68.5884 3.50552 4.31091 64.2775 internal_count=2200 1107 1093 1096 1069 63 41 1030 82 43 1026 42 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=187 num_leaves=17 num_cat=0 split_feature=12 1 13 3 4 2 2 0 3 12 12 0 12 13 2 0 split_gain=149.519 8.96582 7.51595 5.61739 5.60534 1.80233 1.54227 2.14419 1.38609 1.30229 3.08128 0.888225 0.00120375 0.000478276 0.000379431 0.000123577 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.33102573345802283 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2471304352583659 5.4588099803130126 5.3611511359867654 1.0637796106207162 5.428310804937337 1.2823561955985172 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 11 7 -2 9 10 -4 -5 14 -11 -10 -14 right_child=2 -3 8 5 -6 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=0.012417210826832129 -0.010521300739173638 -0.01289772607018674 -0.011483175066310199 0.010909940046992021 -0.0048376219942199228 0.0014793550935296917 0.0023181014426555016 2.2527491419252814e-05 -0.010930972944437473 -0.011232158489065372 0.004754771381129435 0.0064023819491118537 -0.010918658041194717 -0.010996970097853973 -0.011122584670602507 -0.010833782633218252 leaf_weight=3.0073173120617849 3.5793071538209897 1.8111862167716015 2.2480075582861883 72.742653355002403 5.0344714000821114 2.2095138803124419 4.9172456562519073 4.1824008449912071 2.5207735300064078 1.855402857065201 2.433806486427784 4.6511158570647231 1.7643034532666195 1.6192921400070188 1.7515229433774946 61.926893681287766 leaf_count=24 21 11 21 992 26 17 22 20 33 20 21 37 23 20 20 872 internal_value=0 0.00912504 -0.0091922 0.00958014 0.00161502 0.0103848 -0.00206374 -0.00483975 -0.0103796 -0.00648434 -0.003042 0.0106391 -0.010847 -0.0111226 -0.0110095 -0.0108361 internal_weight=0 89.4563 88.799 87.6451 8.04179 79.6033 12.679 7.76171 76.12 8.15651 4.68181 77.3938 67.9635 3.47469 4.2723 63.6912 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 82 42 1029 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=188 num_leaves=19 num_cat=0 split_feature=10 1 3 1 13 3 10 13 4 13 13 13 4 1 3 1 0 12 split_gain=147.727 7.39533 6.07149 6.08611 4.58077 3.54237 2.51504 2.24597 1.81422 1.47476 0.496062 1.20802 0.454216 0.0261108 0.00888295 0.00228211 0.00076556 0.000416135 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.73272418878666612 0.46553849925547169 1.3268335175992902 3.5000000000000004 0.85162615880101311 0.43216120423585541 1.0435162956499575 0.97735317110040087 0.87216409470284928 0.3887456056823268 1.1131779854950417 1.2103584781205146 0.99689265265511573 1.0188919694060079 5.4588099803130126 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 15 7 12 8 -1 -9 11 -3 -6 -7 -12 16 -4 -16 right_child=2 10 4 -5 6 13 -8 9 -10 -11 14 -13 -14 -15 17 -17 -18 -19 leaf_value=-0.0020459199038209241 0.010185982263708947 -0.012185089749032693 0.010830621912729725 -0.0069095858598976628 0.0042448351161909611 -0.012471468386526354 -0.0035122884841214202 -0.011219076062891664 0.0069542054126942345 0.00070780029351178093 -0.011443657562148532 -0.0019697628241716297 0.0093941809055128316 -0.010852733708299213 -0.010986788876511252 0.011237627311139357 0.011045324581936165 -0.010827772211793261 leaf_weight=5.0825935900211352 3.8711264133453351 2.5125413388013831 67.147334448993206 4.5068819671869278 3.0898223966360074 1.9709444642066949 3.2944271489977837 2.775416485965251 4.0042499601840973 1.6549169495701788 2.4669287353754035 2.1467068418860435 3.8442760929465294 2.015482634305954 1.6908260956406582 1.4439686760306347 1.7028678059577931 61.6539341583848 leaf_count=26 28 19 950 24 14 15 24 31 20 18 23 23 26 28 21 16 20 874 internal_value=0 -0.00918673 0.0090914 0.000989559 0.00993436 -0.00336916 0.00368173 -0.000926115 0.00192012 -0.00676388 -0.0106317 -0.00747847 0.00709964 -0.0116531 -0.0108549 0.0108442 0.0108359 -0.010832 internal_weight=0 87.9745 88.9007 8.37801 80.5227 17.5036 10.2285 13.5172 9.08684 4.43033 70.4709 4.65925 6.9341 3.98643 65.8117 70.2942 68.8502 63.3448 internal_count=2200 1098 1102 52 1050 138 64 95 46 49 960 42 40 43 918 986 970 895 is_linear=0 shrinkage=0.01 Tree=189 num_leaves=17 num_cat=0 split_feature=12 1 13 3 4 2 2 0 3 0 0 0 12 12 2 0 split_gain=145.967 8.81734 7.45949 5.58077 5.49117 1.80483 1.50939 2.11963 1.40556 1.30827 0.898444 0.774847 0.00115875 0.000492238 0.000354074 0.000115558 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.33102573345802283 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2471304352583659 1.2748487141050349 1.0637796106207162 1.2148150016890609 5.428310804937337 5.6282894992994832 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 10 7 -2 9 11 -5 -4 14 -11 -10 -14 right_child=2 -3 8 5 -6 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=0.012371500920842399 -0.010477034843551598 -0.012858388479727357 -0.007070639826622145 0.010890178700282313 -0.0047674686499307346 0.0014265418858549683 0.0022860098873032217 2.9626298638705965e-05 -0.010913400497150701 -0.011212160889298977 0.0063388061950810986 0.0011033955535541973 -0.010898884741773763 -0.010971536594825856 -0.011100010015215545 -0.010816060942365343 leaf_weight=2.9722709804773313 3.5552178099751455 1.7937055230140675 2.2996957972645742 71.464115492999554 5.0378783717751503 2.2000370100140563 4.9131511598825455 4.1749940887093544 2.481439232826232 1.8373988866806032 4.6173978522419921 2.3394173234701157 1.7325697168707836 1.5822433233261106 1.722635358572006 60.807996340095997 leaf_count=24 21 11 22 992 26 17 22 20 33 20 37 20 23 20 20 872 internal_value=0 0.00908611 -0.0091521 0.00954226 0.00159217 0.0103558 -0.00204795 -0.00480251 -0.0103528 -0.00640792 0.010614 -0.00294863 -0.0108292 -0.0111008 -0.0109899 -0.0108184 internal_weight=0 88.0854 87.4468 86.2917 8.01015 78.2816 12.6434 7.73021 74.8034 8.05876 76.0815 4.63911 66.7446 3.41964 4.20407 62.5406 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 82 1029 42 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=190 num_leaves=17 num_cat=0 split_feature=12 1 13 0 1 3 2 0 3 12 12 4 12 13 2 0 split_gain=144.191 8.71002 7.44926 5.57874 2.67552 3.55945 1.48297 2.09414 1.41219 1.30611 3.05728 0.73681 0.00112253 0.000455524 0.000342814 0.000111876 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.31415341067031349 0.95282455020400814 1.0021677959971271 1.2396581529761168 1.1305001193370379 1.2471304352583659 5.4588099803130126 5.3611511359867654 0.43963968064395148 5.428310804937337 1.2823561955985172 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 11 -6 7 -2 9 10 -4 -5 14 -11 -10 -14 right_child=2 -3 8 4 5 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=-0.0080778376120128077 -0.010429388380861045 -0.012822988910141792 -0.011445234761397929 0.010809822903338859 -0.0039082600417103619 0.0087803304380147003 0.0022622755984634943 2.9329758352971623e-05 -0.010903537418221454 -0.011199434131380952 0.0048299191915776559 0.0059144582028428736 -0.010889148718110376 -0.010967068606760881 -0.011087983293520773 -0.010807282814520289 leaf_weight=1.7639153227210034 3.5358424410223943 1.7807357162237156 2.2038180604577047 69.447298921644688 3.0334156900644293 8.1528713777661306 4.9150394946336746 4.1750268042087555 2.4589596912264815 1.8121491000056269 2.4234516844153404 3.2169995680451384 1.7168563157320011 1.5785820484161375 1.7073354572057722 60.251604318618774 leaf_count=9 21 11 21 963 24 65 22 20 33 20 21 35 23 20 20 872 internal_value=0 0.0090667 -0.00913075 0.00952199 0.00989223 0.00533953 -0.00203035 -0.00476655 -0.0103397 -0.00637635 -0.00292141 0.0105931 -0.0108202 -0.0110913 -0.0109791 -0.0108096 internal_weight=0 87.3952 86.7787 85.6145 83.8506 11.1863 12.6259 7.71087 74.1528 8.018 4.62727 72.6643 66.1348 3.39073 4.1663 61.9685 internal_count=2200 1107 1093 1096 1087 89 63 41 1030 82 42 998 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=191 num_leaves=18 num_cat=0 split_feature=10 1 3 1 13 3 10 0 0 13 13 4 1 3 1 0 12 split_gain=142.457 7.36358 6.0116 7.8946 4.60803 3.48632 2.5233 2.16661 2.437 0.508305 1.21316 0.459359 0.0249621 0.0085545 0.00219963 0.000736198 0.000413777 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.0867160002493412 1.2459758622003483 0.97735317110040087 0.87216409470284928 0.3887456056823268 1.1131779854950417 1.2103584781205146 0.99689265265511573 1.0188919694060079 5.4588099803130126 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0052921446542891883 0.0089611700986208642 -0.012143235525255184 0.010804322035379833 -0.010896585552270053 0.0041610104754624512 -0.012425805672059222 -0.0036339058336344195 -0.0062751607821796484 0.0058328548292535497 -0.011411937600404865 -0.0018298734441774464 0.0093540884322734115 -0.010825398979660301 -0.010961818223405589 0.011207755738427397 0.011017251899180285 -0.010801427962621964 leaf_weight=3.9960235133767155 4.9587608054280263 2.4713263884186736 65.335053786635399 3.3576133772730827 3.0795592218637449 1.937766753137111 3.269614540040493 7.246366433799265 2.1571465730667114 2.4191972464323035 2.1180852428078651 3.8115794435143471 1.9607108980417249 1.6527838557958592 1.4169772267341603 1.6651428043842305 59.980613753199577 leaf_count=22 35 19 950 17 14 15 24 53 20 23 23 26 28 21 16 20 874 internal_value=0 -0.00912885 0.00902894 0.000943894 0.00988463 -0.00329784 0.00360076 -0.000876318 -0.00349761 -0.0105983 -0.00738346 0.00703337 -0.0116209 -0.0108286 0.0108179 0.0108096 -0.0108057 internal_weight=0 85.94 86.8943 8.31637 78.5779 17.298 10.1608 13.3995 9.40351 68.642 4.58941 6.89114 3.89848 64.0526 68.4172 67.0002 61.6334 internal_count=2200 1098 1102 52 1050 138 64 95 73 960 42 40 43 918 986 970 895 is_linear=0 shrinkage=0.01 Tree=192 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 4 13 3 0 12 4 1 13 12 0 split_gain=140.781 7.66574 7.36129 5.97692 2.81612 3.0136 2.58839 1.80911 1.40625 1.82937 0.653324 0.179525 0.011466 0.000491238 0.000429812 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.2351688403888856 0.39394749199373341 0.582163634996683 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.43963968064395148 0.95282455020400814 0.92841159450679933 5.6282894992994832 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 5 -3 -2 8 9 -4 11 -5 -9 -10 -14 right_child=2 4 7 10 -6 -7 -8 12 13 -11 -12 -13 14 -15 -16 leaf_value=-0.0080281219197069695 -0.0075159827399654188 -0.0008246230003880092 -0.0087595671090320432 0.010922106931061382 -0.0048725751383119258 0.012462742488710894 0.0024199363247986629 -0.011487767833587381 -0.01118329736925204 0.00290149311965571 0.0063845912722731869 0.0085926342151162183 -0.010950410542864773 -0.010940008293548366 -0.010791025700288817 leaf_weight=1.7650587633252133 4.3182080015540105 3.6778707429766637 2.6374166756868345 66.272381037473679 4.4485045820474625 3.1851074919104576 6.6743324398994446 2.4865079075098029 1.8004355132579806 2.7460469603538513 3.5104862675070754 3.4821632057428351 1.7400053143501271 1.5396788567304609 61.247031569480896 leaf_count=9 23 32 22 942 23 22 33 27 20 24 38 41 22 20 902 internal_value=0 0.00899896 -0.00912029 0.0101559 0.00132491 0.00534204 -0.0014832 -0.0102518 -0.00597391 -0.00281139 0.010594 0.0108058 -0.0108217 -0.0110711 -0.0107954 internal_weight=0 86.3416 85.1897 75.0301 11.3115 6.86298 10.9925 74.1971 8.72358 5.38346 73.265 69.7545 65.4735 3.34011 62.987 internal_count=2200 1107 1093 1030 77 54 56 1037 86 46 1021 983 951 40 924 is_linear=0 shrinkage=0.01 Tree=193 num_leaves=17 num_cat=0 split_feature=12 1 13 3 1 2 2 0 3 12 12 0 12 13 2 0 split_gain=139.118 8.49088 7.38642 5.56185 6.45401 1.82202 1.45474 2.07506 1.43263 1.30324 3.01391 0.918018 0.00107488 0.000441515 0.000312346 0.000100988 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.80211009798115074 1.2169811510592434 1.2396581529761168 1.1305001193370379 1.2471304352583659 5.4588099803130126 5.3611511359867654 1.0637796106207162 5.428310804937337 1.2823561955985172 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 4 -1 11 7 -2 9 10 -4 -5 14 -11 -10 -14 right_child=2 -3 8 5 -6 -7 -8 -9 12 13 -12 -13 15 -15 -16 -17 leaf_value=0.0088096352827618362 -0.010382431020756564 -0.01276215614765442 -0.011410295964356941 0.010853865608002345 -0.0096396924866250129 0.0012754463704283334 0.0022573569602235078 5.9513067065995882e-05 -0.010878919532811806 -0.011170097328262841 0.0048310455574795113 0.0062181601748328742 -0.01086063092251471 -0.010938558834040601 -0.011057093800378051 -0.010781778965573729 leaf_weight=4.7825496420264235 3.5073868632316572 1.7545041516423214 2.1624946519732466 69.00108702480793 3.1417336910963058 2.172867350280284 4.9039476215839386 4.1608052402734756 2.4021572321653357 1.7713897377252581 2.4225720688700676 4.5538147762417784 1.6705062836408604 1.5391682162880895 1.6664347797632215 58.621946655213833 leaf_count=34 21 11 21 992 16 17 22 20 33 20 21 37 23 20 20 872 internal_value=0 0.00900952 -0.00907053 0.00946616 0.00149505 0.0103003 -0.00199629 -0.00471657 -0.0103014 -0.0062812 -0.002829 0.0105669 -0.0107946 -0.0110624 -0.0109519 -0.010784 internal_weight=0 85.4066 84.8288 83.6521 7.92428 75.7278 12.5721 7.66819 72.2567 7.89562 4.58507 73.5549 64.361 3.31056 4.06859 60.2925 internal_count=2200 1107 1093 1096 50 1046 63 41 1030 82 42 1029 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=194 num_leaves=17 num_cat=0 split_feature=12 1 13 3 1 2 3 2 0 0 0 0 3 12 2 0 split_gain=137.426 8.38777 7.37587 5.54096 6.33789 1.81966 1.43901 1.42925 2.05008 1.30084 0.92537 0.761399 0.00134063 0.00104135 0.000302448 9.77817e-05 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.80211009798115074 1.2169811510592434 1.2471304352583659 1.2396581529761168 1.1305001193370379 1.2748487141050349 1.0637796106207162 1.2148150016890609 1.2036545671815675 5.428310804937337 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 7 4 -1 10 9 8 -2 11 -5 -4 -11 14 -8 -15 right_child=2 -3 6 5 -6 -7 13 -9 -10 12 -12 -13 -14 15 -16 -17 leaf_value=0.0087648617737364678 -0.010335425723469419 -0.012728221987861187 -0.0069431948954278453 0.010843432994186645 -0.0095252966158079506 0.0012635752976876604 -0.010869457286742244 0.0022339416747377962 5.8917065712608923e-05 -0.011274107681331762 0.0061795779182302162 0.0012206933093640289 -0.010867894360007803 -0.010851342023321759 -0.011045579498603107 -0.010773396131941036 leaf_weight=4.7590286657214156 3.4882013797759992 1.7416543513536442 2.251150779426097 68.379914715886116 3.1476403698325157 2.1713554933667174 2.3803153112530699 4.9057866483926773 4.1608709022402763 1.4719765633344652 4.5365111380815497 2.3194679915904999 1.8133174180984495 1.6552931517362584 1.6515647321939466 58.083584323525429 leaf_count=34 21 11 22 992 16 17 33 22 20 15 37 20 25 23 20 872 internal_value=0 0.00899041 -0.00904929 0.00944618 0.00148356 0.0102846 -0.0102886 -0.00197913 -0.00468121 -0.00625019 0.0105533 -0.00280024 -0.0110499 -0.0107861 -0.0109416 -0.0107756 internal_weight=0 84.7361 84.1815 82.9945 7.90667 75.0878 71.6267 12.5549 7.64907 7.85591 72.9164 4.57062 3.28529 63.7708 4.03188 59.7389 internal_count=2200 1107 1093 1096 50 1046 1030 63 41 82 1029 42 40 948 53 895 is_linear=0 shrinkage=0.01 Tree=195 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 10 0 0 13 13 3 1 3 1 0 3 split_gain=135.761 7.33432 5.92331 7.66617 4.62137 3.41936 2.53492 2.07924 2.45038 0.52282 1.22602 0.255701 0.0291843 0.008268 0.00208148 0.000775881 0.000436379 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.0867160002493412 1.2459758622003483 0.97735317110040087 0.87216409470284928 1.131123390631309 1.1058192561221138 1.2103584781205146 0.99689265265511573 1.0188919694060079 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0052534868329871436 0.0089605119838569933 -0.012097909440102748 0.010770456771051668 -0.010655645776740903 0.0092087419046136074 -0.012561025630741499 -0.0037740861731614833 -0.0062000081783945716 0.0060065934400754329 -0.011375733743712056 -0.0016289958633828789 0.0052985622177053084 -0.010794682418060345 -0.01091379496688254 0.01116906493925191 0.010991481974410022 -0.010767039816018911 leaf_weight=3.9671103060245541 4.8415061607956869 2.4232924059033385 62.972804561257362 3.3853551745414734 2.9147613197565061 1.6867213696241372 3.2389434799551964 7.1557834446430189 2.1352596431970596 2.3602232709527007 2.0778363198041916 3.9236635565757751 2.0999942421913147 2.1004204973578444 1.3761513978242863 1.6293167248368252 57.321562126278877 leaf_count=22 35 19 950 17 21 12 24 53 20 23 23 19 31 28 16 20 867 internal_value=0 -0.00905111 0.00894896 0.000888459 0.00982086 -0.00320066 0.00351352 -0.000806984 -0.0033947 -0.0105556 -0.00726519 0.00696521 -0.0115815 -0.0107953 0.0107842 0.010776 -0.0107722 internal_weight=0 83.3282 84.2825 8.22686 76.0556 17.0449 10.0774 13.2582 9.29104 66.2833 4.50113 6.83842 3.78672 61.7822 65.9783 64.6021 59.422 internal_count=2200 1098 1102 52 1050 138 64 95 73 960 42 40 43 918 986 970 895 is_linear=0 shrinkage=0.01 Tree=196 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 4 13 3 0 12 3 12 13 3 0 split_gain=134.181 7.54971 7.26506 5.9498 2.68206 3.02351 2.51995 1.84237 1.39785 1.79494 0.882031 0.0112255 0.011167 0.00129086 0.000381988 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.2351688403888856 0.39394749199373341 0.582163634996683 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.17408222448223767 4.6109421182883317 0.92841159450679933 1.2036545671815675 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 5 -3 -2 8 9 -4 -5 -12 -9 -10 -14 right_child=2 4 7 10 -6 -7 -8 12 13 -11 11 -13 14 -15 -16 leaf_value=-0.008067149456957818 -0.0074380845451432346 -0.00098231218135582808 -0.008665084389230155 0.0055976000540064932 -0.0047876612453719158 0.012409083673458504 0.0024117979935739963 -0.011454362291155873 -0.011252762773629424 0.0029511069832039052 0.010780756715268075 0.011536379409939472 -0.010910863377821434 -0.010850996612480969 -0.010757926613054958 leaf_weight=1.7589104548096646 4.2644946649670583 3.6358384713530523 2.5884077548980695 3.4197916239500037 4.4153575375676155 3.1438823789358139 6.6438829898834229 2.4236089438199988 1.450130417943001 2.736593671143055 65.33542412519455 2.027054361999034 1.6796096488833416 1.7829716578125951 59.042663209140301 leaf_count=9 23 32 22 17 23 22 33 27 15 24 984 20 22 25 902 internal_value=0 0.00892093 -0.00904196 0.0101005 0.00127752 0.00522753 -0.00143889 -0.0101986 -0.00584449 -0.00269536 0.010552 0.0108035 -0.0107887 -0.0110312 -0.0107622 internal_weight=0 83.7363 82.6124 72.5412 11.1951 6.77972 10.9084 71.704 8.5581 5.325 70.7823 67.3625 63.1459 3.2331 60.7223 internal_count=2200 1107 1093 1030 77 54 56 1037 86 46 1021 1004 951 40 924 is_linear=0 shrinkage=0.01 Tree=197 num_leaves=17 num_cat=0 split_feature=12 1 13 3 1 2 3 2 0 12 12 0 12 13 2 0 split_gain=132.592 8.1793 7.31588 5.49589 6.1704 1.83189 1.45959 1.40173 2.02792 1.30134 2.97569 0.934152 0.00099775 0.000425626 0.000275838 8.83016e-05 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.80211009798115074 1.2169811510592434 1.2471304352583659 1.2396581529761168 1.1305001193370379 5.4588099803130126 5.3611511359867654 1.0637796106207162 5.428310804937337 1.2823561955985172 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 7 4 -1 11 9 8 -2 10 -4 -5 14 -11 -8 -14 right_child=2 -3 6 5 -6 -7 12 -9 -10 13 -12 -13 15 -15 -16 -17 leaf_value=0.0086849603369964518 -0.010283945941432591 -0.012671060715571766 -0.011369523106437294 0.010817654007032187 -0.0094088264484668491 0.0011558505334956447 -0.010845936859780199 0.0022304819313645505 8.5688140588592604e-05 -0.011134439492000837 0.0048792144538557704 0.0061088737014872484 -0.010824148629269796 -0.010903509561970478 -0.011016154111403973 -0.010749053542215781 leaf_weight=4.7073095738887778 3.458973675966261 1.7158504053950299 2.1131551936268798 66.579809099435806 3.1432890295982361 2.1525217294692984 2.3253214135766025 4.8945323079824448 4.1469671577215195 1.7195094451308253 2.4152485132217407 4.4976980537176123 1.6104602068662632 1.4894603565335272 1.611999526619911 56.507522866129875 leaf_count=34 21 11 21 992 16 17 33 22 20 20 21 37 23 20 20 872 internal_value=0 0.00893477 -0.00898907 0.009392 0.00144042 0.0102444 -0.0102509 -0.00194388 -0.00463014 -0.00615547 -0.00270317 0.0105197 -0.0107616 -0.0110273 -0.0109156 -0.0107511 internal_weight=0 82.7965 82.2932 81.0806 7.8506 73.23 69.7927 12.5005 7.60594 7.73737 4.5284 71.0775 62.0553 3.20897 3.93732 58.118 internal_count=2200 1107 1093 1096 50 1046 1030 63 41 82 42 1029 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=198 num_leaves=17 num_cat=0 split_feature=12 1 13 3 0 3 2 0 12 12 13 1 12 13 2 0 split_gain=130.978 8.08005 7.30489 5.47476 1.93198 1.46588 1.37714 2.00349 1.29639 2.93725 1.25082 1.1172 0.000966714 0.000412401 0.000267126 8.55067e-05 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.17408222448223767 1.048937272384614 1.2471304352583659 1.2396581529761168 1.1305001193370379 5.4588099803130126 5.3611511359867654 0.50652862085158101 1.0383879925828392 5.428310804937337 1.2823561955985172 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 11 8 7 -2 9 -4 -6 -5 14 -10 -7 -14 right_child=2 -3 5 4 10 12 -8 -9 13 -11 -12 -13 15 -15 -16 -17 leaf_value=-0.00027157013213446326 -0.010237582512205426 -0.012638499278467464 -0.011354240265066482 0.010788519090254897 -0.00047389475783423876 -0.010836856145239283 0.002207364470898877 8.4829543773199954e-05 -0.011122087275087544 0.004813521471582892 0.0091699133756996242 0.0044480595816153001 -0.010815282153628685 -0.010893747103252072 -0.011005125252136932 -0.010741044885480824 leaf_weight=5.4853750169277182 3.4399874433875066 1.703132115304469 2.0949308276176444 66.678402721881866 2.7143725976347914 2.3041035085916515 4.896325021982193 4.1470613107085228 1.7042812742292883 2.4236860424280167 2.6657450869679451 2.8998524174094191 1.5957364588975895 1.4759548380970953 1.5975512191653249 55.986768640577793 leaf_count=27 21 11 21 1011 24 33 22 20 20 21 19 15 23 20 20 872 internal_value=0 0.00891578 -0.0089679 0.00937212 0.0100778 -0.0102383 -0.00192715 -0.00459538 -0.00612477 -0.00268221 0.00430443 0.0105243 -0.0107534 -0.0110161 -0.0109058 -0.0107431 internal_weight=0 82.1469 81.6664 80.4437 74.9584 69.183 12.4834 7.58705 7.69885 4.51862 5.38012 69.5783 61.4842 3.18024 3.90165 57.5825 internal_count=2200 1107 1093 1096 1069 1030 63 41 82 42 43 1026 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=199 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 10 0 0 13 13 4 1 3 1 0 3 split_gain=129.406 7.2968 5.83564 7.43627 4.62798 3.35194 2.54746 1.98839 2.4602 0.536318 1.23628 0.428762 0.0275543 0.00810617 0.00200611 0.000853511 0.000464853 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.0867160002493412 1.2459758622003483 0.97735317110040087 0.87216409470284928 0.38545662354011129 1.1058192561221138 1.2103584781205146 0.99689265265511573 1.0188919694060079 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0052057085983983776 0.0088711140579105681 -0.012054906302062476 0.010738022852314245 -0.010525167537910265 0.0037474759627990632 -0.012500887575111648 -0.0039129837402213262 -0.0061246381466659103 0.0061707492497005125 -0.0113450182420393 -0.0014450334653866184 0.0089073909526844238 -0.01076104668340753 -0.010888350533820383 0.011135486744517243 0.010971929682171994 -0.010734737697809598 leaf_weight=3.9351418092846897 4.7733258083462697 2.3769487477838984 60.683239415287971 3.3735621571540833 2.6326595693826658 1.6544555351138108 3.207224428653717 7.0617794021964055 2.114695779979229 2.3052843958139411 2.0414722338318825 4.147246927022934 2.0236862190067768 2.0428267382085314 1.3372900411486615 1.6011567637324322 55.23843640089035 leaf_count=22 35 19 950 17 12 12 24 53 20 23 23 28 31 28 16 20 867 internal_value=0 -0.00897517 0.00886998 0.000839267 0.00975881 -0.00310758 0.00343013 -0.000741052 -0.0032912 -0.0105143 -0.00715276 0.00690378 -0.0115436 -0.0107636 0.0107523 0.010744 -0.0107402 internal_weight=0 80.7947 81.7557 8.14689 73.6088 16.7898 9.98713 13.1116 9.17648 64.005 4.41842 6.77991 3.67814 59.5865 63.6217 62.2844 57.2813 internal_count=2200 1098 1102 52 1050 138 64 95 73 960 42 40 43 918 986 970 895 is_linear=0 shrinkage=0.01 Tree=200 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 4 13 3 0 12 3 13 12 3 0 split_gain=127.869 7.43723 7.18098 5.90073 2.56015 3.02143 2.45757 1.87501 1.39298 1.74407 0.883063 0.0108722 0.0106199 0.00118326 0.000339655 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.2351688403888856 0.39394749199373341 0.582163634996683 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.17408222448223767 0.92841159450679933 4.6109421182883317 1.2036545671815675 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 5 -3 -2 8 9 -4 -5 -9 -12 -10 -13 right_child=2 4 7 10 -6 -7 -8 11 13 -11 12 14 -14 -15 -16 leaf_value=-0.0080508417613542535 -0.0073578964605949797 -0.0011131661539372159 -0.0085546079629886702 0.0055455780630901987 -0.0047106590328760949 0.012350642485853817 0.0024122350700108474 -0.01142233465300704 -0.011210224195505422 0.0029663290877552238 0.010748812383469844 -0.010873116527421178 0.011492690973293423 -0.010819594010122146 -0.010726319603476298 leaf_weight=1.7565656378865231 4.2150634750723821 3.6015464812517148 2.5312428772449476 3.4028471559286109 4.3829615265130997 3.1026674956083298 6.6150590553879738 2.3623963780701152 1.4087140336632731 2.7323709726333618 62.983365681022406 1.6210687905549992 1.9794980660080899 1.7249562814831731 56.910743746906519 leaf_count=9 23 32 22 17 23 22 33 27 15 24 984 22 20 25 902 internal_value=0 0.00884305 -0.0089628 0.0100464 0.00123243 0.0051178 -0.00139028 -0.0101464 -0.00571661 -0.00257403 0.0105114 -0.0107572 0.0107715 -0.0109952 -0.0107304 internal_weight=0 81.2095 80.1216 70.1223 11.0872 6.70421 10.8301 69.2915 8.39728 5.26361 68.3657 60.8942 64.9629 3.13367 58.5318 internal_count=2200 1107 1093 1030 77 54 56 1037 86 46 1021 951 1004 40 924 is_linear=0 shrinkage=0.01 Tree=201 num_leaves=17 num_cat=0 split_feature=12 1 13 3 4 2 3 2 0 12 12 0 12 13 2 0 split_gain=126.381 7.87842 7.23931 5.44635 6.69658 1.85707 1.48598 1.35216 1.9848 1.29256 2.89451 0.946151 0.000926529 0.000401933 0.000243697 7.72054e-05 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.35806909455900915 1.2169811510592434 1.2471304352583659 1.2396581529761168 1.1305001193370379 5.4588099803130126 5.3611511359867654 1.0637796106207162 5.428310804937337 1.2823561955985172 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 7 4 -1 11 9 8 -2 10 -4 -5 14 -11 -8 -14 right_child=2 -3 6 5 -6 -7 12 -9 -10 13 -12 -13 15 -15 -16 -17 leaf_value=0.0088161680544383923 -0.010194043653938308 -0.012583230899578258 -0.011322219553221798 0.010784309437388921 -0.010193569255175838 0.00098213234180522641 -0.010814379392853355 0.0022028408845873888 0.00011051168116592576 -0.011095874668642017 0.0048098730222136147 0.0060155593417358698 -0.01078932223117496 -0.010867697650424023 -0.01097703480698353 -0.010717801499919051 leaf_weight=4.7346877530217162 3.4126257225871068 1.6775132566690434 2.0557408183813086 64.243250720202923 3.0448184758424759 2.1243038251996031 2.2508531548082824 4.8850267231464386 4.1329874321818352 1.6657962314784529 2.4233450517058372 4.4486598148941985 1.5523490272462357 1.4387565180659292 1.559171989560127 54.462781190872192 leaf_count=35 21 11 21 992 15 17 33 22 20 20 21 37 23 20 20 872 internal_value=0 0.00886052 -0.00890834 0.0093182 0.00137595 0.0101907 -0.0102014 -0.00189618 -0.00454989 -0.00603127 -0.00259418 0.0104755 -0.01073 -0.0109901 -0.0108809 -0.0107198 internal_weight=0 80.2732 79.8394 78.5957 7.77951 70.8162 67.4088 12.4306 7.54561 7.58364 4.47909 68.6919 59.8252 3.10455 3.81003 56.0151 internal_count=2200 1107 1093 1096 50 1046 1030 63 41 82 42 1029 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=202 num_leaves=17 num_cat=0 split_feature=12 1 13 3 4 2 3 4 0 12 0 0 3 12 2 0 split_gain=124.841 7.7829 7.22795 5.42457 6.57523 1.85408 1.49216 1.34267 1.28935 1.12492 0.95344 0.714801 0.00111724 0.000897763 0.000236026 7.47679e-05 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.35806909455900915 1.2169811510592434 1.2471304352583659 0.42636365958866435 1.2748487141050349 5.3969699652511318 1.0637796106207162 1.1305001193370379 1.2036545671815675 5.428310804937337 1.2704041812989106 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 7 4 -1 10 8 11 9 -4 -5 -2 -10 14 -8 -15 right_child=2 -3 6 5 -6 -7 13 -9 12 -11 -12 -13 -14 15 -16 -17 leaf_value=0.0087715702376841218 -0.0072795265424236803 -0.012551974519674125 -0.0072625680300073903 0.010774492086133415 -0.010072800463555021 0.000972837801813105 -0.010805661611816309 0.0027203981092234438 -0.011186319692923002 0.0027993488818546103 0.0059776717349632738 -0.0013767936033176787 -0.010803600311995832 -0.010780857520578786 -0.010966466869995972 -0.010710149623292545 leaf_weight=4.711290515959262 3.9723540470004064 1.664936676621436 2.3806946128606787 63.661686390638351 3.0504826381802559 2.1231594160199156 2.2302456349134441 4.1986898630857459 1.3865805268287661 2.0835641399025917 4.4321705847978583 4.2426805347204208 1.6953879036009309 1.5381035208702076 1.5451380647718904 53.959196366369724 leaf_count=35 22 11 23 992 15 17 33 20 15 19 37 21 25 23 20 872 internal_value=0 0.00884165 -0.00888722 0.00929843 0.00136548 0.0101753 -0.0101891 -0.00187986 -0.00600093 -0.00256646 0.0104623 -0.00423104 -0.0109758 -0.0107223 -0.0108715 -0.0107121 internal_weight=0 79.6437 79.2326 77.9788 7.76177 70.217 66.8189 12.4137 7.54623 4.46426 68.0939 8.21503 3.08197 59.2727 3.77538 55.4973 internal_count=2200 1107 1093 1096 50 1046 1030 63 82 42 1029 43 40 948 53 895 is_linear=0 shrinkage=0.01 Tree=203 num_leaves=18 num_cat=0 split_feature=10 1 3 1 13 3 10 0 0 13 2 4 1 3 1 0 0 split_gain=123.344 7.25861 5.73038 7.07199 4.63838 3.29001 2.56349 1.90218 2.47211 0.551689 1.24767 0.510122 0.0262498 0.00751504 0.00188616 0.000887277 0.000266186 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.0867160002493412 1.2459758622003483 0.97735317110040087 1.2525408166204799 0.37673557459916307 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0051572282798624828 0.0086381095713795406 -0.011702428342953071 0.010707112522513731 -0.010388156600420455 0.0032513313858933079 -0.012449834200951335 -0.0040578348733118583 -0.0060502467513663255 0.0063399619792389294 -0.011227201179550773 -0.0008679555678156657 0.0089532593355334828 -0.010728929677199942 -0.010833298384040324 0.01109884866779064 0.010948209590069312 -0.010703083987768858 leaf_weight=3.9062755703926113 4.7437885180115682 2.4665184356272212 58.472008783370256 3.321432888507843 2.4917039126157743 1.6250762194395059 3.1763316243886948 6.9749111011624318 2.0936848968267441 2.9254388213157645 1.8677195981144903 4.237184576690197 1.9498926661908624 1.6178781613707531 1.2970034703612316 1.5673395767807949 52.922120660543442 leaf_count=22 35 23 950 17 11 12 24 53 20 32 19 29 31 23 16 20 863 internal_value=0 -0.00889883 0.00879173 0.000802681 0.00969617 -0.00301711 0.00334661 -0.000676731 -0.00318969 -0.0104739 -0.00703361 0.00684184 -0.0115112 -0.0107334 0.0107216 0.0107134 -0.0107069 internal_weight=0 78.3495 79.3068 8.06522 71.2416 16.5498 9.90522 12.9749 9.0686 61.7997 4.33424 6.72889 3.57497 57.4654 61.3364 60.0393 54.54 internal_count=2200 1098 1102 52 1050 138 64 95 73 960 42 40 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=204 num_leaves=17 num_cat=0 split_feature=12 1 13 3 4 2 3 2 0 12 0 0 12 13 2 12 split_gain=121.868 7.64791 7.19746 5.38255 6.40223 1.85954 1.50827 1.32202 1.96191 1.29155 1.45075 0.961422 0.000868833 0.000392468 0.000221771 7.59037e-05 threshold=4.8980530291692244 1.1732074739105893 0.85162615880101311 0.52015392592939824 0.35806909455900915 1.2169811510592434 1.2471304352583659 1.2396581529761168 1.1305001193370379 5.4588099803130126 1.2353254972663301 1.0637796106207162 5.428310804937337 1.2823561955985172 1.2704041812989106 5.5554043549548435 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 7 4 -1 11 9 8 -2 10 -4 -5 14 -11 -8 -14 right_child=2 -3 6 5 -6 -7 12 -9 -10 13 -12 -13 15 -15 -16 -17 leaf_value=0.00870495282713773 -0.010133598456073263 -0.012516970487638066 -0.0074456335142092248 0.010757216792502432 -0.0099154004548724726 0.00091541031191182131 -0.010790997364621314 0.0022001085959109032 0.00014431481611515328 -0.011070799591153733 0.0041110155334578014 0.0059231156167380491 -0.010736537835664712 -0.010842569940177921 -0.010948103035869284 -0.010693713270475151 leaf_weight=4.6721545457839957 3.3807165920734388 1.6469996646046627 2.5361246317625037 62.531433645635843 3.0532194301486015 2.114948332309722 2.195807389914989 4.8784341812133789 4.1213691681623459 1.6281649433076384 1.900065094232559 4.4039241373538962 4.5125488340854636 1.4024827405810354 1.5208125375211237 49.974606353789568 leaf_count=35 21 11 25 992 15 17 33 22 20 20 17 37 71 20 20 824 internal_value=0 0.00880443 -0.00884603 0.00926182 0.00134582 0.0101475 -0.0101645 -0.00185218 -0.00448729 -0.00593336 -0.0024958 0.0104392 -0.0107074 -0.0109652 -0.0108553 -0.0106973 internal_weight=0 78.4227 78.0511 76.7757 7.72537 69.0503 65.6706 12.3805 7.50209 7.46684 4.43619 66.9354 58.2038 3.03065 3.71662 54.4872 internal_count=2200 1107 1093 1096 50 1046 1030 63 41 82 42 1029 948 40 53 895 is_linear=0 shrinkage=0.01 Tree=205 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 4 13 3 0 12 3 13 13 3 0 split_gain=120.418 7.3167 7.05455 5.85952 2.41574 3.04244 2.3876 1.91471 1.38566 1.70409 0.87795 0.0107294 0.0102937 0.00108006 0.000292474 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.2351688403888856 0.39394749199373341 0.582163634996683 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.17408222448223767 0.92841159450679933 0.50652862085158101 1.2036545671815675 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 5 -3 -2 8 9 -4 -5 -9 -12 -10 -13 right_child=2 4 7 10 -6 -7 -8 11 13 -11 12 14 -14 -15 -16 leaf_value=-0.0080838000220321282 -0.0072857854136133826 -0.0013215695506871216 -0.0084400077839452553 0.0055003774006933785 -0.0046241778173659476 0.012292696750914156 0.0024061484420799173 -0.011391047370453228 -0.011162391820053661 0.0030324968123962232 0.01071436080396144 -0.0108280137322147 0.011570055542499626 -0.010781924457707091 -0.010688702964096233 leaf_weight=1.7487390041351307 4.1429450511932355 3.5482042208313924 2.4708458408713323 3.3794855475425711 4.3456472232937813 3.0545951947569847 6.5768598839640617 2.2892805784940711 1.3590523824095728 2.7199810966849327 60.648651339113712 1.5500003695487965 1.4391891285777081 1.6544086076319215 54.339858617633581 leaf_count=9 23 32 22 17 23 22 33 27 15 24 990 22 14 25 902 internal_value=0 0.00874668 -0.00886677 0.00998147 0.00116592 0.00497668 -0.00133955 -0.0100823 -0.00555973 -0.00242844 0.010464 -0.0107201 0.0107342 -0.0109535 -0.0106926 internal_weight=0 78.1645 77.1032 67.2161 10.9484 6.6028 10.7198 66.3834 8.20429 5.19083 65.4673 58.1791 62.0878 3.01346 55.8899 internal_count=2200 1107 1093 1030 77 54 56 1037 86 46 1021 951 1004 40 924 is_linear=0 shrinkage=0.01 Tree=206 num_leaves=16 num_cat=0 split_feature=12 1 12 3 1 3 0 0 2 0 13 13 3 3 0 split_gain=118.987 7.49777 7.18176 5.35548 6.31885 2.80452 2.21609 5.52006 1.86137 0.966716 0.886051 0.0117008 0.00252109 9.81931e-05 4.94821e-05 threshold=4.8980530291692244 1.1732074739105893 5.4588099803130126 0.52015392592939824 0.80845556346269254 1.2616250467501662 1.1427926010382323 1.2509949463117855 1.2169811510592434 1.0637796106207162 0.81992547120608383 0.91589481622423152 1.226787362524943 1.2505460188215014 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 -8 9 -5 -7 -12 -4 -14 -15 right_child=2 -3 12 8 -6 10 7 -9 -10 -11 11 -13 13 14 -16 leaf_value=0.0085604204972378976 0.0040895103352706855 -0.012469237366150949 -0.011071291376365989 0.010741118952028974 -0.010029169824384079 -0.004398117972478504 -0.0094833254943986287 0.0087946547187740774 0.00086403397173828104 0.0058786660649544067 -0.011828021288837616 -0.010823735590901103 -0.01076368958183984 -0.010739913770050638 -0.01067974057175731 leaf_weight=4.6914720088243476 5.1460212469100979 1.627304472029208 1.7314747609198082 61.415509771555662 2.9963468015193939 3.1317966505885115 5.8224996589124185 2.3069552928209305 2.1047205775976172 4.3803452774882308 1.9173290953040121 2.9375059381127357 1.4896013289690007 1.4042317867279042 50.995689962059259 leaf_count=35 29 11 21 992 15 18 42 19 17 37 20 43 23 22 856 internal_value=0 0.00876841 -0.00880604 0.00922563 0.00131508 -0.00386274 -0.00104577 -0.00429645 0.0101213 0.0104174 -0.00854516 -0.0112204 -0.0106957 -0.0106836 -0.0106814 internal_weight=0 77.2157 76.8831 75.5884 7.68782 21.2621 13.2755 8.12945 67.9006 65.7959 7.98663 4.85484 55.621 53.8895 52.3999 internal_count=2200 1107 1093 1096 50 171 90 61 1046 1029 81 63 922 901 878 is_linear=0 shrinkage=0.01 Tree=207 num_leaves=16 num_cat=0 split_feature=1 0 13 0 3 4 13 3 0 12 3 13 13 3 0 split_gain=117.542 7.24738 7.00676 5.81497 2.34855 3.02416 2.32673 1.9299 1.38395 1.68167 0.88613 0.0103029 0.00997294 0.00105883 0.000274097 threshold=1.0652111417665497 1.0188919694060079 0.78123321994831596 0.31415341067031349 1.2351688403888856 0.39394749199373341 0.582163634996683 1.2471304352583659 1.2748487141050349 5.3611511359867654 0.17408222448223767 0.92841159450679933 0.50652862085158101 1.2036545671815675 1.1305001193370379 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 6 -1 5 -3 -2 8 9 -4 -5 -9 -12 -10 -13 right_child=2 4 7 10 -6 -7 -8 11 13 -11 12 14 -14 -15 -16 leaf_value=-0.0080337891899866769 -0.0072182817443758006 -0.0013604441843826948 -0.0083829119577205034 0.0054483142596347886 -0.0045642924207472697 0.012250464526555156 0.0023672256712632183 -0.011367948585151718 -0.011147458691856153 0.0030436730963347282 0.01069981075490762 -0.010810318735041537 0.011547582724244323 -0.010768025257227268 -0.010674212914415915 leaf_weight=1.7494828030467022 4.1179014518856984 3.536530174314974 2.448511101305483 3.3651513606309882 4.3301158472895622 3.0318961814045906 6.5765587538480759 2.2531567029654971 1.3416486009955408 2.7173940613865852 59.542096108198166 1.5218385383486737 1.4207112565636624 1.6277394220232961 53.339695490896702 leaf_count=9 23 32 22 17 23 22 33 27 15 24 990 22 14 25 902 internal_value=0 0.00870845 -0.00882644 0.0099546 0.00115309 0.00492217 -0.00132367 -0.0100561 -0.00549929 -0.00237225 0.0104438 -0.0107052 0.0107196 -0.0109395 -0.010678 internal_weight=0 76.976 75.9444 66.0774 10.8985 6.56843 10.6945 65.25 8.13529 5.16591 64.328 57.1147 60.9628 2.96939 54.8615 internal_count=2200 1107 1093 1030 77 54 56 1037 86 46 1021 951 1004 40 924 is_linear=0 shrinkage=0.01 Tree=208 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 10 0 0 13 13 4 1 3 1 0 0 split_gain=116.169 7.20858 5.60931 6.76276 4.65277 3.20392 2.572 1.7977 2.45422 0.567019 1.26847 0.495794 0.0242476 0.00727807 0.00181076 0.000971852 0.000239778 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.0867160002493412 1.2459758622003483 0.97735317110040087 0.87216409470284928 0.37673557459916307 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0050892048448614915 0.0086190393665246893 -0.011969049313280475 0.010670408419629573 -0.010044917701457481 0.0032225771782202189 -0.012373375424802862 -0.0042204779449936738 -0.0059494155097321467 0.0064577440603455502 -0.011190505054166437 -0.00099661168506768151 0.0088610878222996486 -0.010690698112549524 -0.0107930060707785 0.011061772970836022 0.010925549970863939 -0.010666699931752793 leaf_weight=3.8699295818805721 4.6044053882360449 2.281261794269084 55.811906762421131 3.3567528650164604 2.4876129627227765 1.5864845886826509 3.1390928849577904 6.8669658452272397 2.0763639882206917 2.8377691581845275 1.9578033238649366 4.1795727759599686 1.8608823530375955 1.549090027809142 1.2512742392718781 1.53395565599203 50.519651006907225 leaf_count=22 35 19 950 17 11 12 24 53 20 32 23 29 31 23 16 20 863 internal_value=0 -0.00880411 0.00869392 0.000749545 0.00961853 -0.00290734 0.00324319 -0.000604916 -0.00306886 -0.0104253 -0.00690145 0.00675729 -0.0114651 -0.0106973 0.0106854 0.0106772 -0.0106705 internal_weight=0 75.4062 76.3646 7.96116 68.4034 16.2606 9.80628 12.8133 8.94333 59.1456 4.23907 6.66719 3.44737 54.9065 58.5971 57.3459 52.0687 internal_count=2200 1098 1102 52 1050 138 64 95 73 960 42 40 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=209 num_leaves=16 num_cat=0 split_feature=12 1 12 3 1 3 0 0 2 0 13 13 3 3 0 split_gain=114.804 7.31191 7.17848 5.30762 6.14902 2.73829 2.14612 5.42904 1.87141 0.972615 0.886973 0.010942 0.00240675 9.81459e-05 4.46516e-05 threshold=4.8980530291692244 1.1732074739105893 5.4588099803130126 0.52015392592939824 0.80845556346269254 1.2616250467501662 1.1427926010382323 1.2509949463117855 1.2169811510592434 1.0637796106207162 0.81992547120608383 0.91589481622423152 1.226787362524943 1.2505460188215014 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 5 4 -1 6 -2 -8 9 -5 -7 -12 -4 -14 -15 right_child=2 -3 12 8 -6 10 7 -9 -10 -11 11 -13 13 14 -16 leaf_value=0.0084839171690650594 0.0040353543768752798 -0.01241903527804843 -0.011045706451957125 0.010718189587676633 -0.0099017617938088175 -0.0043220260881596554 -0.0094216265528308824 0.0087162550062453159 0.00076559496483297868 0.0058183980723597655 -0.011783830288087617 -0.010801823929680108 -0.010743375547945352 -0.010716437132641251 -0.010658474210997713 leaf_weight=4.6400774717330924 5.1405562534928348 1.6024149805307377 1.6903796046972264 59.787879467010498 2.9920254796743393 3.114038608968257 5.7655622698366624 2.3120075464248657 2.0877470895647994 4.3456803560256949 1.8770304732024667 2.8689713701605797 1.4530863016843785 1.3656296357512463 49.595081832259893 leaf_count=35 29 11 21 992 15 18 42 19 17 37 20 43 23 22 856 internal_value=0 0.00871424 -0.00874564 0.00917278 0.00127615 -0.00379505 -0.00101565 -0.0042301 0.0100829 0.0103862 -0.00846913 -0.0111902 -0.0106743 -0.0106623 -0.01066 internal_weight=0 75.4558 75.1823 73.8534 7.6321 21.0782 13.2181 8.07757 66.2213 64.1336 7.86004 4.746 54.1042 52.4138 50.9607 internal_count=2200 1107 1093 1096 50 171 90 61 1046 1029 81 63 922 901 878 is_linear=0 shrinkage=0.01 Tree=210 num_leaves=15 num_cat=0 split_feature=1 0 12 0 0 12 3 4 0 3 13 3 3 0 split_gain=113.4 7.1517 6.95516 5.77135 2.64647 6.22456 2.26658 3.01429 2.21906 0.889277 0.00972154 0.00233239 9.51056e-05 4.32507e-05 threshold=1.0652111417665497 1.0188919694060079 5.4588099803130126 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2351688403888856 0.39394749199373341 1.2509949463117855 0.17408222448223767 0.50652862085158101 1.226787362524943 1.2505460188215014 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 -6 7 -3 -7 -5 -11 -4 -13 -14 right_child=2 6 11 9 5 8 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0080109258468106549 -0.012975308555514056 -0.001436435583147431 -0.011034415286856626 0.0054012625268701113 0.011273147392626706 -0.0067191574289694189 -0.0044972650690681959 0.012209147014996992 0.0034325329893838677 0.010678709510780164 0.01152171716935233 -0.010735457508979232 -0.010708805661502615 -0.010651493548632792 leaf_weight=1.7471495047211636 2.7468813359737423 3.512918680906294 1.6752639673650254 3.3478118777275077 2.7956918552517918 12.501773685216902 4.3078220039606094 3.0024031177163124 2.601270079612731 57.921786647289991 1.4010451622307289 1.4396835453808297 1.3530000708997239 49.13362080976367 leaf_count=9 16 32 21 17 14 116 23 22 25 990 14 23 22 856 internal_value=0 0.00865215 -0.00876767 0.00991587 -0.00383606 -0.00243348 0.00113066 0.00485175 -0.00497068 0.0104156 0.0106986 -0.0106672 -0.0106553 -0.010653 internal_weight=0 75.2409 74.2472 64.4178 20.6456 17.8987 10.8231 6.51532 15.103 62.6706 59.3228 53.6016 51.9263 50.4866 internal_count=2200 1107 1093 1030 171 155 77 54 141 1021 1004 922 901 878 is_linear=0 shrinkage=0.01 Tree=211 num_leaves=19 num_cat=0 split_feature=10 1 3 4 13 3 10 13 4 0 0 13 13 1 3 1 0 0 split_gain=112.005 7.18967 5.528 6.57527 4.6797 3.15041 2.54905 1.75746 1.71966 1.57738 0.942059 0.577398 1.26567 0.0227087 0.00692332 0.00176814 0.000996389 0.000227128 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 0.85162615880101311 0.43216120423585541 1.2509949463117855 1.0637796106207162 0.97735317110040087 0.87216409470284928 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 15 7 10 8 -1 -9 -6 12 -3 -7 -13 16 -4 -16 right_child=2 11 4 -5 6 13 -8 9 -10 -11 -12 14 -14 -15 17 -17 -18 -19 leaf_value=-0.0019762308591490161 0.0085466144972023705 -0.011930488343402695 0.010649360431026815 -0.009915814530796787 0.0033277759767855498 -0.012315534409183256 -0.0042817433707620428 -0.010979960204303363 0.0069404135753476101 0.0021003644829275699 0.010920477281120467 -0.011162202114967903 -0.00090969642358615431 -0.010669760926293221 -0.010770269726027293 0.011040621259850161 0.010909716134035749 -0.010645752735237516 leaf_weight=4.9396432861685771 4.552340541034936 2.2477766275405875 54.269740737974644 3.3474855646491051 3.7045412771403772 1.5609285421669477 3.1223712861537933 2.4746409542858596 3.8476965501904488 1.4693325124680994 2.9238989353179932 2.7779367081820956 1.9426863715052602 1.8112686127424238 1.5099485665559758 1.2240767441689957 1.5108457878231991 49.124684534966946 leaf_count=26 35 19 950 17 22 12 24 33 20 16 18 32 23 31 23 16 20 863 internal_value=0 -0.00874435 0.00863353 0.000723314 0.00956962 -0.0028374 0.00316785 -0.000561026 0.00192808 -0.00610687 0.00667702 -0.0103957 -0.00682128 -0.0114316 -0.0106761 0.0106647 0.0106564 -0.0106495 internal_weight=0 73.7065 74.6553 7.89983 66.7555 16.1035 9.75081 12.7313 8.78734 3.94397 6.62844 57.603 4.19046 3.3722 53.4126 57.0047 55.7806 50.6346 internal_count=2200 1098 1102 52 1050 138 64 95 46 49 40 960 42 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=212 num_leaves=16 num_cat=0 split_feature=12 12 1 3 1 3 0 0 2 0 13 13 3 3 0 split_gain=110.69 7.1846 7.12456 5.25654 5.98366 2.68771 2.10336 5.31575 1.87334 0.992425 0.893764 0.0104752 0.00222375 9.01812e-05 4.03875e-05 threshold=4.8980530291692244 5.4588099803130126 1.1732074739105893 0.52015392592939824 0.80845556346269254 1.2616250467501662 1.1427926010382323 1.2509949463117855 1.2169811510592434 1.0637796106207162 0.81992547120608383 0.91589481622423152 1.226787362524943 1.2505460188215014 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 5 3 4 -1 6 -2 -8 9 -5 -7 -12 -3 -14 -15 right_child=1 12 -4 8 -6 10 7 -9 -10 -11 11 -13 13 14 -16 leaf_value=0.0084082684166735672 0.0040313720391220069 -0.01101501876654293 -0.012360235963540063 0.01069463945365519 -0.0097747647546295082 -0.0042295362128556167 -0.0093660709392969829 0.0085778771729160697 0.00068416003927585412 0.0057194030796057426 -0.0117521855520506 -0.010781975112958878 -0.010720366640479116 -0.010693773804184044 -0.010637872761621887 leaf_weight=4.5894754044711581 5.128839626908305 1.6464220918714989 1.5782906934618939 58.199029449373484 2.9881739318370819 3.091971591114997 5.6988736614584905 2.3242517560720444 2.0707212463021269 4.3059509471058837 1.8435149900615213 2.8076727278530598 1.4138649031519879 1.3280193768441666 48.227770783007145 leaf_count=35 29 21 11 992 15 18 42 19 17 37 20 43 23 22 856 internal_value=0 -0.0086832 0.00865754 0.00911728 0.00123796 -0.0037223 -0.000970399 -0.00416782 0.0100419 0.0103519 -0.00839647 -0.0111665 -0.0106533 -0.0106416 -0.0106394 internal_weight=0 73.5112 73.7316 72.1534 7.57765 20.8951 13.152 8.02313 64.5757 62.505 7.74316 4.65119 52.6161 50.9697 49.5558 internal_count=2200 1093 1107 1096 50 171 90 61 1046 1029 81 63 922 901 878 is_linear=0 shrinkage=0.01 Tree=213 num_leaves=15 num_cat=0 split_feature=1 0 12 0 0 12 3 4 0 3 13 3 3 0 split_gain=109.377 7.0798 6.93903 5.72794 2.61067 6.03138 2.18502 2.99422 2.16004 0.892191 0.00952004 0.00215523 8.73942e-05 3.91236e-05 threshold=1.0652111417665497 1.0188919694060079 5.4588099803130126 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2351688403888856 0.39394749199373341 1.2509949463117855 0.17408222448223767 0.50652862085158101 1.226787362524943 1.2505460188215014 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 -6 7 -3 -7 -5 -11 -4 -13 -14 right_child=2 6 11 9 5 8 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0079883438459368971 -0.012908094878093695 -0.001513826222795727 -0.011004092288759718 0.0053554747268141894 0.011149250787076088 -0.0066367983829344673 -0.0044409226618915025 0.012145595823743041 0.0033798376260491449 0.010658363471544322 0.011498201801402191 -0.010712710412468811 -0.010686399569220136 -0.010631123302618466 leaf_weight=1.7446554154157627 2.7128966525197056 3.4899832978844625 1.6316503174602974 3.330454319715499 2.7806082591414478 12.343352597206829 4.2869105488061905 2.9709003493189812 2.6076883971691123 56.344264909625053 1.382858172059058 1.4007921293377865 1.3157081231474865 47.778056193143129 leaf_count=9 16 32 21 17 14 116 23 22 25 990 14 23 22 856 internal_value=0 0.00859414 -0.00870983 0.00987763 -0.00377232 -0.00237457 0.00109439 0.00476717 -0.00488975 0.0103881 0.0106785 -0.0106464 -0.0106348 -0.0106326 internal_weight=0 73.55 72.5708 62.8022 20.4445 17.7316 10.7478 6.46088 14.951 61.0576 57.7271 52.1262 50.4946 49.0938 internal_count=2200 1107 1093 1030 171 155 77 54 141 1021 1004 922 901 878 is_linear=0 shrinkage=0.01 Tree=214 num_leaves=15 num_cat=0 split_feature=1 0 12 0 0 12 3 4 0 3 13 3 3 0 split_gain=108.022 7.05453 6.94694 5.67171 2.57605 5.92113 2.1449 2.95364 2.12752 0.901482 0.00922543 0.00208884 8.46931e-05 3.78992e-05 threshold=1.0652111417665497 1.0188919694060079 5.4588099803130126 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2351688403888856 0.39394749199373341 1.2509949463117855 0.17408222448223767 0.50652862085158101 1.226787362524943 1.2505460188215014 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 -6 7 -3 -7 -5 -11 -4 -13 -14 right_child=2 6 11 9 5 8 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0078852519381546523 -0.012845431066379327 -0.0014972287556289452 -0.010993292695391428 0.0053137110244469545 0.011044620658315634 -0.0065966197576023461 -0.0044014516147155543 0.012084629512806961 0.0033381925678346086 0.010651418052209968 0.01148171849606457 -0.01070514032419927 -0.010679108382221006 -0.010624449792348925 leaf_weight=1.7497645467519749 2.6989397928118732 3.4933675751090032 1.6169941537082184 3.323101043701171 2.778889141976836 12.294593442231415 4.2821249216794968 2.9561038464307785 2.6137871593236914 55.819824665784836 1.3710541687905777 1.3878298103809346 1.3035015501081932 47.332220517098904 leaf_count=9 16 32 21 17 14 116 23 22 25 990 14 23 22 856 internal_value=0 0.00857327 -0.00868825 0.00986389 -0.00374541 -0.00235682 0.00108516 0.00472799 -0.00485482 0.0103771 0.0106713 -0.0106395 -0.0106281 -0.0106259 internal_weight=0 72.9953 72.0268 62.2637 20.3862 17.6873 10.7316 6.44947 14.9084 60.514 57.1909 51.6405 50.0236 48.6357 internal_count=2200 1107 1093 1030 171 155 77 54 141 1021 1004 922 901 878 is_linear=0 shrinkage=0.01 Tree=215 num_leaves=19 num_cat=0 split_feature=10 1 3 4 13 3 10 13 4 0 0 13 2 1 3 1 0 0 split_gain=106.732 7.14821 5.43159 6.38548 4.69803 3.08505 2.52739 1.69292 1.66824 1.55536 0.930732 0.589761 1.26862 0.0209193 0.0065468 0.00178408 0.00107236 0.000213736 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 0.85162615880101311 0.43216120423585541 1.2509949463117855 1.0637796106207162 0.97735317110040087 1.2525408166204799 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 15 7 10 8 -1 -9 -6 12 -3 -7 -13 16 -4 -16 right_child=2 11 4 -5 6 13 -8 9 -10 -11 -12 14 -14 -15 17 -17 -18 -19 leaf_value=-0.0019170063022448502 0.0084688272419972364 -0.011585240593141963 0.010622381179620163 -0.0098070330906762215 0.0032501849224007939 -0.012244606495101689 -0.0043687539299292807 -0.010949324297586716 0.006896068706551575 0.0021156375970627227 0.01083233953118813 -0.011128233367875306 -0.00040639562178806503 -0.01064357203920609 -0.010741761283445736 0.011021087468107574 0.010894641027455949 -0.010618923598229055 leaf_weight=4.9075795933604223 4.4873720854520789 2.3333871476352206 52.27466120198369 3.3308354616165161 3.6760575398802739 1.5304956398904317 3.0969639644026756 2.4071690216660495 3.8194709941744804 1.4662185870110986 2.8931413665413857 2.7025650180876246 1.7969454005360601 1.7484086416661737 1.4602051004767407 1.1917963214218605 1.487862430512904 47.32132475823164 leaf_count=26 35 23 950 17 22 12 24 33 20 16 18 32 19 31 23 16 20 863 internal_value=0 -0.00866786 0.00855511 0.000682658 0.00950757 -0.00275031 0.00307852 -0.000501841 0.00194011 -0.00600376 0.00658944 -0.0103575 -0.00672176 -0.0113909 -0.0106491 0.0106384 0.0106299 -0.0106226 internal_weight=0 71.4938 72.4387 7.81821 64.6205 15.8793 9.66616 12.6004 8.72705 3.87339 6.5692 55.6144 4.13033 3.2789 51.4841 54.9543 53.7625 48.7815 internal_count=2200 1098 1102 52 1050 138 64 95 46 49 40 960 42 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=216 num_leaves=14 num_cat=0 split_feature=1 0 3 0 4 3 3 4 3 2 3 12 12 split_gain=105.444 13.2114 5.56401 5.37862 5.0713 4.82095 2.40704 1.15332 0.910539 0.869927 0.847468 0.8781 0.0219425 threshold=0.99689265265511573 1.1427926010382323 1.2616250467501662 0.31415341067031349 0.36041499722973019 1.031472441284053 1.2190084357665867 0.39394749199373341 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 2 5 -1 -3 -2 8 -7 -5 -4 -6 -12 -10 right_child=1 4 9 6 10 7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.007810273065621689 -0.0065101276248868472 0.0066808933329379899 -0.012301644061089244 0.0052773175566432611 -0.019679011046887376 0.0036289193549222105 0.00076460916762215419 0.010904296778753417 0.010641596554850976 -0.0041483549118962468 0.011182113352253404 -0.010403198753795752 0.011981794556975907 leaf_weight=1.7516730353236187 3.395047381520274 1.7717596367001522 2.9406036213040343 3.3126381337642661 0.98668625950813194 4.0670940130949003 2.7255210578441611 4.693291712552309 55.432513535022736 2.3579838275909424 0.18907810747623344 57.975693538784981 1.2491829320788372 leaf_count=9 27 19 27 17 6 23 18 31 998 28 2 984 11 internal_value=0 -0.00779206 -0.000121577 0.00947306 -0.0099896 0.00360612 0.00995576 0.00752663 0.0103733 -0.00867326 -0.0104889 -0.010333 0.0106711 internal_weight=0 78.3772 17.454 64.4715 60.9232 12.1554 62.7199 8.76039 59.9943 5.29859 59.1515 58.1648 56.6817 internal_count=2200 1147 136 1053 1011 81 1044 54 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=217 num_leaves=15 num_cat=0 split_feature=1 0 12 0 0 12 0 3 4 3 13 3 3 4 split_gain=104.185 6.97884 6.94935 5.56266 2.55247 5.75203 2.12175 2.04889 2.91443 0.915082 0.0089024 0.00193384 7.91173e-05 4.19336e-05 threshold=1.0652111417665497 1.0188919694060079 5.4588099803130126 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 0.50652862085158101 1.226787362524943 1.2505460188215014 0.37337168479852062 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 3 4 -1 -2 -6 -7 8 -3 -5 -11 -4 -13 -14 right_child=2 7 11 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0077103637451420024 -0.012772399607268378 -0.0015617163152431524 -0.010964910634434152 0.0052360837844519061 0.010953169166098136 -0.0065197939141157304 0.0034375293599015321 -0.0043241508749466643 0.011995206631683204 0.010631767348631872 0.011453700405919576 -0.010684372406036188 -0.010666053771119708 -0.010605282702641605 leaf_weight=1.7566020414233197 2.6739266291260746 3.4722269251942617 1.5754739232361306 3.3053743094205847 2.764861702919009 12.143091678619383 2.5977833122014991 4.2586989551782608 2.9186747372150421 54.297679752111435 1.3505301885306824 1.3515809960663308 1.1640932969748963 46.148874551057816 leaf_count=9 16 32 21 17 14 116 25 23 22 990 14 23 20 858 internal_value=0 0.00851578 -0.00862916 0.00982557 -0.00367246 -0.00228248 -0.00476502 0.00104907 0.00462962 0.0103481 0.0106517 -0.0106201 -0.0106089 -0.0106068 internal_weight=0 71.3598 70.4197 60.7102 20.1797 17.5057 14.7409 10.6496 6.3909 58.9536 55.6482 50.24 48.6645 47.313 internal_count=2200 1107 1093 1030 171 155 141 77 54 1021 1004 922 901 878 is_linear=0 shrinkage=0.01 Tree=218 num_leaves=19 num_cat=0 split_feature=10 1 3 1 13 3 10 13 4 0 13 13 4 1 3 1 0 0 split_gain=102.928 7.12151 5.364 6.28828 4.71574 3.03423 2.4861 1.62656 1.61815 1.55676 0.600253 1.2668 0.151883 0.0194281 0.00611618 0.00189249 0.00105755 0.000213192 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.3268335175992902 3.5000000000000004 0.85162615880101311 0.43216120423585541 1.2509949463117855 0.97735317110040087 0.87216409470284928 0.38725830233834363 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 15 7 12 8 -1 -9 11 -3 -6 -7 -12 16 -4 -16 right_child=2 10 4 -5 6 13 -8 9 -10 -11 14 -13 -14 -15 17 -17 -18 -19 leaf_value=-0.0018742105452182831 0.0083040596996278113 -0.011849789081692118 0.010603003892694087 -0.0099400737908745766 0.0047753617039697797 -0.012185068321450955 -0.0043839512622724144 -0.010926317437769492 0.0068239068030883166 0.0022295210984580186 -0.011098086934383423 -0.00068473920152977005 0.0078522023586674525 -0.0106257355641008 -0.010723866370570871 0.011015834641644859 0.0108758985797229 -0.010599819166949288 leaf_weight=4.8859072327613813 4.5021915286779395 2.1788115836679927 50.825854860246181 3.2551896497607231 2.846689969301222 1.5039894022047513 3.0863168463110924 2.3554854281246658 3.8039736077189445 1.4551148638129232 2.6399903558194628 1.9044790603220461 3.6762174777686596 1.7045991085469721 1.428473476320504 1.1785876005887974 1.4608947150409211 46.023873928934336 leaf_count=26 35 19 950 17 13 12 24 33 20 16 32 23 27 31 23 16 20 863 internal_value=0 -0.00861012 0.00849529 0.000648369 0.00946037 -0.00268193 0.00301066 -0.000455329 0.00193337 -0.00590263 -0.0103291 -0.00664232 0.00650943 -0.0113567 -0.0106296 0.0106196 0.0106106 -0.0106036 internal_weight=0 69.8847 70.8319 7.75738 63.0746 15.7091 9.60922 12.5005 8.68988 3.8106 54.1756 4.08329 6.52291 3.20859 50.0923 53.4653 52.2867 47.4523 internal_count=2200 1098 1102 52 1050 138 64 95 46 49 960 42 40 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=219 num_leaves=14 num_cat=0 split_feature=1 0 3 0 3 4 3 13 3 2 3 12 12 split_gain=101.71 13.0409 5.40887 5.27881 5.07903 5.07315 2.40683 1.73302 0.92715 0.877087 0.831597 0.851654 0.0206136 threshold=0.99689265265511573 1.1427926010382323 1.2616250467501662 0.31415341067031349 1.0021677959971271 0.36041499722973019 1.2190084357665867 0.582163634996683 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 2 4 -1 -2 -3 8 -6 -5 -4 -7 -12 -10 right_child=1 5 9 6 7 10 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0076647783170297051 -0.0078948667384419399 0.0067538997931153423 -0.01227213912701044 0.0051883295260260918 0.0014989691475745283 -0.019609953584112563 0.00070580647770496425 0.010530620750373738 0.010622600199595636 -0.0040230901329909854 0.011145996057664235 -0.010374476622878047 0.011933075311585746 leaf_weight=1.7567909657955159 2.9242112077772644 1.7640044428408135 2.894719596952199 3.2914871126413336 3.3424450270831567 0.97690549492835899 2.7110642641782752 5.8307728543877602 53.925062105059624 2.3235784396529198 0.18449105322360893 56.508307062089443 1.2276463136076916 leaf_count=9 23 19 27 17 24 6 18 34 998 28 2 984 11 internal_value=0 -0.00772615 -8.9326e-05 0.00942585 0.00358139 -0.0099511 0.0099168 0.00723976 0.0103441 -0.00859904 -0.0104621 -0.0103044 0.0106518 internal_weight=0 76.7494 17.3157 62.9121 12.0974 59.4337 61.1553 9.17322 58.4442 5.2183 57.6697 56.6928 55.1527 internal_count=2200 1147 136 1053 81 1011 1044 58 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=220 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 13 3 3 4 split_gain=100.476 6.95223 6.89861 5.46816 2.51986 5.5893 2.11577 1.95909 2.8726 0.931685 0.00858677 0.00179146 7.39981e-05 5.06039e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 0.50652862085158101 1.226787362524943 1.2505460188215014 0.37337168479852062 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0075674434542242902 -0.012685494886632082 -0.010937523375110827 -0.0016165805042696237 0.0051476952150878294 0.010861911440733377 -0.006445825004483343 0.0035320093266873243 -0.0042480424862384441 0.011903445161579299 0.010612982289545684 0.011426493443206606 -0.010664326883667852 -0.010653962678614497 -0.010586608479315507 leaf_weight=1.761569395661353 2.6479313150048283 1.5349318534135807 3.4530064910650236 3.2843303978443137 2.7510946467518833 11.997521538287399 2.5826589576899996 4.2353712320327759 2.8841340281069279 52.817693963646889 1.330162864178418 1.3162310384213913 1.143891967833041 44.880536895245314 leaf_count=9 16 21 32 17 14 116 25 23 22 990 14 23 20 858 internal_value=0 -0.0085697 0.00845803 0.00978699 -0.00359975 -0.0022116 -0.0046784 0.00101745 0.0045366 0.0103193 0.010633 -0.0106013 -0.0105904 -0.0105883 internal_weight=0 68.8548 69.7663 59.1938 19.9792 17.3313 14.5802 10.5725 6.33714 57.4322 54.1479 48.8756 47.3407 46.0244 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 901 878 is_linear=0 shrinkage=0.01 Tree=221 num_leaves=14 num_cat=0 split_feature=1 0 3 0 4 3 3 4 3 2 3 12 12 split_gain=99.2606 12.9407 5.29289 5.17158 5.0477 4.58212 2.40266 1.1193 0.945409 0.879297 0.81863 0.832557 0.0193958 threshold=0.99689265265511573 1.1427926010382323 1.2616250467501662 0.31415341067031349 0.36041499722973019 1.031472441284053 1.2190084357665867 0.39394749199373341 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 2 5 -1 -3 -2 8 -7 -5 -4 -6 -12 -10 right_child=1 4 9 6 10 7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.007471765249866349 -0.0063737921378963216 0.0067344665384453653 -0.012237972451275531 0.00510734250343166 -0.019545441083987314 0.0035402063388378546 0.0006758763275775681 0.010726522819042831 0.010609934052666799 -0.0039374387163035006 0.011119883630505136 -0.010354108676303821 0.011891094090525991 leaf_weight=1.7662617191672314 3.3512464836239841 1.7639389149844635 2.8603340573608866 3.27721282839775 0.97109639644622703 4.0504117608070356 2.7032704800367346 4.6620600670576096 52.934432782232761 2.3043714426457882 0.18113498389720817 55.550008647143841 1.2086646109819401 leaf_count=9 27 19 27 17 6 23 18 31 998 28 2 984 11 internal_value=0 -0.00768019 -6.33356e-05 0.00939364 -0.00992468 0.00356332 0.0098891 0.00738562 0.0103228 -0.00853447 -0.0104429 -0.0102843 0.0106385 internal_weight=0 75.6946 17.2284 61.8898 58.4662 12.0637 60.1236 8.71247 57.4203 5.16471 56.7022 55.7311 54.1431 internal_count=2200 1147 136 1053 1011 81 1044 54 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=222 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 13 3 4 3 split_gain=98.0728 6.96136 6.82733 5.36466 2.49009 5.45893 2.10306 1.88666 2.83584 0.949931 0.00820426 0.00168521 7.36852e-05 5.68884e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 0.50652862085158101 1.226787362524943 0.37337168479852062 1.2505460188215014 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0073777038770086525 -0.012608093014858492 -0.010918118214142472 -0.0016385582044991353 0.0050672684531478307 0.010775236322181895 -0.0063860472233134083 0.0035819183206023115 -0.0041701752961308394 0.011837838943584415 0.010600508420346962 0.011401709781980041 -0.010655763745307091 -0.010643606879682511 -0.010574526213833049 leaf_weight=1.7708695307373989 2.6316501572728184 1.5079902373254288 3.4441104084253293 3.2701346874237052 2.7415058612823513 11.90499125048518 2.5742888972163191 4.2177379876375198 2.856570839881897 51.846811413764954 1.3103756308555592 1.2007505074143399 1.2252475582063187 44.055511992424726 leaf_count=9 16 21 32 17 14 116 25 23 22 990 14 21 22 858 internal_value=0 -0.00852881 0.00842056 0.00976059 -0.00354841 -0.00216393 -0.00461383 0.00100619 0.0044713 0.0102984 0.0106203 -0.0105891 -0.0105784 -0.0105764 internal_weight=0 67.8419 68.7166 58.1982 19.8524 17.2208 14.4793 10.5184 6.30068 56.4273 53.1572 47.9895 46.4815 45.2808 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 901 880 is_linear=0 shrinkage=0.01 Tree=223 num_leaves=19 num_cat=0 split_feature=10 1 3 4 13 3 10 13 13 4 13 2 4 1 3 1 0 0 split_gain=96.9136 7.07916 5.25771 6.15713 4.73199 2.96162 2.44369 1.52333 1.57716 1.55653 0.617079 1.27024 0.426339 0.0173247 0.00551685 0.00214191 0.00105875 0.000218488 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 0.85162615880101311 1.0435162956499575 0.43216120423585541 0.97735317110040087 1.2525408166204799 0.3887456056823268 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 15 7 12 9 -9 -1 11 -3 -6 -7 -12 16 -4 -16 right_child=2 10 4 -5 6 13 -8 8 -10 -11 14 -13 -14 -15 17 -17 -18 -19 leaf_value=-0.0018138448701860536 0.008363474478602027 -0.011503513683631407 0.010572172108279135 -0.0097575585698327898 0.0036550470629015553 -0.012095750892826093 -0.004449644223615724 -0.010977671430367861 0.0023762319333498418 0.0067519857027706146 -0.011052150905812659 -0.00016664533710149921 0.0088109112761224229 -0.01059812988043979 -0.010697260059647488 0.011014168311728238 0.010849058701591887 -0.010569476588581992 leaf_weight=4.8463385254144651 4.3701408281922332 2.2462729401886454 48.495094001293182 3.284139946103096 3.0112088769674283 1.4636576958000653 3.0619238391518593 2.2505715116858478 1.4569768868386743 3.7728797122836113 2.5416137017309657 1.7648187577724455 3.4314268827438354 1.6356162093579767 1.3800904825329769 1.1630585268139828 1.4214717485010613 43.941800851374865 leaf_count=26 35 23 950 17 14 12 24 31 18 20 32 19 26 31 23 16 20 863 internal_value=0 -0.00851445 0.00839776 0.000588478 0.00938439 -0.00256699 0.00290551 -0.000369926 -0.00572991 0.00193567 -0.0102831 -0.00651547 0.00640112 -0.0113054 -0.0105988 0.0105899 0.0105801 -0.0105734 internal_weight=0 67.3006 68.2385 7.65428 60.5842 15.426 9.50456 12.3268 3.70755 8.61922 51.8746 4.01109 6.44264 3.09927 47.8635 51.0796 49.9166 45.3219 internal_count=2200 1098 1102 52 1050 138 64 95 49 46 960 42 40 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=224 num_leaves=14 num_cat=0 split_feature=1 0 3 0 4 3 3 4 3 2 3 12 12 split_gain=95.7525 12.7614 5.14438 5.06609 5.04573 4.47725 2.40188 1.09891 0.958181 0.885529 0.80351 0.806848 0.0182044 threshold=0.99689265265511573 1.1427926010382323 1.2616250467501662 0.31415341067031349 0.36041499722973019 1.031472441284053 1.2190084357665867 0.39394749199373341 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 2 5 -1 -3 -2 8 -7 -5 -4 -6 -12 -10 right_child=1 4 9 6 10 7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0073106836040656665 -0.0063328719775521672 0.0067957010429840412 -0.012210227109437222 0.0050333542898310371 -0.019478347952786784 0.003500640500514865 0.00061918550958971164 0.0106336980785146 0.010591768529448535 -0.0038186428407580002 0.011084865469120762 -0.010325811000206573 0.011844170815950407 leaf_weight=1.772186130285262 3.3243879713118103 1.7572623938322056 2.8158371411263934 3.2600552588701239 0.96149718761443992 4.0393136106431466 2.6892113834619513 4.6416535377502441 51.487232647836208 2.2723025791347027 0.17658142745494743 54.141821768134832 1.1873846352100361 leaf_count=9 27 19 27 17 6 23 18 31 998 28 2 984 11 internal_value=0 -0.00761495 -3.59154e-05 0.00934701 -0.00988632 0.00353552 0.00985057 0.00731464 0.0102944 -0.00846265 -0.0104166 -0.0102562 0.01062 internal_weight=0 74.1307 17.0935 60.3961 57.0372 12.0054 58.6239 8.68097 55.9347 5.08814 55.2799 54.3184 52.6746 internal_count=2200 1147 136 1053 1011 81 1044 54 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=225 num_leaves=14 num_cat=0 split_feature=1 0 3 0 4 3 3 4 3 2 3 12 12 split_gain=94.5729 12.6801 5.06219 5.01492 5.0007 4.38795 2.39817 1.07408 0.967077 0.882088 0.790707 0.797868 0.0176498 threshold=0.99689265265511573 1.1427926010382323 1.2616250467501662 0.31415341067031349 0.36041499722973019 1.031472441284053 1.2190084357665867 0.39394749199373341 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 2 5 -1 -3 -2 8 -7 -5 -4 -6 -12 -10 right_child=1 4 9 6 10 7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0072193689103061502 -0.0062713519585509241 0.006701694731351052 -0.012186275317521681 0.0049937768920962754 -0.019426081287253302 0.0034676300914275766 0.00061311333364160695 0.010519471827164536 0.01058556667974715 -0.0037900652968857291 0.01107290617627636 -0.010313527868035284 0.011823883692733688 leaf_weight=1.7766330018639553 3.3234340250492123 1.7640583962202061 2.7932710014283648 3.2530684620141974 0.95447847992181678 4.0370003767311555 2.6886898204684249 4.6451170295476913 51.004641968756914 2.266570720821619 0.17501229047775169 53.666622497141361 1.1775768548250187 leaf_count=9 27 19 27 17 6 23 18 31 998 28 2 984 11 internal_value=0 -0.00759089 -3.57122e-05 0.00933052 -0.00987044 0.0035001 0.00983639 0.00724052 0.0102837 -0.00842517 -0.010404 -0.010244 0.0106135 internal_weight=0 73.6256 17.0654 59.9006 56.5602 12.0056 58.124 8.68212 55.4353 5.05984 54.7961 53.8416 52.1822 internal_count=2200 1147 136 1053 1011 81 1044 54 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=226 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 12 3 4 3 split_gain=93.4665 6.96605 6.70971 5.21549 2.4738 5.27935 2.12388 1.76811 2.79753 0.971772 0.00783073 0.00151592 9.87522e-05 5.01193e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.226787362524943 0.37337168479852062 1.2505460188215014 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0071295618524675622 -0.012524385379138652 -0.010883299643430641 -0.0017344025285422969 0.0049544723699814315 0.010709055603049302 -0.006290828034136324 0.0037939676887847086 -0.0040590008811212056 0.011741344953944187 0.010573568287620912 0.011262367482739309 -0.010645723455858703 -0.01061729283928871 -0.010551244174415967 leaf_weight=1.7810001149773587 2.6051496416330364 1.4563929401338089 3.412595830857752 3.2461216747760764 2.719758182764056 11.720143157988785 2.5410940758883944 4.1829382106661797 2.8082236982882023 49.539155256003141 1.7073902040719975 1.1804765164852131 1.1808424331247795 42.452799540013075 leaf_count=9 16 21 32 17 14 116 25 23 22 984 20 21 22 858 internal_value=0 -0.00844979 0.00834608 0.00971005 -0.00345093 -0.00205892 -0.0044939 0.000968396 0.00434887 0.0102604 0.0105965 -0.0105658 -0.0105555 -0.010553 internal_weight=0 65.8567 66.6774 56.2737 19.5861 16.981 14.2612 10.4038 6.22082 54.4927 51.2465 46.2705 44.8141 43.6336 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 901 880 is_linear=0 shrinkage=0.01 Tree=227 num_leaves=19 num_cat=0 split_feature=10 1 3 1 13 3 0 4 13 13 4 13 2 1 3 1 0 0 split_gain=92.3287 7.05119 5.17131 6.06032 4.74815 2.90273 2.42594 3.95406 1.43593 1.59945 1.50131 0.630208 1.26521 0.0157148 0.00501228 0.00235987 0.001009 0.000225152 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.3268335175992902 1.0691005037898054 0.38545662354011129 0.85162615880101311 1.0435162956499575 0.43216120423585541 0.97735317110040087 1.2525408166204799 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 15 8 7 -6 10 -10 -1 12 -3 -7 -13 16 -4 -16 right_child=2 11 4 -5 6 13 -8 -9 9 -11 -12 14 -14 -15 17 -17 -18 -19 leaf_value=-0.0017635086600584072 0.0081778403013261381 -0.011464178894092633 0.010548763216059645 -0.0099363815761509388 -0.010887483887726215 -0.012023857540652456 0.0093938979117225326 0.0057409098912431546 -0.010950133572279435 0.0026414513696963004 0.0066731755653553042 -0.011014297597179583 -7.5814465269723861e-05 -0.010577226093196467 -0.010677957442946842 0.011014401241384659 0.010822807894767592 -0.010546495893200534 leaf_weight=4.8163824379444105 4.3819262459874144 2.2002421803772445 46.704210828989744 3.1926271170377731 2.4284147173166257 1.4289678633213037 3.518050990998745 3.4782650098204613 2.1908109411597247 1.4316082857549188 3.7526526227593422 2.461841393262147 1.752565514296293 1.582534462213516 1.3441540002822865 1.153225366026162 1.3833231590688218 42.346539057791233 leaf_count=26 35 23 950 17 12 12 23 29 31 18 20 32 19 31 23 16 20 863 internal_value=0 -0.00843711 0.00831874 0.000542808 0.00932273 -0.00247191 0.00281995 -0.00109553 -0.000300192 -0.00557863 0.00193118 -0.0102471 -0.00641489 -0.0112637 -0.0105753 0.0105674 0.0105566 -0.0105505 internal_weight=0 65.3083 66.24 7.57455 58.6655 15.203 9.42473 5.90668 12.1915 3.62242 8.56904 50.1053 3.95281 3.0115 46.1525 49.2408 48.0875 43.6907 internal_count=2200 1098 1102 52 1050 138 64 41 95 49 46 960 42 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=228 num_leaves=14 num_cat=0 split_feature=1 0 4 3 0 3 3 0 3 2 13 3 12 split_gain=91.2117 12.5213 4.99171 4.9266 4.9247 4.28126 2.39426 1.06161 0.982689 0.887668 0.792639 0.492935 0.0164765 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 1.2616250467501662 0.31415341067031349 1.031472441284053 1.2190084357665867 1.0691005037898054 0.17408222448223767 1.2594563194023032 0.6302392794400915 1.2351688403888856 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=4 3 -3 5 -1 -2 8 -7 -6 -5 -4 -12 -10 right_child=1 2 10 9 6 7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0070918376832089817 -0.0062085446711180126 0.0067548572875363372 -0.020340938826019936 -0.012157629493948998 0.0049096236610175663 0.0042189695680088478 0.00056368650554930054 0.011326806271991958 0.010568413269700427 -0.0036725585155581797 -0.0077270451545013398 -0.010604238935001316 0.011776862899930381 leaf_weight=1.7805989310145367 3.298904966562989 1.7562474943697441 0.78694520890712638 2.7493087053298941 3.2327513992786399 5.0407755970954877 2.6752553433179846 3.6034449003636837 49.609917912632227 2.2354043275117874 6.8446857221424571 45.789131537079811 1.1545100808143605 leaf_count=9 27 19 5 27 17 31 18 23 998 28 67 920 11 internal_value=0 -0.00752551 -0.00983366 -1.99243e-06 0.00928346 0.00348326 0.00979796 0.00718195 0.0102555 -0.00835248 -0.010379 -0.0102301 0.0105959 internal_weight=0 72.1048 55.177 16.9278 58.453 11.9431 56.6724 8.64422 53.9972 4.98471 53.4208 52.6338 50.7644 internal_count=2200 1147 1011 136 1053 81 1044 54 1026 55 992 987 1009 is_linear=0 shrinkage=0.01 Tree=229 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 12 3 4 3 split_gain=90.0964 6.97087 6.63471 5.13028 2.43785 5.149 2.11853 1.68359 2.77069 0.987352 0.00749362 0.00142989 0.000110815 4.61281e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.226787362524943 0.37337168479852062 1.2505460188215014 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0070041681332996498 -0.012429934422815307 -0.010860844572116158 -0.0018178083459942894 0.0048708811348021977 0.010644230668017236 -0.0062212953199486673 0.0038849407086253319 -0.0039812519064120538 0.011657389190785246 0.01055654914086482 0.011236732379225735 -0.010634991636529314 -0.010598449192399819 -0.010534205036161455 leaf_weight=1.7848360389471043 2.5797703266143825 1.4217609763145436 3.3878409489989263 3.2259139418601981 2.7066751718521145 11.590007435530422 2.5263574048876754 4.1607589051127434 2.7763118520379066 48.177646681666374 1.676069501787423 1.1604853346943844 1.1487390883266915 41.270493891090155 leaf_count=9 16 21 32 17 14 116 25 23 22 984 20 21 22 858 internal_value=0 -0.00838851 0.00828779 0.00967174 -0.00337817 -0.00199011 -0.00441262 0.000933768 0.00425137 0.0102325 0.0105794 -0.0105488 -0.0105386 -0.0105359 internal_weight=0 64.4043 65.1894 54.8645 19.4028 16.823 14.1164 10.3249 6.16415 53.0796 49.8537 45.0015 43.5797 42.4192 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 901 880 is_linear=0 shrinkage=0.01 Tree=230 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 10 0 0 13 13 4 1 3 1 0 0 split_gain=89.0363 7.01845 5.10384 5.95015 4.7527 2.85243 2.40348 2.19735 2.24273 0.63912 1.26311 0.412518 0.0146074 0.00475654 0.00246569 0.000991852 0.000225148 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.35806909455900915 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.048937272384614 1.1864741023471512 0.97735317110040087 0.87216409470284928 0.3887456056823268 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0081629714031252656 0.0082688931989395361 -0.011718788789471562 0.010531827163349463 -0.0096953570590271113 0.0035624256529028881 -0.011971337979818635 -0.0045758011136802978 -0.0061129982139388542 0.0038780712038002331 -0.010990470905847873 -0.00033553161968275701 0.0086720204578981715 -0.01056153882178742 -0.010662535757239987 0.011010365911656527 0.010806049392640795 -0.010529639940629972 leaf_weight=2.4654578641057006 4.2700679078698149 2.0643067695200439 45.400467727333307 3.2449075877666473 2.993038132786749 1.4036645330488675 3.0232317559421062 6.0724220238625986 3.5662150681018829 2.4096772298216811 1.8469209112226961 3.3469028286635876 1.5426997914910314 1.3155477941036213 1.1406550854444493 1.3584560342133034 41.168071366846561 leaf_count=15 35 19 950 17 14 12 24 42 38 32 23 26 31 23 16 20 863 internal_value=0 -0.00837943 0.0082604 0.000512071 0.00927726 -0.00240938 0.00276116 -0.000261499 -0.00241639 -0.0102205 -0.0063435 0.00625982 -0.0112332 -0.0105583 0.010551 0.0105398 -0.0105338 internal_weight=0 63.855 64.7777 7.51498 57.2628 15.0505 9.36317 12.1041 9.63864 48.8045 3.91123 6.33994 2.94636 44.8933 47.8996 46.7589 42.4836 internal_count=2200 1098 1102 52 1050 138 64 95 80 960 42 40 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=231 num_leaves=14 num_cat=0 split_feature=1 0 4 0 3 13 3 1 3 2 3 12 12 split_gain=87.972 12.3545 4.98241 4.82565 4.79075 4.21437 2.39287 1.75698 0.994764 0.893055 0.770144 0.76637 0.0154823 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 0.31415341067031349 1.2616250467501662 0.582163634996683 1.2190084357665867 1.0797383065324315 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 4 -3 -1 5 7 8 -2 -5 -6 -4 -12 -10 right_child=1 2 10 6 9 -7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0069427922056588855 0.0038591246859032368 0.0068030450619402964 -0.019335713559076345 0.0048390002432859161 -0.012127574040793366 0.0094049927437259151 0.00051000102934850621 -0.0071638042635966724 0.010551588436139698 -0.0035535382154930129 0.011032434639550481 -0.010257416235276689 0.011733380135717283 leaf_weight=1.7856988757848729 2.504067890346052 1.7499900497496117 0.93694999068975349 3.2161544114351264 2.7059414498507968 5.9554853588342667 2.6621197983622542 3.4222397804260254 48.248134441673756 2.2044986337423325 0.16964288800954719 50.995083630084991 1.1346168071031559 leaf_count=9 26 19 6 17 27 35 18 20 998 28 2 984 11 internal_value=0 -0.00745867 -0.00979389 0.00923682 3.02685e-05 0.003464 0.00975965 -0.00250624 0.0102278 -0.00827834 -0.0103514 -0.0101868 0.0105787 internal_weight=0 70.6439 53.8517 57.0467 16.7922 11.8818 55.261 5.92631 52.5989 4.91044 52.1017 51.1647 49.3828 internal_count=2200 1147 1011 1053 136 81 1044 46 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=232 num_leaves=14 num_cat=0 split_feature=1 0 4 0 3 3 3 0 3 2 3 12 12 split_gain=86.8887 12.2701 4.93762 4.77771 4.71472 4.13849 2.3888 1.05091 1.00341 0.889538 0.758126 0.757845 0.0150111 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 0.31415341067031349 1.2616250467501662 1.031472441284053 1.2190084357665867 1.0691005037898054 0.17408222448223767 1.2594563194023032 1.0853483183990196 4.8980530291692244 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 4 -3 -1 5 -2 8 -7 -5 -6 -4 -12 -10 right_child=1 2 10 6 9 7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0068575751511151476 -0.0061580911034394047 0.0067090523833107131 -0.019285872216451304 0.004800730365682424 -0.012104658862152127 0.0041053078324496213 0.00050498198070467073 0.01118812101088076 0.010545830782180242 -0.0035263353335423654 0.011021106924794312 -0.010245244191754002 0.011714404475723958 leaf_weight=1.7897892892360676 3.2635753192007568 1.7567279040813435 0.93001245707273383 3.2094088196754447 2.6840630397200576 5.0120416581630689 2.6616958305239669 3.5991740003228188 47.794004525989294 2.1993156373500824 0.1681266725063314 50.547356579452753 1.12513768672943 leaf_count=9 27 19 6 17 27 31 18 23 998 28 2 984 11 internal_value=0 -0.00743533 -0.009778 0.00922032 2.99187e-05 0.00343135 0.00974552 0.00706567 0.0102173 -0.00824126 -0.0103388 -0.0101747 0.0105727 internal_weight=0 70.1604 53.4022 56.58 16.7582 11.8748 54.7902 8.61122 52.1286 4.88338 51.6455 50.7155 48.9191 internal_count=2200 1147 1011 1053 136 81 1044 54 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=233 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 12 3 4 0 split_gain=85.8789 6.97076 6.49406 4.99049 2.41391 4.99224 2.12612 1.57305 2.75766 1.00817 0.00711786 0.0012899 0.000139875 4.21015e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.226787362524943 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.006773718626186166 -0.012346029750113806 -0.01082888166511837 -0.0019339012780286427 0.0047627234034514944 0.010589259158015833 -0.006130160830196827 0.0040507842671023446 -0.0038553276539966797 0.01160070960588363 0.010534387934601467 0.011204886148277119 -0.010626565369734419 -0.010574762347522405 -0.010512653503223342 leaf_weight=1.7938066720962513 2.5489252805709866 1.3730367831885804 3.3522765897214395 3.202703818678855 2.6854634881019619 11.423734761774538 2.5001387335360041 4.1247444823384285 2.7324315793812275 46.412585496902466 1.6391847282648075 1.1420122124254692 1.1222302392125119 39.750784277915955 leaf_count=9 16 21 32 17 14 116 25 23 22 984 20 21 22 858 internal_value=0 -0.00830891 0.00821577 0.00962138 -0.00328495 -0.0018944 -0.00430209 0.000912187 0.00414402 0.0101952 0.0105573 -0.0105273 -0.0105174 -0.0105144 internal_weight=0 62.5463 63.2577 53.0483 19.1583 16.6093 13.9239 10.2095 6.08471 51.2545 48.0518 43.3881 42.015 40.873 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 901 880 is_linear=0 shrinkage=0.01 Tree=234 num_leaves=15 num_cat=0 split_feature=1 12 0 0 3 12 0 3 4 3 12 3 4 0 split_gain=84.8041 6.97309 6.46952 4.945 2.39645 4.19484 2.11957 1.5439 2.71914 1.01672 0.00690073 0.00125071 0.000135554 4.07979e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 0.9833172866921428 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.226787362524943 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0066911881278926 -0.013413757657688905 -0.010820115856539496 -0.0019122043305867592 0.0047249774291690952 0.0086504556711759824 -0.0061484645258003279 0.0039989207099433433 -0.0038206421263261721 0.011542326664016021 0.010528814278994873 0.011191941164972755 -0.010619958663609562 -0.010568721407315714 -0.010507292613170478 leaf_weight=1.7977526038885105 2.0726551413536098 1.3604706078767765 3.3563898093998414 3.1960394680500022 3.0264988988637951 11.500632751733063 2.5072024911642066 4.1205899566411972 2.7188583053648472 45.974977280944586 1.6247422359883774 1.1313488744199265 1.1116957440972317 39.375234108418226 leaf_count=9 14 21 32 17 15 117 25 23 22 984 20 21 22 858 internal_value=0 -0.00828722 0.00819468 0.00960799 -0.00326093 -0.00202559 -0.00433223 0.000904344 0.00410911 0.0101849 0.0105514 -0.0105217 -0.010512 -0.010509 internal_weight=0 62.0857 62.7893 52.5935 19.107 17.0343 14.0078 10.1958 6.07525 50.7958 47.5997 42.9787 41.6183 40.4869 internal_count=2200 1093 1107 1030 171 157 142 77 54 1021 1004 922 901 880 is_linear=0 shrinkage=0.01 Tree=235 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 0 4 0 0 13 2 1 3 1 0 0 split_gain=83.7787 6.9868 4.98696 5.93011 4.76707 2.7902 2.38499 3.81051 2.09584 2.25514 0.655494 1.26289 0.0131142 0.0043073 0.00254776 0.000987271 0.000229153 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.37041150200217393 0.46553849925547169 1.3268335175992902 1.0691005037898054 0.38545662354011129 1.048937272384614 1.1864741023471512 0.97735317110040087 1.2525408166204799 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 8 7 -6 -1 -10 11 -3 -7 -12 15 -4 -15 right_child=2 10 4 -5 6 12 -8 -9 9 -11 13 -13 -14 16 -16 -17 -18 leaf_value=0.0081093915247977197 0.0070673701687256011 -0.011394346681842993 0.010504874339750218 -0.01164729632625313 -0.010809714076862993 -0.011896075609652746 0.0092357003682731857 0.0056127159013916973 -0.0060171804386345527 0.0040671041797711634 -0.010950450883878488 0.00013260313077046259 -0.010537519006027259 -0.010639516908943885 0.010996480603602525 0.010782253582104759 -0.010503128275646071 leaf_weight=2.4331487566232672 4.7986032590270034 2.1172752156853671 43.304590128362179 2.6163149550557137 2.4288553297519666 1.3661504872143262 3.4557349681854248 3.3777704611420631 6.0006354786455613 3.5175564140081406 2.3198222033679476 1.724700979888439 1.4805930033326147 1.2717498987913121 1.1176633872091759 1.3223658017814148 39.297181375324726 leaf_count=15 38 23 950 14 12 12 23 29 42 38 32 19 31 23 16 20 863 internal_value=0 -0.00828061 0.00816248 0.000463998 0.00920023 -0.00229238 0.002658 -0.00125663 -0.000173142 -0.00229042 -0.0101769 -0.00621979 -0.0111895 -0.0105314 0.0105249 0.0105131 -0.0105074 internal_weight=0 61.5288 62.4219 7.41492 55.007 14.7981 9.26236 5.80663 11.9513 9.51819 46.7307 3.84198 2.84674 42.8888 45.7446 44.627 40.5689 internal_count=2200 1098 1102 52 1050 138 64 41 95 80 960 42 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=236 num_leaves=14 num_cat=0 split_feature=1 0 4 0 3 13 3 1 3 2 13 3 12 split_gain=82.7921 12.0847 4.93652 4.644 4.56143 4.08209 2.38411 1.66781 1.02416 0.898465 0.762899 0.533862 0.0136218 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 0.31415341067031349 1.2616250467501662 0.582163634996683 1.2190084357665867 1.0797383065324315 0.17408222448223767 1.2594563194023032 0.6302392794400915 1.2351688403888856 4.6533632910829281 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 4 -3 -1 5 7 8 -2 -5 -6 -4 -12 -10 right_child=1 2 10 6 9 -7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0066438129310454263 0.00375133086262321 0.0068099652812032146 -0.020146542290465193 0.0046918253373899928 -0.012066049615333712 0.0092822834155871278 0.00043501319776635678 -0.0070606178951982349 0.010524657791606896 -0.0033614276680510925 -0.0075027918563332994 -0.010561587924139049 0.011653071077549561 leaf_weight=1.7988782003521908 2.4697466306388396 1.7436851263046254 0.7757466584444036 3.1849361211061469 2.6306137517094603 5.925492636859417 2.6422310769557944 3.3782928884029388 46.054230783134699 2.1589290052652359 6.5886623598635188 42.589812628924847 1.0952262505888928 leaf_count=9 26 19 5 17 27 35 18 20 998 28 67 920 11 internal_value=0 -0.00734809 -0.00972967 0.00915754 8.54856e-05 0.00343262 0.00969409 -0.00249451 0.0101801 -0.00814236 -0.010307 -0.0101518 0.0105509 internal_weight=0 68.261 51.6979 54.7755 16.5631 11.7735 52.9766 5.84804 50.3344 4.78954 49.9542 49.1785 47.1495 internal_count=2200 1147 1011 1053 136 81 1044 46 1026 55 992 987 1009 is_linear=0 shrinkage=0.01 Tree=237 num_leaves=14 num_cat=0 split_feature=1 0 4 3 3 13 3 1 2 3 3 12 3 split_gain=81.768 11.9993 4.89144 4.48878 4.08413 3.99585 2.55847 1.63786 0.894881 0.739532 0.589615 0.0131944 0.00227134 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 1.2616250467501662 0.17408222448223767 0.582163634996683 1.2190084357665867 1.0797383065324315 1.2594563194023032 1.0853483183990196 1.2351688403888856 4.6533632910829281 0.58644753314242826 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=4 3 -3 5 -1 7 11 -2 -5 -4 -11 12 -6 right_child=1 2 9 8 6 -7 -8 -9 -10 10 -12 -13 -14 leaf_value=0.00043979754680551912 0.0037237024658348526 0.0067159702660725797 -0.019214197635357116 -0.012043878687590033 0.010866534123013567 0.0091803041866666771 0.00043072138233249326 -0.0070031379850944335 -0.0033352773901906127 -0.0073029743986945716 -0.010555921039743996 0.011635042790847898 0.010505435666819061 leaf_weight=4.9071410298347464 2.4632232710719126 1.7503745295107354 0.91222868859767814 2.6092090494930735 1.8139402121305455 5.9313727915287018 2.6418737843632689 3.3719925656914711 2.1541218832135201 6.4199662730097762 42.188560519367456 1.0860002860426892 43.879531383514404 leaf_count=25 26 19 6 27 29 35 18 20 28 66 920 11 970 internal_value=0 -0.00732432 -0.009713 8.46947e-05 0.009141 0.00340027 0.010005 -0.00247501 -0.00810559 -0.0102937 -0.0101263 0.0105457 0.0105198 internal_weight=0 67.801 51.2711 16.5299 54.3285 11.7666 49.4213 5.83522 4.76333 49.5208 48.6085 46.7795 45.6935 internal_count=2200 1147 1011 136 1053 81 1028 46 55 992 986 1010 999 is_linear=0 shrinkage=0.01 Tree=238 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 12 3 4 0 split_gain=80.7889 6.9698 6.33234 4.86121 2.37616 4.83267 2.0899 1.43839 2.70837 1.02723 0.00647888 0.00113265 0.000166456 4.28899e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.2306326518141948 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0065750448022171195 -0.012240962214293723 -0.010784552009526813 -0.002038878984395399 0.0046510538374390214 0.010562080520702547 -0.006010299010224731 0.0041211197394352313 -0.0036960305369050442 0.011475868758535917 0.010507779837907238 0.011158618296239082 -0.010612240032307204 -0.01055041393153759 -0.010486464094605486 leaf_weight=1.8018287569284428 2.5047200694680241 1.3655530735850323 3.3196731619536859 3.1777548640966407 2.6567148789763477 11.229963447898625 2.4869226031005374 4.0838238522410393 2.6798849031329155 44.283488146960735 1.5842330716550339 1.1134451217949379 1.0786368660628785 37.861701730638742 leaf_count=9 16 22 32 17 14 116 25 23 22 984 20 21 22 857 internal_value=0 -0.00820604 0.00812109 0.00955669 -0.00317011 -0.00178251 -0.00417344 0.000881813 0.00399789 0.0101493 0.0105303 -0.0105013 -0.0104917 -0.0104882 internal_weight=0 60.2977 60.9307 50.8473 18.8783 16.3736 13.7169 10.0834 5.99956 49.0455 45.8677 41.4193 40.0538 38.9403 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 900 879 is_linear=0 shrinkage=0.01 Tree=239 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 10 0 0 13 13 4 1 3 1 0 0 split_gain=79.8334 6.94668 4.90219 5.79731 4.74058 2.72765 2.38062 2.00252 2.26277 0.665194 1.25929 0.393041 0.0119069 0.00403691 0.00255755 0.000938897 0.000236434 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.37041150200217393 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.048937272384614 1.1864741023471512 0.97735317110040087 0.87216409470284928 0.3887456056823268 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0080111727429482103 0.0070034249598929614 -0.011640648250488314 0.010484372010363997 -0.011582341212619134 0.0035044570475855873 -0.011832401001678428 -0.0047514894984062627 -0.0059478537627453022 0.004201119264086995 -0.010922136817526842 -0.00010221773406895757 0.0085414683846444413 -0.010519160978099547 -0.010623097281626574 0.010981797277998528 0.010758598719182845 -0.010482744665489182 leaf_weight=2.4111615121364585 4.7420172505080691 1.9820982143282884 41.694551136344671 2.5976320058107376 2.9717018008232099 1.3330050334334367 2.9734163507819176 5.9499616436660272 3.482698030769825 2.2572249062359324 1.809275336563587 3.2361383698880672 1.4322284832596777 1.2395594343543042 1.0958744324743737 1.2870693951845158 37.842595484107733 leaf_count=15 38 19 950 14 14 12 24 42 38 32 23 26 31 23 16 20 863 internal_value=0 -0.00820315 0.00808724 0.000425593 0.0091431 -0.00220963 0.00260612 -0.000121755 -0.00220068 -0.0101433 -0.00613441 0.00613024 -0.0111522 -0.0105109 0.0105047 0.0104926 -0.0104872 internal_weight=0 59.7398 60.5984 7.33965 53.2588 14.6091 9.18126 11.8438 9.43266 45.1308 3.79137 6.20784 2.76523 41.3394 44.0775 42.9816 39.0822 internal_count=2200 1098 1102 52 1050 138 64 95 80 960 42 40 43 918 986 970 886 is_linear=0 shrinkage=0.01 Tree=240 num_leaves=14 num_cat=0 split_feature=1 0 4 3 3 3 3 0 2 3 3 12 3 split_gain=78.8498 11.8348 4.88097 4.36653 4.05714 3.92598 2.56161 1.05273 0.900368 0.725812 0.601051 0.0124011 0.00216348 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 1.2616250467501662 0.17408222448223767 1.031472441284053 1.2190084357665867 1.0691005037898054 1.2594563194023032 1.0853483183990196 1.2351688403888856 4.6533632910829281 0.58644753314242826 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=4 3 -3 5 -1 -2 11 -7 -5 -4 -11 12 -6 right_child=1 2 9 8 6 7 -8 -9 -10 10 -12 -13 -14 leaf_value=0.00042131054968960226 -0.0060996325933439796 0.006759275550770558 -0.019151304681191219 -0.012016856833820777 0.010846908185344862 0.0039350320639354678 0.00037855458314184023 0.011057730208697389 -0.0032176672828480462 -0.0072338608963266162 -0.010540994645957329 0.011595522509650716 0.010490392257095946 leaf_weight=4.8965765088796607 3.1786867938935783 1.7444348968565453 0.90245780348777671 2.5682294443249694 1.7728678286075581 4.9469349905848485 2.6292773708701125 3.5743541419506073 2.1251220665872097 6.344912387430667 41.050649825483561 1.0670668818056572 42.663874499499798 leaf_count=25 27 19 6 27 29 31 18 23 28 66 920 11 970 internal_value=0 -0.00725819 -0.00967389 0.00011601 0.00909345 0.00338477 0.00997566 0.00692273 -0.00803264 -0.0102674 -0.0100983 0.0105302 0.0105046 internal_weight=0 66.4358 50.0425 16.3933 53.0297 11.7 48.1331 8.52129 4.69335 48.298 47.3956 45.5038 44.4367 internal_count=2200 1147 1011 136 1053 81 1028 54 55 992 986 1010 999 is_linear=0 shrinkage=0.01 Tree=241 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 3 4 3 12 3 4 0 split_gain=77.9203 6.94959 6.23573 4.82235 2.35055 4.70461 2.07165 1.3715 2.68674 1.029 0.00620907 0.00107459 0.000179872 4.24486e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.2306326518141948 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0065403520768598181 -0.012178040611808967 -0.010765631663981175 -0.0020991214707304878 0.0046155093582347165 0.010488990937012319 -0.0059418467378789478 0.0041689636104733632 -0.0036133500670905263 0.011417853322572207 0.010492713101444482 0.011135328472930339 -0.010603241862711702 -0.01053588713360965 -0.0104714790538199 leaf_weight=1.8019722551107396 2.4806591048836735 1.3333819583058346 3.3000829555094224 3.1662015765905371 2.6401102095842388 11.116933487355707 2.4782395847141734 4.0612175166606903 2.6524066776037216 43.057257249951363 1.5579773113131512 1.0956158936023701 1.0525200888514508 36.797787886112928 leaf_count=9 16 22 32 17 14 116 25 23 22 984 20 21 22 857 internal_value=0 -0.00814691 0.00806494 0.00951859 -0.00311183 -0.00172657 -0.00409877 0.000867103 0.00392399 0.0101242 0.0105152 -0.0104865 -0.0104769 -0.0104733 internal_weight=0 58.9952 59.5971 49.5834 18.7159 16.2353 13.5952 10.0137 5.95249 47.7814 44.6152 40.2793 38.9459 37.8503 internal_count=2200 1093 1107 1030 171 155 141 77 54 1021 1004 922 900 879 is_linear=0 shrinkage=0.01 Tree=242 num_leaves=18 num_cat=0 split_feature=10 1 3 1 13 3 0 4 0 0 13 13 1 3 1 0 0 split_gain=76.9449 6.91666 4.83345 5.69997 4.7533 2.6812 2.34892 3.65965 1.944 2.24669 0.675296 1.25144 0.0110803 0.00384386 0.00276964 0.00108098 0.000235707 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.3268335175992902 1.0691005037898054 0.38545662354011129 1.048937272384614 1.1864741023471512 0.97735317110040087 0.87216409470284928 1.1058192561221138 1.2306326518141948 1.0023056708553677 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 8 7 -6 -1 -10 11 -3 -7 -12 15 -4 -15 right_child=2 10 4 -5 6 12 -8 -9 9 -11 13 -13 -14 16 -16 -17 -18 leaf_value=0.0079568189484447646 0.0079821057381703215 -0.011607275373797203 0.010469771716183816 -0.0099174970423459557 -0.010688619256349419 -0.01178604139433175 0.0091123000067781408 0.0054948444556359444 -0.0058869026460611649 0.0042531712004516987 -0.010901499566643125 -4.7469978530477691e-05 -0.010505430522211274 -0.010609624236961931 0.011053265006771758 0.010757870180905014 -0.010467979195383425 leaf_weight=2.3945003151893607 4.1989960968494406 1.9516110084950917 40.668651964515448 3.0869050994515419 2.4272845387458784 1.3091047927737229 3.4110032729804516 3.2930238731205463 5.911042641848324 3.4664422161877155 2.2101104222238055 1.8004900403320787 1.3962880410253999 1.2135772630572308 0.85696856677532096 1.345462393015622 36.783330172300339 leaf_count=15 35 19 953 17 12 12 23 29 42 38 32 23 31 23 12 21 863 internal_value=0 -0.0081431 0.00802642 0.000398366 0.00909517 -0.00214815 0.00254426 -0.00137225 -8.50965e-05 -0.00213856 -0.0101175 -0.00606017 -0.0111251 -0.0104961 0.0104905 0.010479 -0.0104725 internal_weight=0 58.4365 59.2883 7.2859 52.0024 14.4774 9.13131 5.72031 11.772 9.37748 43.9591 3.7521 2.70539 40.207 42.8711 42.0141 37.9969 internal_count=2200 1098 1102 52 1050 138 64 41 95 80 960 42 43 918 986 974 886 is_linear=0 shrinkage=0.01 Tree=243 num_leaves=14 num_cat=0 split_feature=1 0 4 3 3 13 3 1 2 13 3 12 3 split_gain=76.0213 11.691 4.86365 4.25206 4.03589 3.85767 2.56173 1.53936 0.90512 0.722724 0.570128 0.0115932 0.00209697 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 1.2616250467501662 0.17408222448223767 0.582163634996683 1.2190084357665867 1.0797383065324315 1.2594563194023032 0.6302392794400915 1.2351688403888856 4.6533632910829281 0.58644753314242826 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=4 3 -3 5 -1 7 11 -2 -5 -4 -11 12 -6 right_child=1 2 9 8 6 -7 -8 -9 -10 10 -12 -13 -14 leaf_value=0.00039319802327969679 0.0036051365161423026 0.0067946747787263374 -0.019850393599622797 -0.011988433973467256 0.010830776413997965 0.0090633642569188499 0.00033359096443758175 -0.0068760008690916851 -0.0031013996045921666 -0.0073101337597226883 -0.010526568392088917 0.011555378034352297 0.010475855855216314 leaf_weight=4.8823714405298224 2.4241579025983828 1.7373906075954426 0.77011553943157096 2.527369510382413 1.7342778705060471 5.8905398398637772 2.6172403097152701 3.3209109604358673 2.0968032144010067 6.3929394856095305 39.942718151956797 1.0463236309587944 41.479800425469875 leaf_count=25 26 19 5 27 29 35 18 20 28 67 920 11 970 internal_value=0 -0.00719145 -0.00963646 0.000153183 0.00904566 0.00337696 0.00994683 -0.00245344 -0.00795866 -0.0102425 -0.0100828 0.0105153 0.0104901 internal_weight=0 65.1029 48.8432 16.2598 51.76 11.6356 46.8776 5.74507 4.62417 47.1058 46.3357 44.2604 43.2141 internal_count=2200 1147 1011 136 1053 81 1028 46 55 992 987 1010 999 is_linear=0 shrinkage=0.01 Tree=244 num_leaves=15 num_cat=0 split_feature=1 12 0 0 3 12 0 3 4 3 12 3 4 0 split_gain=75.0997 6.94762 6.14259 4.78693 2.32195 3.88834 2.07657 1.3048 2.66722 1.03323 0.00587756 0.00101931 0.000193129 4.19835e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 0.9833172866921428 4.8980530291692244 1.2509949463117855 1.2351688403888856 0.39394749199373341 0.17408222448223767 4.6109421182883317 1.2306326518141948 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0065206158019132125 -0.013247916738727966 -0.01074724214779578 -0.0021691638050770623 0.0045715508786007778 0.008531770436174398 -0.0059282819444697807 0.0042067343671910156 -0.0035318874431299768 0.011358838006313177 0.010478155261341689 0.01110968612096889 -0.010594573647318672 -0.010521825180366094 -0.010456978695958262 leaf_weight=1.8001577630639065 1.9909465536475206 1.3018328137695778 3.2782515324652177 3.1529920101165763 2.9775349944829967 11.119667425751684 2.4708226658403865 4.0379507318139076 2.6240400075912476 41.860738970339298 1.5274696350097645 1.0781795643270005 1.0270752981305111 35.762242220342159 leaf_count=9 14 22 32 17 15 117 25 23 22 984 20 21 22 857 internal_value=0 -0.00808415 0.00800771 0.00947985 -0.00304428 -0.00181813 -0.00408568 0.000848409 0.00384511 0.0100987 0.0105004 -0.0104721 -0.0104627 -0.0104588 internal_weight=0 57.7283 58.2816 48.3414 18.559 16.568 13.5905 9.94024 5.90229 46.5412 43.3882 39.1693 37.8675 36.7893 internal_count=2200 1093 1107 1030 171 157 142 77 54 1021 1004 922 900 879 is_linear=0 shrinkage=0.01 Tree=245 num_leaves=18 num_cat=0 split_feature=10 1 3 4 13 3 10 0 0 13 2 4 1 3 1 0 0 split_gain=74.179 6.88132 4.7547 5.60411 4.75055 2.63577 2.34368 1.88058 2.22975 0.684229 1.24717 0.382025 0.010363 0.00365897 0.00264971 0.00106208 0.000234261 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.37041150200217393 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.048937272384614 1.1864741023471512 0.97735317110040087 1.2525408166204799 0.3887456056823268 1.1058192561221138 1.2306326518141948 1.0023056708553677 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 7 11 -1 -9 10 -3 -6 -7 -11 15 -4 -15 right_child=2 9 4 -5 6 12 -8 8 -10 13 -12 -13 -14 16 -16 -17 -18 leaf_value=0.0078881027367329534 0.0069155697810390857 -0.01131089712768347 0.010455399295035342 -0.011482263463582307 0.0034322698966228176 -0.011743951604961245 -0.0048308884880327897 -0.0058249641448299503 0.0043042239811024426 -0.010881372953363569 0.00032077821523014417 0.0084280958210409419 -0.010492142960728848 -0.010596424481288502 0.011031663821369863 0.010743519781392244 -0.01045369126664962 leaf_weight=2.3774272203445426 4.6609271168708792 2.0152638442814346 39.524939946830273 2.5678166523575783 2.9574227109551412 1.2861414551734918 2.9493227042257786 5.8712057732045633 3.450413353741169 2.1637765839695922 1.698927756398916 3.1727530583739281 1.3612608313560484 1.1880868487060059 0.84136080741882224 1.3222082369029511 35.752273660153151 leaf_count=15 38 23 953 14 14 12 24 42 38 32 19 26 31 23 12 21 863 internal_value=0 -0.0080838 0.00796816 0.000380235 0.00904859 -0.00208984 0.00249387 -5.08436e-05 -0.00207563 -0.0100921 -0.00599039 0.00601793 -0.0111003 -0.0104817 0.0104762 0.0104647 -0.0104583 internal_weight=0 57.1648 57.9968 7.22874 50.768 14.3464 9.0795 11.699 9.32162 42.8183 3.71419 6.13018 2.6474 39.1041 41.6885 40.8471 36.9404 internal_count=2200 1098 1102 52 1050 138 64 95 80 960 42 40 43 918 986 974 886 is_linear=0 shrinkage=0.01 Tree=246 num_leaves=14 num_cat=0 split_feature=1 0 4 3 3 13 3 1 2 3 3 12 3 split_gain=73.3004 11.5134 4.84821 4.13455 4.0078 3.79205 2.56458 1.48831 0.908989 0.706572 0.625854 0.0109006 0.00199768 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 1.2616250467501662 0.17408222448223767 0.582163634996683 1.2190084357665867 1.0797383065324315 1.2594563194023032 1.0853483183990196 1.2351688403888856 4.6533632910829281 0.58644753314242826 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=4 3 -3 5 -1 7 11 -2 -5 -4 -11 12 -6 right_child=1 2 9 8 6 -7 -8 -9 -10 10 -12 -13 -14 leaf_value=0.0003762649351222134 0.003532537226614796 0.006825264245280043 -0.019083681023093591 -0.011963320869277492 0.010812230537694239 0.0089969840925068333 0.00028298714119064132 -0.0068151554355886136 -0.002994413187456176 -0.0070910931193723685 -0.010512592075524111 0.011518188805199493 0.010461786064083451 leaf_weight=4.8719651252031317 2.4026832468807715 1.7325612567365158 0.881170853972434 2.4873623587191096 1.6949927546083916 5.8704717606306076 2.6050406396388999 3.2977352291345596 2.0707314498722553 6.1988959535956374 38.862405199557543 1.0279869362711895 40.32783666998148 leaf_count=25 26 19 6 27 29 35 18 20 28 66 920 11 970 internal_value=0 -0.00712527 -0.00959606 0.000178052 0.00899779 0.00335579 0.0099178 -0.00245368 -0.00788877 -0.0102153 -0.0100419 0.0105008 0.0104759 internal_weight=0 63.804 47.675 16.129 50.5278 11.5709 45.6559 5.70042 4.55809 45.9425 45.0613 43.0508 42.0228 internal_count=2200 1147 1011 136 1053 81 1028 46 55 992 986 1010 999 is_linear=0 shrinkage=0.01 Tree=247 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 2 1 3 12 3 4 0 split_gain=72.4062 6.92937 6.05109 4.74805 2.31305 4.53674 2.03276 1.24375 3.23256 1.03464 0.00640412 0.00096837 0.00020634 4.14903e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 0.96155453354879217 0.17408222448223767 4.6533632910829281 1.2306326518141948 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.006485548395027462 -0.012071520420764812 -0.010729579900508339 0.0081680399528225329 0.004537596555928408 0.010472848214174635 -0.0058081710986396459 0.0042517904926809508 0.0061989693585568911 -0.0063754865263541552 0.010468466576911441 0.011345504366832054 -0.010586274156610826 -0.010508208434875715 -0.010442947628390384 leaf_weight=1.8002519235014904 2.4309961795806911 1.2712242640554894 2.2953156493604165 3.1416602134704581 2.6045010313391677 10.899396181106566 2.4623837806284419 3.0038049593567848 4.5734305158257484 41.346616458147764 0.8496842123568048 1.0611779578030098 1.0022810027003277 34.754451960325241 leaf_count=9 16 22 27 17 14 116 25 16 34 995 9 21 22 857 internal_value=0 -0.00802405 0.00795054 0.00944151 -0.00298443 -0.00160084 -0.00395426 0.000831688 -0.0015155 0.0100739 0.0104861 -0.0104582 -0.0104489 -0.0104448 internal_weight=0 56.4864 57.0108 47.1382 18.3973 15.9663 13.3618 9.87255 6.86875 45.338 42.1963 38.0891 36.8179 35.7567 internal_count=2200 1093 1107 1030 171 155 141 77 61 1021 1004 922 900 879 is_linear=0 shrinkage=0.01 Tree=248 num_leaves=18 num_cat=0 split_feature=10 1 3 1 13 3 0 4 0 0 13 13 1 3 1 0 0 split_gain=71.5182 6.84152 4.68802 5.50659 4.73416 2.58688 2.33034 3.52617 1.81195 2.20687 0.692538 1.24463 0.00961561 0.00348764 0.00265472 0.00100387 0.000232787 threshold=2.5000000000000004 1.1899369278690821 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.3268335175992902 1.0691005037898054 0.38545662354011129 1.048937272384614 1.1864741023471512 0.97735317110040087 0.87216409470284928 1.1058192561221138 1.2306326518141948 1.0023056708553677 1.0188919694060079 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -2 14 8 7 -6 -1 -10 11 -3 -7 -12 15 -4 -15 right_child=2 10 4 -5 6 12 -8 -9 9 -11 13 -13 -14 16 -16 -17 -18 leaf_value=0.0077995376445324106 0.0078863439466953685 -0.011558518250197916 0.010441488430148122 -0.0098335890017044701 -0.01056986396415672 -0.011698257208636055 0.0090254445255553688 0.0053806576957378628 -0.0057571765740023441 0.0043442171613976835 -0.010862037851920451 8.4326883516847511e-05 -0.01047930131361401 -0.010583678847988625 0.011022618840183622 0.01072486832167396 -0.01043986790023003 leaf_weight=2.360140696167945 4.1263243071734896 1.8967846743762486 38.411731421947479 3.0499676018953323 2.4285669624805433 1.2630015090107911 3.3823569789528847 3.2283929511904716 5.8371221721172315 3.4358492903411388 2.1188006103038779 1.7796108350157736 1.3271641805768011 1.1632538698613633 0.82858459651470084 1.2921359688043583 34.748858887702227 leaf_count=15 35 19 953 17 12 12 23 29 42 38 32 23 31 23 12 21 863 internal_value=0 -0.00802472 0.00790943 0.000355265 0.00900301 -0.00203567 0.00245909 -0.001467 -2.3318e-05 -0.00201438 -0.0100671 -0.00592264 -0.0110737 -0.0104678 0.0104624 0.0104507 -0.0104445 internal_weight=0 55.9306 56.7481 7.17629 49.5718 14.2233 9.03932 5.65696 11.6331 9.27297 41.7073 3.6764 2.59017 38.0309 40.5325 39.7039 35.9121 internal_count=2200 1098 1102 52 1050 138 64 41 95 80 960 42 43 918 986 974 886 is_linear=0 shrinkage=0.01 Tree=249 num_leaves=14 num_cat=0 split_feature=1 0 4 3 3 3 3 0 2 3 3 12 3 split_gain=70.6275 11.3736 4.83039 4.03917 3.98402 3.71527 2.5816 1.05062 0.909209 0.699189 0.641323 0.0104361 0.00193809 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 1.2616250467501662 0.17408222448223767 1.031472441284053 1.2190084357665867 1.0691005037898054 1.2594563194023032 1.0853483183990196 1.2351688403888856 4.6533632910829281 0.58644753314242826 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=4 3 -3 5 -1 -2 11 -7 -5 -4 -11 12 -6 right_child=1 2 9 8 6 7 -8 -9 -10 10 -12 -13 -14 leaf_value=0.00034967777861346646 -0.0060223536811437389 0.0068584904936806112 -0.019061156924371027 -0.011936948412479182 0.010797053142690631 0.0037879781177046087 0.0002021303701852624 0.010944196763385188 -0.0029020635912298492 -0.0070127447312844354 -0.010499310482198631 0.011489826258641523 0.01044801248627724 leaf_weight=4.857955574989318 3.0895276032388201 1.7261970862746228 0.87093346565961738 2.4473494067788115 1.6581188887357701 4.8755577616393548 2.5916177704930297 3.5418884307146072 2.044160645455122 6.1311214305460444 37.813597302883863 1.0127021931111801 39.199022196233273 leaf_count=25 27 19 6 27 29 31 18 23 28 66 920 11 970 internal_value=0 -0.00705617 -0.00955644 0.000217473 0.00894806 0.0033567 0.00988754 0.00679917 -0.00782502 -0.0101887 -0.0100129 0.010487 0.0104622 internal_weight=0 62.5403 46.5418 15.9985 49.3194 11.507 44.4615 8.41745 4.49151 44.8157 43.9447 41.8698 40.8571 internal_count=2200 1147 1011 136 1053 81 1028 54 55 992 986 1010 999 is_linear=0 shrinkage=0.01 Tree=250 num_leaves=15 num_cat=0 split_feature=1 12 0 0 0 12 0 2 1 3 12 3 4 0 split_gain=69.7932 6.9153 5.96029 4.71281 2.27802 4.42818 2.0138 1.24012 3.13164 1.0386 0.00604387 0.000870482 0.000170961 4.15718e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 0.96155453354879217 0.17408222448223767 4.6533632910829281 1.2393449613922758 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -5 -11 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 10 -12 12 13 -15 leaf_value=-0.0064654311388675683 -0.011986366303558591 -0.010672192282320246 0.0080858615699792406 0.0044952272078003291 0.010416545748644659 -0.0057423504857838439 0.0042927345704507017 0.0061779386630247714 -0.0063183424402789637 0.010454927342068668 0.011314792875991473 -0.01056484687416887 -0.010495016206060675 -0.010428876970940432 leaf_weight=1.7984008416533459 2.4072501733899143 1.6101668179035176 2.2578747794032079 3.1286963522434226 2.5888551846146575 10.792455911636351 2.4545422829687586 2.9949130490422249 4.5529684200882912 40.203282658010721 0.83440211415290733 0.97779113054275413 0.97811376303434272 33.471652690321207 leaf_count=9 16 30 27 17 14 116 25 16 34 995 9 20 22 850 internal_value=0 -0.00796254 0.00789292 0.00940286 -0.002923 -0.00154526 -0.00388295 0.000815035 -0.00154318 0.010049 0.0104724 -0.0104448 -0.0104345 -0.0104308 internal_weight=0 55.2808 55.7705 45.9648 18.2431 15.8359 13.247 9.80576 6.81084 44.1664 41.0377 37.0377 35.4276 34.4498 internal_count=2200 1093 1107 1030 171 155 141 77 61 1021 1004 922 892 872 is_linear=0 shrinkage=0.01 Tree=251 num_leaves=16 num_cat=0 split_feature=10 12 3 4 13 10 0 0 4 4 1 0 3 4 0 split_gain=68.9351 6.82079 4.62166 5.42753 4.72481 2.29509 2.16746 1.91844 1.03225 0.378956 0.002747 0.000954704 0.000844391 0.000165721 4.02932e-05 threshold=2.5000000000000004 5.4588099803130126 0.52015392592939824 0.37041150200217393 0.46553849925547169 3.5000000000000004 1.2509949463117855 1.048937272384614 0.44326344064311579 0.3887456056823268 1.0023056708553677 1.0188919694060079 1.2393449613922758 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 -2 10 9 7 -1 -9 -6 11 -4 -3 -14 -15 right_child=2 12 4 -5 5 -7 -8 8 -10 -11 -12 -13 13 14 -16 leaf_value=0.0024309399864439049 0.0068303251235487692 -0.0106651924430311 0.01042803968033643 -0.0113912410719637 0.0033490799135131315 -0.0048551548461240185 0.005140212712377551 -0.0039371730658389328 -0.009961507657646463 0.0083527832000967576 0.011021930322269884 0.010707545607184279 -0.010558932496961937 -0.010489853409433017 -0.01042442873254101 leaf_weight=3.2235247269272831 4.5824655331671229 1.5951864197850216 37.329235084354877 2.5411671549081802 2.9376456886529905 2.9279505833983421 2.8094098232686511 7.3851262331008893 4.6257673390209675 3.1223100870847702 0.82048117741942306 1.2634032852947701 0.96860147640108962 0.9688555933535089 33.152676165103912 leaf_count=23 38 30 953 14 14 24 27 67 59 26 12 21 20 22 850 internal_value=0 -0.00796432 0.00785052 0.000330264 0.00895735 0.00241466 -0.00293059 -0.00441894 -0.00625733 0.00592717 0.0104494 0.0104372 -0.0104402 -0.0104299 -0.0104263 internal_weight=0 54.7291 55.5247 7.12363 48.401 8.98791 18.0438 15.2344 12.0109 6.05996 39.4131 38.5926 36.6853 35.0901 34.1215 internal_count=2200 1098 1102 52 1050 64 176 149 126 40 986 974 922 892 872 is_linear=0 shrinkage=0.01 Tree=252 num_leaves=16 num_cat=0 split_feature=1 12 0 0 3 12 0 2 0 1 3 12 3 4 0 split_gain=68.096 6.89089 5.91436 4.67646 2.26284 3.62642 1.97454 1.22386 2.56935 3.47983 1.04118 0.00590272 0.000819096 0.000160646 3.90555e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 0.9833172866921428 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 0.98578357518082749 0.17408222448223767 4.6533632910829281 1.2393449613922758 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 -5 -12 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 11 -13 13 14 -16 leaf_value=-0.0064200230430698927 -0.013128133298925908 -0.010658269145662839 -0.0093545693489835817 0.0044654999896630108 0.0083849619532286486 -0.0057370358048752139 0.0041707411914163293 0.0061291102464617921 0.012575041187837673 -0.0056552064857272044 0.010446038868018226 0.011299279853516373 -0.010553083027409387 -0.01048474660255003 -0.010420027374232812 leaf_weight=1.7992242351174343 1.9299781769514108 1.5803348012268532 2.6002541035413724 3.1180463135242453 2.9355644136667278 10.822918709367512 2.4706408865749827 2.9933724626898766 2.0580302104353905 2.1315098404884338 39.454388432204723 0.8278016708791246 0.95949260890483756 0.95968016237020393 32.836593773216009 leaf_count=9 14 30 21 17 15 117 25 16 23 17 995 9 20 22 850 internal_value=0 -0.00792178 0.00785187 0.00937773 -0.00289163 -0.0016743 -0.00389565 0.000802208 -0.00154623 0.00330005 0.0100326 0.0104636 -0.0104356 -0.0104255 -0.0104219 internal_weight=0 54.4952 54.9826 45.1995 18.1591 16.2291 13.2936 9.78317 6.78979 4.18954 43.4002 40.2822 36.3361 34.7558 33.7963 internal_count=2200 1093 1107 1030 171 157 142 77 61 40 1021 1004 922 892 872 is_linear=0 shrinkage=0.01 Tree=253 num_leaves=16 num_cat=0 split_feature=10 12 3 1 13 0 4 0 0 4 1 0 3 4 0 split_gain=67.2578 6.79748 4.56283 5.33349 4.72675 2.27978 3.42732 2.09721 1.87866 1.02723 0.00264203 0.000920837 0.000794562 0.000155728 3.78573e-05 threshold=2.5000000000000004 5.4588099803130126 0.52015392592939824 0.80845556346269254 0.46553849925547169 1.0691005037898054 0.38545662354011129 1.2509949463117855 1.048937272384614 0.44326344064311579 1.0023056708553677 1.0188919694060079 1.2393449613922758 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 7 3 -2 10 6 -6 8 -1 -10 11 -4 -3 -14 -15 right_child=2 12 4 -5 5 -7 -8 -9 9 -11 -12 -13 13 14 -16 leaf_value=0.0024141210831736255 0.0078019025789349862 -0.010651421025668423 0.010419240009815001 -0.0097400629350141103 -0.010439719228308835 0.0089071811548595212 0.0053191395550448248 0.0050086163020620867 -0.0038870318115983263 -0.0099225650738842836 0.011005919931768242 0.010695718007204548 -0.010547297728886353 -0.010479696256945548 -0.010415673494565765 leaf_weight=3.210637345910075 4.0653302147984496 1.5656110867857922 36.621149264276028 3.0213586241006851 2.4351143389940244 3.3563531711697578 3.1853722520172596 2.8262638784945002 7.3460266776382905 4.5768469087779522 0.80888311564922233 1.2456263341009606 0.95046394690871139 0.95058679953217406 32.523386474698782 leaf_count=23 35 30 953 17 12 23 29 27 67 59 12 21 20 22 850 internal_value=0 -0.00792361 0.00780969 0.000323012 0.00892308 0.00238583 -0.00150849 -0.0028988 -0.00437555 -0.0062039 0.0104404 0.0104283 -0.0104311 -0.0104211 -0.0104175 internal_weight=0 53.9498 54.7392 7.08669 47.6525 8.97684 5.62049 17.9598 15.1335 11.9229 38.6757 37.8668 35.99 34.4244 33.474 internal_count=2200 1098 1102 52 1050 64 41 176 149 126 986 974 922 892 872 is_linear=0 shrinkage=0.01 Tree=254 num_leaves=16 num_cat=0 split_feature=1 12 0 0 0 12 0 2 0 1 3 12 3 4 0 split_gain=66.4135 6.87582 5.86706 4.6439 2.25576 4.29149 1.88774 1.21205 2.50482 3.59477 1.04628 0.00570327 0.00077076 0.000150959 3.66935e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 0.99689265265511573 0.17408222448223767 4.6533632910829281 1.2393449613922758 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 -5 -12 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 11 -13 13 14 -16 leaf_value=-0.0063902052927285839 -0.011929238305955358 -0.010644647706932133 -0.0092424904515355753 0.004427041317766384 0.010343899804549484 -0.0056251734577384858 0.0040528612226838094 0.0060852027145744184 0.012495896652942888 -0.0061110085420762392 0.010437443329000103 0.011281117012797732 -0.010541576012772729 -0.010474700077364738 -0.010411368026997523 leaf_weight=1.7980818524956692 2.3788616284728077 1.551014371216296 2.6065600439906103 3.1057336032390586 2.5676741003990164 10.640885721892117 2.4863651581108561 2.9929296672344208 2.0926203541457653 2.060827724635601 38.719356898218393 0.81819484382867713 0.94151486456394096 0.94157493487000365 32.213023066520691 leaf_count=9 16 30 21 17 14 116 25 16 24 16 995 9 20 22 850 internal_value=0 -0.0078792 0.00781073 0.00935211 -0.00285486 -0.00147947 -0.00379211 0.000787138 -0.00155853 0.00326366 0.0100159 0.0104549 -0.0104266 -0.0104167 -0.0104132 internal_weight=0 53.7209 54.1943 44.4414 18.0738 15.6949 13.1273 9.75294 6.76001 4.15345 42.6433 39.5376 35.6471 34.0961 33.1546 internal_count=2200 1093 1107 1030 171 155 141 77 61 40 1021 1004 922 892 872 is_linear=0 shrinkage=0.01 Tree=255 num_leaves=19 num_cat=0 split_feature=10 1 1 3 13 3 10 0 0 0 4 13 2 3 1 3 1 0 split_gain=65.6416 6.7727 4.52804 6.54949 2.53604 2.52177 2.29052 1.69356 2.16387 1.646 1.47123 0.706533 1.25098 0.12527 0.00862884 0.0032739 0.00196189 0.000217823 threshold=2.5000000000000004 1.1899369278690821 0.85893167272483917 0.58644753314242826 0.46553849925547169 1.3268335175992902 3.5000000000000004 1.048937272384614 1.1864741023471512 0.31415341067031349 0.43963968064395148 0.97735317110040087 1.2525408166204799 0.17408222448223767 1.1058192561221138 1.2306326518141948 0.99689265265511573 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 9 -4 16 7 -6 -1 -9 -2 13 12 -3 -11 -7 -13 -5 -17 right_child=2 11 3 4 6 14 -8 8 -10 10 -12 15 -14 -15 -16 17 -18 -19 leaf_value=0.0077102000737787318 -0.0013075611578850512 -0.011252842898436062 -0.01408246918082985 0.010450314940917329 0.0057730582637750905 -0.011630935785936554 -0.0051133889162416771 -0.0055928402652095288 0.0044782862638553019 0.012922709168693649 0.00081964397857051401 -0.01082785122111361 0.00055648484261940512 0.01042379056762174 -0.010451632204875749 -0.010552086855856188 0.010930917989726664 -0.010409165432786081 leaf_weight=2.3211108669638625 1.3023010864853848 1.9405305199325078 1.8841253668069864 5.2992585115134707 5.9186017215251905 1.2290442474186414 2.8698001615703106 5.7480355277657491 3.3925878182053566 2.1406237334012976 1.6174238957464684 2.0252674520015708 1.6681080609560011 31.910777781158686 1.252955265343189 1.1025426127016533 1.0115046575665472 32.507060807198286 leaf_count=15 7 23 11 133 38 12 23 42 38 13 26 32 19 835 31 23 16 863 internal_value=0 -0.00788332 0.00777162 0.00349735 0.00569102 -0.00189684 0.00221815 8.2131e-05 -0.00185489 0.00973508 0.0101383 -0.0100104 -0.00579393 0.0105809 -0.0110356 -0.0104374 0.0105273 -0.0104139 internal_weight=0 53.1872 53.9544 16.9833 15.0992 13.9437 8.7884 11.4617 9.14062 36.9711 35.6688 39.2435 3.60864 34.0514 2.482 35.6349 6.31076 33.6096 internal_count=2200 1098 1102 221 210 138 61 95 80 881 874 960 42 848 43 918 149 886 is_linear=0 shrinkage=0.01 Tree=256 num_leaves=17 num_cat=0 split_feature=10 12 1 3 13 0 0 0 0 4 4 3 1 3 4 0 split_gain=64.8041 6.77226 4.51791 6.43758 2.53261 2.27399 2.02644 1.81675 1.63956 1.47044 1.02417 0.121222 0.00190444 0.000742736 0.000128619 3.4333e-05 threshold=2.5000000000000004 5.4588099803130126 0.85893167272483917 0.58644753314242826 0.46553849925547169 1.0691005037898054 1.2509949463117855 1.048937272384614 0.31415341067031349 0.43963968064395148 0.44326344064311579 0.17408222448223767 0.99689265265511573 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 8 -4 12 -6 7 -1 -2 11 -9 -10 -5 -3 -15 -16 right_child=2 13 3 4 5 -7 -8 10 9 -11 -12 -13 -14 14 15 -17 leaf_value=0.00238883579379499 -0.0012937499119093651 -0.010634000436669334 -0.013968794025911368 0.010445653608878072 -0.0017296900529528245 0.0087863256736513511 0.0049037854550565462 -0.0038029261810992427 0.012886700164337812 0.0008118485513022365 -0.0098645217728667526 0.010419412142110444 0.010921350755430685 -0.010517901074378562 -0.010464845524973326 -0.010402993302288038 leaf_weight=3.1860138997435596 1.3030387088656414 1.5239529274404038 1.8804816901683832 5.2488593421876422 5.5088561289012414 3.2810133248567581 2.8377106674015513 7.2891230657696706 2.1252164244651786 1.6166288256645192 4.5132771283388138 31.606468867510557 1.0023128837347028 1.0368240401148785 0.92375306412577529 31.493500210344791 leaf_count=23 7 30 11 133 39 22 27 67 13 26 59 835 16 23 22 847 internal_value=0 -0.00786149 0.00774908 0.0034752 0.00565611 0.00219565 -0.00284498 -0.00431203 0.00972227 0.0101284 -0.0061209 0.0105749 0.0105219 -0.0104181 -0.0104083 -0.0104048 internal_weight=0 52.8042 53.5729 16.9215 15.041 8.78987 17.8261 14.9884 36.6514 35.3483 11.8024 33.7317 6.25117 34.978 33.4541 32.4173 internal_count=2200 1098 1102 221 210 61 176 149 881 874 126 848 149 922 892 869 is_linear=0 shrinkage=0.01 Tree=257 num_leaves=16 num_cat=0 split_feature=1 12 0 0 0 12 0 2 0 1 3 12 3 4 0 split_gain=63.9824 6.84962 5.78966 4.53426 2.21894 4.18806 1.82699 1.20547 2.46811 3.5182 1.08201 0.00572625 0.000720531 0.000124696 3.32803e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.31415341067031349 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 0.99689265265511573 0.17408222448223767 4.7089134508189288 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 -5 -12 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 11 -13 13 14 -16 leaf_value=-0.0062142530268794486 -0.011853170353413649 -0.010627421069364613 -0.0092006287544315248 0.0042734551498161202 0.010278798485451702 -0.0055517330323063665 0.0039610123543710333 0.0060495534105725326 0.012472886473872832 -0.0060389029627396472 0.01042538044872827 0.01130580466871981 -0.010512503163813939 -0.010460010904279686 -0.010398823080205231 leaf_weight=1.8025043308734883 2.3526096791029003 1.5097187310457219 2.6048112660646421 3.0699007213115683 2.5526621490716925 10.533857092261313 2.4976483024656764 2.9878828451037407 2.0591670498251915 2.0474785044789314 37.712718315422535 0.75349024683236976 1.0270319171249855 0.91498216986656089 31.192574057728052 leaf_count=9 16 30 21 17 14 116 25 16 24 16 996 8 23 22 847 internal_value=0 -0.00781675 0.00774982 0.00931285 -0.0028007 -0.00143413 -0.0037285 0.000765896 -0.00158634 0.00324334 0.00998667 0.0104426 -0.0104138 -0.010404 -0.0104006 internal_weight=0 52.5811 53.038 43.3386 17.9368 15.5842 13.0315 9.69934 6.71146 4.10665 41.5361 38.4662 34.6443 33.1346 32.1076 internal_count=2200 1093 1107 1030 171 155 141 77 61 40 1021 1004 922 892 869 is_linear=0 shrinkage=0.01 Tree=258 num_leaves=17 num_cat=0 split_feature=10 12 1 3 13 10 3 0 0 0 4 3 1 3 4 0 split_gain=63.247 6.74375 4.47965 6.30536 2.50762 2.23618 2.01226 1.94083 2.27424 1.61573 1.48184 0.116261 0.00200811 0.000698992 0.000120892 3.22597e-05 threshold=2.5000000000000004 5.4588099803130126 0.85893167272483917 0.58644753314242826 0.46553849925547169 3.5000000000000004 1.323927965737479 1.2509949463117855 1.1546668796111181 0.31415341067031349 0.43963968064395148 0.17408222448223767 1.0023056708553677 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 9 -4 12 -6 7 8 -1 -2 11 -11 -5 -3 -15 -16 right_child=2 13 3 4 5 -7 -8 -9 -10 10 -12 -13 -14 14 15 -17 leaf_value=0.00021380002856955977 -0.0012146077208770127 -0.010620913170181394 -0.013857429704254748 0.010445331405202065 0.0057080479536104371 -0.0050547570724057923 -0.011172805897212928 0.0064347973683776443 -0.0085310840393071925 0.012839555470746234 0.00073099302641598148 0.010410836279428798 0.010987496483542849 -0.010507163981917018 -0.010455228814832764 -0.010394698243198131 leaf_weight=7.9197997152805346 1.3072658628225315 1.4956080727279175 1.8715674355626131 5.3601062372326842 5.8917104527354223 2.87120296433568 2.4792726673185816 2.5865361504256716 4.7620822787284851 2.1047529131174079 1.6065655723214138 31.007700692862272 0.78295348212122906 1.0173268802463997 0.90629021078348415 30.894396282732487 leaf_count=64 7 30 11 137 38 23 35 24 53 13 26 835 12 23 22 847 internal_value=0 -0.00782109 0.00771155 0.00344345 0.00561572 0.00218157 -0.00281665 -0.00145979 -0.00306993 0.00969922 0.0101102 0.0105652 0.0105144 -0.0104095 -0.0103999 -0.0103964 internal_weight=0 52.0613 52.8038 16.7775 14.906 8.76291 17.7477 15.2684 12.6819 36.0263 34.719 33.1125 6.14306 34.3136 32.818 31.8007 internal_count=2200 1098 1102 221 210 61 176 141 117 881 874 848 149 922 892 869 is_linear=0 shrinkage=0.01 Tree=259 num_leaves=19 num_cat=0 split_feature=10 1 1 3 13 0 3 0 4 4 2 13 13 1 3 3 1 0 split_gain=62.433 6.74637 4.46932 6.19768 2.50388 2.2249 2.07818 1.60957 1.48092 1.43392 4.99773 0.714241 1.25379 0.552909 0.112514 0.00315152 0.00194933 0.000206777 threshold=2.5000000000000004 1.1899369278690821 0.85893167272483917 0.58644753314242826 0.46553849925547169 1.0691005037898054 1.2864828997949476 0.31415341067031349 0.43963968064395148 0.43216120423585541 1.2361410663171766 0.97735317110040087 0.87216409470284928 1.1514890847982897 0.17408222448223767 1.2306326518141948 1.0023056708553677 1.1486959937123338 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 7 -4 16 -6 9 -2 14 -1 -11 12 -3 -8 -9 -13 -5 -17 right_child=2 11 3 4 5 -7 13 8 -10 10 -12 15 -14 -15 -16 17 -18 -19 leaf_value=-0.0035927224041370004 -0.0012018311128558765 -0.011489693678937018 -0.013746346052247355 0.010440729157502578 -0.001722664499503278 0.0086986523120877353 -0.011345599625467178 0.012804775156515749 0.00072400176620005322 -0.0056659262934413554 0.013315080653368736 -0.010809050803102576 0.00036796878465135332 -0.0031266379470799711 0.01040659662311968 -0.010534071504809079 0.010977346800193419 -0.010392545007365851 leaf_weight=4.6956506222486478 1.3079483583569516 1.8328806124627584 1.8678433224558855 5.3090998455882064 5.4994593113660795 3.2648538537323475 2.2813449092209335 2.0894419252872458 1.6058611907064904 2.7479756027460098 2.801278430968523 1.971328381448983 1.7365867048501966 1.2764776758849619 30.711612969636917 1.0675776377320279 0.77587608993053425 31.285404808819294 leaf_count=30 7 19 11 137 39 22 33 13 26 27 21 32 23 27 835 23 12 863 internal_value=0 -0.0077979 0.00768895 0.00342152 0.00558101 0.00215945 -0.00181233 0.00968641 0.0101003 0.000474309 0.00391574 -0.00997814 -0.00572081 -0.0083968 0.0105594 -0.0104209 0.0105092 -0.0103972 internal_weight=0 51.6965 52.432 16.7171 14.8493 8.76431 13.8027 35.7149 34.4069 10.2449 5.54925 37.8938 3.56947 3.55782 32.8011 34.3243 6.08498 32.353 internal_count=2200 1098 1102 221 210 61 138 881 874 78 48 960 42 60 848 918 149 886 is_linear=0 shrinkage=0.01 Tree=260 num_leaves=14 num_cat=0 split_feature=1 0 4 0 3 13 3 1 3 2 3 3 12 split_gain=61.6491 10.9255 4.92323 4.12731 3.83388 3.67441 2.42717 1.30761 1.12171 0.920002 0.689511 0.677469 0.00964813 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 0.31415341067031349 1.2616250467501662 0.582163634996683 1.2190084357665867 1.0797383065324315 0.17408222448223767 1.2594563194023032 1.0853483183990196 1.2351688403888856 4.6360580590350748 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 4 -3 -1 5 7 8 -2 -5 -6 -4 -12 -10 right_child=1 2 10 6 9 -7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0060450562348653312 0.0033036976489230381 0.0073854852309309417 -0.019030991697977655 0.0041221956578050226 -0.011891691395673072 0.0090263068715497729 -0.00010489910714662488 -0.0065707022561482158 0.010410930748390626 -0.0025861236239199908 -0.006790500155903335 -0.010456642645784343 0.011275742188346991 leaf_weight=1.8064299523830403 2.3197013102471811 1.6750652045011509 0.84756901860237022 3.034410059452056 2.3431179597973815 5.7547785826027393 2.5389323085546485 3.1788914725184441 36.460736408829689 1.9438208155333994 5.910934340208768 34.227304510772228 1.3373480141162861 leaf_count=9 26 19 6 17 27 35 18 20 992 28 66 920 17 internal_value=0 -0.00680347 -0.00941846 0.00876518 0.000375143 0.00344079 0.00938203 -0.00240497 0.00997192 -0.00767228 -0.0101052 -0.00991675 0.0104415 internal_weight=0 58.2012 42.6609 45.1779 15.5403 11.2534 43.3714 5.49859 40.8325 4.28694 40.9858 40.1382 37.7981 internal_count=2200 1147 1011 1053 136 81 1044 46 1026 55 992 986 1009 is_linear=0 shrinkage=0.01 Tree=261 num_leaves=16 num_cat=0 split_feature=1 12 0 3 0 12 0 2 0 1 12 3 3 4 0 split_gain=60.9039 6.8177 5.67463 4.44674 2.17196 4.0887 1.78898 1.19964 2.43708 3.41503 0.00553667 0.00151157 0.000679768 0.000128027 3.22033e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 0.99689265265511573 4.7089134508189288 0.61313736928646123 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 11 -5 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 -12 -13 13 14 -16 leaf_value=0.00016920982195201101 -0.011757117572424656 -0.010608522123298927 -0.0091952583026563822 0.010691073909332823 0.010237542703276058 -0.0054782213735186137 0.0039482207417562629 0.0060188748115725934 0.01245953520119839 -0.0059276245182363022 0.011282017378330508 0.010395585303060322 -0.010499397958925552 -0.010443843178293584 -0.010382636458281391 leaf_weight=4.7675901949405661 2.3157990276813534 1.4617695622146119 2.5917887613177282 1.8224159143865097 2.5354456901550284 10.401018187403677 2.4965535178780547 2.9719993621110916 2.0119878314435482 2.0284875929355621 0.74362394213676353 34.586154099553823 0.99921309947967785 0.88495305925607937 30.018364001065493 leaf_count=25 16 30 21 37 14 116 25 16 24 16 8 960 23 22 847 internal_value=0 -0.00773388 0.0076726 0.0092611 -0.00272652 -0.00137144 -0.00365357 0.000739281 -0.00162657 0.00322841 0.0104278 0.0104104 -0.0103977 -0.010388 -0.0103844 internal_weight=0 51.1131 51.524 41.9198 17.7488 15.433 12.8976 9.60426 6.63226 4.04048 37.1522 36.4086 33.3643 31.9025 30.9033 internal_count=2200 1093 1107 1030 171 155 141 77 61 40 1005 997 922 892 869 is_linear=0 shrinkage=0.01 Tree=262 num_leaves=17 num_cat=0 split_feature=10 12 1 3 13 10 3 0 0 0 4 3 1 3 4 0 split_gain=60.2018 6.70931 4.41984 6.04818 2.46723 2.18836 1.96937 1.89496 2.19848 1.58553 1.4997 0.108213 0.00195712 0.000659487 0.000124126 3.12165e-05 threshold=2.5000000000000004 5.4588099803130126 0.85893167272483917 0.58644753314242826 0.46553849925547169 3.5000000000000004 1.323927965737479 1.2509949463117855 1.1546668796111181 0.31415341067031349 0.43963968064395148 0.17408222448223767 1.0023056708553677 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 9 -4 12 -6 7 8 -1 -2 11 -11 -5 -3 -15 -16 right_child=2 13 3 4 5 -7 -8 -9 -10 10 -12 -13 -14 14 15 -17 leaf_value=0.00021507722744675938 -0.0011335416325474771 -0.01060222566925201 -0.013652368329958977 0.010428694071358546 0.0056444652109418391 -0.0050212583036389671 -0.011133024933848655 0.0063830497434643578 -0.0084390136081514064 0.012759112390757672 0.00058942319466727248 0.010394222944398766 0.010970736568151644 -0.010494203273079997 -0.010439236447962979 -0.010378686012150693 leaf_weight=7.8697316497564334 1.311307132244109 1.4480798617005337 1.8529390692710901 5.1663535647094241 5.8511333428323251 2.8659546747803688 2.4133293889462939 2.589165747165679 4.6818581521511078 2.0690594166517284 1.5875702910125244 29.841868501156569 0.76471418887376774 0.98975799977779644 0.87653234228492038 29.730933103710413 leaf_count=64 7 30 11 137 38 23 35 24 53 13 26 835 12 23 22 847 internal_value=0 -0.00773955 0.00763265 0.00336987 0.00552313 0.00213785 -0.00274344 -0.0014062 -0.00301298 0.00965336 0.0100756 0.0105476 0.0104986 -0.0103935 -0.010384 -0.0103804 internal_weight=0 50.5994 51.3109 16.5011 14.6482 8.71709 17.5541 15.1408 12.5516 34.8098 33.4985 31.9109 5.93107 33.0453 31.5972 30.6075 internal_count=2200 1098 1102 221 210 61 176 141 117 881 874 848 149 922 892 869 is_linear=0 shrinkage=0.01 Tree=263 num_leaves=17 num_cat=0 split_feature=10 12 1 3 13 0 3 0 0 0 4 3 1 3 4 0 split_gain=59.4243 6.70873 4.40918 5.94492 2.46315 2.17811 1.95429 1.85513 2.17038 1.5796 1.49852 0.104736 0.00189992 0.000639831 0.000120351 3.02622e-05 threshold=2.5000000000000004 5.4588099803130126 0.85893167272483917 0.58644753314242826 0.46553849925547169 1.0691005037898054 1.323927965737479 1.2509949463117855 1.1546668796111181 0.31415341067031349 0.43963968064395148 0.17408222448223767 1.0023056708553677 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 9 -4 12 -6 7 8 -1 -2 11 -11 -5 -3 -15 -16 right_child=2 13 3 4 5 -7 -8 -9 -10 10 -12 -13 -14 14 15 -17 leaf_value=0.00021291309700081164 -0.0011216616017576209 -0.01059599754348046 -0.013543819581010532 0.010424271828496314 -0.0017331581331963069 0.0086063509305428776 -0.011121194312846432 0.0062945017367939298 -0.0084002104307270148 0.012725508950535223 0.00058373653122224573 0.01039015953036102 0.010960786082039313 -0.010489064946629361 -0.010434679047356468 -0.010374775451900249 leaf_weight=7.870220649987461 1.3119411095976818 1.4345096983015526 1.8491309806704546 5.1171065755188456 5.4726059325039369 3.2458225712180138 2.3918453343212596 2.5992817021906367 4.6565773114562035 2.0538540631532696 1.5870101563632477 29.556433044373989 0.75778903439640988 0.98038737475872295 0.86818780004978435 29.446143165230751 leaf_count=64 7 30 11 137 39 22 35 24 53 13 26 835 12 23 22 847 internal_value=0 -0.00771624 0.00760997 0.00334826 0.00548867 0.00211618 -0.00272176 -0.00139358 -0.00298884 0.00964053 0.0100658 0.0105419 0.0104935 -0.0103895 -0.01038 -0.0103765 internal_weight=0 50.2472 50.9517 16.4425 14.5933 8.71843 17.5179 15.1261 12.5268 34.5092 33.1973 31.6103 5.8749 32.7292 31.2947 30.3143 internal_count=2200 1098 1102 221 210 61 176 141 117 881 874 848 149 922 892 869 is_linear=0 shrinkage=0.01 Tree=264 num_leaves=16 num_cat=0 split_feature=1 12 0 3 0 12 0 2 0 0 12 3 3 4 0 split_gain=58.6795 6.77871 5.59517 4.45463 2.13187 3.99292 1.70399 1.19515 2.39222 1.01292 0.00547992 0.00149915 0.000620754 0.000116689 2.93365e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 1.1427926010382323 4.7089134508189288 0.61313736928646123 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 11 -5 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 -12 -13 13 14 -16 leaf_value=0.0001046855378824938 -0.011682956478026234 -0.010589836119405427 -0.009144385703001948 0.010681863107476692 0.010157818028841761 -0.0054058482695617908 0.0037675632058955556 0.0059895040627672936 0.008019188036327226 -0.0020644944409081364 0.011269354186954543 0.01038412739100482 -0.010483982210608018 -0.010430171241508017 -0.010370908025611681 leaf_weight=4.7380097061395636 2.2891613692045238 1.4210582934319962 2.5881739407777768 1.7806954532861698 2.5243960618972769 10.296401936560867 2.5206244550645343 2.9662418067455292 2.0837783813476567 1.9086124673485754 0.73866342008113761 33.631388138979673 0.97110057249665516 0.85991882532835262 29.163966428488493 leaf_count=25 16 30 21 37 14 116 25 16 24 16 8 960 23 22 847 internal_value=0 -0.00767128 0.00761254 0.00922195 -0.00268091 -0.00133767 -0.00360179 0.000719502 -0.00165599 0.00319856 0.0104169 0.0103991 -0.0103855 -0.0103761 -0.0103726 internal_weight=0 50.0466 50.4356 40.8888 17.6306 15.3414 12.817 9.54681 6.58056 3.99239 36.1507 35.4121 32.416 30.995 30.0239 internal_count=2200 1093 1107 1030 171 155 141 77 61 40 1005 997 922 892 869 is_linear=0 shrinkage=0.01 Tree=265 num_leaves=17 num_cat=0 split_feature=10 12 1 3 13 10 3 0 0 0 4 3 1 3 4 0 split_gain=57.9927 6.67728 4.3747 5.82966 2.4415 2.14665 1.93437 1.79795 2.14392 1.57261 1.50419 0.10162 0.00190527 0.000602245 0.000113138 2.84383e-05 threshold=2.5000000000000004 5.4588099803130126 0.85893167272483917 0.58644753314242826 0.46553849925547169 3.5000000000000004 1.323927965737479 1.2509949463117855 1.048937272384614 0.31415341067031349 0.43963968064395148 0.17408222448223767 1.0023056708553677 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 9 -4 12 -6 7 8 -1 -2 11 -11 -5 -3 -15 -16 right_child=2 13 3 4 5 -7 -8 -9 -10 10 -12 -13 -14 14 15 -17 leaf_value=0.00504651323042317 -0.0011170047397615472 -0.010583741140321668 -0.01344827694396088 0.010416899822729567 0.0055830102491569592 -0.0049919424311910977 -0.011105372971846441 0.0061612175686324433 -0.0051071012030813514 0.012692122970086279 0.00052793598720515789 0.010382298771339648 0.010957537869616096 -0.010478954977690478 -0.01042571205110499 -0.010367083008409737 leaf_weight=2.6376675441861179 1.3118994683027256 1.4077246822416771 1.840390302240851 5.0266877077519885 5.8248821496963483 2.86310213804245 2.3643571436405173 2.6152967959642401 9.8277003765106183 2.03857193887234 1.5787809118628491 28.997606419026852 0.74896677955985058 0.96189690381288784 0.85172479227185505 28.884380981326103 leaf_count=19 7 30 11 137 38 23 35 24 98 13 26 835 12 23 22 847 internal_value=0 -0.00767554 0.00757205 0.00331496 0.00544796 0.00209806 -0.00269554 -0.00137704 -0.0029586 0.00961786 0.0100497 0.010534 0.010487 -0.0103815 -0.0103722 -0.0103688 internal_weight=0 49.5507 50.2309 16.304 14.4636 8.68798 17.445 15.0807 12.4654 33.9269 32.615 31.0362 5.77565 32.1057 30.698 29.7361 internal_count=2200 1098 1102 221 210 61 176 141 117 881 874 848 149 922 892 869 is_linear=0 shrinkage=0.01 Tree=266 num_leaves=19 num_cat=0 split_feature=10 1 1 3 13 0 3 0 4 4 2 13 2 1 3 12 1 3 split_gain=57.2433 6.68002 4.36382 5.73014 2.43712 2.12698 1.95178 1.56674 1.50292 1.431 5.78877 0.727982 1.25614 0.64468 0.0983617 0.00304454 0.00184969 0.000241808 threshold=2.5000000000000004 1.1899369278690821 0.85893167272483917 0.58644753314242826 0.46553849925547169 1.0691005037898054 1.2864828997949476 0.31415341067031349 0.43963968064395148 0.43216120423585541 1.2525408166204799 0.97735317110040087 1.2525408166204799 1.1597348923655619 0.17408222448223767 5.4588099803130126 1.0023056708553677 1.2351688403888856 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 7 -4 16 -6 9 -2 14 -1 -11 12 -3 -8 -9 -13 -5 -17 right_child=2 11 3 4 5 -7 13 8 -10 10 -12 15 -14 -15 -16 17 -18 -19 leaf_value=-0.0035517995141580256 -0.0011053068435957205 -0.011196258802407913 -0.013341909055339114 0.010412603841972661 -0.0017251406710995839 0.0085151357436163092 -0.011247339056465164 0.012659490908105427 0.00052282268796638171 -0.0053978870434776283 0.015234029618057754 -0.010803411226575034 0.00080879335571270618 -0.0019553412797859381 0.010378363522995749 -0.010515093728466259 0.010947746536139242 -0.010365681532436789 leaf_weight=4.6538243666291219 1.31252310425043 1.8674183711409562 1.8365315049886728 4.9787142872810355 5.4631880745291692 3.2261090353131294 2.2963871061801906 2.0234641432762173 1.5782828517258156 2.9894513003528118 2.4947719126939774 1.7219972200691689 1.6344306096434591 1.1064128950238226 28.719907466322184 1.1247307620942617 0.74217428639531124 29.31550158560276 leaf_count=30 7 23 11 137 39 22 36 13 26 31 17 29 19 24 835 25 12 864 internal_value=0 -0.00765256 0.0075493 0.00329357 0.00541371 0.00207681 -0.00167289 0.00960499 0.0100399 0.000526655 0.00398757 -0.00992291 -0.0055931 -0.00822607 0.0105285 -0.0103943 0.010482 -0.0103712 internal_weight=0 49.2049 49.8809 16.2467 14.4102 8.6893 13.5408 33.6342 32.3217 10.138 5.48422 35.6641 3.50185 3.4028 30.7434 32.1622 5.72089 30.4402 internal_count=2200 1098 1102 221 210 61 138 881 874 78 48 960 42 60 848 918 149 889 is_linear=0 shrinkage=0.01 Tree=267 num_leaves=14 num_cat=0 split_feature=1 0 4 0 3 13 3 0 3 2 12 3 12 split_gain=56.5624 10.5872 4.95393 3.9469 3.66441 3.5823 2.42108 1.20079 1.17888 0.925818 0.541077 0.931627 0.00928741 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 0.31415341067031349 1.2616250467501662 0.582163634996683 1.2190084357665867 1.0253804391042192 0.17408222448223767 1.2594563194023032 5.0482521082396881 1.2351688403888856 4.6360580590350748 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 4 -3 -1 5 7 8 -2 -5 -6 -4 -12 -10 right_child=1 2 10 6 9 -7 -8 -9 12 -11 11 -13 -14 leaf_value=-0.0058072848466649346 -0.0065108721105140554 0.007647918555598281 -0.015721690427259849 0.0038570685673536293 -0.011856535791588145 0.00896403868535375 -0.00022820828557732571 0.0030167446715159379 0.010384540320690614 -0.002376771647948187 -0.0057905842279006425 -0.010431523326969862 0.011244162088298371 leaf_weight=1.8086191043257702 3.0658553391695005 1.6484653018414963 1.6134959384798992 2.9696385264396659 2.2734519578516474 5.7123361229896545 2.5096359737217417 2.3267162442207336 34.159440476447344 1.8839297853410242 4.9989877119660369 32.102965138852596 1.3048492446541775 leaf_count=9 29 19 10 17 27 35 18 17 992 28 62 920 17 internal_value=0 -0.00664721 -0.00932985 0.00864939 0.000447533 0.00344562 0.00928799 -0.00240002 0.00990937 -0.00756075 -0.0100528 -0.00980622 0.0104162 internal_weight=0 55.6262 40.3639 42.7522 15.2623 11.1049 40.9436 5.39257 38.4339 4.15738 38.7154 37.102 35.4643 internal_count=2200 1147 1011 1053 136 81 1044 46 1026 55 992 982 1009 is_linear=0 shrinkage=0.01 Tree=268 num_leaves=16 num_cat=0 split_feature=1 12 0 3 3 12 0 2 0 0 12 3 3 4 0 split_gain=55.8667 6.73237 5.48 4.45315 2.09528 3.22171 1.68234 1.18537 2.36313 0.990548 0.0052698 0.00145033 0.000591877 0.000119712 2.84742e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 0.9833172866921428 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 1.1427926010382323 4.7089134508189288 0.61313736928646123 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 11 -5 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 -12 -13 13 14 -16 leaf_value=3.887473880797867e-05 -0.012782813448355706 -0.010573265704852983 -0.0091279136262321404 0.010667134658559049 0.0081739706322600161 -0.005377748071577604 0.0037396138400935665 0.0059588959342284807 0.0080077825749945864 -0.0020303190391837323 0.01124412388588226 0.0103696071766472 -0.010471986207245572 -0.010415268721982885 -0.010355902830599482 leaf_weight=4.705797240138053 1.8157169669866586 1.3772944025695348 2.576634965837 1.7256246916949738 2.8531247377395621 10.257650937885044 2.5212883912026873 2.9495145380496979 2.0479464605450635 1.8905162177979944 0.72862689197063346 32.401166141033173 0.94505704939365642 0.83188562095165508 28.063371598720551 leaf_count=25 14 30 21 37 15 117 25 16 24 16 8 960 23 22 847 internal_value=0 -0.00758995 0.00753456 0.00916985 -0.00261483 -0.00143379 -0.00357889 0.000699205 -0.00168196 0.00318936 0.0104026 0.0103847 -0.0103706 -0.0103612 -0.0103576 internal_weight=0 48.6654 49.0258 39.5612 17.4478 15.6321 12.7789 9.46461 6.5151 3.93846 34.8554 34.1268 31.2176 29.8403 28.8953 internal_count=2200 1093 1107 1030 171 157 142 77 61 40 1005 997 922 892 869 is_linear=0 shrinkage=0.01 Tree=269 num_leaves=17 num_cat=0 split_feature=10 12 1 3 13 10 3 0 0 0 4 3 1 3 4 0 split_gain=55.1819 6.64031 4.31959 5.57923 2.41217 2.11263 1.89807 1.75395 2.07919 1.54348 1.52032 0.0946901 0.00182975 0.000574273 0.000116077 2.76045e-05 threshold=2.5000000000000004 5.4588099803130126 0.85893167272483917 0.58644753314242826 0.46553849925547169 3.5000000000000004 1.323927965737479 1.2509949463117855 1.1546668796111181 0.31415341067031349 0.43963968064395148 0.17408222448223767 1.0023056708553677 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 9 -4 12 -6 7 8 -1 -2 11 -11 -5 -3 -15 -16 right_child=2 13 3 4 5 -7 -8 -9 -10 10 -12 -13 -14 14 15 -17 leaf_value=0.00023748135455888439 -0.0010394141119473158 -0.010567356074280495 -0.013249815527158836 0.010402002467599987 0.005513651693716066 -0.0049950387297277238 -0.011072360266016259 0.006109162665926148 -0.0082717692390789008 0.012617508145576405 0.00039605968659384936 0.010366977716876195 0.010937591467149524 -0.010467090381322137 -0.010410969976901613 -0.010352236727269631 leaf_weight=7.7867414355278033 1.3157411217689503 1.3643488176167036 1.8192190229892755 4.84798315539956 5.7867918573319894 2.857808779925108 2.3042895607650271 2.6195869855582705 4.5490821525454521 2.0037762224674287 1.5614531934261311 27.90695820376277 0.7345072254538535 0.93608902394771831 0.82394656911492603 27.793926391750574 leaf_count=64 7 30 11 137 38 23 35 24 53 13 26 835 12 23 22 847 internal_value=0 -0.00759295 0.00749134 0.00323998 0.00534853 0.0020396 -0.00262404 -0.00132235 -0.00290048 0.00957195 0.0100156 0.0105177 0.0104725 -0.0103668 -0.0103575 -0.0103539 internal_weight=0 48.178 48.8342 16.0463 14.2271 8.6446 17.2597 14.9554 12.3358 32.7879 31.4722 29.9107 5.58249 30.9183 29.554 28.6179 internal_count=2200 1098 1102 221 210 61 176 141 117 881 874 848 149 922 892 869 is_linear=0 shrinkage=0.01 Tree=270 num_leaves=14 num_cat=0 split_feature=1 0 4 3 3 13 3 0 2 12 3 12 3 split_gain=54.4989 10.4081 4.93139 3.90067 3.57383 3.51135 2.65405 1.17308 0.927777 0.516243 0.942432 0.00900687 0.0017084 threshold=0.99689265265511573 1.1427926010382323 0.36041499722973019 0.17408222448223767 1.2616250467501662 0.582163634996683 1.2190084357665867 1.0253804391042192 1.2594563194023032 5.0482521082396881 1.2351688403888856 4.6360580590350748 0.58644753314242826 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=3 4 -3 -1 5 7 11 -2 -6 -4 -11 12 -5 right_child=1 2 9 6 8 -7 -8 -9 -10 10 -12 -13 -14 leaf_value=7.947909705751013e-06 -0.0064747804557152523 0.0076636372048356086 -0.015581050115154605 0.010714169333730443 -0.011837838746954045 0.0088825137884501124 -0.00026207429512809389 0.0029691983071943487 -0.002289876520951261 -0.0057234282627072908 -0.010421231707529744 0.011227246676725998 0.01035938693909145 leaf_weight=4.6910318285226813 3.0423212721943838 1.6447623148560513 1.601289927959441 1.4176576584577549 2.2428845278918734 5.7008704505860806 2.5006411895155898 2.3169679045677185 1.8630710095167158 4.9468251913785926 31.225887179374695 1.2864884510636319 31.862256065011024 leaf_count=25 29 19 10 29 27 35 18 17 28 62 920 17 964 internal_value=0 -0.00657815 -0.00928669 0.00859925 0.000461696 0.00341941 0.00968652 -0.00239189 -0.00750547 -0.0100247 -0.00977878 0.0104062 0.0103745 internal_weight=0 54.5849 39.4188 41.7581 15.1661 11.0602 37.067 5.35929 4.10596 37.774 36.1727 34.5664 33.2799 internal_count=2200 1147 1011 1053 136 81 1028 46 55 992 982 1010 993 is_linear=0 shrinkage=0.01 Tree=271 num_leaves=15 num_cat=0 split_feature=1 12 0 3 0 12 0 2 1 12 3 3 4 0 split_gain=53.8612 6.6862 5.38423 4.44358 2.06671 3.81128 1.61878 1.17524 2.60263 0.00511031 0.00138563 0.000557632 0.00012313 2.8228e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 0.96155453354879217 4.7089134508189288 0.61313736928646123 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 10 -5 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 -11 -12 12 13 -15 leaf_value=7.8683940137500783e-06 -0.011543341925712611 -0.01055876570736632 0.00760675883801338 0.010653481669169232 0.010075725576078077 -0.0052707303632802483 0.0036805751024658381 0.0059384373398062061 -0.0060118875382809221 0.011225491132919064 0.010359015675237684 -0.010463861398557888 -0.010404829045886648 -0.010344996215346035 leaf_weight=4.6910172849893561 2.2365134768188026 1.3448699973523641 2.0565883293747884 1.6833862513303746 2.4850510433316222 10.070602636784313 2.5273033156990996 2.9399786852300167 4.417457103729248 0.72004746645688911 31.502602405846119 0.92705287411809223 0.81198429875076072 27.26062835380435 leaf_count=25 16 30 27 37 14 116 25 16 34 8 960 23 22 847 internal_value=0 -0.00753013 0.00747609 0.00912996 -0.00257258 -0.00124238 -0.00347498 0.000695303 -0.0016857 0.010392 0.010374 -0.0103597 -0.0103505 -0.0103467 internal_weight=0 47.664 48.0111 38.5971 17.3195 15.083 12.5979 9.41402 6.47405 33.906 33.186 30.3445 28.9997 28.0726 internal_count=2200 1093 1107 1030 171 155 141 77 61 1005 997 922 892 869 is_linear=0 shrinkage=0.01 Tree=272 num_leaves=19 num_cat=0 split_feature=10 1 1 3 13 0 3 0 4 4 2 13 13 1 3 12 1 3 split_gain=53.176 6.60545 4.27927 5.45015 2.38467 2.08752 1.85554 1.53505 1.53361 1.42742 5.62332 0.736791 1.2587 0.659921 0.0921462 0.00298067 0.00188777 0.000214491 threshold=2.5000000000000004 1.1899369278690821 0.85893167272483917 0.58644753314242826 0.46553849925547169 1.0691005037898054 1.2864828997949476 0.31415341067031349 0.43963968064395148 0.43216120423585541 1.2525408166204799 0.97735317110040087 0.87216409470284928 1.1597348923655619 0.17408222448223767 5.4588099803130126 1.0023056708553677 1.2351688403888856 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 7 -4 16 -6 9 -2 14 -1 -11 12 -3 -8 -9 -13 -5 -17 right_child=2 11 3 4 5 -7 13 8 -10 10 -12 15 -14 -15 -16 17 -18 -19 leaf_value=-0.0035189084179895946 -0.0010405360462465423 -0.011427296565693868 -0.013173341327719992 0.010391290870736541 -0.0017775818829892038 0.0084117772726366221 -0.011206391041391388 0.012585908342685746 0.00028464072301840146 -0.005308418452320102 0.015132007401519841 -0.010783590198803641 0.00065855775972006468 -0.0016382571076814603 0.01035584461586493 -0.010488239725900518 0.01093827157702932 -0.01034403445852434 leaf_weight=4.6103966943919641 1.3150952681899095 1.7558127567172044 1.8049029931426037 4.7180335335433474 5.4094530455768091 3.2001061029732227 2.2132592648267742 1.9887692630291045 1.5451678074896324 2.9397148005664349 2.4824464693665504 1.6731482557952428 1.6922368630766866 1.0690018236637113 27.113104429095984 1.0713701024651552 0.72837333008646954 27.681026743724942 leaf_count=30 7 19 11 137 39 22 36 13 26 31 17 29 23 24 835 25 12 864 internal_value=0 -0.00753111 0.00743159 0.00318519 0.00528576 0.00200972 -0.00156355 0.00953882 0.00999279 0.000571698 0.00404989 -0.0098768 -0.00549579 -0.00809014 0.0105082 -0.0103733 0.0104644 -0.0103494 internal_weight=0 47.1884 47.823 15.8609 14.056 8.60956 13.3148 31.9621 30.647 10.0326 5.42216 33.8736 3.44805 3.28226 29.1019 30.4255 5.44641 28.7524 internal_count=2200 1098 1102 221 210 61 138 881 874 78 48 960 42 60 848 918 149 889 is_linear=0 shrinkage=0.01 Tree=273 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 0 3 0 12 4 13 12 0 0 4 0 0 split_gain=52.516 10.5756 4.15584 2.42406 2.11184 2.74481 2.07716 1.54187 1.37587 1.0048 0.504021 0.00146642 0.00129931 0.000304453 0.000120157 0.000105502 2.75033e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2471304352583659 1.2748487141050349 5.3969699652511318 0.43963968064395148 0.48592442535881092 5.4588099803130126 1.3317575338410668 1.2148150016890609 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 7 8 -2 10 -4 13 -9 15 -13 -8 -16 right_child=6 3 9 4 -6 -7 11 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0056713180064603373 -0.005580818067788317 -0.0074172522142682933 0.010489370597208635 0.0070836594986748939 -0.0034608167805462988 -0.0038257639760089163 -0.010573238646834474 -0.010941447066970268 0.0071474165231817438 0.0031844303840283029 0.0027208834636701703 -0.010455699366589346 -0.010418779250159152 -0.010712223651258408 -0.010396820228736961 -0.010431111117785184 -0.010337199749175194 leaf_weight=1.8095408305525769 1.797572843730449 3.493608262389901 32.474275294691324 8.4854776822030562 5.3703748658299437 3.1670338287949553 1.0422422327101264 1.123765582218766 1.6098125986754892 2.1167577542364588 0.8572181798517694 0.91105170547962444 0.82463866844773281 1.028085723519325 0.79711295105517166 1.0468839630484579 26.384284039959311 leaf_count=9 23 34 956 75 35 18 21 18 19 35 8 23 22 18 22 27 837 internal_value=0 0.00593583 0.00911072 0.000170256 0.00172744 0.00411859 -0.00937823 -0.00362473 0.000432612 0.0098653 0.0102896 -0.0103656 -0.0107202 -0.0105713 -0.0103427 -0.010502 -0.0103389 internal_weight=0 57.7743 37.2578 20.5165 17.0229 11.6525 36.5655 5.35579 3.40739 35.4483 33.3315 31.2097 1.9484 3.11721 28.0924 2.08913 27.1814 internal_count=2200 1170 1008 162 128 93 1030 82 42 999 964 948 40 66 882 48 859 is_linear=0 shrinkage=0.01 Tree=274 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 13 12 0 0 4 0 0 split_gain=51.8695 10.504 4.11948 2.37813 2.08108 2.07294 2.69584 1.52955 1.34662 1.0075 0.505753 0.00142172 0.00126002 0.000295114 0.000116514 0.000102244 2.66653e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 0.48592442535881092 5.4588099803130126 1.3317575338410668 1.2148150016890609 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0056057919450702509 -0.0055498790481600113 -0.0073491974147782699 0.010484769078660246 0.0070271843448115601 -0.010567231845719491 -0.0034304039523256709 -0.003788763571667558 -0.010931575756296724 0.0070378542083459781 0.0031591965722478966 0.0026971384559137052 -0.010450980758275092 -0.010414449792299267 -0.010704718359080101 -0.01039272019042416 -0.010426649105889982 -0.010333732254346724 leaf_weight=1.8123714327812184 1.789558190852403 3.4907146617770222 32.165191445499659 8.4682229310274142 1.0324553661048446 5.3638402745127669 3.1659882813692084 1.113583570346236 1.6184807308018205 2.1123506240546694 0.85612283274531265 0.90239178016782062 0.81677109375596035 1.0185661576688287 0.78949133493006485 1.0369086340069769 26.130478080362082 leaf_count=9 23 34 956 75 21 35 18 18 19 35 8 23 22 18 22 27 837 internal_value=0 0.0059115 0.00909616 0.000168799 -0.00936605 0.00171269 0.00408387 -0.00360045 0.000428047 0.00985457 0.0102829 -0.0103618 -0.0107128 -0.0105654 -0.0103392 -0.0104968 -0.0103355 internal_weight=0 57.4348 36.946 20.4888 36.2487 16.9981 11.6342 5.33839 3.40804 35.1337 33.0213 30.9103 1.93035 3.08793 27.8224 2.06936 26.92 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 48 859 is_linear=0 shrinkage=0.01 Tree=275 num_leaves=16 num_cat=0 split_feature=1 12 0 3 0 12 0 2 0 0 12 3 3 4 0 split_gain=51.239 6.63708 5.28208 4.4501 2.04462 3.69936 1.61941 1.17444 2.3345 0.951968 0.00487802 0.0013523 0.000561306 0.000111339 2.50651e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 1.1427926010382323 4.7089134508189288 0.61313736928646123 1.2393449613922758 0.37470171316558165 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 11 -5 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 -12 -13 13 14 -16 leaf_value=-7.0553312193775402e-05 -0.011489316777669139 -0.010548681611199791 -0.0091471025210936047 0.01064101552835205 0.010012273814597669 -0.0052039113315108607 0.0037853883777083049 0.0059207376568179843 0.0079881166635479978 -0.0019474481401217118 0.011199675258225654 0.010345595012017251 -0.010446313087557432 -0.010388664011588219 -0.010331209355118096 leaf_weight=4.6559560149908057 2.207280624657872 1.3051238339394355 2.5526756942272169 1.6328607797622705 2.4662012830376616 9.9474543556570989 2.5096193775534621 2.9230060949921608 1.9919936023652556 1.8693271875381468 0.70832668617367645 30.352353096008301 0.89381003566086548 0.78193943016231315 26.235266458243132 leaf_count=25 16 30 21 37 14 116 25 16 24 16 8 960 23 22 847 internal_value=0 -0.00744828 0.00739446 0.00907624 -0.00250626 -0.00117759 -0.00339291 0.00066709 -0.00172712 0.00317815 0.0103789 0.0103607 -0.010346 -0.0103365 -0.0103329 internal_weight=0 46.3467 46.6865 37.3495 17.1306 14.9233 12.4571 9.337 6.414 3.86132 32.6935 31.9852 29.2161 27.911 27.0172 internal_count=2200 1093 1107 1030 171 155 141 77 61 40 1005 997 922 892 869 is_linear=0 shrinkage=0.01 Tree=276 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 13 12 0 0 4 0 0 split_gain=50.649 10.3535 4.07937 2.33166 2.09129 2.03019 2.6445 1.52092 1.31926 1.01658 0.507336 0.00141472 0.00124875 0.000332351 0.00010956 0.00010206 2.50655e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 0.48592442535881092 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0055461835201624822 -0.0054962030113861549 -0.0072888591547108309 0.010478234459908149 0.006980268959959457 -0.01055912893114933 -0.003396279325197051 -0.0037432578696086349 -0.010924800291375441 0.0069789032369599029 0.0030866313571760169 0.0026635169879535058 -0.010441695487611714 -0.010405883824971516 -0.010711426706129646 -0.01038465115954209 -0.010418852276975031 -0.010326907537634947 leaf_weight=1.8145780414342869 1.7750502265989774 3.4783478416502502 31.578897960484028 8.4230579845607298 1.0187349580228362 5.3479066565632811 3.1633495837450019 1.1010809633880851 1.622587952762842 2.0958406440913668 0.85319348052143951 0.8853058554232146 0.80117992684245098 0.97651729732751835 0.77445665746927517 1.0565954484045503 25.629880974069238 leaf_count=9 23 34 956 75 21 35 18 18 19 35 8 23 22 17 22 28 837 internal_value=0 0.00586742 0.00906841 0.000168415 -0.00934272 0.00170016 0.00405251 -0.0035469 0.000461452 0.00983646 0.0102727 -0.0103551 -0.0107062 -0.0105593 -0.0103323 -0.0104877 -0.0103286 internal_weight=0 56.7552 36.3425 20.4127 35.6414 16.9343 11.5864 5.2999 3.39764 34.5279 32.4321 30.3415 1.90226 3.05185 27.2896 2.07533 26.4043 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=277 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 13 12 0 0 4 0 0 split_gain=50.0243 10.2829 4.04391 2.28743 2.09501 1.99275 2.59725 1.50866 1.29128 1.01915 0.509034 0.0013716 0.00121102 0.000322137 0.000106242 9.89122e-05 2.43022e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 0.48592442535881092 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0054824215678606712 -0.0054654290968927047 -0.0072218215634099973 0.010473744296216702 0.0069244409824310571 -0.010553277519424944 -0.0033663723579597355 -0.0037070428252785172 -0.010915117182233314 0.0068729378124196506 0.0030619777976500966 0.0026402008001017046 -0.010437127558530502 -0.010401692088072614 -0.010703924587857206 -0.010380680935022375 -0.010414522114519251 -0.010323549158484191 leaf_weight=1.8173114284872998 1.7672338671982282 3.4755439348518875 31.278019724413753 8.4061440024524945 1.0091548152267966 5.3414956033229819 3.1623159535229197 1.0910872630774973 1.6310854665935037 2.091609649360179 0.85212633013725181 0.87687860429287212 0.79352611117064942 0.9674750082194804 0.76704246364534157 1.0465149097144602 25.383071171119809 leaf_count=9 23 34 956 75 21 35 18 18 19 35 8 23 22 17 22 28 837 internal_value=0 0.00584307 0.00905376 0.000166971 -0.00933047 0.00168561 0.00401825 -0.00352299 0.000456596 0.00982569 0.010266 -0.0103515 -0.0106989 -0.0105535 -0.0103289 -0.0104826 -0.0103252 internal_weight=0 56.4246 36.0391 20.3855 35.3331 16.91 11.5685 5.28293 3.39832 34.2218 32.1301 30.0501 1.88461 3.02314 27.027 2.05567 26.1501 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=278 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 12 12 0 0 4 0 0 split_gain=49.407 10.2126 4.00889 2.24401 2.09866 1.95599 2.55082 1.49649 1.26399 1.0217 0.656722 0.00132982 0.00117445 0.000312241 0.000103024 9.58631e-05 2.35623e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0054195460999426417 -0.0054347188791810221 -0.007155288958058603 0.010469581907301205 0.0068689715330860776 -0.010547490209224814 -0.0033367000147551192 -0.0036711755557065702 -0.010905540446906474 0.0067691833826325097 0.0030374753304540539 0.00044568819648144897 -0.010432608486073349 -0.010397545287215848 -0.010696506005635287 -0.010376753353320185 -0.010410238321856126 -0.010320226610281256 leaf_weight=1.8199975267052639 1.7594867721199983 3.4727962277829674 31.163363320752982 8.3893711380660552 0.99965900927782403 5.3351382091641417 3.1612847298383704 1.0811745934188364 1.6394824534654615 2.0874184630811206 0.66759622097015281 0.86852767877280967 0.78594216518104065 0.95850946381688107 0.75969626195729034 1.0365261286497114 25.13855586014688 leaf_count=9 23 34 960 75 21 35 18 18 19 35 4 23 22 17 22 28 837 internal_value=0 0.00581871 0.00903907 0.000165537 -0.0093182 0.00167117 0.00398425 -0.00349919 0.000451796 0.0098149 0.0102593 -0.0103478 -0.0106917 -0.0105477 -0.0103255 -0.0104776 -0.0103219 internal_weight=0 56.097 35.7384 20.3586 35.0276 16.8858 11.5507 5.26609 3.39897 33.9184 31.831 29.7615 1.86712 2.99469 26.7668 2.03619 25.8983 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=279 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 12 12 0 0 4 0 0 split_gain=48.7972 10.143 3.97444 2.20139 2.10224 1.91988 2.50518 1.48441 1.23735 1.02429 0.656485 0.00128931 0.00113899 0.000302652 9.99056e-05 9.29093e-05 2.28453e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0053575406163510406 -0.0054040738730916473 -0.0070892595253902457 0.010465168868831847 0.0068138587561228769 -0.010541766446163737 -0.0033072605142042588 -0.0036356528322806516 -0.010896069193389087 0.0066675742469830017 0.0030131237180266702 0.00044130097929745942 -0.010428138084841687 -0.010393442702345712 -0.010689169714296849 -0.01037286769158186 -0.010406000541759665 -0.010316939034225496 leaf_weight=1.8226372823119152 1.7518084160983556 3.4701039940118816 30.866228220984343 8.3727386519312876 0.99024692550301896 5.3288342505693427 3.1602561250329009 1.0713425204157827 1.6477802880108354 2.0832664649933568 0.6674913577735414 0.86025246232748287 0.77842750400304783 0.94962017238140095 0.75241748616099613 1.0266283527016637 24.896314814686775 leaf_count=9 23 34 960 75 21 35 18 18 19 35 4 23 22 17 22 28 837 internal_value=0 0.00579442 0.00902456 0.000164114 -0.00930591 0.00165683 0.0039505 -0.0034755 0.000447053 0.00980433 0.010253 -0.0103443 -0.0106846 -0.010542 -0.0103221 -0.0104727 -0.0103186 internal_weight=0 55.7716 35.4396 20.3319 34.7248 16.8618 11.533 5.24936 3.39959 33.617 31.5337 29.4755 1.84977 2.9665 26.509 2.01688 25.6487 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=280 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 12 12 0 0 4 0 0 split_gain=48.1945 10.0737 3.94041 2.15954 2.10576 1.88443 2.46034 1.47241 1.21135 1.02684 0.656248 0.00125006 0.00110461 0.000293362 9.68821e-05 9.0048e-05 2.21506e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0052963890403670815 -0.0053734937556312833 -0.0070237331455996477 0.01046079630649847 0.006759101799713685 -0.010536105547847095 -0.0032780528223813679 -0.0036004708362419296 -0.010886701985149436 0.0065680476534198699 0.002988923226328895 0.00043695527109014208 -0.010423715480947409 -0.010389383809596196 -0.010681915100312149 -0.010369023800906896 -0.010401808071143548 -0.010313686141958779 leaf_weight=1.8252314925193776 1.7441982589662068 3.4674663171172169 30.571814009919766 8.356245609000327 0.98091791942715945 5.3225833140313616 3.159230262041091 1.0615905579179523 1.6559802554547784 2.0791534986346951 0.66738748922943969 0.85205235518515365 0.77098160050809372 0.94080661237239827 0.74520559608936565 1.0168208330869672 24.656326266005635 leaf_count=9 23 34 960 75 21 35 18 18 19 35 4 23 22 17 22 28 837 internal_value=0 0.00577012 0.00901002 0.000162701 -0.00929359 0.00164261 0.00391699 -0.00345194 0.000442365 0.00979375 0.0102466 -0.0103407 -0.0106775 -0.0105363 -0.0103188 -0.0104678 -0.0103153 internal_weight=0 55.4491 35.1436 20.3055 34.4249 16.8381 11.5155 5.23275 3.40018 33.3184 31.2392 29.1921 1.83257 2.93855 26.2536 1.99774 25.4015 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=281 num_leaves=15 num_cat=0 split_feature=1 12 0 3 0 12 0 2 1 12 3 3 4 0 split_gain=47.6022 6.53059 5.09938 4.4617 2.04512 3.53531 1.65515 1.20863 2.45356 0.00452112 0.00129246 0.000582249 0.000135351 2.05957e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 0.96155453354879217 4.7089134508189288 0.61313736928646123 1.2351688403888856 0.37337168479852062 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 10 -5 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 -11 -12 12 13 -15 leaf_value=-0.00019001090995870811 -0.011464035040564199 -0.010551205910342133 0.0074434312999450605 0.010622140940231894 0.0099211837039703127 -0.0051215763480667717 0.0040416267634594662 0.0060074074028728134 -0.0059791962660646503 0.011161338486673635 0.01032670134248726 -0.010444341847322161 -0.010365220624893532 -0.010311619317068412 leaf_weight=4.6046947687864295 2.1802148558199432 1.10754372738302 1.9799220487475375 1.5612715110182822 2.4346232861280432 9.77200850099325 2.4693974368274203 2.8966436758637428 4.3622783310711384 0.68869199231266875 28.709078811109066 0.811376783996823 0.73806001991033809 24.941465439274907 leaf_count=25 16 26 27 37 14 116 25 16 34 8 960 21 22 853 internal_value=0 -0.00733117 0.00727462 0.00899416 -0.00242684 -0.00108431 -0.00327313 0.000655473 -0.00178889 0.0103602 0.0103419 -0.0103266 -0.0103172 -0.0103132 internal_weight=0 44.4547 44.8026 35.5637 16.8562 14.676 12.2414 9.23884 6.3422 30.959 30.2704 27.5984 26.4909 25.6795 internal_count=2200 1093 1107 1030 171 155 141 77 61 1005 997 922 896 875 is_linear=0 shrinkage=0.01 Tree=282 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 12 12 0 0 4 0 0 split_gain=47.0567 9.91286 3.90124 2.12187 2.11518 1.84716 2.41368 1.46379 1.18674 1.03565 0.663557 0.00124125 0.00109562 0.000297 9.10945e-05 8.51898e-05 2.0824e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 0.99806827298187695 1.2471304352583659 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 6 -5 8 -2 10 -4 13 -9 15 -13 -6 -16 right_child=4 3 9 5 11 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0052397110829983063 -0.005320299851195625 -0.006968512438906024 0.01045456021145285 0.0067181215515739615 -0.010527759556898369 -0.0032428589570860054 -0.0035515782611009968 -0.010880593047803162 0.0065155496023106864 0.002915474701611514 0.00035926232353374423 -0.010415004174350425 -0.010381351816798603 -0.010677330757507864 -0.010361457984152188 -0.010396220827726801 -0.010307283433987039 leaf_weight=1.8272493556141842 1.7303690128028386 3.4551728069782284 30.008801918476824 8.3186893407255429 0.96715890616178812 5.304627612233161 3.1571317575871936 1.0498197786509988 1.659682512283325 2.0627680867910376 0.66552846133708854 0.83586657419801014 0.75623081624507893 0.9336225502192973 0.73098021745682018 1.0029195398092268 24.183009637519717 leaf_count=9 23 34 960 75 21 35 18 18 19 35 4 23 22 17 22 28 837 internal_value=0 0.0057263 0.00898057 0.000167704 -0.00926992 0.00163708 0.00389281 -0.0033998 0.000474229 0.00977429 0.0102355 -0.0103344 -0.0106716 -0.0105304 -0.0103123 -0.0104608 -0.0103089 internal_weight=0 54.8 34.5643 20.2356 33.8497 16.7804 11.4758 5.1961 3.39005 32.7371 30.6743 28.6536 1.80605 2.9037 25.7499 1.97008 24.914 internal_count=2200 1170 1008 162 1030 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=283 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 12 4 12 12 0 0 4 0 0 split_gain=46.4744 9.84469 3.86805 2.1185 2.08149 1.81301 2.37042 1.45186 1.16186 1.03808 0.663241 0.0012035 0.00106257 0.000287891 8.834e-05 8.25679e-05 2.01909e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 5.3969699652511318 0.43963968064395148 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 8 -2 10 -4 13 -9 15 -13 -5 -16 right_child=3 4 9 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0051801773208606985 -0.0052898947079802342 -0.0069039551671972801 0.010450294341018669 -0.010522251725191048 0.0066639782208894015 -0.0032141584052596257 -0.0035171944021736134 -0.010871399648158376 0.0064191401898105026 0.0028918731230339763 0.00035571598423417375 -0.010410722171325628 -0.010377422272038979 -0.01067020868609039 -0.010357735090071771 -0.010392133621859596 -0.010304132452447774 leaf_weight=1.8297540470957745 1.7229489162564271 3.4526195265352753 29.72227588668466 0.95803421735763838 8.3024956844747084 5.2985059134662142 3.1561209671199313 1.0402484480291603 1.6677225120365617 2.0588270388543597 0.66544351354241271 0.82788824103772896 0.74898829124867905 0.9249467160552739 0.72396565414965408 0.99332889541983604 23.949669172987342 leaf_count=9 23 34 960 21 75 35 18 18 19 35 4 23 22 17 22 28 837 internal_value=0 0.00570199 0.00896592 -0.00925752 0.000166256 0.00162299 0.00385971 -0.00337658 0.000469266 0.00976366 0.0102292 -0.010331 -0.0106646 -0.0105249 -0.0103091 -0.010456 -0.0103057 internal_weight=0 54.486 34.2763 33.5577 20.2097 16.7571 11.4586 5.17991 3.39067 32.4465 30.3877 28.3778 1.78924 2.87631 25.5015 1.95136 24.6736 internal_count=2200 1170 1008 1030 162 128 93 82 42 999 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=284 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=45.8989 9.7768 3.83526 2.12175 2.04186 1.77948 2.32791 1.44002 1.04047 0.967552 0.662925 0.0011669 0.00103053 0.000279067 8.5669e-05 8.00279e-05 1.95776e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.43963968064395148 1.223894463963197 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0051214508014211513 -0.0049392036970412742 -0.0068398952360861224 0.01044606762585825 -0.010516803886139257 0.0066101867018517656 -0.003185684451719465 -0.0034831399255741378 -0.010862306794627359 0.0028684212652849757 0.0057443452942788137 0.00035220279492212051 -0.010406485765262805 -0.010373534586617531 -0.010663165879397888 -0.010354052256190516 -0.010388089858350538 -0.010301014862586097 leaf_weight=1.8322157338261593 1.6760181114077561 3.4501186236739185 29.438381319865588 0.94899049215019038 8.2864390853792447 5.2924361750483504 3.1551133990287772 1.030755618587136 2.0549229998141518 1.7152450270950792 0.66535938531160255 0.81998261250555771 0.74181224778294552 0.91634514927864064 0.71701574884355324 0.98382601886987686 23.718506203964353 leaf_count=9 24 34 960 21 75 35 18 18 35 18 4 23 22 17 22 28 837 internal_value=0 0.00567766 0.00895124 -0.00924509 0.000164819 0.00160901 0.00382686 -0.00335349 0.00975302 0.000464359 0.010223 -0.0103276 -0.0106578 -0.0105194 -0.0103059 -0.0104513 -0.0103026 internal_weight=0 54.175 33.9909 33.2685 20.1841 16.734 11.4416 5.16383 32.1587 3.39126 30.1037 28.1047 1.77257 2.84916 25.2555 1.93282 24.4355 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=285 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=45.3305 9.70922 3.80288 2.12464 2.00295 1.74655 2.28614 1.42822 1.04283 0.947678 0.66261 0.00113143 0.000999458 0.000270515 8.30797e-05 7.7567e-05 1.89833e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.43963968064395148 1.223894463963197 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0050635157122587357 -0.0049101345547128807 -0.0067763310508835899 0.010441880626957471 -0.010511415602147552 0.0065567457559138178 -0.003157436214188996 -0.0034494120550264164 -0.01085331318082767 0.0028451183142163402 0.0056634664943561817 0.00034872502100373812 -0.010402294785980067 -0.010369688169623017 -0.010656200727305701 -0.01035040894379022 -0.010384089310334542 -0.010297930099710988 leaf_weight=1.8346351906657208 1.6691157892346375 3.4476692900061634 29.157093331217773 0.94002709351480296 8.2705184388905781 5.2864181622862807 3.1541091464459887 1.0213408172130582 2.0510557312518349 1.7223068699240682 0.66527607664465804 0.81214909069240349 0.73470214754343022 0.90781738236546505 0.71012995578348892 0.9744101595133543 23.489502081647515 leaf_count=9 24 34 960 21 75 35 18 18 35 18 4 23 22 17 22 28 837 internal_value=0 0.00565333 0.00893652 -0.00923274 0.000163393 0.00159513 0.00379425 -0.00333075 0.00974236 0.000459584 0.0102167 -0.0103242 -0.010651 -0.010514 -0.0103028 -0.0104466 -0.0102995 internal_weight=0 53.8668 33.7081 32.9815 20.1587 16.711 11.4246 5.14747 31.8734 3.39142 29.8224 27.834 1.75604 2.82225 25.0118 1.91444 24.1996 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=286 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=44.7687 9.64192 3.7709 2.12747 1.96475 1.71421 2.24508 1.41651 1.04516 0.928255 0.662294 0.00109704 0.000969332 0.000262229 8.05674e-05 7.51827e-05 1.84058e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.43963968064395148 1.223894463963197 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0050063590473336458 -0.0048811351499003222 -0.0067132618955710989 0.010437731405420715 -0.010506086136802264 0.0065036538262294129 -0.0031294118393879163 -0.0034160074622812098 -0.01084441783022738 0.0028219643903334289 0.0055840897933923687 0.00034528063586192084 -0.010398148239850465 -0.010365882477322523 -0.010649312764604407 -0.01034680333512168 -0.010380131594982951 -0.010294878797853914 leaf_weight=1.8370131477713574 1.6622763648629182 3.4452707096934345 28.878392396494753 0.93114341422915747 8.2547330893576163 5.2804513722658148 3.1531082652509204 1.0120035931468008 2.0472248867154113 1.7292858660221098 0.66519355028867622 0.80438710935414093 0.72765744850039471 0.89936286769807328 0.70330779626965778 0.96508060395717621 23.262636626139283 leaf_count=9 24 34 960 21 75 35 18 18 35 18 4 23 22 17 22 28 837 internal_value=0 0.00562898 0.00892176 -0.00922037 0.000161977 0.00158136 0.00376188 -0.00330812 0.00973168 0.000454862 0.0102105 -0.0103209 -0.0106443 -0.0105087 -0.0102997 -0.010442 -0.0102964 internal_weight=0 53.5614 33.4278 32.6971 20.1336 16.6883 11.4078 5.13122 31.5908 3.39156 29.5436 27.5659 1.73966 2.79559 24.7703 1.89622 23.9659 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 964 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=287 num_leaves=15 num_cat=0 split_feature=1 12 0 3 0 12 0 2 1 12 3 3 4 0 split_gain=44.222 6.41625 4.91515 4.47081 2.04553 3.38334 1.68268 1.23957 2.35997 0.00420681 0.00124664 0.00060933 9.98729e-05 1.76371e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 0.96155453354879217 4.7089134508189288 0.61313736928646123 1.2351688403888856 0.37470171316558165 1.180079175726781 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 10 -5 -3 -13 -14 right_child=1 11 7 9 5 6 -8 -9 -10 -11 -12 12 13 -15 leaf_value=-0.00030795185431837515 -0.011443524471638933 -0.010542866544569589 0.0073428304274412801 0.01060587878755846 0.0098349506587436623 -0.0050423281496188768 0.0042675436655574663 0.0060899020992216911 -0.0059406596527463917 0.011126140695361473 0.010309117865251058 -0.010405073504862413 -0.010336695660479001 -0.010292934216447319 leaf_weight=4.5531287193298331 2.1542231403291252 1.0630596671253467 1.9339534416794757 1.4934072662144959 2.4034305661916724 9.6039636526256782 2.4332760460674754 2.8712246939539909 4.3363810293376446 0.67008388787507911 27.155527206137776 0.84817234240472572 0.95904575102031486 23.195319700986147 leaf_count=25 16 26 27 37 14 116 25 16 34 8 960 24 31 841 internal_value=0 -0.00721395 0.00715509 0.00891121 -0.00235353 -0.000997502 -0.00316038 0.000648161 -0.00184365 0.0103429 0.0103246 -0.0103084 -0.0102984 -0.0102947 internal_weight=0 42.6605 43.0137 33.8721 16.5949 14.4407 12.0372 9.14156 6.27033 29.319 28.6489 26.0656 25.0025 24.1544 internal_count=2200 1093 1107 1030 171 155 141 77 61 1005 997 922 896 872 is_linear=0 shrinkage=0.01 Tree=288 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=43.709 9.48605 3.73314 2.13582 1.93077 1.68061 2.20274 1.40786 1.17891 1.16204 0.521859 0.00108977 0.000962111 0.000265546 7.57661e-05 7.11193e-05 1.73076e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0049522900007909817 -0.0051848055466951828 -0.0066607395925440431 0.010192494704069483 -0.010498258086268548 0.0064644495511006553 -0.0030958980376188366 -0.0033694996386690315 -0.010838898643915984 -0.0044031629721071538 0.0065462535211036421 0.0018790326168175212 -0.010389983331692103 -0.010358346777651392 -0.010645102570522267 -0.010339710549981658 -0.010374898847131966 -0.010288870347333905 leaf_weight=1.8388582915067662 1.747014977037906 3.4332265891134766 29.685407610610135 0.91809375397861293 8.2182690296322125 5.2630031742155543 3.1511058770120135 1.0009173136204479 0.58064537867903609 1.6343158856034277 0.77478019893169303 0.78906730748713272 0.71369459107518185 0.89262623898684967 0.6898562796413924 0.9519269336014986 22.815221613273025 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 17 22 28 837 internal_value=0 0.00558517 0.00889184 -0.00919647 0.000166822 0.00157616 0.0037389 -0.00325766 0.00971197 0.000485227 0.00998103 -0.010315 -0.0106389 -0.0105032 -0.0102936 -0.0104355 -0.0102904 internal_weight=0 52.9453 32.8797 32.1527 20.0656 16.6324 11.3694 5.09594 31.0408 3.38133 30.4602 27.0568 1.71461 2.76265 24.2941 1.87002 23.5051 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=289 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=43.1658 9.41887 3.70161 2.13835 1.89392 1.64946 2.16314 1.3962 1.17117 1.13773 0.52258 0.00105668 0.00093313 0.000257419 7.34779e-05 6.89353e-05 1.67825e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.2177396959094298 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.00489662347336557 -0.0051553405433140157 -0.0065986144627258724 0.010185042240023879 -0.010493071768656966 0.0064119557923094234 -0.0030683621326141343 -0.0033368524183240269 -0.010830164157977091 -0.0043468836406227599 0.0064507137438377963 0.0018616972809175839 -0.010385968030317792 -0.010354661722671663 -0.01063833830244176 -0.01033621906682233 -0.010371039041680885 -0.010285913514978838 leaf_weight=1.8411538004875172 1.7394679076969652 3.430906247347596 29.411429630592473 0.90940558910370162 8.2027735151350516 5.2571611367166033 3.1501214243471614 0.99175321310758568 0.58227312937378783 1.6418977081775663 0.77417762577533622 0.78151646070182579 0.70684340596199036 0.88430356793105591 0.68322165496647613 0.94280409254133701 22.594667186960578 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 17 22 28 837 internal_value=0 0.0055606 0.00887642 -0.00918404 0.000165373 0.00156251 0.00370693 -0.00323548 0.0097006 0.000480239 0.00997157 -0.0103118 -0.0106323 -0.010498 -0.0102906 -0.010431 -0.0102874 internal_weight=0 52.65 32.609 31.8759 20.041 16.6101 11.3529 5.07996 30.7679 3.38137 30.1856 26.7959 1.6986 2.73651 24.0594 1.85221 23.2779 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 49 859 is_linear=0 shrinkage=0.01 Tree=290 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=42.6289 9.35198 3.67045 2.14081 1.85775 1.61887 2.12423 1.38463 1.16353 1.114 0.523285 0.00102461 0.000905026 0.000302244 7.12604e-05 7.06841e-05 1.62736e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0048416943119871424 -0.005125936642376012 -0.0065369788152381449 0.010177595527674855 -0.010487941476542384 0.0063598075361835085 -0.0030410459255892862 -0.0033045178620179183 -0.010821524537455288 -0.0042914886660433043 0.0063570569404243415 0.0018445105373938581 -0.01038199559636587 -0.010351015877635107 -0.010654230641499967 -0.010332764354281772 -0.010365742521667611 -0.010282987280840029 leaf_weight=1.8434100225567807 1.7319892160594492 3.4286344833672073 29.139980318024762 0.90079505182802966 8.1874105799943226 5.2513692639768115 3.1491407118737689 0.98266508989036061 0.5838831439614286 1.6493884474039076 0.77358027547597785 0.77403482049703853 0.7000554520636797 0.81226122006773938 0.67664849385619419 0.99755663238465786 22.376179542392492 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00553603 0.00886096 -0.00917159 0.000163934 0.00154898 0.00367519 -0.00321341 0.00968921 0.000475306 0.0099621 -0.0103086 -0.0106258 -0.0104928 -0.0102876 -0.0104237 -0.0102844 internal_weight=0 52.3574 32.3409 31.6016 20.0166 16.5879 11.3366 5.0641 30.4974 3.38138 29.9136 26.5375 1.68272 2.71061 23.8269 1.89835 23.0528 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=291 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=42.0984 9.28539 3.63966 2.14321 1.82224 1.58884 2.08599 1.37315 1.15599 1.09082 0.523974 0.000993465 0.000877776 0.000292958 6.91079e-05 6.85154e-05 1.57794e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0047874881126965495 -0.0050965943535317623 -0.0064758305261952099 0.010170153674125364 -0.010482867329476097 0.0063080034102186633 -0.0030139475383183434 -0.0032724929083536355 -0.010812979141628589 -0.004236959159317673 0.0062652316579181336 0.0018274712259920454 -0.010378065396146306 -0.010347408678435633 -0.010647352730497533 -0.010329346551899751 -0.010361980241170209 -0.010280093447040976 leaf_weight=1.8456278592348088 1.7245783694088488 3.426410578191283 28.871037591248758 0.89226152934134295 8.1721794996410626 5.2456272877752772 3.1481638550758353 0.97365241870284058 0.58547568693756957 1.6567892655730245 0.77298813685774703 0.76662179641425865 0.693330192938447 0.80469596758484829 0.67013629339635628 0.9879875872284174 22.159738520160317 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00551146 0.00884545 -0.0091591 0.000162507 0.00153554 0.00364369 -0.00319145 0.00967779 0.000470429 0.00995261 -0.0103054 -0.0106193 -0.0104877 -0.0102847 -0.0104193 -0.0102815 internal_weight=0 52.0675 32.0751 31.3298 19.9924 16.566 11.3203 5.04835 30.2295 3.38137 29.644 26.2814 1.66698 2.68495 23.5965 1.88025 22.8299 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=292 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=41.5741 9.21908 3.60923 2.14555 1.78739 1.55935 2.04841 1.36176 1.14854 1.06819 0.524646 0.000963291 0.000851352 0.000283962 6.70229e-05 6.64142e-05 1.53014e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0047339930102497938 -0.0050673144479264198 -0.0064151688974108546 0.010162716312217457 -0.010477847959914481 0.0062565422522693915 -0.0029870659631872714 -0.0032407745851036275 -0.010804526537964723 -0.0041832773236596382 0.0061751878077713138 0.0018105785609583216 -0.010374176956449186 -0.010343839836434379 -0.01064055104828265 -0.010325965040901089 -0.010358257507112206 -0.010277228543535797 leaf_weight=1.8478078916668916 1.7172348350286513 3.4242335744202164 28.604579893872149 0.88380443677306464 8.157079307362439 5.2399348132312289 3.1471909619867793 0.96471477858722188 0.5870509073138227 1.6641014292836187 0.7724011167883863 0.75927684828639286 0.68666708283126354 0.79719581454992283 0.66368450038135307 0.97850672341883183 21.94532979093492 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00548688 0.0088299 -0.00914658 0.00016109 0.00152221 0.00361242 -0.0031696 0.00966635 0.000465606 0.00994312 -0.0103023 -0.010613 -0.0104826 -0.0102818 -0.010415 -0.0102787 internal_weight=0 51.7803 31.8118 31.0605 19.9684 16.5442 11.3043 5.03272 29.964 3.38134 29.377 26.0278 1.65138 2.65951 23.3683 1.86231 22.609 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=293 num_leaves=16 num_cat=0 split_feature=1 12 0 3 0 12 0 2 0 1 10 1 3 4 3 split_gain=41.0728 6.29659 4.73619 4.48984 2.04627 3.24162 1.69638 1.26942 2.34352 2.99736 0.00405623 0.00131946 0.000644032 8.25244e-05 1.66225e-05 threshold=1.0652111417665497 5.4588099803130126 1.0188919694060079 0.17408222448223767 1.0015624206341376 4.8980530291692244 1.2509949463117855 1.2396581529761168 1.0691005037898054 0.99689265265511573 2.5000000000000004 0.97125412324232763 1.2351688403888856 0.37470171316558165 1.2537081564319763 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=2 4 3 -1 -2 -6 -7 8 -4 -10 -5 -12 -3 -14 -15 right_child=1 12 7 10 5 6 -8 -9 9 -11 11 -13 13 14 -16 leaf_value=-0.0004401876754582787 -0.011427138690659229 -0.010537405933877112 -0.0094197311040546423 0.011181389460813302 0.0097531210610746627 -0.0049626064330197481 0.0044488713587085612 0.0061682140252172415 0.012454900079043438 -0.0055128865534665077 0.010292961441483171 0.010600881551417632 -0.010380613714071698 -0.010326650853006381 -0.010275839873807337 leaf_weight=4.5004882514476767 2.1292604394257095 1.0205659754574323 2.483473062515257 0.54436007887125271 2.3727068603038779 9.4387851487845165 2.4026900082826605 2.8467434905469418 1.788037780672312 1.9311928562819956 25.764949319884185 1.4710691552609194 0.80058962665498512 0.66313586570322769 22.131367379799485 leaf_count=25 16 26 21 6 14 116 25 16 24 16 965 34 24 23 849 internal_value=0 -0.00709666 0.00703326 0.0088256 -0.00228482 -0.000915313 -0.00305297 0.000639714 -0.0018976 0.00312521 0.0103267 0.0103096 -0.0102915 -0.0102808 -0.0102773 internal_weight=0 40.9591 41.3303 32.2809 16.3434 14.2142 11.8415 9.04945 6.2027 3.71923 27.7804 27.236 24.6157 23.5951 22.7945 internal_count=2200 1093 1107 1030 171 155 141 77 61 40 1005 999 922 896 872 is_linear=0 shrinkage=0.01 Tree=294 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=40.5877 9.06802 3.57239 2.15299 1.75514 1.52588 2.01224 1.35308 1.14728 1.0412 0.531569 0.000957266 0.00084546 0.000286711 6.30336e-05 6.2883e-05 1.43977e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0046820824135107532 -0.005007885602426875 -0.0063628920649888765 0.010151441647705236 -0.010470522764063492 0.0062180784187592297 -0.0029521447410679781 -0.0032049145253341144 -0.010799517664204498 -0.0042157078082134146 0.0061074418481097282 0.0017293539149929405 -0.010366519437737854 -0.010336763291896818 -0.010636589642169823 -0.010319323517497021 -0.010353343062555509 -0.010271589170910889 leaf_weight=1.8495010361075426 1.702429175376895 3.412537373602393 28.092496907338507 0.87145165540278247 8.1187381129711884 5.2216137349605551 3.1437497958540908 0.95425694435834862 0.58524247258901496 1.6688309609889982 0.76995119079947372 0.74478177726269024 0.67344323545694351 0.79175369814038266 0.65098876692354934 0.96517493017017841 21.522491196170449 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00544329 0.008799 -0.00912235 0.000164798 0.00151616 0.0035878 -0.00312065 0.0096457 0.00049439 0.00992677 -0.0102968 -0.0106081 -0.0104775 -0.010276 -0.0104089 -0.010273 internal_weight=0 51.1938 31.2972 30.5456 19.8966 16.4841 11.2625 4.99896 29.4477 3.37126 28.8624 25.5466 1.6277 2.62838 22.9183 1.83663 22.1735 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=295 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=40.0812 9.00275 3.54266 2.15514 1.72154 1.49753 1.97595 1.34177 1.13987 1.01964 0.532149 0.000928211 0.000820023 0.000277914 6.11326e-05 6.09556e-05 1.39615e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0046299676278423133 -0.0049787987127349323 -0.0063031735635072587 0.010144002074889026 -0.010465636967442467 0.006167199102869894 -0.0029257587561561504 -0.0031738401074858725 -0.010791214089364745 -0.0041623912850982363 0.0060204602370608692 0.0017133063381828185 -0.010362753553600003 -0.010333306992387747 -0.010629907828680894 -0.01031604778526553 -0.010349712529669586 -0.010268813949233971 leaf_weight=1.8516047969460512 1.6952872201800375 3.4104308523237732 27.833266975358136 0.86318132095039179 8.1039349455386418 5.2160458192229262 3.1427893079817286 0.94548524171113946 0.58680357038974662 1.675975941121578 0.76939408108591933 0.73763768561184662 0.66696425154805183 0.78436588495969761 0.64471494965255516 0.95590480230748653 21.314069040119648 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00541872 0.00878332 -0.00910972 0.000163358 0.00150297 0.00355694 -0.00309914 0.00963418 0.000489328 0.00991722 -0.0102937 -0.0106018 -0.0104726 -0.0102732 -0.0104047 -0.0102702 internal_weight=0 50.9143 31.0411 30.2836 19.8732 16.4628 11.2467 4.98371 29.1895 3.37126 28.6027 25.2999 1.61245 2.60345 22.6964 1.81909 21.9588 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=296 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=39.5806 8.93777 3.51327 2.15722 1.68856 1.46969 1.94029 1.33054 1.13255 0.998571 0.532713 0.000900047 0.000795356 0.000269391 5.9289e-05 5.90884e-05 1.35386e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0045785286462064765 -0.0049497768669244302 -0.0062439351893854725 0.01013656491084388 -0.01046080431374208 0.006116659310475607 -0.0028995849849519839 -0.0031430630969387901 -0.010783000509788887 -0.0041098981743551049 0.005935128688176361 0.0016973975481627333 -0.010359027214580221 -0.010329887279750727 -0.010623299861720552 -0.010312806674833625 -0.010346120340418815 -0.010266067767835469 leaf_weight=1.8536729365587259 1.6882104091346293 3.4083693027496365 27.576438315212734 0.85498536936939051 8.0892599765211362 5.2105263099074355 3.1418330743908873 0.93678696081042268 0.58834775164723296 1.6830356977879999 0.76884185895323653 0.73055944778025406 0.6605453547090292 0.7770419381558894 0.63849952444434421 0.94672032445669174 21.10760610550642 leaf_count=9 25 34 984 21 75 35 18 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00539414 0.00876758 -0.00909706 0.000161928 0.00148987 0.00352631 -0.00307773 0.00962262 0.000484322 0.00990766 -0.0102907 -0.0105956 -0.0104677 -0.0102704 -0.0104005 -0.0102674 internal_weight=0 50.6373 30.7873 30.024 19.85 16.4416 11.2311 4.96858 28.9336 3.37125 28.3453 25.0554 1.59733 2.57875 22.4767 1.80171 21.7461 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=297 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 1 0 4 0 12 12 0 0 4 0 0 split_gain=39.086 8.87308 3.48422 2.15925 1.6562 1.44235 1.94654 1.3194 1.12532 0.977988 0.533262 0.000872745 0.000771436 0.000261131 5.75018e-05 5.72785e-05 1.3129e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.0556864082208974 1.2748487141050349 0.47071763047048615 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0045277521020138586 -0.0049208214966271107 -0.0061851754753664539 0.010129129506754091 -0.010456023634349648 0.0088536340053284469 -0.0028736219179852909 0.00025653373070570079 -0.010774875997176721 -0.0040582094542243024 0.005851402074772586 0.0016816267013334966 -0.010355340570885153 -0.010326503871950263 -0.010616764468301319 -0.010309600116194419 -0.01034256643066412 -0.010263350198624397 leaf_weight=1.8557060286402727 1.6811981722712546 3.406351841986182 27.321990109980113 0.84686319530010512 4.2260153479874152 5.2050548344850531 6.9895780682563782 0.92816160805523373 0.58987520262598891 1.6900113672018049 0.76829452067613502 0.7235464751720454 0.65418602153658867 0.7697814255952834 0.63234198093414562 0.93762076273560524 20.903088010847569 leaf_count=9 25 34 984 21 56 35 37 18 10 17 5 23 22 15 22 30 837 internal_value=0 0.00536956 0.00875181 -0.00908437 0.000160509 0.00147688 0.00349591 -0.00305643 0.00961104 0.000479371 0.00989808 -0.0102877 -0.0105895 -0.0104628 -0.0102677 -0.0103964 -0.0102647 internal_weight=0 50.3629 30.5359 29.7668 19.827 16.4206 11.2156 4.95356 28.6802 3.37121 28.0903 24.8132 1.58235 2.55427 22.259 1.78448 21.5354 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 989 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=298 num_leaves=19 num_cat=0 split_feature=1 1 0 3 3 2 2 1 13 1 2 4 3 12 2 13 12 4 split_gain=38.6177 8.3959 3.45549 2.14671 1.88964 1.86706 4.56953 1.62342 1.68471 1.45379 1.51888 1.12082 1.04796 0.687653 0.617709 0.00192441 9.1351e-05 2.07915e-05 threshold=1.1660877220710828 0.95282455020400814 0.31415341067031349 1.2471304352583659 1.2351688403888856 1.2626160677949871 1.2750941039804975 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 0.43963968064395148 1.1748853893285929 4.6533632910829281 1.3237289957806808 0.97735317110040087 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 9 -2 -7 -6 -9 10 -3 13 -11 -4 -8 -5 -17 -18 right_child=3 4 11 15 7 6 14 8 -10 12 -12 -13 -14 -15 -16 16 17 -19 leaf_value=-0.0044776274812206715 -0.0097113884986580815 0.0022455202724383817 0.010396189014753488 -0.010647670136267376 -0.011543251481334501 0.016586776051425497 -0.010871794599042707 0.0055831568662681732 -0.0069131590421894233 -0.0030829567885768219 0.013802188279321654 0.002289772404322802 0.0043966922042552739 4.8386522366735242e-05 -0.00054563356189331249 -0.010376209551438722 -0.010320733601872837 -0.010261404612642338 leaf_weight=1.8577046766877199 3.027827043086293 2.8439338933676499 25.816906968131669 1.411192119121554 2.041272845119237 1.2341242879629137 1.5377677846699955 2.1389268189668655 2.1768068429082632 4.770985521376133 1.8950761295855043 1.9535442274063815 3.084079883992672 0.65858688950538535 0.92943795397877682 0.73835859633982437 0.60788335651159542 20.871747896075249 leaf_count=9 30 47 960 29 14 10 30 12 47 30 20 35 19 4 19 22 21 842 internal_value=0 0.00546954 0.00873598 -0.00887052 0.00024926 -0.00388751 0.000876635 -0.0041953 -0.000719842 0.00249271 0.0068669 0.00959943 -0.000146274 0.0101388 -0.00698176 -0.0102896 -0.0102668 -0.0102631 internal_weight=0 49.2378 30.2867 30.3583 18.9511 6.72916 3.70133 6.35701 4.31573 12.5941 4.73901 28.429 7.85507 26.4755 2.46721 23.6292 22.218 21.4796 internal_count=2200 1197 1008 1003 189 89 59 73 59 116 67 999 49 964 49 914 885 863 is_linear=0 shrinkage=0.01 Tree=299 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=38.1397 8.73013 3.42741 2.16038 1.61204 1.39148 1.92075 1.30483 1.12233 0.949381 0.687046 0.000824388 0.000745305 0.000246402 5.40943e-05 5.37898e-05 1.24219e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.43963968064395148 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0044281435730825457 -0.0048735456909897905 -0.00610983963005999 0.010392474256340621 -0.010446859606675114 0.006039613974371129 -0.002814968366945727 -0.0031889031864730682 -0.010764653958132855 0.0022703323131762977 0.0057457868136894762 4.7903626093232928e-05 -0.010348105894885534 -0.010320662647105468 -0.010604524811527998 -0.010303433279038082 -0.010335895573931502 -0.010258017933437866 leaf_weight=1.8596696183085466 1.6696336828172236 3.393935393542054 25.569114958867438 0.83126938343048384 8.038970263674857 5.191330272704362 3.1347636431455603 0.91668269783258416 1.9505837019532908 1.6980944648385046 0.65857524797320266 0.70979431644082325 0.64348224177956581 0.75622969865798939 0.6204872746020581 0.92070753686130047 20.500801268965006 leaf_count=9 25 34 960 21 75 35 18 18 35 17 4 23 22 15 22 30 837 internal_value=0 0.00532477 0.00872069 -0.00905946 0.000162255 0.00146302 0.00345058 -0.00302139 0.00958846 0.000480993 0.0101327 -0.010282 -0.0105815 -0.0104537 -0.0102622 -0.0103885 -0.0102594 internal_weight=0 49.7969 30.0379 29.2672 19.759 16.3651 11.1737 4.92789 28.1783 3.36773 26.2277 24.3393 1.56016 2.50821 21.8311 1.75198 21.1213 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 964 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=300 num_leaves=19 num_cat=0 split_feature=1 1 0 3 2 2 3 1 13 1 2 4 3 12 2 13 12 4 split_gain=37.6949 8.25491 3.39964 2.14562 1.84775 4.438 1.82893 1.60243 1.65172 1.43781 1.50656 1.1238 1.02379 0.686442 0.616108 0.00184645 8.58634e-05 1.95521e-05 threshold=1.1660877220710828 0.95282455020400814 0.31415341067031349 1.2471304352583659 1.2626160677949871 1.2750941039804975 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 0.43963968064395148 1.1748853893285929 4.6533632910829281 1.3237289957806808 0.97735317110040087 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 13 -11 -4 -7 -5 -17 -18 right_child=3 6 11 15 5 14 7 8 -10 12 -12 -13 -14 -15 -16 16 17 -19 leaf_value=-0.0043792903441028904 -0.0096752645300169412 0.0022329769491396217 0.010388793557113824 -0.010637588169632199 0.016277573235785433 -0.010860694930500061 -0.011448951626349187 0.0055507379392785985 -0.0068547500473538948 -0.0030661982934737388 0.013783712964076518 0.0022510305381802497 0.0043276940596737304 4.7425569452683413e-05 -0.0005073412737269399 -0.010368479965160495 -0.010314190269257593 -0.010256096139834662 leaf_weight=1.8616014122962976 3.0043873563408878 2.8384505901485699 25.323621802032001 1.3880213014781499 1.2424808628857138 1.5166126582771542 2.0313153341412535 2.1407476291060448 2.1523483023047447 4.7630748003721237 1.8751637022942302 1.9476514067500819 3.0859882272779942 0.65856371819972892 0.92553126998245705 0.72424030862748878 0.59620908647775905 20.468986911699176 leaf_count=9 30 47 960 29 10 30 14 12 47 30 20 35 19 4 19 22 21 842 internal_value=0 0.00542648 0.00870535 -0.00884405 -0.00385478 0.000891148 0.00025457 -0.00413122 -0.000668767 0.0024625 0.00682808 0.00957748 -0.000159168 0.0101267 -0.00693695 -0.0102839 -0.0102614 -0.0102577 internal_weight=0 48.6785 29.7914 29.8665 6.68901 3.68462 18.8871 6.32441 4.2931 12.5627 4.71361 27.9298 7.84906 25.9822 2.44214 23.1775 21.7894 21.0652 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 999 49 964 49 914 885 863 is_linear=0 shrinkage=0.01 Tree=301 num_leaves=19 num_cat=0 split_feature=1 1 0 3 2 2 3 1 13 1 2 4 3 2 12 13 12 4 split_gain=37.2204 8.19485 3.37219 2.14904 1.82426 4.33556 1.79603 1.57708 1.62314 1.41709 1.4957 1.12525 1.00271 0.720035 0.685841 0.00179127 8.32714e-05 1.89637e-05 threshold=1.1660877220710828 0.95282455020400814 0.31415341067031349 1.2471304352583659 1.2626160677949871 1.2750941039804975 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 0.43963968064395148 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 14 -11 -7 -4 -5 -17 -18 right_child=3 6 11 15 5 13 7 8 -10 12 -12 -13 -14 -15 -16 16 17 -19 leaf_value=-0.0043310563004896278 -0.0096373395180670215 0.0022140126341816634 0.010385146493798158 -0.010631002127936584 0.016010573789465896 -0.010863392345581504 -0.011373681594493644 0.0054858448527333693 -0.006823269071702589 -0.0030351548980017918 0.013753729180928024 0.0022318649542586622 0.0042795500753185093 0.00059003528927915969 4.6952297702786529e-05 -0.010364692056325899 -0.010310973777260552 -0.010253482583244742 leaf_weight=1.8635006472468401 2.9861397780478027 2.8341576885432023 25.080408511683352 1.3750573378056312 1.250528119504452 1.5894727092236283 2.024345912039279 2.1443919017910957 2.14071443118155 4.7636704817414284 1.8605325166136024 1.9447470493614663 3.0894801318645477 0.8384117055684327 0.65855228155851264 0.7172947339713599 0.59045990556478756 20.270455973222852 leaf_count=9 30 47 960 29 10 31 14 12 47 30 20 35 19 18 4 22 21 842 internal_value=0 0.00540289 0.00868996 -0.00882958 -0.00383059 0.000883343 0.000252427 -0.00409974 -0.00066343 0.00244084 0.00678727 0.00956646 -0.000157503 -0.00690823 0.0101206 -0.0102811 -0.0102588 -0.0102551 internal_weight=0 48.4045 29.5472 29.6178 6.66455 3.67841 18.8573 6.30945 4.28511 12.5478 4.69469 27.6837 7.85315 2.42788 25.739 22.9533 21.5782 20.8609 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 999 49 49 964 914 885 863 is_linear=0 shrinkage=0.01 Tree=302 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 3 0 0 4 0 12 12 0 0 4 0 0 split_gain=36.7715 8.51614 3.34504 2.16005 1.55684 1.31825 1.9002 1.2874 1.12666 0.91438 0.685242 0.000759008 0.000718288 0.000226431 4.93686e-05 4.89363e-05 1.14721e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2351688403888856 1.1427926010382323 1.2748487141050349 0.43963968064395148 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 7 -3 6 -6 9 10 -2 -4 13 -9 15 -13 -5 -16 right_child=3 4 8 11 5 -7 -8 12 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0042834320960956473 -0.0048091301860399621 -0.0060183001675010641 0.010381532627351435 -0.010433620456415394 0.0059736613695774796 -0.0027249013277230467 -0.0032197812666875155 -0.01075287935745972 0.0022128361799421438 0.0056248365216836705 4.6483186143836885e-05 -0.010337551420622117 -0.010312677806650225 -0.010587008111673681 -0.010294497353584399 -0.010326333081887181 -0.010250233398960515 leaf_weight=1.8653679564595247 1.6538597270846396 3.3714195601642158 24.839454352855689 0.8086343966424494 7.9908088967204112 5.1695478297770014 3.1284385733306408 0.90273252874612786 1.9418703727424134 1.7065687775611875 0.65854097902774711 0.68968021497130649 0.62892367504537106 0.73674390837550152 0.60325938835740345 0.89645633660256863 19.911986785009503 leaf_count=9 25 34 960 21 75 35 18 18 35 17 4 23 22 15 22 30 837 internal_value=0 0.00525868 0.00867453 -0.00902222 0.000167077 0.00144731 0.00338705 -0.00297364 0.00955541 0.000489683 0.0101146 -0.0102736 -0.0105721 -0.0104405 -0.0102543 -0.0103772 -0.0102515 internal_weight=0 48.9654 29.3052 28.5388 19.6602 16.2888 11.1192 4.89208 27.4399 3.36043 25.498 23.6468 1.53166 2.44183 21.2049 1.70509 20.5152 internal_count=2200 1170 1008 1030 162 128 93 82 999 42 964 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=303 num_leaves=19 num_cat=0 split_feature=1 1 0 3 2 2 3 1 13 1 2 4 3 2 12 13 12 4 split_gain=36.3295 8.0565 3.31819 2.14753 1.80526 4.21189 1.73827 1.55671 1.59098 1.40157 1.4836 1.12804 0.979675 0.718601 0.684646 0.00171933 7.8274e-05 1.78343e-05 threshold=1.1660877220710828 0.95282455020400814 0.31415341067031349 1.2471304352583659 1.2626160677949871 1.2750941039804975 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 0.43963968064395148 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 14 -11 -7 -4 -5 -17 -18 right_child=3 6 11 15 5 13 7 8 -10 12 -12 -13 -14 -15 -16 16 17 -19 leaf_value=-0.0042364070892141675 -0.0096013348497819614 0.0022019151597830644 0.010377951581619456 -0.010621259462088459 0.015718187489195887 -0.010853012675052379 -0.01128069040312899 0.005453622206906413 -0.006764701281738973 -0.0030187419185677029 0.013735842828713691 0.002193942821795445 0.0042125684913463766 0.00063108416387042175 4.6019368234731933e-05 -0.010357207317659205 -0.010304635293103246 -0.010248338566025155 leaf_weight=1.8672039136290575 2.9631698131561306 2.8288215938955563 24.600740354508169 1.352491751313212 1.2584894075989725 1.5684219989925625 2.0145661346614352 2.1462011411786079 2.1168685350567102 4.7558293789625168 1.8410313148051498 1.9390211924910534 3.0911999717354774 0.83492526784539212 0.65852978825569053 0.70356375910341995 0.57910950668156402 19.87898775562644 leaf_count=9 30 47 960 29 10 31 14 12 47 30 20 35 19 18 4 22 21 842 internal_value=0 0.00535981 0.00865905 -0.00880295 -0.0037984 0.000897358 0.000257581 -0.00403673 -0.000613505 0.00241132 0.00674902 0.00954434 -0.000170094 -0.00686343 0.0101086 -0.0102756 -0.0102535 -0.0102499 internal_weight=0 47.86 29.0655 29.1392 6.62501 3.66184 18.7945 6.27764 4.26307 12.5169 4.66985 27.1983 7.84703 2.40335 25.2593 22.5142 21.1617 20.4581 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 999 49 49 964 914 885 863 is_linear=0 shrinkage=0.01 Tree=304 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 0 3 0 4 0 12 12 0 0 4 0 0 split_gain=35.8785 8.37975 3.29164 2.16042 1.51522 1.27359 1.27106 1.87296 1.12939 0.888597 0.684052 0.000717374 0.00069498 0.000213765 4.64493e-05 4.59586e-05 1.08587e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2748487141050349 1.2351688403888856 1.1427926010382323 0.43963968064395148 1.2291974961588419 4.6533632910829281 5.4588099803130126 1.3317575338410668 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 -3 9 7 -6 10 -2 -4 13 -7 15 -13 -5 -16 right_child=3 4 8 11 6 12 -8 -9 -10 -11 -12 14 -14 -15 16 -17 -18 leaf_value=-0.0041899717759500557 -0.0047632548466026107 -0.0059445537123903784 0.010374403847367535 -0.010424954946251992 0.0059167915419742201 -0.010743412675003547 -0.0026684500528755717 -0.0032193869027609379 0.0021751851408909869 0.0055295268514758697 4.5559656753299261e-05 -0.010330692651887258 -0.010307269908142212 -0.010575454256130134 -0.010288647560004178 -0.010320022814606809 -0.010245173256104707 leaf_weight=1.8690090477466608 1.6428445614874392 3.3594270050525692 24.364246267825372 0.79374536499381354 7.9599512461572903 0.89182475395500638 5.156253293156623 3.1247296072542667 1.9361991975456465 1.7137048617005346 0.6585187055170526 0.6765530407428767 0.61890005879104137 0.72377938590943802 0.59194427542388695 0.88032339327037334 19.528323976323009 leaf_count=9 25 34 960 21 75 18 35 18 35 17 4 23 22 15 22 30 837 internal_value=0 0.00521354 0.00864352 -0.00899704 0.000168781 -0.00293999 0.00143332 0.00334134 0.00953323 0.000491782 0.0101026 -0.0102681 -0.0105647 -0.0104319 -0.0102492 -0.0103698 -0.0102465 internal_weight=0 48.4283 28.828 28.0619 19.6004 4.86727 16.2409 11.0847 26.959 3.35655 25.0228 23.1947 1.51072 2.39785 20.7968 1.67407 20.1203 internal_count=2200 1170 1008 1030 162 82 128 93 999 42 964 948 40 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=305 num_leaves=19 num_cat=0 split_feature=1 1 0 3 2 2 3 1 13 1 2 4 3 2 12 13 12 4 split_gain=35.4592 7.91998 3.26537 2.14576 1.78639 4.41984 1.68235 1.5366 1.55921 1.38622 1.47163 1.1307 0.957224 0.723524 0.683461 0.00165073 7.35787e-05 1.67725e-05 threshold=1.1660877220710828 0.95282455020400814 0.31415341067031349 1.2471304352583659 1.2626160677949871 1.2727767592850008 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 0.43963968064395148 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 14 -11 -7 -4 -5 -17 -18 right_child=3 6 11 15 5 13 7 8 -10 12 -12 -13 -14 -15 -16 16 17 -19 leaf_value=-0.0041441164704705442 -0.0095654313485296696 0.0021900583878043337 0.010370888419970315 -0.010611728052741194 0.016450165080901139 -0.010833440895130782 -0.011188442454736538 0.0054211545769958036 -0.0067060453133193886 -0.0030023879101023416 0.013718235416904987 0.0021565620464069177 0.0041467608233993133 0.00067166377049078269 4.5105182801664379e-05 -0.010349881070331817 -0.01029842934704975 -0.010243301414342995 leaf_weight=1.8707840368151689 2.9404790736734894 2.82357349060476 24.129954101517804 1.3303105887025619 1.2185579650104048 1.5953409168869259 2.0048973262310019 2.1480238884687424 2.0934350360184908 4.7480549886822701 1.8217808026820419 1.9334041289985169 3.0928098820149899 0.83149256743490685 0.65850774198770423 0.69008587673306721 0.56797045096755283 19.494882019236684 leaf_count=9 30 47 960 29 9 32 14 12 47 30 20 35 19 18 4 22 21 842 internal_value=0 0.00531672 0.00862793 -0.00877622 -0.00376655 0.000910995 0.000262616 -0.00397441 -0.000564405 0.00238223 0.00671109 0.0095221 -0.000182424 -0.00689151 0.0100966 -0.0102702 -0.0102484 -0.0102449 internal_weight=0 47.3252 28.5927 28.6691 6.58587 3.64539 18.7326 6.24636 4.24146 12.4862 4.64535 26.7219 7.84086 2.42683 24.7885 22.0832 20.7529 20.0629 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 999 49 50 964 914 885 863 is_linear=0 shrinkage=0.01 Tree=306 num_leaves=19 num_cat=0 split_feature=1 1 0 3 2 2 3 1 13 1 2 4 3 2 12 13 12 4 split_gain=35.0117 7.86168 3.23939 2.14834 1.76345 4.31901 1.652 1.51221 1.53209 1.36609 1.46102 1.13199 0.937564 0.719535 0.682873 0.00160147 7.13601e-05 1.62685e-05 threshold=1.1660877220710828 0.95282455020400814 0.31415341067031349 1.2471304352583659 1.2626160677949871 1.2727767592850008 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 0.43963968064395148 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 14 -11 -7 -4 -5 -17 -18 right_child=3 6 11 15 5 13 7 8 -10 12 -12 -13 -14 -15 -16 16 17 -19 leaf_value=-0.0040988320676330972 -0.0095276240111994322 0.0021713908725138425 0.010367405299541825 -0.010605423743175531 0.016187393278768513 -0.010824951565818895 -0.01111444330565136 0.0053580649551645291 -0.0066745408282575611 -0.0029719931529927123 0.013688791950651485 0.0021380733552530742 0.0041009063339861223 0.00066459421129924136 4.465436361240975e-05 -0.010346290380016601 -0.01029537915107046 -0.010240821568089338 leaf_weight=1.8725292757153535 2.9227152094244984 2.8193904589861649 23.897843459621079 1.3178527988493467 1.225918170064688 1.5806994717568161 1.998097602277993 2.1515650823712349 2.0823388732969761 4.7486448511481285 1.8075138628482816 1.9306358154863108 3.0961016081273556 0.83193231001496304 0.65849688649177451 0.6834553331136729 0.56248482316732662 19.30555509403348 leaf_count=9 30 47 960 29 9 32 14 12 47 30 20 35 19 18 4 22 21 842 internal_value=0 0.00529312 0.0086123 -0.00876181 -0.00374321 0.000903195 0.000260398 -0.00394387 -0.000559869 0.00236124 0.0066707 0.00951093 -0.000180518 -0.00686309 0.0100906 -0.0102675 -0.0102458 -0.0102424 internal_weight=0 47.0632 28.3595 28.4306 6.56127 3.63855 18.7037 6.232 4.2339 12.4717 4.6269 26.487 7.84475 2.41263 24.5563 21.8693 20.5515 19.868 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 999 49 50 964 914 885 863 is_linear=0 shrinkage=0.01 Tree=307 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 0 3 0 4 0 12 0 12 0 4 0 0 split_gain=34.5883 8.17208 3.2137 2.15917 1.46321 1.25446 1.20369 1.85313 1.13324 0.856023 0.682286 0.000667407 0.000661221 0.000196625 4.23997e-05 4.18147e-05 1.00355e-05 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2748487141050349 1.2351688403888856 1.1427926010382323 0.43963968064395148 1.2291974961588419 4.6533632910829281 1.3317575338410668 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 -3 9 7 -6 10 -2 -4 -7 13 15 -14 -5 -16 right_child=3 4 8 12 6 11 -8 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=-0.0040541099642332221 -0.0047028569656088863 -0.0058548387989878015 0.010363953894566267 -0.01041245014324628 0.0058525598040939601 -0.010731674169237693 -0.0025815495733350451 -0.0032496825028129053 0.0021197183210992167 0.0054111250046831715 4.4209067265869656e-05 -0.010299896483280748 -0.010320687723257624 -0.010558951587605503 -0.010280174923076946 -0.010310994446056612 -0.010237787798797375 leaf_weight=1.8742453902959848 1.6281849108636408 3.3376107104122665 23.667895570397384 0.77215283177793315 7.9126149788498896 0.87633572891354539 5.1350333653390399 3.1181278713047504 1.9278939217329014 1.7217790931463239 0.65848612785339256 0.60523131117224693 0.6573571097105767 0.70516395941376675 0.57550761476159351 0.85722526907920837 18.966828914359212 leaf_count=9 25 34 960 21 75 18 35 18 35 17 4 22 23 15 22 30 837 internal_value=0 0.00514758 0.00859662 -0.00895946 0.000173232 -0.00289323 0.0014178 0.00327957 0.00949974 0.000495421 0.0100846 -0.0105553 -0.0102601 -0.0104194 -0.0102417 -0.0103591 -0.010239 internal_weight=0 47.6319 28.1285 27.3658 19.5034 4.83153 16.1658 11.0307 26.2543 3.34996 24.3264 1.48157 22.5342 2.33454 20.1997 1.62938 19.5423 internal_count=2200 1170 1008 1030 162 82 128 93 999 42 964 40 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=308 num_leaves=19 num_cat=0 split_feature=1 1 3 3 2 2 3 1 13 1 2 3 2 12 13 4 12 4 split_gain=34.1721 7.7277 3.18899 2.14576 1.7448 4.19452 1.5988 1.49267 1.50115 1.35119 1.44925 0.916166 0.718056 0.51239 0.00153812 0.000746477 6.70826e-05 1.53005e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2727767592850008 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 -11 -7 15 -5 -4 -16 -18 right_child=3 6 13 14 5 12 7 8 -10 11 -12 -13 -14 -15 16 -17 17 -19 leaf_value=0.00044054354206276002 -0.009491822166550647 0.0021599620388349818 0.010252677643092819 -0.010596211636085222 0.015890451866184933 -0.010815100284323517 -0.011023447289464496 0.0053258074568748124 -0.0066157369082154496 -0.0029559785630701263 0.013671719136237475 0.0040370081362398735 0.00070480718362690503 0.0022094751721527762 -0.010339195280531626 0.010611665571050713 -0.01028936707285783 -0.010235940648632511 leaf_weight=4.1044760197401073 2.9004804491996792 2.8142821248620766 22.382227983325727 1.2962533812969947 1.2335418574512007 1.5595135837793352 1.9886079244315613 2.1533752381801605 2.0594916101545095 4.7409384250640869 1.7886659912765024 3.0975342616438866 0.82854448072612275 0.81834911927580734 0.67034868337214248 0.59462612681090732 0.5516558419913079 18.932248320430517 leaf_count=24 30 47 964 29 9 32 14 12 47 30 20 19 18 6 22 14 21 842 internal_value=0 0.00525003 0.00858089 -0.0087351 -0.00371226 0.000916503 0.000265282 -0.00388261 -0.000511906 0.00233282 0.00663333 -0.000192556 -0.00681823 0.00998503 -0.0102623 0.010262 -0.0102408 -0.0102375 internal_weight=0 46.5426 27.8997 27.9726 6.52208 3.6216 18.6429 6.20147 4.21287 12.4414 4.60295 7.83847 2.38806 23.7952 21.4505 22.9769 20.1543 19.4839 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 49 50 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=309 num_leaves=18 num_cat=0 split_feature=13 1 0 3 3 0 3 0 4 0 12 0 12 0 4 0 0 split_gain=33.7453 8.03851 3.18537 2.15896 1.424 1.23965 1.16034 1.82662 1.14095 0.831605 0.683724 0.000644308 0.00062531 0.00018572 3.98963e-05 3.92726e-05 9.50215e-06 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.99806827298187695 1.2748487141050349 1.2351688403888856 1.1427926010382323 0.43963968064395148 1.2291974961588419 4.6533632910829281 1.3317575338410668 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 -3 9 7 -6 10 -2 -4 -7 13 15 -14 -5 -16 right_child=3 4 8 12 6 11 -8 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=-0.0040199528353472829 -0.0046588902558569187 -0.0057826684537107941 0.010359105101945241 -0.010404253767621085 0.0057969472411527933 -0.010722216236192366 -0.0025272384784005026 -0.0032488566366190609 0.0020515486766383741 0.0053163663568695394 2.1699541554882248e-05 -0.010294801740227993 -0.010314184519657687 -0.010548041009931911 -0.010274625430220589 -0.010305023641511004 -0.010232987137166286 leaf_weight=1.8751368820667291 1.6177700385451346 3.3260343708097961 23.227587923407562 0.75793884135783007 7.8823614567518252 0.8646939694881437 5.1221674419939509 3.1142888106405735 1.9147179275751103 1.7288605831563471 0.65794308483600517 0.59564253874123096 0.64482865668833511 0.69276398234069336 0.56470897048712032 0.84183697961270809 18.600971724838018 leaf_count=9 25 34 960 21 75 18 35 18 35 17 4 22 23 15 22 30 837 internal_value=0 0.00510224 0.00856434 -0.008934 0.000174723 -0.00286027 0.001404 0.00323514 0.00947896 0.000494301 0.0100744 -0.0105479 -0.0102549 -0.0104113 -0.0102368 -0.010352 -0.0102342 internal_weight=0 47.1202 27.6754 26.91 19.4449 4.80697 16.1188 10.9967 25.8002 3.34663 23.8855 1.46034 22.103 2.29254 19.8105 1.59978 19.1657 internal_count=2200 1170 1008 1030 162 82 128 93 999 42 964 40 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=310 num_leaves=19 num_cat=0 split_feature=1 1 3 3 2 2 3 1 13 1 2 3 2 12 13 4 12 4 split_gain=33.3511 7.59436 3.18556 2.14295 1.72628 4.07418 1.54729 1.47338 1.47059 1.33646 1.4376 0.895312 0.716546 0.513732 0.00147769 0.00072806 6.30647e-05 1.43904e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2727767592850008 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 -11 -7 15 -5 -4 -16 -18 right_child=3 6 13 14 5 12 7 8 -10 11 -12 -13 -14 -15 16 -17 17 -19 leaf_value=0.00041104985328429709 -0.0094561094528278263 0.002148758539388191 0.010247675654943625 -0.010587197899916283 0.015602153405564995 -0.010805439144814971 -0.01093316356082475 0.0052933308231151912 -0.0065568513438236465 -0.0029400214870790226 0.013654890412576679 0.0039742248036392985 0.00074456575158290126 0.0021861082115482754 -0.010332250508089794 0.010604243062828292 -0.010283479996336676 -0.010231160447998216 leaf_weight=4.0933537036180523 2.8785157464444664 2.8092563506215829 21.952161002904184 1.2750231027603174 1.2409554496407511 1.5386289935559037 1.9792291708290566 2.1551973894238472 2.0370396133512259 4.7332979217171669 1.7700623646378515 3.0988637879490852 0.82520816847681988 0.8172677680850019 0.65748453326523559 0.58798126317560573 0.54102916829288261 18.565981635823846 leaf_count=24 30 47 964 29 9 32 14 12 47 30 20 19 18 6 22 14 21 842 internal_value=0 0.00520665 0.0085485 -0.00870828 -0.00368163 0.00092944 0.000270053 -0.00382205 -0.000464762 0.0023048 0.00659627 -0.000204339 -0.00677337 0.00997458 -0.0102572 0.010257 -0.010236 -0.0102326 internal_weight=0 46.0337 27.4508 27.5228 6.48331 3.60479 18.5829 6.17147 4.19224 12.4115 4.57932 7.83216 2.36384 23.3574 21.0395 22.5401 19.7645 19.107 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 49 50 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=311 num_leaves=19 num_cat=0 split_feature=1 1 3 3 2 2 3 13 1 2 3 2 12 12 13 4 12 4 split_gain=32.928 7.53662 3.17958 2.14514 1.70399 4.40055 1.5193 1.46024 1.3169 1.42722 0.876962 0.721569 0.515245 0.00276944 0.00143363 0.000706606 6.11644e-05 1.39581e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.2351688403888856 0.81992547120608383 1.0383879925828392 1.1647891567840487 1.1748853893285929 1.3291597159154738 4.6533632910829281 5.2570557121369346 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 8 -8 9 -3 -10 -7 15 -9 -5 -4 -16 -18 right_child=3 6 12 14 5 11 7 13 10 -11 -12 -13 -14 -15 16 -17 17 -19 leaf_value=0.00040700658614664556 -0.0094184051355571067 0.002130379407752102 0.010245160131647403 -0.010581159560043777 0.01667350831957148 -0.010792950380353583 -0.0003837019426432579 -0.011145302009609101 -0.002910260496502743 0.013625942620468788 0.003930525417928211 0.00073668694154376923 0.0021663935716844523 -0.01040393625838496 -0.010328845788315544 0.010598095105941533 -0.010280586196135201 -0.010228807462182131 leaf_weight=4.0926815792918232 2.8612255752086666 2.805178280919792 21.739043705165393 1.2630531769245887 1.1879570819437506 1.58437323756516 4.1327514722943297 0.94338285177946124 4.7338821738958359 1.7561543043702839 3.101967915892601 0.8256907183676957 0.8164619542658319 1.0815638191998003 0.65115594863891857 0.58246676623821159 0.53579585626721637 18.385454628616571 leaf_count=24 30 47 964 29 8 33 24 15 30 20 19 18 6 34 22 14 21 842 internal_value=0 0.00518277 0.00853184 -0.00869371 -0.00365872 0.000921514 0.000267764 -0.00379242 0.00228446 0.00655628 -0.000202207 -0.00684288 0.00996897 -0.0107493 -0.0102546 0.0102544 -0.0102336 -0.0102303 internal_weight=0 45.7855 27.2307 27.2947 6.45925 3.59802 18.5549 6.1577 12.3972 4.56133 7.83585 2.41006 23.138 2.02495 20.8355 22.3215 19.5724 18.9213 internal_count=2200 1197 1008 1003 89 59 189 73 116 67 49 51 984 49 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=312 num_leaves=18 num_cat=0 split_feature=13 1 3 3 3 12 12 3 0 2 12 4 12 0 4 0 0 split_gain=32.5174 7.83931 3.17355 2.1571 1.37383 1.22595 3.89083 1.10256 1.80766 0.702256 0.516743 0.00068578 0.000573355 0.000170299 3.63959e-05 3.5717e-05 8.72993e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.99806827298187695 5.3611511359867654 5.4117715327450009 1.2351688403888856 1.1427926010382323 1.3223943938464113 4.6533632910829281 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 -3 -2 -7 8 -6 -8 11 -4 13 15 -14 -5 -16 right_child=3 4 10 12 7 6 9 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00040300258680889294 -0.01083357041644765 -0.0056947567854360968 0.010242670595595917 -0.010392050352433378 0.0057347901963892799 0.016287389286700892 -0.010839567133051462 -0.0024540249968050872 -0.003278596231226501 0.00059355047357304166 0.0021468407782582952 0.010592009974106489 -0.010304651101162745 -0.010531822201112723 -0.010266447547549832 -0.010296076083112527 -0.010225960590483307 leaf_weight=4.0920159965753582 1.3618993014097238 3.3049031533300903 21.527941102162011 0.73672545142472079 7.8358938731253165 1.0606195479631426 1.5164290610700848 5.1008717194199553 3.1074263751506805 0.83199470676481713 0.81566315889358421 0.57700074464082618 0.6264111995697047 0.67419619485735882 0.54875261522829788 0.81863450258970261 18.064532298594713 leaf_count=24 21 34 964 21 75 11 32 35 18 18 6 14 23 15 22 30 837 internal_value=0 0.00503489 0.00851511 -0.00889568 0.000176283 -0.00281351 0.000390467 0.00138564 0.00317538 -0.00678907 0.00996336 0.0102518 -0.0102473 -0.0103991 -0.0102297 -0.0103415 -0.0102272 internal_weight=0 46.3617 27.0126 26.2402 19.3491 4.77094 3.40904 16.0442 10.9433 2.34842 22.9206 22.1049 21.4693 2.22956 19.2397 1.55536 18.6133 internal_count=2200 1170 1008 1030 162 82 61 128 93 50 984 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=313 num_leaves=19 num_cat=0 split_feature=1 1 3 3 2 2 3 1 13 1 2 3 2 12 13 4 12 4 split_gain=32.1394 7.40176 3.16747 2.14108 1.68256 4.28379 1.46902 1.46149 1.42522 1.30324 1.41577 0.854371 0.71791 0.518226 0.00137775 0.000665572 5.75035e-05 1.31289e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.2351688403888856 1.0383879925828392 0.78123321994831596 1.0383879925828392 1.1647891567840487 1.1748853893285929 1.3291597159154738 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 10 -3 -11 -7 15 -5 -4 -16 -18 right_child=3 6 13 14 5 12 7 8 -10 11 -12 -13 -14 -15 16 -17 17 -19 leaf_value=0.00039903691753881822 -0.0093812463273573541 0.0021195860613503177 0.010240206308841433 -0.010572442084908986 0.016395444653730575 -0.010783907423533896 -0.010836534612571516 0.0052648648573583937 -0.0064577604607987098 -0.0028927704266625614 0.01360960024103966 0.0038601561315125188 0.0007441791256755549 0.0021274477650123644 -0.010322119258026006 0.010585988995880589 -0.010274883320310799 -0.010224174884108454 leaf_weight=4.0913568809628513 2.8384392410516766 2.8002848513424414 21.318837841972716 1.2423784229904438 1.1937065422534945 1.5641836393624546 1.9663253463804711 2.1567942425608635 1.9978076256811617 4.7253929674625397 1.7379436753690241 3.1043681688606739 0.82518305629491795 0.81487134099006553 0.63864774443209427 0.57158278673887153 0.52546592056751507 18.029513515532017 leaf_count=24 30 47 964 29 8 33 14 12 47 30 20 19 18 6 22 14 21 842 internal_value=0 0.00514014 0.00849831 -0.00866699 -0.00363009 0.000925859 0.000273015 -0.00373379 -0.000372149 0.00225599 0.00651976 -0.000215349 -0.00680261 0.00995775 -0.0102497 0.0102492 -0.0102288 -0.0102256 internal_weight=0 45.2856 26.7966 26.8575 6.42151 3.58307 18.4889 6.12093 4.1546 12.368 4.53823 7.82976 2.38937 22.7053 20.436 21.8904 19.1936 18.555 internal_count=2200 1197 1008 1003 89 59 189 73 59 116 67 49 51 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=314 num_leaves=19 num_cat=0 split_feature=1 1 3 3 2 2 3 13 1 2 3 2 12 12 13 4 12 4 split_gain=31.7314 7.34501 3.16135 2.1425 1.66066 4.18825 1.4424 1.44601 1.28409 1.40554 0.836883 0.743728 0.519694 0.00261486 0.00133671 0.000645957 5.57721e-05 1.27346e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.2351688403888856 0.81992547120608383 1.0383879925828392 1.1647891567840487 1.1748853893285929 1.333833474242947 4.6533632910829281 5.2570557121369346 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 8 -8 9 -3 -10 -7 15 -9 -5 -4 -16 -18 right_child=3 6 12 14 5 11 7 13 10 -11 -12 -13 -14 -15 16 -17 17 -19 leaf_value=0.00039511021001680609 -0.0093436156879483298 0.0021014128485151344 0.01023776837041708 -0.010566562669804738 0.016145650314175246 -0.010767930857948138 -0.0003361477804045522 -0.011121359279566218 -0.0028634905620559853 0.013580972337286635 0.0038178630609849093 0.0010656225884278767 0.002108214463885589 -0.010392757309853555 -0.010318821506098723 0.010580030751584238 -0.010272079207543645 -0.010221894538627079 leaf_weight=4.090704113245013 2.8214574418962028 2.7962771337479371 21.111713025718934 1.2306975312531019 1.200020916759968 1.5737857501953842 4.1287917122244826 0.92452138103544701 4.7259712517261505 1.7242597211152313 3.1073547787964344 0.80164142698049534 0.8140864223241796 1.0542628578841684 0.63249415531754749 0.56621253117918868 0.52037875726819294 17.854078182950616 leaf_count=24 30 47 964 29 8 34 24 15 30 20 19 17 6 34 22 14 21 842 internal_value=0 0.00511625 0.00848145 -0.00865261 -0.00360794 0.000918192 0.000270695 -0.00370466 0.00223606 0.00648004 -0.000213105 -0.00677443 0.00995214 -0.0107332 -0.0102472 0.0102467 -0.0102265 -0.0102233 internal_weight=0 45.0442 26.5827 26.6346 6.39691 3.57545 18.4614 6.10758 12.3539 4.52054 7.83333 2.37543 22.492 1.97878 20.2376 21.6779 19.007 18.3745 internal_count=2200 1197 1008 1003 89 59 189 73 116 67 49 51 984 49 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=315 num_leaves=18 num_cat=0 split_feature=13 1 3 3 3 12 12 0 4 2 12 4 12 0 4 0 0 split_gain=31.3321 7.64242 3.15518 2.15417 1.32539 1.21236 3.77329 1.08287 3.13515 0.738676 0.521148 0.000626921 0.000525878 0.000156197 3.32053e-05 3.24852e-05 8.02203e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.99806827298187695 5.3611511359867654 5.4117715327450009 1.1427926010382323 0.36143795571949838 1.3291597159154738 4.6533632910829281 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 -3 -2 -7 8 -6 -8 11 -4 13 15 -14 -5 -16 right_child=3 4 10 12 7 6 9 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00039122118319159609 -0.010820030149698423 -0.0056079361849874837 0.010235354997811698 -0.010380243092895607 -0.0060993476370295252 0.015940008391340996 -0.010830481783697546 -0.0030643165064769568 0.0058327428018233119 0.0010409980829638014 0.0020891392179582776 0.010574134083661868 -0.01029541680648355 -0.010516131750446453 -0.010258523299708505 -0.010287415249294661 -0.010219151764241078 leaf_weight=4.0900577604770687 1.3404482267797018 3.2842073440551784 20.906551500782378 0.71609972231090357 2.9204938616603604 1.0710873119533064 1.523980610072613 4.0985422357916823 8.9512908384203893 0.79889741912484158 0.81330838426947494 0.56088965013623138 0.60850580036640423 0.65611812844872464 0.53324100561440246 0.79608846083283424 17.543232042342424 leaf_count=24 21 34 964 21 29 11 33 26 73 17 6 14 23 15 22 30 837 internal_value=0 0.00496734 0.00846452 -0.00885735 0.000177652 -0.00276789 0.000412305 0.00136743 0.00289741 -0.00674757 0.00994652 0.0102442 -0.0102399 -0.0103873 -0.0102228 -0.0103314 -0.0102203 internal_weight=0 45.6253 26.3708 25.5877 19.2545 4.73441 3.39397 15.9703 11.8718 2.32288 22.2807 21.4674 20.8533 2.16831 18.685 1.51219 18.0765 internal_count=2200 1170 1008 1030 162 82 61 128 102 50 984 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=316 num_leaves=17 num_cat=0 split_feature=1 1 3 3 2 2 2 3 3 2 2 12 13 4 12 4 split_gain=30.9604 7.21913 3.14897 2.13909 1.6383 4.07824 1.42724 1.40147 2.6269 0.804234 0.739409 0.522586 0.00127672 0.000608449 5.24364e-05 1.19782e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.1555240255680828 1.0853483183990196 1.2351688403888856 1.1113771532620189 1.333833474242947 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 9 -8 -9 -3 -7 13 -5 -4 -14 -16 right_child=3 6 11 12 5 10 7 8 -10 -11 -12 -13 14 -15 15 -17 leaf_value=0.00038736989511029034 -0.0093034076988355759 0.00079116933493700629 0.010232966202407967 -0.01055713228028411 0.0158824971514329 -0.010759357804389717 -0.010519692554370238 0.0045776591217483757 -0.0052620042736539431 0.0081240880768945999 0.0010662611829921288 0.0020702205407593997 -0.010312306386947381 0.010568299166626749 -0.010266553230508589 -0.010217405246816936 leaf_weight=4.0894175916910198 2.7980882320553091 3.1434202957898405 20.703334815800197 1.2098839227110172 1.2053224109113219 1.5534668825566771 1.5612373761832703 5.3777949009090644 5.4759036414325237 2.8532099239528179 0.80154509097337712 0.81253717094659705 0.62033278122544544 0.55561376921832462 0.51033783145249145 17.508185846731067 leaf_count=24 30 38 964 29 8 34 13 39 68 31 17 6 22 14 21 842 internal_value=0 0.00507132 0.00844752 -0.00862533 -0.0035776 0.000922352 0.000274091 -0.00166092 -0.000386644 0.00428019 -0.00673442 0.00994091 -0.0102423 0.0102417 -0.0102219 -0.0102188 internal_weight=0 44.5725 26.1609 26.2072 6.35842 3.56033 18.4116 12.4149 10.8537 5.99663 2.35501 22.0715 19.8487 21.2589 18.6389 18.0185 internal_count=2200 1197 1008 1003 89 59 189 120 107 69 51 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=317 num_leaves=18 num_cat=0 split_feature=13 1 3 3 4 1 3 0 4 12 12 4 12 0 4 0 0 split_gain=30.5738 7.51155 3.14271 2.15012 1.55133 1.36026 1.2871 1.06083 3.07273 0.52401 0.00178504 0.000590517 0.000500939 0.000148492 3.12586e-05 3.04781e-05 7.61528e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 1.1427926010382323 0.36143795571949838 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 8 -8 11 -7 -4 13 15 -14 -5 -16 right_child=3 6 9 12 5 10 7 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00038355594998566836 0.0082639064269463165 -0.0055309341234783095 0.010230602836331478 -0.01037304198014501 0.0016730653391415177 -0.010949593613623415 -0.0060415651914696288 -0.0030353757120289838 0.005780431046699658 0.0020514580660519017 -0.010380361753351202 0.010562524606964075 -0.010289456981373995 -0.010506957382396124 -0.010253463855571174 -0.010282331556864609 -0.010214740642967599 leaf_weight=4.0887837335467365 1.0069277975708271 3.2721811272203949 20.502045180648572 0.70328636653721621 1.4855590723454954 1.2059335783123972 2.9164557978510848 4.091748282313346 8.93200935423374 0.81177271157503028 1.0142067838460205 0.55038455128669639 0.59691366180777805 0.64512556977570046 0.52330640517175453 0.78254877217113972 17.204571740701795 leaf_count=24 15 34 964 21 17 17 29 26 73 6 33 14 23 15 22 30 837 internal_value=0 0.00492165 0.00843045 -0.00883225 -0.00274278 -0.00573357 0.000181794 0.00135449 0.00287049 0.00993528 -0.0106896 0.0102393 -0.0102352 -0.0103803 -0.0102183 -0.0103253 -0.0102159 internal_weight=0 45.1654 25.953 25.1684 4.71263 3.7057 19.2124 15.9402 11.8485 21.8642 2.22014 21.0524 20.4558 2.13096 18.3248 1.48584 17.7279 internal_count=2200 1170 1008 1030 82 67 162 128 102 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=318 num_leaves=18 num_cat=0 split_feature=1 1 3 13 2 2 2 3 3 2 12 12 3 4 3 0 0 split_gain=30.1923 7.1038 3.1364 2.13907 2.63129 3.72732 1.40568 1.36378 2.57106 0.787579 0.52542 0.211553 0.00284336 0.000573116 2.76137e-05 1.6544e-05 9.70221e-06 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.0614732751417961 1.2626160677949871 1.2719010105634743 1.1555240255680828 1.0853483183990196 1.2351688403888856 1.1113771532620189 4.6533632910829281 4.9554982271603158 1.2351688403888856 0.45701416357615993 1.2640297647729313 1.3090382536679732 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 11 -6 9 -8 -9 -3 13 -2 -5 -4 15 -14 -16 right_child=3 6 10 12 5 -7 7 8 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00037977929634144743 -0.012454880062824209 0.00080372876340937128 0.010228263840367537 -0.010715830825177849 0.017572839706134002 -0.0055750343790742195 -0.010384038107212817 0.0045195312392751884 -0.0052255615881840458 0.0080664110289085066 0.002032851052188824 -0.007422405370517457 -0.010308446211428277 0.010556810472402523 -0.010255838677008187 -0.010224217415393928 -0.010213297619209853 leaf_weight=4.0881559401750591 1.4203200936317473 3.144035596400502 20.302664682269103 1.2221545372158313 1.1354681029915812 1.7957726418972013 1.5617504380643357 5.3758227303624135 5.4540179390460253 2.8435927648097277 0.81101496890187164 2.0281045679003 0.51479047536850231 0.54520160332322021 0.55390631034970539 0.42630725167691708 16.686432065442204 leaf_count=24 13 38 964 29 10 33 13 39 68 31 6 37 20 14 23 20 818 internal_value=0 0.00502334 0.00841331 -0.00859734 -0.00357408 0.00339171 0.000274394 -0.001648 -0.000388197 0.00425286 0.00992966 -0.00949516 -0.0102489 0.0102369 -0.0102175 -0.0102703 -0.0102147 internal_weight=0 44.1263 25.747 25.7833 6.37967 2.93124 18.3792 12.3916 10.8298 5.98763 21.6589 3.44842 19.4036 20.8479 18.1814 0.941098 17.2403 internal_count=2200 1197 1008 1003 93 43 189 120 107 69 984 50 910 978 881 40 841 is_linear=0 shrinkage=0.01 Tree=319 num_leaves=18 num_cat=0 split_feature=13 1 0 3 4 1 4 3 0 4 12 12 12 0 4 0 0 split_gain=29.832 7.38161 3.1307 2.15223 1.51833 1.33699 1.32871 1.24893 1.03877 3.01224 0.4997 0.00169866 0.000485167 0.000142493 2.99826e-05 2.92124e-05 7.22334e-06 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.47212922992160583 0.99806827298187695 1.1427926010382323 0.36143795571949838 4.6533632910829281 5.4588099803130126 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 10 -3 9 -9 -4 -7 13 15 -14 -5 -16 right_child=3 7 6 12 5 11 -8 8 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=-0.0040603448145684297 0.0081377359354764082 -0.0054533598019164175 0.010008520675721309 -0.010367357147518349 0.0016077072055137357 -0.010932656030266209 -0.0067064719038305957 -0.0059848276677662337 -0.0030059099587854579 0.0057287173344534436 0.0020143971985672844 -0.010372566138643518 -0.010284249508895192 -0.01049949560438267 -0.010248500375892066 -0.010277885777319742 -0.01021042950152494 leaf_weight=1.8699704781174684 1.0125645939260746 3.25939863175154 22.360247926786549 0.69307913258672049 1.4907687380909922 1.1884881779551508 0.50255836732685466 2.9129838272929183 4.0852448642253867 8.9119631387293321 0.81026391685008903 0.99468276649713505 0.58649145253002899 0.63626649975776661 0.51353888586163776 0.77072539739310741 16.872882176190615 leaf_count=9 15 34 984 21 17 17 9 29 26 73 6 33 23 15 22 30 837 internal_value=0 0.0048762 0.00839611 -0.00880613 -0.00270437 -0.00569253 0.00938006 0.000186016 0.00134131 0.00284318 0.00972897 -0.0106775 -0.0102307 -0.0103746 -0.0102139 -0.0103202 -0.0102116 internal_weight=0 44.7126 25.543 24.7595 4.6865 3.67394 23.6731 19.1696 15.9102 11.8249 23.1705 2.18317 20.073 2.10007 17.9729 1.4638 17.3864 internal_count=2200 1170 1008 1030 82 67 999 162 128 102 990 50 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=320 num_leaves=19 num_cat=0 split_feature=13 1 3 3 4 1 3 12 13 4 12 12 4 12 0 4 0 0 split_gain=29.4495 7.32755 3.13319 2.15346 1.48922 1.32742 1.22457 1.02065 1.264 0.890982 0.528232 0.00164659 0.000550282 0.00047053 0.000138155 2.90829e-05 2.83242e-05 7.00612e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 4.8980530291692244 0.72919686804582806 0.39394749199373341 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 9 -9 -8 12 -7 -4 14 16 -15 -5 -17 right_child=3 6 10 13 5 11 7 8 -10 -11 -12 -13 -14 15 -16 17 -18 -19 leaf_value=0.00034871338838987365 0.0080076908713825976 -0.005401110991142293 0.010223769440410384 -0.01036357778371761 0.0015897928875753808 -0.010922807436477095 0.0015242031021025426 -0.0044889190285205098 0.0026894683879728379 0.0094116725634329473 0.0019960964865931153 -0.010368773104911079 0.010547484006740533 -0.010281349544519945 -0.010494311615239867 -0.010245968556781813 -0.010275049714736993 -0.010208291165426493 leaf_weight=4.076997525990012 1.0186875201761747 3.2580267228186157 19.914530361071236 0.68643185310066035 1.4924835450947287 1.1777181476354601 3.7177865933626881 4.5937568508088571 5.2637058719992638 2.3295585084706545 0.8095194548368444 0.98514395207166661 0.53934511728584666 0.58081871643662708 0.63024514727294434 0.50855410471558826 0.76326611451804638 16.708475487306714 leaf_count=24 15 34 964 21 17 17 41 25 34 28 6 33 14 23 15 22 30 837 internal_value=0 0.00485039 0.00837903 -0.00879227 -0.00268476 -0.00566458 0.000184227 0.00132836 -0.000655791 0.00456261 0.00991874 -0.0106705 0.0102323 -0.0102284 -0.0103707 -0.0102118 -0.010317 -0.0102094 internal_weight=0 44.5032 25.3404 24.5518 4.67403 3.65535 19.1628 15.9048 9.85746 6.04735 21.2634 2.16286 20.4539 19.8778 2.07994 17.7978 1.4497 17.217 internal_count=2200 1170 1008 1030 82 67 162 128 59 69 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=321 num_leaves=17 num_cat=0 split_feature=1 1 3 3 2 2 2 3 3 2 2 12 13 4 12 4 split_gain=29.0763 6.92896 3.12661 2.14506 1.6084 3.87679 1.37954 1.32767 2.51261 0.772773 0.76612 0.529598 0.00118564 0.000534055 4.66327e-05 1.04059e-05 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.1555240255680828 1.0853483183990196 1.2351688403888856 1.3345228717909889 1.1113771532620189 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 10 -8 -9 -7 -3 13 -5 -4 -14 -16 right_child=3 6 11 12 5 9 7 8 -10 -11 -12 -13 14 -15 15 -17 leaf_value=0.00034527480093400468 -0.0092083451235687834 0.00082307184425322439 0.010221500560663271 -0.010540000589616612 0.015488908551547807 -0.010730037176750884 -0.01025507563946282 0.0044628644890331425 -0.0051882476893655681 0.0015759333782450814 0.0079957037214348527 0.0019779475761060082 -0.010298088141212127 0.010541922048193599 -0.01025350761608808 -0.010206589850689755 leaf_weight=4.0764285698533085 2.7442265823483494 3.1427568104118135 19.720730911940343 1.1669003460556293 1.2110882177948954 1.5295797549188139 1.5600005239248265 5.3698937557637674 5.4205739293247461 0.76576575636863697 2.8302150461822748 0.80878160148858924 0.59340492822230118 0.53425886109471221 0.48651490919292228 16.672381801530719 leaf_count=24 30 38 964 29 8 35 13 39 68 16 31 6 22 14 21 842 internal_value=0 0.00495299 0.0083617 -0.00855323 -0.00347435 0.00101322 0.000276159 -0.00163201 -0.000385356 -0.00662456 0.00422173 0.0099131 -0.0102312 0.01023 -0.0102109 -0.0102079 internal_weight=0 43.4636 25.1402 25.1699 6.25066 3.50643 18.3234 12.3505 10.7905 2.29535 5.97297 21.0638 18.9192 20.255 17.7523 17.1589 internal_count=2200 1197 1008 1003 89 59 189 120 107 51 69 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=322 num_leaves=18 num_cat=0 split_feature=13 1 3 3 4 1 3 0 4 12 12 4 12 0 4 0 0 split_gain=28.7367 7.19784 3.11999 2.14955 1.45966 1.30699 1.18937 1.0145 2.94196 0.530949 0.00159296 0.000518299 0.000448307 0.000131364 2.738e-05 2.65729e-05 6.65256e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 1.1427926010382323 0.36143795571949838 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 8 -8 11 -7 -4 13 15 -14 -5 -16 right_child=3 6 9 12 5 10 7 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00034186931200235778 0.0078836387208500794 -0.0053265182152463873 0.0102192567937759 -0.010356716475603121 0.0015246476157363715 -0.010913495113498902 -0.0059289561981330334 -0.0029825207817586854 0.0056618169220427365 0.0019599493773751198 -0.010364672768178399 0.01053641745341736 -0.010275682807719479 -0.010485566237808564 -0.010241166228061822 -0.010270210025807051 -0.010204104387876835 leaf_weight=4.0758650228381184 1.0240681320428873 3.2463499382138279 19.528773052617915 0.67414285615086844 1.4978270381689074 1.1611886993050577 2.9064379725605241 4.0778648890554896 8.8817019630223495 0.8080502487719049 0.97118046693503846 0.52921784110367198 0.56974071450531738 0.61968053132295597 0.49907390400767582 0.75029905140399933 16.38561007194221 leaf_count=24 15 34 964 21 17 17 29 26 73 6 33 14 23 15 22 30 837 internal_value=0 0.00480596 0.0083443 -0.00876639 -0.00266026 -0.00563466 0.000188379 0.00131678 0.00280404 0.00990745 -0.0106635 0.0102276 -0.0102239 -0.010364 -0.0102075 -0.0103112 -0.0102052 internal_weight=0 44.0543 24.9419 24.1528 4.65426 3.6302 19.1124 15.866 11.7881 20.866 2.13237 20.058 19.4985 2.04412 17.4544 1.42444 16.8847 internal_count=2200 1170 1008 1030 82 67 162 128 102 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=323 num_leaves=19 num_cat=0 split_feature=13 1 3 3 4 1 3 12 13 4 12 12 4 12 0 4 0 0 split_gain=28.3673 7.14422 3.11332 2.15061 1.43187 1.29769 1.16615 0.99562 1.24257 0.876743 0.532285 0.00154426 0.000503015 0.000434781 0.000127369 2.65571e-05 2.57657e-05 6.45182e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 4.8980530291692244 0.72919686804582806 0.39394749199373341 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 9 -9 -8 12 -7 -4 14 16 -15 -5 -17 right_child=3 6 10 13 5 11 7 8 -10 -11 -12 -13 -14 15 -16 17 -18 -19 leaf_value=0.00033849730401077862 0.0077593772276601004 -0.0052753568392800475 0.010217034608732498 -0.010353050081802363 0.0015077530510468912 -0.010903879093208439 0.001498499140567538 -0.004460870590787043 0.0026619278399377701 0.0093489656242759529 0.0019421003980190476 -0.010360963363530002 0.010530970446231878 -0.01027287207248738 -0.010480533129521607 -0.010238710659231534 -0.010267454078401633 -0.010202033670133068 leaf_weight=4.0753070116043117 1.0300330054014946 3.2450617849826839 19.338641675189145 0.66767020896077445 1.4994557499885561 1.1506434567272665 3.7104195561259976 4.5835970789194089 5.2594747096300125 2.3071816377341747 0.80732537060975929 0.96185957826673973 0.52422168478369613 0.56422524526715534 0.61380775831639756 0.49422594346106308 0.74303184077143669 16.225847804918885 leaf_count=24 15 34 964 21 17 17 41 25 34 28 6 33 14 23 15 22 30 837 internal_value=0 0.00478016 0.00832683 -0.00875239 -0.0026409 -0.00560678 0.000186566 0.00130406 -0.000654927 0.00450841 0.0099018 -0.0106567 0.0102253 -0.0102216 -0.0103603 -0.0102054 -0.010308 -0.0102031 internal_weight=0 43.8512 24.7455 23.9508 4.64199 3.61196 19.1057 15.8607 9.84307 6.0176 20.6702 2.1125 19.8629 19.3088 2.02451 17.2843 1.4107 16.7201 internal_count=2200 1170 1008 1030 82 67 162 128 59 69 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=324 num_leaves=18 num_cat=0 split_feature=13 1 3 3 4 1 3 0 4 12 12 4 12 0 4 0 0 split_gain=28.0044 7.08874 3.10661 2.1516 1.4047 1.28847 1.14353 0.99148 2.87365 0.533607 0.00149707 0.000488179 0.000421676 0.000123498 2.57609e-05 2.49831e-05 6.25786e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 1.1427926010382323 0.36143795571949838 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 8 -8 11 -7 -4 13 15 -14 -5 -16 right_child=3 6 9 12 5 10 7 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00033515816939434903 0.0076378615143940076 -0.0052246371787369218 0.010214835896861648 -0.010349422508219889 0.0014910647444142707 -0.010894369873462333 -0.0058665932117013854 -0.002959547429205608 0.0055922370573174016 0.0019244007721454718 -0.010357292560824974 0.010525579686297058 -0.010270091129405854 -0.010475554395041402 -0.01023628056888092 -0.01026472700714804 -0.010199982289674281 leaf_weight=4.0747544765472439 1.0359264314174677 3.2438048459589508 19.150320313870914 0.66125730983913233 1.5010674782097342 1.1401837021112444 2.9057903550565234 4.0744445137679568 8.8663089685142022 0.80660691112279792 0.95262473262846459 0.51927007548510928 0.55876162275672214 0.60798764787614334 0.48942389152944343 0.73583301156759262 16.067611457780004 leaf_count=24 15 34 964 21 17 17 29 26 73 6 33 14 23 15 22 30 837 internal_value=0 0.00475536 0.00830929 -0.00873833 -0.00262166 -0.00557894 0.000184868 0.0012922 0.00276377 0.00989614 -0.0106499 0.010223 -0.0102194 -0.0103566 -0.0102033 -0.0103048 -0.0102011 internal_weight=0 43.6413 24.551 23.7507 4.6298 3.59388 19.0903 15.8465 11.7721 20.4762 2.09281 19.6696 19.1209 2.00508 17.1158 1.39709 16.557 internal_count=2200 1170 1008 1030 82 67 162 128 102 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=325 num_leaves=17 num_cat=0 split_feature=1 1 3 3 2 2 2 3 3 2 2 12 13 4 12 4 split_gain=27.6577 6.69738 3.09986 2.14357 1.59638 3.75593 1.35864 1.28623 2.44958 0.764085 0.740847 0.534915 0.00111613 0.000473783 4.12116e-05 9.2064e-06 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.1555240255680828 1.0853483183990196 1.2351688403888856 1.3345228717909889 1.1113771532620189 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 10 -8 -9 -7 -3 13 -5 -4 -14 -16 right_child=3 6 11 12 5 9 7 8 -10 -11 -12 -13 14 -15 15 -17 leaf_value=0.00033185144609296024 -0.0091552293732549903 0.00086144229224105679 0.010212659267034206 -0.01052679964527423 0.015269588880278464 -0.010714610500302158 -0.010114158500303689 0.0043965775356256346 -0.0051543611533615957 0.0015924868495469802 0.0079236945294550807 0.001906848980091827 -0.010286036446671023 0.010520245019068586 -0.0102433289611832 -0.010198327483755499 leaf_weight=4.07420735806227 2.710041573271158 3.1428377013653543 18.963791124522693 1.1315659284591699 1.2138948030769827 1.4908070284873249 1.5565048847347487 5.3611757699400169 5.3802431952208281 0.76247266680002201 2.8166036643087864 0.80589484423398872 0.570730315521362 0.5143626481294622 0.46787483617663639 16.031533196568489 leaf_count=24 30 38 964 29 8 35 13 39 68 16 31 6 22 14 21 842 internal_value=0 0.00485954 0.00829167 -0.00849522 -0.00340519 0.00108921 0.000280525 -0.00161845 -0.000387369 -0.00655009 0.00419927 0.00989047 -0.0102227 0.0102208 -0.0102025 -0.0101996 internal_weight=0 42.6156 24.3583 24.3789 6.17722 3.46717 18.2574 12.2979 10.7414 2.25328 5.95944 20.284 18.2017 19.4782 17.0701 16.4994 internal_count=2200 1197 1008 1003 89 59 189 120 107 51 69 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=326 num_leaves=18 num_cat=0 split_feature=13 1 3 3 4 1 3 0 4 12 12 4 12 0 4 0 0 split_gain=27.3235 6.96349 3.09305 2.14711 1.37714 1.26871 1.11045 0.971499 2.81686 0.536208 0.00144982 0.000459809 0.000401832 0.000117443 2.42534e-05 2.34381e-05 5.94304e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 1.1427926010382323 0.36143795571949838 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 8 -8 11 -7 -4 13 15 -14 -5 -16 right_child=3 6 9 12 5 10 7 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00032857689803090216 0.007521761637289355 -0.0051519737065121567 0.010210505795763089 -0.010342845793903184 0.0014279260438191924 -0.01088569727100014 -0.0058111639991875299 -0.0029316040904031359 0.0055428080818744688 0.0018894433322579102 -0.010353398867100154 0.010514965524147633 -0.010264657195943723 -0.01046717062923899 -0.010231674877233501 -0.010260084496332448 -0.010195966452615217 leaf_weight=4.0736655071377781 1.041050855070355 3.2323557026684311 18.779039273038514 0.64940913394093758 1.5062557645142081 1.1241836063563826 2.9017628002911797 4.0677847452461711 8.8473037201911193 0.80518909171223541 0.93915538862347592 0.50949905812740226 0.54809325933456676 0.5977852065116166 0.48029408976435917 0.72333508171141148 15.756887091323732 leaf_count=24 15 34 964 21 17 17 29 26 73 6 33 14 23 15 22 30 837 internal_value=0 0.0047102 0.00827399 -0.00871214 -0.00259825 -0.00554969 0.000188887 0.00128035 0.00273862 0.00988479 -0.0106434 0.0102185 -0.0102151 -0.0103502 -0.0101992 -0.0102992 -0.010197 internal_weight=0 43.2166 24.1674 23.3664 4.61065 3.56959 19.0492 15.8169 11.7491 20.0937 2.06334 19.2885 18.7558 1.97053 16.7853 1.37274 16.2372 internal_count=2200 1170 1008 1030 82 67 162 128 102 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=327 num_leaves=19 num_cat=0 split_feature=13 1 3 3 4 1 3 12 13 4 12 12 4 12 0 4 0 0 split_gain=26.9712 6.91075 3.08621 2.14794 1.35117 1.25974 1.08875 0.971571 1.21692 0.854461 0.537487 0.00140564 0.000446248 0.000389721 0.000113876 2.35257e-05 2.27266e-05 5.76395e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 4.8980530291692244 0.72919686804582806 0.39394749199373341 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 9 -9 -8 12 -7 -4 14 16 -15 -5 -17 right_child=3 6 10 13 5 11 7 8 -10 -11 -12 -13 -14 15 -16 17 -18 -19 leaf_value=0.00032533381074073108 0.0074054958179211152 -0.0051023227618134182 0.010208374220971768 -0.010339326151045655 0.0014122064307542847 -0.010876408344311583 0.0014800500085559779 -0.0044386904966002587 0.0026158971153140082 0.0092615807270832323 0.0018721835058436668 -0.010349808151866131 0.010509740936633854 -0.01026196174661226 -0.010462335737071614 -0.010229317670278848 -0.010257434481610893 -0.010193979144412595 leaf_weight=4.0731290280818966 1.046792179346087 3.231177598237994 18.596046755090363 0.64316516742110497 1.5077842548489573 1.1139436028897765 3.703453702852129 4.5724622979760152 5.2559360638260841 2.2797659672796726 0.804489616304635 0.93013160675764073 0.50467896461486716 0.54278145916760223 0.59210926666855801 0.47562410682440059 0.71632186882197857 15.603129977360366 leaf_count=24 15 34 964 21 17 17 41 25 34 28 6 33 14 23 15 22 30 837 internal_value=0 0.00468451 0.00825623 -0.00869794 -0.00257925 -0.00552192 0.000187066 0.00126798 -0.000666106 0.00444502 0.0098791 -0.0106368 0.0102163 -0.0102129 -0.0103466 -0.0101972 -0.0102962 -0.010195 internal_weight=0 43.0211 23.9783 23.1718 4.59865 3.55186 19.0428 15.8116 9.8284 5.98322 19.9052 2.04408 19.1007 18.5731 1.9516 16.6215 1.35949 16.0788 internal_count=2200 1170 1008 1030 82 67 162 128 59 69 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=328 num_leaves=17 num_cat=0 split_feature=1 1 3 3 2 2 2 3 3 2 2 12 13 4 12 4 split_gain=26.6318 6.52819 3.07931 2.14385 1.58145 3.65321 1.33353 1.25262 2.39489 0.75677 0.720812 0.538752 0.00106729 0.000433087 3.75706e-05 8.39925e-06 threshold=1.1660877220710828 0.95282455020400814 0.17408222448223767 1.2471304352583659 1.2626160677949871 1.2719010105634743 1.1555240255680828 1.0853483183990196 1.2351688403888856 1.3345228717909889 1.1113771532620189 4.6533632910829281 0.97735317110040087 0.45701416357615993 5.4588099803130126 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 10 -8 -9 -7 -3 13 -5 -4 -14 -16 right_child=3 6 11 12 5 9 7 8 -10 -11 -12 -13 14 -15 15 -17 leaf_value=0.00032212279606249277 -0.0091049271819810939 0.0008792302112467865 0.010206264568801788 -0.010517276951612253 0.015059391228810861 -0.010702623951741614 -0.0099901884603979963 0.0043426231463754858 -0.005117810004398286 0.0015974562025777503 0.0078545731919697093 0.0018550680426098018 -0.010277331979079459 0.010504570097969144 -0.010235971301331392 -0.010192352931641368 leaf_weight=4.0725976750254658 2.6829011384397772 3.1414923239499357 18.414798807352788 1.1056646537035728 1.2176909111440184 1.461068192496896 1.554755201563238 5.3552608303725702 5.3481829669326544 0.76060083881020535 2.8035675175487995 0.80379636585712333 0.55428385920822876 0.49990204721689124 0.45435566641390579 15.566786024719475 leaf_count=24 30 38 964 29 8 35 13 39 68 16 31 6 22 14 21 842 internal_value=0 0.0047896 0.0082384 -0.0084505 -0.00335042 0.00113842 0.000282121 -0.0016028 -0.000384465 -0.00649162 0.00416866 0.0098734 -0.0102165 0.0102141 -0.0101964 -0.0101936 internal_weight=0 41.9944 23.7911 23.8034 6.12226 3.43936 18.2033 12.2582 10.7034 2.22167 5.94506 19.7185 17.6811 18.9147 16.5754 16.0211 internal_count=2200 1197 1008 1003 89 59 189 120 107 51 69 984 914 978 885 863 is_linear=0 shrinkage=0.01 Tree=329 num_leaves=18 num_cat=0 split_feature=13 1 3 3 4 1 3 0 4 12 12 4 12 0 4 0 0 split_gain=26.3166 6.78541 3.07238 2.14302 1.32485 1.24051 1.05736 0.948897 2.75142 0.540002 0.0013626 0.000420312 0.00037145 0.000108308 2.21506e-05 2.13205e-05 5.47512e-06 threshold=0.85162615880101311 0.95282455020400814 0.17408222448223767 1.2471304352583659 0.41045367798222937 1.1954219695798878 0.99806827298187695 1.1427926010382323 0.36143795571949838 4.6533632910829281 5.4588099803130126 0.45701416357615993 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 4 -2 -6 -3 8 -8 11 -7 -4 13 15 -14 -5 -16 right_child=3 6 9 12 5 10 7 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=0.00031894282350620985 0.0072941976358560758 -0.005031028694162029 0.010204177219464244 -0.010332954585341933 0.0013506696936768745 -0.010868231257865141 -0.0057569175515361105 -0.0029085481805293939 0.00547855602470587 0.0018380966059033147 -0.010346069330782599 0.010499452940454368 -0.010256696360123937 -0.010454211092097999 -0.010224853841357628 -0.010252934500597289 -0.010190085793438962 leaf_weight=4.0720716044306782 1.0517474263906503 3.2199118323624161 18.235280424356468 0.63163718022406345 1.5128442719578745 1.0983261726796629 2.8952458444982758 4.060451950877904 8.8176265861839038 0.8031093180179586 0.91701254621148098 0.49516793712973495 0.5324108880013253 0.58216983638703812 0.46674853377044101 0.70416255667805672 15.301223017275332 leaf_count=24 15 34 964 21 17 17 29 26 73 6 33 14 23 15 22 30 837 internal_value=0 0.00464051 0.0082205 -0.00867152 -0.00255666 -0.00549319 0.000191157 0.0012572 0.00270132 0.0098677 -0.0106306 0.010212 -0.0102087 -0.0103404 -0.0101933 -0.0102908 -0.0101911 internal_weight=0 42.5989 23.6056 22.7983 4.57993 3.52818 18.9932 15.7733 11.7129 19.5336 2.01534 18.7304 18.2184 1.91797 16.3004 1.3358 15.768 internal_count=2200 1170 1008 1030 82 67 162 128 102 984 50 978 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=330 num_leaves=18 num_cat=0 split_feature=13 1 0 3 4 4 1 1 1 3 12 12 12 0 4 0 0 split_gain=25.9766 6.73339 3.06617 2.14368 1.38401 1.30002 1.23179 1.04642 1.01131 1.17493 0.511107 0.00132118 0.000360265 0.000105022 2.14866e-05 2.0674e-05 5.31044e-06 threshold=0.85162615880101311 0.95282455020400814 0.31415341067031349 1.2471304352583659 0.47212922992160583 0.41045367798222937 1.1954219695798878 1.1732074739105893 1.1368346020835252 1.2505460188215014 4.6533632910829281 5.4588099803130126 5.4588099803130126 1.223894463963197 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 10 -2 -7 8 9 -3 -4 -8 13 15 -14 -5 -16 right_child=3 7 4 12 -6 6 11 -9 -10 -11 -12 -13 14 -15 16 -17 -18 leaf_value=-0.0040997042938213961 0.0071828652988224079 0.0017295238697125578 0.0099585787977330507 -0.010329539928946394 -0.0075331486125360496 0.0013358783002468345 -0.010859152390509308 -0.0052015656796256431 0.0073514271971122811 -0.0053684619524523806 0.0018212671740356675 -0.010342556186555441 -0.010254083832144703 -0.010449516285953742 -0.010222567790895509 -0.010250359024406224 -0.010188158779310608 leaf_weight=1.8646622151136423 1.0573404412716652 10.679982874542477 20.275368364527829 0.62555798329413181 0.47947040759026904 1.5142918862402441 1.0883021913468836 3.0267043933272353 2.2966949269175521 2.9835722334682933 0.80242839083075423 0.90819496288895596 0.52724693715572613 0.5766348186880349 0.462207131087779 0.69733030907809734 15.151823772117494 leaf_count=9 15 102 984 21 9 17 17 27 13 20 6 33 23 15 22 30 837 internal_value=0 0.00461491 0.00820252 -0.00865716 0.00926664 -0.0025379 -0.00546549 0.000189313 0.00121164 0.000179609 0.00964879 -0.0106242 -0.0102066 -0.0103369 -0.0101913 -0.0102878 -0.0101892 internal_weight=0 42.4089 23.4219 22.6089 21.5573 4.56813 3.51079 18.987 15.9603 13.6636 21.0778 1.9965 18.0408 1.89952 16.1413 1.32289 15.614 internal_count=2200 1170 1008 1030 999 82 67 162 135 122 990 50 948 66 882 51 859 is_linear=0 shrinkage=0.01 Tree=331 num_leaves=19 num_cat=0 split_feature=13 1 0 1 3 4 2 0 1 2 3 12 12 0 3 4 0 0 split_gain=25.6425 6.69541 4.78765 3.78644 2.14429 1.27572 1.26956 1.24499 1.22314 0.324681 0.0267084 0.00128104 0.000349421 0.000101836 2.91257e-05 2.08426e-05 2.00471e-05 5.15085e-06 threshold=0.85162615880101311 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.41045367798222937 1.1555240255680828 0.31415341067031349 1.1954219695798878 1.1348528270257934 0.17408222448223767 5.4588099803130126 5.4588099803130126 1.223894463963197 0.61313736928646123 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 7 -3 9 5 -2 -5 -1 -7 -4 -9 -10 13 16 -12 -14 -6 -17 right_child=4 2 3 6 12 8 -8 10 11 -11 14 -13 15 -15 -16 17 -18 -19 leaf_value=0.0004203754468035795 0.0070738744584292234 -0.014130138869367568 0.011050319279752221 0.0039241259662101055 -0.010326161149925881 0.001321263525234464 -0.0017076069311903997 0.011649231555148134 -0.010850174177341305 0.0060431779257352257 0.010257056422138196 -0.010339079402946198 -0.010251498103888271 -0.010444871457711811 0.010189972790440189 -0.010220305297199327 -0.010247810415006827 -0.010186251155719979 leaf_weight=1.3836011663079286 1.0628669504076267 1.8496935218572641 4.0742617323994663 6.1323504038155106 0.61953520216048008 1.5157244540750983 11.526937102898954 1.3848540112376202 1.07836053147912 1.8984559103846548 0.68036223948001762 0.89945912733674038 0.52213173732161422 0.57114981114864338 13.281058225780724 0.45770888589322467 0.69056260026991367 15.003855401650069 leaf_count=7 15 11 181 65 21 17 83 12 17 47 31 33 23 15 733 22 30 837 internal_value=0 0.00459033 0.00136328 0.00257597 -0.00864275 -0.00251925 0.000248064 0.00950553 -0.00543783 0.00945878 0.0103246 -0.0106177 -0.0102045 -0.0103334 0.0101932 -0.0101894 -0.0102849 -0.0101873 internal_weight=0 42.2116 25.4817 23.632 22.4214 4.55641 17.6593 16.7299 3.49354 5.97272 15.3463 1.97782 17.8649 1.88125 13.9614 15.9837 1.3101 15.4616 internal_count=2200 1170 387 376 1030 82 148 783 67 228 776 50 948 66 764 882 51 859 is_linear=0 shrinkage=0.01 Tree=332 num_leaves=19 num_cat=0 split_feature=13 1 0 1 3 12 12 2 0 2 2 3 12 0 3 4 0 0 split_gain=25.315 6.65322 4.69676 3.74976 2.14482 1.25228 3.45577 1.24542 1.24403 0.789837 0.326073 0.0258757 0.000338901 9.87474e-05 2.82639e-05 2.02178e-05 1.94396e-05 4.99586e-06 threshold=0.85162615880101311 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 5.3611511359867654 5.4117715327450009 1.1555240255680828 0.31415341067031349 1.3345228717909889 1.1348528270257934 0.17408222448223767 5.4588099803130126 1.223894463963197 0.61313736928646123 0.37470171316558165 1.1344652928718959 1.1612342597359919 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 8 -3 10 5 -2 -7 -5 -1 -8 -4 -10 13 16 -13 -14 -6 -17 right_child=4 2 3 7 12 6 9 -9 11 -11 -12 14 15 -15 -16 17 -18 -19 leaf_value=0.00041623433417963999 -0.01080454638770258 -0.013995080472264125 0.011045055773334384 0.0038892188624948844 -0.01032281801793797 0.015387917585388726 -0.010799471445223979 -0.001691038478622968 0.011630521647346244 0.0019803807762291785 0.0060114255664569386 0.010254454213092488 -0.010248939805981452 -0.010440276450988304 0.010188047502595667 -0.01021806638006598 -0.010245287997173563 -0.010184364021080075 leaf_weight=1.3833937123417879 1.2975893765687967 1.8488724678754831 4.0356348231434849 6.12555078044534 0.61356838047504669 1.0842681340873244 1.4329808782786133 11.523494219407437 1.373269036412238 0.72993666492402542 1.8894439898431299 0.6737626064568748 0.51706483028828998 0.56571440398693074 13.151381872594355 0.45325339771807094 0.68385886587202549 14.857303922995923 leaf_count=7 21 11 181 65 21 11 35 83 12 15 47 31 23 15 733 22 30 837 internal_value=0 0.00456704 0.00135286 0.00255657 -0.00862828 -0.0025007 0.000817553 0.000245732 0.00949496 -0.00648655 0.00943989 0.0103213 -0.0102025 -0.01033 0.0101913 -0.0101874 -0.010282 -0.0101854 internal_weight=0 42.0048 25.423 23.5741 22.2355 4.54478 3.24719 17.649 16.5818 2.16292 5.92508 15.1984 17.6908 1.86314 13.8251 15.8276 1.29743 15.3106 internal_count=2200 1170 387 376 1030 82 61 148 783 50 228 776 948 66 764 882 51 859 is_linear=0 shrinkage=0.01 Tree=333 num_leaves=18 num_cat=0 split_feature=1 1 0 0 13 2 2 2 0 1 12 3 3 3 3 0 0 split_gain=25.0014 6.34437 4.24504 3.88193 2.14982 2.52885 3.31588 1.55493 1.24306 1.21983 0.217189 0.0250695 0.00215262 2.74265e-05 2.04863e-05 9.16223e-06 6.12325e-06 threshold=1.1660877220710828 0.80845556346269254 0.62911932954187277 1.0188919694060079 1.0614732751417961 1.2626160677949871 1.2719010105634743 1.1027606935153629 0.31415341067031349 1.1058192561221138 4.9554982271603158 0.17408222448223767 1.2351688403888856 0.61313736928646123 1.2640297647729313 1.3090382536679732 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 8 -3 9 5 10 -7 -5 -1 -4 -2 -10 -6 -13 15 -14 -16 right_child=4 2 3 7 12 6 -8 -9 11 -11 -12 13 14 -15 16 -17 -18 leaf_value=0.00041213427232707233 -0.012348721370773275 -0.014282172243807619 0.0096714690189779115 0.0088091576808301646 -0.010645200199281859 0.016771719695799939 -0.0052727522866880564 -0.0014411662769139349 0.011612050952389952 -0.0044124473669763459 -0.0071065917417273217 0.010251879013777372 -0.010266103232473312 0.010186143636097027 -0.010219404107513506 -0.010199136357904386 -0.010183038204166833 leaf_weight=1.3831882178783441 1.3609547242522269 1.6020511984825159 6.8956084325909641 1.6591410376131523 1.096374219283464 1.143943674862385 1.6909606494009493 13.699566261842845 1.361756607890128 0.67518334835767735 1.8850983548909424 0.66722528077661891 0.44643072038888831 13.022945713251827 0.47839082032441993 0.37670054100453854 14.404298642650245 leaf_count=7 13 8 249 22 29 10 33 131 12 4 37 31 20 733 23 20 818 internal_value=0 0.00467648 0.00145539 0.00255495 -0.00837286 -0.0032779 0.00362266 -0.000333864 0.00948437 0.00841543 -0.00930443 0.0103181 -0.0102168 0.0101893 -0.0101869 -0.0102355 -0.0101842 internal_weight=0 40.9667 24.5316 22.9295 22.8832 6.08096 2.8349 15.3587 16.4351 7.57079 3.24605 15.0519 16.8022 13.6902 15.7058 0.823131 14.8827 internal_count=2200 1197 414 406 1003 93 43 153 783 253 50 776 910 764 881 40 841 is_linear=0 shrinkage=0.01 Tree=334 num_leaves=19 num_cat=0 split_feature=13 1 0 1 3 12 12 0 2 2 2 3 12 0 3 4 0 1 split_gain=24.701 6.5578 4.52261 3.6819 2.14728 1.24501 3.34338 1.24208 1.21746 0.790392 0.327575 0.0242889 0.000331534 9.55189e-05 2.66142e-05 1.94332e-05 1.86207e-05 4.94686e-06 threshold=0.85162615880101311 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 5.3611511359867654 5.4117715327450009 0.31415341067031349 1.1555240255680828 1.3345228717909889 1.1348528270257934 0.17408222448223767 5.4588099803130126 1.223894463963197 0.61313736928646123 0.37470171316558165 1.1344652928718959 1.1899369278690821 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 7 -3 10 5 -2 -7 -1 -5 -8 -4 -9 13 16 -13 -14 -6 -17 right_child=4 2 3 8 12 6 9 11 -10 -11 -12 14 15 -15 -16 17 -18 -19 leaf_value=0.00040807318492571646 -0.010794440460684741 -0.013725968600322663 0.011035614056422624 0.0038543766207584872 -0.010318387411527933 0.01505542730693318 -0.010792392789846155 0.011593815731981909 -0.0016720126576935928 0.0020444156859024398 0.0059608566072331037 0.010249329531357656 -0.010244553640043797 -0.010434821610630226 0.010184258361156886 -0.010211532480570695 -0.010241993430516277 -0.010180570823839892 leaf_weight=1.3829847201705003 1.2827186398208166 1.8473937660455728 3.9647813551127937 6.1002278793603208 0.60527672432363278 1.0953584611415865 1.4113601334393027 1.3503168001770962 11.503461636602877 0.72658645920455445 1.8728133030235765 0.66074975021183391 0.50813635252416034 0.55878659151494492 12.895740000531076 0.53510641306638618 0.6747495923191309 14.480790903791783 leaf_count=7 21 11 181 65 21 11 35 12 83 15 47 31 23 15 733 27 30 832 internal_value=0 0.00452552 0.0013381 0.00252529 -0.00860105 -0.00245828 0.000848847 0.00947375 0.000243054 -0.00642977 0.00940753 0.0103148 -0.0101988 -0.0103257 0.0101874 -0.0101837 -0.0102781 -0.0101817 internal_weight=0 41.5785 25.2887 23.4413 21.8789 4.51602 3.23331 16.2898 17.6037 2.13795 5.83759 14.9068 17.3628 1.83881 13.5565 15.524 1.28003 15.0159 internal_count=2200 1170 387 376 1030 82 61 783 148 50 228 776 948 66 764 882 51 859 is_linear=0 shrinkage=0.01 Tree=335 num_leaves=17 num_cat=0 split_feature=1 4 2 12 2 0 3 12 3 2 2 0 2 13 12 4 split_gain=24.388 6.27614 6.42801 5.66263 4.2642 3.05363 2.14922 1.72909 1.68274 1.55653 3.47342 0.772608 0.753509 0.000988417 2.95409e-05 6.92694e-06 threshold=1.1660877220710828 0.37470171316558165 1.2169811510592434 2.8519184598181413 1.1027606935153629 1.0867160002493412 1.2471304352583659 4.9554982271603158 0.65509567554656234 1.2626160677949871 1.2719010105634743 0.31415341067031349 1.3345228717909889 0.97735317110040087 5.4713193138510237 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 7 -3 8 -6 9 11 -5 -2 -11 -1 -12 -8 -15 -16 right_child=6 3 -4 4 5 -7 13 -9 -10 10 12 -13 -14 14 15 -17 leaf_value=0.0020415764946822897 -0.0090052245048415722 -0.023228960875208579 -0.012431805590612372 -0.0047050511213159694 0.0032196179722219103 -0.0065070102231695025 -0.010499592366585321 0.025721529081486314 0.011823698800638357 0.014734065572327466 -0.010688520186026331 0.0097764993805108096 0.0017167433312583 -0.010250764996371026 -0.010219927581596682 -0.010178952472342644 leaf_weight=1.3904600664973354 2.6156954169273403 0.95955172926187771 1.3952362723648537 0.71760200709104793 6.8875702768564206 6.0742125045508146 1.0527994539588714 0.65678635239601035 4.3476105928421021 1.2226682342588904 1.4048095028847458 18.118802215903997 0.75160859338939179 0.61653299070894618 0.42471046186983485 14.436989370733498 leaf_count=7 30 5 12 5 86 79 29 3 179 8 35 821 16 27 21 837 internal_value=0 0.0046344 0.00832629 0.000441864 0.00170183 -0.00133852 -0.008343 0.00976248 0.00948203 -0.00321364 0.00126953 0.00922522 -0.00636473 -0.0102031 -0.0101829 -0.0101801 internal_weight=0 40.5478 21.5613 18.9865 18.027 12.9618 22.5258 20.166 5.06521 5.99478 3.37909 19.5093 2.15642 16.531 15.4782 14.8617 internal_count=2200 1197 843 354 349 165 1003 831 184 89 59 828 51 914 885 858 is_linear=0 shrinkage=0.01 Tree=336 num_leaves=19 num_cat=0 split_feature=13 1 0 1 3 0 12 12 2 2 2 3 12 0 3 4 0 1 split_gain=24.0825 6.48077 4.3817 3.62408 2.14817 1.23431 1.23249 3.26043 1.18448 0.784024 0.329562 0.0229168 0.000315738 9.03043e-05 2.57088e-05 1.82472e-05 1.7599e-05 4.84931e-06 threshold=0.85162615880101311 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.31415341067031349 5.3611511359867654 5.4117715327450009 1.1555240255680828 1.3345228717909889 1.1348528270257934 0.17408222448223767 5.4588099803130126 1.223894463963197 0.61313736928646123 0.37470171316558165 1.1344652928718959 1.1899369278690821 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 10 6 -1 -2 -8 -5 -9 -4 -7 13 16 -13 -14 -6 -17 right_child=4 2 3 8 12 11 7 9 -10 -11 -12 14 15 -15 -16 17 -18 -19 leaf_value=0.00042616351725922787 -0.010782765370133909 -0.013524281435368657 0.011030234625355071 0.0038042235896812082 -0.010312653254686863 0.011560786362663894 0.01480202361933982 -0.010790839219913676 -0.0016579004365115729 0.0020170315959324829 0.0059133356051418607 0.010245161971974132 -0.010239569014213738 -0.010426863208076009 0.010180622366054855 -0.010207852760314749 -0.010237735359170601 -0.010176932827073286 leaf_weight=1.3832886293530489 1.2651385217905069 1.8437914028763795 3.8946139123290804 6.069548478350046 0.59477104805410153 1.3294073790311802 1.1037062965333464 1.3918479811400177 11.477896295487879 0.72789004258811463 1.85976305603981 0.64886540733277698 0.49825352430343528 0.5490698106586932 12.648857966065405 0.52601798437535663 0.66317565180361271 14.1990904007107 leaf_count=7 21 11 181 65 21 12 11 35 83 15 47 31 23 15 733 27 30 832 internal_value=0 0.00448197 0.00131556 0.00248979 -0.00857283 0.00945506 -0.0024185 0.00086431 0.000231413 -0.00639279 0.0093765 0.0103089 -0.0101949 -0.0103199 0.0101838 -0.0101801 -0.0102732 -0.010178 internal_weight=0 41.156 25.1456 23.3018 21.519 16.0104 4.48858 3.22344 17.5474 2.11974 5.75438 14.6271 17.0304 1.80702 13.2977 15.2234 1.25795 14.7251 internal_count=2200 1170 387 376 1030 783 82 61 148 50 228 776 948 66 764 882 51 859 is_linear=0 shrinkage=0.01 Tree=337 num_leaves=18 num_cat=0 split_feature=1 4 2 12 2 0 13 2 2 12 3 0 12 3 3 0 0 split_gain=23.792 6.17804 6.32964 5.48385 4.1856 2.98961 2.15153 2.4778 3.1485 1.67532 1.66306 0.766224 0.219237 0.00205829 1.972e-05 7.746e-06 5.4214e-06 threshold=1.1660877220710828 0.37470171316558165 1.2169811510592434 2.8519184598181413 1.1027606935153629 1.0867160002493412 1.0614732751417961 1.2626160677949871 1.2719010105634743 4.9554982271603158 0.65509567554656234 0.31415341067031349 4.9554982271603158 1.2351688403888856 1.2640297647729313 1.3090382536679732 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 9 -3 10 -6 7 12 -9 11 -5 -1 -2 -8 15 -15 -16 right_child=6 3 -4 4 5 -7 13 8 -10 -11 -12 -13 -14 14 16 -17 -18 leaf_value=0.0020433919016006816 -0.012321154141291757 -0.02281881122180502 -0.012318205862997802 -0.0046527807002184358 0.0031850947616939946 -0.0064583353909367083 -0.010632978675417638 0.016350224886078776 -0.0051666768026604826 0.02542102221261093 0.011819473568223294 0.0097550656908086154 -0.0070048099776650321 -0.010256738543299233 -0.010210627427518992 -0.01019415984070134 -0.010175733070699463 leaf_weight=1.388846524059782 1.3376862294971972 0.96292313374579208 1.3927040174603451 0.71552449092269199 6.8707829825580102 6.0415997859090567 1.0721875857561851 1.1514849625527861 1.6610556207597253 0.65832582116126914 4.2741086557507515 17.818707143887877 1.8463275022804735 0.43043155781924625 0.46003714203834434 0.36598052456974983 13.84931964240968 leaf_count=7 13 5 12 5 86 79 29 10 33 3 179 821 37 20 23 20 818 internal_value=0 0.00459385 0.00829031 0.000428371 0.0016788 -0.00132699 -0.00831318 -0.00319685 0.00364258 0.00973508 0.00945732 0.00919746 -0.00923834 -0.0102096 -0.0101796 -0.010228 -0.0101769 internal_weight=0 40.1235 21.2586 18.8649 17.902 12.9124 22.1745 5.99655 2.81254 19.8659 4.98963 19.2076 3.18401 16.178 15.1058 0.796412 14.3094 internal_count=2200 1197 843 354 349 165 1003 93 43 831 184 828 50 910 881 40 841 is_linear=0 shrinkage=0.01 Tree=338 num_leaves=18 num_cat=0 split_feature=1 1 0 0 13 2 2 2 2 1 1 12 13 3 3 0 0 split_gain=23.4878 6.14636 3.9024 3.70814 2.151 2.44359 3.07411 1.43965 1.23169 1.22184 0.572914 0.21867 0.0982047 0.00199911 1.91335e-05 7.51598e-06 5.25814e-06 threshold=1.1660877220710828 0.80845556346269254 0.62911932954187277 1.0188919694060079 1.0614732751417961 1.2626160677949871 1.2719010105634743 1.1027606935153629 0.56803303682406159 1.1058192561221138 0.46249402795761568 4.9554982271603158 0.0064018138657804258 1.2351688403888856 1.2640297647729313 1.3090382536679732 1.1546668796111181 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 8 -3 9 5 11 -7 -5 -1 -4 -10 -2 -12 -6 15 -15 -16 right_child=4 2 3 7 13 6 -8 -9 10 -11 12 -13 -14 14 16 -17 -18 leaf_value=-0.0054123783458024663 -0.012298159342166715 -0.013660174589112459 0.0096076689754663654 0.0085656843267623278 -0.010626708955111912 0.016115338412478995 -0.0051364920645058255 -0.0014003279516569284 0.0027505775753547197 -0.0045255106755343281 0.014336126702418966 -0.006970432487005635 0.010306088587525164 -0.010254137231333607 -0.010208488315370769 -0.01019219248655549 -0.010173954699350117 leaf_weight=0.53948166221380134 1.3268398828804522 1.605017445981505 6.6734851133078363 1.6223894152790297 1.0621423032134796 1.1565598100423815 1.65414347872138 13.60101557523012 1.0268164705485094 0.67342060804367054 0.63293561339378257 1.8369263261556623 13.537056650966404 0.42625626176595588 0.45555465295910735 0.36240854673087597 13.713901437819002 leaf_count=18 13 8 249 22 29 10 33 131 32 4 3 37 730 20 23 20 818 internal_value=0 0.00457229 0.0014062 0.00247759 -0.00829775 -0.00317685 0.0036083 -0.00033823 0.0094363 0.00831222 0.00996343 -0.00920481 0.0104861 -0.0102075 -0.0101777 -0.0102257 -0.0101751 internal_weight=0 39.9116 24.1753 22.5703 21.9947 5.97447 2.8107 15.2234 15.7363 7.34691 15.1968 3.16377 14.17 16.0203 14.9581 0.788665 14.1695 internal_count=2200 1197 414 406 1003 93 43 153 783 253 765 50 733 910 881 40 841 is_linear=0 shrinkage=0.01 Tree=339 num_leaves=19 num_cat=0 split_feature=13 1 0 1 3 0 12 12 2 2 2 3 12 0 3 4 0 1 split_gain=23.2035 6.3486 4.16704 3.53686 2.15644 1.23855 1.22877 3.13741 1.15023 0.791339 0.33162 0.0210486 0.000308639 9.32259e-05 2.47633e-05 1.7333e-05 1.68777e-05 4.96231e-06 threshold=0.85162615880101311 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.31415341067031349 5.3611511359867654 5.4117715327450009 1.1555240255680828 1.3345228717909889 1.1348528270257934 0.17408222448223767 5.4588099803130126 1.2353254972663301 0.61313736928646123 0.37470171316558165 1.1344652928718959 1.1899369278690821 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 10 6 -1 -2 -8 -5 -9 -4 -7 13 16 -13 -14 -6 -17 right_child=4 2 3 8 12 11 7 9 -10 -11 -12 14 15 -15 -16 17 -18 -19 leaf_value=0.0003752406763881846 -0.010769511137374201 -0.013201576138345588 0.011020748080705467 0.0037572937182970283 -0.010307239359834042 0.01151366620287466 0.014490001907496157 -0.010785297617500999 -0.0016430301020538315 0.0021768490013892175 0.0058470748864918477 0.010239389038383791 -0.010233508145046285 -0.010427478506286159 0.010175315822775125 -0.010203256661643378 -0.010233814502971464 -0.01017162723621671 leaf_weight=1.3792085126042355 1.2452092766761804 1.8381332531571413 3.7948322445154217 6.0202293619513538 0.58433877862990147 1.2993813753128041 1.1135271452367308 1.3625536095350983 11.436564641073344 0.71979490295052517 1.8394577037543056 0.63432740792632003 0.48571895249187846 0.51625720970332611 12.288687787950037 0.51453342847525974 0.67433776892721653 13.787549417465923 leaf_count=7 21 11 181 65 21 12 11 35 83 15 47 31 23 14 733 27 31 832 internal_value=0 0.00442021 0.00128926 0.00244278 -0.00853052 0.00942304 -0.00234266 0.000940697 0.00021935 -0.00630474 0.00933167 0.0103004 -0.0101897 -0.0103143 0.0101785 -0.0101748 -0.0102679 -0.0101728 internal_weight=0 40.5308 24.9292 23.0911 21.0038 15.6016 4.44108 3.19588 17.4568 2.08235 5.63429 14.2224 16.5627 1.77493 12.923 14.7878 1.25868 14.3021 internal_count=2200 1170 387 376 1030 783 82 61 148 50 228 776 948 66 764 882 52 859 is_linear=0 shrinkage=0.01 Tree=340 num_leaves=17 num_cat=0 split_feature=1 4 2 0 2 0 3 12 2 2 2 2 3 13 12 4 split_gain=22.9094 6.05793 6.22214 5.28705 5.3762 2.90718 2.15052 1.62899 1.50486 3.26049 1.2236 0.758934 0.641415 0.000934595 2.75399e-05 6.11502e-06 threshold=1.1660877220710828 0.37470171316558165 1.2169811510592434 0.61398027225796947 1.1027606935153629 1.0867160002493412 1.2471304352583659 4.9554982271603158 1.2626160677949871 1.2719010105634743 0.56803303682406159 1.3345228717909889 1.2537081564319763 0.97735317110040087 5.4713193138510237 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 7 -3 12 -6 8 10 -2 -10 -1 -11 -5 -8 -15 -16 right_child=6 3 -4 4 5 -7 13 -9 9 11 -12 -13 -14 14 15 -17 leaf_value=-0.005957274770746205 -0.0088880474861472922 -0.017907542835124399 -0.012205424275476471 0.010140196914428176 0.00313547692531648 -0.006399687017272641 -0.010487081465825642 0.025146677256723492 0.014240529171685621 -0.010677417942912777 0.0095895290668590281 0.0018893362938366914 0.022280267190746005 -0.010240799250924231 -0.010209489503969367 -0.010170076813061495 leaf_weight=0.520679788663993 2.5550987590104368 1.4550899453461195 1.3892502225935448 3.9012704435735968 6.838285416364668 6.0058183576911688 1.0194191653281439 0.65964370965957542 1.2307271845638754 1.363395690917969 18.254140982404351 0.74217396043241013 0.4898536019027232 0.59242734871804614 0.40527160838246246 13.744838763028381 leaf_count=17 30 16 12 170 86 79 29 3 8 35 811 16 3 27 21 837 internal_value=0 0.00453006 0.00823956 0.000397134 0.00194251 -0.0013231 -0.00826756 0.00970105 -0.00311284 0.0013101 0.00915837 -0.00624787 0.0114945 -0.0101943 -0.010174 -0.0101712 internal_weight=0 39.514 20.8237 18.6903 17.2352 12.8441 21.6534 19.4345 5.8914 3.3363 18.7748 2.10557 4.39112 15.762 14.7425 14.1501 internal_count=2200 1197 843 354 338 165 1003 831 89 59 828 51 173 914 885 858 is_linear=0 shrinkage=0.01 Tree=341 num_leaves=15 num_cat=0 split_feature=1 1 3 3 13 3 0 13 12 13 12 4 3 4 split_gain=22.6354 7.0312 2.94089 2.27495 1.83582 1.63896 1.12613 0.858635 0.612683 0.00400713 0.00258267 0.000333545 0.000197459 5.97666e-06 threshold=1.2071296172255412 0.95282455020400814 0.17408222448223767 1.2351688403888856 0.81992547120608383 0.92418840188043572 1.1427926010382323 0.97735317110040087 4.6533632910829281 0.89467626681772028 5.4588099803130126 0.45701416357615993 1.2471304352583659 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 5 -5 -3 -7 -2 11 -6 -9 -4 -12 -14 right_child=7 3 8 4 9 6 -8 10 -10 -11 12 -13 13 -15 leaf_value=0.00023828139413708749 -0.0041230721686430953 -0.0073917561178468739 0.010182274027284116 -0.00031094926339121686 -0.011126468385319306 0.0056668075052939597 -0.000685016394298526 -0.010706381068164498 0.0011254014128180905 -0.010327290413065295 -0.010318216710676998 0.010457154330322458 -0.010207365138970205 -0.010168192687868673 leaf_weight=3.9547602385282543 2.7202106826007393 1.5647945888340498 16.279716560617096 4.0877816900610915 0.88210810348391566 8.077395420521496 4.264990020543336 0.99217149056494136 0.78048209473490615 2.172844048589468 0.95337570086121459 0.45373883098363776 0.40132217481732269 13.211633346974848 leaf_count=24 37 16 964 24 15 84 31 23 6 91 37 14 21 813 internal_value=0 0.00400035 0.00802704 -0.00010644 -0.00469364 0.00224955 0.00347189 -0.00930646 0.00978579 -0.0105581 -0.0102127 0.0101897 -0.0101791 -0.0101693 internal_weight=0 42.5186 21.4687 21.0499 7.14273 13.9072 12.3424 18.2787 17.5139 3.05495 15.5585 16.7335 14.5663 13.613 internal_count=2200 1269 1008 261 130 131 115 931 984 106 894 978 871 834 is_linear=0 shrinkage=0.01 Tree=342 num_leaves=14 num_cat=0 split_feature=1 1 0 1 3 0 13 3 3 12 3 3 4 split_gain=22.3576 6.9682 3.45183 3.9055 2.72104 1.23913 0.862504 0.336982 0.0198888 0.00250714 0.000191602 2.31433e-05 5.79813e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2351688403888856 0.31415341067031349 0.97735317110040087 1.2190084357665867 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00034388422663574135 -0.0040946596805417172 -0.013284282975450111 0.010530910431932702 0.0024423044100789436 -0.0053359554699646964 0.011482316632648591 -0.010699241250304279 0.0043869499572128838 0.010232978878161405 -0.010314991231907867 -0.010205262955122205 0.010170272068744952 -0.010166490578592076 leaf_weight=1.375895682722329 2.7117378059774664 1.6053111925721193 4.3952246904373196 13.123560868203642 6.8424187283962956 1.2789682075381268 0.9829514417797317 1.1202374789863823 0.61906898207962413 0.94418313167989154 0.39741039276122947 11.945267317816613 13.082354227080939 leaf_count=7 37 8 218 122 128 12 23 10 31 37 21 733 813 internal_value=0 0.00398043 0.000938305 0.00183432 -0.000223335 0.00939473 -0.00929524 0.00928302 0.0102943 -0.0102106 -0.0101773 0.0101734 -0.0101676 internal_weight=0 42.306 27.0868 25.4814 19.966 15.2192 18.1186 5.51546 13.8433 15.4069 14.4239 12.5643 13.4798 internal_count=2200 1269 486 478 250 783 931 228 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=343 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=22.082 6.91603 3.3933 3.55583 2.13343 1.238 0.866339 0.599269 0.0192722 0.00243382 0.000185919 2.24588e-05 5.62483e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 1.2351688403888856 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00034048725962899359 -0.0040663676352674146 -0.016436062265742023 0.010602606562252939 0.0021216131656981597 -0.0046308502696825295 0.011465715907213472 -0.010692175509737467 0.0010670625006207551 0.010230624683501211 -0.010311799028403637 -0.010203182018996518 0.01016854943579109 -0.010164805925713227 leaf_weight=1.3757264576852311 2.7033411841839579 1.0800273120403314 4.3142281882464912 13.754432987421753 7.0913633201271287 1.2680664137005795 0.97381080687045951 0.77790715545415867 0.6130494736134996 0.93507628701627155 0.39353593625128169 11.828402545303105 12.954317960888146 leaf_count=7 37 5 215 130 130 12 23 6 31 37 21 733 813 internal_value=0 0.00395981 0.000931354 0.00165451 -0.000175453 0.00938382 -0.00928396 0.0091459 0.0102913 -0.0102085 -0.0101755 0.0101716 -0.0101659 internal_weight=0 42.1032 27.018 25.9379 20.8458 15.0852 17.9601 5.09214 13.7095 15.2567 14.2829 12.4415 13.3479 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=344 num_leaves=14 num_cat=0 split_feature=1 1 0 1 3 0 13 3 3 12 3 3 4 split_gain=21.8085 6.86506 3.3352 3.82991 2.63193 1.23686 0.87014 0.338385 0.018675 0.00236263 0.000180402 2.17936e-05 5.45643e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2351688403888856 0.31415341067031349 0.97735317110040087 1.2190084357665867 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00033712334370132098 -0.004038196194858441 -0.013049036393044913 0.010524127620111725 0.0023978694909557829 -0.0052673990918520033 0.011449321764086645 -0.010685182187909764 0.0043474733780275512 0.0102282943253335 -0.010308639803020801 -0.01020112267285799 0.010166845718032875 -0.010163139724191332 leaf_weight=1.3755588605999935 2.6950201895087984 1.6063594073057199 4.3137851553037789 13.117032250389459 6.8023831956088534 1.2572375759482373 0.96474905125796695 1.1165324524044988 0.60708712413906951 0.92605442181229491 0.38969844486564298 11.712661290541289 12.827512503601609 leaf_count=7 37 8 218 122 128 12 23 10 31 37 21 733 813 internal_value=0 0.00393862 0.000924227 0.00180968 -0.000219782 0.00937289 -0.00927264 0.00925414 0.0102884 -0.0102064 -0.0101737 0.0101699 -0.0101643 internal_weight=0 41.9086 26.9561 25.3497 19.9194 14.9525 17.803 5.43032 13.577 15.108 14.1433 12.3197 13.2172 internal_count=2200 1269 486 478 250 783 931 228 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=345 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 2 13 12 1 13 12 3 4 split_gain=21.5393 6.8134 3.27035 3.48273 2.07412 1.24298 0.873907 0.602687 0.588939 0.0925983 0.00229352 0.00017505 5.2933e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.56803303682406159 0.97735317110040087 4.6533632910829281 0.46249402795761568 0.0064018138657804258 5.4588099803130126 1.2471304352583659 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -10 -8 -12 -13 right_child=6 2 3 4 -6 8 10 -9 9 -11 11 12 -14 leaf_value=-0.005691952475628809 -0.0040101457548388491 -0.016118355248851725 0.010598945362391112 -0.014378426204524898 0.00053008182206752403 0.0024914035506034275 -0.010678261330883768 0.0010094807223508893 0.014226697002250195 0.010288270802392523 -0.010305513218213965 -0.010199084975985446 -0.010161490311345715 leaf_weight=0.52891701273620029 2.6867743190377977 1.0815444141626382 4.2355637196451452 0.9792961366474654 19.81657437607646 0.99331502709537645 0.95576560311019321 0.7753726691007613 0.6264900416135778 12.672366743907331 0.91711679100990195 0.38589757960289617 12.70192781742662 leaf_count=18 37 5 215 8 252 32 23 6 3 730 37 21 813 internal_value=0 0.00391806 0.000917356 0.00163131 -0.000171973 0.00936192 -0.00926126 0.00911511 0.00991902 0.0104738 -0.0102043 -0.010172 -0.0101626 internal_weight=0 41.7094 26.8884 25.8068 20.7959 14.8211 17.6475 5.01094 14.2922 13.2989 14.9607 14.0049 13.0878 internal_count=2200 1269 486 481 260 783 931 221 765 733 894 871 834 is_linear=0 shrinkage=0.01 Tree=346 num_leaves=14 num_cat=0 split_feature=1 1 0 1 3 0 13 3 3 12 3 3 4 split_gain=21.2694 6.7622 3.20878 3.75709 2.59026 1.24706 0.877638 0.340521 0.0176147 0.00222644 0.000169859 2.11209e-05 5.13525e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2351688403888856 0.31415341067031349 0.97735317110040087 1.2190084357665867 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00026733054517149169 -0.0039822168744520527 -0.012797235553913929 0.010517584805873089 0.002377632249338226 -0.0052346907130787369 0.011419244627440038 -0.010671411727129014 0.0042995026346411688 0.010224465523360846 -0.010302418729330741 -0.010197068153555224 0.010163536208407282 -0.010159857043459522 leaf_weight=1.3711203075945366 2.6786028649657991 1.6057000234723116 4.2342200111597803 13.107171585783364 6.7834125421941271 1.2374305501580227 0.94685989990830322 1.1119968350976703 0.59857694339007039 0.90826268400996824 0.38213302567601104 11.48770802747458 12.577552548609672 leaf_count=7 37 8 218 122 128 12 23 10 31 37 21 733 813 internal_value=0 0.00389515 0.000909798 0.00178191 -0.000218447 0.00934838 -0.00924984 0.00922424 0.0102829 -0.0102023 -0.0101702 0.0101666 -0.010161 internal_weight=0 41.5373 26.8425 25.2368 19.8906 14.6948 17.4934 5.34622 13.3237 14.8148 13.8679 12.0863 12.9597 internal_count=2200 1269 486 478 250 783 931 228 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=347 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=21.0066 6.71103 3.15247 3.41133 2.03919 1.24576 0.881335 0.605997 0.0170697 0.00216131 0.00016482 2.04956e-05 4.9816e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00026468264827900521 -0.0039544092412120554 -0.015811960922052382 0.0105953706937051 -0.014305712111568796 0.00052631286600744482 0.011403427026408026 -0.010664632563439106 0.00095272822463464489 0.010222198077302583 -0.010299356311488341 -0.010195071785347674 0.010161883255573569 -0.010158241448590677 leaf_weight=1.370988257229327 2.670505283400419 1.0827123969793344 4.1583585534244802 0.97250547260046261 19.78910418599844 1.2268087565898884 0.93803140707313915 0.77288083732128132 0.59275179449468751 0.89949136041104694 0.37840444780886073 11.375243805348871 12.454374613240359 leaf_count=7 37 5 215 8 252 12 23 6 31 37 21 733 813 internal_value=0 0.00387468 0.000903016 0.0016074 -0.000168442 0.00933734 -0.00923836 0.00908406 0.01028 -0.0102002 -0.0101685 0.0101649 -0.0101593 internal_weight=0 41.3414 26.7756 25.6928 20.7616 14.5658 17.3408 4.93124 13.1948 14.6703 13.7323 11.968 12.8328 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=348 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 2 13 12 1 13 12 3 4 split_gain=20.7437 6.66308 3.08931 3.37531 2.02979 1.24508 0.884997 0.60545 0.596324 0.089455 0.00209808 0.000159931 4.83267e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 1.2351688403888856 0.56803303682406159 0.97735317110040087 4.6533632910829281 0.46249402795761568 0.0064018138657804258 5.4588099803130126 1.2471304352583659 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -10 -8 -12 -13 right_child=6 2 3 4 -6 8 10 -9 9 -11 11 12 -14 leaf_value=-0.005789716709582492 -0.0039267235949466449 -0.015646505717905598 0.010591112907812297 0.0020721707361218557 -0.0045345505600025314 0.0023804221504259882 -0.010657923247543983 0.00094364390480432855 0.014164773095590829 0.010279940182751348 -0.010296325464161952 -0.010193096290074451 -0.010156642328136458 leaf_weight=0.52509249746799369 2.6624810062348869 1.0832173675298715 4.1186289871111539 13.721805082634093 7.0341153908520928 0.98109270725399156 0.92927953042089839 0.77252009510993946 0.62272082269191642 12.30905544105917 0.89080210216343303 0.37471150141209264 12.332383340224622 leaf_count=18 37 5 215 130 130 32 23 6 3 730 37 21 813 internal_value=0 0.00385226 0.000895563 0.00159423 -0.000166826 0.00932627 -0.00922683 0.00906737 0.00989677 0.010467 -0.0101982 -0.0101668 -0.0101577 internal_weight=0 41.1682 26.7303 25.6471 20.7559 14.438 17.1897 4.89115 13.9129 12.9318 14.5272 13.5979 12.7071 internal_count=2200 1269 486 481 260 783 931 221 765 733 894 871 834 is_linear=0 shrinkage=0.01 Tree=349 num_leaves=14 num_cat=0 split_feature=1 1 0 1 3 0 13 2 3 12 3 3 4 split_gain=20.4855 6.61041 3.04484 3.65287 2.50986 1.25556 0.888624 0.344828 0.016101 0.0020367 0.000155188 1.98807e-05 4.68826e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2351688403888856 0.31415341067031349 0.97735317110040087 1.1348528270257934 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00019642686360403305 -0.0038991601118947734 -0.012467407038319769 0.011004644637395424 0.0023373329129662756 -0.005170643334877891 0.01137437706745281 -0.010651282943426899 0.0055610755624036761 0.010218506752026719 -0.01029332571120356 -0.010191141212663847 0.01015867721229579 -0.010155059501888927 leaf_weight=1.3665890842676152 2.6545293666422394 1.6042272374033952 3.4759078416973379 13.094429014250638 6.7465079464018336 1.2073639631271351 0.92060374282300372 1.7493378771468995 0.58448791410773893 0.88219419773667951 0.37105387635528941 11.156791608780621 12.211567373946307 leaf_count=7 37 8 181 122 128 12 23 47 31 37 21 733 813 internal_value=0 0.00383093 0.000888664 0.00174345 -0.000215602 0.00931262 -0.00921525 0.00918222 0.0102747 -0.0101962 -0.0101651 0.0101617 -0.0101561 internal_weight=0 40.9856 26.6704 25.0662 19.8409 14.3152 17.0399 5.22525 12.9486 14.3854 13.4648 11.7413 12.5826 internal_count=2200 1269 486 478 250 783 931 228 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=350 num_leaves=14 num_cat=0 split_feature=1 1 0 1 3 0 13 3 3 12 3 3 4 split_gain=20.2317 6.56017 2.98512 3.6124 2.46554 1.2541 0.892216 0.346046 0.0156035 0.00197711 0.000150584 1.92916e-05 4.54802e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2351688403888856 0.31415341067031349 0.97735317110040087 1.2190084357665867 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00019447659630077337 -0.0038717186792721799 -0.012339785798275913 0.010504878668051464 0.0023145524740942626 -0.0051346808519584777 0.011359112249689855 -0.010644711324081808 0.0041918103288484275 0.010216300080021652 -0.010290356901036319 -0.010189206143698898 0.010157074401103399 -0.010153493386365158 leaf_weight=1.3664917349815358 2.6466498784720924 1.6046084016561533 4.0817757947370437 13.091091310605409 6.7259254874661556 1.1969488039612759 0.91200346127152343 1.1028662137687204 0.57879652921110292 0.87366694305091996 0.36743125040084024 11.047514006495474 12.091916071251033 leaf_count=7 37 8 218 122 128 12 23 10 31 37 21 733 813 internal_value=0 0.00381045 0.000881957 0.00173053 -0.000213729 0.00930147 -0.00920362 0.00916198 0.0102719 -0.0101943 -0.0101634 0.01016 -0.0101545 internal_weight=0 40.796 26.6063 25.0017 19.817 14.1898 16.8917 5.18464 12.8233 14.245 13.333 11.6263 12.4593 internal_count=2200 1269 486 478 250 783 931 228 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=351 num_leaves=14 num_cat=0 split_feature=1 1 0 2 3 0 0 13 3 12 3 3 4 split_gain=19.9812 6.50998 2.92671 3.58338 1.798 1.74134 1.25264 0.895772 0.0151217 0.00191927 0.000146119 1.87202e-05 4.41215e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 1.1348528270257934 1.2351688403888856 1.1546668796111181 0.31415341067031349 0.97735317110040087 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 5 -5 -4 -1 -2 -8 -9 -11 -10 -12 right_child=7 2 3 4 -6 -7 8 9 11 10 12 -13 -14 leaf_value=0.00019254554864564188 -0.0038444003403154208 -0.012214062805068312 0.0099555517940998779 0.0017598717332177763 -0.0048438584523305475 -0.0020521835689354053 0.011344035253561568 -0.010638206734334923 0.010214115906465777 -0.010287418835266229 -0.010187290898262855 0.010155487605688344 -0.0101519426357212 leaf_weight=1.3663953244686116 2.6388418730348375 1.6049122735857988 5.9485950777307179 10.805488500744106 6.6667834855616084 1.5153577271848915 1.1866060495376576 0.90347819961607356 0.57315931841730972 0.86521961074322362 0.36384329479187627 10.939289586618541 11.973418760113416 leaf_count=7 37 8 220 116 128 14 12 23 31 37 21 733 813 internal_value=0 0.00379014 0.000875342 0.00171778 -0.000759872 0.0075177 0.00929029 -0.00919193 0.0102692 -0.0101923 -0.0101618 0.0101584 -0.010153 internal_weight=0 40.6066 26.5411 24.9362 17.4723 7.46395 14.0655 16.7448 12.6991 14.106 13.2025 11.5124 12.3373 internal_count=2200 1269 486 478 244 234 783 931 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=352 num_leaves=14 num_cat=0 split_feature=1 1 0 1 3 2 13 1 2 13 12 3 4 split_gain=19.7331 6.46046 2.86949 3.55708 2.38234 1.25283 0.899292 0.606704 0.347164 0.0864883 0.00186311 0.000141786 4.28044e-06 threshold=1.2071296172255412 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2351688403888856 0.56803303682406159 0.97735317110040087 0.46249402795761568 1.1348528270257934 0.0064018138657804258 5.4588099803130126 1.2471304352583659 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 8 -5 -1 -2 -7 -4 -9 -8 -12 -13 right_child=6 2 3 4 -6 7 10 9 -10 -11 11 12 -14 leaf_value=-0.0059718151597275291 -0.003817204627790009 -0.012090189020902265 0.011000337719485491 0.0022641948265585523 -0.0050742012112079196 0.0022256411802801246 -0.010631769020310045 0.014103801443825073 0.0054945943571414824 0.010269160012809466 -0.010284510761869918 -0.010185395545114448 -0.010150407576115888 leaf_weight=0.51861053425818582 2.6311048492789295 1.6051411330699945 3.3842149693518904 13.072622070088984 6.6866633659228674 0.96410305798053642 0.89502733945846458 0.61892102658748527 1.7310703089460728 11.840685035102068 0.85685152933001418 0.36028969008475442 11.8560648355633 leaf_count=18 37 8 181 122 128 32 23 3 47 730 37 21 813 internal_value=0 0.00376957 0.000868667 0.00170489 -0.000219163 0.00927907 -0.00918019 0.00986827 0.00913713 0.0104596 -0.0101904 -0.0101602 -0.0101514 internal_weight=0 40.422 26.4797 24.8746 19.7593 13.9423 16.5993 13.4237 5.11529 12.4596 13.9682 13.0732 12.2164 internal_count=2200 1269 486 478 250 783 931 765 228 733 894 871 834 is_linear=0 shrinkage=0.01 Tree=353 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=19.4876 6.40823 2.83903 3.21872 1.98835 1.26197 0.902776 0.619791 0.0142639 0.00180859 0.000137581 1.81778e-05 4.15236e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00012612124991918559 -0.0037901319914381741 -0.01498350652238379 0.010590021670977438 -0.01416693458460022 0.00052433582939589258 0.011316306337381503 -0.010625398041380378 0.00076036229353325206 0.01021059807522208 -0.010281632853313485 -0.010183519345219159 0.010152413628695437 -0.010148889209014991 leaf_weight=1.3620468005537976 2.6234381701797274 1.0843029618263269 3.949708295986059 0.96655473113060253 19.650618029758334 1.1676514297723759 0.8866503406316032 0.76583464443683613 0.56522841844707628 0.84856198355555434 0.35677013453096051 10.729236708953975 11.739842921495436 leaf_count=7 37 5 215 8 252 12 23 6 31 37 21 733 813 internal_value=0 0.00374884 0.000862079 0.00154031 -0.000164406 0.00926524 -0.00916839 0.00899362 0.0102641 -0.0101885 -0.0101585 0.0101553 -0.0101499 internal_weight=0 40.2412 26.417 25.3327 20.6172 13.8242 16.4553 4.71554 12.4621 13.8318 12.9452 11.2945 12.0966 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=354 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=19.243 6.36144 2.78319 3.18436 1.96204 1.26035 0.906224 0.619014 0.013824 0.00175567 0.000133502 1.76388e-05 4.02841e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00012486569446832951 -0.0037631829142126265 -0.014833296206294545 0.010585783833392528 -0.014122642320305636 0.00051906815698447763 0.011301752039390069 -0.010619091948217103 0.00075304377939745706 0.010208471984642616 -0.010278784462917022 -0.010181662686717947 0.010150875162585313 -0.010147385468182295 leaf_weight=1.3619840964674939 2.615841310471299 1.0843302309513116 3.9119656523689654 0.95992347598076122 19.651537024416029 1.1575143784284581 0.87834669277071853 0.76554603502154339 0.55972025357186694 0.84035029541700978 0.35328429844230314 10.624081114307044 11.624743139371274 leaf_count=7 37 5 215 8 252 12 23 6 31 37 21 733 813 internal_value=0 0.00372679 0.000854931 0.0015276 -0.00016283 0.00925395 -0.00915654 0.00897651 0.0102614 -0.0101866 -0.0101569 0.0101538 -0.0101484 internal_weight=0 40.0766 26.3733 25.289 20.6115 13.7033 16.3126 4.67751 12.3413 13.6967 12.8184 11.1838 11.978 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=355 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=19.0014 6.31483 2.72863 3.1503 1.93613 1.25872 0.909636 0.618227 0.0133979 0.00170429 0.000129543 1.71159e-05 3.90802e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=0.00012362238460792162 -0.003736357534869957 -0.014685715968639639 0.010581566377114486 -0.014078822466336825 0.00051385349770423632 0.011287375111872411 -0.010612850592060226 0.00074579313837973477 0.010206367843644766 -0.010275965310532266 -0.010179825248426359 0.010149352560303162 -0.01014589788327782 leaf_weight=1.3619220219552506 2.608313690871003 1.0842748135328317 3.8745769374072578 0.953315250575545 19.652447320520878 1.1474492698907841 0.8701158557087173 0.76526018977165211 0.5542646162211885 0.83221577480435271 0.34983188007026811 10.519939998164771 11.510754141956566 leaf_count=7 37 5 215 8 252 12 23 6 31 37 21 733 813 internal_value=0 0.00370479 0.000847835 0.00151499 -0.000161269 0.00924261 -0.00914463 0.00895933 0.0102588 -0.0101847 -0.0101554 0.0101522 -0.0101469 internal_weight=0 39.9135 26.3299 25.2456 20.6058 13.5836 16.1712 4.63984 12.2217 13.5629 12.6928 11.0742 11.8606 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=356 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 2 13 12 1 13 12 3 4 split_gain=18.7627 6.26838 2.6753 3.11655 1.91061 1.26003 0.913011 0.617428 0.616892 0.0836577 0.00165442 0.000125702 3.79136e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.56803303682406159 0.97735317110040087 4.6533632910829281 0.46249402795761568 0.0064018138657804258 5.4588099803130126 1.2471304352583659 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -10 -8 -12 -13 right_child=6 2 3 4 -6 8 10 -9 9 -11 11 12 -14 leaf_value=-0.0061497150113867353 -0.0037096555068531936 -0.014540682276529706 0.010577368212605947 -0.014035469602164934 0.00050869156431116119 0.002072491787679041 -0.010606673416331487 0.00073860943748037689 0.014044812663602283 0.010258806002336592 -0.010273175141225777 -0.010178006603342938 -0.010144424934464649 leaf_weight=0.51234935130923887 2.6008547265082624 1.084139466285708 3.8375391224399236 0.94673028960824268 19.653349082916975 0.94773706514388223 0.8619572389870872 0.7649770751595496 0.61515958607196708 11.389735642820595 0.82415774837136169 0.34641256742179294 11.397866741754113 leaf_count=18 37 5 215 8 252 32 23 6 3 730 37 21 813 internal_value=0 0.00368286 0.000840791 0.00150246 -0.000159723 0.00923122 -0.00913267 0.00894208 0.00983963 0.0104528 -0.0101829 -0.0101538 -0.0101454 internal_weight=0 39.7517 26.2867 25.2026 20.6001 13.465 16.0312 4.60252 12.9526 12.0049 13.4304 12.5684 11.7443 internal_count=2200 1269 486 481 260 783 931 221 765 733 894 871 834 is_linear=0 shrinkage=0.01 Tree=357 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=18.5263 6.21944 2.62317 3.0831 1.88547 1.26758 0.916349 0.616619 0.0126382 0.001606 0.000121976 1.66371e-05 3.67826e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 0.58644753314242826 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=5.899373778438853e-05 -0.0036830783780547965 -0.01439811207144237 0.010573190046657506 -0.013992578787250113 0.00050358155141071431 0.011260899740953836 -0.010600559464756971 0.00073149285890393673 0.010203015748694883 -0.010270413608266155 -0.010176206794196414 0.010146405758510618 -0.010142966924389556 leaf_weight=1.3576234653592099 2.5934638455510131 1.0839268565177942 3.8008488155901459 0.94016885012388485 19.654242222197354 1.1289846003055561 0.85387034714221854 0.76469670981168736 0.54665371403098006 0.81617553997784753 0.34302607085555692 10.317970143631099 11.286069612950085 leaf_count=7 37 5 215 8 252 12 23 6 31 37 21 733 813 internal_value=0 0.00366064 0.000833798 0.00149001 -0.000158192 0.00921722 -0.00912065 0.00892478 0.0102539 -0.010181 -0.0101522 0.0101493 -0.0101439 internal_weight=0 39.5951 26.2439 25.16 20.5944 13.3512 15.8926 4.56555 11.9936 13.2991 12.4453 10.8646 11.6291 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=358 num_leaves=14 num_cat=0 split_feature=1 1 12 1 3 0 13 12 3 12 3 3 4 split_gain=18.2933 6.17336 2.57221 3.04995 1.87853 1.2658 0.919651 0.6158 0.0122492 0.00155899 0.00011836 1.61444e-05 3.56843e-06 threshold=1.2071296172255412 0.80845556346269254 2.8519184598181413 0.95282455020400814 1.2351688403888856 0.31415341067031349 0.97735317110040087 4.6533632910829281 0.17408222448223767 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -2 -4 -7 -8 -11 -10 -12 right_child=6 2 3 4 -6 8 9 -9 11 10 12 -13 -14 leaf_value=5.8404827722941388e-05 -0.0036566248457898611 -0.014257929088872967 0.010569032070037551 0.0019983574593956653 -0.0043905050566741292 0.011247018049942771 -0.010594508134722647 0.0007244430638102241 0.010200967286064136 -0.010267680604451769 -0.010174425235891096 0.010144927844788773 -0.010141524130771637 leaf_weight=1.3575940616428841 2.5861405283212653 1.0836395174264932 3.7645027590915587 13.643946109339597 6.9448122158646575 1.1191236823797215 0.845854626968502 0.76441899314522732 0.54132255725562473 0.80826846696436305 0.33967206533998151 10.216785121709107 11.175352870486675 leaf_count=7 37 5 215 130 130 12 23 6 31 37 21 733 813 internal_value=0 0.00363883 0.000826856 0.00147765 -0.000156675 0.00920576 -0.00910857 0.0089074 0.0102513 -0.0101792 -0.0101507 0.0101477 -0.0101425 internal_weight=0 39.4361 26.2013 25.1177 20.5888 13.2348 15.7553 4.52892 11.8772 13.1691 12.3233 10.7581 11.515 internal_count=2200 1269 486 481 260 783 931 221 776 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=359 num_leaves=14 num_cat=0 split_feature=1 1 2 3 0 0 13 3 13 12 3 3 4 split_gain=18.0649 6.1257 2.56163 2.56609 1.79736 1.26402 0.922916 0.0118723 0.00810347 0.00151336 0.000114851 1.56658e-05 3.46189e-06 threshold=1.2071296172255412 0.80845556346269254 0.77035900000382884 1.3414526916016356 1.0188919694060079 0.31415341067031349 0.97735317110040087 0.17408222448223767 0.81992547120608383 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 4 -4 -1 -2 -7 -5 -8 -11 -9 -12 right_child=6 2 3 8 -6 7 9 11 -10 10 12 -13 -14 leaf_value=5.7822299852977039e-05 -0.0036302958556444281 -0.019739630976026205 0.0061601407059601763 -0.011938054297063516 0.00025919251393350556 0.011233303955947864 -0.010588519080686263 0.010198939760809553 -0.010469945324660914 -0.010264975455735662 -0.010172662082892699 0.010143465923118147 -0.010140096203119422 leaf_weight=1.3575649745762337 2.5788842141628256 0.59226571768522518 7.5220046415925088 0.61575147509574779 16.449473844841123 1.1093341261148442 0.83790953271090884 0.53604232612997194 0.96548620332032442 0.80043588764965434 0.33635026961564918 10.116576896980403 11.065706625580786 leaf_count=7 37 3 259 5 179 12 23 31 40 37 21 733 813 internal_value=0 0.00361838 0.000820411 0.00129696 0.00211085 0.00919426 -0.00909643 0.0102488 -0.0110416 -0.0101774 -0.0101492 0.0101463 -0.0101411 internal_weight=0 39.2645 26.145 25.5527 23.9715 13.1195 15.6193 11.762 1.58124 13.0404 12.2025 10.6526 11.4021 internal_count=2200 1269 486 483 438 783 931 776 45 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=360 num_leaves=14 num_cat=0 split_feature=12 1 0 1 13 2 3 1 2 13 3 12 3 split_gain=17.8492 6.38913 2.78279 3.37666 1.83344 1.26665 1.20276 0.626876 0.355979 0.0809542 0.00513622 0.000109392 9.58782e-06 threshold=5.4117715327450009 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.95879509718582689 0.56803303682406159 1.2471304352583659 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2306326518141948 5.5009394152753464 1.2537081564319763 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 8 -2 -1 -5 -7 -4 -9 -6 -12 -13 right_child=4 2 3 6 10 7 -8 9 -10 -11 11 12 -14 leaf_value=-0.0063233841120445486 0.01040370659335889 -0.011327144537874687 0.011001226640409527 0.0011436442463856548 -0.010852699347052061 0.0019210696910235742 -0.0044390457216408339 0.013987703543582466 0.0052960764887112644 0.010248861868848507 -0.01026911218422601 -0.010191072933484336 -0.010141405453371884 leaf_weight=0.5062994621694078 0.44538836926221748 1.8073722720146204 3.1681030215695527 15.429636728018524 1.1331855952739704 0.93197209108620782 5.1462976401671758 0.61143632233142753 1.6702883709222076 10.955593630671499 0.73018537182360788 0.4020732780918469 11.654999568127094 leaf_count=18 8 11 181 150 29 32 79 3 47 730 35 24 853 internal_value=0 0.0034169 0.000662266 0.00151491 -0.00956843 0.0091827 -0.000252656 0.00981081 0.00903172 0.0104465 -0.0102074 -0.0101503 -0.0101431 internal_weight=0 40.227 27.2217 25.4143 14.3658 13.0053 20.5759 12.499 4.83839 11.567 13.9204 12.7873 12.0571 internal_count=2200 1251 468 457 949 783 229 765 228 733 941 912 877 is_linear=0 shrinkage=0.01 Tree=361 num_leaves=14 num_cat=0 split_feature=1 1 2 3 0 0 13 3 13 12 3 3 4 split_gain=17.6389 6.02258 2.48994 2.51773 1.76104 1.2724 0.923657 0.0111995 0.00773933 0.00143929 0.000107953 1.52442e-05 3.25929e-06 threshold=1.2071296172255412 0.80845556346269254 0.77035900000382884 1.3414526916016356 1.0188919694060079 0.31415341067031349 0.97735317110040087 0.17408222448223767 0.81992547120608383 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 4 -4 -1 -2 -7 -5 -8 -11 -9 -12 right_child=6 2 3 8 -6 7 9 11 -10 10 12 -13 -14 leaf_value=-5.0447882619928167e-06 -0.0036054864832975805 -0.019466618499404148 0.0061156175426588869 -0.011907824834750129 0.00025739757883995739 0.011208019455107934 -0.010577904391514832 0.010195746973539048 -0.010463757694106344 -0.01025955921733218 -0.010169194316319956 0.010140640230602283 -0.010137283904909256 leaf_weight=1.3533155731856812 2.5711361747235051 0.59172862023115413 7.4622952658683124 0.60889325290918239 16.428329980932176 1.0913579016923893 0.82550393976271053 0.52873886469751497 0.95044790953397751 0.78475193306803603 0.32980985101312299 9.9223866192623955 10.849530318751929 leaf_count=7 37 3 259 5 179 12 23 31 40 37 21 733 813 internal_value=0 0.00357973 0.000812173 0.00128367 0.00208723 0.00916852 -0.00907458 0.0102441 -0.0110276 -0.010174 -0.0101462 0.0101434 -0.0101382 internal_weight=0 38.9375 26.0417 25.45 23.8906 12.8958 15.3607 11.5425 1.55934 12.7896 11.9641 10.4511 11.1793 internal_count=2200 1269 486 483 438 783 931 776 45 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=362 num_leaves=14 num_cat=0 split_feature=12 1 0 1 13 0 3 2 3 3 12 3 3 split_gain=17.4269 6.28358 2.72001 3.32048 1.81999 1.27047 1.1688 0.357897 0.0108553 0.00493335 0.000106261 1.47921e-05 9.00233e-06 threshold=5.4117715327450009 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.95879509718582689 0.31415341067031349 1.2471304352583659 1.1348528270257934 0.17408222448223767 1.2306326518141948 5.5009394152753464 0.61313736928646123 1.2537081564319763 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -2 -1 -5 -4 -7 -6 -11 -10 -12 right_child=4 2 3 6 9 8 -8 -9 11 10 12 -13 -14 leaf_value=-4.9947896594976876e-06 0.010293921834434797 -0.011206990150778331 0.010996453935550675 0.0011258600430011779 -0.010841497685968276 0.011194774517816662 -0.0043882079805547319 0.0052487335890068201 0.010193772507246993 -0.010265436223387069 -0.010187224839620278 0.010139222040501852 -0.010138622519620078 leaf_weight=1.3533180989325035 0.44734510406851669 1.8051316440105463 3.1235579093918231 15.414019744843246 1.1151008186861862 1.0817706733942021 5.1213231775909653 1.6585987433791158 0.52357872016727824 0.7192100565880527 0.39424678031355043 9.8250243179500085 11.430186903104184 leaf_count=7 8 11 181 150 29 12 79 47 31 35 24 733 853 internal_value=0 0.00337698 0.000652743 0.00149834 -0.00955403 0.00915688 -0.000249297 0.00900297 0.0102416 -0.0102041 -0.0101474 0.010142 -0.0101402 internal_weight=0 39.9063 27.1226 25.3175 14.1061 12.7837 20.5353 4.78216 11.4304 13.6587 12.5436 10.3486 11.8244 internal_count=2200 1251 468 457 949 783 229 228 776 941 912 764 877 is_linear=0 shrinkage=0.01 Tree=363 num_leaves=14 num_cat=0 split_feature=1 1 2 3 0 0 13 3 13 12 3 3 4 split_gain=17.2232 5.92325 2.42091 2.47046 1.72536 1.26854 0.924309 0.0105219 0.00739258 0.00136904 0.000101472 1.43535e-05 3.06865e-06 threshold=1.2071296172255412 0.80845556346269254 0.77035900000382884 1.3414526916016356 1.0188919694060079 0.31415341067031349 0.97735317110040087 0.17408222448223767 0.81992547120608383 5.4588099803130126 1.2471304352583659 0.61313736928646123 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 4 -4 -1 -2 -7 -5 -8 -11 -9 -12 right_child=6 2 3 8 -6 7 9 11 -10 10 12 -13 -14 leaf_value=-4.944846420204095e-06 -0.0035809506606270971 -0.019203723969927197 0.0060711327543851246 -0.011878200291390702 0.00025561933016948215 0.011181687943145027 -0.010567514475707166 0.010191818045825408 -0.010457680888653403 -0.0102542561441612 -0.010165796864785128 0.01013781824040463 -0.010134528083797008 leaf_weight=1.3533205911517132 2.5634885299950829 0.59098066389560955 7.4035867629572811 0.60210487991571315 16.407386186532676 1.0722540244460095 0.81328346766531368 0.51846792735159297 0.93566867988556623 0.76936909276991983 0.32339422963559528 9.7286037961021048 10.637518796138464 leaf_count=7 37 3 259 5 179 12 23 31 40 37 21 733 813 internal_value=0 0.00354162 0.00080403 0.00127049 0.00206385 0.0091452 -0.00905254 0.0102392 -0.0110139 -0.0101708 -0.0101432 0.0101406 -0.0101355 internal_weight=0 38.6124 25.9397 25.3487 23.811 12.6726 15.1071 11.3193 1.53777 12.5436 11.7303 10.2471 10.9609 internal_count=2200 1269 486 483 438 783 931 776 45 894 871 764 834 is_linear=0 shrinkage=0.01 Tree=364 num_leaves=16 num_cat=0 split_feature=12 1 0 1 3 2 1 2 13 3 12 3 2 3 4 split_gain=17.0289 6.52607 2.57347 3.42549 1.40579 1.2727 0.636646 0.359784 0.0783694 0.000896393 1.26448e-05 3.27217e-06 2.48431e-06 2.34632e-06 2.29784e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.56803303682406159 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 0.37925891762420993 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -7 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 4 -6 6 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0064927976081224316 -0.010496114795309057 -0.011089515630781475 0.010991685302608762 0.0010626130430607564 -0.0047837902980325036 0.0017714673280673269 0.013932371520452867 0.005201539796792728 0.010239311477983553 -0.010149432576912022 -0.010164793682463067 -0.010161660100988949 -0.010159170691535421 -0.010194268264945532 -0.010133607819902477 leaf_weight=0.500451710075139 0.74680117052048345 1.8027017787098909 3.0797570412978557 16.23238257505 5.508595658466219 0.91678623110055824 0.60775101184844871 1.6470910124480722 10.537664022296665 0.39630504418164381 0.36749645695090194 0.30078093986958165 0.31933681853115559 0.4720070967450738 10.002797969616948 leaf_count=18 30 11 181 160 96 32 3 47 730 28 25 20 22 27 770 internal_value=0 0.00313631 0.000471332 0.00125873 -0.000418713 0.00913347 0.00978179 0.00897408 0.0104407 -0.0101601 -0.0101389 -0.0101355 -0.0101699 -0.0101801 -0.0101344 internal_weight=0 40.8332 28.2705 26.4678 21.741 12.5627 12.0622 4.72685 11.1454 12.6055 11.8587 10.6711 1.18765 0.791344 10.3036 internal_count=2200 1278 495 484 256 783 765 228 733 922 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=365 num_leaves=16 num_cat=0 split_feature=12 1 0 1 3 0 3 3 3 3 12 3 2 3 4 split_gain=16.8333 6.46843 2.52598 3.38541 1.38144 1.27646 0.362241 0.00992583 0.000871537 1.39823e-05 1.22685e-05 3.17549e-06 2.41031e-06 2.27593e-06 2.22937e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.31415341067031349 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 0.37925891762420993 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-6.6084639681949215e-05 -0.010491416489222518 -0.010993792749832785 0.010466198255462904 0.0010519381607043085 -0.0047499187544144247 0.011157534987784668 0.0038503355852461188 0.010188777954432595 -0.010147924913232053 0.010135109156306679 -0.010163133512241801 -0.010160027900803878 -0.010157566316987889 -0.010192303734011927 -0.010132260417643228 leaf_weight=1.3491193912923325 0.73969981539994378 1.8002263456583047 3.6178357638418701 16.233132056891922 5.4924795730039468 1.0547636449336995 1.0730839669704435 0.51145984884351392 0.39241974148899206 9.5418991390615684 0.3638989394530644 0.29783572163432737 0.31620904803276062 0.46740017272531986 9.9045784603804332 leaf_count=7 30 11 218 160 96 12 10 31 28 733 25 20 22 27 770 internal_value=0 0.00311726 0.000467553 0.00124862 -0.000414837 0.00911909 0.00895277 0.0102347 -0.0101585 0.0101378 -0.0101375 -0.0101341 -0.0101682 -0.0101783 -0.0101331 internal_weight=0 40.674 28.2168 26.4165 21.7256 12.4572 4.69092 11.1081 12.482 10.0534 11.7423 10.5663 1.17603 0.783609 10.2024 internal_count=2200 1278 495 484 256 783 228 776 922 764 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=366 num_leaves=16 num_cat=0 split_feature=12 1 0 1 3 0 3 3 3 3 12 3 2 3 4 split_gain=16.6404 6.41361 2.47941 3.34694 1.35749 1.27438 0.36375 0.00962132 0.000847355 1.35679e-05 1.1903e-05 3.08156e-06 2.33848e-06 2.20761e-06 2.16281e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.31415341067031349 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 0.37925891762420993 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-6.5421819419692712e-05 -0.010486761066397851 -0.010899046153716188 0.010462627536581108 0.0010413707562614662 -0.0047161998893415951 0.011144893399787557 0.0038201190050197466 0.010186874511235513 -0.010146432861395931 0.0101337469658995 -0.010161490453152741 -0.010158412194872932 -0.010155978528143143 -0.010190359178772345 -0.0101309274512115 leaf_weight=1.3491524942219246 0.73266316391527553 1.7977297380566621 3.5830539660528329 16.233875595033172 5.4765115268528453 1.0454471707344044 1.0707679279148576 0.50646488182246585 0.38857194781303295 9.4482189221307618 0.36033604945987363 0.29491886403411527 0.31311141885817051 0.46283731982111931 9.8073104042559844 leaf_count=7 30 11 218 160 96 12 10 31 28 733 25 20 22 27 770 internal_value=0 0.00309866 0.000463826 0.00123864 -0.000410994 0.00910727 0.0089343 0.0102323 -0.0101569 0.0101364 -0.0101361 -0.0101328 -0.0101665 -0.0101765 -0.0101317 internal_weight=0 40.5112 28.1619 26.3642 21.7104 12.3493 4.65382 11.0001 12.3597 9.95468 11.6271 10.4626 1.16452 0.775949 10.1022 internal_count=2200 1278 495 484 256 783 228 776 922 764 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=367 num_leaves=16 num_cat=0 split_feature=12 1 0 1 3 2 1 2 13 3 12 3 2 3 4 split_gain=16.4499 6.35914 2.43372 3.30886 1.33394 1.27255 0.643185 0.365477 0.0758295 0.000823833 1.15486e-05 2.99048e-06 2.26884e-06 2.1414e-06 2.09832e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.56803303682406159 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 0.37925891762420993 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -7 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 4 -6 6 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0065730889336590628 -0.010482147967162599 -0.010805258267132453 0.010984649528525337 0.0010309099246928884 -0.0046826340108348562 0.0016677601305316583 0.013878473989787594 0.0050896662715786247 0.010232421977485228 -0.010144955857722229 -0.010159864046664007 -0.010156813159348452 -0.010154406802268215 -0.010188434805735806 -0.010129607682368171 leaf_weight=0.49729099590331216 0.72569067217409511 1.7952130511403108 2.9966722335666445 16.234612969681624 5.4606901211664072 0.90664360020309587 0.60408590734004874 1.6203986862674353 10.234328453429042 0.38476132042705902 0.35680746845900913 0.29203011374920507 0.31004365161061287 0.45831813290715218 9.7109844572842103 leaf_count=18 30 11 181 160 96 32 3 47 730 28 25 20 22 27 770 internal_value=0 0.0030801 0.000460123 0.00122873 -0.000407184 0.0090954 0.00975881 0.00891576 0.0104356 -0.0101554 -0.0101348 -0.0101314 -0.0101648 -0.0101747 -0.0101304 internal_weight=0 40.3499 28.1076 26.3124 21.6953 12.2423 11.7451 4.61707 10.8384 12.2386 11.5129 10.3598 1.15312 0.768362 10.003 internal_count=2200 1278 495 484 256 783 765 228 733 922 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=368 num_leaves=14 num_cat=0 split_feature=1 1 2 3 2 0 13 3 13 3 3 3 0 split_gain=16.2682 5.65993 2.28859 2.3773 1.66502 1.28192 0.926694 0.00907652 0.00676075 0.00145693 0.000633578 1.32292e-05 6.88536e-06 threshold=1.2071296172255412 0.80845556346269254 0.77035900000382884 1.3414526916016356 1.1348528270257934 0.31415341067031349 0.97735317110040087 0.17408222448223767 0.81992547120608383 1.141867091393326 1.2351688403888856 0.61313736928646123 1.180079175726781 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 4 -4 -1 -2 -7 -5 -8 -11 -9 -12 right_child=6 2 3 8 -6 7 9 11 -10 10 12 -13 -14 leaf_value=-0.00012516342353824153 -0.0035171173632236531 -0.018667074408460372 0.0057809825640370424 -0.011823407846630149 0.000145727128893831 0.011121546396542777 -0.011236154809741978 0.010183946313996628 -0.010446355542920723 -0.010394367156976088 -0.01016739725240434 0.010131122016143135 -0.010129624763913129 leaf_weight=1.3449888564646233 2.5422357264906159 0.59039387851953762 7.8695588354021373 0.58937107771634945 15.710219972766934 1.0283146277070034 0.1256395410746326 0.49965989030897517 0.90244270488619804 1.0006770351901639 0.50621990393847127 9.2669312208890897 10.337140144780276 leaf_count=7 37 3 238 5 200 12 2 31 40 35 33 733 824 internal_value=0 0.00345506 0.000793651 0.00125192 0.00202645 0.00908089 -0.00900038 0.0102279 -0.0109904 -0.010165 -0.0101536 0.0101338 -0.0101314 internal_weight=0 37.8019 25.662 25.0716 23.5798 12.1399 14.5119 10.7949 1.49181 11.9697 11.844 9.76659 10.8434 internal_count=2200 1269 486 483 438 783 931 776 45 894 892 764 857 is_linear=0 shrinkage=0.01 Tree=369 num_leaves=16 num_cat=0 split_feature=12 1 0 1 3 0 3 3 3 3 12 3 2 3 1 split_gain=16.0835 6.24663 2.37978 3.25255 1.30155 1.2797 0.369984 0.00879838 0.000799401 1.28366e-05 1.12541e-05 2.81288e-06 2.1706e-06 2.06143e-06 2.05626e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.31415341067031349 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00012390579578172234 -0.010477358493387424 -0.010693161211651259 0.010454580790308633 0.0010182101171025838 -0.0046371260747220628 0.011109331836973976 0.0037227364660819568 0.010182091960964972 -0.010142462738756077 0.010129801324116684 -0.010156665464652388 -0.010152595553693957 -0.010151724734604151 -0.010185401529308495 -0.010126963534437625 leaf_weight=1.3450516127049912 0.71312751155346532 1.7924332246184373 3.5025943238288191 16.214632639661435 5.433102346956729 1.0191964730620373 1.0645629595965145 0.49477783124893804 0.37791913375258335 9.1759138852357847 0.34986165817826886 0.32365726865827937 0.30463659204542637 0.45064373593777418 9.484937201254068 leaf_count=7 30 11 218 160 96 12 10 31 28 733 25 22 22 27 768 internal_value=0 0.00304364 0.000454538 0.00121676 -0.000401154 0.00906893 0.00888545 0.0102256 -0.0101526 0.0101325 -0.0101321 -0.0101288 -0.010162 -0.0101718 -0.0101278 internal_weight=0 40.0423 28.0073 26.2149 21.6477 12.0349 4.56716 10.6899 12.0048 9.67069 11.2917 10.1585 1.1332 0.75528 9.80859 internal_count=2200 1278 495 484 256 783 228 776 922 764 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=370 num_leaves=16 num_cat=0 split_feature=12 1 0 1 3 0 3 3 3 3 12 3 2 3 1 split_gain=15.8994 6.19321 2.336 3.21543 1.27891 1.27748 0.371397 0.00852888 0.000777202 1.2456e-05 1.09193e-05 2.72983e-06 2.10594e-06 1.99961e-06 1.99478e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 1.2471304352583659 0.31415341067031349 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00012266083321687591 -0.010472835298893913 -0.010601576134958317 0.010451074449121456 0.0010079828170931984 -0.0046039160852497808 0.011097262263663506 0.0036933190278242113 0.010180256537886437 -0.01014102645019168 0.010128493367430904 -0.010155088269638091 -0.010151054406725337 -0.01015019636356744 -0.010183527894267488 -0.010125683849801512 leaf_weight=1.3451137393712986 0.70633518882095714 1.7898515537381197 3.4689005371183184 16.215354131534699 5.4176486060023299 1.0101472884416569 1.0623231437057254 0.48994258791208167 0.37421150133013614 9.085779349319635 0.34643400460481544 0.32048522960394521 0.30165059398859739 0.44624143280088902 9.3917409330606443 leaf_count=7 30 11 218 160 96 12 10 31 28 733 25 22 22 27 768 internal_value=0 0.00302525 0.000450896 0.00120698 -0.00039743 0.00905691 0.00886675 0.0102233 -0.0101511 0.0101311 -0.0101308 -0.0101275 -0.0101604 -0.0101701 -0.0101265 internal_weight=0 39.8851 27.9541 26.1642 21.633 11.931 4.53122 10.5859 11.8871 9.57572 11.1808 10.0587 1.1221 0.747892 9.71223 internal_count=2200 1278 495 484 256 783 228 776 922 764 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=371 num_leaves=16 num_cat=0 split_feature=12 1 0 1 2 3 1 3 13 3 12 3 2 3 1 split_gain=15.7175 6.14011 2.29305 3.17868 1.27762 1.25665 0.652539 0.372785 0.0734662 0.000755601 1.05938e-05 2.64898e-06 2.04321e-06 1.93966e-06 1.93499e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.56803303682406159 1.2471304352583659 0.46249402795761568 1.2190084357665867 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.3048378189115397 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 7 -1 -5 -6 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 5 6 -7 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0067353475691434173 -0.010468352928351261 -0.010510898157018807 0.010447588939553333 0.0009978587171192905 0.0015216744429679032 -0.0045708601969076147 0.013826441025418069 0.0036640854295518304 0.010223522285718645 -0.010139604867435193 -0.010153527100875961 -0.010149529371200684 -0.010148683675118451 -0.010181673583032035 -0.010124418557018487 leaf_weight=0.49174125958233972 0.69960496481507917 1.787252858281138 3.4355244487524059 16.216069705784324 0.89239566493779321 5.4023372344672671 0.60047569870948692 1.0601020418107507 9.8434014199301583 0.37053971830755361 0.34303939994424482 0.31734378729015489 0.29869341105222702 0.44188131578266621 9.2994480440393072 leaf_count=18 30 11 218 160 32 96 3 10 730 28 25 22 22 27 768 internal_value=0 0.0030069 0.000447278 0.00119726 0.00904485 -0.000393738 0.00972935 0.00884799 0.0104307 -0.0101496 -0.0101295 -0.0101262 -0.0101588 -0.0101684 -0.0101252 internal_weight=0 39.7293 27.9013 26.114 11.828 21.6184 11.3363 4.49563 10.4439 11.7706 11.0709 9.95983 1.11111 0.740575 9.61679 internal_count=2200 1278 495 484 783 256 765 228 733 922 892 815 77 49 790 is_linear=0 shrinkage=0.01 Tree=372 num_leaves=14 num_cat=0 split_feature=1 1 2 3 0 0 13 3 13 3 3 3 0 split_gain=15.538 5.45905 2.18688 2.30317 1.62695 1.28457 0.928814 0.00804619 0.00627665 0.00143763 0.000619657 1.21585e-05 6.46203e-06 threshold=1.2071296172255412 0.80845556346269254 0.77035900000382884 1.3414526916016356 1.0188919694060079 0.31415341067031349 0.97735317110040087 0.17408222448223767 0.81992547120608383 1.141867091393326 1.2351688403888856 0.61313736928646123 1.180079175726781 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 4 -4 -1 -2 -7 -5 -8 -11 -9 -12 right_child=6 2 3 8 -6 7 9 11 -10 10 12 -13 -14 leaf_value=-0.00018073884583080408 -0.0034643930722713608 -0.018260772778529805 0.0059731483998743109 -0.011779006741531966 0.00024744413423858171 0.011074951463865388 -0.011230254764033266 0.010177469636944766 -0.010437192085659215 -0.010389499971094753 -0.010161741117742002 0.010125976319065078 -0.010124496106535588 leaf_weight=1.3409964106976975 2.5252585485577574 0.58895930647850292 7.1419530343264404 0.57888023555278667 16.263927693478763 0.9934936985373487 0.12426569499075313 0.48341329395770927 0.87639319803565741 0.97796899639069934 0.48874600324779649 8.9114892156794649 9.9377235779538733 leaf_count=7 37 3 259 5 179 12 2 31 40 35 33 733 824 internal_value=0 0.00338578 0.000784428 0.00123561 0.00199456 0.00903013 -0.0089573 0.0102191 -0.0109709 -0.0101605 -0.0101488 0.0101286 -0.0101262 internal_weight=0 37.1795 25.4501 24.8612 23.4059 11.7294 14.054 10.3884 1.45527 11.5287 11.4044 9.3949 10.4265 internal_count=2200 1269 486 483 438 783 931 776 45 894 892 764 857 is_linear=0 shrinkage=0.01 Tree=373 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 3 3 3 3 3 12 3 2 1 3 split_gain=15.3684 6.03016 2.24328 3.12371 1.2822 1.22363 0.374669 0.00779999 0.000733501 1.17976e-05 1.03286e-05 2.49144e-06 1.95522e-06 1.91766e-06 1.20356e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.2471304352583659 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.2071296172255412 1.3210941733026873 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -13 -14 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 13 14 -15 -16 leaf_value=-0.00017891962604370555 -0.010463791709574802 -0.010405126798253159 0.01044286843145101 0.00098521527881672774 0.011063287075003835 -0.0045211109427111245 0.0036211984208770315 0.010175681391256663 -0.010137217639133649 0.010124708152881171 -0.010150456695778078 -0.010147126364068105 -0.010153610016914559 -0.010121924919685544 -0.0101793881369648 leaf_weight=1.3410871140658844 0.6875042924657454 1.7842353284359003 3.3868252411484745 16.197693945840005 0.98464014381170173 5.3749655913561574 1.0562208611518142 0.47868694737553497 0.36395941395312437 8.8239181609824282 0.33635707851499219 0.31228233501315017 0.38927157316356897 9.1175249973312003 0.33871747553348541 leaf_count=7 30 11 218 160 12 96 10 31 28 733 25 22 28 768 21 internal_value=0 0.0029712 0.000441913 0.00118584 0.00901797 -0.000386721 0.00882119 0.0102169 -0.010147 0.0101273 -0.010127 -0.0101237 -0.0101561 -0.0101228 -0.0101656 internal_weight=0 39.4283 27.7999 26.0157 11.6283 21.5727 4.44305 10.2872 11.5456 9.30261 10.8581 9.76616 1.09195 9.42981 0.727989 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 790 49 is_linear=0 shrinkage=0.01 Tree=374 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 0 3 3 3 3 12 3 2 1 3 split_gain=15.1927 5.97811 2.20209 3.0879 1.27984 1.2043 0.376 0.00756143 0.00071311 1.14476e-05 1.00216e-05 2.41791e-06 1.89705e-06 1.86038e-06 1.16751e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.1427926010382323 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.2071296172255412 1.3210941733026873 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -13 -14 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 13 14 -15 -16 leaf_value=-0.00017711865879863964 -0.010459395666528107 -0.010316510455110199 0.010439429747311305 0.001407712649984178 0.011051760075809356 -0.0035024578606190591 0.0035924107944851694 0.010173910979935393 -0.010135834755006583 0.010123452222410101 -0.010148942820262144 -0.010145641341856802 -0.010152062358292271 -0.010120696558132573 -0.010177576662319689 leaf_weight=1.3411769196391095 0.68094815406948228 1.7815793007612253 3.3542247908189919 13.695643534883859 0.97585448622703452 7.862777503207325 1.0540489479899404 0.47400597855448623 0.36038686800747999 8.7371971169486624 0.33305969554930825 0.3092200979590406 0.38545671291649342 9.0278940815478546 0.33540656883269548 leaf_count=7 30 11 218 147 12 109 10 31 28 733 25 22 28 768 21 internal_value=0 0.00295301 0.000438354 0.00117625 0.00900575 -0.000383123 0.00880226 0.0102147 -0.0101456 0.010126 -0.0101257 -0.0101225 -0.0101546 -0.0101215 -0.0101639 internal_weight=0 39.2765 27.7483 25.9667 11.5282 21.5584 4.40827 10.1871 11.4324 9.2112 10.7514 9.67017 1.08125 9.33711 0.720863 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 790 49 is_linear=0 shrinkage=0.01 Tree=375 num_leaves=16 num_cat=0 split_feature=12 1 0 1 2 3 1 2 13 3 12 3 2 1 3 split_gain=15.019 5.92637 2.16167 3.05244 1.28212 1.20422 0.661653 0.378031 0.0712001 0.000693273 9.72346e-06 2.34637e-06 1.84057e-06 1.80471e-06 1.13253e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.56803303682406159 1.2471304352583659 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.2071296172255412 1.3210941733026873 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 7 -1 -5 -6 -4 -8 -2 12 -12 -11 -13 -14 right_child=9 2 3 5 6 -7 8 -9 -10 10 11 13 14 -15 -16 leaf_value=-0.0068933458754755969 -0.010455039521771537 -0.010228751948003181 0.010973957068953768 0.00098062401009033399 0.0013776451042067284 -0.0044889780121548381 0.013775925536484931 0.0048379269244844285 0.010214976929034447 -0.010134466378716726 -0.010147443909962747 -0.010144171483044345 -0.010150530716049625 -0.010119481363395995 -0.010175783763021197 leaf_weight=0.48637129925191303 0.67445209808647533 1.7789092510938669 2.8122763754799989 16.186540415510539 0.87867100443690915 5.3575846487656227 0.59690201282501121 1.5615509701892731 9.4671452660113555 0.35684889834374078 0.329794155433773 0.30618744436651368 0.38167865108698606 8.9391327966004592 0.33212743233889341 leaf_count=18 30 11 181 160 32 96 3 47 730 28 25 22 28 768 21 internal_value=0 0.0029349 0.000434825 0.00116673 0.00899348 -0.000379554 0.0096996 0.00878326 0.0104262 -0.0101441 -0.0101244 -0.0101212 -0.010153 -0.0101203 -0.0101623 internal_weight=0 39.126 27.6969 25.918 11.4291 21.5441 10.9427 4.37383 10.064 11.3202 10.6458 9.57511 1.07065 9.24532 0.713806 internal_count=2200 1278 495 484 783 256 765 228 733 922 892 815 77 790 49 is_linear=0 shrinkage=0.01 Tree=376 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 0 3 3 3 3 12 3 2 1 3 split_gain=14.847 5.87274 2.12199 3.0162 1.28648 1.18405 0.381043 0.00713371 0.000673979 1.11866e-05 9.43411e-06 2.27699e-06 1.78582e-06 1.75073e-06 1.09862e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.1427926010382323 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.2071296172255412 1.3210941733026873 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -13 -14 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 13 14 -15 -16 leaf_value=-0.00023356713604236475 -0.010450723163661009 -0.010141839414079987 0.010433031259940346 0.0013994807505958897 0.011030435909215945 -0.0034734648964662345 0.0035112020346707356 0.010171259639556271 -0.010133111596030411 0.010121038660228688 -0.010145960566462796 -0.010142716825410309 -0.010149014523341365 -0.010118278573154759 -0.010174009223310989 leaf_weight=1.3371045365929592 0.66801560390740533 1.7762259617447878 3.2926342925056842 13.685373436659576 0.9596746563911428 7.8446596246212712 1.0485743544995783 0.46774146053939958 0.35334518738090881 8.5696393670514208 0.32656014058738847 0.30318408645689388 0.37793705333024263 8.8512339284643513 0.3288797764107585 leaf_count=7 30 11 218 147 12 109 10 31 28 733 25 22 28 768 21 internal_value=0 0.00291646 0.000431287 0.0011572 0.00897857 -0.00037602 0.00876113 0.0102107 -0.0101427 0.0101236 -0.0101232 -0.01012 -0.0101515 -0.0101191 -0.0101606 internal_weight=0 38.9816 27.6475 25.8712 11.3342 21.53 4.34121 9.99706 11.2092 9.03738 10.5411 9.48098 1.06016 9.15442 0.706817 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 790 49 is_linear=0 shrinkage=0.01 Tree=377 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 3 3 3 3 3 12 3 2 1 3 split_gain=14.6774 5.82167 2.08307 2.98147 1.28398 1.18511 0.382287 0.00691575 0.000655212 1.08547e-05 9.15381e-06 2.2098e-06 1.73265e-06 1.69846e-06 1.06572e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.2471304352583659 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.2071296172255412 1.3210941733026873 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -13 -14 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 13 14 -15 -16 leaf_value=-0.00023121096154585206 -0.010446445800967683 -0.01005575892401521 0.010429649291851138 0.00097600402372580847 0.011019293199769398 -0.0044570303515749036 0.0034831164137464664 0.010169534458920444 -0.010131770991776944 0.010119820099857842 -0.010144492548255739 -0.010141277009205878 -0.010147513825675747 -0.010117087402601699 -0.010172252861446369 leaf_weight=1.3372218795120705 0.66163818165659805 1.7735302895307565 3.2609238009899881 16.175483169034127 0.95108169317245383 5.3404069431126109 1.0464697610586879 0.46316552348434825 0.34987540449947008 8.4853868531063181 0.32335737161338229 0.3002097625285377 0.37423157878220081 8.7641888791695219 0.32566330675035715 leaf_count=7 30 11 218 160 12 96 10 31 28 733 25 22 28 768 21 internal_value=0 0.00289846 0.000427805 0.00114781 0.00896619 -0.000372516 0.00874201 0.0102086 -0.0101413 0.0101224 -0.0101219 -0.0101188 -0.0101499 -0.0101179 -0.010159 internal_weight=0 38.8337 27.5968 25.8233 11.2369 21.5159 4.30739 9.89963 11.0992 8.94855 10.4375 9.38776 1.04977 9.0644 0.699895 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 790 49 is_linear=0 shrinkage=0.01 Tree=378 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 3 3 3 3 3 12 3 2 1 3 split_gain=14.5098 5.77093 2.04488 2.9471 1.28149 1.16438 0.383507 0.00670452 0.000636956 1.05325e-05 8.88125e-06 2.1444e-06 1.68111e-06 1.64757e-06 1.03381e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.2471304352583659 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2750941039804975 1.2071296172255412 1.3210941733026873 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -13 -14 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 13 14 -15 -16 leaf_value=-0.00022887888714478069 -0.010442207413800921 -0.0099704977169261383 0.010426288023708789 0.00096620224368224885 0.011008280771364207 -0.0044246508994294021 0.0034552098594756182 0.010167826906555391 -0.010130443755239258 0.010118614467514022 -0.010143039218942874 -0.010139851622976341 -0.010146028430683697 -0.010115909411034166 -0.010170514466973733 leaf_weight=1.3373380303382862 0.65531932376325031 1.7708230242133165 3.2295126644894507 16.176176257431511 0.9425555095076551 5.3257667077705255 1.0443830229341982 0.45863357465714116 0.34643923956900724 8.4019516641274077 0.32018555328249831 0.29726419411599536 0.37056188378483057 8.6779897324740869 0.32247773744165897 leaf_count=7 30 11 218 160 12 96 10 31 28 733 25 22 28 768 21 internal_value=0 0.0028805 0.000424342 0.00113848 0.00895377 -0.000369046 0.00872281 0.0102065 -0.0101399 0.0101212 -0.0101207 -0.0101176 -0.0101484 -0.0101167 -0.0101574 internal_weight=0 38.6871 27.5467 25.7758 11.1405 21.5019 4.2739 9.80314 10.9902 8.86059 10.3349 9.29544 1.03948 8.97525 0.69304 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 790 49 is_linear=0 shrinkage=0.01 Tree=379 num_leaves=18 num_cat=0 split_feature=1 1 3 3 0 2 4 13 0 1 13 13 12 13 3 3 0 split_gain=14.3444 5.11989 2.04537 2.39497 2.87606 1.28604 0.940813 1.40873 3.08125 0.670516 0.0690251 0.00577857 0.00431367 0.000400697 5.78664e-05 4.85975e-05 9.77167e-07 threshold=1.2071296172255412 0.80845556346269254 1.3414526916016356 0.58644753314242826 1.0188919694060079 0.56803303682406159 0.40520528501409475 0.93885093126527053 1.2764869461636768 0.46249402795761568 0.0064018138657804258 0.81992547120608383 5.4588099803130126 1.1575207857259333 1.2471304352583659 1.3210941733026873 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 7 -2 -9 -7 -11 -4 -8 -13 -14 -10 -16 right_child=6 2 11 4 -6 9 12 8 15 10 -12 13 14 -15 16 -17 -18 leaf_value=-0.007047089162515268 -0.011122293672011041 -0.007787140838454179 -0.011733038693251882 0.0089543007256921402 0.00043524538318006982 0.001235754237584094 -0.010720983631657761 0.020036275601339783 -0.010292741931683792 0.013726848691797959 0.010206771515633531 -0.010592424382997739 -0.010218752024571011 -0.010138553175611482 -0.010133632272141065 -0.01012954952941016 -0.010113826041224469 leaf_weight=0.48117317166179319 1.2612559236586087 2.5017918385565343 0.56733030080795177 5.2788150422275093 15.897455822676418 0.86545023415237565 1.3742196029052127 0.61818871181458213 0.32532628811895847 0.5933641791343679 9.1050338363274914 0.53014360088855028 0.56591272260993619 0.30724484566599131 0.25663407146930595 0.41558675747364759 8.4794018650427443 leaf_count=18 21 18 5 247 176 32 32 11 19 3 730 17 32 23 20 34 762 internal_value=0 0.00326826 0.000770192 0.00146573 0.00255887 0.00894128 -0.0088802 -0.003511 0.00355234 0.00966954 0.0104221 -0.0109538 -0.010198 -0.0104259 -0.0101208 -0.0102012 -0.0101144 internal_weight=0 36.1278 25.0828 23.6781 21.1763 11.045 13.2965 2.62036 1.3591 10.5638 9.6984 1.40472 10.6762 0.837388 9.30195 0.740913 8.73604 internal_count=2200 1269 486 441 423 783 931 85 64 765 733 45 846 40 814 53 782 is_linear=0 shrinkage=0.01 Tree=380 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 0 2 3 3 3 12 3 1 0 1 split_gain=14.1923 5.66385 1.97849 2.89519 1.28768 1.15947 0.387996 0.0063255 0.000618061 1.03039e-05 8.58664e-06 2.01031e-06 1.6415e-06 1.82469e-06 1.63322e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.1427926010382323 1.1348528270257934 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00028373175089374151 -0.010437908263262184 -0.009819644690603058 0.010974065657472212 0.0013944661343744458 0.010987895691183363 -0.0034372501354174405 0.0046592331739308832 0.010165304996070828 -0.010163414526395112 0.010116299729870326 -0.010140171425466433 -0.010137648698923451 -0.010151413184692828 -0.010118213095685114 -0.010113619868956029 leaf_weight=1.3333091847598542 0.64382724650204082 1.7654984965920473 2.697583804838362 13.637035831809046 0.92684359848499198 7.8114455025643101 1.5219115782529113 0.45262328907847305 0.3506003813818086 8.2408711463212949 0.31392925605177779 0.2925911657512178 0.37394001521170139 0.29704409930855036 8.5098878722637874 leaf_count=7 30 11 181 147 12 109 47 31 23 733 25 22 28 26 768 internal_value=0 0.00284726 0.000420083 0.00112439 0.00892615 -0.000365224 0.0086964 0.0102026 -0.0101375 0.0101189 -0.0101184 -0.0101153 -0.0101459 -0.0101367 -0.0101144 internal_weight=0 38.3871 27.4335 25.668 10.9536 21.4485 4.2195 9.62034 10.7818 8.69349 10.138 9.11641 1.02158 0.670984 8.80248 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=381 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 0 3 3 3 3 12 3 1 0 1 split_gain=14.0303 5.61426 1.94222 2.86055 1.28505 1.13799 0.389845 0.00613249 0.000600833 9.99811e-06 8.33107e-06 1.95086e-06 1.59214e-06 1.77063e-06 1.58436e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.1427926010382323 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.0002808642642610947 -0.010433751708940368 -0.0097365915989324724 0.0104235280266422 0.0013805290408725496 0.010977248523299539 -0.0034089470622801665 0.0033540633763372019 0.010163640406989995 -0.010161764424364174 0.01011512968747216 -0.010138762148268081 -0.010136260610318372 -0.010149889762608159 -0.010117023409361837 -0.010112476951556875 leaf_weight=1.3334518335759629 0.63767372164875169 1.7627664208412195 3.1517329569906023 13.636960411444308 0.91850690543651481 7.7976076425984493 1.0365983620285986 0.44819263834506173 0.3471679389476765 8.1598124513402563 0.3108485946431746 0.28971930779516597 0.37027453444898129 0.29412286914885044 8.4261606242507678 leaf_count=7 30 11 218 147 12 109 10 31 23 733 25 22 28 26 768 internal_value=0 0.00282938 0.00041665 0.00111516 0.00891356 -0.000361818 0.00867386 0.0102005 -0.0101361 0.0101177 -0.0101172 -0.0101141 -0.0101444 -0.0101353 -0.0101133 internal_weight=0 38.2456 27.3857 25.6229 10.86 21.4346 4.18833 9.52651 10.676 8.60801 10.0383 9.02673 1.01157 0.664397 8.71588 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=382 num_leaves=16 num_cat=0 split_feature=12 1 0 1 2 3 1 2 13 3 12 3 1 0 1 split_gain=13.8702 5.56486 1.90665 2.82738 1.28413 1.13466 0.676266 0.390968 0.0668542 0.000584077 8.08314e-06 1.89316e-06 1.54422e-06 1.71818e-06 1.537e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.56803303682406159 1.2471304352583659 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 7 -1 -5 -6 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 5 6 -7 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0071140727211441166 -0.010429632689040236 -0.0096543113514806263 0.010968326567995013 0.00096012939229689744 0.0011388061193669734 -0.0043756784197855631 0.013678116435033595 0.0045888333535638237 0.010200844077522545 -0.01016013075404933 -0.010137366850984967 -0.010134886723432036 -0.010148381786930408 -0.010115845734390744 -0.010111345411885112 leaf_weight=0.47842950280755658 0.63157684169709583 1.7600256651639963 2.6485374812036779 16.12734331376851 0.85669750813394685 5.2934479862451544 0.58978557586669822 1.5074199102818964 8.8422622950747591 0.34376854449510463 0.3077977430075397 0.28687524143606324 0.36664444021880627 0.29123002663254738 8.3432478280737978 leaf_count=18 30 11 181 160 32 96 3 47 730 23 25 22 28 26 768 internal_value=0 0.00281165 0.000413267 0.00110605 0.00890092 -0.000358441 0.00964562 0.0086544 0.0104183 -0.0101348 -0.010116 -0.010113 -0.010143 -0.010134 -0.0101121 internal_weight=0 38.1039 27.3368 25.5767 10.7672 21.4208 10.2887 4.15596 9.43205 10.5711 9.93956 8.93792 1.00164 0.657874 8.63012 internal_count=2200 1278 495 484 783 256 765 228 733 922 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=383 num_leaves=16 num_cat=0 split_feature=12 1 3 13 13 0 2 3 3 3 12 3 1 0 1 split_gain=13.7117 5.5137 1.88026 3.0358 1.63714 1.29088 0.467813 0.00578596 0.00056778 9.78983e-06 7.84277e-06 1.83723e-06 1.49776e-06 1.66728e-06 1.49104e-06 threshold=5.4588099803130126 0.80845556346269254 0.58644753314242826 0.46553849925547169 0.50652862085158101 0.31415341067031349 1.2027776734226416 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00033442473393320522 -0.010425551211831297 -0.0077091126539514934 0.010289753433126355 -0.0093080919523691984 0.00060224462450764302 0.010957533756409966 -0.0026137928172352757 0.010161214016269564 -0.010158513972638108 0.010112887738097594 -0.010135986064698028 -0.010133526644244748 -0.010146889349955944 -0.01011468024265174 -0.010110225226368006 leaf_weight=1.3294575512409199 0.62553611025214095 2.5824909862130907 3.6446853810921342 1.8278442742303038 18.930430702865124 0.90313796699046989 0.30443501099944104 0.44235639926046033 0.34040188509970803 8.0034157717600447 0.30477641057222982 0.2840587105602016 0.36304939351975918 0.28836529888212681 8.261141596361993 leaf_count=7 30 20 233 17 216 12 9 31 23 733 25 22 28 26 768 internal_value=0 0.00279364 0.000409876 0.0012585 -0.000270398 0.00888564 0.00929503 0.0101968 -0.0101334 0.0101154 -0.0101148 -0.0101119 -0.0101415 -0.0101326 -0.010111 internal_weight=0 37.9683 27.2899 24.7074 20.7583 10.6784 3.94912 9.34891 10.4673 8.44577 9.84179 8.84998 0.991817 0.651415 8.5452 internal_count=2200 1278 495 475 233 783 242 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=384 num_leaves=16 num_cat=0 split_feature=12 1 3 13 13 0 2 3 3 3 12 3 1 0 1 split_gain=13.554 5.46634 1.845 3.00547 1.59907 1.28813 0.465312 0.00560959 0.000551932 9.49935e-06 7.60968e-06 1.78297e-06 1.45271e-06 1.61789e-06 1.44654e-06 threshold=5.4588099803130126 0.80845556346269254 0.58644753314242826 0.46553849925547169 0.50652862085158101 0.31415341067031349 1.2027776734226416 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00033103853800470396 -0.010421507178917015 -0.0076409158390059627 0.010286964001182541 -0.0091826168781376123 0.00059613647046274042 0.01094723860881202 -0.0025882557896230829 0.010159590738515056 -0.010156913816644231 0.010111751938360508 -0.010134619114467081 -0.010132180748399992 -0.010145411982871924 -0.010113526510462233 -0.010109116157774654 leaf_weight=1.3296257182955731 0.61955105047672887 2.5794999022036817 3.6093936469405921 1.8342600138857985 18.933137939311564 0.89498826861381431 0.30436469055712212 0.43802449945360233 0.33706765808164973 7.9246656773611903 0.30178432911634345 0.28126945067196985 0.35948907025158405 0.28552842233330011 8.1798347337171418 leaf_count=7 30 20 233 17 216 12 9 31 23 733 25 22 28 26 768 internal_value=0 0.00277467 0.000406286 0.00124732 -0.000267562 0.00887288 0.00928569 0.0101948 -0.0101321 0.0101143 -0.0101137 -0.0101107 -0.0101401 -0.0101313 -0.0101099 internal_weight=0 37.848 27.2607 24.6812 20.7674 10.5873 3.91376 9.25768 10.3645 8.36269 9.74497 8.76289 0.982085 0.645017 8.4611 internal_count=2200 1278 495 475 233 783 242 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=385 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 0 3 3 3 3 12 3 1 0 1 split_gain=13.3981 5.41925 1.81816 2.7678 1.28537 1.12298 0.392327 0.00543866 0.000536515 9.2175e-06 7.38325e-06 1.73022e-06 1.40905e-06 1.56997e-06 1.40331e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.1427926010382323 1.2190084357665867 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00032768640089351022 -0.010417499788490377 -0.0094452037102491296 0.010424498135994423 0.0013727024155654759 0.010937062209670802 -0.0033898620882275889 0.0032945060766366423 0.010157984081266039 -0.0101553302188345 0.010110627775209102 -0.010133266037277567 -0.010130848708330127 -0.010143949655484303 -0.010112384515126764 -0.010108019020415068 leaf_weight=1.3297921568155278 0.61362118367105623 1.7539914771914507 3.0531805548816946 13.609911828301849 0.886903315782546 7.781774263828992 1.0327928960323332 0.43373433314263632 0.33376556262373824 7.846681984141469 0.29882122110575338 0.27850720286369224 0.35596314445137978 0.28271913062781096 8.0993186673149449 leaf_count=7 30 11 218 147 12 109 10 31 23 733 25 22 28 26 768 internal_value=0 0.00275577 0.000402724 0.0010807 0.00886007 -0.000359803 0.00862228 0.0101928 -0.0101308 0.0101131 -0.0101125 -0.0101096 -0.0101387 -0.01013 -0.0101088 internal_weight=0 37.7288 27.2317 25.4777 10.4971 21.3917 4.08597 9.16732 10.2627 8.28042 9.64909 8.67665 0.972448 0.638682 8.37783 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=386 num_leaves=16 num_cat=0 split_feature=12 1 3 13 13 2 1 2 13 3 12 3 1 0 1 split_gain=13.2455 5.37106 1.7896 2.95301 1.57184 1.28708 0.684655 0.465079 0.0648528 0.00052152 7.16322e-06 1.67899e-06 1.36668e-06 1.52346e-06 1.36127e-06 threshold=5.4588099803130126 0.80845556346269254 0.58644753314242826 0.46553849925547169 0.50652862085158101 0.56803303682406159 0.46249402795761568 1.2027776734226416 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -7 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 4 -6 6 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0072608145619545853 -0.010413528931358954 -0.0075372672128048313 0.010284053263619808 -0.0090910589626150371 0.00059426854709608611 0.0010009438487048889 0.013631754393442202 -0.0026142993030218741 0.01019320050197349 -0.010153762557975126 -0.010131926985083443 -0.010129530024959843 -0.010142502080948799 -0.010111254086059467 -0.010106933629160429 leaf_weight=0.47348060365766187 0.60774604510515828 2.5722041986882713 3.5500852251425417 1.838462271727624 18.919651004485786 0.84429043717682262 0.58631931245326896 0.30344377458095539 8.5036913212388736 0.33049529884010453 0.2958868071436872 0.27577172964811225 0.3524712985381484 0.27993716392666101 8.0195861980319005 leaf_count=18 30 20 233 17 216 32 3 9 730 23 25 22 28 26 768 internal_value=0 0.00273832 0.000399442 0.00122892 -0.000263522 0.00884719 0.00961492 0.00926838 0.010415 -0.0101295 -0.0101114 -0.0101085 -0.0101373 -0.0101287 -0.0101077 internal_weight=0 37.5916 27.1838 24.6116 20.7581 10.4078 9.9343 3.85353 9.09001 10.1619 9.55415 8.59124 0.962904 0.632408 8.29536 internal_count=2200 1278 495 475 233 783 765 242 733 922 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=387 num_leaves=18 num_cat=0 split_feature=1 1 3 3 0 0 4 13 0 13 3 12 12 3 3 3 0 split_gain=13.1009 4.74887 1.98166 2.14805 2.72251 1.29077 0.954047 1.46623 3.05379 0.00553632 0.00513151 0.0040938 0.00046413 4.89152e-05 4.5263e-05 9.03545e-06 7.66432e-07 threshold=1.2071296172255412 0.80845556346269254 1.3414526916016356 0.58644753314242826 1.0188919694060079 0.31415341067031349 0.40520528501409475 0.93885093126527053 1.2652873755735712 0.81992547120608383 0.17408222448223767 5.4588099803130126 5.4588099803130126 1.3210941733026873 1.2471304352583659 0.61313736928646123 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 7 -2 -9 -4 -7 -8 -11 -10 -13 -12 -16 right_child=6 2 9 4 -6 10 11 8 13 12 15 14 -14 -15 16 -17 -18 leaf_value=-0.00037971361944531232 -0.011116024220650809 -0.0073603110374265606 -0.011715389670895806 0.0088695852248473969 0.00044292217870942475 0.01091820983645867 -0.010704205076395865 0.020414735213183592 -0.010287581062009521 -0.010620580581762741 0.010155677849522409 -0.010201531289696527 -0.010131142934985838 -0.0101191615058929 -0.010123228353292553 0.010108478072632938 -0.010104980400738515 leaf_weight=1.3258388899266709 1.2438760753720992 2.4789161533117356 0.56228255480527767 5.0608233083039549 15.816756731830536 0.87199056148528953 1.3473803093656886 0.60939730331301667 0.30635140277445316 0.47637019492685795 0.42813522461801579 0.52278499025851388 0.32657926715910435 0.39453673921525478 0.23713529389351418 7.696337440982461 7.8341744188219309 leaf_count=7 21 18 5 247 176 12 32 10 19 14 31 32 26 35 20 733 762 internal_value=0 0.00313478 0.0007561 0.0014406 0.00248558 0.00883169 -0.00879114 -0.00333975 0.00404239 -0.0109544 0.0101892 -0.0101917 -0.0104215 -0.0101928 -0.0101114 0.010111 -0.0101055 internal_weight=0 35.044 24.7217 23.3565 20.8776 10.3223 12.4956 2.55416 1.31029 1.36523 8.99646 9.94148 0.802949 0.700888 8.59409 8.12447 8.07131 internal_count=2200 1269 486 441 423 783 931 85 64 45 776 846 40 54 814 764 782 is_linear=0 shrinkage=0.01 Tree=388 num_leaves=16 num_cat=0 split_feature=12 1 0 1 0 3 2 3 3 3 12 3 1 0 1 split_gain=12.9548 5.27115 1.73362 2.70653 1.28789 1.10135 0.395485 0.00497529 0.000506174 8.76724e-06 6.93191e-06 1.57423e-06 1.39283e-06 1.41328e-06 1.35011e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.31415341067031349 1.2471304352583659 1.1348528270257934 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.000375862108606505 -0.010409568256850441 -0.0092405359034718366 0.010992394880923566 0.00094297272701123077 0.010908367774091418 -0.0043251392033777447 0.0044903180436890846 0.010154110867525481 -0.010151677261043138 0.010107387386101676 -0.010129284513900808 -0.010127504716408919 -0.010139607057100469 -0.010109224363228057 -0.010104821050497599 leaf_weight=1.3260297924280156 0.59708586614578862 1.7468429952859903 2.5322457803413299 16.061130706220869 0.86408914253115554 5.270673817023634 1.4834928875789044 0.42394029069691708 0.32590370159596105 7.6205757008865476 0.29009930230677028 0.27144485060125401 0.34555130731314421 0.2748960517346859 7.8638584977015853 leaf_count=7 30 11 181 160 12 96 47 31 23 733 25 22 28 26 768 internal_value=0 0.0027046 0.000395058 0.0010591 0.00881871 -0.000358675 0.0085904 0.0101873 -0.0101273 0.0101098 -0.0101093 -0.0101064 -0.0101349 -0.0101261 -0.0101056 internal_weight=0 37.329 27.0944 25.3475 10.2346 21.3318 4.01574 8.90861 9.96884 8.04452 9.37175 8.4254 0.946351 0.620447 8.1353 internal_count=2200 1278 495 484 783 256 228 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=389 num_leaves=16 num_cat=0 split_feature=12 1 3 13 13 0 10 3 3 3 12 3 1 0 1 split_gain=12.8072 5.22406 1.70592 2.87562 1.54911 1.28502 0.477482 0.00482387 0.000492024 8.50712e-06 6.72583e-06 1.52769e-06 1.35101e-06 1.37144e-06 1.30982e-06 threshold=5.4588099803130126 0.80845556346269254 0.58644753314242826 0.46553849925547169 0.50652862085158101 0.31415341067031349 3.5000000000000004 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00037205042785275758 -0.010405673401796543 -0.0073720596284993691 -0.0029043332211498348 -0.0090162527840196832 0.0005958107414977406 0.010898638546945186 0.010278850750839541 0.0101525598971469 -0.010150147296093946 0.010106307518722369 -0.010127985509713134 -0.010126220445855217 -0.010138203713706068 -0.010108125990247954 -0.010103767225716936 leaf_weight=1.3262187428772438 0.59136492572724719 2.5620425101369646 0.29833835549652876 1.8401234932243848 18.875728053040802 0.85625117644667437 3.4728072294965386 0.41978581435978402 0.32270930055528779 7.5455516995862126 0.28724941704422136 0.26877784542739203 0.34216013457626104 0.27219021413475275 7.786419490352273 leaf_count=7 30 20 8 17 216 12 234 31 23 733 25 22 28 26 768 internal_value=0 0.00268721 0.0003918 0.00120412 -0.000257998 0.00880566 0.00923592 0.0101854 -0.010126 0.0101087 -0.0101082 -0.0101053 -0.0101336 -0.0101249 -0.0101045 internal_weight=0 37.1968 27.049 24.487 20.7159 10.1478 3.77115 8.82159 9.87087 7.96534 9.27951 8.34245 0.93706 0.61435 8.0552 internal_count=2200 1278 495 475 233 783 242 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=390 num_leaves=16 num_cat=0 split_feature=12 1 0 1 2 0 1 2 13 3 12 3 1 0 1 split_gain=12.6602 5.17842 1.67739 2.66163 1.28946 1.10203 0.692772 0.396003 0.0629268 0.000478261 6.52568e-06 1.48252e-06 1.31044e-06 1.33082e-06 1.27067e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.56803303682406159 1.1427926010382323 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 7 -1 -5 -6 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 5 6 -7 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0074033661003374968 -0.010401813918793575 -0.0091018364618514411 0.010994455697116257 0.0013623105170211473 0.00086541968169008793 -0.0033642177580658645 0.013586625673597082 0.0044586946912050776 0.010185862578018644 -0.010148632791451697 -0.010126699968398011 -0.0101249489627939 -0.010136814472795701 -0.010107038745196275 -0.010102724428384802 leaf_weight=0.46868415828794141 0.58569689188152452 1.7423596382141138 2.4914099713787468 13.555889395065607 0.83233811613172193 7.7550423210486761 0.58288657665252586 1.4764446616172788 8.1779025513678771 0.31954573094844718 0.28442716132849266 0.26613670960068692 0.33880177512764931 0.26951071992516518 7.7097354345023632 leaf_count=18 30 11 181 147 32 109 3 47 730 23 25 22 28 26 768 internal_value=0 0.00266868 0.000388352 0.00104247 0.00879255 -0.000357672 0.00958382 0.00856249 0.0104121 -0.0101248 -0.0101071 -0.0101043 -0.0101322 -0.0101236 -0.0101035 internal_weight=0 37.083 27.0211 25.2788 10.0618 21.3109 9.59313 3.96785 8.76079 9.77385 9.18816 8.2603 0.927858 0.608312 7.97587 internal_count=2200 1278 495 484 783 256 765 228 733 922 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=391 num_leaves=16 num_cat=0 split_feature=12 1 3 13 0 0 10 3 3 3 12 3 1 0 1 split_gain=12.516 5.12987 1.6553 2.8263 1.55383 1.28998 0.476587 0.00455161 0.000464877 8.34832e-06 6.33177e-06 1.43872e-06 1.27105e-06 1.29141e-06 1.23272e-06 threshold=5.4588099803130126 0.80845556346269254 0.58644753314242826 0.46553849925547169 1.2509949463117855 0.31415341067031349 3.5000000000000004 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00042257687551761172 -0.010397989641188723 -0.0072738755591850446 -0.002916817088680333 -0.001226481891718294 0.0074653819353372912 0.010880607835028014 0.010276075193741947 0.010150368512871929 -0.010147133523031378 0.010104246008100675 -0.010125427232878596 -0.010123690222695774 -0.010135439540825152 -0.010105962760618264 -0.01010169168006528 leaf_weight=1.3223049975931633 0.58008131384849448 2.554595164954665 0.2976746829226643 18.391572583466772 2.3157044518738976 0.84178717061877062 3.4165986003354192 0.414414339698851 0.31641270220279594 7.4010282754898071 0.28163227904587795 0.26352119725197543 0.33547591976821423 0.26685730833560228 7.6337984530255198 leaf_count=7 30 20 8 206 27 12 234 31 23 733 25 22 28 26 768 internal_value=0 0.00265124 0.000385149 0.00118631 -0.000254467 0.00877683 0.00921875 0.0101819 -0.0101235 0.0101067 -0.010106 -0.0101032 -0.0101309 -0.0101224 -0.0101024 internal_weight=0 36.9557 26.9761 24.4216 20.7073 9.97953 3.71427 8.65723 9.67778 7.81544 9.0977 8.17895 0.918746 0.602333 7.89732 internal_count=2200 1278 495 475 233 783 242 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=392 num_leaves=18 num_cat=0 split_feature=1 1 3 3 0 0 4 13 0 13 3 12 12 3 3 3 0 split_gain=12.383 4.52903 1.93376 2.0009 2.62689 1.28698 0.959139 1.48572 2.93272 0.00525578 0.00441321 0.00396619 0.000443842 4.96709e-05 3.88369e-05 8.10055e-06 6.58565e-07 threshold=1.2071296172255412 0.80845556346269254 1.3414526916016356 0.58644753314242826 1.0188919694060079 0.31415341067031349 0.40520528501409475 0.93885093126527053 1.2652873755735712 0.81992547120608383 0.17408222448223767 5.4588099803130126 5.4588099803130126 1.3210941733026873 1.2471304352583659 0.61313736928646123 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 7 -2 -9 -4 -7 -8 -11 -10 -13 -12 -16 right_child=6 2 9 4 -6 10 11 8 13 12 15 14 -14 -15 16 -17 -18 leaf_value=-0.00041828376414005861 -0.011107137601847073 -0.0070945005384273419 -0.011690062298829977 0.0088094937566545704 0.00044562576699169049 0.010871196741813374 -0.010694791024967239 0.020034771926782848 -0.010286575179925251 -0.010611701173553572 0.010148855502830335 -0.010191486531200462 -0.010124665844959316 -0.010113294194116851 -0.010117146670150391 0.010103198197008294 -0.010099808249215475 leaf_weight=1.3225173652172078 1.2291069868952029 2.4648316539824071 0.55585604161023983 4.9283370273187783 15.77463369630277 0.83412909880280306 1.3294026581570495 0.61536949966102816 0.29566966742277145 0.47009556367993355 0.41035170946270216 0.49751575384288838 0.3108400721102953 0.37553023174405098 0.22569986060261715 7.3281429652124643 7.455833981744945 leaf_count=7 21 18 5 247 176 12 32 10 19 14 31 32 26 35 20 733 762 internal_value=0 0.00305358 0.000747832 0.00142262 0.00243664 0.0087636 -0.00873547 -0.00324459 0.00426678 -0.0109468 0.0101801 -0.0101882 -0.0104178 -0.0101896 -0.0101059 0.0101056 -0.0101003 internal_weight=0 34.3997 24.5046 23.1678 20.703 9.89514 12.0241 2.51568 1.28657 1.33679 8.57262 9.50845 0.780936 0.6712 8.17905 7.73849 7.68153 internal_count=2200 1269 486 441 423 783 931 85 64 45 776 846 40 54 814 764 782 is_linear=0 shrinkage=0.01 Tree=393 num_leaves=16 num_cat=0 split_feature=12 1 0 1 2 0 1 3 13 3 12 3 1 1 0 split_gain=12.2421 5.0352 1.59915 2.59763 1.28632 1.08233 0.697889 0.401835 0.0609847 0.000451286 6.12958e-06 1.34862e-06 1.29328e-06 1.22241e-06 1.19696e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.56803303682406159 1.1427926010382323 0.46249402795761568 1.2190084357665867 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2071296172255412 1.2353254972663301 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 7 -1 -5 -6 -4 -8 -2 12 -12 -11 -13 -14 right_child=9 2 3 5 6 -7 8 -9 -10 10 11 13 14 -15 -16 leaf_value=-0.0074611510126339573 -0.010394226399861246 -0.0089047181447015501 0.010433952670050258 0.0013519362950364603 0.00077389517505939952 -0.0033384686997638214 0.01354120045236501 0.0031336330639184051 0.010180556531739668 -0.010145151481764347 -0.01012291628448341 -0.010121767534961846 -0.010132689405906444 -0.010099686021248418 -0.010104041460183084 leaf_weight=0.46619123965501685 0.56990868598222633 1.7349801361560846 2.8794134203344615 13.515190886333587 0.8244782155379643 7.7355743292719117 0.57937194406986048 1.0214618425816295 7.9415150694549084 0.31202253606170316 0.27612025942653229 0.25939101632684458 0.32888474967330694 7.4855084093287587 0.26205495465546846 leaf_count=18 30 11 218 147 32 109 3 10 730 23 25 22 28 768 26 internal_value=0 0.00261855 0.000380923 0.00102145 0.00875031 -0.000355436 0.00955902 0.00852233 0.0104091 -0.0101214 -0.010104 -0.0101012 -0.0101287 -0.0101004 -0.01012 internal_weight=0 36.6982 26.8866 25.1516 9.81156 21.2508 9.34537 3.90088 8.52089 9.49389 8.92398 8.02102 0.902962 7.7449 0.59094 internal_count=2200 1278 495 484 783 256 765 228 733 922 892 815 77 790 54 is_linear=0 shrinkage=0.01 Tree=394 num_leaves=15 num_cat=0 split_feature=12 1 3 3 13 0 3 3 3 12 3 1 1 0 split_gain=12.1029 4.98757 1.59386 1.81123 2.36674 1.2916 0.00416426 0.00043865 7.95663e-06 5.94704e-06 1.3087e-06 1.25446e-06 1.18583e-06 1.16152e-06 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.58644753314242826 0.46553849925547169 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2071296172255412 1.2353254972663301 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 11 -11 -9 -12 -13 right_child=7 2 -4 4 -6 6 8 9 -10 10 12 13 -14 -15 leaf_value=-0.00046759508870838028 -0.010390474695410721 -0.0071135690466589642 -0.011096592157328613 0.0091850010030650343 0.00039534732130701511 0.010853753660821277 0.010146748819195344 -0.010143687886034114 0.010101200627707661 -0.010121682089931172 -0.010120541374673071 -0.010131356222647268 -0.010098685051226923 -0.010102995717097878 leaf_weight=1.3186353221535672 0.5644407132640471 2.5440546888858142 1.1583314621821035 3.6342204967513707 19.504327361471951 0.81999311596154978 0.40513556078076352 0.30896220542490294 7.1878281366080046 0.27340598683804263 0.25684098713099945 0.32565492391586304 7.4117572503164411 0.25947418436408043 leaf_count=7 30 20 24 242 209 12 31 23 733 25 22 28 768 26 internal_value=0 0.00260142 0.000377798 0.000895314 0.00177588 0.00873443 0.0101767 -0.0101202 0.0101036 -0.0101029 -0.0101002 -0.0101274 -0.0100994 -0.0101188 internal_weight=0 36.5725 26.8409 25.6826 23.1385 9.73159 8.41296 9.40054 7.59296 8.8361 7.942 0.894091 7.6686 0.585129 internal_count=2200 1278 495 471 451 783 776 922 764 892 815 77 790 54 is_linear=0 shrinkage=0.01 Tree=395 num_leaves=15 num_cat=0 split_feature=12 1 3 3 13 0 3 3 3 12 3 1 1 0 split_gain=11.9651 4.94254 1.57511 1.7773 2.34283 1.28848 0.00403774 0.000426362 7.72054e-06 5.77014e-06 1.26997e-06 1.21682e-06 1.15042e-06 1.12713e-06 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.58644753314242826 0.46553849925547169 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2071296172255412 1.2353254972663301 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 11 -11 -9 -12 -13 right_child=7 2 -4 4 -6 6 8 9 -10 10 12 13 -14 -15 leaf_value=-0.00046283576881314025 -0.010386757148974222 -0.007050629036835997 -0.011085467156993026 0.0091656743116311241 0.00039137135865589633 0.010844648642398818 0.010145272518300687 -0.01014223961981691 0.010100183476963474 -0.010120460308373149 -0.010119328117665692 -0.010130036682955422 -0.010097693984424796 -0.010101960783233301 leaf_weight=1.31887026131153 0.55902344081550737 2.5411123018711868 1.1479509873315681 3.6056082900613573 19.505444252863526 0.81251223757862856 0.40116247255355109 0.30593144427984764 7.1170211564749479 0.27071806415915478 0.2543157162144779 0.32245639339089394 7.3387259161099792 0.25691855791956186 leaf_count=7 30 20 24 242 209 12 31 23 733 25 22 28 768 26 internal_value=0 0.00258421 0.000374614 0.00088746 0.00176027 0.00872103 0.010175 -0.010119 0.0101026 -0.0101019 -0.0100992 -0.0101261 -0.0100984 -0.0101176 internal_weight=0 36.4497 26.8001 25.6522 23.1111 9.64957 8.3307 9.30809 7.51818 8.74907 7.86376 0.885306 7.59304 0.579375 internal_count=2200 1278 495 471 451 783 776 922 764 892 815 77 790 54 is_linear=0 shrinkage=0.01 Tree=396 num_leaves=15 num_cat=0 split_feature=12 1 3 3 13 0 3 3 3 12 3 1 1 0 split_gain=11.829 4.89781 1.5566 1.74633 2.62491 1.28538 0.00391511 0.000414417 7.49124e-06 5.59895e-06 1.23252e-06 1.18032e-06 1.1162e-06 1.09375e-06 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.82801835204893248 0.46553849925547169 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2071296172255412 1.2353254972663301 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 11 -11 -9 -12 -13 right_child=7 2 -4 4 -6 6 8 9 -10 10 12 13 -14 -15 leaf_value=-0.00045812633529889645 -0.010383073822925202 -0.0062366346234398184 -0.011074457947329449 0.010247613344733677 0.0004553464007176415 0.010835647448365474 0.010143811051742958 -0.01014080584779979 0.010099177135734676 -0.010119250737698468 -0.010118127102854389 -0.01012873024358729 -0.01009671157870742 -0.010100936136658337 leaf_weight=1.3191027268767346 0.55365642160177131 3.0393454292789164 1.1376528562977899 3.1873253146186498 19.395374597981572 0.805092502385376 0.39722777064889658 0.30292998347431233 7.0469040255993605 0.26805625203996886 0.25181497074663628 0.31928886752575636 7.2664072727784514 0.25438784807920456 leaf_count=7 30 31 24 232 208 12 31 23 733 25 22 28 768 26 internal_value=0 0.00256707 0.000371451 0.000879665 0.00183743 0.00870755 0.0101732 -0.0101178 0.0101016 -0.0101009 -0.0100982 -0.0101248 -0.0100974 -0.0101164 internal_weight=0 36.328 26.7597 25.622 22.5827 9.56833 8.24922 9.21654 7.44413 8.66289 7.78628 0.876607 7.51822 0.573677 internal_count=2200 1278 495 471 440 783 776 922 764 892 815 77 790 54 is_linear=0 shrinkage=0.01 Tree=397 num_leaves=18 num_cat=0 split_feature=1 1 3 3 0 2 4 2 0 1 13 13 12 12 13 3 0 split_gain=11.7002 4.31699 1.84257 1.84688 2.53378 1.28775 0.966399 1.51154 2.10404 0.705496 0.0592044 0.00465743 0.00384734 0.000389077 3.91861e-05 3.33256e-05 5.65909e-07 threshold=1.2071296172255412 0.80845556346269254 1.3414526916016356 0.58644753314242826 1.0188919694060079 0.56803303682406159 0.40520528501409475 1.2704041812989106 1.2652873755735712 0.46249402795761568 0.0064018138657804258 0.81992547120608383 5.4588099803130126 5.4588099803130126 1.2044405141516361 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 7 -2 -9 -7 -11 -4 -8 -13 -10 -14 -17 right_child=6 2 11 4 -6 9 12 8 14 10 -12 13 15 -15 -16 16 -18 leaf_value=-0.0075969146164427282 -0.011092207508592071 -0.0068126534074477753 -0.011620350388184516 0.0087308185533336389 0.0004299672284198236 0.00064271026530141626 -0.010685989789691892 0.015874663855476468 -0.010268195299510282 0.013498426898693601 0.010173722794196776 -0.010585081537412395 -0.010181949708005377 -0.010118512221436161 -0.01009747736639703 -0.010111368356772994 -0.01009489345778819 leaf_weight=0.46161306463181873 1.215754430741071 2.4518949892371955 0.53835279494523891 4.7987264664843705 15.73486236669123 0.81325861625373264 1.3121753009036163 0.71195804513990857 0.31095245853066444 0.57600693404674341 7.6369897378608584 0.45149630308151245 0.47345024812966574 0.29584972653537989 0.2368791438639164 0.21480979025363911 7.0955882435664535 leaf_count=18 29 18 5 247 176 32 32 11 20 3 730 14 32 26 25 20 762 internal_value=0 0.00297454 0.00073873 0.00139037 0.00236989 0.00869401 -0.00867747 -0.00313794 0.00453829 0.00952715 0.0104069 -0.0109112 -0.0101851 -0.0104004 -0.0101944 -0.0101006 -0.0100954 internal_weight=0 33.7591 24.2712 22.9855 20.5336 9.48787 11.5716 2.47554 1.25979 9.02626 8.213 1.2857 9.09602 0.747346 0.547832 7.78385 7.3104 internal_count=2200 1269 486 441 423 783 931 85 56 765 733 45 846 40 45 814 782 is_linear=0 shrinkage=0.01 Tree=398 num_leaves=15 num_cat=0 split_feature=12 1 3 3 13 0 3 3 3 12 3 1 0 1 split_gain=11.5723 4.8034 1.5232 1.68774 2.58877 1.28957 0.0036944 0.000402295 7.3662e-06 5.58651e-06 1.15555e-06 1.14214e-06 1.11379e-06 1.107e-06 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.82801835204893248 0.46553849925547169 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 11 -11 -9 -13 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 13 12 -14 -15 leaf_value=-0.00050599934082344047 -0.010379500428146275 -0.0061350901618027961 -0.011053027788106316 0.01024382084511192 0.00044761600685791448 0.010818960375363527 0.010141810763784856 -0.010138919551889995 0.010097261567427334 -0.010116864974804667 -0.01011630030499667 -0.010127261105506734 -0.010098957970613489 -0.010094802844183307 leaf_weight=1.3152573443949211 0.54397194460034271 3.0326665416359964 1.1187823209911574 3.1339772632345584 19.373923866078258 0.79139129072427561 0.39222385454922903 0.29872958455234577 6.9120272500440478 0.26280691102147091 0.24787097331136454 0.31410714238882065 0.24945924617350101 7.1249906262382865 leaf_count=7 30 31 24 232 208 12 31 23 733 25 22 28 26 768 internal_value=0 0.00253592 0.000367765 0.000868042 0.00181163 0.00867791 0.01017 -0.0101159 0.0100997 -0.010099 -0.0100963 -0.0101231 -0.0101147 -0.0100955 internal_weight=0 36.0702 26.6593 25.5406 22.5079 9.4109 8.09564 9.04194 7.30425 8.49796 7.63567 0.862296 0.563566 7.37286 internal_count=2200 1278 495 471 440 783 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=399 num_leaves=15 num_cat=0 split_feature=12 1 3 0 2 0 3 3 3 12 3 1 0 1 split_gain=11.4409 4.75943 1.50537 1.67872 1.55691 1.28635 0.00358228 0.000391016 7.14732e-06 5.42049e-06 1.12142e-06 1.10788e-06 1.08081e-06 1.074e-06 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.48229043925486209 1.1348528270257934 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 11 -11 -9 -13 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 13 12 -14 -15 leaf_value=-0.0005008419225148331 -0.010375886231117742 -0.014505876519106092 -0.011042351478653433 0.0052069007598368224 -0.00031239977573122274 0.010810250383310937 0.010140384437849946 -0.010137519769931802 0.010096285182779647 -0.010115692106640917 -0.010115130207644339 -0.010125983118621043 -0.010097963881861013 -0.010093850702792347 leaf_weight=1.31551133096218 0.53874599002301593 0.6916649490594925 1.108715834096073 7.1994698159396675 17.617335556074977 0.78414493799209406 0.3883755076676606 0.29579780902713348 6.843909970484674 0.26022195536643256 0.24543286487460125 0.31102077383548021 0.24700127821415663 7.0547578483819962 leaf_count=7 30 4 24 241 226 12 31 23 733 25 22 28 26 768 internal_value=0 0.00251916 0.000364698 0.000860501 0.00128877 0.00866425 0.0101683 -0.0101147 0.0100987 -0.010098 -0.0100953 -0.0101219 -0.0101136 -0.0100946 internal_weight=0 35.9491 26.6172 25.5085 24.8168 9.33194 8.01643 8.95298 7.23229 8.41423 7.56041 0.85382 0.558022 7.30019 internal_count=2200 1278 495 471 467 783 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=400 num_leaves=16 num_cat=0 split_feature=12 1 0 1 2 0 1 2 13 3 12 3 1 0 1 split_gain=11.3104 4.71643 1.45712 2.48179 1.28388 1.04575 0.71019 0.407264 0.0573981 0.000380047 5.25932e-06 1.08818e-06 1.07466e-06 1.04883e-06 1.04191e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 0.96155453354879217 0.56803303682406159 1.1427926010382323 0.46249402795761568 1.1348528270257934 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 7 -1 -5 -6 -4 -8 -2 12 -12 -11 -14 -13 right_child=9 2 3 5 6 -7 8 -9 -10 10 11 14 13 -15 -16 leaf_value=-0.0076492954173015982 -0.010372304932628352 -0.0085444218335407798 0.01103286507620866 0.0013280110148765206 0.00055480783511139534 -0.0032976168317473201 0.013454998062835928 0.0042592047366813339 0.010168780006820763 -0.010136134588601731 -0.010114530617425564 -0.010113971810700532 -0.010124718441514391 -0.010096980024749872 -0.010092908778137524 leaf_weight=0.45925243943929572 0.53356862161308427 1.7183832600712801 2.3326875241473348 13.411847474984826 0.80591251980513146 7.6897201500833026 0.57253459095954884 1.4328457117080686 7.4160434482619166 0.29289439506828596 0.25766213797032822 0.24301846046000708 0.30796434078365564 0.24456728156656027 6.9852105481550097 leaf_count=18 30 11 181 147 32 109 3 47 730 23 25 22 28 26 768 internal_value=0 0.00250171 0.000361466 0.000976887 0.00865053 -0.000357635 0.00950171 0.00845538 0.0104043 -0.0101136 -0.010097 -0.0100943 -0.0101206 -0.0101124 -0.0100936 internal_weight=0 35.8392 26.5855 24.8671 9.25374 21.1016 8.79449 3.76553 7.98858 8.86489 8.33132 7.48589 0.845426 0.552532 7.22823 internal_count=2200 1278 495 484 783 256 765 228 733 922 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=401 num_leaves=16 num_cat=0 split_feature=12 1 0 2 0 3 4 3 3 3 12 3 1 0 1 split_gain=11.182 4.67117 1.43049 2.4539 1.2902 1.25447 0.799673 0.00338046 0.000369382 7.03469e-06 5.10305e-06 1.05605e-06 1.04241e-06 1.01778e-06 1.01086e-06 threshold=5.4588099803130126 0.80845556346269254 0.62911932954187277 1.0956011871597129 0.31415341067031349 1.2471304352583659 0.40225799183036598 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 4 -3 6 -1 -5 -4 -6 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 5 7 -7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.0005475484398172072 -0.010368756356256373 -0.0084729088699882337 0.0047995977554525582 0.00104037065663199 0.010794104483527262 -0.0046214971991829648 0.014331234417889695 0.01013846244424697 -0.010134762912268867 0.010094427747664499 -0.010113381343739966 -0.010112825299481711 -0.01012346612523978 -0.010096005892664014 -0.010091975629349373 leaf_weight=1.3116956986486892 0.52843940816819568 1.7155720368027711 2.2962315334007175 15.9144255630672 0.77076107263565052 5.1893262211233369 1.4273080863058565 0.38351611699908961 0.29001909587532093 6.7129643876105547 0.25512720178812731 0.24062752537429322 0.30493756942451 0.24215704202651978 6.9163429448381066 leaf_count=7 30 11 142 206 12 97 39 31 23 733 25 22 28 26 768 internal_value=0 0.00248498 0.000358463 0.000968713 0.00863425 -0.000351859 0.00845327 0.0101651 -0.0101125 0.0100968 -0.010096 -0.0100934 -0.0101194 -0.0101113 -0.0100927 internal_weight=0 35.7218 26.5429 24.8273 9.17894 21.1038 3.72354 7.86724 8.77765 7.09648 8.24921 7.4121 0.837114 0.547095 7.15697 internal_count=2200 1278 495 484 783 303 181 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=402 num_leaves=16 num_cat=0 split_feature=12 1 3 13 13 0 2 3 3 3 12 3 1 0 1 split_gain=11.0547 4.62862 1.40737 2.57311 1.56825 1.28687 0.511501 0.00327795 0.000359012 6.82566e-06 4.9516e-06 1.02486e-06 1.01114e-06 9.87661e-07 9.80706e-07 threshold=5.4588099803130126 0.80845556346269254 0.58644753314242826 0.46553849925547169 0.50652862085158101 0.31415341067031349 1.2132009332284019 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2640297647729313 1.2034118844789969 1.2353254972663301 1.2071296172255412 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 12 -12 -10 -14 -13 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 14 13 -15 -16 leaf_value=-0.00054195897783887415 -0.010365240481314241 -0.0067586383656901726 0.010260691332505538 -0.0090692030021690493 0.00062490224981778168 0.010785675496552564 -0.0036729495830163405 0.01013707008578566 -0.010133405618284477 0.010093480069022276 -0.010112243545053435 -0.010111690020384666 -0.01012222693531234 -0.01009504193025988 -0.010091051881775963 leaf_weight=1.3119703121483306 0.52335792314261098 2.5168791748583343 3.1583870453760059 1.8321469724178339 18.715267398394644 0.76368523761630047 0.28743885830044735 0.37975196074694384 0.28717162366956284 6.6467904085293412 0.2526169205084442 0.23825985472649325 0.30194017011672258 0.23977032024413347 6.8481478951871395 leaf_count=7 30 20 234 17 216 12 8 31 23 733 25 22 28 26 768 internal_value=0 0.00246781 0.000355333 0.00110158 -0.00023949 0.00862041 0.0090984 0.0101635 -0.0101113 0.0100958 -0.0100951 -0.0100925 -0.0101182 -0.0101102 -0.0100917 internal_weight=0 35.6123 26.5101 23.9932 20.5474 9.1022 3.44583 7.79023 8.69126 7.02654 8.16791 7.33902 0.828882 0.54171 7.08641 internal_count=2200 1278 495 475 233 783 242 776 922 764 892 815 77 54 790 is_linear=0 shrinkage=0.01 Tree=403 num_leaves=18 num_cat=0 split_feature=1 1 2 4 2 2 0 4 4 13 0 12 3 3 3 3 0 split_gain=10.9348 4.07177 1.57733 2.03649 4.09263 3.32863 1.28355 1.25222 0.97476 1.55423 2.74973 0.00373159 0.00317858 4.90182e-05 2.77337e-05 6.62289e-06 4.71813e-07 threshold=1.2071296172255412 0.80845556346269254 1.2813361202598783 0.35806909455900915 1.2169811510592434 1.2525408166204799 0.31415341067031349 0.458708170231996 0.40520528501409475 0.93885093126527053 1.2652873755735712 5.4588099803130126 0.17408222448223767 1.3210941733026873 1.2471304352583659 0.61313736928646123 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 4 -3 -5 -1 -4 9 -2 -11 -10 -8 -12 -13 -14 -16 right_child=8 2 7 5 -6 -7 12 -9 11 10 13 14 15 -15 16 -17 -18 leaf_value=-0.00053642787175352366 -0.011096944796304423 0.01208845077896825 -0.012292098695518316 -0.0019854119745376449 -0.015363013579242005 0.0093006280152732757 0.010777341916943097 0.0027931942290606963 -0.010676925703727136 0.019735788248038358 -0.010281709994513088 -0.010171134667380613 0.010135691865072792 -0.010101370390420757 -0.010104812695028546 0.010092541834044795 -0.010089316328956691 leaf_weight=1.3122420646250228 1.2023077011108392 3.5277587845921579 1.5543093215674155 14.254327167756857 0.64190951921045769 3.1998999770730725 0.75666816905140866 0.85183819010853756 1.2953034015372376 0.61930411495268323 0.27282078936696053 0.44607224501669396 0.37602423131465901 0.33677448239177465 0.20242492295801628 6.5812623230740428 6.685985142365098 leaf_count=7 21 135 37 251 5 30 12 28 32 10 19 32 31 35 20 733 762 internal_value=0 0.00287998 0.000728982 0.00158361 0.00786237 8.36684e-05 0.00860649 -0.00695152 -0.00860645 -0.0030135 0.00489504 -0.0101821 0.0101618 -0.0101821 -0.0100947 0.0100949 -0.0100898 internal_weight=0 33.0562 24.03 21.6239 4.16967 17.4542 9.0262 2.40615 11.061 2.43121 1.2289 8.62979 7.71395 0.609595 7.33448 6.95729 6.88841 internal_count=2200 1269 486 421 140 281 783 65 931 85 64 846 776 54 814 764 782 is_linear=0 shrinkage=0.01 Tree=404 num_leaves=16 num_cat=0 split_feature=12 1 2 2 0 2 2 1 13 3 12 1 3 1 0 split_gain=10.8171 4.54041 1.6337 1.72178 1.81041 1.47486 1.28437 0.717271 0.0557478 0.000350719 4.81442e-06 1.04315e-06 9.57773e-07 1.0393e-06 9.14071e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 1.1348528270257934 0.58890159214991267 1.2396581529761168 0.56803303682406159 0.46249402795761568 0.0064018138657804258 1.2393449613922758 5.5729390810083803 1.2034118844789969 1.2640297647729313 1.2071296172255412 1.2353254972663301 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -9 -2 11 -11 -12 -14 -13 right_child=9 2 3 5 -6 -7 7 8 -10 10 12 14 13 -15 -16 leaf_value=-0.0077784430223371828 -0.010362657220257629 -0.016391497333625698 -0.0085150027522832381 -0.0033185405679693816 0.0067087536626019885 0.0023778840302062306 0.00042812394494859608 0.01341436801648555 0.010162417369511212 -0.010131792513327621 -0.010109999133418842 -0.010119746012136208 -0.010110616325146595 -0.010089261922470939 -0.01009334657805043 leaf_weight=0.45487521402537723 0.51435910165309806 0.57016326487064617 0.89005242288112896 10.672859892249109 6.3840559544041753 7.9163965638726941 0.79537858720868637 0.56923449039459217 7.1314392667263746 0.28383540548384001 0.24766670074313868 0.29599887039512396 0.23591853026300658 6.7150362860411406 0.23551162891089916 leaf_count=18 30 3 6 149 237 100 32 3 730 23 25 28 22 768 26 internal_value=0 0.0024367 0.000352219 0.000721337 0.00484599 -0.000892669 0.0085925 0.009469 0.0104028 -0.0101095 -0.0100933 -0.0101163 -0.0100907 -0.01009 -0.010108 internal_weight=0 35.3845 26.4335 25.8634 7.27411 18.5893 8.95093 8.49605 7.70067 8.52833 8.01397 0.815346 7.19862 6.95095 0.53151 internal_count=2200 1278 495 492 243 249 783 765 733 922 892 77 815 790 54 is_linear=0 shrinkage=0.01 Tree=405 num_leaves=16 num_cat=0 split_feature=12 1 2 2 0 2 0 3 3 3 12 1 3 1 0 split_gain=10.6934 4.49753 1.60767 1.6928 1.77989 1.44561 1.28699 0.00299962 0.00034087 6.52521e-06 4.67148e-06 1.01189e-06 9.29502e-07 1.00833e-06 8.87005e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 1.1348528270257934 0.58890159214991267 1.2396581529761168 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 5.5729390810083803 1.2034118844789969 1.2640297647729313 1.2071296172255412 1.2353254972663301 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 11 -10 -12 -14 -13 right_child=8 2 3 5 -6 -7 7 9 10 -11 12 14 13 -15 -16 leaf_value=-0.00058175519023392983 -0.01035920003953235 -0.016296307980195397 -0.0084493067662274862 -0.003286618609904971 0.0066638668597043364 0.0023521574486976208 0.010761891882786144 0.010133868329692094 -0.010130465434951705 0.010090761722588819 -0.010108895680131151 -0.010118544061154115 -0.010109503721804851 -0.01008836561022006 -0.010092409415519418 leaf_weight=1.3084601871669272 0.50941023882478287 0.56777074933052318 0.88801338523626583 10.668777763843538 6.3628941243514419 7.9229193432256571 0.74370411783456791 0.37136267498135556 0.28104782383888949 6.4553954191505909 0.24522901419550169 0.2930882666260004 0.23359667975455511 6.6488084923475981 0.23318979237228632 leaf_count=7 30 3 6 149 237 100 12 31 23 733 25 28 22 768 26 internal_value=0 0.00241895 0.000349013 0.000714716 0.00481297 -0.000883634 0.008576 0.0101588 -0.0101084 0.0100931 -0.0100923 -0.0101151 -0.0100898 -0.0100891 -0.010107 internal_weight=0 35.2893 26.4104 25.8426 7.25091 18.5917 8.87892 7.57046 8.44437 6.82676 7.93496 0.807326 7.12763 6.88241 0.526278 internal_count=2200 1278 495 492 243 249 783 776 922 764 892 77 815 790 54 is_linear=0 shrinkage=0.01 Tree=406 num_leaves=18 num_cat=0 split_feature=1 1 2 4 2 2 0 4 4 13 0 12 3 3 3 3 0 split_gain=10.5726 3.95452 1.55292 2.00301 4.02949 3.23168 1.28356 1.24921 0.976084 1.54691 2.64493 0.003671 0.00290875 4.90563e-05 2.53093e-05 6.33121e-06 4.30788e-07 threshold=1.2071296172255412 0.80845556346269254 1.2813361202598783 0.35806909455900915 1.2169811510592434 1.2525408166204799 0.31415341067031349 0.458708170231996 0.40520528501409475 0.93885093126527053 1.2652873755735712 5.4588099803130126 0.17408222448223767 1.3210941733026873 1.2471304352583659 0.61313736928646123 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 4 -3 -5 -1 -4 9 -2 -11 -10 -8 -12 -13 -14 -16 right_child=8 2 7 5 -6 -7 12 -9 11 10 13 14 15 -15 16 -17 -18 leaf_value=-0.00057580926272593534 -0.011083386736655947 0.012072226836108256 -0.012280896263546781 -0.0019550988117440753 -0.015225172731556045 0.009168578035591889 0.01075382558511778 0.0028283983482039581 -0.010672478932293179 0.019262198576906871 -0.010281025395425348 -0.010165985351189729 0.010132522319791379 -0.010098349113149026 -0.010101682792642286 0.010089851267824747 -0.010086653917007866 leaf_weight=1.3087515830993632 1.1885104980319732 3.4857659153640332 1.5429213009774678 14.217332436703147 0.64006000198423851 3.1995069216936818 0.7368536703288554 0.84791806899011124 1.2857344998046736 0.62731368001550414 0.26711420621722937 0.43300048168748606 0.36771614756435145 0.32692548539489508 0.19650073535740364 6.3917370941489935 6.4900647271424532 leaf_count=7 21 135 37 251 5 30 12 28 32 10 19 32 31 35 20 733 762 internal_value=0 0.0028319 0.000723854 0.00157244 0.00783744 8.8342e-05 0.00856189 -0.00692234 -0.00857211 -0.00296154 0.00494192 -0.0101807 0.0101572 -0.0101805 -0.0100919 0.0100922 -0.0100871 internal_weight=0 32.7386 23.9335 21.5427 4.12583 17.4168 8.80506 2.39084 10.8152 2.40986 1.22135 8.4053 7.49631 0.59404 7.11957 6.75945 6.68657 internal_count=2200 1269 486 421 140 281 783 65 931 85 64 846 776 54 814 764 782 is_linear=0 shrinkage=0.01 Tree=407 num_leaves=15 num_cat=0 split_feature=12 1 2 2 0 2 0 3 3 3 1 4 3 12 split_gain=10.4639 4.41132 1.57927 1.65474 1.75095 1.4075 1.28013 0.00282066 0.000333111 6.14348e-06 4.6565e-06 3.27027e-06 1.81184e-06 5.38026e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 1.1348528270257934 0.58890159214991267 1.2396581529761168 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 1.2034118844789969 0.37820364433929859 1.2581335208377802 5.5629213280817131 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 13 -12 -13 -10 right_child=8 2 3 5 -6 -7 7 9 10 -11 11 12 -14 -15 leaf_value=-0.00056992496110818682 -0.010356726433603474 -0.016191821647020748 -0.0084089912232545444 -0.0032443152591683996 0.0066172354795797153 0.0023237384851479696 0.010745849785609215 0.010131190444281993 -0.010129997287242731 0.010088948816206131 -0.010123927828560848 -0.010113219165871084 -0.010086352350589361 -0.01010894251893147 leaf_weight=1.3090398758649806 0.50066381972282936 0.56504994630813854 0.88385871797800319 10.649043489247562 6.3245541742071509 7.9134798478335133 0.7300606109201907 0.36410493217408646 0.26810277346521605 6.3287010928615928 0.25316794123500574 0.26065609324723471 6.7817777767777443 0.22175300214439631 leaf_count=7 30 3 6 149 237 100 12 31 22 733 23 26 800 21 internal_value=0 0.00238815 0.000345896 0.0007085 0.0047748 -0.000870571 0.00854771 0.0101556 -0.0101067 0.0100912 -0.0100906 -0.0100886 -0.0100873 -0.0101205 internal_weight=0 35.0679 26.336 25.7709 7.20841 18.5625 8.73191 7.42287 8.28612 6.69281 7.78546 7.2956 7.04243 0.489856 internal_count=2200 1278 495 492 243 249 783 776 922 764 892 849 826 43 is_linear=0 shrinkage=0.01 Tree=408 num_leaves=15 num_cat=0 split_feature=12 1 2 2 4 2 2 1 13 3 1 4 3 12 split_gain=10.3445 4.37099 1.55434 1.62682 1.74605 1.37958 1.28431 0.724052 0.0541532 0.000323753 4.51757e-06 3.17313e-06 1.75816e-06 5.21996e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.56803303682406159 0.46249402795761568 0.0064018138657804258 1.2393449613922758 1.2034118844789969 0.37820364433929859 1.2581335208377802 5.5629213280817131 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -9 -2 13 -12 -13 -11 right_child=9 2 3 5 -6 -7 7 8 -10 10 11 12 -14 -15 leaf_value=-0.0079036018583674896 -0.010353326760961771 -0.016100439839579012 0.0062060745836544232 -0.0032130654061203814 -0.011854706932991824 0.0022986495364298513 0.00030403362506171587 0.013374697540721894 0.01015631124329121 -0.010128688509562327 -0.010122682834982447 -0.010112083243696666 -0.010085486260353545 -0.010107847031391249 leaf_weight=0.45062327943742175 0.49584407918155005 0.56258679181337612 6.6032894086092737 10.645109012722971 0.58250218629837025 7.9198217308148733 0.78522881958633473 0.56596317887306202 6.8576444676145911 0.26546923257410515 0.25067955255508412 0.25809136498719443 6.7148719634860754 0.21957019809633493 leaf_count=18 30 3 238 149 5 100 32 3 730 22 23 26 800 21 internal_value=0 0.00237081 0.000342742 0.000701983 0.00474201 -0.000861761 0.00853346 0.00943577 0.0104017 -0.0101056 -0.0100897 -0.0100877 -0.0100865 -0.0101193 internal_weight=0 34.9728 26.3133 25.7507 7.18579 18.5649 8.65946 8.20884 7.42361 8.20453 7.70868 7.22364 6.97296 0.485039 internal_count=2200 1278 495 492 243 249 783 765 733 922 892 849 826 43 is_linear=0 shrinkage=0.01 Tree=409 num_leaves=15 num_cat=0 split_feature=12 1 2 1 3 0 3 3 3 3 1 4 3 12 split_gain=10.2264 4.32934 1.52991 1.61275 1.36316 1.28318 0.0377523 0.00266196 0.000314657 6.059e-06 4.38316e-06 3.07913e-06 1.70625e-06 5.06431e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 0.85893167272483917 0.58644753314242826 0.31415341067031349 0.17408222448223767 0.17408222448223767 1.2393449613922758 0.61313736928646123 1.2034118844789969 0.37820364433929859 1.2581335208377802 5.5629213280817131 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 13 -12 -13 -10 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 12 -14 -15 leaf_value=-0.00061390699895675705 -0.010349958090711609 -0.0160107866120573 0.013782555503601831 -0.0092560023119052752 0.00069599925223033416 0.010731064058831239 0.010131800206944539 0.010129460816525467 -0.010127392863157985 0.010087242615788748 -0.010121450514664074 -0.010110958805517075 -0.010084627505882651 -0.010106762763912045 leaf_weight=1.3052900657057742 0.49106933176517298 0.56009217351675289 0.39618945121765381 1.4644471108913446 22.877338929101825 0.71750743314623822 0.99369673244655132 0.35963320266455401 0.26286122296005476 6.2077179653570056 0.24821531679481257 0.25555158872157324 6.6486211298033595 0.21740864310413599 leaf_count=7 30 3 2 13 382 12 95 31 22 733 23 26 800 21 internal_value=0 0.00235333 0.000339597 0.00069549 9.72683e-05 0.00851673 0.0111725 0.0101527 -0.0101046 0.0100896 -0.0100888 -0.0100868 -0.0100856 -0.0101181 internal_weight=0 34.8819 26.2918 25.7317 24.3418 8.59015 1.38989 7.28486 8.12373 6.56735 7.63266 7.15239 6.90417 0.48027 internal_count=2200 1278 495 492 395 783 97 776 922 764 892 849 826 43 is_linear=0 shrinkage=0.01 Tree=410 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 1 2 3 4 2 0 12 3 3 0 split_gain=10.112 3.83685 6.86879 2.81296 3.69493 2.10207 1.9024 1.43946 1.06051 0.977283 1.56186 1.91798 0.00357803 3.73442e-05 2.23979e-05 3.81956e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 1.1418730677972666 0.56803303682406159 1.0738835291228945 0.40520528501409475 1.2704041812989106 1.2652873755735712 5.4588099803130126 1.3323715879710427 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 7 -1 -6 10 -2 -12 -11 -13 -14 -16 right_child=9 3 -4 4 8 -7 -8 -9 -10 12 11 13 14 -15 15 -17 leaf_value=-0.0083743897290081224 -0.011080010387139081 -0.012151519480855058 -0.015369541487547876 0.0076174371855092324 0.0071998225515918033 -0.011684694081190074 0.030915344842848587 0.010185450437708646 -0.0034879153573052564 -0.010665316055069443 0.015515528125977287 -0.010269146313865805 -0.01015935423517951 -0.010093982002249901 -0.010097661898751893 -0.01008322768997756 leaf_weight=0.43816876504569968 1.1788680562749498 1.6753911403939152 1.1696042725816358 7.9989765658974665 1.0237428899854411 0.60702061839401711 0.42655280232429582 9.0243814541026932 9.9711088109761459 1.2746432209387402 0.71713793464004971 0.25534609146416187 0.41613805666565884 0.23256407026201487 0.18887857813388098 6.2376728905364871 leaf_count=17 29 26 10 323 16 6 2 710 159 32 11 19 32 26 20 762 internal_value=0 0.00276887 0.00754688 0.000285421 0.00134847 0.00625597 0.0102573 0.00932603 -0.00249277 -0.00852566 -0.0028964 0.00510941 -0.0101789 -0.0101857 -0.0100883 -0.0100837 internal_weight=0 32.3349 11.0587 21.2762 19.6008 8.606 9.8891 9.46255 10.9949 10.5012 2.38392 1.20505 8.11733 0.48791 6.84269 6.42655 internal_count=2200 1269 739 530 504 329 729 727 175 931 85 56 846 45 814 782 is_linear=0 shrinkage=0.01 Tree=411 num_leaves=15 num_cat=0 split_feature=12 1 2 2 4 2 0 3 3 3 1 4 3 12 split_gain=10.0058 4.25456 1.48971 1.59045 1.71053 1.36861 1.28185 0.00256097 0.000302452 5.94997e-06 4.32303e-06 3.16297e-06 1.60855e-06 4.80592e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 1.2034118844789969 0.37820364433929859 1.2581335208377802 5.5629213280817131 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 13 -12 -13 -10 right_child=8 2 3 5 -6 -7 7 9 10 -11 11 12 -14 -15 leaf_value=-0.00063557342509740189 -0.010345538665412728 -0.015848106298913586 0.006160698309562054 -0.0032060271270879688 -0.011789763023712414 0.0022893193149258612 0.010721715179929996 0.010127757317984678 -0.010125555500607213 0.0100856349409927 -0.010120488595248956 -0.010108766259128333 -0.010082948952948638 -0.010105321594174146 leaf_weight=1.3023150116205195 0.48220958281308313 0.55689979344606655 6.5366717763245132 10.61398759391159 0.57778400182723988 7.9089723462238899 0.70756774768233288 0.3548721857368945 0.25922656524926413 6.0935594411566854 0.24487777426838864 0.25060879811644543 6.5186667665839195 0.21453422959893942 leaf_count=7 30 3 238 149 5 100 12 31 22 733 23 26 800 21 internal_value=0 0.00232364 0.000332521 0.000683999 0.00470289 -0.000859613 0.00848988 0.0101506 -0.0101028 0.010088 -0.0100872 -0.0100852 -0.0100839 -0.0101164 internal_weight=0 34.6526 26.1943 25.6374 7.11446 18.523 8.45831 7.156 7.97012 6.44843 7.48791 7.01415 6.76928 0.473761 internal_count=2200 1278 495 492 243 249 783 776 922 764 892 849 826 43 is_linear=0 shrinkage=0.01 Tree=412 num_leaves=15 num_cat=0 split_feature=12 1 2 1 3 0 3 3 3 3 1 4 3 12 split_gain=9.89182 4.21526 1.46659 1.57779 1.34375 1.27826 0.0350473 0.00248352 0.000293945 5.77306e-06 4.19416e-06 3.06911e-06 1.56095e-06 4.66288e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 0.85893167272483917 0.58644753314242826 0.31415341067031349 0.17408222448223767 0.17408222448223767 1.2393449613922758 0.61313736928646123 1.2034118844789969 0.37820364433929859 1.2581335208377802 5.5629213280817131 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -9 13 -12 -13 -10 right_child=8 2 3 4 -6 7 -8 9 10 -11 11 12 -14 -15 leaf_value=-0.00062906373008642894 -0.010342242780368606 -0.015763216177161695 0.01367452275053639 -0.0092249383253425483 0.00068413434315956259 0.010714102052084116 0.010129274107701643 0.010126473375333858 -0.010124292020618753 0.010084776544233658 -0.010119278676400405 -0.010107675540591766 -0.010082116980681947 -0.010104262737848304 leaf_weight=1.3026318848133067 0.47756290156394143 0.55431286245584743 0.39100019633770233 1.455917071551087 22.799774796701968 0.70102260261774052 0.97211224399507046 0.35138547047972668 0.25667908880859602 6.0334388157352805 0.24247003998607386 0.24814183730632056 6.4543349579907954 0.2124217227101326 leaf_count=7 30 3 2 13 382 12 95 31 22 733 23 26 800 21 internal_value=0 0.00230657 0.000329466 0.000677662 8.93549e-05 0.00847538 0.0111462 0.0101491 -0.0101018 0.0100871 -0.0100863 -0.0100843 -0.0100831 -0.0101152 internal_weight=0 34.5616 26.1731 25.6188 24.2557 8.38848 1.36311 7.08585 7.89161 6.38482 7.41405 6.94495 6.70248 0.469101 internal_count=2200 1278 495 492 395 783 97 776 922 764 892 849 826 43 is_linear=0 shrinkage=0.01 Tree=413 num_leaves=14 num_cat=0 split_feature=12 1 3 2 1 0 3 3 3 1 4 3 12 split_gain=9.77904 4.17635 1.44695 1.53478 1.41495 1.27468 0.00240844 0.000285673 5.60188e-06 4.06916e-06 2.97805e-06 1.51478e-06 4.52378e-07 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.77035900000382884 0.85893167272483917 0.31415341067031349 0.17408222448223767 1.2393449613922758 0.61313736928646123 1.2034118844789969 0.37820364433929859 1.2581335208377802 5.5629213280817131 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 12 -11 -12 -9 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 -14 leaf_value=-0.00062262248505238994 -0.010338976900797497 -0.015679896274530567 -0.011003737589167903 0.011133526941863189 0.00060574143834086504 0.010706574164977452 0.010125202710322686 -0.01012304108058777 0.010083925357730584 -0.010118081049465434 -0.010106595976400758 -0.010081293348100349 -0.010103215022734464 leaf_weight=1.3029453866183738 0.47295967116951843 0.55169890075922623 1.0805864948779333 1.3510769018903399 23.171533380635083 0.69453285634517659 0.3479325734078883 0.25415633432567108 5.9739066539332271 0.24008569587022055 0.24569889623671759 6.3906328049488366 0.21032979339361191 leaf_count=7 30 3 24 97 371 12 31 22 733 23 26 800 21 internal_value=0 0.0022894 0.000326407 0.000814684 0.00118577 0.00846081 0.0101476 -0.0101008 0.0100862 -0.0100854 -0.0100835 -0.0100822 -0.0101141 internal_weight=0 34.4742 26.1549 25.0743 24.5226 8.31932 7.01637 7.81386 6.32184 7.3409 6.87642 6.63633 0.464486 internal_count=2200 1278 495 471 468 783 776 922 764 892 849 826 43 is_linear=0 shrinkage=0.01 Tree=414 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 1 2 3 4 13 0 12 3 3 0 split_gain=9.67085 3.71577 6.77138 2.73203 3.5999 2.04987 1.82709 1.44021 1.03955 0.978931 1.57058 2.4729 0.00347548 4.9635e-05 1.98229e-05 3.3869e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 1.1418730677972666 0.56803303682406159 1.0738835291228945 0.40520528501409475 0.93885093126527053 1.2652873755735712 5.4588099803130126 1.3210941733026873 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 7 -1 -6 10 -2 -12 -11 -13 -14 -16 right_child=9 3 -4 4 8 -7 -8 -9 -10 12 11 13 14 -15 15 -17 leaf_value=-0.0084847620657084004 -0.011067751524915743 -0.012043584142563126 -0.015293891302294969 0.0075533966907093131 0.0071675309965387448 -0.011650757414161909 0.030377280241778583 0.010168564054701805 -0.0034550867102198179 -0.0106575359609979 0.01871069137739317 -0.010280615070349669 -0.010152991972334746 -0.01009070173523329 -0.010093801196749509 -0.010079937388895295 leaf_weight=0.43440337758511383 1.1682175677269682 1.6607541376724864 1.1650569261983026 7.90113388374448 1.0153800295665849 0.59788020700216282 0.43001955747604448 8.7765800333581847 9.9390203738585097 1.2627896135672925 0.63603780698031165 0.25286485999822617 0.39992517512291659 0.30195241328328848 0.18154894188046444 5.9950174065306783 leaf_count=17 21 26 10 323 16 6 2 710 159 32 10 19 32 35 20 762 internal_value=0 0.00270846 0.00747765 0.000267631 0.00131865 0.00620244 0.0102295 0.00928885 -0.00247046 -0.00847744 -0.00282965 0.00525185 -0.010177 -0.0101773 -0.0100848 -0.0100803 internal_weight=0 31.9202 10.8061 21.1142 19.4534 8.49901 9.641 9.21098 10.9544 10.1984 2.35907 1.19086 7.83928 0.554817 6.57649 6.17657 internal_count=2200 1269 739 530 504 329 729 727 175 931 85 64 846 54 814 782 is_linear=0 shrinkage=0.01 Tree=415 num_leaves=14 num_cat=0 split_feature=12 1 2 2 4 2 0 3 1 3 3 1 4 split_gain=9.56815 4.10351 1.40644 1.5455 1.67425 1.35819 1.27316 0.00231855 0.00037121 2.30098e-05 5.50689e-06 3.09056e-06 3.2506e-06 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.31415341067031349 0.17408222448223767 1.1597348923655619 1.2471304352583659 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -10 -9 -11 -13 right_child=8 2 3 5 -6 -7 7 10 9 11 -12 12 -14 leaf_value=-0.00064380488495952796 -0.01050729075120352 -0.015527977612137152 0.0061035478305859949 -0.0032016867359526387 -0.011728757176341437 0.0022795106116511089 0.010697745385387789 0.010123590267516398 -0.010153170793998119 -0.010112332955007457 0.010082387097576197 -0.010118724839569175 -0.010079673674385647 leaf_weight=1.2999438419938067 0.21639221999794145 0.54823936522007244 6.4586600214242962 10.576250291429462 0.57324031367897976 7.8956856830045572 0.68491726368665684 0.34336637565866102 0.4927988783456384 0.32990477792918671 5.8642374644987285 0.2204916332848369 6.4060631208121777 leaf_count=7 13 3 238 149 5 100 12 31 39 31 733 21 818 internal_value=0 0.00226058 0.000319389 0.00066005 0.00464986 -0.000858791 0.00843358 0.0101456 -0.010099 -0.0100871 0.0100847 -0.0100825 -0.010081 internal_weight=0 34.2445 26.0521 25.5038 7.0319 18.4719 8.19246 6.89252 7.66565 7.44926 6.2076 6.95646 6.62655 internal_count=2200 1278 495 492 243 249 783 776 922 909 764 870 839 is_linear=0 shrinkage=0.01 Tree=416 num_leaves=14 num_cat=0 split_feature=12 1 2 1 3 0 3 3 1 3 3 1 4 split_gain=9.45936 4.06516 1.38497 1.52815 1.32596 1.26952 0.0316102 0.00224852 0.000360699 2.23285e-05 5.34353e-06 2.99853e-06 3.1541e-06 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 0.85893167272483917 0.58644753314242826 0.31415341067031349 0.17408222448223767 0.17408222448223767 1.1597348923655619 1.2471304352583659 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -10 -9 -11 -13 right_child=8 2 3 4 -6 7 -8 10 9 11 -12 12 -14 leaf_value=-0.00063720915899427263 -0.010502407843747173 -0.015449000337016894 0.013530888176690466 -0.0091983762606847441 0.00067202779982178471 0.010690403143834421 0.010125442799546316 0.010122348630989217 -0.010151633106443972 -0.010111203589328164 0.010081560211493956 -0.010117532394238302 -0.010078874666034177 leaf_weight=1.3002635464072207 0.21433818992227216 0.54554512351751583 0.38374684751034027 1.4477627575397516 22.713385280221701 0.67856560647487629 0.94083315599709749 0.33999131200835098 0.48796897428110231 0.32665847055613983 5.806360867805779 0.21832330152392376 6.3428217736072838 leaf_count=7 13 3 2 13 382 12 95 31 39 31 733 21 818 internal_value=0 0.00224385 0.000316451 0.000653925 8.05823e-05 0.0084188 0.011112 0.0101441 -0.010098 -0.0100863 0.0100838 -0.0100816 -0.0100802 internal_weight=0 34.1565 26.0313 25.4857 24.1611 8.12518 1.32458 6.82492 7.59011 7.37577 6.14635 6.8878 6.56115 internal_count=2200 1278 495 492 395 783 97 776 922 909 764 870 839 is_linear=0 shrinkage=0.01 Tree=417 num_leaves=13 num_cat=0 split_feature=12 1 3 3 13 2 1 13 1 3 1 4 split_gain=9.35173 4.02718 1.41605 1.46409 2.37561 1.26819 0.73931 0.050179 0.000350481 2.16678e-05 2.90936e-06 3.06057e-06 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.82801835204893248 0.46553849925547169 0.56803303682406159 0.46249402795761568 0.0064018138657804258 1.1597348923655619 1.2471304352583659 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -8 -2 -10 -11 -12 right_child=8 2 -4 4 -6 6 7 -9 9 10 11 -13 leaf_value=-0.0080145315639098044 -0.010497569613514649 -0.0058807263778032359 -0.010982491650264164 0.010224400771839177 0.00041411023452940401 1.3146937170315764e-06 0.013275135384778192 0.010145117318899112 -0.010150111046352188 -0.010110085811352426 -0.010116352164340347 -0.010078083217123149 leaf_weight=0.44450658466666748 0.21230279840528865 2.9026793017983499 1.0643524564802636 2.8322294466197517 19.21398148406297 0.75950579624623049 0.55753558874130238 6.2969996281899512 0.48318568803369988 0.32344374246895302 0.21617603953927744 6.2802001242525876 leaf_count=18 13 31 24 232 208 32 3 730 39 31 21 818 internal_value=0 0.00222704 0.000313511 0.000795414 0.00167442 0.00840395 0.00936246 0.0103997 -0.010097 -0.0100854 -0.0100808 -0.0100794 internal_weight=0 34.0718 26.0132 24.9489 22.0462 8.05855 7.61404 6.85454 7.51531 7.30301 6.81982 6.49638 internal_count=2200 1278 495 471 440 783 765 733 922 909 870 839 is_linear=0 shrinkage=0.01 Tree=418 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 1 2 3 4 2 0 12 4 3 0 split_gain=9.24871 3.59727 6.67596 2.65654 3.50512 1.9992 1.75622 1.4226 1.02188 0.979746 1.58352 1.79906 0.00335884 5.39537e-05 1.75792e-05 3.003e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 1.1418730677972666 0.56803303682406159 1.0738835291228945 0.40520528501409475 1.2704041812989106 1.2652873755735712 5.4588099803130126 0.37041150200217393 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 7 -1 -6 10 -2 -12 -11 -13 -14 -16 right_child=9 3 -4 4 8 -7 -8 -9 -10 12 11 13 14 -15 15 -17 leaf_value=-0.0084033574487118005 -0.011071602515007049 -0.011948135655326361 -0.015220768537403341 0.0074914699175283629 0.0071582349456058673 -0.011617553868353999 0.029866662686482449 0.010151985844440454 -0.003420957018147141 -0.010648744613575963 0.015211134599941769 -0.010309659737111352 -0.010146944468579493 -0.010088898283350252 -0.010090094244587563 -0.010076778730873173 leaf_weight=0.43421903625130731 1.157092366367577 1.6449450356885815 1.160314206033944 7.8011133200489002 1.0057393638417114 0.58881725557148445 0.43328675627708513 8.5299133341759426 9.9070978201925737 1.2499228939414022 0.72232350800186373 0.19068996282294393 0.38446981785818923 0.26393997622653842 0.17450083978474129 5.7617365983314812 leaf_count=17 29 26 10 323 16 6 2 710 159 32 11 13 32 32 20 762 internal_value=0 0.00264974 0.00740941 0.00025085 0.00129042 0.00615037 0.0102036 0.00925317 -0.00244597 -0.00842876 -0.00276444 0.00540255 -0.0101751 -0.0101815 -0.0100814 -0.0100772 internal_weight=0 31.5054 10.5577 20.9477 19.3028 8.38993 9.39742 8.96413 10.9128 9.90468 2.33405 1.17695 7.57063 0.45463 6.32071 5.93624 internal_count=2200 1269 739 530 504 329 729 727 175 931 85 56 846 45 814 782 is_linear=0 shrinkage=0.01 Tree=419 num_leaves=14 num_cat=0 split_feature=12 1 3 3 13 0 3 1 3 3 12 0 4 split_gain=9.15193 3.95397 1.38977 1.43527 2.33729 1.27363 0.00210779 0.000338098 2.03464e-05 5.36067e-06 2.90473e-06 7.17722e-07 6.86781e-07 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.82801835204893248 0.46553849925547169 0.31415341067031349 0.17408222448223767 1.1597348923655619 1.2471304352583659 0.61313736928646123 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -9 -8 11 -10 -12 right_child=7 2 -4 4 -6 6 9 8 10 -11 12 -13 -14 leaf_value=-0.00070570712591096023 -0.010491223835943512 -0.0058389366566238242 -0.010963745432931368 0.010220562621664833 0.00041259945601263996 0.010675606526539464 0.010120522336673458 -0.010147117278911546 -0.010088861993004121 0.010079340096889914 -0.010095837043447835 -0.010113246638710301 -0.010076847825090508 leaf_weight=1.2932181693613518 0.20963237807154556 2.8919272935018006 1.0496874433010805 2.7823134725913432 19.172395197674632 0.66376240551471699 0.33482356322929252 0.47381763579323877 0.21270260820165265 5.6468330025672913 0.1967028728686272 0.27907245187088847 6.0013165129348636 leaf_count=7 13 31 24 232 208 12 31 39 25 733 22 28 795 internal_value=0 0.00219984 0.000307111 0.000783267 0.00165556 0.00837403 0.010141 -0.0100954 -0.0100838 0.0100816 -0.0100793 -0.0101027 -0.0100775 internal_weight=0 33.835 25.8963 24.8466 21.9547 7.93864 6.64542 7.37324 7.16361 5.98166 6.68979 0.491775 6.19802 internal_count=2200 1278 495 471 440 783 776 922 909 764 870 53 817 is_linear=0 shrinkage=0.01 Tree=420 num_leaves=15 num_cat=0 split_feature=12 1 2 1 3 0 3 3 1 3 3 12 0 4 split_gain=9.04897 3.91573 1.33335 1.49555 1.27255 1.26983 0.0305491 0.00204419 0.00032851 1.97443e-05 5.20145e-06 2.81859e-06 6.96446e-07 6.66406e-07 threshold=5.4588099803130126 0.80845556346269254 0.77035900000382884 0.85893167272483917 0.58644753314242826 0.31415341067031349 0.17408222448223767 0.17408222448223767 1.1597348923655619 1.2471304352583659 0.61313736928646123 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 6 -5 -1 -4 -7 -2 -10 -9 12 -11 -13 right_child=8 2 3 4 -6 7 -8 10 9 11 -12 13 -14 -15 leaf_value=-0.0006984609429067101 -0.010486489832991139 -0.015247154842353838 0.013492801705915254 -0.0090636330997882174 0.00065230406657694614 0.010668513255410312 0.010122445475902176 0.010119311798968076 -0.010145641089467637 -0.01008797025367259 0.010078544800066834 -0.010094875364900745 -0.010112109971657431 -0.010076077070334444 leaf_weight=1.2935669347643841 0.2076397305354466 0.53979280591011303 0.38179612159729248 1.433583397418263 22.592840759083629 0.65759259089827526 0.90977665642276406 0.33153147483244527 0.46917098807170976 0.21060470119118679 5.5910850749351084 0.19476410280913103 0.27632653480395675 5.9420545995235443 leaf_count=7 13 3 2 13 382 12 95 31 39 25 733 22 28 795 internal_value=0 0.00218464 0.000304523 0.000636093 7.25838e-05 0.008359 0.0111187 0.0101396 -0.0100944 -0.010083 0.0100808 -0.0100785 -0.0101017 -0.0100767 internal_weight=0 33.7316 25.8578 25.318 24.0264 7.87378 1.29157 6.58021 7.30056 7.09292 5.92262 6.62375 0.486931 6.13682 internal_count=2200 1278 495 492 395 783 97 776 922 909 764 870 53 817 is_linear=0 shrinkage=0.01 Tree=421 num_leaves=15 num_cat=0 split_feature=12 1 0 2 4 2 0 3 1 3 3 12 0 4 split_gain=8.94622 3.87873 1.29642 1.57301 1.67321 1.34693 1.26604 0.00198253 0.00031919 1.91598e-05 5.04704e-06 2.73505e-06 6.75799e-07 6.46646e-07 threshold=5.4588099803130126 0.80845556346269254 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.31415341067031349 0.17408222448223767 1.1597348923655619 1.2471304352583659 0.61313736928646123 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -10 -9 12 -11 -13 right_child=8 2 3 5 -6 -7 7 10 9 11 -12 13 -14 -15 leaf_value=-0.00069129048711883355 -0.010481799283767412 -0.013698496775993331 0.0062683489284951288 -0.0032004870526471515 -0.011671926164850023 0.0022674279093082396 0.010661498538059082 0.01011811349687442 -0.01014417952188483 -0.010087087805399297 0.010077757233908212 -0.010093923573709187 -0.010110985030226094 -0.010075314133301433 leaf_weight=1.2939120046794403 0.20566520933061738 0.64491298794746654 6.2293017487973001 10.518558705225589 0.56720241159200657 7.8800728358328334 0.65147564560174931 0.32827135594561685 0.46456924406811584 0.20852729910984624 5.5358831505291164 0.19284426141530264 0.27360732620581985 5.8833731911145151 leaf_count=7 13 4 237 149 5 100 12 31 39 25 733 22 28 795 internal_value=0 0.00216816 0.000301692 0.000660051 0.00477114 -0.000858597 0.0083439 0.0101382 -0.0100935 -0.0100821 0.01008 -0.0100777 -0.0101006 -0.0100759 internal_weight=0 33.6496 25.84 25.1951 6.7965 18.3986 7.80954 6.51563 7.22859 7.02292 5.86415 6.55835 0.482135 6.07622 internal_count=2200 1278 495 491 242 249 783 776 922 909 764 870 53 817 is_linear=0 shrinkage=0.01 Tree=422 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 1 2 1 4 13 0 12 3 3 0 split_gain=8.84538 3.48253 6.58259 2.58258 3.41129 1.94906 1.68894 1.42342 1.00685 0.980687 1.59369 2.31583 0.00324651 4.97493e-05 1.55896e-05 2.66184e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 1.1418730677972666 0.56803303682406159 0.99689265265511573 0.40520528501409475 0.93885093126527053 1.2652873755735712 5.4588099803130126 1.3210941733026873 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 7 -1 -6 10 -2 -12 -11 -13 -14 -16 right_child=9 3 -4 4 8 -7 -8 -9 -10 12 11 13 14 -15 15 -17 leaf_value=-0.0085092763259821767 -0.011054304590195598 -0.011868245643390268 -0.015148450929968003 0.007426103892951578 0.0054285282528263069 -0.01158513249034554 0.029378465603744526 0.010139629187031703 -0.0036017575147860147 -0.010640198597958053 0.018224271082811154 -0.010280142232140251 -0.010141138144576916 -0.010083648793471912 -0.010086533229193577 -0.01007374596998146 leaf_weight=0.43053265567869026 1.1483730468898996 1.6251743393950189 1.1555510545149434 7.7051521907560545 1.4202204598113883 0.57984903268516053 0.43638230860233385 8.2930411654524487 9.4518815483897907 1.2372334003448484 0.643730469048023 0.23953167116269469 0.36960319848731149 0.27885909099131823 0.16772022238001216 5.5374501449987292 leaf_count=17 21 26 10 323 19 6 2 710 156 32 10 19 32 35 20 762 internal_value=0 0.00259248 0.00734237 0.000234815 0.00126157 0.00609555 0.0101796 0.00921925 -0.00242213 -0.00837874 -0.00269955 0.00555638 -0.0101733 -0.0101744 -0.0100782 -0.0100741 internal_weight=0 31.0978 10.3155 20.7823 19.1571 8.285 9.15996 8.72357 10.8721 9.6225 2.31049 1.16212 7.31201 0.518391 6.07477 5.70517 internal_count=2200 1269 739 530 504 329 729 727 175 931 85 64 846 54 814 782 is_linear=0 shrinkage=0.01 Tree=423 num_leaves=14 num_cat=0 split_feature=12 1 0 0 2 4 2 3 1 3 3 1 4 split_gain=8.75414 3.80988 1.26404 1.26308 1.53546 1.63784 1.33828 0.00191101 0.000307756 1.80015e-05 4.97357e-06 2.60271e-06 2.80572e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -6 -4 -2 -10 -9 -11 -13 right_child=8 3 7 4 6 -7 -8 10 9 11 -12 12 -14 leaf_value=-0.00071118385898767417 -0.010475565290211507 -0.013610544432067018 0.010653620606469898 0.0062158450718248215 -0.0031899974085392419 -0.011602986040047242 0.0022661653852371721 0.010116674920534741 -0.010145021123796947 -0.010104837937399325 0.010076346395773953 -0.01011138375281799 -0.01007382256241846 leaf_weight=1.290866270661353 0.20304028037935395 0.63703994452953594 0.64247473701834668 6.1806323458440628 10.487282249145212 0.56280921027064312 7.8682393403723827 0.32403769670054305 0.4074032031930982 0.30848775058984745 5.4346263590268791 0.20572480047121633 5.9667358067817986 leaf_count=7 13 4 12 237 149 5 100 31 34 31 733 21 823 internal_value=0 0.0021407 0.00831591 0.000295052 0.000647991 0.00472868 -0.00085117 0.0101363 -0.0100919 -0.0100805 0.0100786 -0.0100765 -0.0100751 internal_weight=0 33.428 7.69201 25.736 25.099 6.74344 18.3555 6.40114 7.09139 6.88835 5.75866 6.48095 6.17246 internal_count=2200 1278 783 495 491 242 249 776 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=424 num_leaves=14 num_cat=0 split_feature=12 1 0 0 2 4 2 3 1 3 3 1 4 split_gain=8.65511 3.77335 1.2602 1.24578 1.50942 1.61086 1.31173 0.00185341 0.000299014 1.74685e-05 4.82576e-06 2.52523e-06 2.7225e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -6 -4 -2 -10 -9 -11 -13 right_child=8 3 7 4 6 -7 -8 10 9 11 -12 12 -14 leaf_value=-0.00070388007328885604 -0.010470976170172936 -0.013564538419188423 0.010646773717615269 0.0061722160037822119 -0.0031592130619972538 -0.011535332545856149 0.0022417497781412736 0.010115503171040095 -0.010143566050727646 -0.010103784790711522 0.010075581570627021 -0.010110266310233632 -0.010073082882745631 leaf_weight=1.291216243058442 0.20110765285789867 0.63282965123653667 0.63648900389671315 6.1621707030572024 10.483597457408907 0.56046075001358975 7.8743647588416925 0.32085044449195255 0.40340704470872868 0.30544992256909598 5.3809573883190751 0.20370020484551776 5.9077974525280297 leaf_count=7 13 4 12 237 149 5 100 31 34 31 733 21 823 internal_value=0 0.0021248 0.0083006 0.000292359 0.000641994 0.00469595 -0.000842553 0.010135 -0.0100909 -0.0100797 0.0100778 -0.0100757 -0.0100743 internal_weight=0 33.3429 7.62951 25.7134 25.0806 6.72263 18.358 6.3383 7.02146 6.82035 5.70181 6.41695 6.1115 internal_count=2200 1278 783 495 491 242 249 776 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=425 num_leaves=14 num_cat=0 split_feature=12 1 0 0 2 4 2 3 1 3 3 1 4 split_gain=8.55725 3.73706 1.25638 1.22876 1.4838 1.58429 1.2857 0.00179757 0.000290518 1.69512e-05 4.68249e-06 2.45006e-06 2.64173e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -6 -4 -2 -10 -9 -11 -13 right_child=8 3 7 4 6 -7 -8 10 9 11 -12 12 -14 leaf_value=-0.00069665375069200453 -0.010466429776588695 -0.013519243797363524 0.010640002486067843 0.0061287394762775463 -0.0031287102461609755 -0.011467922590526996 0.0022176160236125025 0.010114343520498314 -0.010142125509930447 -0.01010274221903199 0.010074824069753878 -0.010109159820082356 -0.010072350520422395 leaf_weight=1.2915624491870392 0.19919264875352283 0.62862148135900753 0.63055485486984242 6.1439175903797176 10.479965676553549 0.55812938138842572 7.8804280692711464 0.31769416807219375 0.39944951934739936 0.30244169756770123 5.3278144905343652 0.20169531647115935 5.8494371990673244 leaf_count=7 13 4 12 237 149 5 100 31 34 31 733 21 823 internal_value=0 0.00210898 0.00828521 0.000289688 0.000636046 0.00466333 -0.000834024 0.0101336 -0.01009 -0.0100789 0.010077 -0.010075 -0.0100736 internal_weight=0 33.2587 7.56763 25.6911 25.0624 6.70205 18.3604 6.27606 6.95222 6.75302 5.64551 6.35357 6.05113 internal_count=2200 1278 783 495 491 242 249 776 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=426 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 1 2 3 4 2 0 12 4 3 0 split_gain=8.46075 3.37118 6.48208 2.53112 3.32853 1.90658 1.64432 1.42274 0.999122 0.980102 1.5944 1.67816 0.0031099 5.35877e-05 1.38259e-05 2.36024e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 1.1418730677972666 0.56803303682406159 1.0738835291228945 0.40520528501409475 1.2704041812989106 1.2652873755735712 5.4588099803130126 0.37041150200217393 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 7 -1 -6 10 -2 -12 -11 -13 -14 -16 right_child=9 3 -4 4 8 -7 -8 -9 -10 12 11 13 14 -15 15 -17 leaf_value=-0.0086118910004333235 -0.011060092407755255 -0.011838181960737134 -0.015054332558245674 0.0073690693439764175 0.0071756837048322173 -0.011556726872457998 0.029035758604613746 0.010119915022092123 -0.003364911406942317 -0.010629353790034195 0.014840033658734765 -0.010309401307562732 -0.01013556360594825 -0.010081997282794738 -0.010083115321640319 -0.010070833289314985 leaf_weight=0.42693831864744503 1.1337106563150867 1.6055529033765221 1.1516505861654867 7.6187595846131462 0.98972549010068078 0.57226979359984387 0.43853461742401201 8.0665105362422747 9.8389910012483579 1.2247692374512551 0.72910965885966994 0.18024197313934565 0.35530941607430566 0.243783806450665 0.16120378952473391 5.3218415975570679 leaf_count=17 29 26 10 323 16 6 2 710 159 32 11 13 32 32 20 762 internal_value=0 0.00253571 0.00727431 0.000219022 0.00123683 0.00604681 0.0101533 0.00917833 -0.00240152 -0.00832896 -0.00263898 0.00564027 -0.0101712 -0.0101787 -0.0100751 -0.0100712 internal_weight=0 30.7089 10.0836 20.6253 19.0197 8.19103 8.93198 8.49345 10.8287 9.34997 2.28685 1.15314 7.06312 0.424026 5.83835 5.48305 internal_count=2200 1269 739 530 504 329 729 727 175 931 85 56 846 45 814 782 is_linear=0 shrinkage=0.01 Tree=427 num_leaves=14 num_cat=0 split_feature=12 1 3 3 13 0 3 1 3 3 12 0 4 split_gain=8.37458 3.67024 1.34648 1.36515 2.24166 1.25416 0.00173401 0.000280242 1.59182e-05 4.61913e-06 2.41117e-06 6.22477e-07 5.88981e-07 threshold=5.4588099803130126 0.80845556346269254 1.3427866072211079 0.82801835204893248 0.46553849925547169 0.31415341067031349 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -9 -8 11 -10 -12 right_child=7 2 -4 4 -6 6 9 8 10 -11 12 -13 -14 leaf_value=-0.00071595770439887129 -0.010460486356038738 -0.0057846222226768289 -0.010930071801115049 0.010210977581222018 0.0004047541318999718 0.01063259041169509 0.010112983928095287 -0.010139292742129739 -0.01008227625995454 0.010073473348089402 -0.010089477689629749 -0.010105844252668771 -0.010071244743006648 leaf_weight=1.2884936742484558 0.19668859615921874 2.8268435858190122 1.0278193894773711 2.6555301933549371 19.082387262023985 0.62186366692185391 0.31363455904647697 0.39170663710683573 0.19697977323085059 5.2305396972224116 0.18296532332897175 0.25997215788811445 5.5925106634385884 leaf_count=7 13 31 24 232 208 12 31 34 25 733 22 28 800 internal_value=0 0.00208199 0.000283397 0.000752583 0.00160269 0.00825686 0.0101319 -0.0100885 -0.0100775 0.0100757 -0.0100736 -0.0100957 -0.0100718 internal_weight=0 33.0471 25.5926 24.5648 21.7379 7.45453 6.16604 6.82082 6.62413 5.54417 6.23243 0.456952 5.77548 internal_count=2200 1278 495 471 440 783 776 922 909 764 875 53 822 is_linear=0 shrinkage=0.01 Tree=428 num_leaves=15 num_cat=0 split_feature=12 1 0 0 2 4 2 3 1 3 3 12 0 4 split_gain=8.28071 3.63399 1.2503 1.19019 1.44165 1.54894 1.27716 0.00168181 0.000272271 1.54468e-05 4.48199e-06 2.33963e-06 6.0403e-07 5.71475e-07 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -6 -4 -2 -10 -9 12 -11 -13 right_child=8 3 7 4 6 -7 -8 10 9 11 -12 13 -14 -15 leaf_value=-0.00070860364892681401 -0.010456038132463565 -0.013417320468740302 0.010625978746566907 0.0060748225425623923 -0.0031183450134468988 -0.011402450751842532 0.0022174191919597549 0.01011184969801863 -0.010137895551922443 -0.010081451469055945 0.01007273713123618 -0.010088580427633836 -0.010104782933274395 -0.010070531259019428 leaf_weight=1.2888443917036045 0.19481394067406554 0.61891872435808437 0.61605717614293087 6.0767235732637372 10.441674815490844 0.55326299369335163 7.8648096174001685 0.31054849829524744 0.38786226976662863 0.19503566808998574 5.1788714365102351 0.18116081692278374 0.25741229113191366 5.5372546161524951 leaf_count=7 13 4 12 237 149 5 100 31 34 25 733 22 28 800 internal_value=0 0.00206738 0.00824126 0.000281 0.00062099 0.00461637 -0.000826 0.0101305 -0.0100876 -0.0100767 0.0100749 -0.0100728 -0.0100947 -0.0100711 internal_weight=0 32.9497 7.39432 25.5554 24.9365 6.62999 18.3065 6.10548 6.75354 6.55873 5.48942 6.17086 0.452448 5.71842 internal_count=2200 1278 783 495 491 242 249 776 922 909 764 875 53 822 is_linear=0 shrinkage=0.01 Tree=429 num_leaves=15 num_cat=0 split_feature=12 1 0 0 2 4 2 3 1 3 3 12 0 4 split_gain=8.18725 3.59867 1.24644 1.17409 1.41707 1.52332 1.25181 0.00163119 0.000264524 1.49896e-05 4.34892e-06 2.27029e-06 5.86121e-07 5.54514e-07 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -6 -4 -2 -10 -9 12 -11 -13 right_child=8 3 7 4 6 -7 -8 10 9 11 -12 13 -14 -15 leaf_value=-0.00070132800435645734 -0.010451631266084931 -0.013374281026818837 0.010619439621911532 0.0060316020809850247 -0.0030882087141849467 -0.011335587798007149 0.0021935673958927509 0.010110727186638437 -0.010136512577433188 -0.010080635016224682 0.010072008599392912 -0.010087692133002979 -0.010103732146947335 -0.010069824488590258 leaf_weight=1.2891913875937451 0.19295643083751102 0.61472238227725284 0.61030099913477887 6.0591533468104926 10.438152000308039 0.55097265169024456 7.8707945542410007 0.30749245965853322 0.38405510783195485 0.19311059499159444 5.1277098911814392 0.17937395116314281 0.25487736845389009 5.4825408174656332 leaf_count=7 13 4 12 237 149 5 100 31 34 25 733 22 28 800 internal_value=0 0.00205186 0.00822559 0.000278425 0.000615221 0.004584 -0.000817637 0.0101292 -0.0100868 -0.0100759 0.0100742 -0.0100721 -0.0100938 -0.0100704 internal_weight=0 32.8685 7.33469 25.5338 24.9191 6.61013 18.3089 6.0455 6.68691 6.49396 5.4352 6.1099 0.447988 5.66191 internal_count=2200 1278 783 495 491 242 249 776 922 909 764 875 53 822 is_linear=0 shrinkage=0.01 Tree=430 num_leaves=15 num_cat=0 split_feature=12 1 2 0 3 2 4 4 13 1 3 12 0 4 split_gain=8.09489 3.5636 1.24794 1.15825 1.40969 1.17036 0.781638 1.93577 0.0661681 0.000256994 1.45458e-05 2.20298e-06 5.68758e-07 5.38083e-07 threshold=5.4588099803130126 0.80845556346269254 0.56803303682406159 0.48229043925486209 1.3427866072211079 1.1348528270257934 0.3887456056823268 0.39014361261361452 0.0064018138657804258 1.1597348923655619 1.2433743438056273 5.5554043549548435 1.223894463963197 0.38198980941644772 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 8 -8 -4 -2 -11 12 -12 -13 right_child=9 3 6 4 -6 -7 7 -9 -10 10 11 13 -14 -15 leaf_value=-0.0082164414077768692 -0.010447265533724983 -0.013331894628813942 0.01322454429528978 0.004712241258288217 -0.010917516599843588 -0.00025615311071741826 -0.022474231237134809 0.010082224709686536 0.010134572976541426 -0.01013514325576559 -0.010079826475773495 -0.010086813190927501 -0.010102691957127668 -0.010069124798384135 leaf_weight=0.43486024439334769 0.19111591391265292 0.61053105071187275 0.80041167140007008 6.5222709430381718 1.0175828719511617 17.362026515416801 0.25957783637568344 0.61612900253385305 5.1646670098416507 0.38028480624780048 0.19120436906814564 0.17760455049574364 0.25236714724451303 5.4283640207722783 leaf_count=18 13 4 5 241 24 226 4 80 676 34 25 22 28 800 internal_value=0 0.00203641 0.00820984 0.000275872 0.0006095 0.0011006 0.00925404 0.00043181 0.0105492 -0.0100859 -0.0100752 -0.0100714 -0.0100928 -0.0100697 internal_weight=0 32.7881 7.27565 25.5124 24.9019 23.8843 6.84079 0.875707 5.96508 6.62094 6.42982 6.04954 0.443572 5.60597 internal_count=2200 1278 783 495 491 467 765 84 681 922 909 875 53 822 is_linear=0 shrinkage=0.01 Tree=431 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 1 2 4 13 0 3 12 13 3 0 split_gain=8.00544 3.23002 6.37871 2.46284 3.23739 1.84116 1.59454 1.40809 0.982077 1.61234 2.1506 0.975666 0.00300347 7.19586e-05 1.18994e-05 2.03037e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 1.1418730677972666 0.56803303682406159 0.40520528501409475 0.93885093126527053 1.2652873755735712 1.0738835291228945 5.4588099803130126 1.0851924213084303 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 7 -1 9 -2 -11 -6 -10 -12 -14 -16 right_child=8 3 -4 4 11 -7 -8 -9 12 10 13 -13 14 -15 15 -17 leaf_value=-0.0085964349555501442 -0.011036810928945175 -0.011780871082036896 -0.014974998194942604 0.0073009689190294104 0.0071367593894460634 -0.011510276382782788 0.028647809270228614 0.01009492353679581 -0.010620751245880505 0.017697279422629997 -0.010330328476322139 -0.0033294536005881174 -0.010128906231476994 -0.010078017310538747 -0.010079031967530532 -0.010067354579473577 leaf_weight=0.42503287270665158 1.1245498787611707 1.5821025059558476 1.1468834113329638 7.5118156699463743 0.97976168803870578 0.55902440287172783 0.44094614684581834 7.7898228149861097 1.2125517725944517 0.65211635455489136 0.18150227982550859 9.7961479760706407 0.33820688165724266 0.29964271653443575 0.15340650361031283 5.063998734112829 leaf_count=17 21 26 10 323 16 6 2 710 32 10 13 159 32 41 20 762 internal_value=0 0.00246724 0.00718594 0.000202995 0.00120899 0.00599801 0.0101222 0.00912784 -0.00826467 -0.0025536 0.0058644 -0.00237785 -0.0101698 -0.0101732 -0.0100714 -0.0100677 internal_weight=0 30.2315 9.80269 20.4289 18.8467 8.07084 8.6558 8.21486 9.02598 2.25781 1.13326 10.7759 6.76816 0.481145 5.55561 5.21741 internal_count=2200 1269 739 530 504 329 729 727 931 85 64 175 846 54 814 782 is_linear=0 shrinkage=0.01 Tree=432 num_leaves=14 num_cat=0 split_feature=12 1 0 3 13 10 3 1 1 3 3 1 4 split_gain=7.92216 3.49975 1.24422 1.14092 2.45644 1.53358 0.00152809 0.000728072 0.000247939 1.36653e-05 4.37646e-06 2.16826e-06 2.39135e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.82801835204893248 0.46553849925547169 3.5000000000000004 0.17408222448223767 1.0256168289528838 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 -6 -4 -5 -2 -10 -8 -11 -13 right_child=8 3 6 4 5 -7 10 -9 9 11 -12 12 -14 leaf_value=-0.00074546429821103599 -0.010441569826232547 -0.0057591288886087678 0.010606252960164313 0.010151038693870469 0.00087061851047912694 -0.0075397515181565688 0.010109217921156502 0.010732122017293396 -0.010132438348501699 -0.010096905383322193 0.010070053031432854 -0.010103536602059883 -0.010067454488723962 leaf_weight=1.2819502241909493 0.18871443346142669 2.7938966341316727 0.59639876708388317 2.3395010894164474 17.565413611009721 2.4733655657619229 0.30263481847941864 0.23751514777541149 0.37288907868787635 0.28570418618619431 4.9862631047144532 0.19007587200030673 5.4580124807544053 leaf_count=7 13 31 12 227 208 24 31 5 34 31 733 21 823 internal_value=0 0.00201039 0.00818184 0.00026963 0.00101441 -0.000167465 0.0101264 0.0102046 -0.0100844 -0.0100737 0.0100723 -0.01007 -0.0100687 internal_weight=0 32.5769 7.16725 25.4097 22.6158 20.0388 5.8853 2.57702 6.4954 6.30668 5.2889 5.93379 5.64809 internal_count=2200 1278 783 495 464 232 776 232 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=433 num_leaves=13 num_cat=0 split_feature=12 1 0 0 3 2 3 1 3 3 1 4 split_gain=7.83276 3.46554 1.24026 1.12207 1.38089 1.1384 0.00148214 0.000240874 1.32607e-05 4.24642e-06 2.10375e-06 2.32043e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.3427866072211079 1.1348528270257934 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -4 -2 -9 -8 -10 -12 right_child=7 3 6 4 -6 -7 9 8 10 -11 11 -13 leaf_value=-0.00073780045366836236 -0.010437297956616161 -0.013235986021261921 0.010599933157050618 0.004660910171159308 -0.010900095746298345 -0.00025695043893180696 0.010108121630565186 -0.010131110367376931 -0.010095932626525439 0.010069351674697018 -0.010102498353146335 -0.010066779009501179 leaf_weight=1.2823118418455113 0.18691277783363958 0.60082791373133915 0.59081478044390667 6.4624015609733823 1.0028771925717581 17.328104543499649 0.29965588403865684 0.36922691809013475 0.28288850095123041 4.9369911579415202 0.1882038265466689 5.4040650292299688 leaf_count=7 13 4 12 241 24 226 31 34 31 733 21 823 internal_value=0 0.00199489 0.00816591 0.000267155 0.000594382 0.00107893 0.0101251 -0.0100836 -0.010073 0.0100716 -0.0100693 -0.010068 internal_weight=0 32.504 7.10977 25.3942 24.7934 23.7905 5.82746 6.4313 6.24438 5.23665 5.87516 5.59227 internal_count=2200 1278 783 495 491 467 776 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=434 num_leaves=14 num_cat=0 split_feature=12 1 0 3 13 10 3 1 1 3 3 1 4 split_gain=7.74478 3.4312 1.23631 1.11842 2.42491 1.50173 0.00143759 0.000696779 0.000234009 1.28683e-05 4.12039e-06 2.04126e-06 2.25169e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.82801835204893248 0.46553849925547169 3.5000000000000004 0.17408222448223767 1.0256168289528838 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 -6 -4 -5 -2 -10 -8 -11 -13 right_child=8 3 6 4 5 -7 10 -9 9 11 -12 12 -14 leaf_value=-0.00073021794124854408 -0.010433066224029024 -0.005713611390974426 0.010593682444921964 0.010149013346709949 0.00086393547000178177 -0.0074478813017699111 0.010107036734222273 0.010721161459317593 -0.010129795798660243 -0.010094969764865774 0.010068656991560078 -0.010101470665071294 -0.01006610973484178 leaf_weight=1.2826695516705502 0.18512764759361644 2.7856317590922144 0.58527948707342137 2.3081519100815089 17.558543968945745 2.4808210972696534 0.2967059421353041 0.23447474464774121 0.36560025019571174 0.28010029718279827 4.8882028651423752 0.1863500284962355 5.3506475766189396 leaf_count=7 13 31 12 227 208 24 31 5 34 31 733 21 823 internal_value=0 0.00198011 0.0081499 0.000264742 0.00100221 -0.000165046 0.0101239 0.0102018 -0.0100827 -0.0100722 0.0100709 -0.0100686 -0.0100673 internal_weight=0 32.4205 7.05286 25.3676 22.582 20.0394 5.77019 2.54263 6.36783 6.1827 5.18491 5.8171 5.537 internal_count=2200 1278 783 495 464 232 776 232 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=435 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 12 0 2 1 4 2 2 1 12 3 0 split_gain=7.65783 3.12229 6.29005 2.40887 3.16819 1.88798 1.81103 1.56647 1.36926 0.982632 1.61778 1.37159 1.80022 0.00292362 1.05531e-05 1.80032e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.1427926010382323 5.1170890668050761 1.2027621639768638 0.56803303682406159 1.1418730677972666 0.40520528501409475 1.2704041812989106 1.2750941039804975 1.2807709791646134 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 7 -3 5 -5 -6 -1 -9 10 -2 -12 -13 -11 -15 -16 right_child=9 3 -4 4 6 -7 -8 8 -10 13 11 12 -14 14 15 -17 leaf_value=-0.0086939159355658956 -0.011050176212183434 -0.011730753028665797 -0.014912454208080406 0.0051032359356884653 -0.0096599570518852325 -0.010639016011828057 0.0011817296462624883 0.010082840988888507 0.028151459773783589 -0.01061454350278284 0.025985679345406233 0.019816630522978856 -0.010597755690444381 -0.010123818080195364 -0.010075912692985786 -0.010064696470556429 leaf_weight=0.42155055515468376 1.1103857201524063 1.5643281573429728 1.1417977968230832 11.714563064742833 3.3410520423203698 0.81482898816466409 2.859359962400049 7.576582055538891 0.44398561120033253 1.2017014734447 0.26238196296617367 0.29679227853193879 0.56526458309963346 0.32511164713650931 0.14744143793359388 4.8667039647698402 leaf_count=17 29 26 10 359 47 23 75 710 2 32 4 10 42 32 20 762 internal_value=0 0.00241205 0.00711613 0.000190549 0.00118623 0.00407946 -0.00466024 0.0100955 0.011083 -0.00821297 -0.00248829 0.00596659 -0.000126573 -0.0101689 -0.0100686 -0.010065 internal_weight=0 29.878 9.58392 20.2941 18.7298 12.5294 6.20041 8.44212 8.02057 8.77578 2.23482 1.12444 0.862057 6.54096 5.33926 5.01415 internal_count=2200 1269 739 530 504 382 122 729 712 931 85 56 52 846 814 782 is_linear=0 shrinkage=0.01 Tree=436 num_leaves=14 num_cat=0 split_feature=12 1 0 3 13 10 3 1 1 3 3 1 4 split_gain=7.58379 3.37073 1.23367 1.09444 2.38672 1.48694 0.00138936 0.000664526 0.000228967 1.23312e-05 4.07505e-06 2.04841e-06 2.24148e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.82801835204893248 0.46553849925547169 3.5000000000000004 0.17408222448223767 1.0256168289528838 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 -6 -4 -5 -2 -10 -8 -11 -13 right_child=8 3 6 4 5 -7 10 -9 9 11 -12 12 -14 leaf_value=-0.00074809700247233199 -0.010429610628695378 -0.005668237261499902 0.010587287865386404 0.0101468447889243 0.00086400379095943197 -0.0074051680188841548 0.01010588312007186 0.010709980413842031 -0.010127771664059029 -0.010093889966584954 0.010067470650913277 -0.01010033562810685 -0.010064809506085872 leaf_weight=1.2795121259987343 0.18336531240492959 2.7735918378457454 0.57734026759862889 2.270388596225533 17.520753491669897 2.4826831836253396 0.29303203942254175 0.23085639066994179 0.35920600872486819 0.27701504994183768 4.8017153874970973 0.18382063228636969 5.2466962914913893 leaf_count=7 13 31 12 227 208 24 31 5 34 31 733 21 823 internal_value=0 0.00195469 0.00812155 0.000258787 0.000989263 -0.000162307 0.0101224 0.0101988 -0.0100815 -0.0100709 0.0100697 -0.0100674 -0.010066 internal_weight=0 32.2299 6.9516 25.2783 22.5047 20.0034 5.67209 2.50124 6.2501 6.06674 5.09475 5.70753 5.43052 internal_count=2200 1278 783 495 464 232 776 232 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=437 num_leaves=14 num_cat=0 split_feature=12 1 0 0 2 4 2 3 1 3 3 1 4 split_gain=7.49838 3.33742 1.22968 1.08077 1.31085 1.47035 1.24175 0.00134762 0.000222435 1.19661e-05 3.95413e-06 1.98741e-06 2.17497e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.1348528270257934 0.47850430425008522 1.2396581529761168 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -6 -4 -2 -10 -9 -11 -13 right_child=8 3 7 4 6 -7 -8 10 9 11 -12 12 -14 leaf_value=-0.00074040647707412401 -0.010425450663434919 -0.013126443439162437 0.010581178406218732 0.0058985531301890834 -0.0030633523819472899 -0.011259230291188485 0.0022099771970629442 0.010104820909363018 -0.010126491117691087 -0.010092947550664788 0.010066794926832457 -0.01009932976845815 -0.010064161009241981 leaf_weight=1.2798731662333001 0.18161287251859803 0.58936299011111515 0.57192400842905033 5.9094132445752647 10.385079386644067 0.54556830227375019 7.8339339885860673 0.29014666844159354 0.35567659838125099 0.2742841807194053 4.7542549725621939 0.18200962105765928 5.1948238485492766 leaf_count=7 13 4 12 237 149 5 100 31 34 31 733 21 823 internal_value=0 0.00193951 0.00810533 0.000256408 0.000576071 0.0044484 -0.000795891 0.0101211 -0.0100807 -0.0100702 0.010069 -0.0100667 -0.0100654 internal_weight=0 32.1596 6.8962 25.2634 24.674 6.45498 18.219 5.61633 6.18841 6.00679 5.0444 5.65112 5.37683 internal_count=2200 1278 783 495 491 242 249 776 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=438 num_leaves=14 num_cat=0 split_feature=12 4 2 1 0 2 2 12 3 1 3 1 4 split_gain=7.41411 3.31667 3.38792 2.73411 2.7313 3.69741 2.74808 1.61432 0.518803 0.000216086 1.16117e-05 1.92826e-06 2.11047e-06 threshold=5.4588099803130126 0.37470171316558165 1.2169811510592434 1.1732074739105893 0.61398027225796947 1.0956011871597129 1.2396581529761168 5.1961133448999481 1.2537081564319763 1.1597348923655619 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 7 -3 8 -7 -1 -6 -2 -11 -12 -13 right_child=9 4 -4 -5 5 6 -8 -9 -10 10 11 12 -14 leaf_value=0.0082995770722535441 -0.010421329623158919 -0.014519932982793247 -0.006747086513844122 -0.013086672205907901 0.0094059781088710551 -0.005131037426160277 0.0034114579487820452 0.02773474986822266 0.021016460442614897 -0.010125223280296927 -0.010092014834133516 -0.010098334341188802 -0.010063518964031643 leaf_weight=9.985250330995763 0.17987654078751703 1.3315557925961936 1.8283041445538391 0.58491930365562517 2.0195944416336746 8.867315484210847 6.5456594955176106 0.44649013876915056 0.4754654113203286 0.35218142811208952 0.27157998224720348 0.18021626910194743 5.1434611096046865 leaf_count=829 13 19 19 6 163 148 89 2 3 34 31 21 823 internal_value=0 0.00192469 0.00585959 0.00795178 -0.000702381 0.000325026 -0.00150317 0.00913142 0.0116185 -0.0100799 -0.0100695 -0.010066 -0.0100647 internal_weight=0 32.0846 12.845 11.0167 19.2396 17.908 15.413 10.4317 2.49506 6.12732 5.94744 5.59526 5.32368 internal_count=2200 1278 856 837 422 403 237 831 166 922 909 875 844 is_linear=0 shrinkage=0.01 Tree=439 num_leaves=15 num_cat=0 split_feature=12 1 2 3 13 13 4 3 2 13 1 3 1 4 split_gain=7.33124 3.27553 1.23387 1.06515 2.02207 1.52136 0.792405 1.94452 0.531213 0.0599564 0.000209917 1.1268e-05 1.87089e-06 2.04791e-06 threshold=5.4588099803130126 0.80845556346269254 0.56803303682406159 0.58644753314242826 0.46553849925547169 0.50652862085158101 0.3887456056823268 0.75533711063468834 1.2266574521666753 0.0064018138657804258 1.1597348923655619 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 8 -6 9 -8 -5 -4 -2 -12 -13 -14 right_child=10 3 6 4 5 -7 7 -9 -10 -11 11 12 13 -15 leaf_value=-0.0083301723362143015 -0.010417247297497127 -0.0062427298749305228 0.013113361518776573 0.010215473700600579 -0.0089713997290066932 0.00065274578813928716 -0.023269383365796554 0.010075958101684162 -0.0048858329062096426 0.010125627868641277 -0.010123968289576759 -0.010091091418192302 -0.010097348818516743 -0.010062883118151357 leaf_weight=0.42965014651417988 0.17815617611631651 2.2970128487795618 0.78226121142506588 2.5573208858259053 1.8045918047428156 18.286909061484039 0.24964659195393313 0.58393423026427627 0.2562812166288494 4.7507176124490798 0.34872017009183753 0.26890219654887904 0.17844041390344489 5.0926030571572483 leaf_count=18 13 20 5 236 17 216 2 82 6 676 34 31 21 823 internal_value=0 0.00191063 0.00807179 0.000249164 0.000900196 -0.000211682 0.00917869 8.94629e-05 0.00883995 0.010548 -0.0100791 -0.0100688 -0.0100654 -0.010064 internal_weight=0 31.9983 6.79621 25.2021 22.9051 20.0915 6.36656 0.833581 2.8136 5.53298 6.06682 5.88867 5.53995 5.27104 internal_count=2200 1278 783 495 475 233 765 84 242 681 922 909 875 844 is_linear=0 shrinkage=0.01 Tree=440 num_leaves=14 num_cat=0 split_feature=12 4 2 1 0 2 2 12 3 1 3 1 4 split_gain=7.24904 3.24463 3.32844 2.69622 2.65799 3.63253 2.68855 1.55551 0.498556 0.000203923 1.09347e-05 1.81531e-06 1.98728e-06 threshold=5.4588099803130126 0.37470171316558165 1.2169811510592434 1.1732074739105893 0.61398027225796947 1.0956011871597129 1.2396581529761168 5.1961133448999481 1.2537081564319763 1.1597348923655619 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 7 -3 8 -7 -1 -6 -2 -11 -12 -13 right_child=9 4 -4 -5 5 6 -8 -9 -10 10 11 12 -14 leaf_value=0.0082604323602766833 -0.010413203273394336 -0.01436599310084642 -0.0066830114310567025 -0.013056665226365491 0.0093809957458222022 -0.0050810674424063276 0.0033665817728611388 0.027290140951245028 0.020771578416193485 -0.01012272604450867 -0.010090177435929519 -0.010096373436039264 -0.010062253176695258 leaf_weight=9.8615629575215262 0.17645164951681991 1.3246670635417128 1.8252768693491805 0.58071340620517808 1.9918135670013755 8.8598241345025581 6.5546431243419638 0.44910614192485887 0.47610727697610844 0.34529250394552935 0.2662505730986594 0.17668188642710436 5.0422446937300265 leaf_count=829 13 19 19 6 163 148 89 2 3 34 31 21 823 internal_value=0 0.00189609 0.00581414 0.00790852 -0.000697977 0.000314503 -0.0014889 0.00908932 0.0115784 -0.0100783 -0.0100681 -0.0100647 -0.0100634 internal_weight=0 31.9237 12.7167 10.8914 19.2071 17.8824 15.4145 10.3107 2.46792 6.00692 5.83047 5.48518 5.21893 internal_count=2200 1278 856 837 422 403 237 831 166 922 909 875 844 is_linear=0 shrinkage=0.01 Tree=441 num_leaves=13 num_cat=0 split_feature=12 1 0 0 3 0 3 1 3 3 1 4 split_gain=7.1681 3.21544 1.23488 1.04166 1.34787 1.07967 0.00120897 0.000198097 1.06112e-05 3.69611e-06 1.76139e-06 1.92842e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.48229043925486209 1.3427866072211079 1.1427926010382323 0.17408222448223767 1.1597348923655619 1.2433743438056273 0.61313736928646123 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 5 -5 -4 -2 -9 -8 -10 -12 right_child=7 3 6 4 -6 -7 9 8 10 -11 11 -13 leaf_value=-0.00083724418157695585 -0.010409197082853424 -0.013021741830299201 0.0105600743781161 0.002512941455642871 -0.010886562407746086 -0.0020626633566018784 0.01010188271480005 -0.010121496179834837 -0.010089272612645965 0.010064571639255315 -0.010095407494625348 -0.01006162944736325 leaf_weight=1.269925426691773 0.17476282315328617 0.57846883311867969 0.55309190228581417 15.955360915511852 0.98828944377601047 7.6197483344003549 0.28179632266983379 0.34189811721444119 0.26362485485151399 4.5920018819160759 0.17494052276015271 4.9923813696950674 leaf_count=7 13 4 12 363 24 104 31 34 31 733 21 823 internal_value=0 0.0018822 0.00803974 0.000242073 0.000554436 0.00103405 0.010117 -0.0100775 -0.0100675 0.0100667 -0.0100641 -0.0100628 internal_weight=0 31.8387 6.69682 25.1419 24.5634 23.5751 5.42689 5.94761 5.77284 4.8738 5.43095 5.16732 internal_count=2200 1278 783 495 491 467 776 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=442 num_leaves=15 num_cat=0 split_feature=12 1 2 3 13 10 4 3 13 1 1 3 1 4 split_gain=7.08795 3.18287 1.2329 1.03834 2.30154 1.41872 0.78756 1.87639 0.0568861 0.000578588 0.000192436 1.0297e-05 1.70895e-06 1.87123e-06 threshold=5.4588099803130126 0.80845556346269254 0.56803303682406159 0.82801835204893248 0.46553849925547169 3.5000000000000004 0.3887456056823268 0.75533711063468834 0.0064018138657804258 1.0256168289528838 1.1597348923655619 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 9 -6 8 -8 -4 -5 -2 -12 -13 -14 right_child=10 3 6 4 5 -7 7 -9 -10 -11 11 12 13 -15 leaf_value=-0.0083902613470259579 -0.010405229173529767 -0.0055789410269400617 0.013052755742606295 0.010141318090694622 0.00084466973964675968 -0.0072143355761302968 -0.022725314859862764 0.010074134891640336 0.010122323234850317 0.01067744550520233 -0.010120278871309818 -0.010088377005878436 -0.010094451684954443 -0.010061013022354615 leaf_weight=0.42815198004246013 0.17308955965563555 2.7329704007133868 0.77327372506260861 2.1840545902960034 17.479715580120686 2.4963708817958823 0.25141812348738302 0.56949613848701119 4.6214969619177282 0.22173130512237538 0.33853668719530094 0.26102479780092824 0.17321615433320392 4.9430077509023249 leaf_count=18 13 31 5 227 208 24 2 82 676 5 34 31 21 823 internal_value=0 0.00186814 0.00802322 0.000239881 0.000950396 -0.000162448 0.00915382 2.87788e-05 0.0105424 0.0101907 -0.0100767 -0.0100668 -0.0100634 -0.0100621 internal_weight=0 31.7587 6.64384 25.1148 22.3819 19.9761 6.21568 0.820914 5.39477 2.40579 5.88887 5.71579 5.37725 5.11622 internal_count=2200 1278 783 495 464 232 765 84 681 232 922 909 875 844 is_linear=0 shrinkage=0.01 Tree=443 num_leaves=14 num_cat=0 split_feature=12 1 3 3 13 0 1 1 0 12 3 1 4 split_gain=7.00845 3.15269 1.48787 1.19496 1.38769 1.34667 0.000336312 0.000186935 3.24756e-05 3.29468e-05 9.99246e-06 1.65825e-06 1.81587e-06 threshold=5.4588099803130126 0.85893167272483917 0.17408222448223767 0.58644753314242826 0.39953842781531468 1.2509949463117855 0.99689265265511573 1.1597348923655619 0.42176455150056097 4.5200868812453381 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 6 -6 -5 -2 -4 -10 -9 -12 -13 right_child=7 3 8 4 5 -7 -8 10 9 -11 11 12 -14 leaf_value=0.00089040488637831745 -0.01040129813637025 -0.0088983447492955257 0.010220363591142456 0.010110640877585998 -0.00098464247907471261 0.0071753720897356219 0.010450826149327916 -0.010119073798647118 0.01006817834408329 0.010224513805637426 -0.010087490577458929 -0.010093505380094011 -0.010060401550061724 leaf_weight=2.5689534135162848 0.17143173050135274 1.4207015577703739 0.15190018387511361 0.98417755169794208 18.40921190567315 2.2720675207674494 0.41237957775592804 0.33520790468901385 5.3328336128033698 0.13829845655709494 0.25845015514641989 0.17150862235575903 4.8941198568791151 leaf_count=22 13 14 15 110 233 27 12 34 838 7 31 21 823 internal_value=0 0.00185357 0.00719555 -8.72741e-06 0.000563317 -8.81745e-05 0.0102111 -0.010076 0.0100761 0.0100721 -0.0100661 -0.0100628 -0.0100615 internal_weight=0 31.6905 8.19199 23.4985 22.0778 20.6813 1.39656 5.83072 5.62303 5.47113 5.65929 5.32408 5.06563 internal_count=2200 1278 882 396 382 260 122 922 860 845 909 875 844 is_linear=0 shrinkage=0.01 Tree=444 num_leaves=17 num_cat=0 split_feature=1 4 2 0 0 3 2 1 4 13 0 3 12 13 3 0 split_gain=6.933 2.85156 6.08953 2.25584 3.04684 1.76861 1.56425 1.20174 0.990362 1.64664 1.9679 0.951658 0.00279779 7.19857e-05 8.05473e-06 1.3737e-07 threshold=1.2071296172255412 0.35806909455900915 1.2169811510592434 0.61398027225796947 1.0637796106207162 1.2864828997949476 0.56803303682406159 1.1418730677972666 0.40520528501409475 0.93885093126527053 1.2652873755735712 1.0738835291228945 5.4588099803130126 1.0851924213084303 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 6 -3 5 -5 -1 -8 9 -2 -11 -6 -10 -12 -14 -16 right_child=8 3 -4 4 11 -7 7 -9 12 10 13 -13 14 -15 15 -17 leaf_value=-0.0088671075256611734 -0.011005782106498659 -0.011504594526777918 -0.014770373823687373 0.0071919888197832516 0.0071929683384676273 -0.011467932237706067 0.010035740175641241 0.02686328568511025 -0.010603898730612966 0.017252838122467095 -0.010332605288283192 -0.0032656711801340161 -0.010113095792882288 -0.01006865190570165 -0.010069340155661109 -0.010059095356355369 leaf_weight=0.41649799887091088 1.0911452639847978 1.5264488202519739 1.1331264730542896 7.2691216622479287 0.95556041365489264 0.54609994404017914 7.123450065497309 0.45127861201763142 1.1873698430135844 0.65878179389983393 0.16956462757661939 9.7192301652394217 0.29745013266801823 0.26447680592536926 0.13484953809529532 4.4502709405496716 leaf_count=17 21 26 10 323 16 6 710 2 32 10 13 159 32 41 20 762 internal_value=0 0.00229133 0.00692456 0.000179309 0.00114388 0.0058881 0.0100008 0.0110383 -0.00809077 -0.00231598 0.00636049 -0.00232946 -0.0101685 -0.0101718 -0.0100627 -0.0100594 internal_weight=0 29.1408 9.12435 20.0165 18.49 7.81522 7.99123 7.57473 8.25391 2.18397 1.09282 10.6748 6.06994 0.434041 4.88257 4.58512 internal_count=2200 1269 739 530 504 329 729 712 931 85 64 175 846 54 814 782 is_linear=0 shrinkage=0.01 Tree=445 num_leaves=14 num_cat=0 split_feature=12 1 0 3 13 10 3 1 1 3 3 1 4 split_gain=6.85965 3.09575 1.23036 1.00831 2.24549 1.40014 0.00113284 0.000546407 0.000180332 9.38644e-06 3.66911e-06 1.63274e-06 1.7554e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.82801835204893248 0.46553849925547169 3.5000000000000004 0.17408222448223767 1.0256168289528838 1.1597348923655619 1.2433743438056273 0.58644753314242826 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 -6 -4 -5 -2 -10 -8 -11 -13 right_child=8 3 6 4 5 -7 10 -9 9 11 -12 12 -14 leaf_value=-0.00088693511557063275 -0.010396188818298999 -0.0055228479658697826 0.010548037458901156 0.010138106150709076 0.00084631041088466751 -0.0071556259971951473 0.010103391678958096 0.0106647590283528 -0.010116692155252491 -0.010086276442106258 0.010062405611058187 -0.010092037442539302 -0.010059214957070562 leaf_weight=1.2615182884037519 0.16927651036530633 2.7149770031683174 0.54003296792507161 2.1285570142790706 17.445840132422749 2.5000020153820506 0.22964763548225153 0.21709267981350411 0.32867876812815655 0.25496697705239046 4.4665661244653165 0.16866913763806213 4.7985524130053818 leaf_count=7 13 31 12 227 208 24 25 5 34 31 739 21 823 internal_value=0 0.00182889 0.00797844 0.000230976 0.000931759 -0.000156648 0.0101143 0.0101868 -0.0100747 -0.0100649 0.0100644 -0.0100616 -0.0100603 internal_weight=0 31.5042 6.49777 25.0065 22.2915 19.9458 5.23625 2.34565 5.72014 5.55087 4.69621 5.22219 4.96722 internal_count=2200 1278 783 495 464 232 776 232 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=446 num_leaves=14 num_cat=0 split_feature=12 4 2 1 0 2 2 12 3 1 3 1 4 split_gain=6.78276 3.06704 3.22124 2.63369 2.53928 3.52692 2.62663 1.44546 0.478984 0.000175171 9.10849e-06 1.58414e-06 1.70333e-06 threshold=5.4588099803130126 0.37470171316558165 1.2169811510592434 1.1732074739105893 0.61398027225796947 1.0956011871597129 1.2396581529761168 5.1961133448999481 1.2537081564319763 1.1597348923655619 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 7 -3 8 -7 -1 -6 -2 -11 -12 -13 right_child=9 4 -4 -5 5 6 -8 -9 -10 10 11 12 -14 leaf_value=0.0081794991241124736 -0.0103923429541064 -0.014164413892915669 -0.0066141873888897152 -0.013014316605587507 0.009340106620856584 -0.0050323469266851297 0.0033269415894963202 0.026451722846665793 0.020541084388606877 -0.010115523359398108 -0.010085411214463654 -0.01009111558052961 -0.010058622960291459 leaf_weight=9.5201494316570443 0.1676538921892633 1.3048266004771019 1.8141533201560367 0.5741835683584221 1.9237119462341099 8.8240350717678648 6.5484183598309746 0.45356062054634172 0.47630315646529187 0.32544577261432994 0.2524515613913535 0.16700603254139412 4.7510844152420759 leaf_count=829 13 19 19 6 163 148 89 2 3 34 31 21 823 internal_value=0 0.00181447 0.00569451 0.0078115 -0.000699787 0.000288764 -0.00147142 0.00901044 0.011563 -0.0100739 -0.0100642 -0.010061 -0.0100597 internal_weight=0 31.4393 12.362 10.5479 19.0773 17.7725 15.3725 9.97371 2.40002 5.66364 5.49599 5.17054 4.91809 internal_count=2200 1278 856 837 422 403 237 831 166 922 909 875 844 is_linear=0 shrinkage=0.01 Tree=447 num_leaves=16 num_cat=0 split_feature=12 1 12 4 3 13 0 3 0 1 1 3 3 1 4 split_gain=6.70726 3.0418 1.47996 3.58672 1.15919 1.34277 1.29689 0.0323272 0.0297824 0.000309435 0.000170157 6.91443e-05 8.83904e-06 1.53708e-06 1.65289e-06 threshold=5.4588099803130126 0.85893167272483917 2.8519184598181413 0.3447436949325795 0.58644753314242826 0.39953842781531468 1.2509949463117855 0.1444701471912849 0.31415341067031349 0.99689265265511573 1.1597348923655619 0.44465464507834146 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 8 -3 9 -7 -4 -1 -6 -2 -9 -12 -14 -15 right_child=10 4 7 -5 5 6 -8 11 -10 -11 12 -13 13 14 -16 leaf_value=0.012949259944613593 -0.010388533256300393 -0.0088183605314940648 0.013165116916828506 -0.011242299300638945 0.010106831101989924 -0.0009700071859048198 0.0070366120932815572 0.010295831441259413 0.010156543235139872 0.01043834055929947 -0.010114366197938571 0.010066533374511457 -0.010084554509904156 -0.010090202893825569 -0.010058035907071753 leaf_weight=0.76485082134604743 0.16604627063497801 1.4067395161837364 0.36356849968433369 1.2589503191411493 0.95050609624013549 18.350041451863948 2.2737181503325692 0.13530189264565695 0.76259621884673834 0.40007662214338779 0.32224421110004176 4.6912055937573314 0.24996075080707658 0.16535917483270157 4.7040833388455212 leaf_count=5 13 14 2 13 110 233 27 7 87 12 34 768 31 21 823 internal_value=0 0.00180106 0.00713345 0.0012547 -1.80828e-05 0.000545288 -8.72973e-05 0.0102896 0.011555 0.010205 -0.0100732 0.010073 -0.0100636 -0.0100604 -0.0100591 internal_weight=0 31.3576 7.97647 2.7864 23.3811 21.9743 20.6238 5.19008 1.52745 1.35058 5.60769 4.82651 5.44165 5.1194 4.86944 internal_count=2200 1278 882 105 396 382 260 777 92 122 922 775 909 875 844 is_linear=0 shrinkage=0.01 Tree=448 num_leaves=16 num_cat=0 split_feature=12 1 12 4 3 13 0 3 0 1 1 3 3 1 4 split_gain=6.63246 3.00991 1.4727 3.52964 1.13996 1.32973 1.26726 0.0312625 0.0287839 0.000300188 0.000165285 6.70961e-05 8.57739e-06 1.49136e-06 1.60386e-06 threshold=5.4588099803130126 0.85893167272483917 2.8519184598181413 0.3447436949325795 0.58644753314242826 0.39953842781531468 1.2509949463117855 0.1444701471912849 0.31415341067031349 0.99689265265511573 1.1597348923655619 0.44465464507834146 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 8 -3 9 -7 -4 -1 -6 -2 -9 -12 -14 -15 right_child=10 4 7 -5 5 6 -8 11 -10 -11 12 -13 13 14 -16 leaf_value=0.012912200282376248 -0.010384759776059346 -0.0087610154279338555 0.013123837798699554 -0.01111044447683367 0.010105762650113764 -0.00096041191505505342 0.0069421116306305902 0.010292845186617794 0.010154999879416352 0.01043386374577588 -0.010113220813423732 0.010065868504637044 -0.010083706621340671 -0.010089299217196195 -0.010057455468091612 leaf_weight=0.75940291211009314 0.16445351811125775 1.4018126092851186 0.3610774129629134 1.2611411102116106 0.94114740192890411 18.348049666732553 2.2815828528255215 0.13399428594857443 0.75512242875993252 0.3962648892775178 0.31907378183677781 4.6448325389064848 0.24749430548399676 0.1637284131720661 4.6575445858761668 leaf_count=5 13 14 2 13 110 233 27 7 87 12 34 768 31 21 823 internal_value=0 0.00178734 0.00711688 0.00124727 -1.79041e-05 0.000540032 -8.64137e-05 0.0102866 0.0115375 0.010203 -0.0100725 0.0100722 -0.0100629 -0.0100598 -0.0100585 internal_weight=0 31.2844 7.91557 2.77567 23.3689 21.967 20.6296 5.1399 1.51453 1.33741 5.55229 4.77883 5.38784 5.06877 4.82127 internal_count=2200 1278 882 105 396 382 260 777 92 122 922 775 909 875 844 is_linear=0 shrinkage=0.01 Tree=449 num_leaves=17 num_cat=0 split_feature=1 0 3 4 13 12 0 1 4 2 2 1 3 12 3 0 split_gain=6.56359 2.71619 2.84121 3.39966 1.52029 1.91733 1.33942 1.14196 0.990004 1.66043 1.26277 1.76586 0.306736 0.00271981 6.9323e-06 1.18207e-07 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.33102573345802283 0.50652862085158101 4.8980530291692244 1.1864741023471512 1.1058192561221138 0.40520528501409475 1.2704041812989106 1.2750941039804975 1.2807709791646134 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 -1 -3 -6 -7 12 9 -2 -11 -12 -4 -10 -15 -16 right_child=8 4 7 -5 5 6 -8 -9 13 10 11 -13 -14 14 15 -17 leaf_value=0.012037132736378471 -0.011027399621633275 -0.0085670064564580695 0.010476633831121086 -0.0073391277775751874 0.0084099898334030407 -0.0031474053522687574 0.0043465415742543227 -0.0045331735826338246 -0.010598024239714872 0.025496155493072239 0.020051163487262026 -0.010623173158733616 -0.0038233507509896187 -0.010107547899840249 -0.010065938898813178 -0.010056196703953912 leaf_weight=1.3452511737123156 1.0769039457663887 2.017171821556988 7.4899609847925586 2.770169323310256 2.6364939622580996 8.4252090249210578 3.3268016437068573 0.56577836722135533 1.1755565367639063 0.26470449706539489 0.29238513950258493 0.52404542174190283 0.15306615456938732 0.28310096310451616 0.12832071073353279 4.2344309450127184 leaf_count=39 29 35 971 28 24 85 82 3 32 4 10 42 2 32 20 762 internal_value=0 0.00222821 0.00577577 -0.0010054 -0.000436782 0.000703021 -0.00102599 0.00917546 -0.00802372 -0.00223854 0.00651591 0.000362109 0.0101902 -0.0101683 -0.0100596 -0.0100565 internal_weight=0 28.7299 12.3242 4.11542 16.4057 14.3885 11.752 8.20881 7.97945 2.15804 1.08114 0.816431 7.64303 5.82141 4.64585 4.36275 internal_count=2200 1269 1043 67 226 191 167 976 931 85 56 52 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=450 num_leaves=16 num_cat=0 split_feature=12 1 12 4 3 13 0 3 0 1 1 3 3 1 4 split_gain=6.49862 2.94781 1.46583 3.43271 1.11275 1.30684 1.22931 0.0307885 0.026933 0.000290268 0.000163255 6.62301e-05 8.22139e-06 1.54775e-06 1.60054e-06 threshold=5.4588099803130126 0.85893167272483917 2.8519184598181413 0.3447436949325795 0.58644753314242826 0.39953842781531468 1.2509949463117855 0.1444701471912849 0.31415341067031349 0.99689265265511573 1.1597348923655619 0.44465464507834146 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 8 -3 9 -7 -4 -1 -6 -2 -9 -12 -14 -15 right_child=10 4 7 -5 5 6 -8 11 -10 -11 12 -13 13 14 -16 leaf_value=0.012841922199170104 -0.010382737584364747 -0.008690612475824264 0.01310587089792443 -0.010900459499386539 0.010104137361596013 -0.00094671753191818606 0.006827205301846934 0.010291234234377482 0.010152234837772795 0.010429344064221014 -0.010111492199371628 0.010064711761619166 -0.010083156457299647 -0.010088357730183796 -0.010056328727189484 leaf_weight=0.74896181747317603 0.16342226509004731 1.3905998058617139 0.35998110473155964 1.2643676474690435 0.92428398365155107 18.304577021393929 2.2884572334587565 0.1328366370871662 0.7402458069846034 0.39038182981312275 0.31351935397833575 4.5545279877260327 0.24587649852037419 0.16153807658702124 4.5670814379118383 leaf_count=5 13 14 2 13 110 233 27 7 87 12 34 768 31 21 823 internal_value=0 0.00176518 0.00708583 0.00121699 -1.63163e-05 0.000534288 -8.28191e-05 0.0102876 0.0115049 0.0102007 -0.0100714 0.0100711 -0.0100618 -0.0100587 -0.0100574 internal_weight=0 31.0992 7.80092 2.75358 23.2983 21.9077 20.593 5.04735 1.48921 1.31467 5.45144 4.68736 5.28802 4.9745 4.72862 internal_count=2200 1278 882 105 396 382 260 777 92 122 922 775 909 875 844 is_linear=0 shrinkage=0.01 Tree=451 num_leaves=14 num_cat=0 split_feature=12 4 0 1 3 2 3 0 1 3 3 1 4 split_gain=6.42624 2.9235 1.86968 2.96128 0.926699 0.920097 0.0280977 0.0272984 0.000158577 2.513e-05 7.97789e-06 1.50164e-06 1.55306e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.17408222448223767 1.2396581529761168 0.24292548700197389 1.0867160002493412 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 9 -2 -8 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.01258355427919672 -0.010379018627378594 -0.01287603455444535 -0.00027127914487613407 -0.0024040480419366735 0.0087702156166023938 0.0019942781144733001 0.010161169939125501 0.013928546356505209 -0.010110375717272571 0.010064722961056252 -0.010082322425374482 -0.010087473011057431 -0.010055765866342324 leaf_weight=0.82454010378569664 0.16185386897995968 0.97427688539028423 1.4315383546054388 12.372972975485029 5.4466339191421866 7.7261045603081575 0.3201817665249117 0.20249781012535084 0.31043389067053784 1.7291159466840325 0.24345001764595497 0.15994470100849856 4.5218901461921632 leaf_count=8 13 5 14 158 662 97 36 1 34 297 31 21 823 internal_value=0 0.00175166 0.000733333 0.00122483 0.00688843 -0.000713327 0.0110042 0.0104259 -0.0100707 0.0100798 -0.0100612 -0.0100581 -0.0100568 internal_weight=0 31.0279 27.9515 26.9772 6.87817 20.0991 3.07634 2.2518 5.39757 2.0493 5.23572 4.92528 4.68183 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 is_linear=0 shrinkage=0.01 Tree=452 num_leaves=14 num_cat=0 split_feature=12 4 0 1 3 2 3 0 1 3 3 1 4 split_gain=6.35465 2.89685 1.83398 2.92244 1.15355 0.950676 0.0271987 0.0263733 0.000154032 2.44015e-05 7.742e-06 1.45711e-06 1.5071e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.95282455020400814 0.92418840188043572 0.77035900000382884 0.24292548700197389 1.0867160002493412 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 5 -5 -4 -1 9 -2 -8 -10 -12 -13 right_child=8 2 3 4 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.01255296584159608 -0.010375334393007554 -0.012756210048985181 -0.0026248298239331881 -0.0095452295944108041 3.9955169827996012e-05 0.0088230652949277625 0.010159585840461168 0.013874207230814537 -0.010109270597316946 0.010064077565773108 -0.010081497265526082 -0.010086597048204884 -0.010055207345331966 leaf_weight=0.81831499002874197 0.16030000895261665 0.97359783947468059 0.83989015081897633 1.3422808516770626 19.432381673716009 5.3217877359129488 0.31704508047550994 0.20126418769359578 0.30737845040857781 1.7120202151127157 0.24104728270322073 0.15836690785363305 4.4771438715979457 leaf_count=8 13 5 46 18 246 621 36 1 34 297 31 21 823 internal_value=0 0.00173813 0.000727144 0.00121449 -0.000579357 0.00726262 0.0109936 0.0104215 -0.01007 0.010079 -0.0100606 -0.0100575 -0.0100563 internal_weight=0 30.9586 27.9099 26.9363 20.7747 6.16168 3.04864 2.23033 5.34424 2.02907 5.18394 4.87656 4.63551 internal_count=2200 1278 936 931 264 667 342 334 922 333 909 875 844 is_linear=0 shrinkage=0.01 Tree=453 num_leaves=17 num_cat=0 split_feature=1 0 3 4 13 12 0 1 4 2 2 1 3 12 3 0 split_gain=6.28411 2.632 2.77114 3.2571 1.51115 1.8881 1.30651 1.1236 0.985867 1.6533 1.20351 1.72321 0.307115 0.00262879 6.14799e-06 1.04816e-07 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.33102573345802283 0.50652862085158101 4.8980530291692244 1.1864741023471512 1.1058192561221138 0.40520528501409475 1.2704041812989106 1.2750941039804975 1.2807709791646134 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 -1 -3 -6 -7 12 9 -2 -11 -12 -4 -10 -15 -16 right_child=8 4 7 -5 5 6 -8 -9 13 10 11 -13 -14 14 15 -17 leaf_value=0.011974697187038037 -0.011017670214295649 -0.0085515449358519388 0.010481141974411993 -0.007176545934368948 0.0083760017968941766 -0.0031075478205838968 0.0042981244943485477 -0.0044447731014350643 -0.01059102556646775 0.024895453895272559 0.019760040162953921 -0.010625865543248346 -0.0038692068686117459 -0.010103307299661078 -0.010063339141141756 -0.010053981366186401 leaf_weight=1.3112886897288278 1.0657987426966422 2.0104479566216495 7.2622317536734045 2.7513674516230822 2.6227007713168851 8.4080000407993776 3.3240202860906711 0.56485527008771885 1.1629691533744333 0.26853976631537058 0.29369657300412655 0.51198628591373563 0.15226055309176434 0.27211579680442799 0.12332413159310807 4.0692801168188453 leaf_count=39 29 35 971 28 24 85 82 3 32 4 10 42 2 32 20 762 internal_value=0 0.0021793 0.00572776 -0.000995169 -0.000431764 0.00070545 -0.00100931 0.00915071 -0.00797067 -0.00219346 0.00656156 0.000450746 0.0101864 -0.0101676 -0.0100572 -0.0100543 internal_weight=0 28.4072 12.042 4.06266 16.3652 14.3547 11.732 7.97935 7.76771 2.14002 1.07422 0.805683 7.41449 5.62769 4.46472 4.1926 internal_count=2200 1269 1043 67 226 191 167 976 931 85 56 52 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=454 num_leaves=14 num_cat=0 split_feature=12 4 0 1 4 2 3 0 1 3 3 1 4 split_gain=6.2269 2.84849 1.79163 2.8648 0.910078 0.900003 0.0252629 0.0260063 0.000152098 2.28921e-05 7.42802e-06 1.50801e-06 1.41513e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.37556916262744572 1.2396581529761168 0.24292548700197389 1.0867160002493412 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 9 -2 -8 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.012494319373162081 -0.010373343227789386 -0.012629114416811176 0.010388874446312925 -0.0023730210159559162 0.0030439719117535307 0.0019806683363008414 0.010156336579906212 0.013853641196215401 -0.010107633505837176 0.010062864164965497 -0.010080959888564835 -0.010083757557277055 -0.010054122358556003 leaf_weight=0.80621051508933606 0.15928954491391678 0.97063271701336162 3.4848742089234319 12.330525060184302 3.2698383019305766 7.721622457727789 0.31048069195821915 0.2007906138896941 0.30203517107292999 1.678333942312747 0.23946400079876173 0.16728685796260823 4.3791629788465798 leaf_count=8 13 5 464 158 212 97 36 1 34 297 31 23 821 internal_value=0 0.00171672 0.000717572 0.00120083 0.00683334 -0.000696515 0.010981 0.0104237 -0.0100691 0.0100775 -0.0100595 -0.0100565 -0.0100552 internal_weight=0 30.7733 27.7775 26.8069 6.75471 20.0521 2.99582 2.18961 5.24724 1.98881 5.08795 4.78591 4.54645 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 is_linear=0 shrinkage=0.01 Tree=455 num_leaves=14 num_cat=0 split_feature=12 4 0 1 4 2 3 0 1 3 3 1 4 split_gain=6.15755 2.82258 1.75753 2.82564 0.910428 0.882077 0.0244561 0.025127 0.000147736 2.22283e-05 7.20809e-06 1.46313e-06 1.37315e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.37556916262744572 1.2396581529761168 0.24292548700197389 1.0867160002493412 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 9 -2 -8 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.012464935579989841 -0.010369712723684761 -0.012512631698026347 0.010385901921020844 -0.0023499364301439972 0.0030188981187001412 0.0019594637386309835 0.010154799479780352 0.013800621098903532 -0.010106556084536601 0.010062236952923187 -0.010080148263075246 -0.010082919019371687 -0.010053581609562075 leaf_weight=0.80006075836718382 0.15775951882824202 0.96987561881542461 3.4511816869489875 12.327154603786768 3.2640555524267256 7.7271034810692063 0.30743765411898527 0.19955259561538685 0.29906158661469806 1.6617373200133441 0.23710028640925873 0.16563602769747365 4.3358217254281044 leaf_count=8 13 5 464 158 212 97 36 1 34 297 31 23 821 internal_value=0 0.00170327 0.000711434 0.00119055 0.00680504 -0.000689482 0.0109706 0.0104193 -0.0100684 0.0100767 -0.0100589 -0.0100559 -0.0100547 internal_weight=0 30.7082 27.7394 26.7695 6.71524 20.0543 2.96879 2.16873 5.19538 1.96917 5.03762 4.73856 4.50146 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 is_linear=0 shrinkage=0.01 Tree=456 num_leaves=14 num_cat=1 split_feature=12 4 0 1 3 2 3 5 1 3 3 1 4 split_gain=6.08901 2.79691 1.72412 2.78761 1.12422 0.948319 0.0236757 0.0242789 0.000143498 2.15835e-05 6.99497e-06 1.41974e-06 1.33254e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.95282455020400814 0.92418840188043572 0.77035900000382884 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 -3 5 -5 -4 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 3 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.012435946363075906 -0.010366116595040702 -0.012397590616731661 -0.0027399403235959957 -0.0094601021629716169 5.1020253691925319e-05 0.0087692310027185083 0.013748531293470832 0.010153277369868435 -0.010105489305392321 0.010061616154336137 -0.010079344922560929 -0.010082089047190282 -0.010053044932261137 leaf_weight=0.79393718484789433 0.15624369913712044 0.96909058094024914 0.83080633822828787 1.3278403002768779 19.396463893353939 5.1773883136920631 0.19831179082393613 0.30442399904131945 0.29611697327345599 1.6453037341125307 0.23475971817970265 0.16400135355070222 4.2929075253196061 leaf_count=8 13 5 46 18 246 621 1 36 34 297 31 23 821 internal_value=0 0.00168989 0.000705341 0.00118034 -0.000558373 0.00717776 0.0109604 0.010415 -0.0100677 0.0100759 -0.0100584 -0.0100554 -0.0100541 internal_weight=0 30.6436 27.7016 26.7325 20.7243 6.00819 2.94198 2.14804 5.14403 1.94973 4.98779 4.69167 4.45691 internal_count=2200 1278 936 931 264 667 342 334 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=457 num_leaves=14 num_cat=0 split_feature=12 4 2 1 0 2 2 12 3 1 3 1 4 split_gain=6.02151 2.77361 3.14192 2.54607 2.33649 3.38843 2.53298 1.38925 0.455443 0.00013938 6.78789e-06 1.37749e-06 1.29305e-06 threshold=5.4588099803130126 0.37470171316558165 1.2169811510592434 1.1732074739105893 0.61398027225796947 1.0956011871597129 1.2396581529761168 5.1961133448999481 1.2537081564319763 1.1597348923655619 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 7 -3 8 -7 -1 -6 -2 -11 -12 -13 right_child=9 4 -4 -5 5 6 -8 -9 -10 10 11 12 -14 leaf_value=0.008064194123176301 -0.010362554900860745 -0.013812272419136601 -0.0066426181881673587 -0.012939159509170453 0.009315250393982363 -0.0049940338004503468 0.0032366191926903628 0.025973370139273561 0.020347323463215265 -0.010104433511713343 -0.010078549653401716 -0.010081267624177531 -0.010052514936679384 leaf_weight=8.9260541945695859 0.15474195126444001 1.2680238126777137 1.8067200342193235 0.56421154364943582 1.8200484947301476 8.7050311770290119 6.5543759842403224 0.45523257553577501 0.4710688367485999 0.29320104047656048 0.23244206700474013 0.16238267719745625 4.2504154900088906 leaf_count=829 13 19 19 6 163 148 89 2 3 34 31 23 821 internal_value=0 0.00167707 0.00548863 0.00769242 -0.000703258 0.000243867 -0.00145872 0.00893325 0.0115835 -0.010067 -0.0100578 -0.0100548 -0.0100536 internal_weight=0 30.5708 11.7522 9.9455 18.8185 17.5505 15.2594 9.38129 2.29112 5.09318 4.93844 4.64524 4.4128 internal_count=2200 1278 856 837 422 403 237 831 166 922 909 875 844 is_linear=0 shrinkage=0.01 Tree=458 num_leaves=14 num_cat=1 split_feature=12 4 0 1 4 0 3 5 1 3 3 1 4 split_gain=5.95487 2.75526 1.68922 2.74301 0.905109 0.858348 0.0224182 0.0229905 0.00013538 2.04747e-05 6.58731e-06 1.33664e-06 1.25483e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.37556916262744572 1.1427926010382323 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.012388967388680323 -0.010359027368012015 -0.012290883925574739 0.010378278614513346 0.00092314795308453981 0.0029716814831665136 -0.0033530386363096001 0.013667651419505043 0.010150583023129075 -0.010103388352231776 0.010060513149167791 -0.010077762220132432 -0.010080454256688824 -0.010051988822038374 leaf_weight=0.78389359079301657 0.15325415320694347 0.9672182053327586 3.3700214703567353 12.518777824006976 3.2325324383564293 7.5100776469334951 0.19633613526821103 0.29908924829214867 0.29031352000311006 1.6161048603244124 0.2301471191458403 0.16077984962612379 4.2083420567214489 leaf_count=8 13 5 464 146 212 109 1 36 34 297 31 23 821 internal_value=0 0.00166452 0.000690912 0.00116239 0.0067521 -0.000680263 0.0109448 0.0104087 -0.0100664 0.0100746 -0.0100572 -0.0100543 -0.010053 internal_weight=0 30.4941 27.5986 26.6314 6.60255 20.0289 2.89542 2.11153 5.04284 1.91519 4.88958 4.59927 4.36912 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=459 num_leaves=14 num_cat=0 split_feature=12 4 0 1 3 2 3 0 1 3 3 1 4 split_gain=5.88909 2.72986 1.65731 2.70517 0.905609 0.857369 0.0217042 0.0222177 0.000131493 1.98806e-05 6.39232e-06 1.29692e-06 1.21766e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.17408222448223767 1.2396581529761168 0.24292548700197389 1.0867160002493412 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 9 -2 -8 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.0123609932725058 -0.01035553258238874 -0.01217864501773039 -0.00039931895414476858 -0.0023154338547628148 0.0086604968684567945 0.001935407813586213 0.010149101970704488 0.013617864621384581 -0.010102353580200897 0.010059909332301269 -0.010076983089887991 -0.010079649334913626 -0.010051469212763696 leaf_weight=0.77784129232168497 0.15178019413724442 0.96637505292892711 1.4033191874623323 12.286786808632316 5.1610683873295784 7.729833483695983 0.29615625832229886 0.1950896531343459 0.28745414549484838 1.6001198687590656 0.22787464736029495 0.15919271204620589 4.166682681068778 leaf_count=8 13 5 14 158 662 97 36 1 34 297 31 23 821 internal_value=0 0.00165217 0.00068533 0.00115301 0.00672371 -0.000673883 0.0109349 0.0104044 -0.0100657 0.0100738 -0.0100566 -0.0100537 -0.0100525 internal_weight=0 30.4166 27.5474 26.581 6.56439 20.0166 2.86921 2.09137 4.99298 1.89628 4.8412 4.55375 4.32588 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 is_linear=0 shrinkage=0.01 Tree=460 num_leaves=14 num_cat=0 split_feature=12 1 0 3 13 13 3 1 1 3 3 1 4 split_gain=5.82374 2.70657 1.20564 0.904158 2.05641 1.37465 0.000991897 0.000479162 0.000127716 6.20331e-06 2.45679e-06 1.25843e-06 1.18163e-06 threshold=5.4588099803130126 0.80845556346269254 0.31415341067031349 0.82801835204893248 0.46553849925547169 0.50652862085158101 0.17408222448223767 1.0256168289528838 1.1597348923655619 1.2433743438056273 0.58644753314242826 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 -1 -3 7 -6 -4 -5 -2 -10 -8 -11 -13 right_child=8 3 6 4 5 -7 10 -9 9 11 -12 12 -14 leaf_value=-0.0010910775361621947 -0.01035207110989512 -0.005407913822461901 0.010524439364525932 0.01013173456225254 -0.00873063721300525 0.00064959449119049678 0.010090409107403504 0.010639002200238581 -0.01010132930780068 -0.010076211681572019 0.010054514362857122 -0.010078852274620558 -0.01005095408280258 leaf_weight=1.2148936316370988 0.15031995484605332 2.5859895381145206 0.50875310041010369 1.923693767748776 1.7098423196002865 18.106070886366069 0.20049411803483952 0.20616906881332386 0.2846226431429385 0.22562444349750865 3.8957088361494243 0.15762111963704217 4.1254338123835623 leaf_count=7 13 31 12 227 16 216 25 5 34 31 739 23 821 internal_value=0 0.00163925 0.00777019 0.000184763 0.000843779 -0.000159791 0.010108 0.0101808 -0.0100651 -0.0100561 0.0100563 -0.0100532 -0.010052 internal_weight=0 30.3516 5.81985 24.5318 21.9458 19.8159 4.60496 2.12986 4.94362 4.7933 4.0962 4.50868 4.28305 internal_count=2200 1278 783 495 464 232 776 232 922 909 764 875 844 is_linear=0 shrinkage=0.01 Tree=461 num_leaves=14 num_cat=1 split_feature=12 4 0 1 4 0 3 5 1 3 3 1 4 split_gain=5.75905 2.7008 1.61839 2.64971 0.908261 0.849054 0.0209778 0.0219255 0.000124047 1.95961e-05 6.01963e-06 1.22096e-06 1.14658e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.37556916262744572 1.1427926010382323 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.012340796702032876 -0.010348642729734197 -0.012054928069094679 0.010378289116421332 0.00092588899834944362 0.0028931187413877651 -0.0033290642570458786 0.013600225443859778 0.010148036568771245 -0.0101003153741518 0.010058717842242135 -0.010075447844777843 -0.010078063240228044 -0.01005044527936918 leaf_weight=0.771563446149233 0.14887330168858071 0.96462000906467693 3.2867032056674388 12.516018944792451 3.1988467373885214 7.4998887702822676 0.19464242458343473 0.29123677359893974 0.28181874752044667 1.5686028734780846 0.22339629009366024 0.15606491919606913 4.0845909244380891 leaf_count=8 13 5 464 146 212 109 1 36 34 297 31 23 821 internal_value=0 0.00162616 0.000668367 0.00113148 0.0066864 -0.000668427 0.0109349 0.0104069 -0.0100644 0.0100727 -0.0100555 -0.0100527 -0.0100515 internal_weight=0 30.2921 27.4661 26.5015 6.48555 20.0159 2.82605 2.05448 4.89474 1.85984 4.74587 4.46405 4.24066 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=462 num_leaves=14 num_cat=1 split_feature=12 4 0 1 4 2 3 5 1 3 3 1 4 split_gain=5.69552 2.67583 1.58788 2.61297 0.908269 0.841306 0.0203101 0.0211901 0.000120482 1.90274e-05 5.84155e-06 1.18472e-06 1.11266e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.37556916262744572 1.2396581529761168 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.012313451948522293 -0.010345246418093056 -0.011945494259502282 0.010375375332372301 -0.0022895880635686711 0.0028689998899923698 0.0019221185774842275 0.013551593308192611 0.010146580546923694 -0.010099311483721172 0.010058131828610957 -0.010074692025984374 -0.010077282392773173 -0.01004994072475578 leaf_weight=0.7655741237103969 0.14744013035669823 0.96372692286968487 3.2549092392437187 12.274176127277316 3.1935079754330218 7.729606630280613 0.19339378178119626 0.28838008735328968 0.2790421969257294 1.5530850221402941 0.22118996968492854 0.15452396171167482 4.0441504726186395 leaf_count=8 13 5 464 158 212 97 1 36 34 297 31 23 821 internal_value=0 0.00161403 0.000662947 0.00112231 0.00665793 -0.000662154 0.010925 0.0104027 -0.0100638 0.010072 -0.0100549 -0.0100521 -0.0100509 internal_weight=0 30.2164 27.4159 26.4522 6.44842 20.0038 2.80043 2.03486 4.84635 1.84147 4.69891 4.41986 4.19867 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=463 num_leaves=17 num_cat=1 split_feature=1 4 0 1 2 4 13 2 2 3 5 12 3 3 3 0 split_gain=5.63574 2.41881 1.66924 2.34061 1.20952 0.988558 1.68164 1.36586 1.57736 0.019664 0.0204804 0.00248754 0.000832038 1.84749e-05 4.55393e-06 7.7639e-08 threshold=1.2071296172255412 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2813361202598783 0.40520528501409475 0.93885093126527053 1.2704041812989106 1.2771323865657005 0.24292548700197389 0 5.4588099803130126 0.17408222448223767 0.65509567554656234 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 9 -3 12 -5 6 -2 -8 -9 -1 -11 -7 -4 -12 -13 -16 right_child=5 2 3 4 -6 11 7 8 -10 10 13 14 -14 -15 15 -17 leaf_value=0.01228646969700853 -0.010966250399228925 -0.011837355244720373 0.010548163463779609 0.0012616733961802009 -0.0065805604288985643 -0.010579564254814216 -0.011174889328434908 0.038884936968317088 0.0056262940540964925 0.013503788691028471 0.010145138751436173 -0.010093426041843219 0.010055456923823225 0.010057552517052266 -0.010057282270328149 -0.010048818404652023 leaf_weight=0.75961272977292837 1.0492891017347568 0.96281023323536175 0.39888299256563486 18.905750385951254 2.1950139668770126 1.1462101107463238 0.29705736320465781 0.19195533730089664 0.55462452443316579 0.19214390218257871 0.28555103344842847 0.24646393302828062 2.4351661032997072 1.5377197149209676 0.11166339460760388 3.6838975786231458 leaf_count=8 21 5 9 386 65 32 14 2 48 1 36 32 462 297 20 762 internal_value=0 0.00205964 0.00107261 0.00159193 0.000445882 -0.00782809 -0.00202668 0.0069613 0.0141775 0.0109153 0.0103985 -0.0101684 0.0101248 0.0100713 -0.0100518 -0.0100491 internal_weight=0 27.6727 24.8976 23.9348 21.1008 7.28116 2.09293 1.04364 0.74658 2.77503 2.01541 5.18824 2.83405 1.82327 4.04202 3.79556 internal_count=2200 1269 927 922 451 931 85 64 50 342 334 846 471 333 814 782 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=464 num_leaves=14 num_cat=1 split_feature=12 4 0 1 0 3 5 3 1 3 3 1 4 split_gain=5.57894 2.6256 1.52917 2.55363 0.966803 0.019039 0.0197956 0.000807092 0.000114903 1.79384e-05 5.5266e-06 1.15963e-06 1.10425e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2509949463117855 0.24292548700197389 0 0.17408222448223767 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 9 -4 -2 -7 -10 -12 -13 right_child=8 2 3 4 -6 6 -8 -9 10 -11 11 12 -14 leaf_value=0.012259844416271962 -0.010339616158086224 -0.011730486552078121 0.01054248456424366 -0.00064834473648828195 0.0060644661362143238 0.010143710814121567 0.013456791347364411 0.010054902210779577 -0.010097478709836278 0.010056978600549736 -0.010073656668124412 -0.01007635024109356 -0.010048978889132493 leaf_weight=0.75367954652756752 0.14522413862869044 0.96187067031860607 0.39512569457292857 21.169945974834267 2.3874657005071631 0.28274935111403476 0.19089306890964475 2.4110681302845478 0.27418473688885558 1.5225056125782428 0.21810510475188483 0.15308107528835524 3.9666854096576571 leaf_count=8 13 5 9 431 29 36 1 462 34 297 31 23 821 internal_value=0 0.00159159 0.000654288 0.00110614 3.19764e-05 0.0109057 0.0103944 0.0101236 -0.0100627 0.0100706 -0.0100539 -0.0100512 -0.01005 internal_weight=0 30.0753 27.3255 26.3636 23.5574 2.74983 1.99615 2.80619 4.75728 1.80525 4.61206 4.33787 4.11977 internal_count=2200 1278 936 931 460 342 334 471 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=465 num_leaves=14 num_cat=1 split_feature=12 4 0 1 4 0 3 5 1 3 3 1 4 split_gain=5.5168 2.60191 1.50022 2.53146 0.910087 0.837173 0.0184342 0.0191347 0.000111598 1.74177e-05 5.36312e-06 1.12518e-06 1.07157e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.96155453354879217 0.37556916262744572 1.1427926010382323 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 -3 4 -4 -5 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 3 5 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.012233569552967821 -0.010336306061673087 -0.01162486216090112 0.01037332921729283 0.00093068470931900672 0.0028044112873219507 -0.0032984617804029453 0.013410586574025172 0.010142296989769041 -0.01009650352099919 0.010056409728718638 -0.010072918688811699 -0.010075586562257243 -0.010048489182054046 leaf_weight=0.7477748841047317 0.14382494799792667 0.96090902388096111 3.1815228932537165 12.508458076044919 3.1729012653231621 7.4795556236058465 0.18964155018329587 0.2799747744575144 0.27148264041170467 1.5074412468820808 0.21595066506415594 0.15156932361423958 3.9274066821672022 leaf_count=8 13 5 464 146 212 109 1 36 34 297 31 23 821 internal_value=0 0.00157823 0.000648311 0.00109601 0.006594 -0.000651871 0.0108962 0.0103903 -0.010062 0.0100699 -0.0100534 -0.0100507 -0.0100495 internal_weight=0 30.0282 27.3033 26.3424 6.35442 19.988 2.72483 1.97706 4.71023 1.78742 4.56641 4.29493 4.07898 internal_count=2200 1278 936 931 676 255 342 334 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=466 num_leaves=14 num_cat=1 split_feature=12 4 0 1 0 3 5 3 1 3 3 1 4 split_gain=5.45606 2.57786 1.47206 2.51248 0.956017 0.017849 0.0184967 0.000759554 0.000108388 1.69116e-05 5.20452e-06 1.09181e-06 1.03986e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2509949463117855 0.24292548700197389 0 0.17408222448223767 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2034118844789969 0.37820364433929859 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -7 -4 -2 -8 -10 -12 -13 right_child=8 2 3 4 -6 6 9 -9 10 -11 11 12 -14 leaf_value=0.012207640956411333 -0.010333027739213 -0.011520458520497642 0.010531395524991811 -0.00064809368874925097 0.0060242305936801209 0.013365153756968251 0.010140896712776508 0.010053950774687195 -0.010095537931711241 0.010055847545489074 -0.010072188348063463 -0.010074830238337707 -0.01004800397193816 leaf_weight=0.74189896415919365 0.14243881683796544 0.95992596447468059 0.38776763901114764 21.148655871860687 2.3900763168930999 0.18838962912559476 0.2772270585410298 2.368070375174284 0.26880692085251201 1.4925250275991855 0.21381734637543548 0.15007239114493121 3.8885151757858694 leaf_count=8 13 5 9 431 29 1 36 462 34 297 31 23 821 internal_value=0 0.00156638 0.00064303 0.00108708 2.94009e-05 0.0108867 0.0103863 0.0101211 -0.0100614 0.0100692 -0.0100529 -0.0100502 -0.010049 internal_weight=0 29.9545 27.2545 26.2946 23.5387 2.70004 1.95814 2.75584 4.66365 1.76975 4.52121 4.2524 4.03859 internal_count=2200 1278 936 931 460 342 334 471 922 333 909 875 844 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=467 num_leaves=17 num_cat=0 split_feature=1 0 3 4 13 12 0 1 4 13 2 12 3 12 3 0 split_gain=5.39559 2.33283 2.6829 2.99894 1.58 1.83569 1.30593 1.09441 0.984822 1.67258 1.34643 1.59786 0.310469 0.00242299 4.03879e-06 6.88505e-08 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.33102573345802283 0.50652862085158101 4.8980530291692244 1.1864741023471512 1.1058192561221138 0.40520528501409475 0.93885093126527053 1.2704041812989106 5.4441990008005208 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 -1 -3 -6 -7 12 9 -2 -11 -12 -4 -10 -15 -16 right_child=8 4 7 -5 5 6 -8 -9 13 10 11 -13 -14 14 15 -17 leaf_value=0.011841385420008416 -0.010956593740784934 -0.008791387640792318 0.010508541605980849 -0.0071391518750017523 0.0083360126827416326 -0.0030465745042052433 0.0044058892129711039 -0.0043341433712843934 -0.010574941725076363 -0.011161574454164916 0.039147021698486779 0.005563321904957709 -0.0039611474397319227 -0.010089744702536619 -0.010055025238889284 -0.010046894775310889 leaf_weight=1.2103791637346168 1.0383130777627223 1.9771238598041261 6.6243792162276804 2.6658975966274738 2.6052173376083365 8.3609588816761953 3.2713888385333112 0.56226253509521473 1.1350691542029379 0.29326130729168631 0.19019396603107452 0.55530198477208614 0.15168114006519307 0.23688687710091505 0.10731142107397351 3.5401173559948802 leaf_count=39 21 35 971 28 24 85 82 3 32 14 1 49 2 32 20 762 internal_value=0 0.00201069 0.00551737 -0.00121242 -0.000414651 0.000748598 -0.000950703 0.00907221 -0.00777211 -0.00198105 0.00699065 0.0141313 0.0101846 -0.0101685 -0.0100497 -0.0100471 internal_weight=0 27.4293 11.2146 3.87628 16.2147 14.2376 11.6323 7.33832 7.09646 2.07707 1.03876 0.745496 6.77606 5.01938 3.88432 3.64743 internal_count=2200 1269 1043 67 226 191 167 976 931 85 64 50 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=468 num_leaves=14 num_cat=1 split_feature=12 4 0 1 0 3 5 3 1 3 3 1 4 split_gain=5.34909 2.53472 1.43849 2.47102 0.931043 0.0165605 0.0182667 0.000751562 0.000107054 1.58651e-05 4.92009e-06 1.1264e-06 1.09618e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2509949463117855 0.24292548700197389 0 0.17408222448223767 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37470171316558165 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 9 -4 -2 -7 -10 -12 -13 right_child=8 2 3 4 -6 6 -8 -9 10 -11 11 12 -14 leaf_value=0.012157500120336647 -0.010331294423328764 -0.011410920505462701 0.010529415177099981 -0.00063924907255873164 0.0059395142813549878 0.010138027108728558 0.013349796664645305 0.010052906793124625 -0.010093790322050569 0.010054792304076668 -0.010070797626116155 -0.010075642985863999 -0.010047030831657075 leaf_weight=0.73039694689214529 0.1415550229139616 0.95648391544819134 0.38604226522147955 21.092307759914551 2.3955201264470807 0.27149168262258183 0.18796162307262387 2.3213247410021722 0.26419874420389522 1.4631044552661476 0.23012483026832331 0.13878282438963685 3.8062134003266692 leaf_count=8 13 5 9 431 29 36 1 462 34 297 34 21 820 internal_value=0 0.00154621 0.000634638 0.00107447 3.1718e-05 0.0108757 0.0103887 0.0101209 -0.0100606 0.0100678 -0.0100519 -0.0100493 -0.010048 internal_weight=0 29.8046 27.1517 26.1952 23.4878 2.65295 1.92256 2.70737 4.58087 1.7346 4.43932 4.17512 3.945 internal_count=2200 1278 936 931 460 342 334 471 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=469 num_leaves=14 num_cat=0 split_feature=12 4 0 1 0 3 0 3 1 3 3 1 4 split_gain=5.28965 2.51181 1.41136 2.44885 0.910132 0.0160357 0.0176588 0.000729042 0.000103973 1.5404e-05 4.77465e-06 1.09301e-06 1.06376e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2509949463117855 0.24292548700197389 1.0867160002493412 0.17408222448223767 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 9 -4 -2 -7 -10 -12 -13 right_child=8 2 3 4 -6 6 -8 -9 10 -11 11 12 -14 leaf_value=0.012132566512470673 -0.010328063791921381 -0.01130913824442027 0.010523938490480469 -0.00063287421425325615 0.0058632706249484934 0.010136668360841409 0.013305375596624482 0.01005237758261265 -0.010092852154559429 0.010054245980330152 -0.01007008858890145 -0.01007488620030266 -0.010046560103268407 leaf_weight=0.72460803296417298 0.14019014872610469 0.95544658601284282 0.38239897973835768 21.091724270954732 2.4023691751062861 0.26882614288479079 0.18670953810214985 2.2983474838547409 0.26159411575645197 1.4486246667802332 0.2278510141186415 0.13741218298673663 3.7685165302827954 leaf_count=8 13 5 9 431 29 36 1 462 34 297 34 21 820 internal_value=0 0.00153317 0.000628827 0.00106459 3.13837e-05 0.0108665 0.0103847 0.0101196 -0.01006 0.0100671 -0.0100514 -0.0100488 -0.0100476 internal_weight=0 29.7591 27.1303 26.1748 23.4941 2.62877 1.90416 2.68075 4.53556 1.71745 4.39537 4.13378 3.90593 internal_count=2200 1278 936 931 460 342 334 471 922 333 909 875 841 is_linear=0 shrinkage=0.01 Tree=470 num_leaves=14 num_cat=1 split_feature=12 4 0 1 0 3 5 3 1 3 3 1 4 split_gain=5.2309 2.48911 1.38476 2.42687 0.889725 0.0155279 0.0170721 0.000707198 0.00010098 1.49563e-05 4.63331e-06 1.06053e-06 1.03223e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2509949463117855 0.24292548700197389 0 0.17408222448223767 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37470171316558165 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 9 -4 -2 -7 -10 -12 -13 right_child=8 2 3 4 -6 6 -8 -9 10 -11 11 12 -14 leaf_value=0.012107957612993339 -0.010324863781413916 -0.011208499442980711 0.010518521078470389 -0.00062656272215466701 0.0057882369474549127 0.010135322943636728 0.013261687508416411 0.0100518544021747 -0.010091923233915286 0.010053705055789213 -0.010069386697639446 -0.010074136931453271 -0.010046095010124332 leaf_weight=0.7188488207757503 0.13883803598582645 0.9543904066085841 0.37878806889057459 21.091148025356237 2.4091419801115981 0.26618642872199427 0.18545764684677091 2.2755964295938611 0.25901492778211821 1.4342873860150573 0.22559950500726689 0.13605497637763653 3.731190986931324 leaf_count=8 13 5 9 431 29 36 1 462 34 297 34 21 820 internal_value=0 0.00152023 0.000623066 0.0010548 3.10531e-05 0.0108574 0.0103807 0.0101184 -0.0100594 0.0100665 -0.0100509 -0.0100483 -0.0100471 internal_weight=0 29.7138 27.1091 26.1547 23.5003 2.60478 1.88593 2.65438 4.4907 1.70047 4.35186 4.09285 3.86725 internal_count=2200 1278 936 931 460 342 334 471 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=471 num_leaves=17 num_cat=0 split_feature=1 0 3 4 13 12 0 1 4 2 3 2 3 12 3 0 split_gain=5.17704 2.26295 2.64212 2.90069 1.56054 1.8134 1.25785 1.0825 0.97734 1.65803 1.18944 1.48374 0.307816 0.00237765 3.58188e-06 6.10548e-08 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.33102573345802283 0.50652862085158101 4.8980530291692244 1.1864741023471512 1.1058192561221138 0.40520528501409475 1.2704041812989106 1.1981154781470527 1.2727767592850008 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 -1 -3 -6 -7 12 9 -2 -11 -12 -4 -10 -15 -16 right_child=8 4 7 -5 5 6 -8 -9 13 10 11 -13 -14 14 15 -17 leaf_value=0.011801917536195456 -0.010982913708524033 -0.0087266412378631548 0.010513324590056052 -0.0070526114849745695 0.0083069833456141592 -0.003001698237117819 0.0043092777153622879 -0.0042729296918952078 -0.010571994382395875 -0.011085269400119762 0.036803646630247905 0.0050821301476850931 -0.0039074619987615892 -0.010086209082508417 -0.010052857632819712 -0.010045047534455677 leaf_weight=1.1794649679213782 1.0246330359950655 1.9808646985329712 6.4541341601870954 2.6475765695795417 2.5941755585372439 8.3447105516679567 3.2776251016184679 0.56211689859628666 1.1262628696858881 0.27068017795681931 0.19891936145722866 0.5698908562771976 0.15149183571338642 0.22767859976738725 0.10312806768342886 3.4019235465675592 leaf_count=39 29 35 971 28 24 85 82 3 32 5 2 49 2 32 20 762 internal_value=0 0.00196555 0.00546697 -0.00124179 -0.000411217 0.000747417 -0.000939923 0.00904895 -0.00772041 -0.0019557 0.00694249 0.0132896 0.0101826 -0.0101693 -0.0100478 -0.0100453 internal_weight=0 27.1922 10.9948 3.82704 16.1974 14.2165 11.6223 7.16774 6.92312 2.06412 1.03949 0.76881 6.60563 4.85899 3.73273 3.50505 internal_count=2200 1269 1043 67 226 191 167 976 931 85 56 51 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=472 num_leaves=14 num_cat=1 split_feature=12 4 0 1 0 3 5 3 1 3 3 1 4 split_gain=5.12917 2.44734 1.35344 2.38672 0.868247 0.0143997 0.0168598 0.000699616 9.96803e-05 1.40291e-05 4.39727e-06 1.0918e-06 1.05726e-06 threshold=5.4588099803130126 0.30582682030356095 0.31415341067031349 0.80845556346269254 1.2509949463117855 0.24292548700197389 0 0.17408222448223767 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37470171316558165 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 2 left_child=1 5 -3 7 -5 -1 -7 -4 -2 -8 -10 -12 -13 right_child=8 2 3 4 -6 6 9 -9 10 -11 11 12 -14 leaf_value=0.012060250276715589 -0.010323140756241966 -0.011103683945174546 0.010516573066073103 -0.00061832689381929363 0.005714454380126981 0.013246929511009678 0.010132566301992224 0.01005085235503874 -0.010090351945388057 0.010052694401982821 -0.010068936795805306 -0.010073698672012689 -0.010045209775397865 leaf_weight=0.70755307003856005 0.13796636648476024 0.95084373652935283 0.37708574160933794 21.035860809497539 2.4133625645190468 0.18503008782863584 0.26068106712773453 2.2306666383519769 0.25451745465397824 1.4060088773258028 0.22414000378921617 0.13507365062832866 3.6597394361160696 leaf_count=8 13 5 9 431 29 1 36 462 34 297 34 21 820 internal_value=0 0.00150072 0.000615077 0.00104271 3.34344e-05 0.0108468 0.0103831 0.0101182 -0.0100586 0.0100652 -0.01005 -0.0100475 -0.0100462 internal_weight=0 29.5671 27.0078 26.057 23.4492 2.55927 1.85172 2.60775 4.41144 1.66669 4.27347 4.01895 3.79481 internal_count=2200 1278 936 931 460 342 334 471 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=473 num_leaves=15 num_cat=1 split_feature=12 4 3 13 13 2 0 3 5 1 3 3 1 4 split_gain=5.0723 2.42519 1.34012 3.41086 2.08472 0.234239 0.100601 0.0139444 0.0163006 9.68095e-05 1.36213e-05 4.26729e-06 1.05945e-06 1.02599e-06 threshold=5.4588099803130126 0.30582682030356095 0.61313736928646123 0.46553849925547169 0.50652862085158101 1.2310049738220437 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 7 6 5 -5 -4 -3 -1 -9 -2 -10 -11 -13 -14 right_child=9 2 3 4 -6 -7 -8 8 10 11 -12 12 13 -15 leaf_value=0.012036579016553122 -0.010319987877377021 -0.0073821831233609218 0.010124996007788066 -0.011203840495576038 0.00065377791826182381 -0.0015750301064482027 -0.003820729562456326 0.013204200730581536 0.010131261164673664 -0.010089448405848817 0.010052169006613453 -0.010068246614784265 -0.01007296145831487 -0.010044757426586623 leaf_weight=0.70188352279365362 0.13663510186597605 1.484788390342149 4.0027744197286692 1.6157746268436337 18.002349368296564 0.17875591525807966 1.7026551994495092 0.18377882242202725 0.25812033144757163 0.25200741738080967 1.3920912472531197 0.22192491311579976 0.13373938435688648 3.6234867610037327 leaf_count=8 13 17 655 17 216 7 24 1 36 34 297 34 21 820 internal_value=0 0.00148801 0.000609433 0.00142494 -0.000322831 0.00962483 -0.00547974 0.0108379 0.0103792 -0.010058 0.0100645 -0.0100495 -0.010047 -0.0100458 internal_weight=0 29.523 26.9871 23.7997 19.6181 4.18153 3.18744 2.53587 1.83399 4.36779 1.65021 4.23116 3.97915 3.75723 internal_count=2200 1278 936 895 233 662 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=474 num_leaves=15 num_cat=1 split_feature=12 4 3 13 13 2 0 3 5 1 3 3 1 4 split_gain=5.01635 2.40302 1.31411 3.37877 2.03529 0.233465 0.0985494 0.0135039 0.0157607 9.40196e-05 1.32253e-05 4.14091e-06 1.02792e-06 9.95532e-07 threshold=5.4588099803130126 0.30582682030356095 0.61313736928646123 0.46553849925547169 0.50652862085158101 1.2310049738220437 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37470171316558165 decision_type=2 2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 7 6 5 -5 -4 -3 -1 -9 -2 -10 -11 -13 -14 right_child=9 2 3 4 -6 -7 -8 8 10 11 -12 12 13 -15 leaf_value=0.012013213055272325 -0.010316864724770548 -0.007308529467291134 0.010123801499525195 -0.011047710698571923 0.00064714512634274899 -0.0015592556622176256 -0.0037833767079848437 0.013162169622067951 0.010129968567534304 -0.010088553906629594 0.010051648397889147 -0.01006756332152227 -0.01007223151021581 -0.010044310938828033 leaf_weight=0.69624448381364645 0.13531630719080467 1.4847544273361593 3.9634113395586636 1.6221906165592397 18.004981976002455 0.17875866312533606 1.7022725534625349 0.18252830207347837 0.25558443786576401 0.24952191440388549 1.3783107278868554 0.21973156044259701 0.1324182013049725 3.5875913552008569 leaf_count=8 13 17 655 17 216 7 24 1 36 34 297 34 21 820 internal_value=0 0.00147594 0.000604113 0.00141259 -0.000319438 0.00961961 -0.00542566 0.0108291 0.0103752 -0.0100574 0.0100639 -0.010049 -0.0100465 -0.0100453 internal_weight=0 29.469 26.9564 23.7693 19.6272 4.14217 3.18703 2.51267 1.81642 4.32458 1.6339 4.18926 3.93974 3.72001 internal_count=2200 1278 936 895 233 662 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=475 num_leaves=17 num_cat=0 split_feature=1 0 3 4 13 12 0 1 4 13 2 12 3 12 3 0 split_gain=4.96138 2.19209 2.5744 2.78213 1.50666 1.78734 1.23295 1.07329 0.97146 1.65229 1.3142 1.41997 0.304103 0.00229764 3.17663e-06 5.41385e-08 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.33102573345802283 0.50652862085158101 4.8980530291692244 1.1864741023471512 1.1058192561221138 0.40520528501409475 0.93885093126527053 1.2704041812989106 5.4441990008005208 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 -1 -3 -6 -7 12 9 -2 -11 -12 -4 -10 -15 -16 right_child=8 4 7 -5 5 6 -8 -9 13 10 11 -13 -14 14 15 -17 leaf_value=0.011759525391724795 -0.010939350344699734 -0.0085678208169079981 0.010523174321493941 -0.0068728814417934464 0.0082663781841707754 -0.0029800861857049409 0.0042577549011316379 -0.0042325003807917776 -0.010565555074404851 -0.011144638013491137 0.037048135831091122 0.0057301999035914691 -0.0037702486190753998 -0.010082813533626039 -0.010050775883398347 -0.010043273719005565 leaf_weight=1.1507493457756957 1.0204984955489629 1.9841977898031498 6.2609750609844923 2.6395951672457159 2.5787907857447854 8.3364603347145003 3.2794323177076867 0.56169158965349186 1.1153874732553957 0.28737232275307156 0.19706279039382935 0.54562854254618287 0.15247480198740948 0.21882509440183673 0.099106863606721496 3.2691007717512548 leaf_count=39 21 35 971 28 24 85 82 3 32 14 1 49 2 32 20 762 internal_value=0 0.00192101 0.00541766 -0.00121608 -0.000405673 0.000735269 -0.000936678 0.00902248 -0.00766454 -0.00192088 0.00701385 0.01404 0.0101834 -0.0101692 -0.0100459 -0.0100435 internal_weight=0 26.9444 10.7655 3.79034 16.1789 14.1947 11.6159 6.97514 6.75298 2.05056 1.03006 0.742691 6.41345 4.70242 3.58703 3.36821 internal_count=2200 1269 1043 67 226 191 167 976 931 85 64 50 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=476 num_leaves=14 num_cat=0 split_feature=12 4 2 1 0 2 2 3 3 1 3 1 4 split_gain=4.9189 2.36348 2.96259 2.43055 2.14109 3.21954 2.47133 1.34001 0.429193 9.28011e-05 3.91563e-06 1.0578e-06 9.37866e-07 threshold=5.4588099803130126 0.37470171316558165 1.2169811510592434 1.1732074739105893 0.61398027225796947 1.0956011871597129 1.2396581529761168 1.3210941733026873 1.2537081564319763 1.1597348923655619 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 7 -3 8 -7 -1 -6 -2 -11 -12 -13 right_child=9 4 -4 -5 5 6 -8 -9 -10 10 11 12 -14 leaf_value=0.0081875213772722739 -0.010315167472946704 -0.01350170666656589 -0.0065835963063283313 -0.012845851557859691 0.0092859014694922394 -0.004969429014751346 0.0031943187845003603 0.033884762040453403 0.020136562563949339 -0.010086945048232366 -0.010067123739335113 -0.010069789036370815 -0.010043447760170299 leaf_weight=8.2787396437488479 0.13446160592138667 1.2230552141554678 1.7907415283843864 0.55157362669706422 1.6891617686487763 8.5782659263350052 6.5314198210835448 0.20802332460880357 0.46485572494566429 0.24525813944637764 0.21830167155712876 0.14058040641248259 3.5094058699905872 leaf_count=830 13 19 19 6 163 148 89 1 3 34 34 23 818 internal_value=0 0.00145734 0.00516722 0.00749538 -0.000715809 0.000190014 -0.00144051 0.0088174 0.0116276 -0.0100566 -0.0100482 -0.0100457 -0.0100445 internal_weight=0 29.3158 10.8291 9.03834 18.4868 17.2637 15.1097 8.48676 2.15402 4.24801 4.11355 3.86829 3.64999 internal_count=2200 1278 856 837 422 403 237 831 166 922 909 875 841 is_linear=0 shrinkage=0.01 Tree=477 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 0 3 5 1 3 3 1 4 split_gain=4.865 2.3478 1.29687 1.45869 2.92332 0.0976263 0.0122315 0.0152369 9.0126e-05 1.2113e-05 3.79981e-06 1.02638e-06 9.10093e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011952406361505179 -0.01031209047117336 -0.0072189820377966561 -0.010847521638109352 0.0096097296509129789 0.00022815890318686593 -0.0037015014669677126 0.013122008712148931 0.01012630557138999 -0.010086075712752836 0.010050266253485303 -0.010066451451896902 -0.010069091104223491 -0.010043013594027443 leaf_weight=0.68136847298592629 0.13316321559250255 1.4772338531911438 0.95610875077545543 4.0422744806855944 18.625540049280971 1.6937399064190684 0.18131488561630216 0.24830939853563916 0.24283860577270378 1.3402139688841996 0.21614389447495375 0.13919120654463801 3.474636145401746 leaf_count=8 13 17 24 662 209 24 1 36 34 297 34 23 818 internal_value=0 0.00144624 0.000589285 0.00101248 0.00190114 -0.00534016 0.0108139 0.0103756 -0.0100561 0.0100622 -0.0100477 -0.0100453 -0.010044 internal_weight=0 29.2461 26.7949 25.8388 22.6678 3.17097 2.45121 1.76984 4.20597 1.58852 4.07281 3.82997 3.61383 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=478 num_leaves=11 num_cat=0 split_feature=0 4 1 2 2 2 13 3 10 1 split_gain=4.8136 4.84707 3.09 2.0761 2.36428 2.88781 2.66487 2.61646 1.57835 0.726116 threshold=1.1427926010382323 0.36041499722973019 0.99689265265511573 1.2824739019042977 1.2525408166204799 1.1348528270257934 0.67232328979645251 0.17408222448223767 3.5000000000000004 1.0383879925828392 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=3 -2 -3 4 5 7 -7 -1 9 -4 right_child=1 2 8 -5 -6 6 -8 -9 -10 -11 leaf_value=-0.0019364393537480925 0.015058326995314545 0.012337014985812404 0.00043347277395146033 -0.010807574522510022 0.012856318756025567 0.0016147674078034857 -0.010901468296831154 0.0093434846061166595 -0.036449514548209348 -0.0088804028108547747 leaf_weight=2.9376544672995895 1.0853513875044871 0.76006139535456796 0.92326269298791608 1.060060258489101 2.4055630560033014 5.7366797938011569 2.4181459094397724 6.8546884004026651 0.19908301532268602 8.9627270209602994 leaf_count=27 20 9 8 25 24 112 36 955 1 983 internal_value=0 -0.00509019 -0.0071066 0.00283616 0.00354679 0.00229898 -0.00209666 0.00595956 -0.00857197 -0.00801057 internal_weight=0 11.9305 10.8451 21.4128 20.3527 17.9472 8.15483 9.79234 10.0851 9.88599 internal_count=2200 1021 1001 1179 1154 1130 148 982 992 991 is_linear=0 shrinkage=0.01 Tree=479 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 0 3 5 1 3 3 1 4 split_gain=4.76936 2.31443 1.27354 1.42431 2.87017 0.0949434 0.0118302 0.014383 8.53029e-05 1.14384e-05 3.63965e-06 9.71256e-07 9.66874e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011928866283247254 -0.010306456673946432 -0.007131752820438742 -0.010832294462202073 0.0095939101797233167 0.00023019361171166031 -0.0036619543109897143 0.013052652799136101 0.010123923965354616 -0.010084774104740592 0.010049327625005723 -0.010065280886318499 -0.010069166660346612 -0.010042209967008567 leaf_weight=0.67557008191943468 0.13076698267832298 1.4771422734484141 0.94330370333045621 3.973861190024766 18.573730984702706 1.6917922366410492 0.17917601764202085 0.24363752268254768 0.23868981283158097 1.3150922064669428 0.21230927528813515 0.13845902169123325 3.4101673611439764 leaf_count=8 13 17 24 662 209 24 1 36 34 297 34 23 818 internal_value=0 0.00142854 0.000579614 0.000998212 0.00188049 -0.00527934 0.0108059 0.0103694 -0.0100551 0.010061 -0.0100469 -0.0100445 -0.0100433 internal_weight=0 29.0733 26.6598 25.7165 22.5476 3.16893 2.41348 1.73791 4.13039 1.55873 3.99963 3.76094 3.54863 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=480 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 0 3 5 1 3 3 1 4 split_gain=4.71717 2.29299 1.25857 1.39698 2.84435 0.0930132 0.0114575 0.013909 8.28419e-05 1.11051e-05 3.5319e-06 9.42374e-07 9.38212e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011906883734942942 -0.010303462958869736 -0.0070606671468338494 -0.010823830457910888 0.0095838245689586505 0.00022788438362438299 -0.0036261180361636383 0.013013067003598656 0.0101227027914656 -0.010083926547895469 0.010048836728548295 -0.010064627350448099 -0.010068475126565781 -0.010041788788849792 leaf_weight=0.67007670365274252 0.12950325990095635 1.4770940081216459 0.93464430700987478 3.9384402497671571 18.574331749230623 1.6914285193197427 0.17793010175228086 0.24124223925173294 0.23633457161486182 1.3020701692439614 0.21021034196019206 0.13709070160985026 3.3763764100149274 leaf_count=8 13 17 24 662 209 24 1 36 34 297 34 23 818 internal_value=0 0.00141755 0.00057481 0.000989652 0.00186464 -0.00522723 0.0107975 0.0103656 -0.0100546 0.0100604 -0.0100464 -0.0100441 -0.0100428 internal_weight=0 29.0073 26.6159 25.6813 22.5128 3.16852 2.39132 1.72124 4.08952 1.54331 3.96001 3.72368 3.51347 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=481 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 0 3 5 1 3 3 1 4 split_gain=4.66557 2.27175 1.24379 1.37016 2.81867 0.091123 0.0110967 0.0134511 8.04515e-05 1.07819e-05 3.4274e-06 9.14403e-07 9.10423e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011885180442806835 -0.010300497905739881 -0.0069902872039384898 -0.010815454875252659 0.00957361509178036 0.00022559813969856842 -0.0035906183965254447 0.012974112001044381 0.010121493557528578 -0.010083087577776578 0.010048349448253249 -0.010063980630719034 -0.010067790492923492 -0.01004137144765271 leaf_weight=0.66461469512433113 0.12825140403583546 1.4770463872700994 0.92605744395404954 3.9033896178007152 18.57492674421519 1.6910717268474398 0.17668594419956174 0.23887023143470298 0.23400237504392896 1.2891765562817452 0.20813202206045422 0.13573580933734808 3.3429192071780562 leaf_count=8 13 17 24 662 209 24 1 36 34 297 34 23 818 internal_value=0 0.00140663 0.000570037 0.000981152 0.00184889 -0.00517562 0.0107891 0.0103618 -0.010054 0.0100598 -0.010046 -0.0100436 -0.0100424 internal_weight=0 28.9418 26.5725 25.6464 22.4783 3.16812 2.36935 1.70473 4.04904 1.52805 3.92079 3.68679 3.47866 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=482 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 0 3 5 1 3 3 1 4 split_gain=4.61455 2.25071 1.2292 1.34384 2.79313 0.089272 0.0107475 0.013009 7.81299e-05 1.0468e-05 3.32617e-06 8.8734e-07 8.8353e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.51972850428336415 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 9 -2 -8 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.011863753072355805 -0.010297560982191208 -0.0069206048986914697 -0.010807166178717109 0.00956327983525849 0.00022333513323049455 -0.0035554516206839199 0.010120296189935958 0.012935775008773649 -0.010082256937596901 0.010047867564154642 -0.010063340192000126 -0.010067112613125768 -0.010040957100623731 leaf_weight=0.65918413456529679 0.12701131030917068 1.4769995366223221 0.91754268202930589 3.8687058300711241 18.575515641830862 1.6907217139378188 0.23652127152308833 0.17544370889663663 0.23169300425797734 1.2764099505729971 0.20607412420213256 0.13439421774819527 3.3097923388704658 leaf_count=8 13 17 24 662 209 24 36 1 34 297 34 23 818 internal_value=0 0.00139577 0.000565297 0.000972713 0.00183326 -0.00512451 0.0107809 0.0103581 -0.0100535 0.0100592 -0.0100455 -0.0100432 -0.010042 internal_weight=0 28.877 26.5295 25.6119 22.4442 3.16772 2.34756 1.68837 4.00896 1.51293 3.88195 3.65026 3.44419 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=483 num_leaves=14 num_cat=0 split_feature=12 4 3 3 13 0 3 0 1 3 3 1 4 split_gain=4.56412 2.22986 1.21479 1.31803 2.76772 0.0874593 0.0104095 0.0125818 7.58737e-05 1.01631e-05 3.22759e-06 8.60924e-07 8.57294e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.51972850428336415 0.24292548700197389 1.0867160002493412 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 9 -2 -8 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.011842597770905707 -0.010294652224325039 -0.006851613601193538 -0.010798963765143112 0.009552817900906228 0.00022109484621044367 -0.003520615739443339 0.010119110633798136 0.012898042240068583 -0.010081434474471605 0.010047390382834913 -0.010062706321431443 -0.010066441573026568 -0.010040549020276094 leaf_weight=0.65378512907773556 0.12578288000076954 1.4769535013474588 0.90909951645880838 3.834385305177423 18.576098815537989 1.690378409810364 0.23419514438137401 0.17420360445976246 0.22940623853355679 1.2637691730633376 0.20403643837198648 0.13306580018252168 3.2769920288119465 leaf_count=8 13 17 24 662 209 24 36 1 34 297 34 23 818 internal_value=0 0.00138497 0.000560588 0.000964335 0.00181773 -0.00507389 0.0107727 0.0103544 -0.010053 0.0100586 -0.0100451 -0.0100428 -0.0100416 internal_weight=0 28.8129 26.4869 25.5778 22.4105 3.16733 2.32595 1.67217 3.96928 1.49796 3.8435 3.61409 3.41006 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 is_linear=0 shrinkage=0.01 Tree=484 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 3 1 4 split_gain=4.51426 2.20921 1.20057 1.2927 2.74246 0.901127 0.0100823 0.0121693 7.36831e-05 9.86705e-06 3.13225e-06 8.35416e-07 8.31952e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011821709666336697 -0.010291771480576488 0.00062327348048908594 -0.010790846503546074 0.0095422275418224709 0.00021887703208292984 -0.010062530295216541 0.012860903836799796 0.010117936740880849 -0.010080620719255305 0.010046918422168373 -0.010062078727789189 -0.010065777353298581 -0.010040143340191265 leaf_weight=0.64841781370342078 0.12456600461155121 1.493340363260365 0.90072747878730197 3.8004247862845686 18.576676218304783 1.6736095957458017 0.1729657948017117 0.23189163370989274 0.22714185435324941 1.2512529161758719 0.20201877783983979 0.13175042183138463 3.244515866972506 leaf_count=8 13 24 24 662 209 17 1 36 34 297 34 23 818 internal_value=0 0.00137424 0.00055591 0.000956017 0.00180231 -0.00502376 0.0107646 0.0103508 -0.0100524 0.010058 -0.0100446 -0.0100423 -0.0100411 internal_weight=0 28.7493 26.4448 25.5441 22.3771 3.16695 2.30453 1.65611 3.92999 1.48314 3.80543 3.57829 3.37627 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=485 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 3 1 4 split_gain=4.46506 2.18867 1.18656 1.27102 2.00663 0.00976557 0.0117707 7.15546e-05 9.57975e-06 3.03949e-06 8.10582e-07 8.0728e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011801084590700544 -0.010288918409907751 -0.01047120900901851 -0.010782813756492756 0.010126486323248059 0.000450008039762672 0.012824345790674312 0.010116774183863425 -0.010079814781552855 0.010046450336758278 -0.010061457547966184 -0.010065119758672709 -0.010039742945070958 leaf_weight=0.64308229181915821 0.12336057843640391 0.93884564936161652 0.89242610149085422 2.3720963769592371 22.194043126888573 0.17173047363758054 0.22961052227765333 0.22489964403212104 1.2388601666316388 0.2000209437683228 0.13044796325266395 3.2123599196784198 leaf_count=8 13 5 24 471 436 1 36 34 297 34 23 818 internal_value=0 0.00136382 0.000551372 0.000947958 0.00138436 0.0107566 0.0103471 -0.0100519 0.0100574 -0.0100442 -0.0100419 -0.0100407 internal_weight=0 28.6807 26.3974 25.505 24.5661 2.28328 1.6402 3.89109 1.46847 3.76773 3.54283 3.34281 internal_count=2200 1278 936 912 907 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=486 num_leaves=17 num_cat=0 split_feature=1 0 3 4 13 12 0 1 4 2 13 12 3 12 3 0 split_gain=4.41884 1.99258 2.39661 2.52201 1.62513 1.72298 1.22524 1.08794 0.969869 1.67778 1.31527 1.25177 0.271152 0.00220028 2.29137e-06 4.00234e-08 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.33102573345802283 0.50652862085158101 4.8980530291692244 1.1864741023471512 1.1058192561221138 0.40520528501409475 1.2704041812989106 0.93885093126527053 5.4441990008005208 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 3 -1 -3 -6 -7 12 9 -2 -11 -12 -4 -10 -15 -16 right_child=8 4 7 -5 5 6 -8 -9 13 10 11 -13 -14 14 15 -17 leaf_value=0.011673260984738568 -0.010967111956583906 -0.008981900800893618 0.010542713483235589 -0.0064635736479351467 0.0082197610864595434 -0.0029031730137945412 0.0043587925754831674 -0.0043141890028488708 -0.010559610703428536 -0.011001071336116715 0.035597485965480756 0.0063032147652944048 -0.0032881303174985554 -0.010074240228749832 -0.010045598420732691 -0.010038793240919615 leaf_weight=1.0844099672976901 0.99522279482334797 1.9349462143145491 5.7706359042786062 2.6168552124872804 2.5557060260325661 8.2523396378383023 3.2337820031680158 0.56558065861463536 1.0976811423897741 0.28194051515310981 0.20200338959693909 0.52490705670788884 0.14531701058149327 0.19643159001134369 0.089047682937234973 2.9332483487669379 leaf_count=39 29 35 971 28 24 85 82 3 32 6 1 49 2 32 20 762 internal_value=0 0.0018131 0.00527013 -0.00114978 -0.000390241 0.000793679 -0.000858652 0.00893621 -0.00750382 -0.0017549 0.00733286 0.0144439 0.010203 -0.010173 -0.0100411 -0.010039 internal_weight=0 26.1596 10.1828 3.70127 15.9768 14.0418 11.4861 6.48153 6.32048 2.00407 1.00885 0.72691 5.91595 4.31641 3.21873 3.0223 internal_count=2200 1269 1043 67 226 191 167 976 931 85 56 50 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=487 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 3 1 4 split_gain=4.37911 2.15166 1.16936 1.24338 1.97553 0.00904385 0.011641 7.06406e-05 8.98383e-06 2.87482e-06 8.32951e-07 8.02387e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011760793804762405 -0.010287398602474502 -0.01037912752500114 -0.010773495963044008 0.010126466999495874 0.00044803164431032308 0.012813513246295101 0.0101143930929269 -0.010078374945332057 0.010045581819206078 -0.010061065166323331 -0.010064395432891006 -0.01003897971955732 leaf_weight=0.63255481515080036 0.12259320495650117 0.93516765534878388 0.88224581722170015 2.3310080412775305 22.142280917149037 0.17136122286319699 0.22486460115760576 0.22107789316214654 1.2144045960158107 0.19873948674649033 0.12931477790698442 3.1507217609323561 leaf_count=8 13 5 24 471 436 1 36 34 297 34 23 818 internal_value=0 0.00134658 0.000544459 0.000937448 0.00136987 0.0107476 0.0103497 -0.0100512 0.0100563 -0.0100434 -0.0100412 -0.01004 internal_weight=0 28.5339 26.2907 25.4085 24.4733 2.24319 1.61063 3.82245 1.43927 3.69985 3.47878 3.28004 internal_count=2200 1278 936 912 907 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=488 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 3 1 4 split_gain=4.33118 2.13187 1.15566 1.23257 2.67328 0.879872 0.00876018 0.0112603 6.85994e-05 8.7221e-06 2.78975e-06 8.08207e-07 7.78621e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011740934743536324 -0.01028458726062052 0.0006667941539291386 -0.010765642236859267 0.0095223587844001107 0.00020959217082794587 -0.0099279232193543645 0.012777692477544116 0.010113265371482858 -0.010077591472552511 0.010045127464318465 -0.010060453860292107 -0.010063751634372294 -0.010038590451922163 leaf_weight=0.62731476873159708 0.12140639172866885 1.4838096201419895 0.87410135194659133 3.6969349628780064 18.542478532530367 1.6617065425962207 0.170129373669624 0.22265186463482689 0.21889506070874665 1.202375181019306 0.19677389133721623 0.12803622335195575 3.1194919035769999 leaf_count=8 13 24 24 662 209 17 1 36 34 297 34 23 818 internal_value=0 0.00133563 0.00053969 0.000928976 0.00175769 -0.00493016 0.0107398 0.0103461 -0.0100507 0.0100558 -0.010043 -0.0100408 -0.0100396 internal_weight=0 28.4815 26.259 25.3849 22.2394 3.14552 2.22247 1.59516 3.7846 1.42503 3.6632 3.4443 3.24753 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=489 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 3 1 4 split_gain=4.28405 2.11204 1.14222 1.21211 1.94719 0.00848557 0.0108925 6.66168e-05 8.46793e-06 2.70725e-06 7.84267e-07 7.55584e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011721324378230294 -0.010281802916247283 -0.010265484906551237 -0.010757869832143172 0.010125485355446325 0.0004398818312745642 0.012742425613914867 0.010112148318065662 -0.010076815954581786 0.010044677373603823 -0.010059849287901441 -0.010063114401827137 -0.010038204763850271 leaf_weight=0.622106758877638 0.12023076508194153 0.93295496702194824 0.86602601502090593 2.2905566880945143 22.123417126946151 0.16890040040016141 0.22046066727489244 0.21673361351713571 1.1904643774032591 0.19482760922983322 0.12677022884599898 3.0885704464744776 leaf_count=8 13 5 24 471 436 1 36 34 297 34 23 818 internal_value=0 0.00132544 0.000535264 0.000921116 0.0013486 0.0107321 0.0103425 -0.0100502 0.0100552 -0.0100425 -0.0100404 -0.0100392 internal_weight=0 28.4149 26.213 25.3469 24.414 2.20193 1.57983 3.74713 1.41093 3.6269 3.41017 3.21534 internal_count=2200 1278 936 912 907 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=490 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 3 1 4 split_gain=4.23721 2.09261 1.12887 1.20229 2.63776 0.864641 0.00821971 0.0105371 6.4691e-05 8.22107e-06 2.62716e-06 7.6097e-07 7.33195e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 9 -2 -8 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 -9 10 -11 11 12 -14 leaf_value=0.01170195829687363 -0.010279045559064141 0.0006709126229693023 -0.01075017810736424 0.0095080929504432719 0.00020304050021521032 -0.0098501477966854711 0.010111042272726864 0.012707702266557047 -0.010076048330062617 0.010044232128501949 -0.010059250294100892 -0.010062483424613902 -0.010037823366138067 leaf_weight=0.616930877789858 0.11906622117385213 1.4792574318125908 0.85801930632442136 3.6453348770737675 18.544104141648859 1.6550801927223799 0.21829080441966664 0.16767443716525998 0.21459334273822639 1.1786710736341772 0.19290046859532628 0.12551667401567135 3.0579543320927769 leaf_count=8 13 24 24 662 209 17 36 1 34 297 34 23 818 internal_value=0 0.00131463 0.000530567 0.000912781 0.0017317 -0.00488471 0.0107244 0.010339 -0.0100497 0.0100547 -0.0100421 -0.01004 -0.0100388 internal_weight=0 28.3634 26.1818 25.3238 22.1894 3.13434 2.18157 1.56464 3.71003 1.39696 3.59096 3.37637 3.18347 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=491 num_leaves=11 num_cat=0 split_feature=0 4 1 2 2 2 13 3 10 1 split_gain=4.19159 4.72627 3.00713 1.97033 2.40694 2.67213 2.55891 2.37543 1.53563 0.720865 threshold=1.1427926010382323 0.36041499722973019 0.99689265265511573 1.2824739019042977 1.2525408166204799 1.1348528270257934 0.67232328979645251 0.17408222448223767 3.5000000000000004 1.0383879925828392 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=3 -2 -3 4 5 7 -7 -1 9 -4 right_child=1 2 8 -5 -6 6 -8 -9 -10 -11 leaf_value=-0.0017579995552381039 0.015053126836140745 0.012397538379393995 0.00058251119155871493 -0.010768703023841921 0.012806274254416654 0.0015275446298339652 -0.010860086936725537 0.0092322349272896693 -0.035793066410557545 -0.0087905823782830125 leaf_weight=2.8634173739701634 1.0775517113506783 0.74457103200256725 0.90887752175330838 1.0331319496035565 2.3888248619623473 5.6717318489681912 2.362000566907227 6.2796656233258545 0.20132845640182573 8.4399836866650713 leaf_count=27 20 9 8 25 24 112 36 955 1 983 internal_value=0 -0.00487304 -0.00695871 0.00269046 0.00340115 0.00209316 -0.00211455 0.00579033 -0.0084678 -0.00787935 internal_weight=0 11.3723 10.2948 20.5988 19.5656 17.1768 8.03373 9.14308 9.55019 9.34886 internal_count=2200 1021 1001 1179 1154 1130 148 982 992 991 is_linear=0 shrinkage=0.01 Tree=492 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 3 1 4 split_gain=4.15486 2.06256 1.10895 1.17723 1.90732 0.00795214 0.0099499 6.12279e-05 7.76403e-06 2.51803e-06 7.20342e-07 7.76436e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.2433743438056273 1.2071296172255412 0.37820364433929859 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011681662649355591 -0.010274013618625361 -0.010138299901368702 -0.01073675217208 0.010125067703451713 0.00043045987545357655 0.012648942476153257 0.01010895621206696 -0.010074916483023767 0.010043412898512774 -0.010058216517053518 -0.010062569257137381 -0.010037120669518056 leaf_weight=0.61147904116661012 0.11692389613017384 0.93049898743630066 0.84643159713596006 2.2352016509976265 22.038430329412222 0.16556331515312162 0.21419817651622008 0.21094573289155993 1.156688801711425 0.18949460890144143 0.12487681396305594 3.0014424654655159 leaf_count=8 13 5 24 471 436 1 36 34 297 34 23 818 internal_value=0 0.00129852 0.000521932 0.000900033 0.00132317 0.0107172 0.0103333 -0.0100489 0.0100537 -0.0100414 -0.0100393 -0.0100381 internal_weight=0 28.1985 26.0506 25.2041 24.2736 2.14793 1.53645 3.64368 1.37089 3.52676 3.31581 3.12632 internal_count=2200 1278 936 912 907 342 334 922 333 909 875 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=493 num_leaves=18 num_cat=0 split_feature=1 0 3 13 12 4 0 1 4 4 2 3 2 3 12 3 0 split_gain=4.11309 1.86747 2.31567 1.66561 1.67424 1.66482 1.21884 1.08925 1.07247 0.96162 1.67745 1.20636 1.11089 0.250179 0.00211926 1.86409e-06 3.34208e-08 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.50652862085158101 4.8980530291692244 0.37556916262744572 1.1864741023471512 1.1058192561221138 0.33102573345802283 0.40520528501409475 1.2704041812989106 1.1981154781470527 1.2727767592850008 1.2794526953686727 5.4588099803130126 1.2471304352583659 1.169196776130192 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 5 -3 -5 8 -6 13 -1 10 -2 -12 -13 -4 -11 -16 -17 right_child=9 3 7 4 6 -7 -8 -9 -10 14 11 12 -14 -15 15 16 -18 leaf_value=0.011634842963191077 -0.010960994197092849 -0.0091159446105169781 0.010550688396062262 0.0081777191086725449 -0.0028519950287788707 -0.0096251706977630493 0.0044206997797122741 -0.0043265328197317297 -0.0023107692315969047 -0.010554396047252152 -0.011047752701769484 0.033378195660726279 0.0062136649137783965 -0.002966433746200195 -0.010069290306369194 -0.010042637298704178 -0.010036206156686864 leaf_weight=1.0415358452592105 0.98172346712089964 1.9163553034886707 5.496043172897771 2.5350859053432933 8.1956630228087288 1.4187967395409939 3.2057746429927638 0.56702378392219532 1.1719668158330021 1.0826789475977419 0.26035276101902127 0.2109830966219306 0.52554040844552219 0.14042316004633892 0.18347447388805482 0.08326172339729998 2.7390355933457613 leaf_count=39 29 35 971 24 85 12 82 3 16 32 5 2 49 2 32 20 762 internal_value=0 0.00174905 0.00517203 -0.00037472 0.000827251 -0.00116901 -0.000807111 0.00888488 0.00425116 -0.00740547 -0.00168261 0.00745474 0.0139952 0.0102139 -0.010175 -0.0100384 -0.0100364 internal_weight=0 25.6887 9.83579 15.8529 13.9365 3.6323 11.4014 6.20349 2.2135 6.06705 1.9786 0.996876 0.736524 5.63647 4.08845 3.00577 2.8223 internal_count=2200 1269 1043 226 191 67 167 976 55 931 85 56 51 973 846 814 782 is_linear=0 shrinkage=0.01 Tree=494 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=4.07584 2.02754 1.09438 1.15273 1.87594 0.00735938 0.00984671 6.04389e-05 7.27981e-06 2.42064e-06 6.53788e-07 7.00054e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011644201625158637 -0.010272588465173999 -0.01005349236712531 -0.01072867499401713 0.010124513587813586 0.00043005638158055053 0.0126396008352488 0.010106733483659083 -0.010073296972858919 0.010042605366168907 -0.010057619844185513 -0.010058325490114388 -0.010036437931503021 leaf_weight=0.60130396857858359 0.11620373884215895 0.92688141018152848 0.83763238042592902 2.1953622903674868 21.985566059593111 0.16522337496280637 0.2097702689934523 0.21418308396823738 1.1338521547149865 0.17101242858916554 0.153814195422456 2.9247226633597165 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00128224 0.000515579 0.000890703 0.00131021 0.0107087 0.0103359 -0.0100483 0.0100526 -0.0100407 -0.0100386 -0.0100375 internal_weight=0 28.0556 25.9454 25.1078 24.1809 2.11015 1.50885 3.57994 1.34362 3.46373 3.24955 3.07854 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=495 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=4.03137 2.00885 1.08164 1.14231 2.54631 0.835065 0.00712929 0.00952655 5.86903e-05 7.06758e-06 2.3491e-06 6.3438e-07 6.793e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011625795663397262 -0.010269919578878626 0.00068607999324664761 -0.010721279218409754 0.0094808245127455931 0.00019895837360052481 -0.0096947030262161896 0.012606446950492442 0.010105680600407984 -0.010072565061797663 0.010042180416725593 -0.010057043345054655 -0.01005774228877469 -0.010036074152173573 leaf_weight=0.59625865984708726 0.11507724272087161 1.4688127543777292 0.82986700441688199 3.5190826030448106 18.457297888584435 1.6403552899137137 0.16400741040706601 0.20770455198362481 0.21206725738011334 1.1226174056064335 0.16932048276066813 0.15229250350967083 2.8957256835419685 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00127172 0.000511038 0.00088262 0.00168527 -0.00479068 0.0107013 0.0103324 -0.0100478 0.0100521 -0.0100403 -0.0100382 -0.0100372 internal_weight=0 28.006 25.9154 25.0855 21.9764 3.10917 2.09059 1.49433 3.54448 1.33032 3.42941 3.21734 3.04802 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=496 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.98763 1.99014 1.06913 1.12389 1.84893 0.00690652 0.00921714 5.69919e-05 6.86147e-06 2.27968e-06 6.15584e-07 6.59182e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011607617556975709 -0.010267276183538598 -0.0099447195886582813 -0.010713959774364538 0.010123571541751334 0.00042219850994193681 0.012573795255300389 0.010104637996313368 -0.010071840430772756 0.010041759920531692 -0.010056472964304303 -0.01005716502066941 -0.010035713768489909 leaf_weight=0.59124563168734967 0.11396139068528954 0.92459426820278778 0.82216816581785579 2.1574421771802035 21.967390118166804 0.16279505193233457 0.20565896900370728 0.20997218252159688 1.1114934575743971 0.16764517826959524 0.15078577864915166 2.8670150346588343 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00126192 0.000506815 0.000875101 0.00128978 0.010694 0.010329 -0.0100473 0.0100516 -0.0100399 -0.0100378 -0.0100368 internal_weight=0 27.9428 25.8716 25.0494 24.1248 2.07119 1.47995 3.50938 1.31715 3.39542 3.18545 3.0178 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=497 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=3.94417 1.97179 1.05671 1.11431 2.51206 0.820615 0.00669082 0.0089181 5.53424e-05 6.66113e-06 2.21233e-06 5.97327e-07 6.39665e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011589663656344673 -0.010264658312076909 0.00068963822282639461 -0.010706716549148163 0.0094658743838403475 0.00019269298134689142 -0.0096189340581087895 0.01254163499750361 0.010103605413540858 -0.010071123059321363 0.01004134441185757 -0.010055907989437741 -0.01005659359525295 -0.010035356947724828 leaf_weight=0.5862648999318546 0.11285608867183272 1.4643369545228844 0.81453537754714389 3.4705187741201398 18.458837351761758 1.6338250292465089 0.16158643364906278 0.20363333332352351 0.20789765822701189 1.1004792596213517 0.16598635818809304 0.14929387508891556 2.8385881907306612 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00125154 0.000502344 0.000867149 0.00166026 -0.00474662 0.0106868 0.0103256 -0.0100468 0.0100511 -0.0100395 -0.0100374 -0.0100364 internal_weight=0 27.894 25.8421 25.0275 21.9294 3.09816 2.05196 1.4657 3.47462 1.30411 3.36177 3.15387 2.98788 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=498 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.90141 1.95342 1.04452 1.09582 1.82226 0.00648198 0.00862909 5.37399e-05 6.46689e-06 2.14696e-06 5.79622e-07 6.20708e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 8 -2 -7 -9 -11 -12 right_child=7 2 -4 4 -6 6 -8 9 -10 10 11 -13 leaf_value=0.011571930644000484 -0.010262064976527159 -0.009837484241822788 -0.01069954812687089 0.010122641319841143 0.00041447211359855042 0.010102583088540736 0.012509958160488555 -0.010070412975539811 0.010040931879633386 -0.010055349008487098 -0.01005602776926349 -0.010035003891538023 leaf_weight=0.58131647389382779 0.11176124215125982 0.92228739708662644 0.8069682028144588 2.1202277010306743 21.949411127716303 0.20162744564004254 0.16038167476654019 0.20584348333068225 1.0895738252438603 0.16434385627508197 0.14781665103510055 2.8104421296156943 leaf_count=8 13 5 24 471 436 36 1 37 297 31 29 812 internal_value=0 0.00124186 0.000498182 0.000859747 0.00126964 0.0106796 0.0103223 -0.0100464 0.0100506 -0.0100391 -0.0100371 -0.0100361 internal_weight=0 27.8318 25.7989 24.9919 24.0696 2.0329 1.45158 3.44021 1.2912 3.32845 3.1226 2.95826 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=2 is_linear=0 shrinkage=0.01 Tree=499 num_leaves=18 num_cat=0 split_feature=1 0 3 13 12 4 0 1 4 4 2 3 2 3 3 12 12 split_gain=3.86066 1.77555 2.24726 1.68135 1.63543 1.55129 1.21202 1.08886 1.04288 0.958038 1.68566 1.21378 1.02235 0.233684 0.00205418 4.55933e-05 2.38204e-06 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.50652862085158101 4.8980530291692244 0.37556916262744572 1.1864741023471512 1.1058192561221138 0.33102573345802283 0.40520528501409475 1.2704041812989106 1.1981154781470527 1.2727767592850008 1.2794526953686727 1.2306326518141948 5.428310804937337 5.5259436077887791 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 5 -3 -5 8 -6 13 -1 10 -2 -12 -13 -4 -11 -16 -17 right_child=9 3 7 4 6 -7 -8 -9 -10 14 11 12 -14 -15 15 16 -18 leaf_value=0.011601046669911739 -0.010955508314604621 -0.0091773559092665682 0.010560050572015478 0.0081328852770368703 -0.0028160805066973315 -0.0093678491333011125 0.0044499692902332409 -0.004323301749030479 -0.0023298729571549761 -0.010576211898872938 -0.011040768228594438 0.032586648177255324 0.0065678485852641568 -0.0026899689966295597 -0.010225286554857292 -0.010077437263615673 -0.010034648651065877 leaf_weight=1.0021625952795208 0.97067373525351175 1.9046054282225657 5.2755853459239006 2.518501413986086 8.1681735604070109 1.4047592123970387 3.1931225317530325 0.5684276446700095 1.1586518650874493 0.97006561979651484 0.2576377815566957 0.21389636537060142 0.51370533951558173 0.13655069097876538 0.13441035244613919 0.13678967976011369 2.6622418488841504 leaf_count=39 29 35 971 24 85 12 82 3 16 36 5 2 49 2 7 24 779 internal_value=0 0.00169216 0.00509658 -0.000366786 0.000842213 -0.00118717 -0.000773938 0.00884292 0.00413114 -0.00731502 -0.00160265 0.00761194 0.0142167 0.0102257 -0.0101773 -0.0100454 -0.0100367 internal_weight=0 25.3305 9.54614 15.7844 13.8798 3.56557 11.3613 5.98056 2.16081 5.85942 1.95591 0.985239 0.727602 5.41214 3.90351 2.93344 2.79903 internal_count=2200 1269 1043 226 191 67 167 976 55 931 85 56 51 973 846 810 803 is_linear=0 shrinkage=0.01 Tree=500 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.82757 1.92024 1.03098 1.07329 1.79226 0.00599411 0.00854305 5.30467e-05 6.06274e-06 2.10764e-06 5.94957e-07 5.83528e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011537045764918248 -0.010260709415431486 -0.0097570775518112784 -0.010691953149235935 0.010122131861512371 0.0004141046057142782 0.012501607075844322 0.010100489309228251 -0.010069666596883461 0.010040173326471943 -0.010054998537706215 -0.010054937029433388 -0.010034352969279523 leaf_weight=0.57149685546756401 0.1110764429904515 0.91860880702734604 0.79862226359546085 2.0825504793319878 21.897377607878298 0.16006170213222493 0.19745907397009421 0.2034034603275362 1.0680565901566295 0.16329422919079695 0.14496093289926681 2.7574130743741989 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00122618 0.000492112 0.000850842 0.0012572 0.0106718 0.0103249 -0.0100458 0.0100496 -0.0100385 -0.0100364 -0.0100354 internal_weight=0 27.6942 25.6972 24.8985 23.9799 1.99707 1.42558 3.38015 1.26552 3.26907 3.06567 2.90237 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=501 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=3.78592 1.90252 1.01905 1.0633 2.44763 0.792615 0.00580725 0.00826655 5.15102e-05 5.88572e-06 2.0453e-06 5.77291e-07 5.66228e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.01151995741873147 -0.010258154582835044 0.00069859330473497159 -0.010684935165572673 0.0094443431498446827 0.00018478953512410595 -0.0094704305868975776 0.012470527762274752 0.010099497170959535 -0.010068970891266195 0.010039773005957766 -0.010054448464190053 -0.010054388014180002 -0.010034010279264203 leaf_weight=0.56664544437081232 0.10999846318736617 1.4540539630688791 0.79119255673140187 3.3781602070666876 18.424174526706338 1.62094484642148 0.15886202454566944 0.19551342702470709 0.20139340613968704 1.0574712215457109 0.16167822526767883 0.1435263468883935 2.7300692019052804 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00121605 0.000487757 0.000843091 0.00161951 -0.00466187 0.0106648 0.0103216 -0.0100453 0.0100491 -0.0100381 -0.0100361 -0.010035 internal_weight=0 27.647 25.6685 24.8773 21.8023 3.075 1.97849 1.41185 3.34667 1.25298 3.23667 3.03527 2.8736 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=502 num_leaves=11 num_cat=0 split_feature=0 4 1 2 2 2 13 3 10 1 split_gain=3.74638 4.58952 2.92711 1.87794 2.40281 2.50121 2.47455 2.21597 1.51036 0.712102 threshold=1.1427926010382323 0.36041499722973019 0.99689265265511573 1.2824739019042977 1.2525408166204799 1.1348528270257934 0.67232328979645251 0.17408222448223767 3.5000000000000004 1.0383879925828392 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=3 -2 -3 4 5 7 -7 -1 9 -4 right_child=1 2 8 -5 -6 6 -8 -9 -10 -11 leaf_value=-0.0016897415052603308 0.014937309700030295 0.012387007102038279 0.0006827501212180937 -0.010702669213165679 0.012688439150875239 0.0014666418168571094 -0.010828273727627629 0.0091467043311034817 -0.035363493113440399 -0.008709507756236648 leaf_weight=2.7830828130245333 1.0733041688799847 0.73326124530285497 0.89734749495982846 1.0106736733578134 2.3775666877627364 5.6103839038405559 2.3114053623285145 5.8614363861270249 0.20281438529491502 8.0388638209551555 leaf_count=27 20 9 8 25 24 112 36 955 1 983 internal_value=0 -0.00470134 -0.00683643 0.0025789 0.00328748 0.00193827 -0.00212075 0.00565794 -0.0083788 -0.00776637 internal_weight=0 10.9456 9.87229 19.9545 18.9439 16.5663 7.92179 8.64452 9.13903 8.93621 internal_count=2200 1021 1001 1179 1154 1130 148 982 992 991 is_linear=0 shrinkage=0.01 Tree=503 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.71306 1.87504 1.00137 1.04264 1.75559 0.00562095 0.00780763 4.87542e-05 5.55901e-06 2.04993e-06 5.4459e-07 5.34532e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.01150207104484529 -0.0102535086397812 -0.0096381996578345404 -0.010672804665316522 0.010121794952063133 0.00040523891596819044 0.012417695753869407 0.010097633731635384 -0.010068534092480956 0.010039041096948659 -0.010053431172693025 -0.010053378082695167 -0.010033394362828634 leaf_weight=0.56152183935046807 0.10802211379632298 0.91603071987629547 0.78047929052263398 2.0327832980547127 21.814736840780824 0.15679042041301716 0.19185794750228513 0.19928192300722036 1.0378289988730101 0.15869254153221879 0.140886660665274 2.6802412653341889 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00120102 0.000479831 0.000831331 0.00123349 0.010658 0.0103161 -0.0100446 0.0100482 -0.0100375 -0.0100354 -0.0100344 internal_weight=0 27.492 25.544 24.7636 23.8475 1.948 1.38648 3.28712 1.22969 3.1791 2.97982 2.82113 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=504 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=3.67271 1.85771 0.989807 1.03296 2.39162 0.778941 0.00544593 0.00755564 4.73411e-05 5.39677e-06 1.98928e-06 5.28414e-07 5.18658e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011485411390930081 -0.010251023223942149 0.00070692873613809189 -0.010665981361881715 0.0094217562530075349 0.00018284013661079069 -0.0093939927009281943 0.012387857995980888 0.010096670025983787 -0.010067849779634775 0.010038651857427625 -0.010052896898805716 -0.010052844385521523 -0.0100330614759502 leaf_weight=0.55673694238067284 0.10697307437658254 1.4496610430069332 0.77320524817332525 3.3060187434311983 18.374285258352757 1.6128472676500676 0.15560233592987049 0.18996696965768922 0.19731237785890732 1.0275420681573448 0.15712183294817839 0.13949218112975392 2.6536600624676794 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00119107 0.000475576 0.000823746 0.00159168 -0.00461265 0.0106511 0.0103129 -0.0100441 0.0100477 -0.0100371 -0.0100351 -0.010034 internal_weight=0 27.4459 25.516 24.7428 21.6803 3.06251 1.92985 1.37311 3.25456 1.21751 3.14759 2.95027 2.79315 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=505 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.63301 1.84037 0.978453 1.01673 1.7302 0.00527645 0.00731203 4.5969e-05 5.2391e-06 1.9305e-06 5.12744e-07 5.03296e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011468955017710915 -0.010248561860540347 -0.0095353840685513235 -0.010659228373778293 0.010120899295277697 0.00039779081134547499 0.012358460205447015 0.010095715411583552 -0.010067172397918394 0.010038266911097217 -0.010052367913373677 -0.010052316256041813 -0.010032731331952852 leaf_weight=0.55198425520212069 0.10593398381024544 0.91366884112358704 0.76599425775930186 1.9978899746201957 21.797415044158697 0.15441869199275959 0.18809446063823987 0.19536216510459814 1.0173566732555626 0.15556658897548947 0.13811143022030625 2.6273417216725647 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00118176 0.000471607 0.00081667 0.00121416 0.0106444 0.0103097 -0.0100437 0.0100472 -0.0100367 -0.0100347 -0.0100337 internal_weight=0 27.3868 25.475 24.709 23.7953 1.91185 1.35987 3.22232 1.20545 3.11638 2.92102 2.76545 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=506 num_leaves=18 num_cat=0 split_feature=1 0 3 13 12 4 0 1 4 4 2 3 2 3 3 12 12 split_gain=3.597 1.66555 2.16865 1.718 1.59064 1.44396 1.20433 1.0897 1.01375 0.948425 1.68272 1.2 0.931262 0.215414 0.00198324 4.42719e-05 2.21009e-06 threshold=1.2071296172255412 1.0188919694060079 0.61313736928646123 0.50652862085158101 4.8980530291692244 0.37556916262744572 1.1864741023471512 1.1058192561221138 0.33102573345802283 0.40520528501409475 1.2704041812989106 1.1981154781470527 1.2727767592850008 1.2794526953686727 1.2306326518141948 5.428310804937337 5.5259436077887791 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 2 5 -3 -5 8 -6 13 -1 10 -2 -12 -13 -4 -11 -16 -17 right_child=9 3 7 4 6 -7 -8 -9 -10 14 11 12 -14 -15 15 16 -18 leaf_value=0.011577364850239105 -0.010949245761296694 -0.0093005113156821115 0.010568351616694106 0.0080923529413843322 -0.0027671976722951556 -0.009116047851754917 0.0045039278979999969 -0.0043339465003648173 -0.0023425285604192171 -0.010572827295085721 -0.011023400723612997 0.031571564992009936 0.0068188469972529702 -0.0023699909347170839 -0.010221816396982181 -0.010074650959456029 -0.010032341861516476 leaf_weight=0.96281703934074059 0.95778743783011921 1.8872401737608004 5.0305043605621904 2.4985330514609805 8.1142663392238301 1.3897186759859321 3.1670323847793034 0.56987693160772313 1.145823731087148 0.95321839139796827 0.25300087872892618 0.21767404861748219 0.50373071641661227 0.13205978274345387 0.13248528633266721 0.1299165817908946 2.4861278375610709 leaf_count=39 29 35 971 24 85 12 82 3 16 36 5 2 49 2 7 24 779 internal_value=0 0.00163277 0.00500231 -0.000352522 0.000872966 -0.00120227 -0.000725953 0.00878881 0.00401337 -0.00721552 -0.0015365 0.00771572 0.0142876 0.0102374 -0.0101798 -0.0100435 -0.0100344 internal_weight=0 24.8979 9.2308 15.6671 13.7798 3.49836 11.2813 5.73244 2.10864 5.63394 1.93219 0.974406 0.721405 5.16256 3.70175 2.74853 2.61604 internal_count=2200 1269 1043 226 191 67 167 976 55 931 85 56 51 973 846 810 803 is_linear=0 shrinkage=0.01 Tree=507 num_leaves=13 num_cat=0 split_feature=12 4 3 0 1 0 3 1 3 13 1 3 split_gain=3.56467 1.80908 0.965978 0.996099 1.70172 0.00493399 0.00718495 4.53782e-05 4.91072e-06 1.89843e-06 5.25619e-07 4.73174e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 1.0867160002493412 0.24292548700197389 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 6 -1 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 -7 8 9 -10 10 11 -13 leaf_value=0.011436464181675061 -0.010247288907679302 -0.0094592894172297343 -0.010652184892587362 0.010120437143252186 0.0003974878337286088 0.012351259833445283 0.010093760344461737 -0.010066498629397388 0.010037561323667486 -0.010052040496508907 -0.010051301042925788 -0.010032125459213299 leaf_weight=0.54252454871312394 0.10529070207849089 0.90994115173817292 0.75811862759292026 1.9625300744082803 21.746365124359727 0.15412676334381092 0.18420419585891046 0.19309092266485128 0.99726417055353522 0.15458196587860618 0.13544508907943997 2.5778317130170763 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00116676 0.000465878 0.00080825 0.00120232 0.010637 0.0104838 -0.0100432 0.0100463 -0.0100361 -0.0100341 -0.0100331 internal_weight=0 27.2551 25.377 24.6188 23.7089 1.87812 1.72399 3.16624 1.18147 3.06095 2.86786 2.71328 internal_count=2200 1278 936 912 907 342 341 922 333 909 872 841 is_linear=0 shrinkage=0.01 Tree=508 num_leaves=14 num_cat=0 split_feature=12 4 3 3 13 4 0 3 1 3 13 1 3 split_gain=3.526 1.79233 0.954864 0.985726 2.32998 0.752413 0.00477077 0.00696337 4.40625e-05 4.76732e-06 1.8424e-06 5.10055e-07 4.5918e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 1.0867160002493412 0.24292548700197389 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 5 -5 -3 7 -1 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 -8 9 10 -11 11 12 -14 leaf_value=0.011420600478805103 -0.010244863174895941 0.00071506891662418001 -0.010645573004815976 0.0093992722191119215 0.00017520907225146675 -0.0092493080944563849 0.012322397610339535 0.010092834572306498 -0.010065834835359775 0.010037186913482822 -0.010051519931490399 -0.010050788202479436 -0.010031804094435279 leaf_weight=0.53786867391318693 0.10426760045811478 1.4395604254677956 0.75103905843570729 3.2191331922076669 18.339937948156148 1.6001310050487516 0.15294879674911488 0.18238797946833052 0.1911821810062978 0.98737784591503441 0.15305173443630371 0.1341041948180649 2.5522630643099546 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00115705 0.000461734 0.000800858 0.00155252 -0.0045303 0.0106304 0.0104789 -0.0100427 0.0100459 -0.0100358 -0.0100338 -0.0100328 internal_weight=0 27.2104 25.3498 24.5988 21.5591 3.03969 1.86058 1.70763 3.13487 1.16977 3.0306 2.83942 2.68637 internal_count=2200 1278 936 912 871 41 342 341 922 333 909 872 841 is_linear=0 shrinkage=0.01 Tree=509 num_leaves=13 num_cat=0 split_feature=12 4 3 0 1 0 3 1 3 13 1 3 split_gain=3.48795 1.7756 0.943944 0.971427 1.67707 0.00461313 0.00674872 4.27844e-05 4.62804e-06 1.78792e-06 4.94929e-07 4.45573e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 1.0867160002493412 0.24292548700197389 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 -3 -5 6 -1 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 -7 8 9 -10 10 11 -13 leaf_value=0.011404928664108725 -0.010242460827170284 -0.0093590735619347963 -0.01063902937550216 0.010119561578043336 0.00039016667181857099 0.012293955484281917 0.010091917696086122 -0.010065177597166592 0.010036816402607529 -0.01005100504680514 -0.010050280853612963 -0.010031486859154884 leaf_weight=0.53324487060309067 0.1032542092725629 0.90755023062229767 0.74402113957330485 1.9289297051727796 21.729380574543029 0.15177549421787251 0.18058951362036146 0.18929218314588103 0.97758918791078031 0.15153657039627466 0.13277650531381402 2.5269471909850836 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00114795 0.000457865 0.000793954 0.00118343 0.0106239 0.010474 -0.0100423 0.0100454 -0.0100354 -0.0100334 -0.0100324 internal_weight=0 27.1531 25.3099 24.5659 23.6583 1.8432 1.69142 3.10381 1.15818 3.00055 2.81126 2.65972 internal_count=2200 1278 936 912 907 342 341 922 333 909 872 841 is_linear=0 shrinkage=0.01 Tree=510 num_leaves=13 num_cat=0 split_feature=12 4 4 4 2 0 3 1 3 13 1 3 split_gain=3.45016 1.75916 0.941923 1.68272 1.36822 0.00446089 0.00654077 4.15435e-05 4.49285e-06 1.73508e-06 4.8025e-07 4.32378e-07 threshold=5.4588099803130126 0.30582682030356095 0.50304281293631281 0.47212922992160583 1.2824739019042977 1.0867160002493412 0.24292548700197389 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 5 3 4 -3 6 -1 -2 -8 -9 -11 -12 right_child=7 2 -4 -5 -6 -7 8 9 -10 10 11 -13 leaf_value=0.011389445468232475 -0.010240082175724431 0.0015273822447583343 0.011508361460722261 -0.010864789440276726 -0.0067563750987414918 0.012265925547899011 0.010091009918005617 -0.010064527037447491 0.010036449449277712 -0.010050495101246818 -0.010049778565948242 -0.01003117259314432 leaf_weight=0.5286531038582386 0.10225044051185195 21.011993087595339 0.74797903606668015 1.3202618514187623 2.20293273217976 0.15060696005821217 0.17880862066522218 0.18742074747569892 0.96789723075926304 0.15003632847219739 0.13146189553663168 2.5018816094379872 leaf_count=8 13 855 16 25 40 1 36 37 297 31 29 812 internal_value=0 0.00113837 0.000453786 0.000116777 0.000741312 0.0106174 0.0104692 -0.0100419 0.010045 -0.0100351 -0.0100331 -0.0100321 internal_weight=0 27.1091 25.2832 24.5352 23.2149 1.82597 1.67536 3.07305 1.14671 2.9708 2.78338 2.63334 internal_count=2200 1278 936 920 895 342 341 922 333 909 872 841 is_linear=0 shrinkage=0.01 Tree=511 num_leaves=14 num_cat=0 split_feature=12 4 3 3 13 4 0 3 1 3 13 1 3 split_gain=3.41266 1.74297 0.932072 0.962176 2.29557 0.736994 0.00431385 0.00633931 4.0338e-05 4.36145e-06 1.68374e-06 4.65978e-07 4.19531e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 1.0867160002493412 0.24292548700197389 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 2 2 2 2 2 2 left_child=1 6 3 5 -5 -3 7 -1 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 -8 9 10 -11 11 12 -14 leaf_value=0.011374148695342602 -0.010237726454785597 0.00070274524990474963 -0.010632675278971391 0.0093809597644670863 0.00016644338657215035 -0.0091789978236597892 0.012238302086515709 0.01009011070670392 -0.010063883063296504 0.010036086708861454 -0.010049990351729899 -0.010049281066755551 -0.010030862183049443 leaf_weight=0.52409329125658288 0.1012562103569502 1.4346168241463666 0.73678638180717726 3.1714253402315107 18.328943704254925 1.592582677491009 0.14944326877593983 0.17704514134675242 0.18556769425049457 0.95830096839927137 0.14855086710304055 0.13016023719683323 2.4770638265181333 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00112848 0.00044955 0.00078245 0.00152564 -0.00449595 0.010611 0.0104644 -0.0100415 0.0100445 -0.0100347 -0.0100328 -0.0100318 internal_weight=0 27.0732 25.2644 24.5276 21.5004 3.0272 1.80888 1.65944 3.0426 1.13535 2.94134 2.75577 2.60722 internal_count=2200 1278 936 912 871 41 342 341 922 333 909 872 841 is_linear=0 shrinkage=0.01 Tree=512 num_leaves=11 num_cat=0 split_feature=0 4 1 2 2 2 13 3 10 1 split_gain=3.3763 4.47765 2.85671 1.7871 2.40017 2.36324 2.402 2.09209 1.47053 0.708416 threshold=1.1427926010382323 0.36041499722973019 0.99689265265511573 1.2824739019042977 1.2525408166204799 1.1348528270257934 0.67232328979645251 0.17408222448223767 3.5000000000000004 1.0383879925828392 decision_type=2 2 2 2 2 2 2 2 2 2 left_child=3 -2 -3 4 5 7 -7 -1 9 -4 right_child=1 2 8 -5 -6 6 -8 -9 -10 -11 leaf_value=-0.001654681546599048 0.014857875708721038 0.012388188492468382 0.0007994320668833889 -0.010609590310844828 0.012581356236909711 0.0013992177142873434 -0.010800199740436275 0.009062342862416993 -0.034771217054387862 -0.0086375359183029164 leaf_weight=2.7165048774331932 1.0693390839733172 0.72268576640635629 0.88707771152257553 0.99074948346242209 2.3657826595008364 5.5683158549945793 2.272714001359418 5.5286585052963346 0.20488376915454942 7.702771169366315 leaf_count=27 20 9 8 25 24 112 36 955 1 983 internal_value=0 -0.00454407 -0.006724 0.00247427 0.00317678 0.00179366 -0.00213677 0.00553144 -0.00829449 -0.00766298 internal_weight=0 10.5868 9.51742 19.4427 18.452 16.0862 7.84103 8.24516 8.79473 8.58985 internal_count=2200 1021 1001 1179 1154 1130 148 982 992 991 is_linear=0 shrinkage=0.01 Tree=513 num_leaves=17 num_cat=1 split_feature=1 4 2 2 4 4 4 2 3 2 3 5 3 12 3 12 split_gain=3.34799 1.56653 1.10543 1.53829 1.30157 1.25752 0.938687 1.68378 1.18253 0.845926 0.00416144 0.00600425 0.00190215 4.25824e-05 4.11982e-06 2.06071e-06 threshold=1.2071296172255412 0.30582682030356095 1.2813361202598783 1.2719010105634743 0.45363998121264898 0.37470171316558165 0.40520528501409475 1.2704041812989106 1.1981154781470527 1.2727767592850008 0.24292548700197389 0 1.2306326518141948 5.428310804937337 0.65509567554656234 5.5259436077887791 decision_type=2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 left_child=1 10 3 5 -4 -3 7 -2 -9 -10 -1 -12 -8 -14 -13 -15 right_child=6 2 4 -5 -6 -7 12 8 9 -11 11 14 13 15 -16 -17 leaf_value=0.011358190151164306 -0.010943831848931407 0.0046653263160969542 -0.012215033236782807 0.014954884881707336 0.0043580581974791508 -0.00072673709694825821 -0.010568384806712414 -0.011000580664086542 0.030602322477332806 0.0070796559982672994 0.012191129572189499 0.010088428522674624 -0.010217863854128354 -0.010072117040629625 0.010035426643335281 -0.010030191826457948 leaf_weight=0.51927618216723814 0.94635942229069658 6.3686780077405372 1.2954218587838107 0.82307813921943207 0.74719766876660276 13.479838944273068 0.93449468328617546 0.24760325765237212 0.22131584212183952 0.49443192663602531 0.14742803573608387 0.17374495719559468 0.13026431389153037 0.12347187683917615 0.94057304202578962 2.3217896197456867 leaf_count=8 29 499 33 11 32 352 36 5 2 49 1 36 7 24 297 779 internal_value=0 0.00157356 0.000865423 0.00155889 -0.00615254 0.00100338 -0.00711219 -0.00147006 0.00783661 0.0143531 0.0106047 0.0102946 -0.0101819 -0.0100417 0.0100437 -0.0100323 internal_weight=0 24.4952 22.7142 20.6716 2.04262 19.8485 5.41973 1.90971 0.963351 0.715748 1.78102 1.26175 3.51002 2.57553 1.11432 2.44526 internal_count=2200 1269 927 862 65 851 931 85 56 51 342 334 846 810 333 803 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=514 num_leaves=13 num_cat=1 split_feature=12 4 4 4 2 3 5 1 3 13 1 3 split_gain=3.31943 1.70078 0.928038 1.64777 1.30044 0.00403243 0.00581195 3.88422e-05 3.99949e-06 1.7072e-06 4.58841e-07 3.83689e-07 threshold=5.4588099803130126 0.30582682030356095 0.50304281293631281 0.47212922992160583 1.2824739019042977 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 4 -3 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 -5 -6 6 8 9 -10 10 11 -13 leaf_value=0.011343269778073505 -0.010234926833309876 0.0014894534365675477 0.011433073733631781 -0.010825100053557806 -0.0066427549213534777 0.01216457890119501 0.010087554996888497 -0.01006349214079484 0.010035073175799292 -0.010049169208704063 -0.010047912188289088 -0.01003004932693616 leaf_weight=0.51478213304654374 0.099501878023147028 20.88167049875484 0.74528313707560201 1.3054178934544314 2.1708227563649407 0.14627808332443226 0.17203099117614307 0.18310612416826222 0.93124680896289647 0.14603641000576351 0.12656228872947428 2.4101659506559372 leaf_count=8 13 855 16 25 40 1 36 37 297 31 29 812 internal_value=0 0.00110806 0.000441045 0.00010472 0.000723654 0.0105984 0.0102916 -0.0100407 0.0100433 -0.0100339 -0.0100319 -0.0100309 internal_weight=0 26.8675 25.1032 24.3579 23.0525 1.76434 1.24956 2.96537 1.10328 2.86587 2.68276 2.53673 internal_count=2200 1278 936 920 895 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=515 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.28343 1.6851 0.913028 0.952352 1.63437 0.00390747 0.00562598 3.77149e-05 3.88251e-06 1.65677e-06 4.45248e-07 3.7234e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011328528355737468 -0.010232620745605206 -0.0092974377501222928 -0.010620613884004426 0.010118379218683424 0.00037718719468528495 0.012138407547068226 0.010086689847587973 -0.010062858278715432 0.010034724018231423 -0.010048677537797845 -0.010047433500818529 -0.01002974901104761 leaf_weight=0.51031985739246621 0.098533908836543005 0.90541518479586258 0.7251500035636117 1.8717442704364682 21.582572517450899 0.14513327181339253 0.17033378919586517 0.18129554856568608 0.92201268672943115 0.1445903601124886 0.1253089117817584 2.3862554845400155 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00109841 0.000436921 0.000766086 0.00115457 0.0105922 0.0102886 -0.0100403 0.0100428 -0.0100336 -0.0100316 -0.0100306 internal_weight=0 26.8327 25.0849 24.3597 23.4543 1.7478 1.23748 2.93598 1.09235 2.83745 2.65615 2.51156 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=516 num_leaves=13 num_cat=1 split_feature=12 4 4 4 2 3 5 1 3 13 1 3 split_gain=3.24795 1.66947 0.907933 1.62522 1.28392 0.00378644 0.00544611 3.662e-05 3.76891e-06 1.60781e-06 4.32072e-07 3.61317e-07 threshold=5.4588099803130126 0.30582682030356095 0.50304281293631281 0.47071763047048615 1.2824739019042977 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 4 -3 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 -5 -6 6 8 9 -10 10 11 -13 leaf_value=0.011313962159770366 -0.010230337079321909 0.0014968770551319042 0.011296084564011398 -0.010441887194312348 -0.0066016474874529968 0.012112607421124053 0.010085833170770228 -0.010062230924393992 0.010034378565401743 -0.01004819143686231 -0.010046959719988835 -0.01002945205468294 leaf_weight=0.50588928721845761 0.097575148101895492 20.771495272405456 0.74647540552541514 1.3795817429199804 2.1613043393008402 0.14399369060993183 0.16865318990312494 0.17950276331976089 0.9128697959240526 0.1431585545651618 0.12406788999214802 2.3625814055558294 leaf_count=8 13 852 16 28 40 1 36 37 297 31 29 812 internal_value=0 0.0010892 0.000433021 9.94871e-05 0.000733631 0.0105861 0.0102856 -0.0100399 0.0100424 -0.0100333 -0.0100313 -0.0100303 internal_weight=0 26.7903 25.0589 24.3124 22.9328 1.73141 1.22552 2.90689 1.08152 2.80931 2.62981 2.48665 internal_count=2200 1278 936 920 892 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=517 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=3.21276 1.65407 0.901669 0.942167 2.22963 0.711582 0.00366922 0.00527216 3.55566e-05 3.65873e-06 1.5603e-06 4.19273e-07 3.50625e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011299570495541405 -0.010228074812094338 0.00063577437288160426 -0.010614496172831875 0.009351232685560755 0.00016302629890902647 -0.0091035620540660389 0.012087172463342198 0.010084985084161453 -0.010061609762577592 0.010034035984303628 -0.010047709803098525 -0.010046490672766034 -0.010029157930981632 leaf_weight=0.5014903168194057 0.096625516423955005 1.4272163351997798 0.71812359103932877 3.0885902626905617 18.225230165757239 1.5814099153503773 0.14285941421985615 0.16698903520591535 0.17772759753279421 0.90381728927604854 0.14174086321145329 0.12283909902907941 2.3391415767837316 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.0010797 0.000428973 0.000755033 0.00149449 -0.00448347 0.01058 0.0102827 -0.0100395 0.010042 -0.0100329 -0.010031 -0.01003 internal_weight=0 26.7557 25.0406 24.3224 21.3138 3.00863 1.71516 1.21367 2.87807 1.07081 2.78145 2.60372 2.46198 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=518 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.17823 1.63859 0.891421 0.930668 1.60936 0.00355567 0.00510391 3.45238e-05 3.55175e-06 1.51416e-06 4.06812e-07 3.40219e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.011285349822896529 -0.010225835067990019 -0.0092117775701245769 -0.01060827033346237 0.010117377482611911 0.00036723245141617874 0.012062096607923933 0.010084145209356245 -0.010060995148723868 0.010033696831317508 -0.010047232831734148 -0.010046026285906512 -0.010028867505428359 leaf_weight=0.49712291918695584 0.095684927189722102 0.90322551876307144 0.71139331441372533 1.8372206781059528 21.550536719150841 0.14173050224781025 0.16534116631373741 0.17596987565048072 0.89485423779115081 0.14033714565448496 0.12162242317572269 2.3159335334785283 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00107113 0.000425357 0.000748492 0.00113315 0.010574 0.0102798 -0.0100391 0.0100416 -0.0100326 -0.0100307 -0.0100297 internal_weight=0 26.7014 25.0024 24.291 23.3878 1.69905 1.20193 2.84955 1.0602 2.75386 2.57789 2.43756 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=519 num_leaves=13 num_cat=1 split_feature=12 4 4 4 2 3 5 1 3 13 1 3 split_gain=3.14394 1.62338 0.888789 1.59903 1.2502 0.00344569 0.00494117 3.3521e-05 3.44792e-06 1.46946e-06 3.94779e-07 3.30164e-07 threshold=5.4588099803130126 0.30582682030356095 0.50304281293631281 0.47212922992160583 1.2824739019042977 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 4 -3 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 -5 -6 6 8 9 -10 10 11 -13 leaf_value=0.011271297873321148 -0.010223616701333179 0.0014493902607084538 0.011161544432312129 -0.010756929656017263 -0.0065597831171353826 0.012037372278739871 0.010083313541142329 -0.01006038638645447 0.010033360666565667 -0.010046760770740178 -0.010045566499329299 -0.010028578820844561 leaf_weight=0.49278697138652816 0.094753297278657 20.791940432507555 0.74747339962050219 1.2868368471972633 2.1505415937863281 0.14060702919960011 0.16370942746289052 0.17422943399287794 0.88597980863414705 0.13894726359285448 0.12041774298995767 2.2929551401175559 leaf_count=8 13 855 16 25 40 1 36 37 297 31 29 812 internal_value=0 0.00106212 0.000421555 9.02269e-05 0.000698641 0.0105681 0.010277 -0.0100387 0.0100412 -0.0100323 -0.0100304 -0.0100294 internal_weight=0 26.6599 24.9768 24.2293 22.9425 1.68308 1.1903 2.8213 1.04969 2.72655 2.55232 2.41337 internal_count=2200 1278 936 920 895 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=520 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=3.10993 1.60839 0.88035 0.919607 2.19636 0.69711 0.00333916 0.00478375 3.2547e-05 3.34697e-06 1.42597e-06 3.83051e-07 3.20363e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011257412923834231 -0.010221420133905753 0.0006250101407738166 -0.010602275424635918 0.0093321660733332694 0.00015481271740467581 -0.0090340859543717022 0.012012994192577151 0.010082489877830806 -0.010059783705124789 0.010033028853793103 -0.010046293415154124 -0.010045111323029789 -0.010028294185701279 leaf_weight=0.48848240589723602 0.093830545432865065 1.4224487938918238 0.70447740564122696 3.0434979344718185 18.214602124411613 1.5739547172561286 0.1394890397787093 0.16209366568364181 0.17250610445626113 0.8771930686198175 0.13757108221761916 0.11922494159080121 2.2702041009906679 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00105283 0.000417606 0.000737681 0.00146872 -0.00444873 0.0105622 0.0102741 -0.0100383 0.0100407 -0.010032 -0.0100301 -0.0100291 internal_weight=0 26.6262 24.959 24.2545 21.2581 2.9964 1.66726 1.17878 2.79334 1.03929 2.69951 2.527 2.38943 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=521 num_leaves=13 num_cat=1 split_feature=12 4 3 0 1 3 5 1 3 13 1 3 split_gain=3.07655 1.59333 0.870367 0.909456 1.58475 0.00323597 0.00463149 3.16011e-05 3.24913e-06 1.38384e-06 3.71712e-07 3.10887e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.31415341067031349 0.80845556346269254 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 -3 -5 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 4 -6 6 8 9 -10 10 11 -13 leaf_value=0.01124369254231425 -0.010219244141600229 -0.0091267859560215346 -0.010596175991550374 0.010116394336348129 0.00035749138894437539 0.011988957707141716 0.010081674776673726 -0.01005918703713094 0.010032699605651785 -0.010045830957551316 -0.010044660862050884 -0.010028011618015167 leaf_weight=0.48420913191512838 0.09291659621521775 0.90102358907461777 0.69786720164120097 1.8034804624039704 21.519038959406316 0.1383765935897826 0.16049371589906491 0.17079971986822817 0.86849319678731263 0.13620846578851376 0.11804390046745572 2.2476781252771616 leaf_count=8 13 5 24 471 436 1 36 37 297 31 29 812 internal_value=0 0.00104445 0.000414078 0.000731278 0.00111213 0.0105564 0.0102713 -0.0100379 0.0100403 -0.0100316 -0.0100298 -0.0100288 internal_weight=0 26.573 24.9214 24.2235 23.3225 1.65157 1.16736 2.76565 1.02899 2.67273 2.50193 2.36572 internal_count=2200 1278 936 912 907 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=522 num_leaves=13 num_cat=1 split_feature=12 4 4 4 2 3 5 1 3 13 1 3 split_gain=3.04342 1.57852 0.87006 1.57287 1.2246 0.00313601 0.00448418 3.06828e-05 3.15408e-06 1.34295e-06 3.60699e-07 3.01687e-07 threshold=5.4588099803130126 0.30582682030356095 0.50304281293631281 0.47212922992160583 1.2824739019042977 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 5 3 4 -3 -1 -7 -2 -8 -9 -11 -12 right_child=7 2 -4 -5 -6 6 8 9 -10 10 11 -13 leaf_value=0.011230134115751413 -0.010217090073433261 0.0014276604021801914 0.011028707580367361 -0.010720962481160293 -0.0065180142395252078 0.011965253433069636 0.010080867461904381 -0.010058596374738231 0.010032373834237593 -0.010045372969386891 -0.010044214859967386 -0.010027731977066624 leaf_weight=0.47996703581885114 0.092011359520255964 20.731194175081338 0.74847836187109251 1.2766707502305497 2.1399158337153485 0.13726976513862599 0.15890944004058816 0.16911011375486884 0.85987931210547686 0.13485928624868426 0.11687450762838159 2.2253750851377845 leaf_count=8 13 855 16 25 40 1 36 37 297 31 29 812 internal_value=0 0.00103564 0.000410371 8.12482e-05 0.00068423 0.0105507 0.0102685 -0.0100376 0.0100399 -0.0100313 -0.0100295 -0.0100286 internal_weight=0 26.5323 24.8963 24.1478 22.8711 1.63603 1.15606 2.73823 1.01879 2.64622 2.47711 2.34225 internal_count=2200 1278 936 920 895 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 Tree=523 num_leaves=14 num_cat=1 split_feature=12 4 3 3 13 4 3 5 1 3 13 1 3 split_gain=3.01055 1.56392 0.859601 0.897597 2.16341 0.682958 0.00303917 0.00434169 2.97908e-05 3.06174e-06 1.30325e-06 3.50002e-07 2.92745e-07 threshold=5.4588099803130126 0.30582682030356095 1.3427866072211079 0.61313736928646123 0.46553849925547169 0.37556916262744572 0.24292548700197389 0 1.1597348923655619 0.65509567554656234 1.1133916042113017 1.2071296172255412 1.2471304352583659 decision_type=2 2 2 2 2 2 2 1 2 2 2 2 2 left_child=1 6 3 5 -5 -3 -1 -8 -2 -9 -10 -12 -13 right_child=8 2 -4 4 -6 -7 7 9 10 -11 11 12 -14 leaf_value=0.011216736039219567 -0.010214956487361322 0.00061453254615855099 -0.010590309978666244 0.0093127918412095733 0.00014686137806351152 -0.0089650686202838396 0.011941879942688347 0.010080067839577808 -0.010058011702232323 0.010032051553036957 -0.010044919630419914 -0.010043773267717394 -0.01002745544711028 leaf_weight=0.4757560407742919 0.091114761540665667 1.4177361470647221 0.69107789872214098 2.9993143596220788 18.20404326915741 1.5665475800633428 0.13616858422756184 0.15734067955054321 0.16743712453171644 0.85135059733875096 0.13352340832352672 0.11571664875373278 2.2032926969695836 leaf_count=8 13 24 24 662 209 17 1 36 37 297 31 29 812 internal_value=0 0.00102656 0.000406523 0.000720719 0.00144343 -0.00441411 0.010545 0.0102658 -0.0100372 0.0100395 -0.010031 -0.0100292 -0.0100283 internal_weight=0 26.4993 24.8787 24.1876 21.2034 2.98428 1.62062 1.14486 2.71108 1.00869 2.61997 2.45253 2.31901 internal_count=2200 1278 936 912 871 41 342 334 922 333 909 872 841 cat_boundaries=0 1 cat_threshold=1 is_linear=0 shrinkage=0.01 end of trees feature_importances: ArcFace=1832 Facenet=1320 Facenet512=1225 distance_sums=813 distance_multiplications=653 Dlib=625 VGG-Face=506 clf_sum=142 Facenet_clf=61 Dlib_clf=17 parameters: [boosting: gbdt] [objective: binary] [metric: binary_logloss] [tree_learner: serial] [device_type: cpu] [data_sample_strategy: bagging] [data: ] [valid: ] [num_iterations: 10000] [learning_rate: 0.01] [num_leaves: 31] [num_threads: 0] [seed: 0] [deterministic: 0] [force_col_wise: 0] [force_row_wise: 0] [histogram_pool_size: -1] [max_depth: 5] [min_data_in_leaf: 20] [min_sum_hessian_in_leaf: 0.001] [bagging_fraction: 1] [pos_bagging_fraction: 1] [neg_bagging_fraction: 1] [bagging_freq: 0] [bagging_seed: 3] [feature_fraction: 1] [feature_fraction_bynode: 1] [feature_fraction_seed: 2] [extra_trees: 0] [extra_seed: 6] [early_stopping_round: 0] [first_metric_only: 0] [max_delta_step: 0] [lambda_l1: 0] [lambda_l2: 0] [linear_lambda: 0] [min_gain_to_split: 0] [drop_rate: 0.1] [max_drop: 50] [skip_drop: 0.5] [xgboost_dart_mode: 0] [uniform_drop: 0] [drop_seed: 4] [top_rate: 0.2] [other_rate: 0.1] [min_data_per_group: 100] [max_cat_threshold: 32] [cat_l2: 10] [cat_smooth: 10] [max_cat_to_onehot: 4] [top_k: 20] [monotone_constraints: ] [monotone_constraints_method: basic] [monotone_penalty: 0] [feature_contri: ] [forcedsplits_filename: ] [refit_decay_rate: 0.9] [cegb_tradeoff: 1] [cegb_penalty_split: 0] [cegb_penalty_feature_lazy: ] [cegb_penalty_feature_coupled: ] [path_smooth: 0] [interaction_constraints: ] [verbosity: -1] [saved_feature_importance_type: 0] [use_quantized_grad: 0] [num_grad_quant_bins: 4] [quant_train_renew_leaf: 0] [stochastic_rounding: 1] [linear_tree: 0] [max_bin: 255] [max_bin_by_feature: ] [min_data_in_bin: 3] [bin_construct_sample_cnt: 200000] [data_random_seed: 1] [is_enable_sparse: 1] [enable_bundle: 1] [use_missing: 1] [zero_as_missing: 0] [feature_pre_filter: 1] [pre_partition: 0] [two_round: 0] [header: 0] [label_column: ] [weight_column: ] [group_column: ] [ignore_column: ] [categorical_feature: 5,6,7,8,9] [forcedbins_filename: ] [precise_float_parser: 0] [parser_config_file: ] [objective_seed: 5] [num_class: 1] [is_unbalance: 0] [scale_pos_weight: 1] [sigmoid: 1] [boost_from_average: 1] [reg_sqrt: 0] [alpha: 0.9] [fair_c: 1] [poisson_max_delta_step: 0.7] [tweedie_variance_power: 1.5] [lambdarank_truncation_level: 30] [lambdarank_norm: 1] [label_gain: ] [lambdarank_position_bias_regularization: 0] [eval_at: ] [multi_error_top_k: 1] [auc_mu_weights: ] [num_machines: 1] [local_listen_port: 12400] [time_out: 120] [machine_list_filename: ] [machines: ] [gpu_platform_id: -1] [gpu_device_id: -1] [gpu_use_dp: 0] [num_gpu: 1] end of parameters pandas_categorical:null ================================================ FILE: deepface/DeepFace.py ================================================ # common dependencies import os import warnings import logging from typing import Any, Dict, IO, List, Union, Optional, Sequence, Tuple, cast # this has to be set before importing tensorflow os.environ["TF_USE_LEGACY_KERAS"] = "1" # pylint: disable=wrong-import-position, too-many-positional-arguments # 3rd party dependencies from numpy.typing import NDArray import pandas as pd import tensorflow as tf from lightphe import LightPHE from lightdsa import LightDSA # package dependencies from deepface.commons import package_utils, folder_utils from deepface.commons.logger import Logger from deepface.modules import ( modeling, representation, verification, recognition, demography, detection, streaming, preprocessing, datastore, ) from deepface import __version__ logger = Logger() # ----------------------------------- # configurations for dependencies # users should install tf_keras package if they are using tf 2.16 or later versions package_utils.validate_for_keras3() warnings.filterwarnings("ignore") os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3" tf_version = package_utils.get_tf_major_version() if tf_version == 2: tf.get_logger().setLevel(logging.ERROR) # ----------------------------------- # create required folders if necessary to store model weights folder_utils.initialize_folder() def build_model(model_name: str, task: str = "facial_recognition") -> Any: """ This function builds a pre-trained model Args: model_name (str): model identifier - VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace GhostFaceNet and Buffalo_L for face recognition - Age, Gender, Emotion, Race for facial attributes - opencv, mtcnn, ssd, dlib, retinaface, mediapipe, yolov8n, yolov8m, yolov8l, yolov11n, yolov11s, yolov11m, yolov11l, yolov12n, yolov12s, yolov12m, yolov12l, yunet, fastmtcnn or centerface for face detectors - Fasnet for spoofing task (str): facial_recognition, facial_attribute, face_detector, spoofing default is facial_recognition Returns: built_model """ return modeling.build_model(task=task, model_name=model_name) def verify( img1_path: Union[str, NDArray[Any], IO[bytes], List[float]], img2_path: Union[str, NDArray[Any], IO[bytes], List[float]], model_name: str = "VGG-Face", detector_backend: str = "opencv", distance_metric: str = "cosine", enforce_detection: bool = True, align: bool = True, expand_percentage: int = 0, normalization: str = "base", silent: bool = False, threshold: Optional[float] = None, anti_spoofing: bool = False, ) -> Dict[str, Any]: """ Verify if an image pair represents the same person or different persons. Args: img1_path (str or np.ndarray or IO[bytes] or List[float]): Path to the first image. Accepts exact image path as a string, numpy array (BGR), a file object that supports at least `.read` and is opened in binary mode, base64 encoded images or pre-calculated embeddings. img2_path (str or np.ndarray or IO[bytes] or List[float]): Path to the second image. Accepts exact image path as a string, numpy array (BGR), a file object that supports at least `.read` and is opened in binary mode, base64 encoded images or pre-calculated embeddings. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base) silent (boolean): Suppress or allow some log messages for a quieter analysis process (default is False). threshold (float): Specify a threshold to determine whether a pair represents the same person or different individuals. This threshold is used for comparing distances. If left unset, default pre-tuned threshold values will be applied based on the specified model name and distance metric (default is None). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: result (dict): A dictionary containing verification results with following keys. - 'verified' (bool): Indicates whether the images represent the same person (True) or different persons (False). - 'distance' (float): The distance measure between the face vectors. A lower distance indicates higher similarity. - 'threshold' (float): The maximum threshold used for verification. If the distance is below this threshold, the images are considered a match. - 'confidence' (float): Confidence score indicating the likelihood that the images represent the same person. The score is between 0 and 100, where higher values indicate greater confidence in the verification result. - 'model' (str): The chosen face recognition model. - 'distance_metric' (str): The chosen similarity metric for measuring distances. - 'facial_areas' (dict): Rectangular regions of interest for faces in both images. - 'img1': {'x': int, 'y': int, 'w': int, 'h': int} Region of interest for the first image. - 'img2': {'x': int, 'y': int, 'w': int, 'h': int} Region of interest for the second image. - 'time' (float): Time taken for the verification process in seconds. """ return verification.verify( img1_path=img1_path, img2_path=img2_path, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, normalization=normalization, silent=silent, threshold=threshold, anti_spoofing=anti_spoofing, ) def analyze( img_path: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], actions: Union[Tuple[str, ...], List[str]] = ("emotion", "age", "gender", "race"), enforce_detection: bool = True, detector_backend: str = "opencv", align: bool = True, expand_percentage: int = 0, silent: bool = False, anti_spoofing: bool = False, ) -> Union[List[Dict[str, Any]], List[List[Dict[str, Any]]]]: """ Analyze facial attributes such as age, gender, emotion, and race in the provided image. Args: img_path (str, np.ndarray, IO[bytes], list): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If the source image contains multiple faces, the result will include information for each detected face. actions (tuple): Attributes to analyze. The default is ('age', 'gender', 'emotion', 'race'). You can exclude some of these attributes from the analysis if needed. enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). align (boolean): Perform alignment based on the eye positions (default is True). expand_percentage (int): expand detected facial area with a percentage (default is 0). silent (boolean): Suppress or allow some log messages for a quieter analysis process (default is False). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: (List[List[Dict[str, Any]]]): A list of analysis results if received batched image, explained below. (List[Dict[str, Any]]): A list of dictionaries, where each dictionary represents the analysis results for a detected face. Each dictionary in the list contains the following keys: - 'region' (dict): Represents the rectangular region of the detected face in the image. - 'x': x-coordinate of the top-left corner of the face. - 'y': y-coordinate of the top-left corner of the face. - 'w': Width of the detected face region. - 'h': Height of the detected face region. - 'age' (float): Estimated age of the detected face. - 'face_confidence' (float): Confidence score for the detected face. Indicates the reliability of the face detection. - 'dominant_gender' (str): The dominant gender in the detected face. Either "Man" or "Woman". - 'gender' (dict): Confidence scores for each gender category. - 'Man': Confidence score for the male gender. - 'Woman': Confidence score for the female gender. - 'dominant_emotion' (str): The dominant emotion in the detected face. Possible values include "sad," "angry," "surprise," "fear," "happy," "disgust," and "neutral" - 'emotion' (dict): Confidence scores for each emotion category. - 'sad': Confidence score for sadness. - 'angry': Confidence score for anger. - 'surprise': Confidence score for surprise. - 'fear': Confidence score for fear. - 'happy': Confidence score for happiness. - 'disgust': Confidence score for disgust. - 'neutral': Confidence score for neutrality. - 'dominant_race' (str): The dominant race in the detected face. Possible values include "indian," "asian," "latino hispanic," "black," "middle eastern," and "white." - 'race' (dict): Confidence scores for each race category. - 'indian': Confidence score for Indian ethnicity. - 'asian': Confidence score for Asian ethnicity. - 'latino hispanic': Confidence score for Latino/Hispanic ethnicity. - 'black': Confidence score for Black ethnicity. - 'middle eastern': Confidence score for Middle Eastern ethnicity. - 'white': Confidence score for White ethnicity. """ return demography.analyze( img_path=img_path, actions=actions, enforce_detection=enforce_detection, detector_backend=detector_backend, align=align, expand_percentage=expand_percentage, silent=silent, anti_spoofing=anti_spoofing, ) def find( img_path: Union[str, NDArray[Any], IO[bytes]], db_path: str, model_name: str = "VGG-Face", distance_metric: str = "cosine", enforce_detection: bool = True, detector_backend: str = "opencv", align: bool = True, similarity_search: bool = False, k: Optional[int] = None, expand_percentage: int = 0, threshold: Optional[float] = None, normalization: str = "base", silent: bool = False, refresh_database: bool = True, anti_spoofing: bool = False, batched: bool = False, credentials: Optional[Union[LightDSA, Dict[str, Any]]] = None, ) -> Union[List[pd.DataFrame], List[List[Dict[str, Any]]]]: """ Identify individuals in a database. This is a stateful facial recognition function. Use search function to do it in a stateless way. Args: img_path (str or np.ndarray or IO[bytes]): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If the source image contains multiple faces, the result will include information for each detected face. db_path (string): Path to the folder containing image files. All detected faces in the database will be considered in the decision-making process. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). align (boolean): Perform alignment based on the eye positions (default is True). similarity_search (boolean): If False, performs identity verification and returns images of the same person. If True, performs similarity search and returns visually similar faces (e.g., celebrity or parental look-alikes). Default is False. k (int): Number of top similar faces to retrieve from the database for each detected face. If not specified, all faces within the threshold will be returned (default is None). expand_percentage (int): expand detected facial area with a percentage (default is 0). threshold (float): Specify a threshold to determine whether a pair represents the same person or different individuals. This threshold is used for comparing distances. If left unset, default pre-tuned threshold values will be applied based on the specified model name and distance metric (default is None). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). silent (boolean): Suppress or allow some log messages for a quieter analysis process (default is False). refresh_database (boolean): Synchronizes the images representation (pkl) file with the directory/db files, if set to false, it will ignore any file changes inside the db_path (default is True). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). credentials (LightDSA or dict): public - private key pair. This will be used to sign and verify the integrity of the datastore pickle file. Since pickle files are not safe to load from untrusted sources, signing helps detect tampering and prevents loading a modified datastore that could execute arbitrary code. ``` from lightdsa import LightDSA cs = LightDSA(algorithm_name = "eddsa") DeepFace.find(..., credentials=cs) # DeepFace.find(..., credentials={**cs.dsa.keys, "algorithm_name": cs.algorithm_name}) ``` See LightDSA repo for more details: https://github.com/serengil/LightDSA Returns: results (List[pd.DataFrame] or List[List[Dict[str, Any]]]): A list of pandas dataframes (if `batched=False`) or a list of dicts (if `batched=True`). Each dataframe or dict corresponds to the identity information for an individual detected in the source image. Note: If you have a large database and/or a source photo with many faces, use `batched=True`, as it is optimized for large batch processing. Please pay attention that when using `batched=True`, the function returns a list of dicts (not a list of DataFrames), but with the same keys as the columns in the DataFrame. The DataFrame columns or dict keys include: - 'identity': Identity label of the detected individual. - 'target_x', 'target_y', 'target_w', 'target_h': Bounding box coordinates of the target face in the database. - 'source_x', 'source_y', 'source_w', 'source_h': Bounding box coordinates of the detected face in the source image. - 'threshold': threshold to determine a pair whether same person or different persons - 'distance': Similarity score between the faces based on the specified model and distance metric - 'confidence': Confidence score indicating the likelihood that the images represent the same person. The score is between 0 and 100, where higher values indicate greater confidence in the verification result. """ return recognition.find( img_path=img_path, db_path=db_path, model_name=model_name, distance_metric=distance_metric, enforce_detection=enforce_detection, detector_backend=detector_backend, align=align, similarity_search=similarity_search, k=k, expand_percentage=expand_percentage, threshold=threshold, normalization=normalization, silent=silent, refresh_database=refresh_database, anti_spoofing=anti_spoofing, batched=batched, credentials=credentials, ) def represent( img_path: Union[str, NDArray[Any], IO[bytes], Sequence[Union[str, NDArray[Any], IO[bytes]]]], model_name: str = "VGG-Face", enforce_detection: bool = True, detector_backend: str = "opencv", align: bool = True, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, max_faces: Optional[int] = None, l2_normalize: bool = False, minmax_normalize: bool = False, return_face: bool = False, cryptosystem: Optional[LightPHE] = None, ) -> Union[List[Dict[str, Any]], List[List[Dict[str, Any]]]]: """ Represent facial images as multi-dimensional vector embeddings. Args: img_path (str, np.ndarray, IO[bytes], or Sequence[Union[str, np.ndarray, IO[bytes]]]): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If the source image contains multiple faces, the result will include information for each detected face. If a sequence is provided, each element should be a string or numpy array representing an image, and the function will process images in batch. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face.). enforce_detection (boolean): If no face is detected in an image, raise an exception. Default is True. Set to False to avoid the exception for low-resolution images (default is True). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). align (boolean): Perform alignment based on the eye positions (default is True). expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Default is base. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). max_faces (int): Set a limit on the number of faces to be processed (default is None). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) of the output embeddings minmax_normalize (bool): Flag to enable min-max normalization of the output embeddings to the range [0, 1]. return_face (bool): If True, the detected face images will also be returned along with embeddings. Default is False. cryptosystem (LightPHE): An instance of a partially homomorphic encryption system to encrypt the output embeddings. If provided, the embeddings will be encrypted using the specified cryptosystem. Then, you will be able to perform homomorphic operations on the encrypted embeddings without decrypting them first. Check out the repo to find out more: https://github.com/serengil/lightphe Returns: results (List[Dict[str, Any]] or List[Dict[str, Any]]): A list of dictionaries. Result type becomes List of List of Dict if batch input passed. Each containing the following fields: - embedding (List[float]): Multidimensional vector representing facial features. The number of dimensions varies based on the reference model (e.g., FaceNet returns 128 dimensions, VGG-Face returns 4096 dimensions). - facial_area (dict): Detected facial area by face detection in dictionary format. Contains 'x' and 'y' as the left-corner point, and 'w' and 'h' as the width and height. If `detector_backend` is set to 'skip', it represents the full image area and is nonsensical. - face_confidence (float): Confidence score of face detection. If `detector_backend` is set to 'skip', the confidence will be 0 and is nonsensical. - encrypted_embedding (List[Any]): Encrypted multidimensional vector representing facial features. This field is included only if a `cryptosystem` is provided. """ return representation.represent( img_path=img_path, model_name=model_name, enforce_detection=enforce_detection, detector_backend=detector_backend, align=align, expand_percentage=expand_percentage, normalization=normalization, anti_spoofing=anti_spoofing, max_faces=max_faces, l2_normalize=l2_normalize, minmax_normalize=minmax_normalize, return_face=return_face, cryptosystem=cryptosystem, ) def stream( db_path: str = "", model_name: str = "VGG-Face", detector_backend: str = "opencv", distance_metric: str = "cosine", enable_face_analysis: bool = True, source: Any = 0, time_threshold: int = 5, frame_threshold: int = 5, anti_spoofing: bool = False, output_path: Optional[str] = None, debug: bool = False, ) -> None: """ Run real time face recognition and facial attribute analysis Args: db_path (string): Path to the folder containing image files. All detected faces in the database will be considered in the decision-making process. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). enable_face_analysis (bool): Flag to enable face analysis (default is True). source (Any): The source for the video stream (default is 0, which represents the default camera). time_threshold (int): The time threshold (in seconds) for face recognition (default is 5). frame_threshold (int): The frame threshold for face recognition (default is 5). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). output_path (str): Path to save the output video. (default is None If None, no video is saved). debug (bool): set this to True to save frame outcomes Returns: None """ time_threshold = max(time_threshold, 1) frame_threshold = max(frame_threshold, 1) streaming.analysis( db_path=db_path, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, enable_face_analysis=enable_face_analysis, source=source, time_threshold=time_threshold, frame_threshold=frame_threshold, anti_spoofing=anti_spoofing, output_path=output_path, debug=debug, ) def extract_faces( img_path: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, expand_percentage: int = 0, grayscale: bool = False, color_face: str = "rgb", normalize_face: bool = True, anti_spoofing: bool = False, ) -> Union[List[Dict[str, Any]], List[List[Dict[str, Any]]]]: """ Extract faces from a given image Args: img_path (str or list of str ornp.ndarray or IO[bytes]): Path to the first image. Accepts exact image path as a string, list of string, numpy array (BGR), a file object that supports at least `.read` and is opened in binary mode, or base64 encoded images. detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). expand_percentage (int): expand detected facial area with a percentage (default is 0). grayscale (boolean): (Deprecated) Flag to convert the output face image to grayscale (default is False). color_face (string): Color to return face image output. Options: 'rgb', 'bgr' or 'gray' (default is 'rgb'). normalize_face (boolean): Flag to enable normalization (divide by 255) of the output face image output face image normalization (default is True). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: results (List[Dict[str, Any]]): A list of dictionaries, where each dictionary contains: - "face" (np.ndarray): The detected face as a NumPy array. - "facial_area" (Dict[str, Any]): The detected face's regions as a dictionary containing: - keys 'x', 'y', 'w', 'h' with int values - keys 'left_eye', 'right_eye' with a tuple of 2 ints as values. left and right eyes are eyes on the left and right respectively with respect to the person itself instead of observer. - "confidence" (float): The confidence score associated with the detected face. - "is_real" (boolean): antispoofing analyze result. this key is just available in the result only if anti_spoofing is set to True in input arguments. - "antispoof_score" (float): score of antispoofing analyze result. this key is just available in the result only if anti_spoofing is set to True in input arguments. """ return detection.extract_faces( img_path=img_path, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, grayscale=grayscale, color_face=color_face, normalize_face=normalize_face, anti_spoofing=anti_spoofing, ) def cli() -> None: """ command line interface function will be offered in this block """ import fire fire.Fire() # deprecated function(s) def detectFace( img_path: Union[str, NDArray[Any], IO[bytes]], target_size: Tuple[int, int] = (224, 224), detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, ) -> Union[NDArray[Any], None]: """ Deprecated face detection function. Use extract_faces for same functionality. Args: img_path (str or np.ndarray): Path to the first image. Accepts exact image path as a string, numpy array (BGR), or base64 encoded images. target_size (tuple): final shape of facial image. black pixels will be added to resize the image (default is (224, 224)). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). Returns: img (np.ndarray): detected (and aligned) facial area image as numpy array """ logger.warn("Function detectFace is deprecated. Use extract_faces instead.") face_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], extract_faces( img_path=img_path, detector_backend=detector_backend, grayscale=False, enforce_detection=enforce_detection, align=align, ), ) extracted_face = None if len(face_objs) > 0: extracted_face = face_objs[0]["face"] extracted_face = preprocessing.resize_image(img=extracted_face, target_size=target_size) return extracted_face def register( img: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], img_name: Optional[str] = None, model_name: str = "VGG-Face", detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, l2_normalize: bool = False, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, database_type: str = "postgres", connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, ) -> Dict[str, Any]: """ Register identities to database for face recognition Args: img (str or np.ndarray or IO[bytes] or list): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If a list is provided, each element should be a string or numpy array representing an image, and the function will process images in batch. img_name (optional str): image name to store in db, if not provided then we will try to extract it from given img. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). database_type (str): Type of database to register identities. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection_details (dict or str): Connection details for the database. connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY Returns: result (dict): A dictionary containing registration results with following keys. - inserted (int): Number of embeddings successfully registered to the database. """ return datastore.register( img=img, img_name=img_name, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, l2_normalize=l2_normalize, expand_percentage=expand_percentage, normalization=normalization, anti_spoofing=anti_spoofing, database_type=database_type, connection_details=connection_details, connection=connection, ) def search( img: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], model_name: str = "VGG-Face", detector_backend: str = "opencv", distance_metric: str = "cosine", enforce_detection: bool = True, align: bool = True, l2_normalize: bool = False, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, similarity_search: bool = False, k: Optional[int] = None, database_type: str = "postgres", connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, search_method: str = "exact", ) -> List[pd.DataFrame]: """ Search for identities in database for face recognition. This is a stateless facial recognition function. Use find function to do it in a stateful way. Args: img (str or np.ndarray or IO[bytes] or list): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If a list is provided, each element should be a string or numpy array representing an image, and the function will process images in batch. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'angular' (default is cosine). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). similarity_search (boolean): If False, performs identity verification and returns images of the same person. If True, performs similarity search and returns visually similar faces (e.g., celebrity or parental look-alikes). Default is False. k (int): Number of top similar faces to retrieve from the database for each detected face. If not specified, all faces within the threshold will be returned (default is None). search_method (str): Method to use for searching identities. Options: 'exact', 'ann'. To use ann search, you must run build_index function first to create the index. database_type (str): Type of database to search identities. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection_details (dict or str): Connection details for the database. connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY Returns: results (List[pd.DataFrame]): A list of pandas dataframes or a list of dicts. Each dataframe or dict corresponds to the identity information for an individual detected in the source image. The DataFrame columns or dict keys include: - id: ID of the detected individual. - img_name: Name of the image file in the database. - model_name: Name of the model used for recognition. - aligned: Whether face alignment was performed. - l2_normalized: Whether L2 normalization was applied. - search_method: Method used for searching identities: exact or ann. - confidence: Confidence score indicating the likelihood that the images represent the same person. The score is between 0 and 100, where higher values indicate greater confidence in the verification result. - target_x, target_y, target_w, target_h: Bounding box coordinates of the target face in the database. Notice that source image's face coordinates are not included in the result here. - threshold: threshold to determine a pair whether same person or different persons - distance_metric: Distance metric used for similarity measurement. Distance metric will be ignored for ann search, and set to cosine if l2_normalize is True, euclidean if l2_normalize is False. - distance: Similarity score between the faces based on the specified model and distance metric """ return datastore.search( img=img, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, enforce_detection=enforce_detection, align=align, l2_normalize=l2_normalize, expand_percentage=expand_percentage, normalization=normalization, anti_spoofing=anti_spoofing, similarity_search=similarity_search, k=k, database_type=database_type, connection_details=connection_details, connection=connection, search_method=search_method, ) def build_index( model_name: str = "VGG-Face", detector_backend: str = "opencv", align: bool = True, l2_normalize: bool = False, database_type: str = "postgres", connection: Any = None, connection_details: Optional[Union[Dict[str, Any], str]] = None, max_neighbors_per_node: int = 32, ) -> None: """ Build index for faster search in the database. You should set search_method to 'ann' in the search function to use the built index. - Use this function after registering all identities to the database. - This function is resumable, run again whenever new identities are added to the db. - Vector databases handle indexing internally, so you don't need to use this function when using a vector database ('weaviate', 'neo4j', 'pgvector', 'pinecone') as database_type. Args: model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) max_neighbors_per_node (int): Maximum number of neighbors per node in the index (default is 32). database_type (str): Type of database to build index. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. connection_details (dict or str): Connection details for the database. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY """ return datastore.build_index( model_name=model_name, detector_backend=detector_backend, l2_normalize=l2_normalize, align=align, database_type=database_type, connection=connection, connection_details=connection_details, max_neighbors_per_node=max_neighbors_per_node, ) ================================================ FILE: deepface/__init__.py ================================================ __version__ = "0.0.99" ================================================ FILE: deepface/api/__init__.py ================================================ ================================================ FILE: deepface/api/postman/deepface-api.postman_collection.json ================================================ { "info": { "_postman_id": "26c5ee53-1f4b-41db-9342-3617c90059d3", "name": "deepface-api", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Represent - form data", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "img", "type": "file", "src": "/Users/sefik/Desktop/deepface/tests/dataset/img1.jpg" }, { "key": "model_name", "value": "Facenet", "type": "text" } ], "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/represent", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "represent" ] } }, "response": [] }, { "name": "Represent - default", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"model_name\": \"Facenet\",\n \"detector_backend\": \"mtcnn\",\n \"img\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img1.jpg\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/represent", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "represent" ] } }, "response": [] }, { "name": "Face verification - default", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": " {\n \t\"img1\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img1.jpg\",\n \"img2\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img3.jpg\",\n \"model_name\": \"Facenet\",\n \"detector_backend\": \"opencv\",\n \"distance_metric\": \"euclidean\"\n }", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/verify", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "verify" ] } }, "response": [] }, { "name": "Face verification - form data", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "img1", "type": "file", "src": "/Users/sefik/Desktop/deepface/tests/dataset/img1.jpg" }, { "key": "img2", "type": "file", "src": "/Users/sefik/Desktop/deepface/tests/dataset/img2.jpg" }, { "key": "model_name", "value": "Facenet", "type": "text" } ], "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/verify", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "verify" ] } }, "response": [] }, { "name": "Face analysis - default", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"__img\": \"/Users/sefik/Desktop/deepface/tests/dataset/img2.jpg\",\n \"img\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img2.jpg\",\n \"__actions\": [\"age\", \"gender\", \"emotion\", \"race\"],\n \"actions\": [\"age\"]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/analyze", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "analyze" ] } }, "response": [] }, { "name": "Face analysis - form data", "request": { "method": "POST", "header": [], "body": { "mode": "formdata", "formdata": [ { "key": "img", "type": "file", "src": "/Users/sefik/Desktop/deepface/tests/dataset/img1.jpg" }, { "key": "actions", "value": "\"[age, gender]\"", "type": "text" } ], "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:5005/analyze", "protocol": "http", "host": [ "localhost" ], "port": "5005", "path": [ "analyze" ] } }, "response": [] }, { "name": "Register - default", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"model_name\": \"Facenet\",\n \"detector_backend\": \"mtcnn\",\n \"align\": true,\n \"l2_normalize\": true,\n \"img\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img18.jpg\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/register", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "register" ] } }, "response": [] }, { "name": "Search by exact - default", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"img\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img1.jpg\",\n \"model_name\": \"Facenet\",\n \"detector_backend\": \"mtcnn\",\n \"align\": true,\n \"l2_normalize\": true,\n \"distance_metric\": \"cosine\",\n \"search_method\": \"exact\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/search", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "search" ] } }, "response": [] }, { "name": "Search by ann - default", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"img\": \"https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img1.jpg\",\n \"model_name\": \"Facenet\",\n \"detector_backend\": \"mtcnn\",\n \"align\": true,\n \"l2_normalize\": true,\n \"search_method\": \"ann\"\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/search", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "search" ] } }, "response": [] }, { "name": "Build index", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"model_name\": \"Facenet\",\n \"detector_backend\": \"mtcnn\",\n \"align\": true,\n \"l2_normalize\": true\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://127.0.0.1:5005/build/index", "protocol": "http", "host": [ "127", "0", "0", "1" ], "port": "5005", "path": [ "build", "index" ] } }, "response": [] } ] } ================================================ FILE: deepface/api/src/__init__.py ================================================ ================================================ FILE: deepface/api/src/app.py ================================================ # 3rd parth dependencies from flask import Flask from flask_cors import CORS from dotenv import load_dotenv # load environment variables from .env first things first load_dotenv() # pylint: disable=wrong-import-position # project dependencies from deepface import __version__ from deepface.api.src.modules.core.routes import blueprint from deepface.api.src.dependencies.variables import Variables from deepface.api.src.dependencies.container import Container from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() def create_app() -> Flask: app = Flask(__name__) CORS(app) variables = Variables() container = Container(variables=variables) # inject variables blueprint.variables = variables # type: ignore[attr-defined] blueprint.container = container # type: ignore[attr-defined] load_models_on_startup(variables) app.register_blueprint(blueprint) logger.info(f"Welcome to DeepFace API v{__version__}!") return app def load_models_on_startup(variables: Variables) -> None: """Load models on startup to reduce latency on first request.""" face_recognition_models = variables.face_recognition_models if face_recognition_models is not None: for model in face_recognition_models.split(","): DeepFace.build_model(task="facial_recognition", model_name=model.strip()) logger.info(f"Facial Recognition Model {model} loaded on startup.") face_detection_models = variables.face_detection_models if face_detection_models is not None: for model in face_detection_models.split(","): DeepFace.build_model(task="face_detector", model_name=model.strip()) logger.info(f"Face Detector Model {model} loaded on startup.") ================================================ FILE: deepface/api/src/dependencies/__init__.py ================================================ ================================================ FILE: deepface/api/src/dependencies/container.py ================================================ # project dependencies from deepface.api.src.modules.auth.service import AuthService from deepface.api.src.dependencies.variables import Variables # pylint: disable=too-few-public-methods class Container: def __init__(self, variables: Variables) -> None: # once you have variables, you can connect dbs and other services here self.auth_service = AuthService(auth_token=variables.auth_token) ================================================ FILE: deepface/api/src/dependencies/variables.py ================================================ # built-in dependencies import os # project dependencies from deepface.modules.database.inventory import database_inventory # pylint: disable=too-few-public-methods class Variables: def __init__(self) -> None: self.database_type = os.getenv("DEEPFACE_DATABASE_TYPE", "postgres").lower() if database_inventory.get(self.database_type) is None: raise ValueError(f"Unsupported database type: {self.database_type}") connection_string = database_inventory[self.database_type]["connection_string"] conection_details = os.getenv(connection_string) self.conection_details = os.getenv("DEEPFACE_CONNECTION_DETAILS") or conection_details self.face_recognition_models = os.getenv("DEEPFACE_FACE_RECOGNITION_MODELS") self.face_detection_models = os.getenv("DEEPFACE_FACE_DETECTION_MODELS") self.auth_token = os.getenv("DEEPFACE_AUTH_TOKEN") ================================================ FILE: deepface/api/src/modules/__init__.py ================================================ ================================================ FILE: deepface/api/src/modules/auth/__init__.py ================================================ ================================================ FILE: deepface/api/src/modules/auth/service.py ================================================ # built-in dependencies from typing import Optional, Dict, Any # project dependencies from deepface.commons.logger import Logger logger = Logger() # pylint: disable=too-few-public-methods class AuthService: def __init__(self, auth_token: Optional[str] = None) -> None: self.auth_token = auth_token self.is_auth_enabled = auth_token is not None and len(auth_token) > 0 def extract_token(self, auth_header: Optional[str]) -> Optional[str]: if not auth_header: return None parts = auth_header.split() if len(parts) == 2 and parts[0].lower() == "bearer": return parts[1] return None def validate(self, headers: Dict[str, Any]) -> bool: if not self.is_auth_enabled: logger.debug("Authentication is disabled. Skipping token validation.") return True token = self.extract_token(headers.get("Authorization")) if not token: logger.debug("No authentication token provided. Validation failed.") return False if token != self.auth_token: logger.debug("Invalid authentication token provided. Validation failed.") return False logger.debug("Authentication token validated successfully.") return True ================================================ FILE: deepface/api/src/modules/core/__init__.py ================================================ ================================================ FILE: deepface/api/src/modules/core/routes.py ================================================ # built-in dependencies from typing import Union, cast, Any, Tuple, Dict # 3rd party dependencies from flask import Blueprint, request from numpy.typing import NDArray # project dependencies from deepface import __version__ from deepface.api.src.modules.core import service from deepface.api.src.dependencies.variables import Variables from deepface.api.src.dependencies.container import Container from deepface.commons import image_utils from deepface.commons.logger import Logger logger = Logger() blueprint = Blueprint("routes", __name__) # pylint: disable=no-else-return, broad-except @blueprint.route("/") def home() -> str: return f"

Welcome to DeepFace API v{__version__}!

" def extract_image_from_request(img_key: str) -> Union[str, NDArray[Any]]: """ Extracts an image from the request either from json or a multipart/form-data file. Args: img_key (str): The key used to retrieve the image data from the request (e.g., 'img1'). Returns: img (str or np.ndarray): Given image detail (base64 encoded string, image path or url) or the decoded image as a numpy array. """ # Check if the request is multipart/form-data (file input) if request.files: # request.files is instance of werkzeug.datastructures.ImmutableMultiDict # file is instance of werkzeug.datastructures.FileStorage file = request.files.get(img_key) if file is None: raise ValueError(f"Request form data doesn't have {img_key}") if file.filename == "": raise ValueError(f"No file uploaded for '{img_key}'") np_img: NDArray[Any] = image_utils.load_image_from_file_storage(file) return np_img # Check if the request is coming as base64, file path or url from json or form data elif request.is_json or request.form: input_args = request.get_json() or request.form.to_dict() if input_args is None: raise ValueError("empty input set passed") # this can be base64 encoded image, and image path or url str_img: str = cast(str, input_args.get(img_key)) if not str_img: raise ValueError(f"'{img_key}' not found in either json or form data request") return str_img # If neither JSON nor file input is present raise ValueError(f"'{img_key}' not found in request in either json or form data") @blueprint.route("/represent", methods=["POST"]) def represent() -> Tuple[Dict[str, Any], int]: # load injected container container: Container = blueprint.container # type: ignore[attr-defined] if not container.auth_service.validate(request.headers): return {"message": "Invalid or missing authentication token"}, 401 input_args = (request.is_json and request.get_json()) or ( request.form and request.form.to_dict() ) try: img = extract_image_from_request("img") except Exception as err: return {"exception": str(err)}, 400 max_faces = input_args.get("max_faces") obj, status_code = service.represent( img_path=img, model_name=input_args.get("model_name", "VGG-Face"), detector_backend=input_args.get("detector_backend", "opencv"), enforce_detection=bool(input_args.get("enforce_detection", True)), align=bool(input_args.get("align", True)), anti_spoofing=bool(input_args.get("anti_spoofing", False)), max_faces=int(max_faces) if max_faces is not None else None, ) logger.debug(obj) return obj, status_code @blueprint.route("/verify", methods=["POST"]) def verify() -> Tuple[Dict[str, Any], int]: # load injected container container: Container = blueprint.container # type: ignore[attr-defined] if not container.auth_service.validate(request.headers): return {"message": "Invalid or missing authentication token"}, 401 input_args = (request.is_json and request.get_json()) or ( request.form and request.form.to_dict() ) try: img1 = extract_image_from_request("img1") except Exception as err: return {"exception": str(err)}, 400 try: img2 = extract_image_from_request("img2") except Exception as err: return {"exception": str(err)}, 400 verification, status_code = service.verify( img1_path=img1, img2_path=img2, model_name=input_args.get("model_name", "VGG-Face"), detector_backend=input_args.get("detector_backend", "opencv"), distance_metric=input_args.get("distance_metric", "cosine"), align=bool(input_args.get("align", True)), enforce_detection=bool(input_args.get("enforce_detection", True)), anti_spoofing=bool(input_args.get("anti_spoofing", False)), ) logger.debug(verification) return verification, status_code @blueprint.route("/analyze", methods=["POST"]) def analyze() -> Tuple[Dict[str, Any], int]: # load injected container container: Container = blueprint.container # type: ignore[attr-defined] if not container.auth_service.validate(request.headers): return {"message": "Invalid or missing authentication token"}, 401 input_args = (request.is_json and request.get_json()) or ( request.form and request.form.to_dict() ) try: img = extract_image_from_request("img") except Exception as err: return {"exception": str(err)}, 400 actions = input_args.get("actions", ["age", "gender", "emotion", "race"]) # actions is the only argument instance of list or tuple # if request is form data, input args can either be text or file if isinstance(actions, str): actions = ( actions.replace("[", "") .replace("]", "") .replace("(", "") .replace(")", "") .replace('"', "") .replace("'", "") .replace(" ", "") .split(",") ) demographies, status_code = service.analyze( img_path=img, actions=actions, detector_backend=input_args.get("detector_backend", "opencv"), enforce_detection=bool(input_args.get("enforce_detection", True)), align=bool(input_args.get("align", True)), anti_spoofing=bool(input_args.get("anti_spoofing", False)), ) logger.debug(demographies) return demographies, status_code @blueprint.route("/register", methods=["POST"]) def register() -> Tuple[Dict[str, Any], int]: # load injected variables and container variables: Variables = blueprint.variables # type: ignore[attr-defined] container: Container = blueprint.container # type: ignore[attr-defined] if not container.auth_service.validate(request.headers): return {"message": "Invalid or missing authentication token"}, 401 if variables.conection_details is None: return { "error": "Database connection details must be provided in `DEEPFACE_CONNECTION_DETAILS`" " environment variables" }, 500 input_args = (request.is_json and request.get_json()) or ( request.form and request.form.to_dict() ) try: img = extract_image_from_request("img") except Exception as err: return {"exception": str(err)}, 400 result, status_code = service.register( img=img, img_name=input_args.get("img_name"), model_name=input_args.get("model_name", "VGG-Face"), detector_backend=input_args.get("detector_backend", "opencv"), enforce_detection=bool(input_args.get("enforce_detection", True)), align=bool(input_args.get("align", True)), l2_normalize=bool(input_args.get("l2_normalize", False)), expand_percentage=int(input_args.get("expand_percentage", 0)), normalization=input_args.get("normalization", "base"), anti_spoofing=bool(input_args.get("anti_spoofing", False)), database_type=variables.database_type, connection_details=variables.conection_details, ) if status_code == 200: logger.info("An image has been registered to the database.") else: logger.error("An error occurred while registering an image to the database.") return result, status_code @blueprint.route("/search", methods=["POST"]) def search() -> Tuple[Dict[str, Any], int]: # load injected variables and container variables: Variables = blueprint.variables # type: ignore[attr-defined] container: Container = blueprint.container # type: ignore[attr-defined] if not container.auth_service.validate(request.headers): return {"message": "Invalid or missing authentication token"}, 401 if variables.conection_details is None: return { "error": "Database connection details must be provided in `DEEPFACE_CONNECTION_DETAILS`" " environment variables" }, 500 input_args = (request.is_json and request.get_json()) or ( request.form and request.form.to_dict() ) try: img = extract_image_from_request("img") except Exception as err: return {"exception": str(err)}, 400 return service.search( img=img, model_name=input_args.get("model_name", "VGG-Face"), detector_backend=input_args.get("detector_backend", "opencv"), enforce_detection=bool(input_args.get("enforce_detection", True)), align=bool(input_args.get("align", True)), distance_metric=input_args.get("distance_metric", "cosine"), l2_normalize=bool(input_args.get("l2_normalize", False)), database_type=variables.database_type, connection_details=variables.conection_details, search_method=input_args.get("search_method", "exact"), expand_percentage=int(input_args.get("expand_percentage", 0)), normalization=input_args.get("normalization", "base"), anti_spoofing=bool(input_args.get("anti_spoofing", False)), similarity_search=bool(input_args.get("similarity_search", False)), k=int(input_args.get("k", 5)) if input_args.get("k") is not None else None, ) @blueprint.route("/build/index", methods=["POST"]) def build_index() -> Tuple[Dict[str, Any], int]: # load injected variables and container variables: Variables = blueprint.variables # type: ignore[attr-defined] container: Container = blueprint.container # type: ignore[attr-defined] if not container.auth_service.validate(request.headers): return {"message": "Invalid or missing authentication token"}, 401 if variables.conection_details is None: return { "error": "Database connection details must be provided in `DEEPFACE_CONNECTION_DETAILS`" " environment variables" }, 500 input_args = (request.is_json and request.get_json()) or ( request.form and request.form.to_dict() ) return service.build_index( model_name=input_args.get("model_name", "VGG-Face"), detector_backend=input_args.get("detector_backend", "opencv"), align=bool(input_args.get("align", True)), l2_normalize=bool(input_args.get("l2_normalize", False)), database_type=variables.database_type, connection_details=variables.conection_details, ) ================================================ FILE: deepface/api/src/modules/core/service.py ================================================ # built-in dependencies import traceback from typing import Optional, Union, Dict, Any, Tuple, List # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() # pylint: disable=broad-except, too-many-positional-arguments def represent( img_path: Union[str, NDArray[Any]], model_name: str, detector_backend: str, enforce_detection: bool, align: bool, anti_spoofing: bool, max_faces: Optional[int] = None, ) -> Tuple[Dict[str, Any], int]: try: result = {} embedding_objs = DeepFace.represent( img_path=img_path, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, anti_spoofing=anti_spoofing, max_faces=max_faces, ) result["results"] = embedding_objs return result, 200 except Exception as err: tb_str = traceback.format_exc() logger.error(str(err)) logger.error(tb_str) return {"error": f"Exception while representing: {str(err)} - {tb_str}"}, 400 def verify( img1_path: Union[str, NDArray[Any]], img2_path: Union[str, NDArray[Any]], model_name: str, detector_backend: str, distance_metric: str, enforce_detection: bool, align: bool, anti_spoofing: bool, ) -> Tuple[Dict[str, Any], int]: try: obj = DeepFace.verify( img1_path=img1_path, img2_path=img2_path, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, align=align, enforce_detection=enforce_detection, anti_spoofing=anti_spoofing, ) return obj, 200 except Exception as err: tb_str = traceback.format_exc() logger.error(str(err)) logger.error(tb_str) return {"error": f"Exception while verifying: {str(err)} - {tb_str}"}, 400 def analyze( img_path: Union[str, NDArray[Any]], actions: List[str], detector_backend: str, enforce_detection: bool, align: bool, anti_spoofing: bool, ) -> Tuple[Dict[str, Any], int]: try: result = {} demographies = DeepFace.analyze( img_path=img_path, actions=actions, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, silent=True, anti_spoofing=anti_spoofing, ) result["results"] = demographies return result, 200 except Exception as err: tb_str = traceback.format_exc() logger.error(str(err)) logger.error(tb_str) return {"error": f"Exception while analyzing: {str(err)} - {tb_str}"}, 400 def register( img: Union[str, NDArray[Any]], model_name: str, detector_backend: str, enforce_detection: bool, align: bool, l2_normalize: bool, expand_percentage: int, normalization: str, anti_spoofing: bool, img_name: Optional[str], database_type: str, connection_details: str, ) -> Tuple[Dict[str, Any], int]: try: return ( DeepFace.register( img=img, img_name=img_name, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, l2_normalize=l2_normalize, expand_percentage=expand_percentage, normalization=normalization, anti_spoofing=anti_spoofing, database_type=database_type, connection_details=connection_details, ), 200, ) except Exception as err: tb_str = traceback.format_exc() logger.error(str(err)) logger.error(tb_str) return {"error": f"Exception while registering: {str(err)} - {tb_str}"}, 400 def search( img: Union[str, NDArray[Any]], model_name: str, detector_backend: str, distance_metric: str, enforce_detection: bool, align: bool, l2_normalize: bool, expand_percentage: int, normalization: str, anti_spoofing: bool, similarity_search: bool, k: Optional[int], database_type: str, connection_details: str, search_method: str, ) -> Tuple[Dict[str, Any], int]: try: result = {} dfs = DeepFace.search( img=img, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, enforce_detection=enforce_detection, align=align, l2_normalize=l2_normalize, expand_percentage=expand_percentage, normalization=normalization, anti_spoofing=anti_spoofing, similarity_search=similarity_search, k=k, database_type=database_type, connection_details=connection_details, search_method=search_method, ) result["results"] = [df.to_dict(orient="records") for df in dfs] return result, 200 except Exception as err: tb_str = traceback.format_exc() logger.error(str(err)) logger.error(tb_str) return {"error": f"Exception while searching: {str(err)} - {tb_str}"}, 400 def build_index( model_name: str, detector_backend: str, align: bool, l2_normalize: bool, database_type: str, connection_details: str, ) -> Tuple[Dict[str, Any], int]: try: DeepFace.build_index( model_name=model_name, detector_backend=detector_backend, align=align, l2_normalize=l2_normalize, database_type=database_type, connection_details=connection_details, ) return {"message": "Index built successfully"}, 200 except Exception as err: tb_str = traceback.format_exc() logger.error(str(err)) logger.error(tb_str) return {"error": f"Exception while building index: {str(err)} - {tb_str}"}, 400 ================================================ FILE: deepface/commons/__init__.py ================================================ ================================================ FILE: deepface/commons/constant.py ================================================ import os SRC_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ROOT_DIR = os.path.dirname(SRC_DIR) ================================================ FILE: deepface/commons/embed_utils.py ================================================ from typing import List, Union def is_flat_embedding(x: Union[List[float], List[List[float]]]) -> bool: """ Check if the embeddings represent a single flat list of floats rather than a list of list of float. Args: x (List[float] or List[List[float]]): Embeddings to check. Returns: bool: True if x is a flat list of floats, False otherwise. """ return isinstance(x, list) and all(isinstance(i, (int, float)) for i in x) ================================================ FILE: deepface/commons/folder_utils.py ================================================ import os from deepface.commons.logger import Logger logger = Logger() def initialize_folder() -> None: """ Initialize the folder for storing model weights. Raises: OSError: if the folder cannot be created. """ home = get_deepface_home() deepface_home_path = os.path.join(home, ".deepface") weights_path = os.path.join(deepface_home_path, "weights") if not os.path.exists(deepface_home_path): os.makedirs(deepface_home_path, exist_ok=True) logger.info(f"Directory {deepface_home_path} has been created") if not os.path.exists(weights_path): os.makedirs(weights_path, exist_ok=True) logger.info(f"Directory {weights_path} has been created") def get_deepface_home() -> str: """ Get the home directory for storing model weights Returns: str: the home directory. """ return str(os.getenv("DEEPFACE_HOME", default=os.path.expanduser("~"))) ================================================ FILE: deepface/commons/image_utils.py ================================================ # built-in dependencies import os import io from typing import Generator, IO, List, Union, Tuple, cast, Any import hashlib import base64 from pathlib import Path # 3rd party dependencies import requests # type: ignore[import-untyped] import numpy as np from numpy.typing import NDArray import cv2 from PIL import Image from werkzeug.datastructures import FileStorage # project dependencies from deepface.modules.exceptions import ImgNotFound, DataTypeError IMAGE_EXTS = {".jpg", ".jpeg", ".png"} PIL_EXTS = {"jpeg", "png"} def list_images(path: str) -> List[str]: """ List images in a given path Args: path (str): path's location Returns: images (list): list of exact image paths """ images = [] for r, _, f in os.walk(path): for file in f: if os.path.splitext(file)[1].lower() in IMAGE_EXTS: exact_path = os.path.join(r, file) with Image.open(exact_path) as img: # lazy if img.format.lower() in PIL_EXTS: images.append(exact_path) return images def yield_images(path: str) -> Generator[str, None, None]: """ Yield images in a given path Args: path (str): path's location Yields: image (str): image path """ for r, _, f in os.walk(path): for file in f: if os.path.splitext(file)[1].lower() in IMAGE_EXTS: exact_path = os.path.join(r, file) with Image.open(exact_path) as img: # lazy if img.format.lower() in PIL_EXTS: yield exact_path def find_image_hash(file_path: str) -> str: """ Find the hash of given image file with its properties finding the hash of image content is costly operation Args: file_path (str): exact image path Returns: hash (str): digest with sha1 algorithm """ file_stats = os.stat(file_path) # some properties file_size = file_stats.st_size creation_time = file_stats.st_ctime modification_time = file_stats.st_mtime properties = f"{file_size}-{creation_time}-{modification_time}" hasher = hashlib.sha1() hasher.update(properties.encode("utf-8")) return hasher.hexdigest() def load_image( img: Union[str, NDArray[Any], IO[bytes]], ) -> Tuple[NDArray[Any], str]: """ Load image from path, url, file object, base64 or numpy array. Args: img: a path, url, file object, base64 or numpy array. Returns: image (numpy array): the loaded image in BGR format image name (str): image name itself """ # The image is already a numpy array if isinstance(img, np.ndarray): return img, "numpy array" # The image is an object that supports `.read` if hasattr(img, "read") and callable(img.read): if isinstance(img, io.StringIO): raise DataTypeError("img requires bytes and cannot be an io.StringIO object.") return load_image_from_io_object(cast(IO[bytes], img)), "io object" if isinstance(img, Path): img = str(img) if not isinstance(img, str): raise DataTypeError(f"img must be numpy array or str but it is {type(img)}") # The image is a base64 string if img.startswith("data:image/"): return load_image_from_base64(img), "base64 encoded string" # The image is a url if img.lower().startswith(("http://", "https://")): return load_image_from_web(url=img), img # The image is a path if not os.path.isfile(img): raise ImgNotFound(f"Confirm that {img} exists") # image must be a file on the system then # image name must have english characters if not img.isascii(): raise ValueError(f"Input image must not have non-english characters - {img}") img_obj_bgr = cv2.imread(img) # img_obj_rgb = cv2.cvtColor(img_obj_bgr, cv2.COLOR_BGR2RGB) return cast(NDArray[Any], img_obj_bgr), img def load_image_from_io_object(obj: IO[bytes]) -> NDArray[Any]: """ Load image from an object that supports being read Args: obj: a file like object. Returns: img (np.ndarray): The decoded image as a numpy array (OpenCV format). """ try: _ = obj.seek(0) except (AttributeError, TypeError, io.UnsupportedOperation): seekable = False obj = io.BytesIO(obj.read()) else: seekable = True try: nparr = np.frombuffer(obj.read(), np.uint8) img = cv2.imdecode(nparr, cv2.IMREAD_COLOR) if img is None: raise ValueError("Failed to decode image") return img finally: if not seekable: obj.close() def load_image_from_base64(uri: str) -> NDArray[Any]: """ Load image from base64 string. Args: uri: a base64 string. Returns: numpy array: the loaded image. """ encoded_data_parts = uri.split(",") if len(encoded_data_parts) < 2: raise ValueError("format error in base64 encoded string") encoded_data = encoded_data_parts[1] decoded_bytes = base64.b64decode(encoded_data) # similar to find functionality, we are just considering these extensions # content type is safer option than file extension with Image.open(io.BytesIO(decoded_bytes)) as img: file_type = img.format.lower() if file_type not in {"jpeg", "png"}: raise DataTypeError(f"Input image can be jpg or png, but it is {file_type}") nparr = np.frombuffer(decoded_bytes, np.uint8) img_bgr = cv2.imdecode(nparr, cv2.IMREAD_COLOR) # img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB) return cast(NDArray[Any], img_bgr) def load_image_from_file_storage(file: FileStorage) -> NDArray[Any]: """ Loads an image from a FileStorage object and decodes it into an OpenCV image. Args: file (FileStorage): The FileStorage object containing the image file. Returns: img (np.ndarray): The decoded image as a numpy array (OpenCV format). """ file_bytes = np.frombuffer(file.read(), np.uint8) image = cv2.imdecode(file_bytes, cv2.IMREAD_COLOR) if image is None: raise ValueError("Failed to decode image") return image def load_image_from_web(url: str) -> NDArray[Any]: """ Loading an image from web Args: url: link for the image Returns: img (np.ndarray): equivalent to pre-loaded image from opencv (BGR format) """ response = requests.get(url, stream=True, timeout=60) response.raise_for_status() image_array = np.asarray(bytearray(response.raw.read()), dtype=np.uint8) img = cv2.imdecode(image_array, cv2.IMREAD_COLOR) return cast(NDArray[Any], img) ================================================ FILE: deepface/commons/logger.py ================================================ import os from typing import Any import logging from datetime import datetime # pylint: disable=broad-except class Logger: """ A Logger class for logging messages with a specific log level. The class follows the singleton design pattern, ensuring that only one instance of the Logger is created. The parameters of the first instance are preserved across all instances. """ __instance = None def __new__(cls) -> "Logger": if cls.__instance is None: cls.__instance = super(Logger, cls).__new__(cls) return cls.__instance def __init__(self) -> None: if not hasattr(self, "_singleton_initialized"): self._singleton_initialized = True # to prevent multiple initializations log_level = os.environ.get("DEEPFACE_LOG_LEVEL", str(logging.INFO)) try: self.log_level = int(log_level) except Exception as err: self.dump_log( f"Exception while parsing $DEEPFACE_LOG_LEVEL." f"Expected int but it is {log_level} ({str(err)})." "Setting app log level to info." ) self.log_level = logging.INFO def info(self, message: Any) -> None: """ Logs an info message if the log level is set to INFO or lower. Args: message: The message to log. """ if self.log_level <= logging.INFO: self.dump_log(f"{message}") def debug(self, message: Any) -> None: """ Logs a debug message if the log level is set to DEBUG or lower. Args: message: The message to log. """ if self.log_level <= logging.DEBUG: self.dump_log(f"🕷️ {message}") def warn(self, message: Any) -> None: """ Logs a warning message if the log level is set to WARNING or lower. Args: message: The message to log. """ if self.log_level <= logging.WARNING: self.dump_log(f"⚠️ {message}") def error(self, message: Any) -> None: """ Logs an error message if the log level is set to ERROR or lower. Args: message: The message to log. """ if self.log_level <= logging.ERROR: self.dump_log(f"🔴 {message}") def critical(self, message: Any) -> None: """ Logs a critical message if the log level is set to CRITICAL or lower. Args: message: The message to log. """ if self.log_level <= logging.CRITICAL: self.dump_log(f"💥 {message}") def dump_log(self, message: Any) -> None: """ Dumps the log message to the console. Args: message: The message to log. """ print(f"{str(datetime.now())[2:-7]} - {message}") ================================================ FILE: deepface/commons/package_utils.py ================================================ # built-in dependencies import hashlib # 3rd party dependencies import tensorflow as tf # package dependencies from deepface.commons.logger import Logger logger = Logger() def get_tf_major_version() -> int: """ Find tensorflow's major version Returns major_version (int) """ return int(tf.__version__.split(".", maxsplit=1)[0]) def get_tf_minor_version() -> int: """ Find tensorflow's minor version Returns minor_version (int) """ return int(tf.__version__.split(".", maxsplit=-1)[1]) def validate_for_keras3() -> None: tf_major = get_tf_major_version() tf_minor = get_tf_minor_version() # tf_keras is a must dependency after tf 2.16 if tf_major == 1 or (tf_major == 2 and tf_minor < 16): return try: import tf_keras logger.debug(f"tf_keras is already available - {tf_keras.__version__}") except ImportError as err: # you may consider to install that package here raise ValueError( f"You have tensorflow {tf.__version__} and this requires " "tf-keras package. Please run `pip install tf-keras` " "or downgrade your tensorflow." ) from err def find_file_hash(file_path: str, hash_algorithm: str = "sha256") -> str: """ Find the hash of a given file with its content Args: file_path (str): exact path of a given file hash_algorithm (str): hash algorithm Returns: hash (str) """ hash_func = hashlib.new(hash_algorithm) with open(file_path, "rb") as f: while chunk := f.read(8192): hash_func.update(chunk) return hash_func.hexdigest() ================================================ FILE: deepface/commons/weight_utils.py ================================================ # built-in dependencies import os from typing import Optional import zipfile import bz2 # 3rd party dependencies import gdown # project dependencies from deepface.commons import folder_utils, package_utils from deepface.commons.logger import Logger from deepface.modules.exceptions import UnimplementedError tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Sequential else: from tensorflow.keras.models import Sequential logger = Logger() # pylint: disable=line-too-long, use-maxsplit-arg ALLOWED_COMPRESS_TYPES = ["zip", "bz2"] def download_weights_if_necessary( file_name: str, source_url: str, compress_type: Optional[str] = None ) -> str: """ Download the weights of a pre-trained model from external source if not downloaded yet. Args: file_name (str): target file name with extension source_url (url): source url to be downloaded compress_type (optional str): compress type e.g. zip or bz2 Returns target_file (str): exact path for the target file """ home = folder_utils.get_deepface_home() target_file = os.path.normpath(os.path.join(home, ".deepface/weights", file_name)) if os.path.isfile(target_file): logger.debug(f"{file_name} is already available at {target_file}") return target_file if compress_type is not None and compress_type not in ALLOWED_COMPRESS_TYPES: raise UnimplementedError(f"unimplemented compress type - {compress_type}") try: logger.info(f"🔗 {file_name} will be downloaded from {source_url} to {target_file}...") if compress_type is None: gdown.download(source_url, target_file, quiet=False) elif compress_type is not None and compress_type in ALLOWED_COMPRESS_TYPES: gdown.download(source_url, f"{target_file}.{compress_type}", quiet=False) except Exception as err: raise ValueError( f"⛓️‍💥 An exception occurred while downloading {file_name} from {source_url}. " f"Consider downloading it manually to {target_file}." ) from err # uncompress downloaded file if compress_type == "zip": with zipfile.ZipFile(f"{target_file}.zip", "r") as zip_ref: zip_ref.extractall(os.path.join(home, ".deepface/weights")) logger.info(f"{target_file}.zip unzipped") elif compress_type == "bz2": bz2file = bz2.BZ2File(f"{target_file}.bz2") data = bz2file.read() with open(target_file, "wb") as f: f.write(data) logger.info(f"{target_file}.bz2 unzipped") return target_file def load_model_weights(model: Sequential, weight_file: str) -> Sequential: """ Load pre-trained weights for a given model Args: model (keras.models.Sequential): pre-built model weight_file (str): exact path of pre-trained weights Returns: model (keras.models.Sequential): pre-built model with updated weights """ try: model.load_weights(weight_file) except Exception as err: raise ValueError( f"An exception occurred while loading the pre-trained weights from {weight_file}." "This might have happened due to an interruption during the download." "You may want to delete it and allow DeepFace to download it again during the next run." "If the issue persists, consider downloading the file directly from the source " "and copying it to the target folder." ) from err return model def download_all_models_in_one_shot() -> None: """ Download all model weights in one shot """ # import model weights from module here to avoid circular import issue from deepface.models.facial_recognition.VGGFace import WEIGHTS_URL as VGGFACE_WEIGHTS from deepface.models.facial_recognition.Facenet import FACENET128_WEIGHTS, FACENET512_WEIGHTS from deepface.models.facial_recognition.OpenFace import WEIGHTS_URL as OPENFACE_WEIGHTS from deepface.models.facial_recognition.FbDeepFace import WEIGHTS_URL as FBDEEPFACE_WEIGHTS from deepface.models.facial_recognition.ArcFace import WEIGHTS_URL as ARCFACE_WEIGHTS from deepface.models.facial_recognition.DeepID import WEIGHTS_URL as DEEPID_WEIGHTS from deepface.models.facial_recognition.SFace import WEIGHTS_URL as SFACE_WEIGHTS from deepface.models.facial_recognition.GhostFaceNet import WEIGHTS_URL as GHOSTFACENET_WEIGHTS from deepface.models.facial_recognition.Dlib import WEIGHT_URL as DLIB_FR_WEIGHTS from deepface.models.demography.Age import WEIGHTS_URL as AGE_WEIGHTS from deepface.models.demography.Gender import WEIGHTS_URL as GENDER_WEIGHTS from deepface.models.demography.Race import WEIGHTS_URL as RACE_WEIGHTS from deepface.models.demography.Emotion import WEIGHTS_URL as EMOTION_WEIGHTS from deepface.models.spoofing.FasNet import ( FIRST_WEIGHTS_URL as FASNET_1ST_WEIGHTS, SECOND_WEIGHTS_URL as FASNET_2ND_WEIGHTS, ) from deepface.models.face_detection.Ssd import ( MODEL_URL as SSD_MODEL, WEIGHTS_URL as SSD_WEIGHTS, ) from deepface.models.face_detection.Yolo import YoloModel from deepface.models.face_detection.YuNet import WEIGHTS_URL as YUNET_WEIGHTS from deepface.models.face_detection.Dlib import WEIGHTS_URL as DLIB_FD_WEIGHTS from deepface.models.face_detection.CenterFace import WEIGHTS_URL as CENTERFACE_WEIGHTS WEIGHTS = [ # facial recognition VGGFACE_WEIGHTS, FACENET128_WEIGHTS, FACENET512_WEIGHTS, OPENFACE_WEIGHTS, FBDEEPFACE_WEIGHTS, ARCFACE_WEIGHTS, DEEPID_WEIGHTS, SFACE_WEIGHTS, { "filename": "ghostfacenet_v1.h5", "url": GHOSTFACENET_WEIGHTS, }, DLIB_FR_WEIGHTS, # demography AGE_WEIGHTS, GENDER_WEIGHTS, RACE_WEIGHTS, EMOTION_WEIGHTS, # spoofing FASNET_1ST_WEIGHTS, FASNET_2ND_WEIGHTS, # face detection SSD_MODEL, SSD_WEIGHTS, { "filename": YoloModel.V8N.value[0], "url": YoloModel.V8N.value[1], }, { "filename": YoloModel.V8M.value[0], "url": YoloModel.V8M.value[1], }, { "filename": YoloModel.V8L.value[0], "url": YoloModel.V8L.value[1], }, { "filename": YoloModel.V11N.value[0], "url": YoloModel.V11N.value[1], }, { "filename": YoloModel.V11S.value[0], "url": YoloModel.V11S.value[1], }, { "filename": YoloModel.V11M.value[0], "url": YoloModel.V11M.value[1], }, { "filename": YoloModel.V11L.value[0], "url": YoloModel.V11L.value[1], }, { "filename": YoloModel.V12N.value[0], "url": YoloModel.V12N.value[1], }, { "filename": YoloModel.V12S.value[0], "url": YoloModel.V12S.value[1], }, { "filename": YoloModel.V12M.value[0], "url": YoloModel.V12M.value[1], }, { "filename": YoloModel.V12L.value[0], "url": YoloModel.V12L.value[1], }, YUNET_WEIGHTS, DLIB_FD_WEIGHTS, CENTERFACE_WEIGHTS, ] for i in WEIGHTS: if isinstance(i, str): url = i filename = i.split("/")[-1] compress_type = None # if compressed file will be downloaded, get rid of its extension if filename.endswith(tuple(ALLOWED_COMPRESS_TYPES)): for ext in ALLOWED_COMPRESS_TYPES: compress_type = ext if filename.endswith(f".{ext}"): filename = filename[: -(len(ext) + 1)] break elif isinstance(i, dict): filename = i["filename"] url = i["url"] else: raise UnimplementedError("unimplemented scenario") logger.info( f"Downloading {url} to ~/.deepface/weights/{filename} with {compress_type} compression" ) download_weights_if_necessary( file_name=filename, source_url=url, compress_type=compress_type ) ================================================ FILE: deepface/config/__init__.py ================================================ ================================================ FILE: deepface/config/confidence.py ================================================ confidences = { "VGG-Face": { "cosine": { "w": -6.61254026479904, "b": 3.145549102667549, "normalizer": 0.979183, "denorm_max_true": 88.28484099529868, "denorm_min_true": 20.787978733113846, "denorm_max_false": 20.556681914175016, "denorm_min_false": 3.457832575746455, }, "euclidean": { "w": -6.505124425537925, "b": 3.8912125488666436, "normalizer": 1.399416, "denorm_max_true": 76.47012030708339, "denorm_min_true": 17.794898757517597, "denorm_max_false": 16.443735520230746, "denorm_min_false": 6.82484246933999, }, "euclidean_l2": { "w": -6.505124425537925, "b": 3.8912125488666436, "normalizer": 1.399416, "denorm_max_true": 76.47012030708339, "denorm_min_true": 17.794898757517597, "denorm_max_false": 16.443735520230746, "denorm_min_false": 6.82484246933999, }, "angular": { "w": -5.035753663256314, "b": 0.2961597285248822, "normalizer": 0.493373, "denorm_max_true": 34.230717614698825, "denorm_min_true": 16.624506551373642, "denorm_max_false": 15.49607745347531, "denorm_min_false": 10.080199045102233, }, }, "Facenet": { "cosine": { "w": -6.502269165856082, "b": 1.679048923097668, "normalizer": 1.206694, "denorm_max_true": 77.17253153662926, "denorm_min_true": 41.790002608273234, "denorm_max_false": 20.618350202170916, "denorm_min_false": 0.7976712344840693, }, "euclidean": { "w": -6.716177467853723, "b": 2.790978346203265, "normalizer": 18.735288, "denorm_max_true": 74.76412617567517, "denorm_min_true": 40.4423755909089, "denorm_max_false": 25.840858374979504, "denorm_min_false": 1.9356150486888306, }, "euclidean_l2": { "w": -6.708710331202137, "b": 2.9094193067398195, "normalizer": 1.553508, "denorm_max_true": 75.45756719896039, "denorm_min_true": 40.4509428022908, "denorm_max_false": 30.555931000001184, "denorm_min_false": 2.189644991619842, }, "angular": { "w": -6.371147050396505, "b": 0.6766460615182355, "normalizer": 0.56627, "denorm_max_true": 45.802357900723386, "denorm_min_true": 24.327312950719133, "denorm_max_false": 16.95267765757785, "denorm_min_false": 5.063533287198758, }, }, "Facenet512": { "cosine": { "w": -5.868251768046832, "b": 0.8674084834913275, "normalizer": 1.384316, "denorm_max_true": 62.19495119465813, "denorm_min_true": 40.700922463435305, "denorm_max_false": 39.96947059787277, "denorm_min_false": 0.6687247052303562, }, "euclidean": { "w": -6.742961485008033, "b": 2.61949356815704, "normalizer": 40.771751, "denorm_max_true": 75.20184708761875, "denorm_min_true": 23.391566956420913, "denorm_max_false": 20.317410180868695, "denorm_min_false": 1.5930391784587872, }, "euclidean_l2": { "w": -6.76040230078399, "b": 3.0057651791652638, "normalizer": 1.663921, "denorm_max_true": 78.73795056941638, "denorm_min_true": 23.492800781101295, "denorm_max_false": 21.754795621979017, "denorm_min_false": 2.287349921316484, }, "angular": { "w": -6.487840122876141, "b": 0.9536496647058516, "normalizer": 0.625563, "denorm_max_true": 52.1215977454314, "denorm_min_true": 21.72372703119752, "denorm_max_false": 20.734638325222512, "denorm_min_false": 4.290546073131373, }, }, "ArcFace": { "cosine": { "w": -6.586150423868342, "b": 2.2617127737265186, "normalizer": 1.22267, "denorm_max_true": 82.32544721731948, "denorm_min_true": 28.687745855666044, "denorm_max_false": 17.210359124614925, "denorm_min_false": 1.306796127659645, }, "euclidean": { "w": -5.370594347027345, "b": 0.6896763568574544, "normalizer": 10.401334, "denorm_max_true": 43.042326442916284, "denorm_min_true": 19.048164749978937, "denorm_max_false": 18.682892152590245, "denorm_min_false": 0.9185346995033978, }, "euclidean_l2": { "w": -6.541948874098929, "b": 3.2628963901283585, "normalizer": 1.563758, "denorm_max_true": 74.93505228104696, "denorm_min_true": 21.800168694491585, "denorm_max_false": 15.091078907730523, "denorm_min_false": 3.6296845343803894, }, "angular": { "w": -5.63344888288512, "b": 0.5682159222314143, "normalizer": 0.571477, "denorm_max_true": 40.81365081792457, "denorm_min_true": 18.409621072962818, "denorm_max_false": 15.13985487535995, "denorm_min_false": 6.59169002231532, }, }, "GhostFaceNet": { "cosine": { "w": -6.595823624282929, "b": 2.4180964556128584, "normalizer": 1.155661, "denorm_max_true": 84.65757505749636, "denorm_min_true": 22.700531204915876, "denorm_max_false": 15.08427020899693, "denorm_min_false": 1.5101757980158446, }, "euclidean": { "w": -6.506709483088198, "b": 2.935230928728856, "normalizer": 52.150135, "denorm_max_true": 73.09358661728027, "denorm_min_true": 24.63718600288871, "denorm_max_false": 16.513245368123492, "denorm_min_false": 2.7345457334612155, }, "euclidean_l2": { "w": -6.572852118241916, "b": 3.3068829731570824, "normalizer": 1.520303, "denorm_max_true": 75.95533899593255, "denorm_min_true": 20.08886780040665, "denorm_max_false": 17.84278657570624, "denorm_min_false": 3.675727926946401, }, "angular": { "w": -5.588606771251277, "b": 0.48845693581021543, "normalizer": 0.549751, "denorm_max_true": 39.92978715270581, "denorm_min_true": 16.49081504576138, "denorm_max_false": 16.143233933992967, "denorm_min_false": 7.018276839135204, }, }, "Dlib": { "cosine": { "w": -3.7618087798972293, "b": -0.6908814404797111, "normalizer": 0.200732, "denorm_max_true": 32.289077089161594, "denorm_min_true": 27.84268789569509, "denorm_max_false": 27.803329512485526, "denorm_min_false": 19.061842082779275, }, "euclidean": { "w": -7.494007964438609, "b": 3.9696154227506937, "normalizer": 0.909856, "denorm_max_true": 89.6022157357575, "denorm_min_true": 37.63548146988899, "denorm_max_false": 36.791885490113046, "denorm_min_false": 5.474065355413035, }, "euclidean_l2": { "w": -7.104640497107913, "b": 2.3288632189212457, "normalizer": 0.633612, "denorm_max_true": 76.39948218795206, "denorm_min_true": 37.84998375132765, "denorm_max_false": 36.56103592414769, "denorm_min_false": 10.222692344960938, }, "angular": { "w": -3.2116944601651727, "b": -0.5970349913114966, "normalizer": 0.205221, "denorm_max_true": 31.79313619700238, "denorm_min_true": 27.2527288169969, "denorm_max_false": 27.18852931051015, "denorm_min_false": 22.163871613552466, }, }, "SFace": { "cosine": { "w": -6.531673506288863, "b": 2.2217245506456895, "normalizer": 1.147363, "denorm_max_true": 81.04135659361265, "denorm_min_true": 26.26225160110723, "denorm_max_false": 23.62218403514688, "denorm_min_false": 1.3256149092319998, }, "euclidean": { "w": -5.922412546512467, "b": 2.2306552793788903, "normalizer": 18.826448, "denorm_max_true": 53.59440633088357, "denorm_min_true": 24.24534043569188, "denorm_max_false": 24.000007447174763, "denorm_min_false": 2.4321858952665205, }, "euclidean_l2": { "w": -6.561644724339029, "b": 3.215600266169891, "normalizer": 1.514835, "denorm_max_true": 72.39437183443313, "denorm_min_true": 22.25500614635702, "denorm_max_false": 19.531386697831906, "denorm_min_false": 3.4024932531839815, }, "angular": { "w": -5.575609473928204, "b": 0.421773496308517, "normalizer": 0.547079, "denorm_max_true": 37.48563531943993, "denorm_min_true": 17.074673595288292, "denorm_max_false": 16.40044990637247, "denorm_min_false": 6.732498767352633, }, }, "OpenFace": { "cosine": { "w": -2.932562678842587, "b": -2.0582304636838518, "normalizer": 0.884469, "denorm_max_true": 10.546657497687274, "denorm_min_true": 8.832401641007316, "denorm_max_false": 8.535900401000742, "denorm_min_false": 0.9452381276992784, }, "euclidean": { "w": -5.829345103053105, "b": 1.4390680732209533, "normalizer": 1.330015, "denorm_max_true": 60.28549643159932, "denorm_min_true": 27.506182086242408, "denorm_max_false": 27.058382251505012, "denorm_min_false": 1.2245483461697035, }, "euclidean_l2": { "w": -5.82934526003372, "b": 1.4390681633867946, "normalizer": 1.330015, "denorm_max_true": 60.28549793162577, "denorm_min_true": 27.506182591043363, "denorm_max_false": 27.058382739158215, "denorm_min_false": 1.224548265353685, }, "angular": { "w": -0.5288927551138177, "b": -4.450627600247528, "normalizer": 0.463143, "denorm_max_true": 1.109656206367124, "denorm_min_true": 1.0914425266009675, "denorm_max_false": 1.0887229955132125, "denorm_min_false": 0.9052858972210456, }, }, "DeepID": { "cosine": { "w": -1.1109389867203003, "b": -1.644356005882629, "normalizer": 0.142463, "denorm_max_true": 16.114369377586183, "denorm_min_true": 15.966222060549578, "denorm_max_false": 15.96057368926546, "denorm_min_false": 14.153198282635255, }, "euclidean": { "w": -4.267900227772648, "b": -0.11777629548659044, "normalizer": 124.194689, "denorm_max_true": 27.2342405984107, "denorm_min_true": 16.08201206739819, "denorm_max_false": 15.90739039527823, "denorm_min_false": 1.230125408063358, }, "euclidean_l2": { "w": -3.6681410379067394, "b": -0.9230555193862335, "normalizer": 0.533784, "denorm_max_true": 21.681829939622233, "denorm_min_true": 17.57160935306287, "denorm_max_false": 17.548244679217202, "denorm_min_false": 5.309829288484883, }, "angular": { "w": -0.2707576106983799, "b": -3.87004749575164, "normalizer": 0.171993, "denorm_max_true": 2.02619851743467, "denorm_min_true": 2.0220784432439474, "denorm_max_false": 2.021498115793411, "denorm_min_false": 1.951974654804089, }, }, "DeepFace": { "cosine": { "w": -5.415666808301125, "b": 1.4142777745857174, "normalizer": 0.379428, "denorm_max_true": 74.38935817923884, "denorm_min_true": 54.25111593547536, "denorm_max_false": 54.16884369236297, "denorm_min_false": 34.51159270342188, }, "euclidean": { "w": -7.001068623335827, "b": 5.229677082777916, "normalizer": 85.997482, "denorm_max_true": 90.45531547409938, "denorm_min_true": 50.79114821321717, "denorm_max_false": 50.4218117539695, "denorm_min_false": 14.53693626301508, }, "euclidean_l2": { "w": -6.520866920809606, "b": 3.750706572243227, "normalizer": 0.871123, "denorm_max_true": 80.42595166943502, "denorm_min_true": 39.6419822387709, "denorm_max_false": 39.578029519563, "denorm_min_false": 12.677597535252195, }, "angular": { "w": -0.20178503977417342, "b": -4.960267621006636, "normalizer": 0.2869, "denorm_max_true": 0.6803996880922583, "denorm_min_true": 0.6801854995078236, "denorm_max_false": 0.6759509854967268, "denorm_min_false": 0.6573199053945571, }, }, } ================================================ FILE: deepface/config/minmax.py ================================================ from typing import Tuple # these values are determined empirically for each model from unit test items minmax_values = { "VGG-Face": (0.0, 0.27054874177488775), "Facenet": (-3.541942596435547, 3.247769594192505), "Facenet512": (-4.388302803039551, 3.643190622329712), "OpenFace": (-0.34191709756851196, 0.26318004727363586), "DeepFace": (0.0, 17.294939041137695), "DeepID": (0.0, 127.86836242675781), "Dlib": (-0.41398656368255615, 0.5201137661933899), "ArcFace": (-2.945136308670044, 2.087090015411377), } def get_minmax_values(model_name: str) -> Tuple[float, float]: if model_name not in minmax_values: return (0, 0) return minmax_values[model_name] ================================================ FILE: deepface/config/threshold.py ================================================ thresholds = { "VGG-Face": {"cosine": 0.68, "euclidean": 1.17, "euclidean_l2": 1.17, "angular": 0.39}, "Facenet": {"cosine": 0.40, "euclidean": 10, "euclidean_l2": 0.80, "angular": 0.33}, "Facenet512": {"cosine": 0.30, "euclidean": 23.56, "euclidean_l2": 1.04, "angular": 0.35}, "ArcFace": {"cosine": 0.68, "euclidean": 4.15, "euclidean_l2": 1.13, "angular": 0.39}, "Dlib": {"cosine": 0.07, "euclidean": 0.6, "euclidean_l2": 0.4, "angular": 0.12}, "SFace": {"cosine": 0.593, "euclidean": 10.734, "euclidean_l2": 1.055, "angular": 0.36}, "OpenFace": {"cosine": 0.10, "euclidean": 0.55, "euclidean_l2": 0.55, "angular": 0.11}, "DeepFace": {"cosine": 0.23, "euclidean": 64, "euclidean_l2": 0.64, "angular": 0.12}, "DeepID": {"cosine": 0.015, "euclidean": 45, "euclidean_l2": 0.17, "angular": 0.04}, "GhostFaceNet": {"cosine": 0.65, "euclidean": 35.71, "euclidean_l2": 1.10, "angular": 0.38}, "Buffalo_L": {"cosine": 0.55, "euclidean": 0.6, "euclidean_l2": 1.1, "angular": 0.45}, } ================================================ FILE: deepface/models/Demography.py ================================================ # built-in dependencies from typing import Union, List, Any, cast from abc import ABC, abstractmethod # 3rd party dependencies import numpy as np from numpy.typing import NDArray # project dependencies from deepface.commons import package_utils tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model else: from tensorflow.keras.models import Model # Notice that all facial attribute analysis models must be inherited from this class # pylint: disable=too-few-public-methods class Demography(ABC): model: Model model_name: str @abstractmethod def predict( self, img: Union[NDArray[Any], List[NDArray[Any]]] ) -> Union[NDArray[Any], np.float64]: pass def _predict_internal(self, img_batch: NDArray[Any]) -> NDArray[Any]: """ Predict for single image or batched images. This method uses legacy method while receiving single image as input. And switch to batch prediction if receives batched images. Args: img_batch: Batch of images as np.ndarray (n, x, y, c) with n >= 1, x = image width, y = image height, c = channel Or Single image as np.ndarray (1, x, y, c) with x = image width, y = image height and c = channel The channel dimension will be 1 if input is grayscale. (For emotion model) """ if not self.model_name: # Check if called from derived class raise NotImplementedError("no model selected") assert img_batch.ndim == 4, "expected 4-dimensional tensor input" if img_batch.shape[0] == 1: # Single image # Predict with legacy method. return cast(NDArray[Any], self.model(img_batch, training=False).numpy()[0, :]) # Batch of images # Predict with batch prediction return cast(NDArray[Any], self.model.predict_on_batch(img_batch)) def _preprocess_batch_or_single_input( self, img: Union[NDArray[Any], List[NDArray[Any]]] ) -> NDArray[Any]: """ Preprocess single or batch of images, return as 4-D numpy array. Args: img: Single image as np.ndarray (224, 224, 3) or List of images as List[np.ndarray] or Batch of images as np.ndarray (n, 224, 224, 3) Returns: Four-dimensional numpy array (n, 224, 224, 3) """ image_batch = np.array(img) # Check input dimension if len(image_batch.shape) == 3: # Single image - add batch dimension image_batch = np.expand_dims(image_batch, axis=0) return image_batch ================================================ FILE: deepface/models/Detector.py ================================================ # built-in imports from typing import List, Tuple, Optional, Any from abc import ABC, abstractmethod from dataclasses import dataclass # Third party imports from numpy.typing import NDArray # Notice that all facial detector models must be inherited from this class # pylint: disable=unnecessary-pass, too-few-public-methods, too-many-instance-attributes class Detector(ABC): @abstractmethod def detect_faces(self, img: NDArray[Any]) -> List["FacialAreaRegion"]: """ Interface for detect and align face Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects where each object contains: - facial_area (FacialAreaRegion): The facial area region represented as x, y, w, h, left_eye and right_eye. left eye and right eye are eyes on the left and right respectively with respect to the person instead of observer. """ pass @dataclass class FacialAreaRegion: """ Initialize a Face object. Args: x (int): The x-coordinate of the top-left corner of the bounding box. y (int): The y-coordinate of the top-left corner of the bounding box. w (int): The width of the bounding box. h (int): The height of the bounding box. left_eye (tuple): The coordinates (x, y) of the left eye with respect to the person instead of observer. Default is None. right_eye (tuple): The coordinates (x, y) of the right eye with respect to the person instead of observer. Default is None. confidence (float, optional): Confidence score associated with the face detection. Default is None. """ x: int y: int w: int h: int left_eye: Optional[Tuple[int, int]] = None right_eye: Optional[Tuple[int, int]] = None confidence: Optional[float] = None nose: Optional[Tuple[int, int]] = None mouth_right: Optional[Tuple[int, int]] = None mouth_left: Optional[Tuple[int, int]] = None @dataclass class DetectedFace: """ Initialize detected face object. Args: img (np.ndarray): detected face image as numpy array facial_area (FacialAreaRegion): detected face's metadata (e.g. bounding box) confidence (float): confidence score for face detection """ img: NDArray[Any] facial_area: FacialAreaRegion confidence: float ================================================ FILE: deepface/models/FacialRecognition.py ================================================ # standard library imports from abc import ABC from typing import Any, Union, List, Tuple, cast # third party imports import numpy as np from numpy.typing import NDArray # project imports from deepface.commons import package_utils from deepface.modules.exceptions import InvalidEmbeddingsShapeError tf_version = package_utils.get_tf_major_version() if tf_version == 2: from tensorflow.keras.models import Model else: from keras.models import Model # Notice that all facial recognition models must be inherited from this class # pylint: disable=too-few-public-methods class FacialRecognition(ABC): model: Union[Model, Any] model_name: str input_shape: Tuple[int, int] output_shape: int def forward(self, img: NDArray[Any]) -> Union[List[float], List[List[float]]]: if not isinstance(self.model, Model): raise ValueError( "You must overwrite forward method if it is not a keras model," f"but {self.model_name} not overwritten!" ) # predict expexts e.g. (1, 224, 224, 3) shaped inputs if img.ndim == 3: img = np.expand_dims(img, axis=0) if img.ndim == 4 and img.shape[0] == 1: # model.predict causes memory issue when it is called in a for loop # embedding = model.predict(img, verbose=0)[0].tolist() embeddings = self.model(img, training=False).numpy() elif img.ndim == 4 and img.shape[0] > 1: embeddings = self.model.predict_on_batch(img) else: raise InvalidEmbeddingsShapeError( f"Input image must be (1, X, X, 3) shaped but it is {img.shape}" ) assert isinstance( embeddings, np.ndarray ), f"Embeddings must be numpy array but it is {type(embeddings)}" if embeddings.shape[0] == 1: return cast(List[float], embeddings[0].tolist()) return cast(List[List[float]], embeddings.tolist()) ================================================ FILE: deepface/models/__init__.py ================================================ ================================================ FILE: deepface/models/demography/Age.py ================================================ # stdlib dependencies from typing import List, Union, Any, cast # 3rd party dependencies import numpy as np from numpy.typing import NDArray # project dependencies from deepface.models.facial_recognition import VGGFace from deepface.commons import package_utils, weight_utils from deepface.models.Demography import Demography from deepface.commons.logger import Logger logger = Logger() # dependency configurations tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model, Sequential from keras.layers import Convolution2D, Flatten, Activation else: from tensorflow.keras.models import Model, Sequential from tensorflow.keras.layers import Convolution2D, Flatten, Activation WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/age_model_weights.h5" ) # pylint: disable=too-few-public-methods class ApparentAgeClient(Demography): """ Age model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "Age" def predict( self, img: Union[NDArray[Any], List[NDArray[Any]]] ) -> Union[np.float64, NDArray[Any]]: """ Predict apparent age(s) for single or multiple faces Args: img: Single image as np.ndarray (224, 224, 3) or List of images as List[np.ndarray] or Batch of images as np.ndarray (n, 224, 224, 3) Returns: np.ndarray (age_classes,) if single image, np.ndarray (n, age_classes) if batched images. """ # Preprocessing input image or image list. imgs = self._preprocess_batch_or_single_input(img) # Prediction from 3 channels image age_predictions = self._predict_internal(imgs) # Calculate apparent ages if len(age_predictions.shape) == 1: # Single prediction list return find_apparent_age(age_predictions) return np.array([find_apparent_age(age_prediction) for age_prediction in age_predictions]) def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Construct age model, download its weights and load Returns: model (Model) """ model = VGGFace.base_model() # -------------------------- classes = 101 base_model_output = Sequential() base_model_output = Convolution2D(classes, (1, 1), name="predictions")(model.layers[-4].output) base_model_output = Flatten()(base_model_output) base_model_output = Activation("softmax")(base_model_output) # -------------------------- age_model = Model(inputs=model.inputs, outputs=base_model_output) # -------------------------- # load weights weight_file = weight_utils.download_weights_if_necessary( file_name="age_model_weights.h5", source_url=url ) age_model = weight_utils.load_model_weights(model=age_model, weight_file=weight_file) return age_model def find_apparent_age(age_predictions: NDArray[Any]) -> np.float64: """ Find apparent age prediction from a given probas of ages Args: age_predictions (age_classes,) Returns: apparent_age (float) """ assert ( len(age_predictions.shape) == 1 ), f"Input should be a list of predictions, not batched. Got shape: {age_predictions.shape}" output_indexes = np.arange(0, 101) apparent_age = cast(np.float64, np.sum(age_predictions * output_indexes)) return apparent_age ================================================ FILE: deepface/models/demography/Emotion.py ================================================ # stdlib dependencies from typing import List, Union, Any # 3rd party dependencies import numpy as np from numpy.typing import NDArray import cv2 # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.Demography import Demography from deepface.commons.logger import Logger # dependency configuration tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D, AveragePooling2D, Flatten, Dense, Dropout else: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import ( Conv2D, MaxPooling2D, AveragePooling2D, Flatten, Dense, Dropout, ) # Labels for the emotions that can be detected by the model. labels = ["angry", "disgust", "fear", "happy", "sad", "surprise", "neutral"] logger = Logger() # pylint: disable=line-too-long, disable=too-few-public-methods WEIGHTS_URL = "https://github.com/serengil/deepface_models/releases/download/v1.0/facial_expression_model_weights.h5" class EmotionClient(Demography): """ Emotion model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "Emotion" def _preprocess_image(self, img: NDArray[Any]) -> NDArray[Any]: """ Preprocess single image for emotion detection Args: img: Input image (224, 224, 3) Returns: Preprocessed grayscale image (48, 48) """ img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_gray = cv2.resize(img_gray, (48, 48)) return img_gray def predict(self, img: Union[NDArray[Any], List[NDArray[Any]]]) -> NDArray[Any]: """ Predict emotion probabilities for single or multiple faces Args: img: Single image as np.ndarray (224, 224, 3) or List of images as List[np.ndarray] or Batch of images as np.ndarray (n, 224, 224, 3) Returns: np.ndarray (n, n_emotions) where n_emotions is the number of emotion categories """ # Preprocessing input image or image list. imgs = self._preprocess_batch_or_single_input(img) processed_imgs = np.expand_dims( np.array([self._preprocess_image(img) for img in imgs]), axis=-1 ) # Prediction predictions = self._predict_internal(processed_imgs) return predictions def load_model( url: str = WEIGHTS_URL, ) -> Sequential: """ Consruct emotion model, download and load weights """ num_classes = 7 model = Sequential() # 1st convolution layer model.add(Conv2D(64, (5, 5), activation="relu", input_shape=(48, 48, 1))) model.add(MaxPooling2D(pool_size=(5, 5), strides=(2, 2))) # 2nd convolution layer model.add(Conv2D(64, (3, 3), activation="relu")) model.add(Conv2D(64, (3, 3), activation="relu")) model.add(AveragePooling2D(pool_size=(3, 3), strides=(2, 2))) # 3rd convolution layer model.add(Conv2D(128, (3, 3), activation="relu")) model.add(Conv2D(128, (3, 3), activation="relu")) model.add(AveragePooling2D(pool_size=(3, 3), strides=(2, 2))) model.add(Flatten()) # fully connected neural networks model.add(Dense(1024, activation="relu")) model.add(Dropout(0.2)) model.add(Dense(1024, activation="relu")) model.add(Dropout(0.2)) model.add(Dense(num_classes, activation="softmax")) # ---------------------------- weight_file = weight_utils.download_weights_if_necessary( file_name="facial_expression_model_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) return model ================================================ FILE: deepface/models/demography/Gender.py ================================================ # stdlib dependencies from typing import List, Union, Any # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.models.facial_recognition import VGGFace from deepface.commons import package_utils, weight_utils from deepface.models.Demography import Demography from deepface.commons.logger import Logger logger = Logger() # ------------------------------------- # pylint: disable=line-too-long # ------------------------------------- # dependency configurations tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model, Sequential from keras.layers import Convolution2D, Flatten, Activation else: from tensorflow.keras.models import Model, Sequential from tensorflow.keras.layers import Convolution2D, Flatten, Activation WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/gender_model_weights.h5" ) # Labels for the genders that can be detected by the model. labels = ["Woman", "Man"] # pylint: disable=too-few-public-methods class GenderClient(Demography): """ Gender model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "Gender" def predict(self, img: Union[NDArray[Any], List[NDArray[Any]]]) -> NDArray[Any]: """ Predict gender probabilities for single or multiple faces Args: img: Single image as np.ndarray (224, 224, 3) or List of images as List[np.ndarray] or Batch of images as np.ndarray (n, 224, 224, 3) Returns: np.ndarray (n, 2) """ # Preprocessing input image or image list. imgs = self._preprocess_batch_or_single_input(img) # Prediction predictions = self._predict_internal(imgs) return predictions def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Construct gender model, download its weights and load Returns: model (Model) """ model = VGGFace.base_model() # -------------------------- classes = 2 base_model_output = Sequential() base_model_output = Convolution2D(classes, (1, 1), name="predictions")(model.layers[-4].output) base_model_output = Flatten()(base_model_output) base_model_output = Activation("softmax")(base_model_output) # -------------------------- gender_model = Model(inputs=model.inputs, outputs=base_model_output) # -------------------------- # load weights weight_file = weight_utils.download_weights_if_necessary( file_name="gender_model_weights.h5", source_url=url ) gender_model = weight_utils.load_model_weights(model=gender_model, weight_file=weight_file) return gender_model ================================================ FILE: deepface/models/demography/Race.py ================================================ # stdlib dependencies from typing import List, Union, Any # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.models.facial_recognition import VGGFace from deepface.commons import package_utils, weight_utils from deepface.models.Demography import Demography from deepface.commons.logger import Logger # pylint: disable=line-too-long # dependency configurations tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model, Sequential from keras.layers import Convolution2D, Flatten, Activation else: from tensorflow.keras.models import Model, Sequential from tensorflow.keras.layers import Convolution2D, Flatten, Activation WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/race_model_single_batch.h5" ) # Labels for the ethnic phenotypes that can be detected by the model. labels = ["asian", "indian", "black", "white", "middle eastern", "latino hispanic"] logger = Logger() # pylint: disable=too-few-public-methods class RaceClient(Demography): """ Race model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "Race" def predict(self, img: Union[NDArray[Any], List[NDArray[Any]]]) -> NDArray[Any]: """ Predict race probabilities for single or multiple faces Args: img: Single image as np.ndarray (224, 224, 3) or List of images as List[np.ndarray] or Batch of images as np.ndarray (n, 224, 224, 3) Returns: np.ndarray (n, n_races) where n_races is the number of race categories """ # Preprocessing input image or image list. imgs = self._preprocess_batch_or_single_input(img) # Prediction predictions = self._predict_internal(imgs) return predictions def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Construct race model, download its weights and load """ model = VGGFace.base_model() # -------------------------- classes = 6 base_model_output = Sequential() base_model_output = Convolution2D(classes, (1, 1), name="predictions")(model.layers[-4].output) base_model_output = Flatten()(base_model_output) base_model_output = Activation("softmax")(base_model_output) # -------------------------- race_model = Model(inputs=model.inputs, outputs=base_model_output) # -------------------------- # load weights weight_file = weight_utils.download_weights_if_necessary( file_name="race_model_single_batch.h5", source_url=url ) race_model = weight_utils.load_model_weights(model=race_model, weight_file=weight_file) return race_model ================================================ FILE: deepface/models/demography/__init__.py ================================================ ================================================ FILE: deepface/models/face_detection/CenterFace.py ================================================ # built-in dependencies import os from typing import List, Any, Tuple # 3rd party dependencies import numpy as np from numpy.typing import NDArray import cv2 # project dependencies from deepface.commons import weight_utils from deepface.models.Detector import Detector, FacialAreaRegion from deepface.commons.logger import Logger logger = Logger() # pylint: disable=c-extension-no-member WEIGHTS_URL = "https://github.com/Star-Clouds/CenterFace/raw/master/models/onnx/centerface.onnx" class CenterFaceClient(Detector): def __init__(self) -> None: # BUG: model must be flushed for each call # self.model = self.build_model() pass def build_model(self) -> "CenterFace": """ Download pre-trained weights of CenterFace model if necessary and load built model """ weights_path = weight_utils.download_weights_if_necessary( file_name="centerface.onnx", source_url=WEIGHTS_URL ) return CenterFace(weight_path=weights_path) def detect_faces(self, img: NDArray[Any]) -> List["FacialAreaRegion"]: """ Detect and align face with CenterFace Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp = [] threshold = float(os.getenv("CENTERFACE_THRESHOLD", "0.35")) # BUG: model causes problematic results from 2nd call if it is not flushed # detections, landmarks = self.model.forward( # img, img.shape[0], img.shape[1], threshold=threshold # ) detections, landmarks = self.build_model().forward( img, img.shape[0], img.shape[1], threshold=threshold ) for i, detection in enumerate(detections): boxes, confidence = detection[:4], detection[4] x = boxes[0] y = boxes[1] w = boxes[2] - x h = boxes[3] - y landmark = landmarks[i] right_eye = (int(landmark[0]), int(landmark[1])) left_eye = (int(landmark[2]), int(landmark[3])) # nose = (int(landmark[4]), int(landmark [5])) # mouth_right = (int(landmark[6]), int(landmark [7])) # mouth_left = (int(landmark[8]), int(landmark [9])) facial_area = FacialAreaRegion( x=int(x), y=int(y), w=int(w), h=int(h), left_eye=left_eye, right_eye=right_eye, confidence=min(max(0, float(confidence)), 1.0), ) resp.append(facial_area) return resp class CenterFace: """ This class is heavily inspired from github.com/Star-Clouds/CenterFace/blob/master/prj-python/centerface.py """ def __init__(self, weight_path: str) -> None: self.net = cv2.dnn.readNetFromONNX(weight_path) self.img_h_new: int = 0 self.img_w_new: int = 0 self.scale_h: float = 0 self.scale_w: float = 0 def forward(self, img: NDArray[Any], height: int, width: int, threshold: float = 0.5) -> Any: self.img_h_new, self.img_w_new, self.scale_h, self.scale_w = self.transform(height, width) return self.inference_opencv(img, threshold) def inference_opencv(self, img: NDArray[Any], threshold: float) -> Any: blob = cv2.dnn.blobFromImage( img, scalefactor=1.0, size=(self.img_w_new, self.img_h_new), mean=(0, 0, 0), swapRB=True, crop=False, ) self.net.setInput(blob) heatmap, scale, offset, lms = self.net.forward(["537", "538", "539", "540"]) return self.postprocess(heatmap, lms, offset, scale, threshold) def transform(self, h: int, w: int) -> Tuple[int, int, float, float]: img_h_new, img_w_new = int(np.ceil(h / 32) * 32), int(np.ceil(w / 32) * 32) scale_h, scale_w = img_h_new / h, img_w_new / w return img_h_new, img_w_new, scale_h, scale_w def postprocess( self, heatmap: NDArray[Any], lms: NDArray[Any], offset: NDArray[Any], scale: NDArray[Any], threshold: float, ) -> Any: dets, lms = self.decode( heatmap, scale, offset, lms, (self.img_h_new, self.img_w_new), threshold=threshold ) if len(dets) > 0: dets[:, 0:4:2], dets[:, 1:4:2] = ( dets[:, 0:4:2] / self.scale_w, dets[:, 1:4:2] / self.scale_h, ) lms[:, 0:10:2], lms[:, 1:10:2] = ( lms[:, 0:10:2] / self.scale_w, lms[:, 1:10:2] / self.scale_h, ) else: dets = np.empty(shape=[0, 5], dtype=np.float32) lms = np.empty(shape=[0, 10], dtype=np.float32) return dets, lms def decode( self, heatmap: NDArray[Any], scale: NDArray[Any], offset: NDArray[Any], landmark: NDArray[Any], size: Tuple[int, int], threshold: float = 0.1, ) -> Tuple[NDArray[Any], NDArray[Any]]: heatmap = np.squeeze(heatmap) scale0, scale1 = scale[0, 0, :, :], scale[0, 1, :, :] offset0, offset1 = offset[0, 0, :, :], offset[0, 1, :, :] c0, c1 = np.where(heatmap > threshold) boxes, lms = [], [] if len(c0) > 0: # pylint:disable=consider-using-enumerate for i in range(len(c0)): s0, s1 = np.exp(scale0[c0[i], c1[i]]) * 4, np.exp(scale1[c0[i], c1[i]]) * 4 o0, o1 = offset0[c0[i], c1[i]], offset1[c0[i], c1[i]] s = heatmap[c0[i], c1[i]] x1, y1 = max(0, (c1[i] + o1 + 0.5) * 4 - s1 / 2), max( 0, (c0[i] + o0 + 0.5) * 4 - s0 / 2 ) x1, y1 = min(x1, size[1]), min(y1, size[0]) boxes.append([x1, y1, min(x1 + s1, size[1]), min(y1 + s0, size[0]), s]) lm = [] for j in range(5): lm.append(landmark[0, j * 2 + 1, c0[i], c1[i]] * s1 + x1) lm.append(landmark[0, j * 2, c0[i], c1[i]] * s0 + y1) lms.append(lm) boxes_np = np.asarray(boxes, dtype=np.float32) keep = self.nms(boxes_np[:, :4], boxes_np[:, 4], 0.3) boxes_np = boxes_np[keep, :] lms_np = np.asarray(lms, dtype=np.float32) lms_np = lms_np[keep, :] return boxes_np, lms_np def nms(self, boxes: NDArray[Any], scores: NDArray[Any], nms_thresh: float) -> List[int]: x1 = boxes[:, 0] y1 = boxes[:, 1] x2 = boxes[:, 2] y2 = boxes[:, 3] areas = (x2 - x1 + 1) * (y2 - y1 + 1) order = np.argsort(scores)[::-1] num_detections = boxes.shape[0] suppressed = np.zeros((num_detections,), dtype=bool) keep = [] for _i in range(num_detections): i = order[_i] if suppressed[i]: continue keep.append(i) ix1 = x1[i] iy1 = y1[i] ix2 = x2[i] iy2 = y2[i] iarea = areas[i] for _j in range(_i + 1, num_detections): j = order[_j] if suppressed[j]: continue xx1 = max(ix1, x1[j]) yy1 = max(iy1, y1[j]) xx2 = min(ix2, x2[j]) yy2 = min(iy2, y2[j]) w = max(0, xx2 - xx1 + 1) h = max(0, yy2 - yy1 + 1) inter = w * h ovr = inter / (iarea + areas[j] - inter) if ovr >= nms_thresh: suppressed[j] = True return keep ================================================ FILE: deepface/models/face_detection/Dlib.py ================================================ # built-in dependencies from typing import List, Dict, Any # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.commons import weight_utils from deepface.models.Detector import Detector, FacialAreaRegion from deepface.commons.logger import Logger logger = Logger() WEIGHTS_URL = "http://dlib.net/files/shape_predictor_5_face_landmarks.dat.bz2" class DlibClient(Detector): def __init__(self) -> None: self.model = self.build_model() def build_model(self) -> Dict[str, Any]: """ Build a dlib hog face detector model Returns: model (Any) """ # this is not a must dependency. do not import it in the global level. try: import dlib except ModuleNotFoundError as e: raise ImportError( "Dlib is an optional detector, ensure the library is installed. " "Please install using 'pip install dlib'" ) from e # check required file exists in the home/.deepface/weights folder weight_file = weight_utils.download_weights_if_necessary( file_name="shape_predictor_5_face_landmarks.dat", source_url=WEIGHTS_URL, compress_type="bz2", ) face_detector = dlib.get_frontal_face_detector() sp = dlib.shape_predictor(weight_file) detector = {} detector["face_detector"] = face_detector detector["sp"] = sp return detector def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with dlib Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp = [] face_detector = self.model["face_detector"] # note that, by design, dlib's fhog face detector scores are >0 but not capped at 1 detections, scores, _ = face_detector.run(img, 1) if len(detections) > 0: for idx, detection in enumerate(detections): left = detection.left() right = detection.right() top = detection.top() bottom = detection.bottom() y = int(max(0, top)) h = int(min(bottom, img.shape[0]) - y) x = int(max(0, left)) w = int(min(right, img.shape[1]) - x) shape = self.model["sp"](img, detection) right_eye = ( int((shape.part(2).x + shape.part(3).x) // 2), int((shape.part(2).y + shape.part(3).y) // 2), ) left_eye = ( int((shape.part(0).x + shape.part(1).x) // 2), int((shape.part(0).y + shape.part(1).y) // 2), ) # never saw confidence higher than +3.5 github.com/davisking/dlib/issues/761 confidence = scores[idx] facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=min(max(0, confidence), 1.0), ) resp.append(facial_area) return resp ================================================ FILE: deepface/models/face_detection/FastMtCnn.py ================================================ # built-in dependencies from typing import Any, Union, List, Tuple # 3rd party dependencies import cv2 from numpy.typing import NDArray # project dependencies from deepface.models.Detector import Detector, FacialAreaRegion class FastMtCnnClient(Detector): """ Fast MtCnn Detector from github.com/timesler/facenet-pytorch """ def __init__(self) -> None: """Initialize FastMtCnnClient and build the model.""" self.model = self.build_model() def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with mtcnn Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp = [] img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # mtcnn expects RGB but OpenCV read BGR img_rgb = img_rgb.astype("uint8") # Fix facenet-pytorch dtype detections = self.model.detect( img_rgb, landmarks=True ) # returns boundingbox, prob, landmark if ( detections is not None and len(detections) > 0 and not any(detection is None for detection in detections) # issue 1043 ): for regions, confidence, eyes in zip(*detections): x, y, w, h = xyxy_to_xywh(regions) right_eye = eyes[0] left_eye = eyes[1] left_eye = tuple(int(i) for i in left_eye) right_eye = tuple(int(i) for i in right_eye) facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=confidence, ) resp.append(facial_area) return resp def build_model(self) -> Any: """ Build a fast mtcnn face detector model Returns: model (Any) """ # this is not a must dependency. do not import it in the global level. try: from facenet_pytorch import MTCNN as fast_mtcnn import torch except ModuleNotFoundError as e: raise ImportError( "FastMtcnn is an optional detector, ensure the library is installed. " "Please install using 'pip install facenet-pytorch'" ) from e device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") face_detector = fast_mtcnn(device=device) return face_detector def xyxy_to_xywh( regions: Union[ List[Union[int, float]], Tuple[Union[int, float], Union[int, float], Union[int, float], Union[int, float]], ], ) -> Tuple[int, int, int, int]: """ Convert (x1, y1, x2, y2) format to (x, y, w, h) format. Args: regions (list or tuple): facial area coordinates as x, y, x+w, y+h Returns: regions (tuple): facial area coordinates as x, y, w, h """ x, y, x_plus_w, y_plus_h = regions[0], regions[1], regions[2], regions[3] w = x_plus_w - x h = y_plus_h - y return (int(x), int(y), int(w), int(h)) ================================================ FILE: deepface/models/face_detection/MediaPipe.py ================================================ # built-in dependencies import os from typing import Any, List # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.models.Detector import Detector, FacialAreaRegion class MediaPipeClient(Detector): """ MediaPipe from google.github.io/mediapipe/solutions/face_detection """ def __init__(self) -> None: self.model = self.build_model() def build_model(self) -> Any: """ Build a mediapipe face detector model Returns: model (Any) """ # this is not a must dependency. do not import it in the global level. try: import mediapipe as mp except ModuleNotFoundError as e: raise ImportError( "MediaPipe is an optional detector, ensure the library is installed. " "Please install using 'pip install mediapipe'" ) from e mp_face_detection = mp.solutions.face_detection min_detection_confidence = float(os.environ.get("MEDIAPIPE_MIN_DETECTION_CONFIDENCE", 0.7)) model_selection = int(os.environ.get("MEDIAPIPE_MODEL_SELECTION", 0)) face_detection = mp_face_detection.FaceDetection( min_detection_confidence=min_detection_confidence, model_selection=model_selection ) return face_detection def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with mediapipe Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp: List[FacialAreaRegion] = [] img_width = img.shape[1] img_height = img.shape[0] results = self.model.process(img) # If no face has been detected, return an empty list if results.detections is None: return resp # Extract the bounding box, the landmarks and the confidence score for current_detection in results.detections: (confidence,) = current_detection.score bounding_box = current_detection.location_data.relative_bounding_box landmarks = current_detection.location_data.relative_keypoints x = int(bounding_box.xmin * img_width) w = int(bounding_box.width * img_width) y = int(bounding_box.ymin * img_height) h = int(bounding_box.height * img_height) right_eye = (int(landmarks[0].x * img_width), int(landmarks[0].y * img_height)) left_eye = (int(landmarks[1].x * img_width), int(landmarks[1].y * img_height)) # nose = (int(landmarks[2].x * img_width), int(landmarks[2].y * img_height)) # mouth = (int(landmarks[3].x * img_width), int(landmarks[3].y * img_height)) # right_ear = (int(landmarks[4].x * img_width), int(landmarks[4].y * img_height)) # left_ear = (int(landmarks[5].x * img_width), int(landmarks[5].y * img_height)) facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=float(confidence), ) resp.append(facial_area) return resp ================================================ FILE: deepface/models/face_detection/MtCnn.py ================================================ # built-in dependencies from typing import List, Any import warnings # 3rd party dependencies from numpy.typing import NDArray from mtcnn import MTCNN # project dependencies from deepface.models.Detector import Detector, FacialAreaRegion # pylint: disable=too-few-public-methods class MtCnnClient(Detector): """ Class to cover common face detection functionalitiy for MtCnn backend """ def __init__(self) -> None: with warnings.catch_warnings(): warnings.simplefilter("ignore", ResourceWarning) self.model = MTCNN() def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with mtcnn Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp = [] # mtcnn expects RGB but OpenCV read BGR # img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_rgb = img[:, :, ::-1] detections = self.model.detect_faces(img_rgb) if detections is not None and len(detections) > 0: for current_detection in detections: x, y, w, h = current_detection["box"] confidence = current_detection["confidence"] # mtcnn detector assigns left eye with respect to the observer # but we are setting it with respect to the person itself left_eye = current_detection["keypoints"]["right_eye"] right_eye = current_detection["keypoints"]["left_eye"] facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=confidence, ) resp.append(facial_area) return resp ================================================ FILE: deepface/models/face_detection/OpenCv.py ================================================ # built-in dependencies import os from typing import Any, List, Dict, Tuple, Optional # 3rd party dependencies import cv2 from numpy.typing import NDArray # project dependencies from deepface.models.Detector import Detector, FacialAreaRegion from deepface.modules.exceptions import UnimplementedError class OpenCvClient(Detector): """ Class to cover common face detection functionalitiy for OpenCv backend """ def __init__(self) -> None: """OpenCV face detector model initialization""" self.model = self.build_model() def build_model(self) -> Dict[str, Any]: """ Build opencv's face and eye detector models Returns: model (dict): including face_detector and eye_detector keys """ detector = {} detector["face_detector"] = self.__build_cascade("haarcascade") detector["eye_detector"] = self.__build_cascade("haarcascade_eye") return detector def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with opencv Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp = [] detected_face = None faces = [] try: # faces = detector["face_detector"].detectMultiScale(img, 1.3, 5) # note that, by design, opencv's haarcascade scores are >0 but not capped at 1 faces, _, scores = self.model["face_detector"].detectMultiScale3( img, 1.1, 10, outputRejectLevels=True ) except: pass if len(faces) > 0: for (x, y, w, h), confidence in zip(faces, scores): detected_face = img[int(y) : int(y + h), int(x) : int(x + w)] left_eye, right_eye = self.find_eyes(img=detected_face) # eyes found in the detected face instead image itself # detected face's coordinates should be added if left_eye is not None: left_eye = (int(x + left_eye[0]), int(y + left_eye[1])) if right_eye is not None: right_eye = (int(x + right_eye[0]), int(y + right_eye[1])) facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=(100 - confidence) / 100, ) resp.append(facial_area) return resp def find_eyes( self, img: NDArray[Any] ) -> Tuple[Optional[Tuple[int, int]], Optional[Tuple[int, int]]]: """ Find the left and right eye coordinates of given image Args: img (np.ndarray): given image Returns: left and right eye (tuple) """ left_eye = None right_eye = None # if image has unexpectedly 0 dimension then skip alignment if img.shape[0] == 0 or img.shape[1] == 0: return left_eye, right_eye detected_face_gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY ) # eye detector expects gray scale image eyes = self.model["eye_detector"].detectMultiScale(detected_face_gray, 1.1, 10) # ---------------------------------------------------------------- # opencv eye detection module is not strong. it might find more than 2 eyes! # besides, it returns eyes with different order in each call (issue 435) # this is an important issue because opencv is the default detector, # and ssd, some yolo models don't return eye coordinates, uses this function # this is finding the largest 2 eye. Thanks to @thelostpeace eyes = sorted(eyes, key=lambda v: abs(v[2] * v[3]), reverse=True) # ---------------------------------------------------------------- if len(eyes) >= 2: # decide left and right eye eye_1 = eyes[0] eye_2 = eyes[1] if eye_1[0] < eye_2[0]: right_eye = eye_1 left_eye = eye_2 else: right_eye = eye_2 left_eye = eye_1 # ----------------------- # find center of eyes left_eye = ( int(left_eye[0] + (left_eye[2] / 2)), int(left_eye[1] + (left_eye[3] / 2)), ) right_eye = ( int(right_eye[0] + (right_eye[2] / 2)), int(right_eye[1] + (right_eye[3] / 2)), ) return left_eye, right_eye def __build_cascade(self, model_name: str = "haarcascade") -> Any: """ Build a opencv face&eye detector models Returns: model (Any) """ opencv_path = self.__get_opencv_path() if model_name == "haarcascade": face_detector_path = os.path.join(opencv_path, "haarcascade_frontalface_default.xml") if not os.path.isfile(face_detector_path): raise ValueError( "Confirm that opencv is installed on your environment! Expected path ", face_detector_path, " violated.", ) detector = cv2.CascadeClassifier(face_detector_path) elif model_name == "haarcascade_eye": eye_detector_path = os.path.join(opencv_path, "haarcascade_eye.xml") if not os.path.isfile(eye_detector_path): raise ValueError( "Confirm that opencv is installed on your environment! Expected path ", eye_detector_path, " violated.", ) detector = cv2.CascadeClassifier(eye_detector_path) else: raise UnimplementedError(f"unimplemented model_name for build_cascade - {model_name}") return detector def __get_opencv_path(self) -> str: """ Returns where opencv installed Returns: installation_path (str) """ return os.path.join(os.path.dirname(cv2.__file__), "data") ================================================ FILE: deepface/models/face_detection/RetinaFace.py ================================================ # built-in dependencies from typing import List, Any # 3rd party dependencies from numpy.typing import NDArray from retinaface import RetinaFace as rf # project dependencies from deepface.models.Detector import Detector, FacialAreaRegion # pylint: disable=too-few-public-methods class RetinaFaceClient(Detector): def __init__(self) -> None: """RetinaFace face detector model initialization""" self.model = rf.build_model() def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with retinaface Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp: List[FacialAreaRegion] = [] obj = rf.detect_faces(img, model=self.model, threshold=0.9) if not isinstance(obj, dict): return resp for face_idx in obj.keys(): identity = obj[face_idx] detection = identity["facial_area"] y = detection[1] h = detection[3] - y x = detection[0] w = detection[2] - x # retinaface sets left and right eyes with respect to the person left_eye = identity["landmarks"]["left_eye"] right_eye = identity["landmarks"]["right_eye"] nose = identity["landmarks"].get("nose") mouth_right = identity["landmarks"].get("mouth_right") mouth_left = identity["landmarks"].get("mouth_left") # eyes are list of float, need to cast them tuple of int left_eye = tuple(int(i) for i in left_eye) right_eye = tuple(int(i) for i in right_eye) if nose is not None: nose = tuple(int(i) for i in nose) if mouth_right is not None: mouth_right = tuple(int(i) for i in mouth_right) if mouth_left is not None: mouth_left = tuple(int(i) for i in mouth_left) confidence = identity["score"] facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=confidence, nose=nose, mouth_left=mouth_left, mouth_right=mouth_right, ) resp.append(facial_area) return resp ================================================ FILE: deepface/models/face_detection/Ssd.py ================================================ # built-in dependencies from typing import List, Any from enum import IntEnum # 3rd party dependencies import cv2 import numpy as np from numpy.typing import NDArray # project dependencies from deepface.commons import weight_utils from deepface.models.Detector import Detector, FacialAreaRegion from deepface.commons.logger import Logger logger = Logger() # pylint: disable=line-too-long, c-extension-no-member MODEL_URL = "https://github.com/opencv/opencv/raw/3.4.0/samples/dnn/face_detector/deploy.prototxt" WEIGHTS_URL = "https://github.com/opencv/opencv_3rdparty/raw/dnn_samples_face_detector_20170830/res10_300x300_ssd_iter_140000.caffemodel" class SsdClient(Detector): def __init__(self) -> None: self.model = self.build_model() def build_model(self) -> Any: """ Build a ssd detector model Returns: model (Any): ssd model """ # model structure output_model = weight_utils.download_weights_if_necessary( file_name="deploy.prototxt", source_url=MODEL_URL, ) # pre-trained weights output_weights = weight_utils.download_weights_if_necessary( file_name="res10_300x300_ssd_iter_140000.caffemodel", source_url=WEIGHTS_URL, ) try: face_detector = cv2.dnn.readNetFromCaffe(output_model, output_weights) except Exception as err: raise ValueError( "Exception while calling opencv.dnn module." + "This is an optional dependency." + "You can install it as pip install opencv-contrib-python." ) from err return face_detector def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with ssd Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ # Because cv2.dnn.blobFromImage expects CV_8U (8-bit unsigned integer) values if img.dtype != np.uint8: img = img.astype(np.uint8) target_size = (300, 300) original_size = img.shape current_img = cv2.resize(img, target_size) aspect_ratio_x = original_size[1] / target_size[1] aspect_ratio_y = original_size[0] / target_size[0] imageBlob = cv2.dnn.blobFromImage(image=current_img) face_detector = self.model face_detector.setInput(imageBlob) detections = face_detector.forward() class ssd_labels(IntEnum): img_id = 0 is_face = 1 confidence = 2 left = 3 top = 4 right = 5 bottom = 6 faces = detections[0][0] faces = faces[ (faces[:, ssd_labels.is_face] == 1) & (faces[:, ssd_labels.confidence] >= 0.90) ] margins = [ssd_labels.left, ssd_labels.top, ssd_labels.right, ssd_labels.bottom] faces[:, margins] = np.int32(faces[:, margins] * 300) faces[:, margins] = np.int32( faces[:, margins] * [aspect_ratio_x, aspect_ratio_y, aspect_ratio_x, aspect_ratio_y] ) faces[:, [ssd_labels.right, ssd_labels.bottom]] -= faces[ :, [ssd_labels.left, ssd_labels.top] ] resp = [] for face in faces: confidence = float(face[ssd_labels.confidence]) x, y, w, h = map(int, face[margins]) facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=None, right_eye=None, confidence=confidence, ) resp.append(facial_area) return resp ================================================ FILE: deepface/models/face_detection/Yolo.py ================================================ # built-in dependencies import os from typing import List, Any from enum import Enum # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.models.Detector import Detector, FacialAreaRegion from deepface.commons.logger import Logger from deepface.commons import weight_utils logger = Logger() class YoloModel(Enum): # ref repo for v8n is https://github.com/derronqi/yolov8-face V8N = ("yolov8n-face.pt", "https://drive.google.com/uc?id=1qcr9DbgsX3ryrz2uU8w4Xm3cOrRywXqb") V8M = ( "yolov8m-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov8m-face.pt", ) V8L = ( "yolov8l-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov8l-face.pt", ) V11N = ( "yolov11n-face.pt", "https://github.com/akanametov/yolo-face/releases/download/1.0.0/yolov11n-face.pt", ) V11S = ( "yolov11s-face.pt", "https://github.com/akanametov/yolo-face/releases/download/1.0.0/yolov11s-face.pt", ) V11M = ( "yolov11m-face.pt", "https://github.com/akanametov/yolo-face/releases/download/1.0.0/yolov11m-face.pt", ) V11L = ( "yolov11l-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov11l-face.pt", ) V12N = ( "yolov12n-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov12n-face.pt", ) V12S = ( "yolov12s-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov12s-face.pt", ) V12M = ( "yolov12m-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov12m-face.pt", ) V12L = ( "yolov12l-face.pt", "https://github.com/YapaLab/yolo-face/releases/download/1.0.0/yolov12l-face.pt", ) def __init__(self, file_name: str, url: str): self.file_name = file_name self.url = url class YoloDetectorClient(Detector): def __init__(self, model: YoloModel): super().__init__() self.model = self.build_model(model) def build_model(self, model: YoloModel) -> Any: """ Build a yolo detector model Returns: model (Any) """ # Import the optional Ultralytics YOLO model try: import ultralytics from ultralytics import YOLO except ModuleNotFoundError as e: raise ImportError( "Yolo is an optional detector, ensure the library is installed. " "Please install using 'pip install ultralytics'" ) from e current_version = tuple(map(int, ultralytics.__version__.split(".")[:3])) if model.name == "V8N" and current_version < (8, 1, 6): raise ValueError("Yolov8n-face model requires ultralytics version 8.1.6 or higher.") if model.name in ["V11N", "V11S", "V11M"] and current_version < (8, 3, 203): raise ValueError("Yolov11 models require ultralytics version 8.3.203 or higher.") file_name, weight_url = model.value weight_file = weight_utils.download_weights_if_necessary( file_name=file_name, source_url=weight_url ) # Return face_detector return YOLO(weight_file) def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with yolo Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ resp = [] # Detect faces results = self.model.predict( img, verbose=False, show=False, conf=float(os.getenv("YOLO_MIN_DETECTION_CONFIDENCE", "0.25")), )[0] # For each face, extract the bounding box, the landmarks and confidence for result in results: if result.boxes is None: continue # Extract the bounding box and the confidence x, y, w, h = result.boxes.xywh.tolist()[0] confidence = result.boxes.conf.tolist()[0] right_eye = None left_eye = None # yolo-facev8 is detecting eyes through keypoints, # while for v11 keypoints are always None if result.keypoints is not None: # right_eye_conf = result.keypoints.conf[0][0] # left_eye_conf = result.keypoints.conf[0][1] right_eye = result.keypoints.xy[0][0].tolist() left_eye = result.keypoints.xy[0][1].tolist() # eyes are list of float, need to cast them tuple of int left_eye = tuple(int(i) for i in left_eye) right_eye = tuple(int(i) for i in right_eye) x, y, w, h = int(x - w / 2), int(y - h / 2), int(w), int(h) facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, left_eye=left_eye, right_eye=right_eye, confidence=confidence, ) resp.append(facial_area) return resp class YoloDetectorClientV8n(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V8N) class YoloDetectorClientV8m(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V8M) class YoloDetectorClientV8l(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V8L) class YoloDetectorClientV11n(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V11N) class YoloDetectorClientV11s(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V11S) class YoloDetectorClientV11m(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V11M) class YoloDetectorClientV11l(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V11L) class YoloDetectorClientV12n(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V12N) class YoloDetectorClientV12s(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V12S) class YoloDetectorClientV12m(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V12M) class YoloDetectorClientV12l(YoloDetectorClient): def __init__(self) -> None: super().__init__(YoloModel.V12L) ================================================ FILE: deepface/models/face_detection/YuNet.py ================================================ # built-in dependencies import os from typing import Any, List # 3rd party dependencies import cv2 from numpy.typing import NDArray # project dependencies from deepface.commons import weight_utils from deepface.models.Detector import Detector, FacialAreaRegion from deepface.commons.logger import Logger logger = Logger() # pylint:disable=line-too-long WEIGHTS_URL = "https://github.com/opencv/opencv_zoo/raw/main/models/face_detection_yunet/face_detection_yunet_2023mar.onnx" class YuNetClient(Detector): def __init__(self) -> None: self.model = self.build_model() def build_model(self) -> Any: """ Build a yunet detector model Returns: model (Any) """ opencv_version = cv2.__version__.split(".") if not len(opencv_version) >= 2: raise ValueError( f"OpenCv's version must have major and minor values but it is {opencv_version}" ) opencv_version_major = int(opencv_version[0]) opencv_version_minor = int(opencv_version[1]) if opencv_version_major < 4 or (opencv_version_major == 4 and opencv_version_minor < 8): # min requirement: https://github.com/opencv/opencv_zoo/issues/172 raise ValueError(f"YuNet requires opencv-python >= 4.8 but you have {cv2.__version__}") # pylint: disable=C0301 weight_file = weight_utils.download_weights_if_necessary( file_name="face_detection_yunet_2023mar.onnx", source_url=WEIGHTS_URL, ) try: face_detector = cv2.FaceDetectorYN_create(weight_file, "", (0, 0)) # type: ignore[attr-defined] except Exception as err: raise ValueError( "Exception while calling opencv.FaceDetectorYN_create module." + "This is an optional dependency." + "You can install it as pip install opencv-contrib-python." ) from err return face_detector def detect_faces(self, img: NDArray[Any]) -> List[FacialAreaRegion]: """ Detect and align face with yunet Args: img (np.ndarray): pre-loaded image as numpy array Returns: results (List[FacialAreaRegion]): A list of FacialAreaRegion objects """ # FaceDetector.detect_faces does not support score_threshold parameter. # We can set it via environment variable. score_threshold = float(os.environ.get("yunet_score_threshold", "0.9")) resp = [] faces = [] height, width = img.shape[0], img.shape[1] # resize image if it is too large (Yunet fails to detect faces on large input sometimes) # I picked 640 as a threshold because it is the default value of max_size in Yunet. resized = False r: float = 1 # resize factor if height > 640 or width > 640: r = 640.0 / max(height, width) img = cv2.resize(img, (int(width * r), int(height * r))) height, width = img.shape[0], img.shape[1] resized = True self.model.setInputSize((width, height)) self.model.setScoreThreshold(score_threshold) _, faces = self.model.detect(img) if faces is None: return resp for face in faces: # pylint: disable=W0105 """ The detection output faces is a two-dimension array of type CV_32F, whose rows are the detected face instances, columns are the location of a face and 5 facial landmarks. The format of each row is as follows: x1, y1, w, h, x_re, y_re, x_le, y_le, x_nt, y_nt, x_rcm, y_rcm, x_lcm, y_lcm, where x1, y1, w, h are the top-left coordinates, width and height of the face bounding box, {x, y}_{re, le, nt, rcm, lcm} stands for the coordinates of right eye, left eye, nose tip, the right corner and left corner of the mouth respectively. """ (x, y, w, h, x_le, y_le, x_re, y_re) = list(map(int, face[:8])) # YuNet returns negative coordinates if it thinks part of the detected face # is outside the frame. x = max(x, 0) y = max(y, 0) if resized: x, y, w, h = int(x / r), int(y / r), int(w / r), int(h / r) x_re, y_re, x_le, y_le = ( int(x_re / r), int(y_re / r), int(x_le / r), int(y_le / r), ) confidence = float(face[-1]) facial_area = FacialAreaRegion( x=x, y=y, w=w, h=h, confidence=confidence, left_eye=(x_re, y_re), right_eye=(x_le, y_le), ) resp.append(facial_area) return resp ================================================ FILE: deepface/models/face_detection/__init__.py ================================================ ================================================ FILE: deepface/models/facial_recognition/ArcFace.py ================================================ # built-in dependencies from typing import Any # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # pylint: disable=unsubscriptable-object # -------------------------------- # dependency configuration tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model from keras.layers import ( ZeroPadding2D, Input, Conv2D, BatchNormalization, PReLU, Add, Dropout, Flatten, Dense, ) else: from tensorflow.keras.models import Model from tensorflow.keras.layers import ( ZeroPadding2D, Input, Conv2D, BatchNormalization, PReLU, Add, Dropout, Flatten, Dense, ) WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/arcface_weights.h5" ) # pylint: disable=too-few-public-methods class ArcFaceClient(FacialRecognition): """ ArcFace model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "ArcFace" self.input_shape = (112, 112) self.output_shape = 512 def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Construct ArcFace model, download its weights and load Returns: model (Model) """ base_model = ResNet34() inputs = base_model.inputs[0] arcface_model = base_model.outputs[0] arcface_model = BatchNormalization(momentum=0.9, epsilon=2e-5)(arcface_model) arcface_model = Dropout(0.4)(arcface_model) arcface_model = Flatten()(arcface_model) arcface_model = Dense(512, activation=None, use_bias=True, kernel_initializer="glorot_normal")( arcface_model ) embedding = BatchNormalization(momentum=0.9, epsilon=2e-5, name="embedding", scale=True)( arcface_model ) model = Model(inputs, embedding, name=base_model.name) # --------------------------------------- weight_file = weight_utils.download_weights_if_necessary( file_name="arcface_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) # --------------------------------------- return model def ResNet34() -> Model: """ ResNet34 model Returns: model (Model) """ img_input = Input(shape=(112, 112, 3)) x = ZeroPadding2D(padding=1, name="conv1_pad")(img_input) x = Conv2D( 64, 3, strides=1, use_bias=False, kernel_initializer="glorot_normal", name="conv1_conv" )(x) x = BatchNormalization(axis=3, epsilon=2e-5, momentum=0.9, name="conv1_bn")(x) x = PReLU(shared_axes=[1, 2], name="conv1_prelu")(x) x = stack_fn(x) model = Model(img_input, x, name="ResNet34") return model def block1( x: Any, filters: int, kernel_size: int = 3, stride: int = 1, conv_shortcut: bool = True, name: str = "N/A", ) -> Any: bn_axis = 3 if conv_shortcut: shortcut = Conv2D( filters, 1, strides=stride, use_bias=False, kernel_initializer="glorot_normal", name=name + "_0_conv", )(x) shortcut = BatchNormalization( axis=bn_axis, epsilon=2e-5, momentum=0.9, name=name + "_0_bn" )(shortcut) else: shortcut = x x = BatchNormalization(axis=bn_axis, epsilon=2e-5, momentum=0.9, name=name + "_1_bn")(x) x = ZeroPadding2D(padding=1, name=name + "_1_pad")(x) x = Conv2D( filters, 3, strides=1, kernel_initializer="glorot_normal", use_bias=False, name=name + "_1_conv", )(x) x = BatchNormalization(axis=bn_axis, epsilon=2e-5, momentum=0.9, name=name + "_2_bn")(x) x = PReLU(shared_axes=[1, 2], name=name + "_1_prelu")(x) x = ZeroPadding2D(padding=1, name=name + "_2_pad")(x) x = Conv2D( filters, kernel_size, strides=stride, kernel_initializer="glorot_normal", use_bias=False, name=name + "_2_conv", )(x) x = BatchNormalization(axis=bn_axis, epsilon=2e-5, momentum=0.9, name=name + "_3_bn")(x) x = Add(name=name + "_add")([shortcut, x]) return x def stack1(x: Any, filters: int, blocks: int, stride1: int = 2, name: str = "N/A") -> Any: x = block1(x, filters, stride=stride1, name=name + "_block1") for i in range(2, blocks + 1): x = block1(x, filters, conv_shortcut=False, name=name + "_block" + str(i)) return x def stack_fn(x: Any) -> Any: x = stack1(x, 64, 3, name="conv2") x = stack1(x, 128, 4, name="conv3") x = stack1(x, 256, 6, name="conv4") return stack1(x, 512, 3, name="conv5") ================================================ FILE: deepface/models/facial_recognition/Buffalo_L.py ================================================ # built-in dependencies import os from typing import List, Union, Any # third-party dependencies import numpy as np from numpy.typing import NDArray # project dependencies from deepface.commons import weight_utils, folder_utils from deepface.commons.logger import Logger from deepface.models.FacialRecognition import FacialRecognition from deepface.modules.exceptions import InvalidEmbeddingsShapeError logger = Logger() class Buffalo_L(FacialRecognition): def __init__(self) -> None: self.model = None self.input_shape = (112, 112) self.output_shape = 512 self.load_model() def load_model(self) -> None: """Load the InsightFace Buffalo_L recognition model.""" try: from insightface.model_zoo import get_model except Exception as err: raise ModuleNotFoundError( "InsightFace and its dependencies are optional for the Buffalo_L model. " "Please install them with: " "pip install insightface>=0.7.3 onnxruntime>=1.9.0 typing-extensions pydantic" "albumentations" ) from err sub_dir = "buffalo_l" model_file = "webface_r50.onnx" model_rel_path = os.path.join(sub_dir, model_file) home = folder_utils.get_deepface_home() weights_dir = os.path.join(home, ".deepface", "weights") buffalo_l_dir = os.path.join(weights_dir, sub_dir) if not os.path.exists(buffalo_l_dir): os.makedirs(buffalo_l_dir, exist_ok=True) logger.info(f"Created directory: {buffalo_l_dir}") weights_path = weight_utils.download_weights_if_necessary( file_name=model_rel_path, source_url="https://drive.google.com/uc?export=download&confirm=pbef&id=1N0GL-8ehw_bz2eZQWz2b0A5XBdXdxZhg", # pylint: disable=line-too-long ) if not os.path.exists(weights_path): raise FileNotFoundError(f"Model file not found at: {weights_path}") logger.debug(f"Model file found at: {weights_path}") self.model = get_model(weights_path) self.model.prepare(ctx_id=-1, input_size=self.input_shape) def preprocess(self, img: NDArray[Any]) -> NDArray[Any]: """ Preprocess the input image or batch of images. Args: img: Input image or batch with shape (112, 112, 3) or (batch_size, 112, 112, 3). Returns: Preprocessed image(s) with RGB converted to BGR. """ if len(img.shape) == 3: img = np.expand_dims(img, axis=0) # Convert single image to batch of 1 elif len(img.shape) != 4: raise InvalidEmbeddingsShapeError( f"Input must be (112, 112, 3) or (X, 112, 112, 3). Got {img.shape}" ) # Convert RGB to BGR for the entire batch img = img[:, :, :, ::-1] return img def forward(self, img: NDArray[Any]) -> Union[List[float], List[List[float]]]: """ Extract facial embedding(s) from the input image or batch of images. Args: img: Input image or batch with shape (112, 112, 3) or (batch_size, 112, 112, 3). Returns: Embedding as a list of floats (single image) or list of lists of floats (batch). """ # Preprocess the input (single image or batch) img = self.preprocess(img) batch_size = img.shape[0] # Handle both single images and batches embeddings = [] for i in range(batch_size): embedding = self.model.get_feat(img[i]) embeddings.append(embedding.flatten().tolist()) # Return single embedding if batch_size is 1, otherwise return list of embeddings return embeddings[0] if batch_size == 1 else embeddings ================================================ FILE: deepface/models/facial_recognition/DeepID.py ================================================ # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model from keras.layers import ( Conv2D, Activation, Input, Add, MaxPooling2D, Flatten, Dense, Dropout, ) else: from tensorflow.keras.models import Model from tensorflow.keras.layers import ( Conv2D, Activation, Input, Add, MaxPooling2D, Flatten, Dense, Dropout, ) # pylint: disable=line-too-long WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/deepid_keras_weights.h5" ) # pylint: disable=too-few-public-methods class DeepIdClient(FacialRecognition): """ DeepId model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "DeepId" self.input_shape = (47, 55) self.output_shape = 160 def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Construct DeepId model, download its weights and load """ myInput = Input(shape=(55, 47, 3)) x = Conv2D(20, (4, 4), name="Conv1", activation="relu", input_shape=(55, 47, 3))(myInput) x = MaxPooling2D(pool_size=2, strides=2, name="Pool1")(x) x = Dropout(rate=0.99, name="D1")(x) x = Conv2D(40, (3, 3), name="Conv2", activation="relu")(x) x = MaxPooling2D(pool_size=2, strides=2, name="Pool2")(x) x = Dropout(rate=0.99, name="D2")(x) x = Conv2D(60, (3, 3), name="Conv3", activation="relu")(x) x = MaxPooling2D(pool_size=2, strides=2, name="Pool3")(x) x = Dropout(rate=0.99, name="D3")(x) x1 = Flatten()(x) fc11 = Dense(160, name="fc11")(x1) x2 = Conv2D(80, (2, 2), name="Conv4", activation="relu")(x) x2 = Flatten()(x2) fc12 = Dense(160, name="fc12")(x2) y = Add()([fc11, fc12]) y = Activation("relu", name="deepid")(y) model = Model(inputs=[myInput], outputs=y) # --------------------------------- weight_file = weight_utils.download_weights_if_necessary( file_name="deepid_keras_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) return model ================================================ FILE: deepface/models/facial_recognition/Dlib.py ================================================ # built-in dependencies from typing import List, Union, Any, cast # 3rd party dependencies import numpy as np from numpy.typing import NDArray # project dependencies from deepface.commons import weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # pylint: disable=too-few-public-methods WEIGHT_URL = "http://dlib.net/files/dlib_face_recognition_resnet_model_v1.dat.bz2" class DlibClient(FacialRecognition): """ Dlib model class """ def __init__(self) -> None: self.model = DlibResNet() self.model_name = "Dlib" self.input_shape = (150, 150) self.output_shape = 128 def forward(self, img: NDArray[Any]) -> Union[List[float], List[List[float]]]: """ Find embeddings with Dlib model. This model necessitates the override of the forward method because it is not a keras model. Args: img (np.ndarray): pre-loaded image(s) in BGR Returns embeddings (list of lists or list of floats): multi-dimensional vectors """ # Handle single image case if len(img.shape) == 3: img = np.expand_dims(img, axis=0) # bgr to rgb img = img[:, :, :, ::-1] # bgr to rgb # img is in scale of [0, 1] but expected [0, 255] if img.max() <= 1: img = img * 255 img = img.astype(np.uint8) embeddings = self.model.model.compute_face_descriptor(img) embeddings = [np.array(embedding).tolist() for embedding in embeddings] if len(embeddings) == 1: return cast(List[float], embeddings[0]) return cast(List[List[float]], embeddings) class DlibResNet: def __init__(self) -> None: # This is not a must dependency. Don't import it in the global level. try: import dlib except ModuleNotFoundError as e: raise ImportError( "Dlib is an optional dependency, ensure the library is installed." "Please install using 'pip install dlib' " ) from e weight_file = weight_utils.download_weights_if_necessary( file_name="dlib_face_recognition_resnet_model_v1.dat", source_url=WEIGHT_URL, compress_type="bz2", ) self.model = dlib.face_recognition_model_v1(weight_file) # return None # classes must return None ================================================ FILE: deepface/models/facial_recognition/Facenet.py ================================================ # built-in dependencies from typing import Any # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # -------------------------------- # dependency configuration tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model from keras.layers import Activation from keras.layers import BatchNormalization from keras.layers import Concatenate from keras.layers import Conv2D from keras.layers import Dense from keras.layers import Dropout from keras.layers import GlobalAveragePooling2D from keras.layers import Input from keras.layers import Lambda from keras.layers import MaxPooling2D from keras.layers import add from keras import backend as K else: from tensorflow.keras.models import Model from tensorflow.keras.layers import Activation from tensorflow.keras.layers import BatchNormalization from tensorflow.keras.layers import Concatenate from tensorflow.keras.layers import Conv2D from tensorflow.keras.layers import Dense from tensorflow.keras.layers import Dropout from tensorflow.keras.layers import GlobalAveragePooling2D from tensorflow.keras.layers import Input from tensorflow.keras.layers import Lambda from tensorflow.keras.layers import MaxPooling2D from tensorflow.keras.layers import add from tensorflow.keras import backend as K # pylint:disable=line-too-long FACENET128_WEIGHTS = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/facenet_weights.h5" ) FACENET512_WEIGHTS = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/facenet512_weights.h5" ) # -------------------------------- # pylint: disable=too-few-public-methods class FaceNet128dClient(FacialRecognition): """ FaceNet-128d model class """ def __init__(self) -> None: self.model = load_facenet128d_model() self.model_name = "FaceNet-128d" self.input_shape = (160, 160) self.output_shape = 128 class FaceNet512dClient(FacialRecognition): """ FaceNet-512d model class """ def __init__(self) -> None: self.model = load_facenet512d_model() self.model_name = "FaceNet-512d" self.input_shape = (160, 160) self.output_shape = 512 def scaling(x: NDArray[Any], scale: float) -> NDArray[Any]: return x * scale def InceptionResNetV1(dimension: int = 128) -> Model: """ InceptionResNetV1 model heavily inspired from github.com/davidsandberg/facenet/blob/master/src/models/inception_resnet_v1.py As mentioned in Sandberg's repo's readme, pre-trained models are using Inception ResNet v1 Besides training process is documented at sefiks.com/2018/09/03/face-recognition-with-facenet-in-keras/ Args: dimension (int): number of dimensions in the embedding layer Returns: model (Model) """ inputs = Input(shape=(160, 160, 3)) x = Conv2D(32, 3, strides=2, padding="valid", use_bias=False, name="Conv2d_1a_3x3")(inputs) x = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Conv2d_1a_3x3_BatchNorm" )(x) x = Activation("relu", name="Conv2d_1a_3x3_Activation")(x) x = Conv2D(32, 3, strides=1, padding="valid", use_bias=False, name="Conv2d_2a_3x3")(x) x = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Conv2d_2a_3x3_BatchNorm" )(x) x = Activation("relu", name="Conv2d_2a_3x3_Activation")(x) x = Conv2D(64, 3, strides=1, padding="same", use_bias=False, name="Conv2d_2b_3x3")(x) x = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Conv2d_2b_3x3_BatchNorm" )(x) x = Activation("relu", name="Conv2d_2b_3x3_Activation")(x) x = MaxPooling2D(3, strides=2, name="MaxPool_3a_3x3")(x) x = Conv2D(80, 1, strides=1, padding="valid", use_bias=False, name="Conv2d_3b_1x1")(x) x = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Conv2d_3b_1x1_BatchNorm" )(x) x = Activation("relu", name="Conv2d_3b_1x1_Activation")(x) x = Conv2D(192, 3, strides=1, padding="valid", use_bias=False, name="Conv2d_4a_3x3")(x) x = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Conv2d_4a_3x3_BatchNorm" )(x) x = Activation("relu", name="Conv2d_4a_3x3_Activation")(x) x = Conv2D(256, 3, strides=2, padding="valid", use_bias=False, name="Conv2d_4b_3x3")(x) x = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Conv2d_4b_3x3_BatchNorm" )(x) x = Activation("relu", name="Conv2d_4b_3x3_Activation")(x) # 5x Block35 (Inception-ResNet-A block): branch_0 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_1_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_1_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block35_1_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_1_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_1_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_1_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_1_Branch_1_Conv2d_0b_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_1_Branch_1_Conv2d_0b_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_1_Branch_1_Conv2d_0b_3x3_Activation")(branch_1) branch_2 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_1_Branch_2_Conv2d_0a_1x1" )(x) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_1_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_1_Branch_2_Conv2d_0a_1x1_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_1_Branch_2_Conv2d_0b_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_1_Branch_2_Conv2d_0b_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_1_Branch_2_Conv2d_0b_3x3_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_1_Branch_2_Conv2d_0c_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_1_Branch_2_Conv2d_0c_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_1_Branch_2_Conv2d_0c_3x3_Activation")(branch_2) branches = [branch_0, branch_1, branch_2] mixed = Concatenate(axis=3, name="Block35_1_Concatenate")(branches) up = Conv2D(256, 1, strides=1, padding="same", use_bias=True, name="Block35_1_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.17})(up) x = add([x, up]) x = Activation("relu", name="Block35_1_Activation")(x) branch_0 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_2_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_2_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block35_2_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_2_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_2_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_2_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_2_Branch_1_Conv2d_0b_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_2_Branch_1_Conv2d_0b_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_2_Branch_1_Conv2d_0b_3x3_Activation")(branch_1) branch_2 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_2_Branch_2_Conv2d_0a_1x1" )(x) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_2_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_2_Branch_2_Conv2d_0a_1x1_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_2_Branch_2_Conv2d_0b_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_2_Branch_2_Conv2d_0b_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_2_Branch_2_Conv2d_0b_3x3_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_2_Branch_2_Conv2d_0c_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_2_Branch_2_Conv2d_0c_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_2_Branch_2_Conv2d_0c_3x3_Activation")(branch_2) branches = [branch_0, branch_1, branch_2] mixed = Concatenate(axis=3, name="Block35_2_Concatenate")(branches) up = Conv2D(256, 1, strides=1, padding="same", use_bias=True, name="Block35_2_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.17})(up) x = add([x, up]) x = Activation("relu", name="Block35_2_Activation")(x) branch_0 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_3_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_3_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block35_3_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_3_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_3_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_3_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_3_Branch_1_Conv2d_0b_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_3_Branch_1_Conv2d_0b_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_3_Branch_1_Conv2d_0b_3x3_Activation")(branch_1) branch_2 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_3_Branch_2_Conv2d_0a_1x1" )(x) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_3_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_3_Branch_2_Conv2d_0a_1x1_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_3_Branch_2_Conv2d_0b_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_3_Branch_2_Conv2d_0b_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_3_Branch_2_Conv2d_0b_3x3_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_3_Branch_2_Conv2d_0c_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_3_Branch_2_Conv2d_0c_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_3_Branch_2_Conv2d_0c_3x3_Activation")(branch_2) branches = [branch_0, branch_1, branch_2] mixed = Concatenate(axis=3, name="Block35_3_Concatenate")(branches) up = Conv2D(256, 1, strides=1, padding="same", use_bias=True, name="Block35_3_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.17})(up) x = add([x, up]) x = Activation("relu", name="Block35_3_Activation")(x) branch_0 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_4_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_4_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block35_4_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_4_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_4_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_4_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_4_Branch_1_Conv2d_0b_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_4_Branch_1_Conv2d_0b_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_4_Branch_1_Conv2d_0b_3x3_Activation")(branch_1) branch_2 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_4_Branch_2_Conv2d_0a_1x1" )(x) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_4_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_4_Branch_2_Conv2d_0a_1x1_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_4_Branch_2_Conv2d_0b_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_4_Branch_2_Conv2d_0b_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_4_Branch_2_Conv2d_0b_3x3_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_4_Branch_2_Conv2d_0c_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_4_Branch_2_Conv2d_0c_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_4_Branch_2_Conv2d_0c_3x3_Activation")(branch_2) branches = [branch_0, branch_1, branch_2] mixed = Concatenate(axis=3, name="Block35_4_Concatenate")(branches) up = Conv2D(256, 1, strides=1, padding="same", use_bias=True, name="Block35_4_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.17})(up) x = add([x, up]) x = Activation("relu", name="Block35_4_Activation")(x) branch_0 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_5_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_5_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block35_5_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_5_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_5_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_5_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_5_Branch_1_Conv2d_0b_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_5_Branch_1_Conv2d_0b_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block35_5_Branch_1_Conv2d_0b_3x3_Activation")(branch_1) branch_2 = Conv2D( 32, 1, strides=1, padding="same", use_bias=False, name="Block35_5_Branch_2_Conv2d_0a_1x1" )(x) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_5_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_5_Branch_2_Conv2d_0a_1x1_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_5_Branch_2_Conv2d_0b_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_5_Branch_2_Conv2d_0b_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_5_Branch_2_Conv2d_0b_3x3_Activation")(branch_2) branch_2 = Conv2D( 32, 3, strides=1, padding="same", use_bias=False, name="Block35_5_Branch_2_Conv2d_0c_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block35_5_Branch_2_Conv2d_0c_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Block35_5_Branch_2_Conv2d_0c_3x3_Activation")(branch_2) branches = [branch_0, branch_1, branch_2] mixed = Concatenate(axis=3, name="Block35_5_Concatenate")(branches) up = Conv2D(256, 1, strides=1, padding="same", use_bias=True, name="Block35_5_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.17})(up) x = add([x, up]) x = Activation("relu", name="Block35_5_Activation")(x) # Mixed 6a (Reduction-A block): branch_0 = Conv2D( 384, 3, strides=2, padding="valid", use_bias=False, name="Mixed_6a_Branch_0_Conv2d_1a_3x3" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_6a_Branch_0_Conv2d_1a_3x3_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Mixed_6a_Branch_0_Conv2d_1a_3x3_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Mixed_6a_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_6a_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Mixed_6a_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, 3, strides=1, padding="same", use_bias=False, name="Mixed_6a_Branch_1_Conv2d_0b_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_6a_Branch_1_Conv2d_0b_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Mixed_6a_Branch_1_Conv2d_0b_3x3_Activation")(branch_1) branch_1 = Conv2D( 256, 3, strides=2, padding="valid", use_bias=False, name="Mixed_6a_Branch_1_Conv2d_1a_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_6a_Branch_1_Conv2d_1a_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Mixed_6a_Branch_1_Conv2d_1a_3x3_Activation")(branch_1) branch_pool = MaxPooling2D( 3, strides=2, padding="valid", name="Mixed_6a_Branch_2_MaxPool_1a_3x3" )(x) branches = [branch_0, branch_1, branch_pool] x = Concatenate(axis=3, name="Mixed_6a")(branches) # 10x Block17 (Inception-ResNet-B block): branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_1_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_1_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_1_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_1_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_1_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_1_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_1_Branch_1_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_1_Branch_1_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_1_Branch_1_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_1_Branch_1_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_1_Branch_1_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_1_Branch_1_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_1_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_1_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_1_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_2_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_2_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_2_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_2_Branch_2_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_2_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_2_Branch_2_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_2_Branch_2_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_2_Branch_2_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_2_Branch_2_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_2_Branch_2_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_2_Branch_2_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_2_Branch_2_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_2_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_2_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_2_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_3_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_3_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_3_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_3_Branch_3_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_3_Branch_3_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_3_Branch_3_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_3_Branch_3_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_3_Branch_3_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_3_Branch_3_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_3_Branch_3_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_3_Branch_3_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_3_Branch_3_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_3_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_3_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_3_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_4_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_4_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_4_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_4_Branch_4_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_4_Branch_4_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_4_Branch_4_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_4_Branch_4_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_4_Branch_4_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_4_Branch_4_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_4_Branch_4_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_4_Branch_4_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_4_Branch_4_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_4_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_4_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_4_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_5_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_5_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_5_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_5_Branch_5_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_5_Branch_5_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_5_Branch_5_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_5_Branch_5_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_5_Branch_5_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_5_Branch_5_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_5_Branch_5_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_5_Branch_5_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_5_Branch_5_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_5_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_5_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_5_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_6_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_6_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_6_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_6_Branch_6_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_6_Branch_6_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_6_Branch_6_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_6_Branch_6_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_6_Branch_6_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_6_Branch_6_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_6_Branch_6_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_6_Branch_6_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_6_Branch_6_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_6_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_6_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_6_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_7_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_7_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_7_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_7_Branch_7_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_7_Branch_7_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_7_Branch_7_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_7_Branch_7_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_7_Branch_7_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_7_Branch_7_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_7_Branch_7_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_7_Branch_7_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_7_Branch_7_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_7_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_7_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_7_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_8_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_8_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_8_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_8_Branch_8_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_8_Branch_8_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_8_Branch_8_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_8_Branch_8_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_8_Branch_8_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_8_Branch_8_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_8_Branch_8_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_8_Branch_8_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_8_Branch_8_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_8_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_8_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_8_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_9_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_9_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_9_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_9_Branch_9_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_9_Branch_9_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_9_Branch_9_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_9_Branch_9_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_9_Branch_9_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_9_Branch_9_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_9_Branch_9_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_9_Branch_9_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_9_Branch_9_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_9_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_9_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_9_Activation")(x) branch_0 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_10_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_10_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block17_10_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 128, 1, strides=1, padding="same", use_bias=False, name="Block17_10_Branch_10_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_10_Branch_10_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_10_Branch_10_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 128, [1, 7], strides=1, padding="same", use_bias=False, name="Block17_10_Branch_10_Conv2d_0b_1x7", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_10_Branch_10_Conv2d_0b_1x7_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_10_Branch_10_Conv2d_0b_1x7_Activation")(branch_1) branch_1 = Conv2D( 128, [7, 1], strides=1, padding="same", use_bias=False, name="Block17_10_Branch_10_Conv2d_0c_7x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block17_10_Branch_10_Conv2d_0c_7x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block17_10_Branch_10_Conv2d_0c_7x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block17_10_Concatenate")(branches) up = Conv2D(896, 1, strides=1, padding="same", use_bias=True, name="Block17_10_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.1})(up) x = add([x, up]) x = Activation("relu", name="Block17_10_Activation")(x) # Mixed 7a (Reduction-B block): 8 x 8 x 2080 branch_0 = Conv2D( 256, 1, strides=1, padding="same", use_bias=False, name="Mixed_7a_Branch_0_Conv2d_0a_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_0_Conv2d_0a_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Mixed_7a_Branch_0_Conv2d_0a_1x1_Activation")(branch_0) branch_0 = Conv2D( 384, 3, strides=2, padding="valid", use_bias=False, name="Mixed_7a_Branch_0_Conv2d_1a_3x3" )(branch_0) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_0_Conv2d_1a_3x3_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Mixed_7a_Branch_0_Conv2d_1a_3x3_Activation")(branch_0) branch_1 = Conv2D( 256, 1, strides=1, padding="same", use_bias=False, name="Mixed_7a_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Mixed_7a_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 256, 3, strides=2, padding="valid", use_bias=False, name="Mixed_7a_Branch_1_Conv2d_1a_3x3" )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_1_Conv2d_1a_3x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Mixed_7a_Branch_1_Conv2d_1a_3x3_Activation")(branch_1) branch_2 = Conv2D( 256, 1, strides=1, padding="same", use_bias=False, name="Mixed_7a_Branch_2_Conv2d_0a_1x1" )(x) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Mixed_7a_Branch_2_Conv2d_0a_1x1_Activation")(branch_2) branch_2 = Conv2D( 256, 3, strides=1, padding="same", use_bias=False, name="Mixed_7a_Branch_2_Conv2d_0b_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_2_Conv2d_0b_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Mixed_7a_Branch_2_Conv2d_0b_3x3_Activation")(branch_2) branch_2 = Conv2D( 256, 3, strides=2, padding="valid", use_bias=False, name="Mixed_7a_Branch_2_Conv2d_1a_3x3" )(branch_2) branch_2 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Mixed_7a_Branch_2_Conv2d_1a_3x3_BatchNorm", )(branch_2) branch_2 = Activation("relu", name="Mixed_7a_Branch_2_Conv2d_1a_3x3_Activation")(branch_2) branch_pool = MaxPooling2D( 3, strides=2, padding="valid", name="Mixed_7a_Branch_3_MaxPool_1a_3x3" )(x) branches = [branch_0, branch_1, branch_2, branch_pool] x = Concatenate(axis=3, name="Mixed_7a")(branches) # 5x Block8 (Inception-ResNet-C block): branch_0 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_1_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_1_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block8_1_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_1_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_1_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_1_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, [1, 3], strides=1, padding="same", use_bias=False, name="Block8_1_Branch_1_Conv2d_0b_1x3", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_1_Branch_1_Conv2d_0b_1x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_1_Branch_1_Conv2d_0b_1x3_Activation")(branch_1) branch_1 = Conv2D( 192, [3, 1], strides=1, padding="same", use_bias=False, name="Block8_1_Branch_1_Conv2d_0c_3x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_1_Branch_1_Conv2d_0c_3x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_1_Branch_1_Conv2d_0c_3x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block8_1_Concatenate")(branches) up = Conv2D(1792, 1, strides=1, padding="same", use_bias=True, name="Block8_1_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.2})(up) x = add([x, up]) x = Activation("relu", name="Block8_1_Activation")(x) branch_0 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_2_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_2_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block8_2_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_2_Branch_2_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_2_Branch_2_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_2_Branch_2_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, [1, 3], strides=1, padding="same", use_bias=False, name="Block8_2_Branch_2_Conv2d_0b_1x3", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_2_Branch_2_Conv2d_0b_1x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_2_Branch_2_Conv2d_0b_1x3_Activation")(branch_1) branch_1 = Conv2D( 192, [3, 1], strides=1, padding="same", use_bias=False, name="Block8_2_Branch_2_Conv2d_0c_3x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_2_Branch_2_Conv2d_0c_3x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_2_Branch_2_Conv2d_0c_3x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block8_2_Concatenate")(branches) up = Conv2D(1792, 1, strides=1, padding="same", use_bias=True, name="Block8_2_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.2})(up) x = add([x, up]) x = Activation("relu", name="Block8_2_Activation")(x) branch_0 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_3_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_3_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block8_3_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_3_Branch_3_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_3_Branch_3_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_3_Branch_3_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, [1, 3], strides=1, padding="same", use_bias=False, name="Block8_3_Branch_3_Conv2d_0b_1x3", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_3_Branch_3_Conv2d_0b_1x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_3_Branch_3_Conv2d_0b_1x3_Activation")(branch_1) branch_1 = Conv2D( 192, [3, 1], strides=1, padding="same", use_bias=False, name="Block8_3_Branch_3_Conv2d_0c_3x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_3_Branch_3_Conv2d_0c_3x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_3_Branch_3_Conv2d_0c_3x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block8_3_Concatenate")(branches) up = Conv2D(1792, 1, strides=1, padding="same", use_bias=True, name="Block8_3_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.2})(up) x = add([x, up]) x = Activation("relu", name="Block8_3_Activation")(x) branch_0 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_4_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_4_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block8_4_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_4_Branch_4_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_4_Branch_4_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_4_Branch_4_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, [1, 3], strides=1, padding="same", use_bias=False, name="Block8_4_Branch_4_Conv2d_0b_1x3", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_4_Branch_4_Conv2d_0b_1x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_4_Branch_4_Conv2d_0b_1x3_Activation")(branch_1) branch_1 = Conv2D( 192, [3, 1], strides=1, padding="same", use_bias=False, name="Block8_4_Branch_4_Conv2d_0c_3x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_4_Branch_4_Conv2d_0c_3x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_4_Branch_4_Conv2d_0c_3x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block8_4_Concatenate")(branches) up = Conv2D(1792, 1, strides=1, padding="same", use_bias=True, name="Block8_4_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.2})(up) x = add([x, up]) x = Activation("relu", name="Block8_4_Activation")(x) branch_0 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_5_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_5_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block8_5_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_5_Branch_5_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_5_Branch_5_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_5_Branch_5_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, [1, 3], strides=1, padding="same", use_bias=False, name="Block8_5_Branch_5_Conv2d_0b_1x3", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_5_Branch_5_Conv2d_0b_1x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_5_Branch_5_Conv2d_0b_1x3_Activation")(branch_1) branch_1 = Conv2D( 192, [3, 1], strides=1, padding="same", use_bias=False, name="Block8_5_Branch_5_Conv2d_0c_3x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_5_Branch_5_Conv2d_0c_3x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_5_Branch_5_Conv2d_0c_3x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block8_5_Concatenate")(branches) up = Conv2D(1792, 1, strides=1, padding="same", use_bias=True, name="Block8_5_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 0.2})(up) x = add([x, up]) x = Activation("relu", name="Block8_5_Activation")(x) branch_0 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_6_Branch_0_Conv2d_1x1" )(x) branch_0 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_6_Branch_0_Conv2d_1x1_BatchNorm", )(branch_0) branch_0 = Activation("relu", name="Block8_6_Branch_0_Conv2d_1x1_Activation")(branch_0) branch_1 = Conv2D( 192, 1, strides=1, padding="same", use_bias=False, name="Block8_6_Branch_1_Conv2d_0a_1x1" )(x) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_6_Branch_1_Conv2d_0a_1x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_6_Branch_1_Conv2d_0a_1x1_Activation")(branch_1) branch_1 = Conv2D( 192, [1, 3], strides=1, padding="same", use_bias=False, name="Block8_6_Branch_1_Conv2d_0b_1x3", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_6_Branch_1_Conv2d_0b_1x3_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_6_Branch_1_Conv2d_0b_1x3_Activation")(branch_1) branch_1 = Conv2D( 192, [3, 1], strides=1, padding="same", use_bias=False, name="Block8_6_Branch_1_Conv2d_0c_3x1", )(branch_1) branch_1 = BatchNormalization( axis=3, momentum=0.995, epsilon=0.001, scale=False, name="Block8_6_Branch_1_Conv2d_0c_3x1_BatchNorm", )(branch_1) branch_1 = Activation("relu", name="Block8_6_Branch_1_Conv2d_0c_3x1_Activation")(branch_1) branches = [branch_0, branch_1] mixed = Concatenate(axis=3, name="Block8_6_Concatenate")(branches) up = Conv2D(1792, 1, strides=1, padding="same", use_bias=True, name="Block8_6_Conv2d_1x1")( mixed ) up = Lambda(scaling, output_shape=K.int_shape(up)[1:], arguments={"scale": 1})(up) x = add([x, up]) # Classification block x = GlobalAveragePooling2D(name="AvgPool")(x) x = Dropout(1.0 - 0.8, name="Dropout")(x) # Bottleneck x = Dense(dimension, use_bias=False, name="Bottleneck")(x) x = BatchNormalization(momentum=0.995, epsilon=0.001, scale=False, name="Bottleneck_BatchNorm")( x ) # Create model model = Model(inputs, x, name="inception_resnet_v1") return model def load_facenet128d_model( url: str = FACENET128_WEIGHTS, ) -> Model: """ Construct FaceNet-128d model, download weights and then load weights Args: dimension (int): construct FaceNet-128d or FaceNet-512d models Returns: model (Model) """ model = InceptionResNetV1() weight_file = weight_utils.download_weights_if_necessary( file_name="facenet_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) return model def load_facenet512d_model( url: str = FACENET512_WEIGHTS, ) -> Model: """ Construct FaceNet-512d model, download its weights and load Returns: model (Model) """ model = InceptionResNetV1(dimension=512) weight_file = weight_utils.download_weights_if_necessary( file_name="facenet512_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) return model ================================================ FILE: deepface/models/facial_recognition/FbDeepFace.py ================================================ # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # -------------------------------- # dependency configuration tf_major = package_utils.get_tf_major_version() tf_minor = package_utils.get_tf_minor_version() if tf_major == 1: from keras.models import Model, Sequential from keras.layers import ( Convolution2D, MaxPooling2D, Flatten, Dense, Dropout, ) else: from tensorflow.keras.models import Model, Sequential from tensorflow.keras.layers import ( Convolution2D, MaxPooling2D, Flatten, Dense, Dropout, ) # pylint: disable=line-too-long, too-few-public-methods WEIGHTS_URL = "https://github.com/swghosh/DeepFace/releases/download/weights-vggface2-2d-aligned/VGGFace2_DeepFace_weights_val-0.9034.h5.zip" class DeepFaceClient(FacialRecognition): """ Fb's DeepFace model class """ def __init__(self) -> None: # DeepFace requires tf 2.12 or less if tf_major == 2 and tf_minor > 12: # Ref: https://github.com/serengil/deepface/pull/1079 raise ValueError( "DeepFace model requires LocallyConnected2D but it is no longer supported" f" after tf 2.12 but you have {tf_major}.{tf_minor}. You need to downgrade your tf." ) self.model = load_model() self.model_name = "DeepFace" self.input_shape = (152, 152) self.output_shape = 4096 def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Construct DeepFace model, download its weights and load """ # we have some checks for this dependency in the init of client # putting this in global causes library initialization if tf_major == 1: from keras.layers import LocallyConnected2D else: from tensorflow.keras.layers import LocallyConnected2D base_model = Sequential() base_model.add( Convolution2D(32, (11, 11), activation="relu", name="C1", input_shape=(152, 152, 3)) ) base_model.add(MaxPooling2D(pool_size=3, strides=2, padding="same", name="M2")) base_model.add(Convolution2D(16, (9, 9), activation="relu", name="C3")) base_model.add(LocallyConnected2D(16, (9, 9), activation="relu", name="L4")) base_model.add(LocallyConnected2D(16, (7, 7), strides=2, activation="relu", name="L5")) base_model.add(LocallyConnected2D(16, (5, 5), activation="relu", name="L6")) base_model.add(Flatten(name="F0")) base_model.add(Dense(4096, activation="relu", name="F7")) base_model.add(Dropout(rate=0.5, name="D0")) base_model.add(Dense(8631, activation="softmax", name="F8")) # --------------------------------- weight_file = weight_utils.download_weights_if_necessary( file_name="VGGFace2_DeepFace_weights_val-0.9034.h5", source_url=url, compress_type="zip" ) base_model = weight_utils.load_model_weights(model=base_model, weight_file=weight_file) # drop F8 and D0. F7 is the representation layer. deepface_model = Model(inputs=base_model.layers[0].input, outputs=base_model.layers[-3].output) return deepface_model ================================================ FILE: deepface/models/facial_recognition/GhostFaceNet.py ================================================ # built-in dependencies from typing import Any # 3rd party dependencies import tensorflow as tf # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() tf_major = package_utils.get_tf_major_version() if tf_major == 1: import keras from keras import backend as K from keras.models import Model from keras.layers import ( Activation, Add, BatchNormalization, Concatenate, Conv2D, DepthwiseConv2D, GlobalAveragePooling2D, Input, Reshape, Multiply, ReLU, PReLU, ) else: from tensorflow import keras from tensorflow.keras import backend as K from tensorflow.keras.models import Model from tensorflow.keras.layers import ( Activation, Add, BatchNormalization, Concatenate, Conv2D, DepthwiseConv2D, GlobalAveragePooling2D, Input, Reshape, Multiply, ReLU, PReLU, ) # pylint: disable=line-too-long, too-few-public-methods, no-else-return, unsubscriptable-object, comparison-with-callable WEIGHTS_URL = "https://github.com/HamadYA/GhostFaceNets/releases/download/v1.2/GhostFaceNet_W1.3_S1_ArcFace.h5" class GhostFaceNetClient(FacialRecognition): """ GhostFaceNet model (GhostFaceNetV1 backbone) Repo: https://github.com/HamadYA/GhostFaceNets Pre-trained weights: https://github.com/HamadYA/GhostFaceNets/releases/tag/v1.2 GhostFaceNet_W1.3_S1_ArcFace.h5 ~ 16.5MB Author declared that this backbone and pre-trained weights got 99.7667% accuracy on LFW """ def __init__(self) -> None: self.model_name = "GhostFaceNet" self.input_shape = (112, 112) self.output_shape = 512 self.model = load_model() def load_model() -> Model: model = GhostFaceNetV1() weight_file = weight_utils.download_weights_if_necessary( file_name="ghostfacenet_v1.h5", source_url=WEIGHTS_URL ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) return model def GhostFaceNetV1() -> Model: """ Build GhostFaceNetV1 model. Refactored from github.com/HamadYA/GhostFaceNets/blob/main/backbones/ghost_model.py Returns: model (Model) """ inputs = Input(shape=(112, 112, 3)) out_channel = 20 nn = Conv2D( out_channel, (3, 3), strides=1, padding="same", use_bias=False, kernel_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(inputs) nn = BatchNormalization(axis=-1)(nn) nn = Activation("relu")(nn) dwkernels = [3, 3, 3, 5, 5, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5] exps = [20, 64, 92, 92, 156, 312, 260, 240, 240, 624, 872, 872, 1248, 1248, 1248, 664] outs = [20, 32, 32, 52, 52, 104, 104, 104, 104, 144, 144, 208, 208, 208, 208, 208] strides_set = [1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1] reductions = [0, 0, 0, 24, 40, 0, 0, 0, 0, 156, 220, 220, 0, 312, 0, 168] pre_out = out_channel for dwk, stride, exp, out, reduction in zip(dwkernels, strides_set, exps, outs, reductions): shortcut = not (out == pre_out and stride == 1) nn = ghost_bottleneck(nn, dwk, stride, exp, out, reduction, shortcut) pre_out = out nn = Conv2D( 664, (1, 1), strides=(1, 1), padding="valid", use_bias=False, kernel_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(nn) nn = BatchNormalization(axis=-1)(nn) nn = Activation("relu")(nn) xx = Model(inputs=inputs, outputs=nn, name="GhostFaceNetV1") # post modelling inputs = xx.inputs[0] nn = xx.outputs[0] nn = keras.layers.DepthwiseConv2D(nn.shape[1], use_bias=False, name="GDC_dw")(nn) nn = keras.layers.BatchNormalization(momentum=0.99, epsilon=0.001, name="GDC_batchnorm")(nn) nn = keras.layers.Conv2D( 512, 1, use_bias=True, kernel_initializer="glorot_normal", name="GDC_conv" )(nn) nn = keras.layers.Flatten(name="GDC_flatten")(nn) embedding = keras.layers.BatchNormalization( momentum=0.99, epsilon=0.001, scale=True, name="pre_embedding" )(nn) embedding_fp32 = keras.layers.Activation("linear", dtype="float32", name="embedding")(embedding) model = keras.models.Model(inputs, embedding_fp32, name=xx.name) model = replace_relu_with_prelu(model=model) return model def se_module(inputs: Any, reduction: int) -> Any: """ Refactored from github.com/HamadYA/GhostFaceNets/blob/main/backbones/ghost_model.py """ # get the channel axis channel_axis = 1 if K.image_data_format() == "channels_first" else -1 # filters = channel axis shape filters = inputs.shape[channel_axis] # from None x H x W x C to None x C se = GlobalAveragePooling2D()(inputs) # Reshape None x C to None 1 x 1 x C se = Reshape((1, 1, filters))(se) # Squeeze by using C*se_ratio. The size will be 1 x 1 x C*se_ratio se = Conv2D( reduction, kernel_size=1, use_bias=True, kernel_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(se) se = Activation("relu")(se) # Excitation using C filters. The size will be 1 x 1 x C se = Conv2D( filters, kernel_size=1, use_bias=True, kernel_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(se) se = Activation("hard_sigmoid")(se) return Multiply()([inputs, se]) def ghost_module( inputs: Any, out: int, convkernel: int = 1, dwkernel: int = 3, add_activation: bool = True ) -> Any: """ Refactored from github.com/HamadYA/GhostFaceNets/blob/main/backbones/ghost_model.py """ conv_out_channel = out // 2 cc = Conv2D( conv_out_channel, convkernel, use_bias=False, strides=(1, 1), padding="same", kernel_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(inputs) cc = BatchNormalization(axis=-1)(cc) if add_activation: cc = Activation("relu")(cc) nn = DepthwiseConv2D( dwkernel, 1, padding="same", use_bias=False, depthwise_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(cc) nn = BatchNormalization(axis=-1)(nn) if add_activation: nn = Activation("relu")(nn) return Concatenate()([cc, nn]) def ghost_bottleneck( inputs: Any, dwkernel: int, strides: int, exp: int, out: int, reduction: int, shortcut: bool = True, ) -> Any: """ Refactored from github.com/HamadYA/GhostFaceNets/blob/main/backbones/ghost_model.py """ nn = ghost_module(inputs, exp, add_activation=True) if strides > 1: # Extra depth conv if strides higher than 1 nn = DepthwiseConv2D( dwkernel, strides, padding="same", use_bias=False, depthwise_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(nn) nn = BatchNormalization(axis=-1)(nn) if reduction > 0: # Squeeze and excite nn = se_module(nn, reduction) # Point-wise linear projection nn = ghost_module(nn, out, add_activation=False) # ghost2 = GhostModule(exp, out, relu=False) if shortcut: xx = DepthwiseConv2D( dwkernel, strides, padding="same", use_bias=False, depthwise_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(inputs) xx = BatchNormalization(axis=-1)(xx) xx = Conv2D( out, (1, 1), strides=(1, 1), padding="valid", use_bias=False, kernel_initializer=keras.initializers.VarianceScaling( scale=2.0, mode="fan_out", distribution="truncated_normal" ), )(xx) xx = BatchNormalization(axis=-1)(xx) else: xx = inputs return Add()([xx, nn]) def replace_relu_with_prelu(model: Model) -> Model: """ Replaces relu activation function in the built model with prelu. Refactored from github.com/HamadYA/GhostFaceNets/blob/main/backbones/ghost_model.py Args: model (Model): built model with relu activation functions Returns model (Model): built model with prelu activation functions """ def convert_relu(layer: Any) -> Any: if isinstance(layer, ReLU) or ( isinstance(layer, Activation) and layer.activation == keras.activations.relu ): layer_name = layer.name.replace("_relu", "_prelu") return PReLU( shared_axes=[1, 2], alpha_initializer=tf.initializers.Constant(0.25), name=layer_name, ) return layer input_tensors = keras.layers.Input(model.input_shape[1:]) return keras.models.clone_model(model, input_tensors=input_tensors, clone_function=convert_relu) ================================================ FILE: deepface/models/facial_recognition/OpenFace.py ================================================ # 3rd party dependencies import tensorflow as tf # project dependencies from deepface.commons import package_utils, weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model from keras.layers import Conv2D, ZeroPadding2D, Input, concatenate from keras.layers import Dense, Activation, Lambda, Flatten, BatchNormalization from keras.layers import MaxPooling2D, AveragePooling2D from keras import backend as K else: from tensorflow.keras.models import Model from tensorflow.keras.layers import Conv2D, ZeroPadding2D, Input, concatenate from tensorflow.keras.layers import Dense, Activation, Lambda, Flatten, BatchNormalization from tensorflow.keras.layers import MaxPooling2D, AveragePooling2D from tensorflow.keras import backend as K # pylint: disable=unnecessary-lambda WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/openface_weights.h5" ) # --------------------------------------- # pylint: disable=too-few-public-methods class OpenFaceClient(FacialRecognition): """ OpenFace model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "OpenFace" self.input_shape = (96, 96) self.output_shape = 128 def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Consturct OpenFace model, download its weights and load Returns: model (Model) """ myInput = Input(shape=(96, 96, 3)) x = ZeroPadding2D(padding=(3, 3), input_shape=(96, 96, 3))(myInput) x = Conv2D(64, (7, 7), strides=(2, 2), name="conv1")(x) x = BatchNormalization(axis=3, epsilon=0.00001, name="bn1")(x) x = Activation("relu")(x) x = ZeroPadding2D(padding=(1, 1))(x) x = MaxPooling2D(pool_size=3, strides=2)(x) x = Lambda(lambda x: tf.nn.lrn(x, alpha=1e-4, beta=0.75), name="lrn_1")(x) x = Conv2D(64, (1, 1), name="conv2")(x) x = BatchNormalization(axis=3, epsilon=0.00001, name="bn2")(x) x = Activation("relu")(x) x = ZeroPadding2D(padding=(1, 1))(x) x = Conv2D(192, (3, 3), name="conv3")(x) x = BatchNormalization(axis=3, epsilon=0.00001, name="bn3")(x) x = Activation("relu")(x) x = Lambda(lambda x: tf.nn.lrn(x, alpha=1e-4, beta=0.75), name="lrn_2")(x) # x is equal added x = ZeroPadding2D(padding=(1, 1))(x) x = MaxPooling2D(pool_size=3, strides=2)(x) # Inception3a inception_3a_3x3 = Conv2D(96, (1, 1), name="inception_3a_3x3_conv1")(x) inception_3a_3x3 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3a_3x3_bn1")( inception_3a_3x3 ) inception_3a_3x3 = Activation("relu")(inception_3a_3x3) inception_3a_3x3 = ZeroPadding2D(padding=(1, 1))(inception_3a_3x3) inception_3a_3x3 = Conv2D(128, (3, 3), name="inception_3a_3x3_conv2")(inception_3a_3x3) inception_3a_3x3 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3a_3x3_bn2")( inception_3a_3x3 ) inception_3a_3x3 = Activation("relu")(inception_3a_3x3) inception_3a_5x5 = Conv2D(16, (1, 1), name="inception_3a_5x5_conv1")(x) inception_3a_5x5 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3a_5x5_bn1")( inception_3a_5x5 ) inception_3a_5x5 = Activation("relu")(inception_3a_5x5) inception_3a_5x5 = ZeroPadding2D(padding=(2, 2))(inception_3a_5x5) inception_3a_5x5 = Conv2D(32, (5, 5), name="inception_3a_5x5_conv2")(inception_3a_5x5) inception_3a_5x5 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3a_5x5_bn2")( inception_3a_5x5 ) inception_3a_5x5 = Activation("relu")(inception_3a_5x5) inception_3a_pool = MaxPooling2D(pool_size=3, strides=2)(x) inception_3a_pool = Conv2D(32, (1, 1), name="inception_3a_pool_conv")(inception_3a_pool) inception_3a_pool = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3a_pool_bn")( inception_3a_pool ) inception_3a_pool = Activation("relu")(inception_3a_pool) inception_3a_pool = ZeroPadding2D(padding=((3, 4), (3, 4)))(inception_3a_pool) inception_3a_1x1 = Conv2D(64, (1, 1), name="inception_3a_1x1_conv")(x) inception_3a_1x1 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3a_1x1_bn")( inception_3a_1x1 ) inception_3a_1x1 = Activation("relu")(inception_3a_1x1) inception_3a = concatenate( [inception_3a_3x3, inception_3a_5x5, inception_3a_pool, inception_3a_1x1], axis=3 ) # Inception3b inception_3b_3x3 = Conv2D(96, (1, 1), name="inception_3b_3x3_conv1")(inception_3a) inception_3b_3x3 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3b_3x3_bn1")( inception_3b_3x3 ) inception_3b_3x3 = Activation("relu")(inception_3b_3x3) inception_3b_3x3 = ZeroPadding2D(padding=(1, 1))(inception_3b_3x3) inception_3b_3x3 = Conv2D(128, (3, 3), name="inception_3b_3x3_conv2")(inception_3b_3x3) inception_3b_3x3 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3b_3x3_bn2")( inception_3b_3x3 ) inception_3b_3x3 = Activation("relu")(inception_3b_3x3) inception_3b_5x5 = Conv2D(32, (1, 1), name="inception_3b_5x5_conv1")(inception_3a) inception_3b_5x5 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3b_5x5_bn1")( inception_3b_5x5 ) inception_3b_5x5 = Activation("relu")(inception_3b_5x5) inception_3b_5x5 = ZeroPadding2D(padding=(2, 2))(inception_3b_5x5) inception_3b_5x5 = Conv2D(64, (5, 5), name="inception_3b_5x5_conv2")(inception_3b_5x5) inception_3b_5x5 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3b_5x5_bn2")( inception_3b_5x5 ) inception_3b_5x5 = Activation("relu")(inception_3b_5x5) inception_3b_pool = Lambda(lambda x: x**2, name="power2_3b")(inception_3a) inception_3b_pool = AveragePooling2D(pool_size=(3, 3), strides=(3, 3))(inception_3b_pool) inception_3b_pool = Lambda(lambda x: x * 9, name="mult9_3b")(inception_3b_pool) inception_3b_pool = Lambda(lambda x: K.sqrt(x), name="sqrt_3b")(inception_3b_pool) inception_3b_pool = Conv2D(64, (1, 1), name="inception_3b_pool_conv")(inception_3b_pool) inception_3b_pool = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3b_pool_bn")( inception_3b_pool ) inception_3b_pool = Activation("relu")(inception_3b_pool) inception_3b_pool = ZeroPadding2D(padding=(4, 4))(inception_3b_pool) inception_3b_1x1 = Conv2D(64, (1, 1), name="inception_3b_1x1_conv")(inception_3a) inception_3b_1x1 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3b_1x1_bn")( inception_3b_1x1 ) inception_3b_1x1 = Activation("relu")(inception_3b_1x1) inception_3b = concatenate( [inception_3b_3x3, inception_3b_5x5, inception_3b_pool, inception_3b_1x1], axis=3 ) # Inception3c inception_3c_3x3 = Conv2D(128, (1, 1), strides=(1, 1), name="inception_3c_3x3_conv1")( inception_3b ) inception_3c_3x3 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3c_3x3_bn1")( inception_3c_3x3 ) inception_3c_3x3 = Activation("relu")(inception_3c_3x3) inception_3c_3x3 = ZeroPadding2D(padding=(1, 1))(inception_3c_3x3) inception_3c_3x3 = Conv2D(256, (3, 3), strides=(2, 2), name="inception_3c_3x3_conv" + "2")( inception_3c_3x3 ) inception_3c_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_3c_3x3_bn" + "2" )(inception_3c_3x3) inception_3c_3x3 = Activation("relu")(inception_3c_3x3) inception_3c_5x5 = Conv2D(32, (1, 1), strides=(1, 1), name="inception_3c_5x5_conv1")( inception_3b ) inception_3c_5x5 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_3c_5x5_bn1")( inception_3c_5x5 ) inception_3c_5x5 = Activation("relu")(inception_3c_5x5) inception_3c_5x5 = ZeroPadding2D(padding=(2, 2))(inception_3c_5x5) inception_3c_5x5 = Conv2D(64, (5, 5), strides=(2, 2), name="inception_3c_5x5_conv" + "2")( inception_3c_5x5 ) inception_3c_5x5 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_3c_5x5_bn" + "2" )(inception_3c_5x5) inception_3c_5x5 = Activation("relu")(inception_3c_5x5) inception_3c_pool = MaxPooling2D(pool_size=3, strides=2)(inception_3b) inception_3c_pool = ZeroPadding2D(padding=((0, 1), (0, 1)))(inception_3c_pool) inception_3c = concatenate([inception_3c_3x3, inception_3c_5x5, inception_3c_pool], axis=3) # inception 4a inception_4a_3x3 = Conv2D(96, (1, 1), strides=(1, 1), name="inception_4a_3x3_conv" + "1")( inception_3c ) inception_4a_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4a_3x3_bn" + "1" )(inception_4a_3x3) inception_4a_3x3 = Activation("relu")(inception_4a_3x3) inception_4a_3x3 = ZeroPadding2D(padding=(1, 1))(inception_4a_3x3) inception_4a_3x3 = Conv2D(192, (3, 3), strides=(1, 1), name="inception_4a_3x3_conv" + "2")( inception_4a_3x3 ) inception_4a_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4a_3x3_bn" + "2" )(inception_4a_3x3) inception_4a_3x3 = Activation("relu")(inception_4a_3x3) inception_4a_5x5 = Conv2D(32, (1, 1), strides=(1, 1), name="inception_4a_5x5_conv1")( inception_3c ) inception_4a_5x5 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_4a_5x5_bn1")( inception_4a_5x5 ) inception_4a_5x5 = Activation("relu")(inception_4a_5x5) inception_4a_5x5 = ZeroPadding2D(padding=(2, 2))(inception_4a_5x5) inception_4a_5x5 = Conv2D(64, (5, 5), strides=(1, 1), name="inception_4a_5x5_conv" + "2")( inception_4a_5x5 ) inception_4a_5x5 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4a_5x5_bn" + "2" )(inception_4a_5x5) inception_4a_5x5 = Activation("relu")(inception_4a_5x5) inception_4a_pool = Lambda(lambda x: x**2, name="power2_4a")(inception_3c) inception_4a_pool = AveragePooling2D(pool_size=(3, 3), strides=(3, 3))(inception_4a_pool) inception_4a_pool = Lambda(lambda x: x * 9, name="mult9_4a")(inception_4a_pool) inception_4a_pool = Lambda(lambda x: K.sqrt(x), name="sqrt_4a")(inception_4a_pool) inception_4a_pool = Conv2D(128, (1, 1), strides=(1, 1), name="inception_4a_pool_conv" + "")( inception_4a_pool ) inception_4a_pool = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4a_pool_bn" + "" )(inception_4a_pool) inception_4a_pool = Activation("relu")(inception_4a_pool) inception_4a_pool = ZeroPadding2D(padding=(2, 2))(inception_4a_pool) inception_4a_1x1 = Conv2D(256, (1, 1), strides=(1, 1), name="inception_4a_1x1_conv" + "")( inception_3c ) inception_4a_1x1 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_4a_1x1_bn" + "")( inception_4a_1x1 ) inception_4a_1x1 = Activation("relu")(inception_4a_1x1) inception_4a = concatenate( [inception_4a_3x3, inception_4a_5x5, inception_4a_pool, inception_4a_1x1], axis=3 ) # inception4e inception_4e_3x3 = Conv2D(160, (1, 1), strides=(1, 1), name="inception_4e_3x3_conv" + "1")( inception_4a ) inception_4e_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4e_3x3_bn" + "1" )(inception_4e_3x3) inception_4e_3x3 = Activation("relu")(inception_4e_3x3) inception_4e_3x3 = ZeroPadding2D(padding=(1, 1))(inception_4e_3x3) inception_4e_3x3 = Conv2D(256, (3, 3), strides=(2, 2), name="inception_4e_3x3_conv" + "2")( inception_4e_3x3 ) inception_4e_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4e_3x3_bn" + "2" )(inception_4e_3x3) inception_4e_3x3 = Activation("relu")(inception_4e_3x3) inception_4e_5x5 = Conv2D(64, (1, 1), strides=(1, 1), name="inception_4e_5x5_conv" + "1")( inception_4a ) inception_4e_5x5 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4e_5x5_bn" + "1" )(inception_4e_5x5) inception_4e_5x5 = Activation("relu")(inception_4e_5x5) inception_4e_5x5 = ZeroPadding2D(padding=(2, 2))(inception_4e_5x5) inception_4e_5x5 = Conv2D(128, (5, 5), strides=(2, 2), name="inception_4e_5x5_conv" + "2")( inception_4e_5x5 ) inception_4e_5x5 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_4e_5x5_bn" + "2" )(inception_4e_5x5) inception_4e_5x5 = Activation("relu")(inception_4e_5x5) inception_4e_pool = MaxPooling2D(pool_size=3, strides=2)(inception_4a) inception_4e_pool = ZeroPadding2D(padding=((0, 1), (0, 1)))(inception_4e_pool) inception_4e = concatenate([inception_4e_3x3, inception_4e_5x5, inception_4e_pool], axis=3) # inception5a inception_5a_3x3 = Conv2D(96, (1, 1), strides=(1, 1), name="inception_5a_3x3_conv" + "1")( inception_4e ) inception_5a_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_5a_3x3_bn" + "1" )(inception_5a_3x3) inception_5a_3x3 = Activation("relu")(inception_5a_3x3) inception_5a_3x3 = ZeroPadding2D(padding=(1, 1))(inception_5a_3x3) inception_5a_3x3 = Conv2D(384, (3, 3), strides=(1, 1), name="inception_5a_3x3_conv" + "2")( inception_5a_3x3 ) inception_5a_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_5a_3x3_bn" + "2" )(inception_5a_3x3) inception_5a_3x3 = Activation("relu")(inception_5a_3x3) inception_5a_pool = Lambda(lambda x: x**2, name="power2_5a")(inception_4e) inception_5a_pool = AveragePooling2D(pool_size=(3, 3), strides=(3, 3))(inception_5a_pool) inception_5a_pool = Lambda(lambda x: x * 9, name="mult9_5a")(inception_5a_pool) inception_5a_pool = Lambda(lambda x: K.sqrt(x), name="sqrt_5a")(inception_5a_pool) inception_5a_pool = Conv2D(96, (1, 1), strides=(1, 1), name="inception_5a_pool_conv" + "")( inception_5a_pool ) inception_5a_pool = BatchNormalization( axis=3, epsilon=0.00001, name="inception_5a_pool_bn" + "" )(inception_5a_pool) inception_5a_pool = Activation("relu")(inception_5a_pool) inception_5a_pool = ZeroPadding2D(padding=(1, 1))(inception_5a_pool) inception_5a_1x1 = Conv2D(256, (1, 1), strides=(1, 1), name="inception_5a_1x1_conv" + "")( inception_4e ) inception_5a_1x1 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_5a_1x1_bn" + "")( inception_5a_1x1 ) inception_5a_1x1 = Activation("relu")(inception_5a_1x1) inception_5a = concatenate([inception_5a_3x3, inception_5a_pool, inception_5a_1x1], axis=3) # inception_5b inception_5b_3x3 = Conv2D(96, (1, 1), strides=(1, 1), name="inception_5b_3x3_conv" + "1")( inception_5a ) inception_5b_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_5b_3x3_bn" + "1" )(inception_5b_3x3) inception_5b_3x3 = Activation("relu")(inception_5b_3x3) inception_5b_3x3 = ZeroPadding2D(padding=(1, 1))(inception_5b_3x3) inception_5b_3x3 = Conv2D(384, (3, 3), strides=(1, 1), name="inception_5b_3x3_conv" + "2")( inception_5b_3x3 ) inception_5b_3x3 = BatchNormalization( axis=3, epsilon=0.00001, name="inception_5b_3x3_bn" + "2" )(inception_5b_3x3) inception_5b_3x3 = Activation("relu")(inception_5b_3x3) inception_5b_pool = MaxPooling2D(pool_size=3, strides=2)(inception_5a) inception_5b_pool = Conv2D(96, (1, 1), strides=(1, 1), name="inception_5b_pool_conv" + "")( inception_5b_pool ) inception_5b_pool = BatchNormalization( axis=3, epsilon=0.00001, name="inception_5b_pool_bn" + "" )(inception_5b_pool) inception_5b_pool = Activation("relu")(inception_5b_pool) inception_5b_pool = ZeroPadding2D(padding=(1, 1))(inception_5b_pool) inception_5b_1x1 = Conv2D(256, (1, 1), strides=(1, 1), name="inception_5b_1x1_conv" + "")( inception_5a ) inception_5b_1x1 = BatchNormalization(axis=3, epsilon=0.00001, name="inception_5b_1x1_bn" + "")( inception_5b_1x1 ) inception_5b_1x1 = Activation("relu")(inception_5b_1x1) inception_5b = concatenate([inception_5b_3x3, inception_5b_pool, inception_5b_1x1], axis=3) av_pool = AveragePooling2D(pool_size=(3, 3), strides=(1, 1))(inception_5b) reshape_layer = Flatten()(av_pool) dense_layer = Dense(128, name="dense_layer")(reshape_layer) norm_layer = Lambda(lambda x: K.l2_normalize(x, axis=1), name="norm_layer")(dense_layer) # Final Model model = Model(inputs=[myInput], outputs=norm_layer) # ----------------------------------- weight_file = weight_utils.download_weights_if_necessary( file_name="openface_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) # ----------------------------------- return model ================================================ FILE: deepface/models/facial_recognition/SFace.py ================================================ # built-in dependencies from typing import Any, List, Union, cast # 3rd party dependencies import numpy as np from numpy.typing import NDArray import cv2 as cv # project dependencies from deepface.commons import weight_utils from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # pylint: disable=line-too-long, too-few-public-methods WEIGHTS_URL = "https://github.com/opencv/opencv_zoo/raw/main/models/face_recognition_sface/face_recognition_sface_2021dec.onnx" class SFaceClient(FacialRecognition): """ SFace model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "SFace" self.input_shape = (112, 112) self.output_shape = 128 def forward(self, img: NDArray[Any]) -> Union[List[float], List[List[float]]]: """ Find embeddings with SFace model This model necessitates the override of the forward method because it is not a keras model. Args: img (np.ndarray): pre-loaded image in BGR Returns embeddings (list): multi-dimensional vector """ input_blob = (img * 255).astype(np.uint8) embeddings = [] for i in range(input_blob.shape[0]): embedding = self.model.model.feature(input_blob[i]) embeddings.append(embedding) embeddings_np = np.concatenate(embeddings, axis=0) if embeddings_np.shape[0] == 1: return cast(List[float], embeddings_np[0].tolist()) return cast(List[List[float]], embeddings_np.tolist()) def load_model( url: str = WEIGHTS_URL, ) -> Any: """ Construct SFace model, download its weights and load """ weight_file = weight_utils.download_weights_if_necessary( file_name="face_recognition_sface_2021dec.onnx", source_url=url ) model = SFaceWrapper(model_path=weight_file) return model class SFaceWrapper: def __init__(self, model_path: str) -> None: """ SFace wrapper covering model construction, layer infos and predict """ try: self.model = cv.FaceRecognizerSF.create( model=model_path, config="", backend_id=0, target_id=0 ) except Exception as err: raise ValueError( "Exception while calling opencv.FaceRecognizerSF module." + "This is an optional dependency." + "You can install it as pip install opencv-contrib-python." ) from err ================================================ FILE: deepface/models/facial_recognition/VGGFace.py ================================================ # built-in dependencies from typing import List, cast, Any # 3rd party dependencies from numpy.typing import NDArray # project dependencies from deepface.commons import package_utils, weight_utils from deepface.modules import verification from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # --------------------------------------- tf_version = package_utils.get_tf_major_version() if tf_version == 1: from keras.models import Model, Sequential from keras.layers import ( Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dropout, Activation, ) else: from tensorflow.keras.models import Model, Sequential from tensorflow.keras.layers import ( Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dropout, Activation, ) # --------------------------------------- WEIGHTS_URL = ( "https://github.com/serengil/deepface_models/releases/download/v1.0/vgg_face_weights.h5" ) # pylint: disable=too-few-public-methods class VggFaceClient(FacialRecognition): """ VGG-Face model class """ def __init__(self) -> None: self.model = load_model() self.model_name = "VGG-Face" self.input_shape = (224, 224) self.output_shape = 4096 def forward(self, img: NDArray[Any]) -> List[float]: """ Generates embeddings using the VGG-Face model. This method incorporates an additional normalization layer. Args: img (np.ndarray): pre-loaded image in BGR Returns embeddings (list): multi-dimensional vector """ # model.predict causes memory issue when it is called in a for loop # embedding = model.predict(img, verbose=0)[0].tolist() # having normalization layer in descriptor troubles for some gpu users (e.g. issue 957, 966) # instead we are now calculating it with traditional way not with keras backend embedding = super().forward(img) if isinstance(embedding, list) and len(embedding) > 0 and isinstance(embedding[0], list): embedding = cast(List[List[float]], embedding) embedding_norm = verification.l2_normalize(embedding, axis=1) else: embedding = cast(List[float], embedding) embedding_norm = verification.l2_normalize(embedding) return cast(List[float], embedding_norm.tolist()) def base_model() -> Sequential: """ Base model of VGG-Face being used for classification - not to find embeddings Returns: model (Sequential): model was trained to classify 2622 identities """ model = Sequential() model.add(ZeroPadding2D((1, 1), input_shape=(224, 224, 3))) model.add(Convolution2D(64, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(64, (3, 3), activation="relu")) model.add(MaxPooling2D((2, 2), strides=(2, 2))) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(128, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(128, (3, 3), activation="relu")) model.add(MaxPooling2D((2, 2), strides=(2, 2))) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(256, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(256, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(256, (3, 3), activation="relu")) model.add(MaxPooling2D((2, 2), strides=(2, 2))) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(512, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(512, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(512, (3, 3), activation="relu")) model.add(MaxPooling2D((2, 2), strides=(2, 2))) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(512, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(512, (3, 3), activation="relu")) model.add(ZeroPadding2D((1, 1))) model.add(Convolution2D(512, (3, 3), activation="relu")) model.add(MaxPooling2D((2, 2), strides=(2, 2))) model.add(Convolution2D(4096, (7, 7), activation="relu")) model.add(Dropout(0.5)) model.add(Convolution2D(4096, (1, 1), activation="relu")) model.add(Dropout(0.5)) model.add(Convolution2D(2622, (1, 1))) model.add(Flatten()) model.add(Activation("softmax")) return model def load_model( url: str = WEIGHTS_URL, ) -> Model: """ Final VGG-Face model being used for finding embeddings Returns: model (Model): returning 4096 dimensional vectors """ model = base_model() weight_file = weight_utils.download_weights_if_necessary( file_name="vgg_face_weights.h5", source_url=url ) model = weight_utils.load_model_weights(model=model, weight_file=weight_file) # 2622d dimensional model # vgg_face_descriptor = Model(inputs=model.layers[0].input, outputs=model.layers[-2].output) # 4096 dimensional model offers 6% to 14% increasement on accuracy! # - softmax causes underfitting # - added normalization layer to avoid underfitting with euclidean # as described here: https://github.com/serengil/deepface/issues/944 base_model_output = Flatten()(model.layers[-5].output) # keras backend's l2 normalization layer troubles some gpu users (e.g. issue 957, 966) # base_model_output = Lambda(lambda x: K.l2_normalize(x, axis=1), name="norm_layer")( # base_model_output # ) vgg_face_descriptor = Model(inputs=model.layers[0].input, outputs=base_model_output) return vgg_face_descriptor ================================================ FILE: deepface/models/facial_recognition/__init__.py ================================================ ================================================ FILE: deepface/models/spoofing/FasNet.py ================================================ # built-in dependencies from typing import Union, Any, Tuple, List # 3rd party dependencies import cv2 import numpy as np from numpy.typing import NDArray # project dependencies from deepface.commons import weight_utils from deepface.commons.logger import Logger logger = Logger() # pylint: disable=line-too-long, too-few-public-methods, nested-min-max FIRST_WEIGHTS_URL = "https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/raw/master/resources/anti_spoof_models/2.7_80x80_MiniFASNetV2.pth" SECOND_WEIGHTS_URL = "https://github.com/minivision-ai/Silent-Face-Anti-Spoofing/raw/master/resources/anti_spoof_models/4_0_0_80x80_MiniFASNetV1SE.pth" class Fasnet: """ Mini Face Anti Spoofing Net Library from repo: github.com/minivision-ai/Silent-Face-Anti-Spoofing Minivision's Silent-Face-Anti-Spoofing Repo licensed under Apache License 2.0 Ref: github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/src/model_lib/MiniFASNet.py """ def __init__(self) -> None: # pytorch is an opitonal dependency, enforce it to be installed if class imported try: import torch except Exception as err: raise ValueError( "You must install torch with `pip install torch` command to use face anti spoofing module" ) from err device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") self.device = device # download pre-trained models if not installed yet first_model_weight_file = weight_utils.download_weights_if_necessary( file_name="2.7_80x80_MiniFASNetV2.pth", source_url=FIRST_WEIGHTS_URL, ) second_model_weight_file = weight_utils.download_weights_if_necessary( file_name="4_0_0_80x80_MiniFASNetV1SE.pth", source_url=SECOND_WEIGHTS_URL, ) # guarantees Fasnet imported and torch installed from deepface.models.spoofing import FasNetBackbone # Fasnet will use 2 distinct models to predict, then it will find the sum of predictions # to make a final prediction first_model = FasNetBackbone.MiniFASNetV2(conv6_kernel=(5, 5)).to(device) second_model = FasNetBackbone.MiniFASNetV1SE(conv6_kernel=(5, 5)).to(device) # load model weight for first model state_dict = torch.load(first_model_weight_file, map_location=device) keys = iter(state_dict) first_layer_name = keys.__next__() if first_layer_name.find("module.") >= 0: from collections import OrderedDict new_state_dict = OrderedDict() for key, value in state_dict.items(): name_key = key[7:] new_state_dict[name_key] = value first_model.load_state_dict(new_state_dict) else: first_model.load_state_dict(state_dict) # load model weight for second model state_dict = torch.load(second_model_weight_file, map_location=device) keys = iter(state_dict) first_layer_name = keys.__next__() if first_layer_name.find("module.") >= 0: from collections import OrderedDict new_state_dict = OrderedDict() for key, value in state_dict.items(): name_key = key[7:] new_state_dict[name_key] = value second_model.load_state_dict(new_state_dict) else: second_model.load_state_dict(state_dict) # evaluate models _ = first_model.eval() _ = second_model.eval() self.first_model = first_model self.second_model = second_model def analyze( self, img: NDArray[Any], facial_area: Union[List[Union[int, float]], Tuple[Union[int, float], ...]], ) -> Tuple[bool, float]: """ Analyze a given image spoofed or not Args: img (np.ndarray): pre loaded image facial_area (list or tuple): facial rectangle area coordinates with x, y, w, h respectively Returns: result (tuple): a result tuple consisting of is_real and score """ import torch import torch.nn.functional as F x, y, w, h = facial_area first_img = crop(img, (x, y, w, h), 2.7, 80, 80) second_img = crop(img, (x, y, w, h), 4, 80, 80) test_transform = Compose( [ ToTensor(), ] ) first_img = test_transform(first_img) first_img = first_img.unsqueeze(0).to(self.device) second_img = test_transform(second_img) second_img = second_img.unsqueeze(0).to(self.device) with torch.no_grad(): first_result = self.first_model.forward(first_img) first_result = F.softmax(first_result).cpu().numpy() second_result = self.second_model.forward(second_img) second_result = F.softmax(second_result).cpu().numpy() prediction = np.zeros((1, 3)) prediction += first_result prediction += second_result label = np.argmax(prediction) is_real = True if label == 1 else False # pylint: disable=simplifiable-if-expression score = prediction[0][label] / 2 return is_real, score # subsdiary classes and functions def to_tensor(pic: NDArray[Any]) -> Any: """Convert a ``numpy.ndarray`` to tensor. See ``ToTensor`` for more details. Args: pic (PIL Image or numpy.ndarray): Image to be converted to tensor. Returns: Tensor: Converted image. """ import torch # handle numpy array # IR image channel=1: modify by lzc --> 20190730 if pic.ndim == 2: pic = pic.reshape((pic.shape[0], pic.shape[1], 1)) img = torch.from_numpy(pic.transpose((2, 0, 1))) # backward compatibility # return img.float().div(255) modify by zkx return img.float() class Compose: def __init__(self, transforms: List[Any]) -> None: self.transforms = transforms def __call__(self, img: NDArray[Any]) -> NDArray[Any]: for t in self.transforms: img = t(img) return img class ToTensor: def __call__(self, pic: Any) -> Any: return to_tensor(pic) def _get_new_box( src_w: int, src_h: int, bbox: Union[List[Union[int, float]], Tuple[Union[int, float], ...]], scale: float, ) -> Tuple[int, int, int, int]: x = bbox[0] y = bbox[1] box_w = bbox[2] box_h = bbox[3] scale = min((src_h - 1) / box_h, min((src_w - 1) / box_w, scale)) new_width = box_w * scale new_height = box_h * scale center_x, center_y = box_w / 2 + x, box_h / 2 + y left_top_x = center_x - new_width / 2 left_top_y = center_y - new_height / 2 right_bottom_x = center_x + new_width / 2 right_bottom_y = center_y + new_height / 2 if left_top_x < 0: right_bottom_x -= left_top_x left_top_x = 0 if left_top_y < 0: right_bottom_y -= left_top_y left_top_y = 0 if right_bottom_x > src_w - 1: left_top_x -= right_bottom_x - src_w + 1 right_bottom_x = src_w - 1 if right_bottom_y > src_h - 1: left_top_y -= right_bottom_y - src_h + 1 right_bottom_y = src_h - 1 return int(left_top_x), int(left_top_y), int(right_bottom_x), int(right_bottom_y) def crop( org_img: NDArray[Any], bbox: Union[List[Union[int, float]], Tuple[Union[int, float], ...]], scale: float, out_w: int, out_h: int, ) -> Any: src_h, src_w, _ = np.shape(org_img) left_top_x, left_top_y, right_bottom_x, right_bottom_y = _get_new_box(src_w, src_h, bbox, scale) img = org_img[left_top_y : right_bottom_y + 1, left_top_x : right_bottom_x + 1] dst_img = cv2.resize(img, (out_w, out_h)) return dst_img ================================================ FILE: deepface/models/spoofing/FasNetBackbone.py ================================================ # These classes are copied from Minivision's Silent-Face-Anti-Spoofing Repo # licensed under Apache License 2.0 # Ref: github.com/minivision-ai/Silent-Face-Anti-Spoofing/blob/master/src/model_lib/MiniFASNet.py # built-in dependencies from typing import Tuple, Any, List # 3rd party dependencies import torch from torch.nn import ( Linear, Conv2d, BatchNorm1d, BatchNorm2d, PReLU, ReLU, Sigmoid, AdaptiveAvgPool2d, Sequential, Module, ) # pylint: disable=super-with-arguments, too-many-instance-attributes, unused-argument, redefined-builtin, too-few-public-methods keep_dict = { "1.8M": [ 32, 32, 103, 103, 64, 13, 13, 64, 26, 26, 64, 13, 13, 64, 52, 52, 64, 231, 231, 128, 154, 154, 128, 52, 52, 128, 26, 26, 128, 52, 52, 128, 26, 26, 128, 26, 26, 128, 308, 308, 128, 26, 26, 128, 26, 26, 128, 512, 512, ], "1.8M_": [ 32, 32, 103, 103, 64, 13, 13, 64, 13, 13, 64, 13, 13, 64, 13, 13, 64, 231, 231, 128, 231, 231, 128, 52, 52, 128, 26, 26, 128, 77, 77, 128, 26, 26, 128, 26, 26, 128, 308, 308, 128, 26, 26, 128, 26, 26, 128, 512, 512, ], } def MiniFASNetV2( embedding_size: int = 128, conv6_kernel: Tuple[int, int] = (7, 7), drop_p: float = 0.2, num_classes: int = 3, img_channel: int = 3, ) -> "MiniFASNet": return MiniFASNet( keep_dict["1.8M_"], embedding_size, conv6_kernel, drop_p, num_classes, img_channel ) def MiniFASNetV1SE( embedding_size: int = 128, conv6_kernel: Tuple[int, int] = (7, 7), drop_p: float = 0.75, num_classes: int = 3, img_channel: int = 3, ) -> "MiniFASNetSE": return MiniFASNetSE( keep_dict["1.8M"], embedding_size, conv6_kernel, drop_p, num_classes, img_channel ) class Flatten(Module): # type: ignore[misc] def forward(self, input: Any) -> Any: return input.view(input.size(0), -1) class Conv_block(Module): # type: ignore[misc] def __init__( self, in_c: Any, out_c: Any, kernel: Tuple[int, int] = (1, 1), stride: Tuple[int, int] = (1, 1), padding: Tuple[int, int] = (0, 0), groups: int = 1, ): super(Conv_block, self).__init__() self.conv = Conv2d( in_c, out_c, kernel_size=kernel, groups=groups, stride=stride, padding=padding, bias=False, ) self.bn = BatchNorm2d(out_c) self.prelu = PReLU(out_c) def forward(self, x: Any) -> Any: x = self.conv(x) x = self.bn(x) x = self.prelu(x) return x class Linear_block(Module): # type: ignore[misc] def __init__( self, in_c: Any, out_c: Any, kernel: Tuple[int, int] = (1, 1), stride: Tuple[int, int] = (1, 1), padding: Tuple[int, int] = (0, 0), groups: int = 1, ) -> None: super(Linear_block, self).__init__() self.conv = Conv2d( in_c, out_channels=out_c, kernel_size=kernel, groups=groups, stride=stride, padding=padding, bias=False, ) self.bn = BatchNorm2d(out_c) def forward(self, x: Any) -> Any: x = self.conv(x) x = self.bn(x) return x class Depth_Wise(Module): # type: ignore[misc] def __init__( self, c1: Any, c2: Any, c3: Any, residual: bool = False, kernel: Tuple[int, int] = (3, 3), stride: Tuple[int, int] = (2, 2), padding: Tuple[int, int] = (1, 1), groups: int = 1, ) -> None: super(Depth_Wise, self).__init__() c1_in, c1_out = c1 c2_in, c2_out = c2 c3_in, c3_out = c3 self.conv = Conv_block(c1_in, out_c=c1_out, kernel=(1, 1), padding=(0, 0), stride=(1, 1)) self.conv_dw = Conv_block( c2_in, c2_out, groups=c2_in, kernel=kernel, padding=padding, stride=stride ) self.project = Linear_block(c3_in, c3_out, kernel=(1, 1), padding=(0, 0), stride=(1, 1)) self.residual = residual def forward(self, x: Any) -> Any: if self.residual: short_cut = x x = self.conv(x) x = self.conv_dw(x) x = self.project(x) if self.residual: output = short_cut + x else: output = x return output class Depth_Wise_SE(Module): # type: ignore[misc] def __init__( self, c1: Any, c2: Any, c3: Any, residual: bool = False, kernel: Tuple[int, int] = (3, 3), stride: Tuple[int, int] = (2, 2), padding: Tuple[int, int] = (1, 1), groups: int = 1, se_reduct: int = 8, ) -> None: super(Depth_Wise_SE, self).__init__() c1_in, c1_out = c1 c2_in, c2_out = c2 c3_in, c3_out = c3 self.conv = Conv_block(c1_in, out_c=c1_out, kernel=(1, 1), padding=(0, 0), stride=(1, 1)) self.conv_dw = Conv_block( c2_in, c2_out, groups=c2_in, kernel=kernel, padding=padding, stride=stride ) self.project = Linear_block(c3_in, c3_out, kernel=(1, 1), padding=(0, 0), stride=(1, 1)) self.residual = residual self.se_module = SEModule(c3_out, se_reduct) def forward(self, x: Any) -> Any: if self.residual: short_cut = x x = self.conv(x) x = self.conv_dw(x) x = self.project(x) if self.residual: x = self.se_module(x) output = short_cut + x else: output = x return output class SEModule(Module): # type: ignore[misc] def __init__(self, channels: int, reduction: int): super(SEModule, self).__init__() self.avg_pool = AdaptiveAvgPool2d(1) self.fc1 = Conv2d(channels, channels // reduction, kernel_size=1, padding=0, bias=False) self.bn1 = BatchNorm2d(channels // reduction) self.relu = ReLU(inplace=True) self.fc2 = Conv2d(channels // reduction, channels, kernel_size=1, padding=0, bias=False) self.bn2 = BatchNorm2d(channels) self.sigmoid = Sigmoid() def forward(self, x: Any) -> Any: module_input = x x = self.avg_pool(x) x = self.fc1(x) x = self.bn1(x) x = self.relu(x) x = self.fc2(x) x = self.bn2(x) x = self.sigmoid(x) return module_input * x class Residual(Module): # type: ignore[misc] def __init__( self, c1: Any, c2: Any, c3: Any, num_block: int, groups: int, kernel: Tuple[int, int] = (3, 3), stride: Tuple[int, int] = (1, 1), padding: Tuple[int, int] = (1, 1), ) -> None: super(Residual, self).__init__() modules = [] for i in range(num_block): c1_tuple = c1[i] c2_tuple = c2[i] c3_tuple = c3[i] modules.append( Depth_Wise( c1_tuple, c2_tuple, c3_tuple, residual=True, kernel=kernel, padding=padding, stride=stride, groups=groups, ) ) self.model = Sequential(*modules) def forward(self, x: Any) -> Any: return self.model(x) class ResidualSE(Module): # type: ignore[misc] def __init__( self, c1: Any, c2: Any, c3: Any, num_block: int, groups: Any, kernel: Tuple[int, int] = (3, 3), stride: Tuple[int, int] = (1, 1), padding: Tuple[int, int] = (1, 1), se_reduct: int = 4, ): super(ResidualSE, self).__init__() modules = [] for i in range(num_block): c1_tuple = c1[i] c2_tuple = c2[i] c3_tuple = c3[i] if i == num_block - 1: modules.append( Depth_Wise_SE( c1_tuple, c2_tuple, c3_tuple, residual=True, kernel=kernel, padding=padding, stride=stride, groups=groups, se_reduct=se_reduct, ) ) else: modules.append( Depth_Wise( # type: ignore[arg-type] c1_tuple, c2_tuple, c3_tuple, residual=True, kernel=kernel, padding=padding, stride=stride, groups=groups, ) ) self.model = Sequential(*modules) def forward(self, x: Any) -> Any: return self.model(x) class MiniFASNet(Module): # type: ignore[misc] def __init__( self, keep: List[int], embedding_size: int, conv6_kernel: Tuple[int, int] = (7, 7), drop_p: float = 0.0, num_classes: int = 3, img_channel: int = 3, ): super(MiniFASNet, self).__init__() self.embedding_size = embedding_size self.conv1 = Conv_block(img_channel, keep[0], kernel=(3, 3), stride=(2, 2), padding=(1, 1)) self.conv2_dw = Conv_block( keep[0], keep[1], kernel=(3, 3), stride=(1, 1), padding=(1, 1), groups=keep[1] ) c1 = [(keep[1], keep[2])] c2 = [(keep[2], keep[3])] c3 = [(keep[3], keep[4])] self.conv_23 = Depth_Wise( c1[0], c2[0], c3[0], kernel=(3, 3), stride=(2, 2), padding=(1, 1), groups=keep[3] ) c1 = [(keep[4], keep[5]), (keep[7], keep[8]), (keep[10], keep[11]), (keep[13], keep[14])] c2 = [(keep[5], keep[6]), (keep[8], keep[9]), (keep[11], keep[12]), (keep[14], keep[15])] c3 = [(keep[6], keep[7]), (keep[9], keep[10]), (keep[12], keep[13]), (keep[15], keep[16])] self.conv_3 = Residual( c1, c2, c3, num_block=4, groups=keep[4], kernel=(3, 3), stride=(1, 1), padding=(1, 1) ) c1 = [(keep[16], keep[17])] c2 = [(keep[17], keep[18])] c3 = [(keep[18], keep[19])] self.conv_34 = Depth_Wise( c1[0], c2[0], c3[0], kernel=(3, 3), stride=(2, 2), padding=(1, 1), groups=keep[19] ) c1 = [ (keep[19], keep[20]), (keep[22], keep[23]), (keep[25], keep[26]), (keep[28], keep[29]), (keep[31], keep[32]), (keep[34], keep[35]), ] c2 = [ (keep[20], keep[21]), (keep[23], keep[24]), (keep[26], keep[27]), (keep[29], keep[30]), (keep[32], keep[33]), (keep[35], keep[36]), ] c3 = [ (keep[21], keep[22]), (keep[24], keep[25]), (keep[27], keep[28]), (keep[30], keep[31]), (keep[33], keep[34]), (keep[36], keep[37]), ] self.conv_4 = Residual( c1, c2, c3, num_block=6, groups=keep[19], kernel=(3, 3), stride=(1, 1), padding=(1, 1) ) c1 = [(keep[37], keep[38])] c2 = [(keep[38], keep[39])] c3 = [(keep[39], keep[40])] self.conv_45 = Depth_Wise( c1[0], c2[0], c3[0], kernel=(3, 3), stride=(2, 2), padding=(1, 1), groups=keep[40] ) c1 = [(keep[40], keep[41]), (keep[43], keep[44])] c2 = [(keep[41], keep[42]), (keep[44], keep[45])] c3 = [(keep[42], keep[43]), (keep[45], keep[46])] self.conv_5 = Residual( c1, c2, c3, num_block=2, groups=keep[40], kernel=(3, 3), stride=(1, 1), padding=(1, 1) ) self.conv_6_sep = Conv_block( keep[46], keep[47], kernel=(1, 1), stride=(1, 1), padding=(0, 0) ) self.conv_6_dw = Linear_block( keep[47], keep[48], groups=keep[48], kernel=conv6_kernel, stride=(1, 1), padding=(0, 0) ) self.conv_6_flatten = Flatten() self.linear = Linear(512, embedding_size, bias=False) self.bn = BatchNorm1d(embedding_size) self.drop = torch.nn.Dropout(p=drop_p) self.prob = Linear(embedding_size, num_classes, bias=False) def forward(self, x: Any) -> Any: out = self.conv1(x) out = self.conv2_dw(out) out = self.conv_23(out) out = self.conv_3(out) out = self.conv_34(out) out = self.conv_4(out) out = self.conv_45(out) out = self.conv_5(out) out = self.conv_6_sep(out) out = self.conv_6_dw(out) out = self.conv_6_flatten(out) if self.embedding_size != 512: out = self.linear(out) out = self.bn(out) out = self.drop(out) out = self.prob(out) return out class MiniFASNetSE(MiniFASNet): def __init__( self, keep: List[int], embedding_size: int, conv6_kernel: Tuple[int, int] = (7, 7), drop_p: float = 0.75, num_classes: int = 4, img_channel: int = 3, ): super(MiniFASNetSE, self).__init__( keep=keep, embedding_size=embedding_size, conv6_kernel=conv6_kernel, drop_p=drop_p, num_classes=num_classes, img_channel=img_channel, ) c1 = [(keep[4], keep[5]), (keep[7], keep[8]), (keep[10], keep[11]), (keep[13], keep[14])] c2 = [(keep[5], keep[6]), (keep[8], keep[9]), (keep[11], keep[12]), (keep[14], keep[15])] c3 = [(keep[6], keep[7]), (keep[9], keep[10]), (keep[12], keep[13]), (keep[15], keep[16])] self.conv_3 = ResidualSE( # type: ignore[assignment] c1, c2, c3, num_block=4, groups=keep[4], kernel=(3, 3), stride=(1, 1), padding=(1, 1) ) c1 = [ (keep[19], keep[20]), (keep[22], keep[23]), (keep[25], keep[26]), (keep[28], keep[29]), (keep[31], keep[32]), (keep[34], keep[35]), ] c2 = [ (keep[20], keep[21]), (keep[23], keep[24]), (keep[26], keep[27]), (keep[29], keep[30]), (keep[32], keep[33]), (keep[35], keep[36]), ] c3 = [ (keep[21], keep[22]), (keep[24], keep[25]), (keep[27], keep[28]), (keep[30], keep[31]), (keep[33], keep[34]), (keep[36], keep[37]), ] self.conv_4 = ResidualSE( # type: ignore[assignment] c1, c2, c3, num_block=6, groups=keep[19], kernel=(3, 3), stride=(1, 1), padding=(1, 1) ) c1 = [(keep[40], keep[41]), (keep[43], keep[44])] c2 = [(keep[41], keep[42]), (keep[44], keep[45])] c3 = [(keep[42], keep[43]), (keep[45], keep[46])] self.conv_5 = ResidualSE( # type: ignore[assignment] c1, c2, c3, num_block=2, groups=keep[40], kernel=(3, 3), stride=(1, 1), padding=(1, 1) ) ================================================ FILE: deepface/models/spoofing/__init__.py ================================================ ================================================ FILE: deepface/modules/__init__.py ================================================ ================================================ FILE: deepface/modules/database/__init__.py ================================================ ================================================ FILE: deepface/modules/database/inventory.py ================================================ # built-in dependencies from typing import TypedDict, Type, Dict # project dependencies from deepface.modules.database.types import Database from deepface.modules.database.postgres import PostgresClient from deepface.modules.database.pgvector import PGVectorClient from deepface.modules.database.mongo import MongoDbClient as MongoClient from deepface.modules.database.weaviate import WeaviateClient from deepface.modules.database.neo4j import Neo4jClient from deepface.modules.database.pinecone import PineconeClient class DatabaseSpec(TypedDict): is_vector_db: bool connection_string: str client: Type["Database"] database_inventory: Dict[str, DatabaseSpec] = { "postgres": { "is_vector_db": False, "connection_string": "DEEPFACE_POSTGRES_URI", "client": PostgresClient, }, "mongo": { "is_vector_db": False, "connection_string": "DEEPFACE_MONGO_URI", "client": MongoClient, }, "weaviate": { "is_vector_db": True, "connection_string": "DEEPFACE_WEAVIATE_URI", "client": WeaviateClient, }, "neo4j": { "is_vector_db": True, "connection_string": "DEEPFACE_NEO4J_URI", "client": Neo4jClient, }, "pgvector": { "is_vector_db": True, "connection_string": "DEEPFACE_POSTGRES_URI", "client": PGVectorClient, }, "pinecone": { "is_vector_db": True, "connection_string": "DEEPFACE_PINECONE_API_KEY", "client": PineconeClient, }, } ================================================ FILE: deepface/modules/database/mongo.py ================================================ # built-in dependencies import os import json import hashlib import struct from datetime import datetime, timezone from typing import Any, Dict, List, Optional, Union # 3rd party dependencies import numpy as np # project dependencies from deepface.modules.database.types import Database from deepface.modules.exceptions import DuplicateEntryError from deepface.commons.logger import Logger logger = Logger() # pylint: disable=too-many-positional-arguments, too-many-instance-attributes class MongoDbClient(Database): """ MongoDB equivalent of PostgresClient for DeepFace embeddings storage. """ def __init__( self, connection_details: Optional[Union[str, Dict[str, Any]]] = None, connection: Any = None, db_name: str = "deepface", ) -> None: try: from pymongo import MongoClient, ASCENDING from pymongo.errors import DuplicateKeyError, BulkWriteError from bson import Binary except (ModuleNotFoundError, ImportError) as e: raise ValueError( "pymongo is an optional dependency. Please install it as `pip install pymongo`" ) from e self.MongoClient = MongoClient self.ASCENDING = ASCENDING self.DuplicateKeyError = DuplicateKeyError self.BulkWriteError = BulkWriteError self.Binary = Binary if connection is not None: self.client = connection else: self.conn_details = connection_details or os.environ.get("DEEPFACE_MONGO_URI") if not self.conn_details: raise ValueError( "MongoDB connection information not found. " "Please provide connection_details or set DEEPFACE_MONGO_URI" ) if isinstance(self.conn_details, str): self.client = MongoClient(self.conn_details) else: self.client = MongoClient(**self.conn_details) self.db = self.client[db_name] self.embeddings = self.db.embeddings self.embeddings_index = self.db.embeddings_index self.counters = self.db.counters self.initialize_database() def close(self) -> None: """Close MongoDB connection.""" self.client.close() def initialize_database(self, **kwargs: Any) -> None: """ Ensure required MongoDB indexes exist. """ # Unique constraint for embeddings self.embeddings.create_index( [("face_hash", self.ASCENDING), ("embedding_hash", self.ASCENDING)], unique=True, name="uniq_face_embedding", ) # Unique constraint for embeddings_index self.embeddings_index.create_index( [ ("model_name", self.ASCENDING), ("detector_backend", self.ASCENDING), ("align", self.ASCENDING), ("l2_normalized", self.ASCENDING), ], unique=True, name="uniq_index_config", ) # counters collection for auto-incrementing IDs if not self.counters.find_one({"_id": "embedding_id"}): self.counters.insert_one({"_id": "embedding_id", "seq": 0}) logger.debug("MongoDB indexes ensured.") def upsert_embeddings_index( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, index_data: bytes, ) -> None: """ Upsert embeddings index into MongoDB. Args: model_name (str): Name of the model. detector_backend (str): Name of the detector backend. aligned (bool): Whether the embeddings are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. index_data (bytes): Serialized index data. """ self.embeddings_index.update_one( { "model_name": model_name, "detector_backend": detector_backend, "align": aligned, "l2_normalized": l2_normalized, }, { "$set": { "index_data": self.Binary(index_data), "updated_at": datetime.now(timezone.utc), }, "$setOnInsert": { "created_at": datetime.now(timezone.utc), }, }, upsert=True, ) def get_embeddings_index( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> bytes: """ Retrieve embeddings index from MongoDB. Args: model_name (str): Name of the model. detector_backend (str): Name of the detector backend. aligned (bool): Whether the embeddings are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. Returns: bytes: Serialized index data. """ doc = self.embeddings_index.find_one( { "model_name": model_name, "detector_backend": detector_backend, "align": aligned, "l2_normalized": l2_normalized, }, {"index_data": 1}, ) if not doc: raise ValueError( "No Embeddings index found for the specified parameters " f"{model_name=}, {detector_backend=}, " f"{aligned=}, {l2_normalized=}. " "You must run build_index first." ) return bytes(doc["index_data"]) def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert embeddings into MongoDB. Args: embeddings (List[Dict[str, Any]]): List of embedding records to insert. batch_size (int): Number of records to insert in each batch. Returns: int: Number of embeddings successfully inserted. """ if not embeddings: raise ValueError("No embeddings to insert.") docs: List[Dict[str, Any]] = [] for e in embeddings: face = e["face"] face_shape = list(face.shape) binary_face_data = self.Binary(face.astype(np.float32).tobytes()) embedding_bytes = struct.pack(f'{len(e["embedding"])}d', *e["embedding"]) face_hash = hashlib.sha256(json.dumps(face.tolist()).encode()).hexdigest() embedding_hash = hashlib.sha256(embedding_bytes).hexdigest() int_id = self.counters.find_one_and_update( {"_id": "embedding_id"}, {"$inc": {"seq": 1}}, upsert=True, return_document=True )["seq"] docs.append( { "sequence": int_id, "img_name": e["img_name"], "face": binary_face_data, "face_shape": face_shape, "model_name": e["model_name"], "detector_backend": e["detector_backend"], "aligned": e["aligned"], "l2_normalized": e["l2_normalized"], "embedding": e["embedding"], "face_hash": face_hash, "embedding_hash": embedding_hash, "created_at": datetime.now(timezone.utc), } ) inserted = 0 try: for i in range(0, len(docs), batch_size): result = self.embeddings.insert_many(docs[i : i + batch_size], ordered=False) inserted += len(result.inserted_ids) except (self.DuplicateKeyError, self.BulkWriteError) as e: if len(docs) == 1: logger.warn("Duplicate detected for extracted face and embedding.") return inserted raise DuplicateEntryError( f"Duplicate detected for extracted face and embedding in {i}-th batch" ) from e return inserted def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: """ Fetch all embeddings from MongoDB based on specified parameters. Args: model_name (str): Name of the model. detector_backend (str): Name of the detector backend. aligned (bool): Whether the embeddings are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. batch_size (int): Number of records to fetch in each batch. Returns: List[Dict[str, Any]]: List of embedding records. """ cursor = self.embeddings.find( { "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, }, { "_id": 1, "sequence": 1, "img_name": 1, "embedding": 1, }, batch_size=batch_size, ).sort("sequence", self.ASCENDING) results: List[Dict[str, Any]] = [] for doc in cursor: results.append( { "_id": str(doc["_id"]), "id": doc["sequence"], "img_name": doc["img_name"], "embedding": doc["embedding"], "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, } ) return results def search_by_id( self, ids: Union[List[str], List[int]], ) -> List[Dict[str, Any]]: """ Search records by their IDs. """ cursor = self.embeddings.find( {"sequence": {"$in": ids}}, { "_id": 1, "sequence": 1, "img_name": 1, }, ) results: List[Dict[str, Any]] = [] for doc in cursor: results.append( { "_id": str(doc["_id"]), "id": doc["sequence"], "img_name": doc["img_name"], } ) return results ================================================ FILE: deepface/modules/database/neo4j.py ================================================ # built-in dependencies import os import json import hashlib import struct from typing import Any, Dict, Optional, List, Union from urllib.parse import urlparse # project dependencies from deepface.modules.database.types import Database from deepface.modules.modeling import build_model from deepface.modules.verification import find_cosine_distance, find_euclidean_distance from deepface.commons.logger import Logger logger = Logger() _SCHEMA_CHECKED: Dict[str, bool] = {} # pylint: disable=too-many-positional-arguments class Neo4jClient(Database): def __init__( self, connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, ) -> None: # Import here to avoid mandatory dependency try: from neo4j import GraphDatabase except (ModuleNotFoundError, ImportError) as e: raise ValueError( "neo4j is an optional dependency, ensure the library is installed." "Please install using 'pip install neo4j' " ) from e self.GraphDatabase = GraphDatabase if connection is not None: self.conn = connection else: self.conn_details = connection_details or os.environ.get("DEEPFACE_NEO4J_URI") if not self.conn_details: raise ValueError( "Neo4j connection information not found. " "Please provide connection_details or set the DEEPFACE_NEO4J_URI" " environment variable." ) if isinstance(self.conn_details, str): parsed = urlparse(self.conn_details) uri = f"{parsed.scheme}://{parsed.hostname}:{parsed.port}" self.conn = self.GraphDatabase.driver(uri, auth=(parsed.username, parsed.password)) else: raise ValueError("connection_details must be a string.") if not self.__is_gds_installed(): raise ValueError( "Neo4j Graph Data Science (GDS) plugin is not installed. " "Please install the GDS plugin to use Neo4j as a database backend." ) def close(self) -> None: """ Close the Neo4j database connection. """ if self.conn: self.conn.close() logger.debug("Neo4j connection closed.") def initialize_database(self, **kwargs: Any) -> None: """ Ensure Neo4j database has the necessary constraints and indexes for storing embeddings. """ model_name = kwargs.get("model_name", "VGG-Face") detector_backend = kwargs.get("detector_backend", "opencv") aligned = kwargs.get("aligned", True) l2_normalized = kwargs.get("l2_normalized", False) node_label = self.__generate_node_label( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) model = build_model(task="facial_recognition", model_name=model_name) dimensions = model.output_shape similarity_function = "cosine" if l2_normalized else "euclidean" if _SCHEMA_CHECKED.get(node_label): logger.debug(f"Neo4j index {node_label} already exists, skipping creation.") return index_query = f""" CREATE VECTOR INDEX {node_label}_embedding_idx IF NOT EXISTS FOR (d:{node_label}) ON (d.embedding) OPTIONS {{ indexConfig: {{ `vector.dimensions`: {dimensions}, `vector.similarity_function`: '{similarity_function}' }} }}; """ uniq_query = f""" CREATE CONSTRAINT {node_label}_unique IF NOT EXISTS FOR (n:{node_label}) REQUIRE (n.face_hash, n.embedding_hash) IS UNIQUE; """ with self.conn.session() as session: session.execute_write(lambda tx: tx.run(index_query)) session.execute_write(lambda tx: tx.run(uniq_query)) _SCHEMA_CHECKED[node_label] = True logger.debug(f"Neo4j index {node_label} ensured.") def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert embeddings into Neo4j database in batches. """ if not embeddings: raise ValueError("No embeddings to insert.") self.initialize_database( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) node_label = self.__generate_node_label( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) query = f""" UNWIND $rows AS r MERGE (n:{node_label} {{face_hash: r.face_hash, embedding_hash: r.embedding_hash}}) ON CREATE SET n.img_name = r.img_name, n.embedding = r.embedding, n.face = r.face, n.model_name = r.model_name, n.detector_backend = r.detector_backend, n.aligned = r.aligned, n.l2_normalized = r.l2_normalized RETURN count(*) AS processed """ total = 0 with self.conn.session() as session: for i in range(0, len(embeddings), batch_size): batch = embeddings[i : i + batch_size] rows = [] for e in batch: face_json = json.dumps(e["face"].tolist()) face_hash = hashlib.sha256(face_json.encode()).hexdigest() embedding_bytes = struct.pack(f'{len(e["embedding"])}d', *e["embedding"]) embedding_hash = hashlib.sha256(embedding_bytes).hexdigest() rows.append( { "face_hash": face_hash, "embedding_hash": embedding_hash, "img_name": e["img_name"], "embedding": e["embedding"], # "face": e["face"].tolist(), # "face_shape": list(e["face"].shape), "model_name": e.get("model_name"), "detector_backend": e.get("detector_backend"), "aligned": bool(e.get("aligned", True)), "l2_normalized": bool(e.get("l2_normalized", False)), } ) processed = session.execute_write( lambda tx, q=query, r=rows: int(tx.run(q, rows=r).single()["processed"]) ) total += processed return total def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: """ Fetch all embeddings from Neo4j database in batches. """ node_label = self.__generate_node_label( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) query = f""" MATCH (n:{node_label}) WHERE n.embedding IS NOT NULL AND ($last_eid IS NULL OR elementId(n) > $last_eid) RETURN elementId(n) AS cursor, coalesce(n.id, elementId(n)) AS id, n.img_name AS img_name, n.embedding AS embedding ORDER BY cursor ASC LIMIT $limit """ out: List[Dict[str, Any]] = [] last_eid: Optional[str] = None with self.conn.session() as session: while True: result = session.run(query, last_eid=last_eid, limit=batch_size) rows = list(result) if not rows: break for r in rows: out.append( { "id": r["id"], "img_name": r["img_name"], "embedding": r["embedding"], "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, } ) # advance cursor using elementId last_eid = rows[-1]["cursor"] return out def search_by_vector( self, vector: List[float], model_name: str = "VGG-Face", detector_backend: str = "opencv", aligned: bool = True, l2_normalized: bool = False, limit: int = 10, ) -> List[Dict[str, Any]]: """ ANN search using the main vector (embedding). """ self.initialize_database( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) node_label = self.__generate_node_label( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) index_name = f"{node_label}_embedding_idx" query = """ CALL db.index.vector.queryNodes($index_name, $limit, $vector) YIELD node, score RETURN elementId(node) AS id, node.img_name AS img_name, node.face_hash AS face_hash, node.embedding AS embedding, node.embedding_hash AS embedding_hash, score AS score ORDER BY score DESC """ with self.conn.session() as session: result = session.run( query, index_name=index_name, limit=limit, vector=vector, ) out: List[Dict[str, Any]] = [] for r in result: if l2_normalized: distance = find_cosine_distance(vector, r.get("embedding")) # distance = 2 * (1 - r.get("score")) else: distance = find_euclidean_distance(vector, r.get("embedding")) # distance = math.sqrt(1.0 / r.get("score")) out.append( { "id": r.get("id"), "img_name": r.get("img_name"), "face_hash": r.get("face_hash"), "embedding_hash": r.get("embedding_hash"), "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, "distance": distance, } ) return out def __is_gds_installed(self) -> bool: """ Check if the Graph Data Science (GDS) plugin is installed in the Neo4j database. """ query = "RETURN gds.version() AS version" try: with self.conn.session() as session: result = session.run(query).single() logger.debug(f"GDS version: {result['version']}") return True except Exception as e: # pylint: disable=broad-except logger.error(f"GDS plugin not installed or error occurred: {e}") return False @staticmethod def __generate_node_label( model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> str: """ Generate a Neo4j node label based on model and preprocessing parameters. """ label_parts = [ model_name.replace("-", "_").capitalize(), detector_backend.capitalize(), "Aligned" if aligned else "Unaligned", "Norm" if l2_normalized else "Raw", ] return "".join(label_parts) ================================================ FILE: deepface/modules/database/pgvector.py ================================================ # built-in dependencies import os import json import struct import hashlib from typing import Any, Dict, Optional, List, Union # 3rd party dependencies import numpy as np # project dependencies from deepface.modules.modeling import build_model from deepface.modules.database.types import Database from deepface.modules.exceptions import DuplicateEntryError from deepface.commons.logger import Logger logger = Logger() _SCHEMA_CHECKED: Dict[str, bool] = {} # pylint: disable=too-many-positional-arguments class PGVectorClient(Database): def __init__( self, connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, ) -> None: # Import here to avoid mandatory dependency try: import psycopg from psycopg import errors except (ModuleNotFoundError, ImportError) as e: raise ValueError( "psycopg is an optional dependency, ensure the library is installed." "Please install using 'pip install \"psycopg[binary]\"' " ) from e try: from pgvector.psycopg import register_vector except (ModuleNotFoundError, ImportError) as e: raise ValueError( "pgvector is an optional dependency, ensure the library is installed." "Please install using 'pip install pgvector' " ) from e self.psycopg = psycopg self.errors = errors if connection is not None: self.conn = connection else: # Retrieve connection details from parameter or environment variable self.conn_details = connection_details or os.environ.get("DEEPFACE_POSTGRES_URI") if not self.conn_details: raise ValueError( "PostgreSQL connection information not found. " "Please provide connection_details or set the DEEPFACE_POSTGRES_URI" " environment variable." ) if isinstance(self.conn_details, str): self.conn = self.psycopg.connect(self.conn_details) elif isinstance(self.conn_details, dict): self.conn = self.psycopg.connect(**self.conn_details) else: raise ValueError("connection_details must be either a string or a dict.") # is pgvector extension installed? try: if not _SCHEMA_CHECKED.get("pgvector_extension"): with self.conn.cursor() as cur: cur.execute("CREATE EXTENSION IF NOT EXISTS vector;") self.conn.commit() _SCHEMA_CHECKED["pgvector_extension"] = True except Exception as e: raise ValueError( "Ensure pgvector extension is installed properly by running: " "'CREATE EXTENSION IF NOT EXISTS vector;'" ) from e register_vector(self.conn) def close(self) -> None: """Close the database connection.""" self.conn.close() def initialize_database(self, **kwargs: Any) -> None: """ Initialize PostgreSQL database schema for storing embeddings. Args: model_name (str): Name of the facial recognition model. detector_backend (str): Name of the face detector backend. aligned (bool): Whether the faces are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. """ model_name = kwargs.get("model_name", "VGG-Face") detector_backend = kwargs.get("detector_backend", "opencv") aligned = kwargs.get("aligned", True) l2_normalized = kwargs.get("l2_normalized", False) model = build_model(task="facial_recognition", model_name=model_name) dimensions = model.output_shape table_name = self.__generate_table_name( model_name, detector_backend, aligned, l2_normalized ) if _SCHEMA_CHECKED.get(table_name): logger.debug("PostgreSQL schema already checked, skipping.") return create_table_stmt = f""" CREATE TABLE IF NOT EXISTS {table_name} ( id SERIAL PRIMARY KEY, img_name TEXT NOT NULL, face BYTEA NOT NULL, face_shape INT[] NOT NULL, model_name TEXT NOT NULL, detector_backend TEXT NOT NULL, aligned BOOLEAN DEFAULT true, l2_normalized BOOLEAN DEFAULT false, embedding vector({dimensions}) NOT NULL, created_at TIMESTAMPTZ DEFAULT now(), face_hash TEXT NOT NULL, embedding_hash TEXT NOT NULL, UNIQUE (face_hash, embedding_hash) ); """ index_name = f"{table_name}_{'cosine' if l2_normalized else 'euclidean'}_idx" create_index_stmt = f""" CREATE INDEX {index_name} ON {table_name} USING hnsw (embedding {'vector_cosine_ops' if l2_normalized else 'vector_l2_ops'}); """ try: with self.conn.cursor() as cur: # create table if not exists cur.execute(create_table_stmt) # create index if not exists try: cur.execute(create_index_stmt) except Exception as e: # pylint: disable=broad-except # unfortunately if not exists is not supported for index creation if getattr(e, "sqlstate", None) == "42P07": self.conn.rollback() else: raise self.conn.commit() except Exception as e: if getattr(e, "sqlstate", None) == "42501": # permission denied raise ValueError( "The PostgreSQL user does not have permission to create " f"the required table {table_name}. " "Please ask your database administrator to grant CREATE privileges " "on the schema." ) from e raise _SCHEMA_CHECKED[table_name] = True def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert multiple embeddings into PostgreSQL. Args: embeddings (List[Dict[str, Any]]): List of embeddings to insert. batch_size (int): Number of embeddings to insert per batch. Returns: int: Number of embeddings inserted. """ if not embeddings: raise ValueError("No embeddings to insert.") self.initialize_database( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) table_name = self.__generate_table_name( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) query = f""" INSERT INTO {table_name} ( img_name, face, face_shape, model_name, detector_backend, aligned, l2_normalized, embedding, face_hash, embedding_hash ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s); """ values = [] for e in embeddings: face = e["face"] face_shape = list(face.shape) face_bytes = face.astype(np.float32).tobytes() face_json = json.dumps(face.tolist()) embedding_bytes = struct.pack(f'{len(e["embedding"])}d', *e["embedding"]) # uniqueness is guaranteed by face hash and embedding hash face_hash = hashlib.sha256(face_json.encode()).hexdigest() embedding_hash = hashlib.sha256(embedding_bytes).hexdigest() values.append( ( e["img_name"], face_bytes, face_shape, e["model_name"], e["detector_backend"], e["aligned"], e["l2_normalized"], e["embedding"], face_hash, embedding_hash, ) ) try: with self.conn.cursor() as cur: for i in range(0, len(values), batch_size): cur.executemany(query, values[i : i + batch_size]) # commit for every batch self.conn.commit() return len(values) except self.psycopg.errors.UniqueViolation as e: self.conn.rollback() if len(values) == 1: logger.warn("Duplicate detected for extracted face and embedding.") return 0 raise DuplicateEntryError( f"Duplicate detected for extracted face and embedding columns in {i}-th batch" ) from e def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: """ Fetch all embeddings from PostgreSQL. Args: model_name (str): Name of the facial recognition model. detector_backend (str): Name of the face detector backend. aligned (bool): Whether the faces are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. batch_size (int): Number of embeddings to fetch per batch. Returns: List[Dict[str, Any]]: List of embeddings. """ table_name = self.__generate_table_name( model_name, detector_backend, aligned, l2_normalized ) query = f""" SELECT id, img_name, embedding FROM {table_name} ORDER BY id ASC; """ embeddings: List[Dict[str, Any]] = [] with self.conn.cursor(name="embeddings_cursor") as cur: cur.execute(query) while True: batch = cur.fetchmany(batch_size) if not batch: break for r in batch: embeddings.append( { "id": r[0], "img_name": r[1], "embedding": list(r[2]), "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, } ) return embeddings def search_by_vector( self, vector: List[float], model_name: str = "VGG-Face", detector_backend: str = "opencv", aligned: bool = True, l2_normalized: bool = False, limit: int = 10, ) -> List[Dict[str, Any]]: """ Search for similar embeddings in PostgreSQL using a given vector. Args: vector (List[float]): The query embedding vector. model_name (str): Name of the facial recognition model. detector_backend (str): Name of the face detector backend. aligned (bool): Whether the faces are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. limit (int): Number of similar embeddings to return. Returns: List[Dict[str, Any]]: List of similar embeddings with distances. """ table_name = self.__generate_table_name( model_name, detector_backend, aligned, l2_normalized ) self.initialize_database( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) op = "<=>" if l2_normalized else "<->" query = f""" SELECT id, img_name, (embedding {op} (%s::vector)) AS distance FROM {table_name} ORDER BY embedding {op} (%s::vector) LIMIT %s; """ results: List[Dict[str, Any]] = [] with self.conn.cursor() as cur: cur.execute(query, (vector, vector, limit)) rows = cur.fetchall() for r in rows: results.append( { "id": r[0], "img_name": r[1], # "embedding": list(r[2]), # embedding dropped in select query "distance": r[2], "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, } ) return results @staticmethod def __generate_table_name( model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> str: """ Generate postgres table name based on parameters. """ class_name_attributes = [ model_name.replace("-", ""), detector_backend, "Aligned" if aligned else "Unaligned", "Norm" if l2_normalized else "Raw", ] return "Embeddings_" + "_".join(class_name_attributes).lower() ================================================ FILE: deepface/modules/database/pinecone.py ================================================ # built-in dependencies import os import json import hashlib import struct import math from typing import Any, Dict, Optional, List, Union # project dependencies from deepface.modules.database.types import Database from deepface.modules.modeling import build_model from deepface.commons.logger import Logger logger = Logger() class PineconeClient(Database): """ Pinecone client for storing and retrieving face embeddings and indices. """ def __init__( self, connection_details: Optional[Union[str, Dict[str, Any]]] = None, connection: Any = None, ): try: from pinecone import Pinecone, ServerlessSpec except (ModuleNotFoundError, ImportError) as e: raise ValueError( "pinecone is an optional dependency. Install with 'pip install pinecone'" ) from e self.pinecone = Pinecone self.serverless_spec = ServerlessSpec if connection is not None: self.client = connection else: self.conn_details = connection_details or os.environ.get("DEEPFACE_PINECONE_API_KEY") if not isinstance(self.conn_details, str): raise ValueError( "Pinecone api key must be provided as a string in connection_details " "or via DEEPFACE_PINECONE_API_KEY environment variable." ) self.client = self.pinecone(api_key=self.conn_details) def initialize_database(self, **kwargs: Any) -> None: """ Ensure Pinecone index exists. """ model_name = kwargs.get("model_name", "VGG-Face") detector_backend = kwargs.get("detector_backend", "opencv") aligned = kwargs.get("aligned", True) l2_normalized = kwargs.get("l2_normalized", False) index_name = self.__generate_index_name( model_name, detector_backend, aligned, l2_normalized ) if self.client.has_index(index_name): logger.debug(f"Pinecone index '{index_name}' already exists.") return model = build_model(task="facial_recognition", model_name=model_name) dimensions = model.output_shape similarity_function = "cosine" if l2_normalized else "euclidean" self.client.create_index( name=index_name, dimension=dimensions, metric=similarity_function, spec=self.serverless_spec( cloud=os.getenv("DEEPFACE_PINECONE_CLOUD", "aws"), region=os.getenv("DEEPFACE_PINECONE_REGION", "us-east-1"), ), ) logger.debug(f"Created Pinecone index '{index_name}' with dimension {dimensions}.") def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert embeddings into Pinecone database in batches. """ if not embeddings: raise ValueError("No embeddings to insert.") self.initialize_database( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) index_name = self.__generate_index_name( embeddings[0]["model_name"], embeddings[0]["detector_backend"], embeddings[0]["aligned"], embeddings[0]["l2_normalized"], ) # connect to the index index = self.client.Index(index_name) total = 0 for i in range(0, len(embeddings), batch_size): batch = embeddings[i : i + batch_size] vectors = [] for e in batch: face_json = json.dumps(e["face"].tolist()) face_hash = hashlib.sha256(face_json.encode()).hexdigest() embedding_bytes = struct.pack(f'{len(e["embedding"])}d', *e["embedding"]) embedding_hash = hashlib.sha256(embedding_bytes).hexdigest() vectors.append( { "id": f"{face_hash}:{embedding_hash}", "values": e["embedding"], "metadata": { "img_name": e["img_name"], # "face": e["face"].tolist(), # "face_shape": list(e["face"].shape), }, } ) index.upsert(vectors=vectors) total += len(vectors) return total def search_by_vector( self, vector: List[float], model_name: str = "VGG-Face", detector_backend: str = "opencv", aligned: bool = True, l2_normalized: bool = False, limit: int = 10, ) -> List[Dict[str, Any]]: """ ANN search using the main vector (embedding). """ out: List[Dict[str, Any]] = [] self.initialize_database( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) index_name = self.__generate_index_name( model_name, detector_backend, aligned, l2_normalized ) index = self.client.Index(index_name) results = index.query( vector=vector, top_k=limit, include_metadata=True, include_values=False, ) if not results.matches: return out for res in results.matches: score = float(res.score) if l2_normalized: distance = 1 - score else: distance = math.sqrt(max(score, 0.0)) out.append( { "id": res.id, "distance": distance, "img_name": res.metadata.get("img_name"), } ) return out def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: """ Fetch all embeddings from Pinecone database in batches. """ out: List[Dict[str, Any]] = [] self.initialize_database( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) index_name = self.__generate_index_name( model_name, detector_backend, aligned, l2_normalized ) index = self.client.Index(index_name) # Fetch all IDs ids: List[str] = [] for _id in index.list(): ids.extend(_id) for i in range(0, len(ids), batch_size): batch_ids = ids[i : i + batch_size] fetched = index.fetch(ids=batch_ids) for _id, v in fetched.get("vectors", {}).items(): md = v.get("metadata") or {} out.append( { "id": _id, "embedding": v.get("values"), "img_name": md.get("img_name"), "face_hash": md.get("face_hash"), "embedding_hash": md.get("embedding_hash"), } ) return out def close(self) -> None: """Pinecone client does not require explicit closure""" return @staticmethod def __generate_index_name( model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> str: """ Generate Pinecone index name based on parameters. """ index_name_attributes = [ "embeddings", model_name.replace("-", ""), detector_backend, "Aligned" if aligned else "Unaligned", "Norm" if l2_normalized else "Raw", ] return "-".join(index_name_attributes).lower() ================================================ FILE: deepface/modules/database/postgres.py ================================================ # built-in dependencies import os import json import hashlib import struct from typing import Any, Dict, Optional, List, Union, cast # 3rd party dependencies import numpy as np # project dependencies from deepface.modules.database.types import Database from deepface.modules.exceptions import DuplicateEntryError from deepface.commons.logger import Logger logger = Logger() _SCHEMA_CHECKED: Dict[str, bool] = {} CREATE_EMBEDDINGS_TABLE_SQL = """ CREATE TABLE IF NOT EXISTS embeddings ( id BIGSERIAL PRIMARY KEY, img_name TEXT NOT NULL, face BYTEA NOT NULL, face_shape INT[] NOT NULL, model_name TEXT NOT NULL, detector_backend TEXT NOT NULL, aligned BOOLEAN DEFAULT true, l2_normalized BOOLEAN DEFAULT false, embedding FLOAT8[] NOT NULL, created_at TIMESTAMPTZ DEFAULT now(), face_hash TEXT NOT NULL, embedding_hash TEXT NOT NULL, UNIQUE (face_hash, embedding_hash) ); """ CREATE_EMBEDDINGS_INDEX_TABLE_SQL = """ CREATE TABLE IF NOT EXISTS embeddings_index ( id SERIAL PRIMARY KEY, model_name TEXT, detector_backend TEXT, align BOOL, l2_normalized BOOL, index_data BYTEA, created_at TIMESTAMPTZ DEFAULT now(), updated_at TIMESTAMPTZ DEFAULT now(), UNIQUE (model_name, detector_backend, align, l2_normalized) ); """ # pylint: disable=too-many-positional-arguments class PostgresClient(Database): def __init__( self, connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, ) -> None: # Import here to avoid mandatory dependency try: import psycopg except (ModuleNotFoundError, ImportError) as e: raise ValueError( "psycopg is an optional dependency, ensure the library is installed." "Please install using 'pip install \"psycopg[binary]\"' " ) from e self.psycopg = psycopg if connection is not None: self.conn = connection else: # Retrieve connection details from parameter or environment variable self.conn_details = connection_details or os.environ.get("DEEPFACE_POSTGRES_URI") if not self.conn_details: raise ValueError( "PostgreSQL connection information not found. " "Please provide connection_details or set the DEEPFACE_POSTGRES_URI" " environment variable." ) if isinstance(self.conn_details, str): self.conn = self.psycopg.connect(self.conn_details) elif isinstance(self.conn_details, dict): self.conn = self.psycopg.connect(**self.conn_details) else: raise ValueError("connection_details must be either a string or a dict.") # Ensure the embeddings table exists self.initialize_database() def initialize_database(self, **kwargs: Any) -> None: """ Ensure that the `embeddings` table exists. """ dsn = self.conn.info.dsn if _SCHEMA_CHECKED.get(dsn): logger.debug("PostgreSQL schema already checked, skipping.") return with self.conn.cursor() as cur: try: cur.execute(CREATE_EMBEDDINGS_TABLE_SQL) logger.debug("Ensured 'embeddings' table either exists or was created in Postgres.") cur.execute(CREATE_EMBEDDINGS_INDEX_TABLE_SQL) logger.debug( "Ensured 'embeddings_index' table either exists or was created in Postgres." ) except Exception as e: if getattr(e, "sqlstate", None) == "42501": # permission denied raise ValueError( "The PostgreSQL user does not have permission to create " "the required tables ('embeddings', 'embeddings_index'). " "Please ask your database administrator to grant CREATE privileges " "on the schema." ) from e raise self.conn.commit() _SCHEMA_CHECKED[dsn] = True def close(self) -> None: """Close the database connection.""" self.conn.close() def upsert_embeddings_index( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, index_data: bytes, ) -> None: """ Upsert embeddings index into PostgreSQL. Args: model_name (str): Name of the model. detector_backend (str): Name of the detector backend. aligned (bool): Whether the embeddings are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. index_data (bytes): Serialized index data. """ query = """ INSERT INTO embeddings_index (model_name, detector_backend, align, l2_normalized, index_data) VALUES (%s, %s, %s, %s, %s) ON CONFLICT (model_name, detector_backend, align, l2_normalized) DO UPDATE SET index_data = EXCLUDED.index_data, updated_at = NOW() """ with self.conn.cursor() as cur: cur.execute( query, (model_name, detector_backend, aligned, l2_normalized, index_data), ) self.conn.commit() def get_embeddings_index( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> bytes: """ Get embeddings index from PostgreSQL. Args: model_name (str): Name of the model. detector_backend (str): Name of the detector backend. aligned (bool): Whether the embeddings are aligned. l2_normalized (bool): Whether the embeddings are L2 normalized. Returns: bytes: Serialized index data. """ query = """ SELECT index_data FROM embeddings_index WHERE model_name = %s AND detector_backend = %s AND align = %s AND l2_normalized = %s """ with self.conn.cursor() as cur: cur.execute( query, (model_name, detector_backend, aligned, l2_normalized), ) result = cur.fetchone() if result: return cast(bytes, result[0]) raise ValueError( "No Embeddings index found for the specified parameters " f" {model_name=}, {detector_backend=}, {aligned=}, {l2_normalized=}. " "You must run build_index first." ) def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert multiple embeddings into PostgreSQL. Args: embeddings (List[Dict[str, Any]]): List of embeddings to insert. batch_size (int): Number of embeddings to insert per batch. Returns: int: Number of embeddings inserted. """ if not embeddings: raise ValueError("No embeddings to insert.") query = """ INSERT INTO embeddings ( img_name, face, face_shape, model_name, detector_backend, aligned, l2_normalized, embedding, face_hash, embedding_hash ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s); """ values = [] for e in embeddings: face = e["face"] face_shape = list(face.shape) face_bytes = face.astype(np.float32).tobytes() face_json = json.dumps(face.tolist()) embedding_bytes = struct.pack(f'{len(e["embedding"])}d', *e["embedding"]) # uniqueness is guaranteed by face hash and embedding hash face_hash = hashlib.sha256(face_json.encode()).hexdigest() embedding_hash = hashlib.sha256(embedding_bytes).hexdigest() values.append( ( e["img_name"], face_bytes, face_shape, e["model_name"], e["detector_backend"], e["aligned"], e["l2_normalized"], e["embedding"], face_hash, embedding_hash, ) ) try: with self.conn.cursor() as cur: for i in range(0, len(values), batch_size): cur.executemany(query, values[i : i + batch_size]) # commit for every batch self.conn.commit() return len(values) except self.psycopg.errors.UniqueViolation as e: self.conn.rollback() if len(values) == 1: logger.warn("Duplicate detected for extracted face and embedding.") return 0 raise DuplicateEntryError( f"Duplicate detected for extracted face and embedding columns in {i}-th batch" ) from e def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: query = """ SELECT id, img_name, embedding FROM embeddings WHERE model_name = %s AND detector_backend = %s AND aligned = %s AND l2_normalized = %s ORDER BY id ASC; """ embeddings: List[Dict[str, Any]] = [] with self.conn.cursor(name="embeddings_cursor") as cur: cur.execute(query, (model_name, detector_backend, aligned, l2_normalized)) while True: batch = cur.fetchmany(batch_size) if not batch: break for r in batch: embeddings.append( { "id": r[0], "img_name": r[1], "embedding": r[2], "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, } ) return embeddings def search_by_id( self, ids: Union[List[str], List[int]], ) -> List[Dict[str, Any]]: """ Search records by their IDs. """ if not ids: return [] # we may return the face in the future query = """ SELECT id, img_name FROM embeddings WHERE id = ANY(%s) ORDER BY id ASC; """ results: List[Dict[str, Any]] = [] with self.conn.cursor() as cur: cur.execute(query, (ids,)) rows = cur.fetchall() for r in rows: results.append( { "id": r[0], "img_name": r[1], } ) return results ================================================ FILE: deepface/modules/database/types.py ================================================ # built-in dependencies from typing import Any, Dict, List, Union, Optional from abc import ABC, abstractmethod # pylint: disable=unnecessary-pass, too-many-positional-arguments class Database(ABC): @abstractmethod def __init__( self, connection_details: Optional[Union[str, Dict[str, Any]]] = None, connection: Any = None, ): """ Initialize the database client with connection details or an existing connection. """ pass @abstractmethod def initialize_database(self, **kwargs: Any) -> None: """ Ensure that the embeddings table or indexes exist in the database. """ pass @abstractmethod def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert embeddings into the database in batches. """ pass @abstractmethod def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: """ Fetch all embeddings from the database in batches. """ pass @abstractmethod def close(self) -> None: """ Close the database connection. """ pass def get_embeddings_index( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> bytes: """ Retrieve the embeddings index from the database. """ raise NotImplementedError( f"{self.__class__.__name__} does not require storing embeddings index." " Because it handles indexing internally." ) def search_by_vector( self, vector: List[float], model_name: str = "VGG-Face", detector_backend: str = "opencv", aligned: bool = True, l2_normalized: bool = False, limit: int = 10, ) -> List[Dict[str, Any]]: """ ANN search using the main vector (embedding). """ raise NotImplementedError( f"{self.__class__.__name__} does not support ANN search natively." ) def search_by_id( self, ids: Union[List[str], List[int]], ) -> List[Dict[str, Any]]: """ Search records by their IDs. """ raise NotImplementedError( f"{self.__class__.__name__} does not implement search_by_id method." " Because search by vector returns metadata already." ) def upsert_embeddings_index( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, index_data: bytes, ) -> None: """ Insert or update the embeddings index in the database. """ raise NotImplementedError( f"{self.__class__.__name__} does not require storing embeddings index." " Because it handles indexing internally." ) ================================================ FILE: deepface/modules/database/weaviate.py ================================================ # built-in dependencies import os import json import hashlib import struct import base64 import uuid import math from typing import Any, Dict, Optional, List, Union # project dependencies from deepface.modules.database.types import Database from deepface.commons.logger import Logger logger = Logger() _SCHEMA_CHECKED: Dict[str, bool] = {} # pylint: disable=too-many-positional-arguments class WeaviateClient(Database): """ Weaviate client for storing and retrieving face embeddings and indices. """ def __init__( self, connection_details: Optional[Union[str, Dict[str, Any]]] = None, connection: Any = None, ): try: import weaviate except (ModuleNotFoundError, ImportError) as e: raise ValueError( "weaviate-client is an optional dependency. " "Install with 'pip install weaviate-client'" ) from e self.weaviate = weaviate if connection is not None: self.client = connection # URL key for _WEAVIATE_CHECKED; fallback if client has no URL self.url = getattr(connection, "url", str(id(connection))) else: self.conn_details = connection_details or os.environ.get("DEEPFACE_WEAVIATE_URL") if isinstance(self.conn_details, str): self.url = self.conn_details self.api_key = os.getenv("WEAVIATE_API_KEY") elif isinstance(self.conn_details, dict): self.url = self.conn_details.get("url") self.api_key = self.conn_details.get("api_key") or os.getenv("WEAVIATE_API_KEY") else: raise ValueError("connection_details must be a string or dict with 'url'.") if not self.url: raise ValueError("Weaviate URL not provided in connection_details.") client_config = {"url": self.url} if getattr(self, "api_key", None): client_config["auth_client_secret"] = self.weaviate.AuthApiKey(api_key=self.api_key) self.client = self.weaviate.Client(**client_config) def initialize_database(self, **kwargs: Any) -> None: """ Ensure Weaviate schemas exist for embeddings using both cosine and L2 (euclidean). """ model_name = kwargs.get("model_name", "VGG-Face") detector_backend = kwargs.get("detector_backend", "opencv") aligned = kwargs.get("aligned", True) l2_normalized = kwargs.get("l2_normalized", False) existing_schema = self.client.schema.get() existing_classes = {c["class"] for c in existing_schema.get("classes", [])} class_name = self.__generate_class_name( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) if _SCHEMA_CHECKED.get(class_name): logger.debug("Weaviate schema already checked, skipping.") return if class_name in existing_classes: logger.debug(f"Weaviate class {class_name} already exists.") return self.client.schema.create_class( { "class": class_name, "vectorIndexType": "hnsw", "vectorizer": "none", "vectorIndexConfig": { "M": int(os.getenv("WEAVIATE_HNSW_M", "16")), "distance": "cosine" if l2_normalized else "l2-squared", }, "properties": [ {"name": "img_name", "dataType": ["text"]}, {"name": "face", "dataType": ["blob"]}, {"name": "face_shape", "dataType": ["int[]"]}, {"name": "model_name", "dataType": ["text"]}, {"name": "detector_backend", "dataType": ["text"]}, {"name": "aligned", "dataType": ["boolean"]}, {"name": "l2_normalized", "dataType": ["boolean"]}, {"name": "face_hash", "dataType": ["text"]}, {"name": "embedding_hash", "dataType": ["text"]}, # embedding property is optional since we pass it as vector {"name": "embedding", "dataType": ["number[]"]}, ], } ) logger.debug(f"Weaviate class {class_name} created successfully.") _SCHEMA_CHECKED[class_name] = True def insert_embeddings(self, embeddings: List[Dict[str, Any]], batch_size: int = 100) -> int: """ Insert multiple embeddings into Weaviate using batch API. """ if not embeddings: raise ValueError("No embeddings to insert.") self.initialize_database( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) class_name = self.__generate_class_name( model_name=embeddings[0]["model_name"], detector_backend=embeddings[0]["detector_backend"], aligned=embeddings[0]["aligned"], l2_normalized=embeddings[0]["l2_normalized"], ) with self.client.batch as batcher: batcher.batch_size = batch_size batcher.timeout_retries = 3 for e in embeddings: face_json = json.dumps(e["face"].tolist()) face_hash = hashlib.sha256(face_json.encode()).hexdigest() embedding_bytes = struct.pack(f'{len(e["embedding"])}d', *e["embedding"]) embedding_hash = hashlib.sha256(embedding_bytes).hexdigest() # Check if embedding already exists query = ( self.client.query.get(class_name, ["embedding_hash"]) .with_where( { "path": ["embedding_hash"], "operator": "Equal", "valueText": embedding_hash, } ) .with_limit(1) .do() ) existing = query.get("data", {}).get("Get", {}).get(class_name, []) if existing: logger.warn( f"Embedding with hash {embedding_hash} already exists in {class_name}." ) continue uid = str(uuid.uuid4()) properties = { "img_name": e["img_name"], "face": base64.b64encode(e["face"].tobytes()).decode("utf-8"), "face_shape": list(e["face"].shape), "model_name": e["model_name"], "detector_backend": e["detector_backend"], "aligned": e["aligned"], "l2_normalized": e["l2_normalized"], "embedding": e["embedding"], # optional "face_hash": face_hash, "embedding_hash": embedding_hash, } batcher.add_data_object(properties, class_name, vector=e["embedding"], uuid=uid) return len(embeddings) def fetch_all_embeddings( self, model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, batch_size: int = 1000, ) -> List[Dict[str, Any]]: """ Fetch all embeddings with filters. """ class_name = self.__generate_class_name( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) self.initialize_database( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) results = ( self.client.query.get(class_name, ["img_name", "embedding"]) .with_additional(["id"]) .do() ) data = results.get("data", {}).get("Get", {}).get(class_name, []) embeddings = [] for r in data: embeddings.append( { "id": r.get("_additional", {}).get("id"), "img_name": r["img_name"], "embedding": r["embedding"], "model_name": model_name, "detector_backend": detector_backend, "aligned": aligned, "l2_normalized": l2_normalized, } ) return embeddings def search_by_vector( self, vector: List[float], model_name: str = "VGG-Face", detector_backend: str = "opencv", aligned: bool = True, l2_normalized: bool = False, limit: int = 10, ) -> List[Dict[str, Any]]: """ ANN search using the main vector (embedding). """ class_name = self.__generate_class_name( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) self.initialize_database( model_name=model_name, detector_backend=detector_backend, aligned=aligned, l2_normalized=l2_normalized, ) query = self.client.query.get(class_name, ["img_name", "embedding"]) query = ( query.with_near_vector({"vector": vector}) .with_limit(limit) .with_additional(["id", "distance"]) ) results = query.do() data = results.get("data", {}).get("Get", {}).get(class_name, []) return [ { "id": r.get("_additional", {}).get("id"), "img_name": r["img_name"], "embedding": r["embedding"], "distance": ( r.get("_additional", {}).get("distance") if l2_normalized else math.sqrt(r.get("_additional", {}).get("distance")) ), } for r in data ] def close(self) -> None: """ Close the Weaviate client connection. """ self.client.close() @staticmethod def __generate_class_name( model_name: str, detector_backend: str, aligned: bool, l2_normalized: bool, ) -> str: """ Generate Weaviate class name based on parameters. """ class_name_attributes = [ model_name.replace("-", ""), detector_backend, "Aligned" if aligned else "Unaligned", "Norm" if l2_normalized else "Raw", ] return "Embeddings_" + "_".join(class_name_attributes).lower() ================================================ FILE: deepface/modules/datastore.py ================================================ # built-in dependencies import os from typing import Any, Dict, IO, List, Union, Optional, cast import uuid import time import math import tempfile # 3rd party dependencies import pandas as pd import numpy as np from numpy.typing import NDArray # project dependencies from deepface.modules.database.types import Database from deepface.modules.database.inventory import database_inventory from deepface.modules.representation import represent from deepface.modules.verification import ( find_angular_distance, find_cosine_distance, find_euclidean_distance, l2_normalize as find_l2_normalize, find_threshold, find_confidence, ) from deepface.commons.logger import Logger logger = Logger() # pylint: disable=too-many-positional-arguments, no-else-return def register( img: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], img_name: Optional[str] = None, model_name: str = "VGG-Face", detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, l2_normalize: bool = False, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, database_type: str = "postgres", connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, ) -> Dict[str, Any]: """ Register identities to database for face recognition Args: img (str or np.ndarray or IO[bytes] or list): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If a list is provided, each element should be a string or numpy array representing an image, and the function will process images in batch. img_name (optional str): image name to store in db, if not provided then we will try to extract it from given img. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). database_type (str): Type of database to register identities. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection_details (dict or str): Connection details for the database. connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY Returns: result (dict): A dictionary containing registration results with following keys. - inserted (int): Number of embeddings successfully registered to the database. """ db_client = __connect_database( database_type=database_type, connection_details=connection_details, connection=connection, ) results = __get_embeddings( img=img, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, anti_spoofing=anti_spoofing, expand_percentage=expand_percentage, normalization=normalization, l2_normalize=l2_normalize, return_face=True, ) embedding_records: List[Dict[str, Any]] = [] for result in results: img_identifier = img_name or ( img if isinstance(img, str) and img.endswith((".jpg", ".jpeg", ".png")) else str(uuid.uuid4()) ) embedding_record = { "id": None, "img_name": img_identifier, "face": result["face"], "model_name": model_name, "detector_backend": detector_backend, "embedding": result["embedding"], "aligned": align, "l2_normalized": l2_normalize, } embedding_records.append(embedding_record) inserted = db_client.insert_embeddings(embedding_records, batch_size=100) logger.debug(f"Successfully registered {inserted} embeddings to the database.") # Close the database connection if it was created internally if connection is None: db_client.close() return {"inserted": inserted} def search( img: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], model_name: str = "VGG-Face", detector_backend: str = "opencv", distance_metric: str = "cosine", enforce_detection: bool = True, align: bool = True, l2_normalize: bool = False, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, similarity_search: bool = False, k: Optional[int] = None, database_type: str = "postgres", connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, search_method: str = "exact", ) -> List[pd.DataFrame]: """ Search for identities in database for face recognition. This is a stateless facial recognition function. Use find function to do it in a stateful way. Args: img (str or np.ndarray or IO[bytes] or list): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If a list is provided, each element should be a string or numpy array representing an image, and the function will process images in batch. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'angular' (default is cosine). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). similarity_search (boolean): If False, performs identity verification and returns images of the same person. If True, performs similarity search and returns visually similar faces (e.g., celebrity or parental look-alikes). Default is False. k (int): Number of top similar faces to retrieve from the database for each detected face. If not specified, all faces within the threshold will be returned (default is None). search_method (str): Method to use for searching identities. Options: 'exact', 'ann'. To use ann search, you must run build_index function first to create the index. database_type (str): Type of database to search identities. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection_details (dict or str): Connection details for the database. connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY Returns: results (List[pd.DataFrame]): A list of pandas dataframes or a list of dicts. Each dataframe or dict corresponds to the identity information for an individual detected in the source image. The DataFrame columns or dict keys include: - id: ID of the detected individual. - img_name: Name of the image file in the database. - model_name: Name of the model used for recognition. - aligned: Whether face alignment was performed. - l2_normalized: Whether L2 normalization was applied. - search_method: Method used for searching identities: exact or ann. - target_x, target_y, target_w, target_h: Bounding box coordinates of the target face in the database. Notice that source image's face coordinates are not included in the result here. - threshold: threshold to determine a pair whether same person or different persons - confidence: Confidence score indicating the likelihood that the images represent the same person. The score is between 0 and 100, where higher values indicate greater confidence in the verification result. - distance_metric: Distance metric used for similarity measurement. Distance metric will be ignored for ann search, and set to cosine if l2_normalize is True, euclidean if l2_normalize is False. - distance: Similarity score between the faces based on the specified model and distance metric """ dfs: List[pd.DataFrame] = [] # adjust distance metric if search_method == "ann": # ann does cosine for l2 normalized vectors, euclidean for non-l2 normalized vectors new_distance_metric = "cosine" if l2_normalize is True else "euclidean" if new_distance_metric != distance_metric: logger.warn( f"Overwriting distance_metric to '{new_distance_metric}' since " f"{'vectors are L2-norm' if l2_normalize else 'vectors are not L2-norm'}." ) distance_metric = new_distance_metric elif search_method != "exact": if l2_normalize is True and distance_metric == "euclidean": logger.warn( "Overwriting distance_metric to 'euclidean_l2' since vectors are L2 normalized." ) distance_metric = "euclidean_l2" threshold = find_threshold(model_name=model_name, distance_metric=distance_metric) db_client = __connect_database( database_type=database_type, connection_details=connection_details, connection=connection, ) results = __get_embeddings( img=img, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, anti_spoofing=anti_spoofing, expand_percentage=expand_percentage, normalization=normalization, l2_normalize=l2_normalize, return_face=False, ) is_vector_db = database_inventory[database_type]["is_vector_db"] if search_method == "ann" and is_vector_db is False: try: import faiss except ImportError as e: raise ValueError( "faiss is not installed. Please install faiss to use approximate nearest neighbour." ) from e embeddings_index_bytes = db_client.get_embeddings_index( model_name=model_name, detector_backend=detector_backend, aligned=align, l2_normalized=l2_normalize, ) embeddings_index_buffer = np.frombuffer(embeddings_index_bytes, dtype=np.uint8) embeddings_index = faiss.deserialize_index(embeddings_index_buffer) logger.info("Loaded embeddings index from database.") for result in results: query_vector = np.array(result["embedding"], dtype="float32").reshape(1, -1) distances, indices = embeddings_index.search(query_vector, k or 20) instances = [] for i, index in enumerate(indices[0]): distance = ( math.sqrt(distances[0][i]) if distance_metric == "euclidean" else distances[0][i] / 2 ) verified = bool(distance <= threshold) instance = { "id": index, # "img_name": "N/A", # need to fetch from DB if required "model_name": model_name, "detector_backend": detector_backend, "aligned": align, "l2_normalized": l2_normalize, "search_method": search_method, "target_x": result.get("facial_area", {}).get("x", None), "target_y": result.get("facial_area", {}).get("y", None), "target_w": result.get("facial_area", {}).get("w", None), "target_h": result.get("facial_area", {}).get("h", None), "threshold": threshold, "distance_metric": distance_metric, "distance": distance, "confidence": find_confidence( distance=distance, model_name=model_name, distance_metric=distance_metric, verified=verified, ), } if similarity_search is False and verified: instances.append(instance) if len(instances) == 0: continue df = pd.DataFrame(instances) df = df.sort_values(by="distance", ascending=True).reset_index(drop=True) if k is not None and k > 0: df = df.nsmallest(k, "distance") # we should query DB to get img_name for each id id_mappings = db_client.search_by_id(ids=df["id"].tolist()) ids_df = pd.DataFrame(id_mappings, columns=["id", "img_name"]) df = df.merge(ids_df, on="id", how="left") del ids_df dfs.append(df) return dfs elif search_method == "ann" and is_vector_db is True: for result in results: target_vector: List[float] = result["embedding"] neighbours = db_client.search_by_vector( vector=target_vector, model_name=model_name, detector_backend=detector_backend, aligned=align, l2_normalized=l2_normalize, limit=k or 20, ) if not neighbours: raise ValueError( "No embeddings found in the database for the criteria " f"{model_name=}, {detector_backend=}, {align=}, {l2_normalize=}." "You must call register some embeddings to the database before using search." ) instances = [] for neighbour in neighbours: distance = neighbour["distance"] verified = bool(distance <= threshold) instance = { "id": neighbour["id"], "img_name": neighbour["img_name"], "model_name": model_name, "detector_backend": detector_backend, "aligned": align, "l2_normalized": l2_normalize, "search_method": search_method, "target_x": result.get("facial_area", {}).get("x", None), "target_y": result.get("facial_area", {}).get("y", None), "target_w": result.get("facial_area", {}).get("w", None), "target_h": result.get("facial_area", {}).get("h", None), "threshold": threshold, "distance_metric": distance_metric, "distance": distance, "confidence": find_confidence( distance=distance, model_name=model_name, distance_metric=distance_metric, verified=verified, ), } if similarity_search is False and verified: instances.append(instance) if len(instances) > 0: df = pd.DataFrame(instances) df = df.sort_values(by="distance", ascending=True).reset_index(drop=True) if k is not None and k > 0: df = df.nsmallest(k, "distance") dfs.append(df) return dfs elif search_method == "exact": source_embeddings = db_client.fetch_all_embeddings( model_name=model_name, detector_backend=detector_backend, aligned=align, l2_normalized=l2_normalize, ) if not source_embeddings: raise ValueError( "No embeddings found in the database for the criteria " f"{model_name=}, {detector_backend=}, {align=}, {l2_normalize=}." "You must call register some embeddings to the database before using search." ) for result in results: target_embedding = cast(List[float], result["embedding"]) df = pd.DataFrame(source_embeddings) df["target_embedding"] = [target_embedding for _ in range(len(df))] df["search_method"] = search_method df["target_x"] = result.get("facial_area", {}).get("x", None) df["target_y"] = result.get("facial_area", {}).get("y", None) df["target_w"] = result.get("facial_area", {}).get("w", None) df["target_h"] = result.get("facial_area", {}).get("h", None) df["threshold"] = threshold df["distance_metric"] = distance_metric if distance_metric == "cosine": df["distance"] = df.apply( lambda row: find_cosine_distance(row["embedding"], row["target_embedding"]), axis=1, ) elif distance_metric == "euclidean": df["distance"] = df.apply( lambda row: find_euclidean_distance(row["embedding"], row["target_embedding"]), axis=1, ) elif distance_metric == "angular": df["distance"] = df.apply( lambda row: find_angular_distance(row["embedding"], row["target_embedding"]), axis=1, ) elif distance_metric == "euclidean_l2": df["distance"] = df.apply( lambda row: find_euclidean_distance( find_l2_normalize(row["embedding"]), find_l2_normalize(row["target_embedding"]), ), axis=1, ) else: raise ValueError(f"Unsupported distance metric: {distance_metric}") df["confidence"] = df.apply( lambda row: find_confidence( distance=row["distance"], model_name=model_name, distance_metric=distance_metric, verified=bool(row["distance"] <= threshold), ), axis=1, ) df = df.drop(columns=["embedding", "target_embedding"]) if similarity_search is False: df = df[df["distance"] <= threshold] if k is not None and k > 0: df = df.nsmallest(k, "distance") df = df.sort_values(by="distance", ascending=True).reset_index(drop=True) dfs.append(df) return dfs else: raise ValueError(f"Unsupported search method: {search_method}") def build_index( model_name: str = "VGG-Face", detector_backend: str = "opencv", align: bool = True, l2_normalize: bool = False, database_type: str = "postgres", connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, batch_size: int = 1000, max_neighbors_per_node: int = 32, ) -> None: """ Build index for faster search in the database. You should set search_method to 'ann' in the search function to use the built index. Args: model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) max_neighbors_per_node (int): Maximum number of neighbors per node in the index (default is 32). database_type (str): Type of database to build index. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. connection_details (dict or str): Connection details for the database. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY """ if database_inventory.get(database_type) is None: raise ValueError(f"Unsupported database type: {database_type}") is_vector_db = database_inventory[database_type]["is_vector_db"] if is_vector_db is True: logger.info(f"{database_type} manages its own indexes. No need to build index manually.") return try: import faiss except ImportError as e: raise ValueError("faiss is not installed. Please install faiss to use build_index.") from e db_client = __connect_database( database_type=database_type, connection_details=connection_details, connection=connection, ) index = __get_index( db_client=db_client, model_name=model_name, detector_backend=detector_backend, align=align, l2_normalize=l2_normalize, ) if index is not None: indexed_indices = faiss.vector_to_array(index.id_map) indexed_embeddings = set(indexed_indices) logger.info(f"Found {len(indexed_embeddings)} embeddings already indexed in the database.") else: logger.info("No existing index found in the database. A new index will be created.") indexed_embeddings = set() tic = time.time() source_embeddings = db_client.fetch_all_embeddings( model_name=model_name, detector_backend=detector_backend, aligned=align, l2_normalized=l2_normalize, ) toc = time.time() if not source_embeddings: raise ValueError( "No embeddings found in the database for the criteria " f"{model_name=}, {detector_backend=}, {align=}, {l2_normalize=}." "You must call register some embeddings to the database before using build_index." ) logger.info( f"Fetched {len(source_embeddings)} embeddings from database in {toc - tic:.2f} seconds." ) unindexed_source_embeddings = [ item for item in source_embeddings if item["id"] not in indexed_embeddings ] if not unindexed_source_embeddings: logger.info("All embeddings are already indexed. No new embeddings to index.") return ids = [item["id"] for item in unindexed_source_embeddings] vectors = np.array([item["embedding"] for item in unindexed_source_embeddings], dtype="float32") embedding_dim_size = len(source_embeddings[0]["embedding"]) if index is None: base_index = faiss.IndexHNSWFlat(embedding_dim_size, max_neighbors_per_node) index = faiss.IndexIDMap(base_index) tic = time.time() for i in range(0, len(vectors), batch_size): batch_ids = np.array(ids[i : i + batch_size], dtype="int64") batch_vectors = vectors[i : i + batch_size] index.add_with_ids(batch_vectors, batch_ids) toc = time.time() logger.info(f"Added {len(vectors)} embeddings to index in {toc - tic:.2f} seconds.") index_path = os.path.join( tempfile.gettempdir(), f"{model_name}_{detector_backend}_{align}_{l2_normalize}.faiss" ) # now create index from scratch, then think how to load an index and add new vectors to it tic = time.time() faiss.write_index(index, index_path) toc = time.time() logger.info(f"Saved index to disk in {toc - tic:.2f} seconds") with open(index_path, "rb") as f: index_data = f.read() tic = time.time() db_client.upsert_embeddings_index( model_name=model_name, detector_backend=detector_backend, aligned=align, l2_normalized=l2_normalize, index_data=index_data, ) toc = time.time() logger.info(f"Upserted index to database in {toc - tic:.2f} seconds.") # clean up temp file if os.path.exists(index_path): os.remove(index_path) def __get_embeddings( img: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], model_name: str = "VGG-Face", detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, l2_normalize: bool = False, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, return_face: bool = True, ) -> List[Dict[str, Any]]: """ Get embeddings for given image(s) Args: img (str or np.ndarray or IO[bytes] or list): The exact path to the image, a numpy array in BGR format, a file object that supports at least `.read` and is opened in binary mode, or a base64 encoded image. If a list is provided, each element should be a string or numpy array representing an image, and the function will process images in batch. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip' (default is opencv). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). return_face (bool): Whether to return the aligned face along with the embedding (default is True). Returns: results (List[Dict]): A list of dictionaries containing embeddings and optionally aligned face images for each detected face in the input image(s). """ results = represent( img_path=img, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, anti_spoofing=anti_spoofing, expand_percentage=expand_percentage, normalization=normalization, l2_normalize=l2_normalize, return_face=return_face, ) if len(results) == 0: raise ValueError("No embeddings were detected in the provided image(s).") flat_results: List[Dict[str, Any]] = [] for result in results: if isinstance(result, dict): flat_results.append(result) elif isinstance(result, list): flat_results.extend(result) return flat_results def __connect_database( database_type: str = "postgres", connection_details: Optional[Union[Dict[str, Any], str]] = None, connection: Any = None, ) -> Database: """ Connect to the specified database type Args: database_type (str): Type of database to connect. Options: 'postgres', 'mongo', 'weaviate', 'neo4j', 'pgvector', 'pinecone' (default is 'postgres'). connection_details (dict or str): Connection details for the database. connection (Any): Existing database connection object. If provided, this connection will be used instead of creating a new one. Note: Instead of providing `connection` or `connection_details`, database connection information can be supplied via environment variables: - DEEPFACE_POSTGRES_URI - DEEPFACE_MONGO_URI - DEEPFACE_WEAVIATE_URI - DEEPFACE_NEO4J_URI - DEEPFACE_PINECONE_API_KEY Returns: db_client (Database): An instance of the connected database client. """ if database_inventory.get(database_type) is None: raise ValueError(f"Unsupported database type: {database_type}") client_class = database_inventory[database_type]["client"] return client_class(connection_details=connection_details, connection=connection) def __get_index( db_client: Database, model_name: str, detector_backend: str, align: bool, l2_normalize: bool, ) -> Any: """ Retrieve the embeddings index from the database Args: db_client (Database): An instance of the connected database client. model_name (str): Model for face recognition. detector_backend (string): face detector backend. align (bool): Flag to enable face alignment. l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) Returns: embeddings_index (Any): The deserialized embeddings index object, or None if not found. """ import faiss try: embeddings_index_bytes = db_client.get_embeddings_index( model_name=model_name, detector_backend=detector_backend, aligned=align, l2_normalized=l2_normalize, ) embeddings_index_buffer = np.frombuffer(embeddings_index_bytes, dtype=np.uint8) embeddings_index = faiss.deserialize_index(embeddings_index_buffer) return embeddings_index except ValueError: return None ================================================ FILE: deepface/modules/demography.py ================================================ # built-in dependencies from typing import Any, Dict, List, Union, IO, cast, Tuple # 3rd party dependencies import numpy as np from numpy.typing import NDArray from tqdm import tqdm # project dependencies from deepface.modules import modeling, detection, preprocessing from deepface.models.demography import Gender, Race, Emotion from deepface.modules.exceptions import UnimplementedError, SpoofDetected # pylint: disable=too-many-positional-arguments def analyze( img_path: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], actions: Union[Tuple[str, ...], List[str]] = ("emotion", "age", "gender", "race"), enforce_detection: bool = True, detector_backend: str = "opencv", align: bool = True, expand_percentage: int = 0, silent: bool = False, anti_spoofing: bool = False, ) -> Union[List[Dict[str, Any]], List[List[Dict[str, Any]]]]: """ Analyze facial attributes such as age, gender, emotion, and race in the provided image. Args: img_path (str, np.ndarray, IO[bytes], list): The exact path to the image, a numpy array in BGR format, or a base64 encoded image. If the source image contains multiple faces, the result will include information for each detected face. actions (tuple): Attributes to analyze. The default is ('age', 'gender', 'emotion', 'race'). You can exclude some of these attributes from the analysis if needed. enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l' 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). align (boolean): Perform alignment based on the eye positions (default is True). expand_percentage (int): expand detected facial area with a percentage (default is 0). silent (boolean): Suppress or allow some log messages for a quieter analysis process (default is False). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: results (List[Dict[str, Any]]): A list of dictionaries, where each dictionary represents the analysis results for a detected face. Each dictionary in the list contains the following keys: - 'region' (dict): Represents the rectangular region of the detected face in the image. - 'x': x-coordinate of the top-left corner of the face. - 'y': y-coordinate of the top-left corner of the face. - 'w': Width of the detected face region. - 'h': Height of the detected face region. - 'age' (float): Estimated age of the detected face. - 'face_confidence' (float): Confidence score for the detected face. Indicates the reliability of the face detection. - 'dominant_gender' (str): The dominant gender in the detected face. Either "Man" or "Woman." - 'gender' (dict): Confidence scores for each gender category. - 'Man': Confidence score for the male gender. - 'Woman': Confidence score for the female gender. - 'dominant_emotion' (str): The dominant emotion in the detected face. Possible values include "sad," "angry," "surprise," "fear," "happy," "disgust," and "neutral." - 'emotion' (dict): Confidence scores for each emotion category. - 'sad': Confidence score for sadness. - 'angry': Confidence score for anger. - 'surprise': Confidence score for surprise. - 'fear': Confidence score for fear. - 'happy': Confidence score for happiness. - 'disgust': Confidence score for disgust. - 'neutral': Confidence score for neutrality. - 'dominant_race' (str): The dominant race in the detected face. Possible values include "indian," "asian," "latino hispanic," "black," "middle eastern," and "white." - 'race' (dict): Confidence scores for each race category. - 'indian': Confidence score for Indian ethnicity. - 'asian': Confidence score for Asian ethnicity. - 'latino hispanic': Confidence score for Latino/Hispanic ethnicity. - 'black': Confidence score for Black ethnicity. - 'middle eastern': Confidence score for Middle Eastern ethnicity. - 'white': Confidence score for White ethnicity. """ # batch input if (isinstance(img_path, np.ndarray) and img_path.ndim == 4 and img_path.shape[0] > 1) or ( isinstance(img_path, list) ): batch_resp_obj: List[List[Dict[str, Any]]] = [] # Execute analysis for each image in the batch. for single_img in img_path: # Call the analyze function for each image in the batch. resp_obj = analyze( img_path=single_img, actions=actions, enforce_detection=enforce_detection, detector_backend=detector_backend, align=align, expand_percentage=expand_percentage, silent=silent, anti_spoofing=anti_spoofing, ) resp_obj = cast(List[Dict[str, Any]], resp_obj) # Append the response object to the batch response list. batch_resp_obj.append(resp_obj) return batch_resp_obj # if actions is passed as tuple with single item, interestingly it becomes str here if isinstance(actions, str): actions = (actions,) # check if actions is not an iterable or empty. if not hasattr(actions, "__getitem__") or not actions: raise ValueError("`actions` must be a list of strings.") actions = list(actions) # For each action, check if it is valid for action in actions: if action not in ("emotion", "age", "gender", "race"): raise UnimplementedError( f"Invalid action passed ({repr(action)})). " "Valid actions are `emotion`, `age`, `gender`, `race`." ) # --------------------------------- resp_objects = [] img_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], detection.extract_faces( img_path=img_path, detector_backend=detector_backend, enforce_detection=enforce_detection, grayscale=False, align=align, expand_percentage=expand_percentage, anti_spoofing=anti_spoofing, ), ) for img_obj in img_objs: if anti_spoofing is True and img_obj.get("is_real", True) is False: raise SpoofDetected("Spoof detected in the given image.") img_content = img_obj["face"] img_region = img_obj["facial_area"] img_confidence = img_obj["confidence"] if img_content.shape[0] == 0 or img_content.shape[1] == 0: continue # rgb to bgr img_content = img_content[:, :, ::-1] # resize input image img_content = preprocessing.resize_image(img=img_content, target_size=(224, 224)) obj: Dict[str, Any] = {} # facial attribute analysis pbar = tqdm( range(0, len(actions)), desc="Finding actions", disable=silent if len(actions) > 1 else True, ) for index in pbar: action = actions[index] pbar.set_description(f"Action: {action}") if action == "emotion": emotion_predictions = modeling.build_model( task="facial_attribute", model_name="Emotion" ).predict(img_content) sum_of_predictions = emotion_predictions.sum() obj["emotion"] = {} for i, emotion_label in enumerate(Emotion.labels): emotion_prediction = 100 * emotion_predictions[i] / sum_of_predictions obj["emotion"][emotion_label] = emotion_prediction obj["dominant_emotion"] = Emotion.labels[np.argmax(emotion_predictions)] elif action == "age": apparent_age = modeling.build_model( task="facial_attribute", model_name="Age" ).predict(img_content) # int cast is for exception - object of type 'float32' is not JSON serializable obj["age"] = int(apparent_age) elif action == "gender": gender_predictions = modeling.build_model( task="facial_attribute", model_name="Gender" ).predict(img_content) obj["gender"] = {} for i, gender_label in enumerate(Gender.labels): gender_prediction = 100 * gender_predictions[i] obj["gender"][gender_label] = gender_prediction obj["dominant_gender"] = Gender.labels[np.argmax(gender_predictions)] elif action == "race": race_predictions = modeling.build_model( task="facial_attribute", model_name="Race" ).predict(img_content) sum_of_predictions = race_predictions.sum() obj["race"] = {} for i, race_label in enumerate(Race.labels): race_prediction = 100 * race_predictions[i] / sum_of_predictions obj["race"][race_label] = race_prediction obj["dominant_race"] = Race.labels[np.argmax(race_predictions)] # ----------------------------- # mention facial areas obj["region"] = img_region # include image confidence obj["face_confidence"] = img_confidence resp_objects.append(obj) return resp_objects ================================================ FILE: deepface/modules/detection.py ================================================ # built-in dependencies from typing import Any, Dict, IO, List, Tuple, Union, Optional, cast from heapq import nlargest # 3rd part dependencies import numpy as np from numpy.typing import NDArray import cv2 # project dependencies from deepface.modules import modeling from deepface.models.Detector import Detector, DetectedFace, FacialAreaRegion from deepface.commons import image_utils from deepface.models.face_detection import OpenCv from deepface.modules.exceptions import FaceNotDetected from deepface.modules.exceptions import UnimplementedError, ImgNotFound from deepface.commons.logger import Logger logger = Logger() # pylint: disable=no-else-raise, too-many-positional-arguments def is_valid_landmark( coord: Optional[Union[Tuple[int, int], Tuple[float, float], List[Union[float, int]]]], width: int, height: int, ) -> bool: """ Check if a landmark coordinate is within valid image bounds. Args: coord (tuple or list or None): (x, y) coordinate to check. width (int): Image width. height (int): Image height. Returns: bool: True if coordinate is valid and within bounds, False otherwise. """ if coord is None: return False if not (isinstance(coord, (tuple, list)) and len(coord) == 2): return False x, y = coord return 0 <= x < width and 0 <= y < height def extract_faces( img_path: Union[str, NDArray[Any], IO[bytes], List[str], List[NDArray[Any]], List[IO[bytes]]], detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, expand_percentage: int = 0, grayscale: bool = False, color_face: str = "rgb", normalize_face: bool = True, anti_spoofing: bool = False, max_faces: Optional[int] = None, ) -> Union[List[Dict[str, Any]], List[List[Dict[str, Any]]]]: """ Extract faces from a given image Args: img_path (str or list of str ornp.ndarray or IO[bytes]): Path to the first image. Accepts exact image path as a string, list of string, numpy array (BGR), a file object that supports at least `.read` and is opened in binary mode, or base64 encoded images. detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m','yolov12l' 'centerface' or 'skip' (default is opencv) enforce_detection (boolean): If no face is detected in an image, raise an exception. Default is True. Set to False to avoid the exception for low-resolution images. align (bool): Flag to enable face alignment (default is True). expand_percentage (int): expand detected facial area with a percentage. grayscale (boolean): (Deprecated) Flag to convert the output face image to grayscale (default is False). color_face (string): Color to return face image output. Options: 'rgb', 'bgr' or 'gray' (default is 'rgb'). normalize_face (boolean): Flag to enable normalization (divide by 255) of the output face image output face image normalization (default is True). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: results (List[Dict[str, Any]]): A list of dictionaries, where each dictionary contains: - "face" (np.ndarray): The detected face as a NumPy array in RGB format. - "facial_area" (Dict[str, Any]): The detected face's regions as a dictionary containing: - keys 'x', 'y', 'w', 'h' with int values - keys 'left_eye', 'right_eye' with a tuple of 2 ints as values. left eye and right eye are eyes on the left and right respectively with respect to the person itself instead of observer. - "confidence" (float): The confidence score associated with the detected face. - "is_real" (boolean): antispoofing analyze result. this key is just available in the result only if anti_spoofing is set to True in input arguments. - "antispoof_score" (float): score of antispoofing analyze result. this key is just available in the result only if anti_spoofing is set to True in input arguments. """ if isinstance(img_path, list) or (isinstance(img_path, np.ndarray) and img_path.ndim == 4): if isinstance(img_path, np.ndarray): img_paths = [img_path[i] for i in range(img_path.shape[0])] else: img_paths = img_path all_faces: List[List[Dict[str, Any]]] = [] for single_img_path in img_paths: faces = cast( List[Dict[str, Any]], extract_faces( img_path=single_img_path, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, grayscale=grayscale, color_face=color_face, normalize_face=normalize_face, anti_spoofing=anti_spoofing, max_faces=max_faces, ), ) all_faces.append(faces) return all_faces resp_objs: List[Dict[str, Any]] = [] # img might be path, base64 or numpy array. Convert it to numpy whatever it is. img, img_name = image_utils.load_image(img_path) if img is None: raise ValueError(f"Exception while loading {img_name}") height, width, _ = img.shape base_region = FacialAreaRegion(x=0, y=0, w=width, h=height, confidence=0) if detector_backend == "skip": face_objs = [DetectedFace(img=img, facial_area=base_region, confidence=0)] else: face_objs = detect_faces( detector_backend=detector_backend, img=img, align=align, expand_percentage=expand_percentage, max_faces=max_faces, ) # in case of no face found if len(face_objs) == 0 and enforce_detection is True: if img_name is not None: raise FaceNotDetected( f"Face could not be detected in {img_name}." "Please confirm that the picture is a face photo " "or consider to set enforce_detection param to False." ) else: raise FaceNotDetected( "Face could not be detected. Please confirm that the picture is a face photo " "or consider to set enforce_detection param to False." ) if len(face_objs) == 0 and enforce_detection is False: face_objs = [DetectedFace(img=img, facial_area=base_region, confidence=0)] for face_obj in face_objs: current_img = face_obj.img current_region = face_obj.facial_area if current_img.shape[0] == 0 or current_img.shape[1] == 0: continue if grayscale is True: logger.warn("Parameter grayscale is deprecated. Use color_face instead.") current_img = cv2.cvtColor(current_img, cv2.COLOR_BGR2GRAY) else: if color_face == "rgb": current_img = current_img[:, :, ::-1] elif color_face == "bgr": pass # image is in BGR elif color_face == "gray": current_img = cv2.cvtColor(current_img, cv2.COLOR_BGR2GRAY) else: raise UnimplementedError( f"The color_face can be rgb, bgr or gray, but it is {color_face}." ) if normalize_face: current_img = current_img / 255 # normalize input in [0, 1] # cast to int for flask, and do final checks for borders x = max(0, int(current_region.x)) y = max(0, int(current_region.y)) w = min(width - x - 1, int(current_region.w)) h = min(height - y - 1, int(current_region.h)) landmarks = { "left_eye": current_region.left_eye, "right_eye": current_region.right_eye, "nose": current_region.nose, "mouth_left": current_region.mouth_left, "mouth_right": current_region.mouth_right, } # convert these to raw python types to ensure compability with Flask for key, value in landmarks.items(): if value is not None: landmarks[key] = (int(value[0]), int(value[1])) # Sanitize landmarks - set invalid ones to None for key, value in landmarks.items(): if not is_valid_landmark(value, width, height): landmarks[key] = None facial_area = { "x": x, "y": y, "w": w, "h": h, "left_eye": landmarks["left_eye"], "right_eye": landmarks["right_eye"], } # optional nose, mouth_left and mouth_right fields are coming just for retinaface if current_region.nose is not None: facial_area["nose"] = landmarks["nose"] if current_region.mouth_left is not None: facial_area["mouth_left"] = landmarks["mouth_left"] if current_region.mouth_right is not None: facial_area["mouth_right"] = landmarks["mouth_right"] resp_obj = { "face": current_img, "facial_area": facial_area, "confidence": round(float(current_region.confidence or 0), 2), } if anti_spoofing is True: antispoof_model = modeling.build_model(task="spoofing", model_name="Fasnet") is_real, antispoof_score = antispoof_model.analyze(img=img, facial_area=(x, y, w, h)) resp_obj["is_real"] = is_real resp_obj["antispoof_score"] = antispoof_score resp_objs.append(resp_obj) if len(resp_objs) == 0 and enforce_detection == True: raise ImgNotFound( f"Exception while extracting faces from {img_name}." "Consider to set enforce_detection arg to False." ) return resp_objs def detect_faces( detector_backend: str, img: NDArray[Any], align: bool = True, expand_percentage: int = 0, max_faces: Optional[int] = None, ) -> List[DetectedFace]: """ Detect face(s) from a given image Args: detector_backend (str): detector name img (np.ndarray): pre-loaded image align (bool): enable or disable alignment after detection expand_percentage (int): expand detected facial area with a percentage (default is 0). Returns: results (List[DetectedFace]): A list of DetectedFace objects where each object contains: - img (np.ndarray): The detected face as a NumPy array. - facial_area (FacialAreaRegion): The facial area region represented as x, y, w, h, left_eye and right eye. left eye and right eye are eyes on the left and right with respect to the person instead of observer. - confidence (float): The confidence score associated with the detected face. """ height, width, _ = img.shape face_detector: Detector = modeling.build_model( task="face_detector", model_name=detector_backend ) # validate expand percentage score if expand_percentage < 0: logger.warn( f"Expand percentage cannot be negative but you set it to {expand_percentage}." "Overwritten it to 0." ) expand_percentage = 0 # If faces are close to the upper boundary, alignment move them outside # Add a black border around an image to avoid this. height_border = int(0.5 * height) width_border = int(0.5 * width) if align is True: img = cv2.copyMakeBorder( img, height_border, height_border, width_border, width_border, cv2.BORDER_CONSTANT, value=[0, 0, 0], # Color of the border (black) ) # find facial areas of given image facial_areas = face_detector.detect_faces(img) if max_faces is not None and max_faces < len(facial_areas): facial_areas = nlargest( max_faces, facial_areas, key=lambda facial_area: facial_area.w * facial_area.h ) return [ extract_face( facial_area=facial_area, img=img, align=align, expand_percentage=expand_percentage, width_border=width_border, height_border=height_border, detector_backend=detector_backend, ) for facial_area in facial_areas ] def extract_face( facial_area: FacialAreaRegion, img: NDArray[Any], align: bool, expand_percentage: int, width_border: int, height_border: int, detector_backend: str, ) -> DetectedFace: x = facial_area.x y = facial_area.y w = facial_area.w h = facial_area.h left_eye = facial_area.left_eye right_eye = facial_area.right_eye confidence = facial_area.confidence nose = facial_area.nose mouth_left = facial_area.mouth_left mouth_right = facial_area.mouth_right if expand_percentage > 0: # Expand the facial region height and width by the provided percentage # ensuring that the expanded region stays within img.shape limits expanded_w = w + int(w * expand_percentage / 100) expanded_h = h + int(h * expand_percentage / 100) x = max(0, x - int((expanded_w - w) / 2)) y = max(0, y - int((expanded_h - h) / 2)) w = min(img.shape[1] - x, expanded_w) h = min(img.shape[0] - y, expanded_h) # extract detected face unaligned detected_face = img[int(y) : int(y + h), int(x) : int(x + w)] # use opencv if eyes aren't provided by the detector (e.g. ssd, yolo) if detector_backend != "opencv" and (left_eye is None or right_eye is None): default_detector: OpenCv.OpenCvClient = modeling.build_model( task="face_detector", model_name="opencv" ) left_eye_new, right_eye_new = default_detector.find_eyes(detected_face) if left_eye is None and left_eye_new is not None: left_eye = (int(left_eye_new[0]) + x, int(left_eye_new[1]) + y) logger.debug( f"left eye wasn't detected by {detector_backend}, overwritten by cv2 - {left_eye}" ) if right_eye is None and right_eye_new is not None: right_eye = (int(right_eye_new[0]) + x, int(right_eye_new[1]) + y) logger.debug( f"right eye wasn't detected by {detector_backend}, overwritten by cv2 - {right_eye}" ) # align original image, then find projection of detected face area after alignment if align is True: # and left_eye is not None and right_eye is not None: # we were aligning the original image before, but this comes with an extra cost # instead we now focus on the facial area with a margin # and align it instead of original image to decrese the cost sub_img, relative_x, relative_y = extract_sub_image(img=img, facial_area=(x, y, w, h)) aligned_sub_img, angle = align_img_wrt_eyes( img=sub_img, left_eye=left_eye, right_eye=right_eye ) rotated_x1, rotated_y1, rotated_x2, rotated_y2 = project_facial_area( facial_area=( relative_x, relative_y, relative_x + w, relative_y + h, ), angle=angle, size=(sub_img.shape[0], sub_img.shape[1]), ) detected_face = aligned_sub_img[ int(rotated_y1) : int(rotated_y2), int(rotated_x1) : int(rotated_x2) ] # do not spend memory for these temporary variables anymore del aligned_sub_img, sub_img # restore x, y, le and re before border added x = x - width_border y = y - height_border # w and h will not change if left_eye is not None: left_eye = (left_eye[0] - width_border, left_eye[1] - height_border) if right_eye is not None: right_eye = (right_eye[0] - width_border, right_eye[1] - height_border) if nose is not None: nose = (nose[0] - width_border, nose[1] - height_border) if mouth_left is not None: mouth_left = (mouth_left[0] - width_border, mouth_left[1] - height_border) if mouth_right is not None: mouth_right = (mouth_right[0] - width_border, mouth_right[1] - height_border) return DetectedFace( img=detected_face, facial_area=FacialAreaRegion( x=x, y=y, h=h, w=w, confidence=confidence, left_eye=left_eye, right_eye=right_eye, nose=nose, mouth_left=mouth_left, mouth_right=mouth_right, ), confidence=confidence or 0, ) def extract_sub_image( img: NDArray[Any], facial_area: Tuple[int, int, int, int] ) -> Tuple[NDArray[Any], int, int]: """ Get the sub image with given facial area while expanding the facial region to ensure alignment does not shift the face outside the image. This function doubles the height and width of the face region, and adds black pixels if necessary. Args: - img (np.ndarray): pre-loaded image with detected face - facial_area (tuple of int): Representing the (x, y, w, h) of the facial area. Returns: - extracted_face (np.ndarray): expanded facial image - relative_x (int): adjusted x-coordinates relative to the expanded region - relative_y (int): adjusted y-coordinates relative to the expanded region """ x, y, w, h = facial_area relative_x = int(0.5 * w) relative_y = int(0.5 * h) # calculate expanded coordinates x1, y1 = x - relative_x, y - relative_y x2, y2 = x + w + relative_x, y + h + relative_y # most of the time, the expanded region fits inside the image if x1 >= 0 and y1 >= 0 and x2 <= img.shape[1] and y2 <= img.shape[0]: return img[y1:y2, x1:x2], relative_x, relative_y # but sometimes, we need to add black pixels # ensure the coordinates are within bounds x1, y1 = max(0, x1), max(0, y1) x2, y2 = min(img.shape[1], x2), min(img.shape[0], y2) cropped_region = img[y1:y2, x1:x2] # create a black image extracted_face = np.zeros( (h + 2 * relative_y, w + 2 * relative_x, img.shape[2]), dtype=img.dtype ) # map the cropped region start_x = max(0, relative_x - x) start_y = max(0, relative_y - y) extracted_face[ start_y : start_y + cropped_region.shape[0], start_x : start_x + cropped_region.shape[1] ] = cropped_region return extracted_face, relative_x, relative_y def align_img_wrt_eyes( img: NDArray[Any], left_eye: Optional[Union[List[float], List[int], Tuple[float, float], Tuple[int, int]]], right_eye: Optional[Union[List[float], List[int], Tuple[float, float], Tuple[int, int]]], ) -> Tuple[NDArray[Any], float]: """ Align a given image horizantally with respect to their left and right eye locations Args: img (np.ndarray): pre-loaded image with detected face left_eye (list or tuple): coordinates of left eye with respect to the person itself right_eye(list or tuple): coordinates of right eye with respect to the person itself Returns: img (np.ndarray): aligned facial image """ # if eye could not be detected for the given image, return image itself if left_eye is None or right_eye is None: return img, 0 # sometimes unexpectedly detected images come with nil dimensions if img.shape[0] == 0 or img.shape[1] == 0: return img, 0 angle = float(np.degrees(np.arctan2(left_eye[1] - right_eye[1], left_eye[0] - right_eye[0]))) (h, w) = img.shape[:2] center = (w // 2, h // 2) M = cv2.getRotationMatrix2D(center, angle, 1.0) img = cv2.warpAffine( img, M, (w, h), flags=cv2.INTER_CUBIC, borderMode=cv2.BORDER_CONSTANT, borderValue=(0, 0, 0) ) return img, angle def project_facial_area( facial_area: Tuple[int, int, int, int], angle: float, size: Tuple[int, int] ) -> Tuple[int, int, int, int]: """ Update pre-calculated facial area coordinates after image itself rotated with respect to the eyes. Inspried from the work of @UmutDeniz26 - github.com/serengil/retinaface/pull/80 Args: facial_area (tuple of int): Representing the (x1, y1, x2, y2) of the facial area. x2 is equal to x1 + w1, and y2 is equal to y1 + h1 angle (float): Angle of rotation in degrees. Its sign determines the direction of rotation. Note that angles > 360 degrees are normalized to the range [0, 360). size (tuple of int): Tuple representing the size of the image (width, height). Returns: rotated_coordinates (tuple of int): Representing the new coordinates (x1, y1, x2, y2) or (x1, y1, x1+w1, y1+h1) of the rotated facial area. """ # Normalize the witdh of the angle so we don't have to # worry about rotations greater than 360 degrees. # We workaround the quirky behavior of the modulo operator # for negative angle values. direction = 1 if angle >= 0 else -1 angle = abs(angle) % 360 if angle == 0: return facial_area # Angle in radians angle = angle * np.pi / 180 height, weight = size # Translate the facial area to the center of the image x = (facial_area[0] + facial_area[2]) / 2 - weight / 2 y = (facial_area[1] + facial_area[3]) / 2 - height / 2 # Rotate the facial area x_new = x * np.cos(angle) + y * direction * np.sin(angle) y_new = -x * direction * np.sin(angle) + y * np.cos(angle) # Translate the facial area back to the original position x_new = x_new + weight / 2 y_new = y_new + height / 2 # Calculate projected coordinates after alignment x1 = x_new - (facial_area[2] - facial_area[0]) / 2 y1 = y_new - (facial_area[3] - facial_area[1]) / 2 x2 = x_new + (facial_area[2] - facial_area[0]) / 2 y2 = y_new + (facial_area[3] - facial_area[1]) / 2 # validate projected coordinates are in image's boundaries x1 = max(int(x1), 0) y1 = max(int(y1), 0) x2 = min(int(x2), weight) y2 = min(int(y2), height) return (x1, y1, x2, y2) ================================================ FILE: deepface/modules/encryption.py ================================================ # built-in dependencies from typing import List, Union, Optional, cast # third-party dependencies from lightphe import LightPHE from lightphe.models.Tensor import EncryptedTensor import numpy as np # project dependencies from deepface.commons.embed_utils import is_flat_embedding from deepface.commons.logger import Logger logger = Logger() # pylint: disable=no-else-return def encrypt_embeddings( embeddings: Union[List[float], List[List[float]]], cryptosystem: Optional[LightPHE] = None ) -> Union[EncryptedTensor, List[EncryptedTensor], None]: """ Encrypt embeddings using a provided cryptosystem. Args: embeddings (List[float] or List[List[float]]): Embeddings to encrypt. cryptosystem (LightPHE): Cryptosystem to use for encryption. Returns: EncryptedTensor or List[EncryptedTensor] or None: Encrypted embeddings or None if no cryptosystem is provided. """ if cryptosystem is None: return None if is_flat_embedding(embeddings): embedding = cast(List[float], embeddings) # let type checker know encrypted_embedding = encrypt_embedding(embedding, cryptosystem) return encrypted_embedding else: encrypted_embeddings: List[EncryptedTensor] = [] embeddings = cast(List[List[float]], embeddings) for embedding in embeddings: encrypted_embedding = encrypt_embedding(embedding, cryptosystem) encrypted_embeddings.append(encrypted_embedding) if all(item is None for item in encrypted_embeddings): return None return encrypted_embeddings def encrypt_embedding(embeddings: List[float], cryptosystem: LightPHE) -> Optional[EncryptedTensor]: """ Encrypt an embedding using a provided cryptosystem. Args: embeddings (List[float]): Embedding to encrypt. cryptosystem (LightPHE): Cryptosystem to use for encryption. Returns: EncryptedTensor or None: Encrypted embedding or None if encryption is skipped. """ if any(x < 0 for x in embeddings): logger.warn( "Skipping encryption because it contains negative values." "Consider to set minmax_normalize=True in DeepFace.represent method." ) return None norm = np.linalg.norm(embeddings) if not np.isclose(norm, 1.0): logger.warn( "Skipping encryption because given embedding is not l_2 normalized." "Consider to set l2_normalize=True in DeepFace.represent method." ) return None encrypted_embeddings = cryptosystem.encrypt(embeddings, silent=True) return encrypted_embeddings ================================================ FILE: deepface/modules/exceptions.py ================================================ # pylint: disable=unnecessary-pass class ImgNotFound(ValueError): """Raised when the input image is not found or cannot be loaded.""" pass class PathNotFound(ValueError): """Raised when the input path is not found.""" pass class FaceNotDetected(ValueError): """Raised when no face is detected in the input image.""" pass class SpoofDetected(ValueError): """Raised when a spoofed face is detected in the input image.""" pass class EmptyDatasource(ValueError): """Raised when the provided data source is empty.""" pass class DimensionMismatchError(ValueError): """Raised when the dimensions of the input do not match the expected dimensions.""" pass class InvalidEmbeddingsShapeError(ValueError): """Raised when the shape of the embeddings is invalid.""" pass class DataTypeError(ValueError): """Raised when the input data type is incorrect.""" pass class UnimplementedError(ValueError): """Raised when a requested feature is not implemented.""" pass class DuplicateEntryError(ValueError): """Raised when a duplicate entry is found in the database.""" pass ================================================ FILE: deepface/modules/modeling.py ================================================ from __future__ import annotations # built-in dependencies from typing import TYPE_CHECKING, Any, Final, TypedDict, Dict # project dependencies from deepface.models.facial_recognition import ( VGGFace, OpenFace, FbDeepFace, DeepID, ArcFace, SFace, Dlib, Facenet, GhostFaceNet, Buffalo_L, ) from deepface.models.face_detection import ( FastMtCnn, MediaPipe, MtCnn, OpenCv, Dlib as DlibDetector, RetinaFace, Ssd, Yolo as YoloFaceDetector, YuNet, CenterFace, ) from deepface.models.demography import Age, Gender, Race, Emotion from deepface.models.spoofing import FasNet from deepface.modules.exceptions import UnimplementedError if TYPE_CHECKING: from deepface.models.Demography import Demography from deepface.models.Detector import Detector from deepface.models.FacialRecognition import FacialRecognition cached_models: Dict[str, Dict[str, Any]] = {} class AvailableModels(TypedDict): facial_recognition: dict[str, type[FacialRecognition]] spoofing: dict[str, type[FasNet.Fasnet]] facial_attribute: dict[str, type[Demography]] face_detector: dict[str, type[Detector]] AVAILABLE_MODELS: Final[AvailableModels] = { "facial_recognition": { "VGG-Face": VGGFace.VggFaceClient, "OpenFace": OpenFace.OpenFaceClient, "Facenet": Facenet.FaceNet128dClient, "Facenet512": Facenet.FaceNet512dClient, "DeepFace": FbDeepFace.DeepFaceClient, "DeepID": DeepID.DeepIdClient, "Dlib": Dlib.DlibClient, "ArcFace": ArcFace.ArcFaceClient, "SFace": SFace.SFaceClient, "GhostFaceNet": GhostFaceNet.GhostFaceNetClient, "Buffalo_L": Buffalo_L.Buffalo_L, }, "spoofing": { "Fasnet": FasNet.Fasnet, }, "facial_attribute": { "Emotion": Emotion.EmotionClient, "Age": Age.ApparentAgeClient, "Gender": Gender.GenderClient, "Race": Race.RaceClient, }, "face_detector": { "opencv": OpenCv.OpenCvClient, "mtcnn": MtCnn.MtCnnClient, "ssd": Ssd.SsdClient, "dlib": DlibDetector.DlibClient, "retinaface": RetinaFace.RetinaFaceClient, "mediapipe": MediaPipe.MediaPipeClient, "yolov8n": YoloFaceDetector.YoloDetectorClientV8n, "yolov8m": YoloFaceDetector.YoloDetectorClientV8m, "yolov8l": YoloFaceDetector.YoloDetectorClientV8l, "yolov11n": YoloFaceDetector.YoloDetectorClientV11n, "yolov11s": YoloFaceDetector.YoloDetectorClientV11s, "yolov11m": YoloFaceDetector.YoloDetectorClientV11m, "yolov11l": YoloFaceDetector.YoloDetectorClientV11l, "yolov12n": YoloFaceDetector.YoloDetectorClientV12n, "yolov12s": YoloFaceDetector.YoloDetectorClientV12s, "yolov12m": YoloFaceDetector.YoloDetectorClientV12m, "yolov12l": YoloFaceDetector.YoloDetectorClientV12l, "yunet": YuNet.YuNetClient, "fastmtcnn": FastMtCnn.FastMtCnnClient, "centerface": CenterFace.CenterFaceClient, }, } def build_model(task: str, model_name: str) -> Any: """ This function loads a pre-trained models as singletonish way Parameters: task (str): facial_recognition, facial_attribute, face_detector, spoofing model_name (str): model identifier - VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet for face recognition - Age, Gender, Emotion, Race for facial attributes - opencv, mtcnn, ssd, dlib, retinaface, mediapipe, yolov8, 'yolov11n', 'yolov11s', 'yolov11m', yunet, fastmtcnn or centerface for face detectors - Fasnet for spoofing Returns: built model class """ # singleton design pattern global cached_models if task not in AVAILABLE_MODELS.keys(): raise UnimplementedError(f"unimplemented task - {task}") if "cached_models" not in globals(): cached_models = {current_task: {} for current_task in AVAILABLE_MODELS.keys()} if cached_models[task].get(model_name) is None: model = AVAILABLE_MODELS[task].get(model_name) # type: ignore[literal-required] if model: cached_models[task][model_name] = model() else: raise UnimplementedError(f"Invalid model_name passed - {task}/{model_name}") return cached_models[task][model_name] ================================================ FILE: deepface/modules/normalization.py ================================================ # built-in dependencies from typing import List, Union, cast # third-party dependencies import numpy as np # project dependencies from deepface.config.minmax import get_minmax_values from deepface.commons.embed_utils import is_flat_embedding def normalize_embedding_minmax( model_name: str, embeddings: Union[List[float], List[List[float]]] ) -> Union[List[float], List[List[float]]]: """ Normalize embeddings using min-max normalization based on model-specific min-max values. Args: model_name (str): Name of the model to get min-max values for. embeddings (List[float] or List[List[float]]): Embeddings to normalize. Returns: List[float] or List[List[float]]: Normalized embeddings. """ dim_min, dim_max = get_minmax_values(model_name) if dim_max - dim_min == 0: return embeddings if is_flat_embedding(embeddings): embeddings = cast(List[float], embeddings) # let type checker know # Clamp vals to [dim_min, dim_max] to ensure the norm-embedding stays in [0, 1] embeddings = [max(x, dim_min) for x in embeddings] # lower-bound clamp embeddings = [min(x, dim_max) for x in embeddings] # upper-bound clamp embeddings = [(x - dim_min) / (dim_max - dim_min) for x in embeddings] else: normalized_embeddings = [] for emb in embeddings: emb = cast(List[float], emb) # let type checker know # Clamp vals to [dim_min, dim_max] to ensure the norm-embedding stays in [0, 1] emb = [max(x, dim_min) for x in emb] # lower-bound clamp emb = [min(x, dim_max) for x in emb] # upper-bound clamp emb = [(min(max(x, dim_min), dim_max) - dim_min) / (dim_max - dim_min) for x in emb] normalized_embeddings.append(emb) embeddings = normalized_embeddings return embeddings def normalize_embedding_l2( embeddings: Union[List[float], List[List[float]]], ) -> Union[List[float], List[List[float]]]: """ Normalize embeddings using L2 normalization. Args: embeddings (List[float] or List[List[float]]): Embeddings to normalize. Returns: List[float] or List[List[float]]: L2-normalized embeddings. """ if is_flat_embedding(embeddings): norm = float(np.linalg.norm(embeddings)) if norm > 0: embeddings = cast(List[float], embeddings) # let type checker know embeddings = (np.array(embeddings) / norm).tolist() else: normalized_embeddings = [] for emb in embeddings: emb = cast(List[float], emb) # let type checker know norm = float(np.linalg.norm(emb)) if norm > 0: normalized_emb = (np.array(emb) / norm).tolist() else: normalized_emb = emb normalized_embeddings.append(normalized_emb) embeddings = normalized_embeddings return embeddings ================================================ FILE: deepface/modules/preprocessing.py ================================================ # built-in dependencies from typing import Tuple, Any # 3rd party import numpy as np from numpy.typing import NDArray import cv2 # project dependencies from deepface.commons import package_utils tf_major_version = package_utils.get_tf_major_version() if tf_major_version == 1: from keras.preprocessing import image elif tf_major_version == 2: from tensorflow.keras.preprocessing import image def normalize_input(img: NDArray[Any], normalization: str = "base") -> NDArray[Any]: """Normalize input image. Args: img (numpy array): the input image. normalization (str, optional): the normalization technique. Defaults to "base", for no normalization. Returns: numpy array: the normalized image. """ # issue 131 declares that some normalization techniques improves the accuracy if normalization == "base": return img # @trevorgribble and @davedgd contributed this feature # restore input in scale of [0, 255] because it was normalized in scale of # [0, 1] in preprocess_face img *= 255 if normalization == "raw": pass # return just restored pixels elif normalization == "Facenet": mean, std = img.mean(), img.std() img = (img - mean) / std elif normalization == "Facenet2018": # simply / 127.5 - 1 (similar to facenet 2018 model preprocessing step as @iamrishab posted) img /= 127.5 img -= 1 elif normalization == "VGGFace": # mean subtraction based on VGGFace1 training data img[..., 0] -= 93.5940 img[..., 1] -= 104.7624 img[..., 2] -= 129.1863 elif normalization == "VGGFace2": # mean subtraction based on VGGFace2 training data img[..., 0] -= 91.4953 img[..., 1] -= 103.8827 img[..., 2] -= 131.0912 elif normalization == "ArcFace": # Reference study: The faces are cropped and resized to 112×112, # and each pixel (ranged between [0, 255]) in RGB images is normalised # by subtracting 127.5 then divided by 128. img -= 127.5 img /= 128 else: raise ValueError(f"unimplemented normalization type - {normalization}") return img def resize_image(img: NDArray[Any], target_size: Tuple[int, int]) -> NDArray[Any]: """ Resize an image to expected size of a ml model with adding black pixels. Args: img (np.ndarray): pre-loaded image as numpy array target_size (tuple): input shape of ml model Returns: img (np.ndarray): resized input image """ factor_0 = target_size[0] / img.shape[0] factor_1 = target_size[1] / img.shape[1] factor = min(factor_0, factor_1) dsize = ( int(img.shape[1] * factor), int(img.shape[0] * factor), ) img = cv2.resize(img, dsize) diff_0 = target_size[0] - img.shape[0] diff_1 = target_size[1] - img.shape[1] # Put the base image in the middle of the padded image img = np.pad( img, ( (diff_0 // 2, diff_0 - diff_0 // 2), (diff_1 // 2, diff_1 - diff_1 // 2), (0, 0), ), "constant", ) # double check: if target image is not still the same size with target. if img.shape[0:2] != target_size: img = cv2.resize(img, target_size) # make it 4-dimensional how ML models expect img = image.img_to_array(img) img = np.expand_dims(img, axis=0) if img.max() > 1: img = (img.astype(np.float32) / 255.0).astype(np.float32) return img ================================================ FILE: deepface/modules/recognition.py ================================================ # built-in dependencies import os import pickle from typing import List, Union, Optional, Dict, Any, Set, IO, cast, Tuple import time import ast # 3rd party dependencies import numpy as np from numpy.typing import NDArray import pandas as pd from tqdm import tqdm from lightdsa import LightDSA # project dependencies from deepface.commons import image_utils from deepface.modules import representation, detection, verification from deepface.modules.exceptions import ( ImgNotFound, PathNotFound, EmptyDatasource, SpoofDetected, DimensionMismatchError, ) from deepface.commons.logger import Logger logger = Logger() # pylint: disable=too-many-arguments, too-many-positional-arguments def find( img_path: Union[str, NDArray[Any], IO[bytes]], db_path: str, model_name: str = "VGG-Face", distance_metric: str = "cosine", enforce_detection: bool = True, detector_backend: str = "opencv", align: bool = True, similarity_search: bool = False, k: Optional[int] = None, expand_percentage: int = 0, threshold: Optional[float] = None, normalization: str = "base", silent: bool = False, refresh_database: bool = True, anti_spoofing: bool = False, batched: bool = False, credentials: Optional[Union[LightDSA, Dict[str, Any]]] = None, ) -> Union[List[pd.DataFrame], List[List[Dict[str, Any]]]]: """ Identify individuals in a database Args: img_path (str or np.ndarray): The exact path to the image, a numpy array in BGR format, or a base64 encoded image. If the source image contains multiple faces, the result will include information for each detected face. db_path (string): Path to the folder containing image files. All detected faces in the database will be considered in the decision-making process. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular'. enforce_detection (boolean): If no face is detected in an image, raise an exception. Default is True. Set to False to avoid the exception for low-resolution images. detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l', 'centerface' or 'skip'. align (boolean): Perform alignment based on the eye positions. similarity_search (boolean): If False, performs identity verification and returns images of the same person. If True, performs similarity search and returns visually similar faces (e.g., celebrity or parental look-alikes). Default is False. k (int): Number of top similar faces to retrieve from the database for each detected face. If not specified, all faces within the threshold will be returned (default is None). expand_percentage (int): expand detected facial area with a percentage (default is 0). threshold (float): Specify a threshold to determine whether a pair represents the same person or different individuals. This threshold is used for comparing distances. If left unset, default pre-tuned threshold values will be applied based on the specified model name and distance metric (default is None). normalization (string): Normalize the input image before feeding it to the model. Default is base. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace silent (boolean): Suppress or allow some log messages for a quieter analysis process. refresh_database (boolean): Synchronizes the images representation (pkl) file with the directory/db files, if set to false, it will ignore any file changes inside the db_path directory (default is True). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). credentials (LightDSA or dict): public - private key pair. This will be used to sign and verify the integrity of the datastore pickle file. Since pickle files are not safe to load from untrusted sources, signing helps detect tampering and prevents loading a modified datastore that could execute arbitrary code. ``` from lightdsa import LightDSA cs = LightDSA(algorithm_name = "eddsa") DeepFace.find(..., credentials=cs) # DeepFace.find(..., credentials={**cs.dsa.keys, "algorithm_name": cs.algorithm_name}) ``` See LightDSA repo for more details: https://github.com/serengil/LightDSA Returns: results (List[pd.DataFrame] or List[List[Dict[str, Any]]]): A list of pandas dataframes (if `batched=False`) or a list of dicts (if `batched=True`). Each dataframe or dict corresponds to the identity information for an individual detected in the source image. Note: If you have a large database and/or a source photo with many faces, use `batched=True`, as it is optimized for large batch processing. Please pay attention that when using `batched=True`, the function returns a list of dicts (not a list of DataFrames), but with the same keys as the columns in the DataFrame. The DataFrame columns or dict keys include: - 'identity': Identity label of the detected individual. - 'target_x', 'target_y', 'target_w', 'target_h': Bounding box coordinates of the target face in the database. - 'source_x', 'source_y', 'source_w', 'source_h': Bounding box coordinates of the detected face in the source image. - 'threshold': threshold to determine a pair whether same person or different persons - 'distance': Similarity score between the faces based on the specified model and distance metric - 'confidence': Confidence score indicating the likelihood that the faces belong to the same individual. This is calculated based on the distance and the threshold. """ tic = time.time() if not os.path.isdir(db_path): raise PathNotFound(f"Passed path {db_path} does not exist!") img, _ = image_utils.load_image(img_path) if img is None: raise ImgNotFound(f"Passed image path {img_path} does not exist!") file_parts = [ "ds", "model", model_name, "detector", detector_backend, "aligned" if align else "unaligned", "normalization", normalization, "expand", str(expand_percentage), ] file_name = "_".join(file_parts) + ".pkl" file_name = file_name.replace("-", "").lower() datastore_path = os.path.join(db_path, file_name) representations = [] # required columns for representations df_cols = { "identity", "hash", "embedding", "target_x", "target_y", "target_w", "target_h", } # Ensure the proper datastore file exists if not os.path.exists(datastore_path): __save_representations(datastore_path=datastore_path, credentials=credentials) # Load the representations from the existing datastore representations = __load_representations(datastore_path=datastore_path, credentials=credentials) # check each item of representations list has required keys for i, current_representation in enumerate(representations): missing_keys = df_cols - set(current_representation.keys()) if len(missing_keys) > 0: raise ValueError( f"{i}-th item does not have some required keys - {missing_keys}." f"Consider to delete {datastore_path}" ) # Get the list of images on storage storage_images = set(image_utils.yield_images(path=db_path)) if len(storage_images) == 0 and refresh_database is True: raise EmptyDatasource(f"No item found in {db_path}") if len(representations) == 0 and refresh_database is False: raise EmptyDatasource(f"Nothing is found in {datastore_path}") must_save_pickle = False new_images, old_images, replaced_images = set(), set(), set() if not refresh_database: logger.info( f"Could be some changes in {db_path} not tracked." "Set refresh_database to true to assure that any changes will be tracked." ) # Enforce data consistency amongst on disk images and pickle file if refresh_database: # embedded images pickled_images = {representation["identity"] for representation in representations} new_images = storage_images - pickled_images # images added to storage old_images = pickled_images - storage_images # images removed from storage # detect replaced images for current_representation in representations: identity = current_representation["identity"] if identity in old_images: continue alpha_hash = current_representation["hash"] beta_hash = image_utils.find_image_hash(identity) if alpha_hash != beta_hash: logger.debug(f"Even though {identity} represented before, it's replaced later.") replaced_images.add(identity) if not silent and (len(new_images) > 0 or len(old_images) > 0 or len(replaced_images) > 0): logger.info( f"Found {len(new_images)} newly added image(s)" f", {len(old_images)} removed image(s)" f", {len(replaced_images)} replaced image(s)." ) # append replaced images into both old and new images. these will be dropped and re-added. new_images.update(replaced_images) old_images.update(replaced_images) # remove old images first if len(old_images) > 0: representations = [rep for rep in representations if rep["identity"] not in old_images] must_save_pickle = True # find representations for new images if len(new_images) > 0: representations += __find_bulk_embeddings( employees=new_images, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, normalization=normalization, silent=silent, ) # add new images must_save_pickle = True if must_save_pickle: __save_representations( datastore_path=datastore_path, representations=representations, credentials=credentials ) if not silent: logger.info(f"There are now {len(representations)} representations in {file_name}") # Should we have no representations bailout if len(representations) == 0: if not silent: toc = time.time() logger.info(f"find function duration {toc - tic} seconds") return [] # ---------------------------- # now, we got representations for facial database # img path might have more than once face source_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], detection.extract_faces( img_path=img_path, detector_backend=detector_backend, grayscale=False, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, anti_spoofing=anti_spoofing, ), ) pretuned_threshold = verification.find_threshold(model_name, distance_metric) target_threshold = threshold or pretuned_threshold if batched: return find_batched( representations=representations, source_objs=source_objs, model_name=model_name, distance_metric=distance_metric, enforce_detection=enforce_detection, align=align, threshold=target_threshold, normalization=normalization, anti_spoofing=anti_spoofing, similarity_search=similarity_search, k=k, ) df = pd.DataFrame(representations) if silent is False: logger.info(f"Searching {img_path} in {df.shape[0]} length datastore") resp_obj = [] for source_obj in source_objs: if anti_spoofing is True and source_obj.get("is_real", True) is False: raise SpoofDetected("Spoof detected in the given image.") source_img = source_obj["face"] source_region = source_obj["facial_area"] target_embedding_obj = representation.represent( img_path=source_img, model_name=model_name, enforce_detection=enforce_detection, detector_backend="skip", align=align, normalization=normalization, ) target_embedding_obj = cast(List[Dict[str, Any]], target_embedding_obj) target_representation = target_embedding_obj[0]["embedding"] result_df = df.copy() # df will be filtered in each img result_df["threshold"] = target_threshold result_df["source_x"] = source_region["x"] result_df["source_y"] = source_region["y"] result_df["source_w"] = source_region["w"] result_df["source_h"] = source_region["h"] distances: List[float] = [] confidences: List[float] = [] for _, instance in df.iterrows(): source_representation = instance["embedding"] if source_representation is None: # no representation for this image distances.append(float("inf")) confidences.append(0.0) continue target_dims = len(list(target_representation)) source_dims = len(list(source_representation)) if target_dims != source_dims: raise DimensionMismatchError( "Source and target embeddings must have same dimensions but " + f"{target_dims}:{source_dims}. Model structure may change" + " after pickle created. Delete the {file_name} and re-run." ) distance: float = float( cast( np.float64, verification.find_distance( source_representation, target_representation, distance_metric ), ) ) confidence = verification.find_confidence( distance=distance, model_name=model_name, distance_metric=distance_metric, verified=bool(distance <= pretuned_threshold), ) distances.append(distance) confidences.append(confidence) # --------------------------- result_df["distance"] = distances result_df["confidence"] = confidences result_df = result_df.drop(columns=["embedding"]) # pylint: disable=unsubscriptable-object if similarity_search is False: result_df = result_df[result_df["distance"] <= result_df["threshold"]] result_df = result_df.sort_values(by=["distance"], ascending=True).reset_index(drop=True) if k is not None and len(result_df) > k: result_df = result_df.head(k) resp_obj.append(result_df) # ----------------------------------- if not silent: toc = time.time() logger.info(f"find function duration {toc - tic} seconds") return resp_obj def __find_bulk_embeddings( employees: Set[str], model_name: str = "VGG-Face", detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, expand_percentage: int = 0, normalization: str = "base", silent: bool = False, ) -> List[Dict["str", Any]]: """ Find embeddings of a list of images Args: employees (list): list of exact image paths model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (str): face detector model name enforce_detection (bool): set this to False if you want to proceed when you cannot detect any face align (bool): enable or disable alignment of image before feeding to facial recognition model expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (bool): normalization technique silent (bool): enable or disable informative logging Returns: representations (list): pivot list of dict with image name, hash, embedding and detected face area's coordinates """ representations = [] for employee in tqdm( employees, desc="Finding representations", disable=silent, ): file_hash = image_utils.find_image_hash(employee) try: img_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], detection.extract_faces( img_path=employee, detector_backend=detector_backend, grayscale=False, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, color_face="bgr", # `represent` expects images in bgr format. ), ) except ValueError as err: logger.error(f"Exception while extracting faces from {employee}: {str(err)}") img_objs = [] if len(img_objs) == 0: representations.append( { "identity": employee, "hash": file_hash, "embedding": None, "target_x": 0, "target_y": 0, "target_w": 0, "target_h": 0, } ) else: for img_obj in img_objs: img_content = img_obj["face"] img_region = img_obj["facial_area"] embedding_obj = representation.represent( img_path=img_content, model_name=model_name, enforce_detection=enforce_detection, detector_backend="skip", align=align, normalization=normalization, ) embedding_obj = cast(List[Dict[str, Any]], embedding_obj) img_representation = embedding_obj[0]["embedding"] representations.append( { "identity": employee, "hash": file_hash, "embedding": img_representation, "target_x": img_region["x"], "target_y": img_region["y"], "target_w": img_region["w"], "target_h": img_region["h"], } ) return representations def find_batched( representations: List[Dict[str, Any]], source_objs: List[Dict[str, Any]], model_name: str = "VGG-Face", distance_metric: str = "cosine", enforce_detection: bool = True, align: bool = True, threshold: Optional[float] = None, normalization: str = "base", anti_spoofing: bool = False, similarity_search: bool = False, k: Optional[int] = None, ) -> List[List[Dict[str, Any]]]: """ Perform batched face recognition by comparing source face embeddings with a set of target embeddings. It calculates pairwise distances between the source and target embeddings using the specified distance metric. The function uses batch processing for efficient computation of distances. Args: representations (List[Dict[str, Any]]): A list of dictionaries containing precomputed target embeddings and associated metadata. Each dictionary should have at least the key `embedding`. source_objs (List[Dict[str, Any]]): A list of dictionaries representing the source images to compare against the target embeddings. Each dictionary should contain: - `face`: The image data or path to the source face image. - `facial_area`: A dictionary with keys `x`, `y`, `w`, `h` indicating the facial region. - Optionally, `is_real`: A boolean indicating if the face is real (used for anti-spoofing). model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular'. enforce_detection (boolean): If no face is detected in an image, raise an exception. Default is True. Set to False to avoid the exception for low-resolution images. detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip'. align (boolean): Perform alignment based on the eye positions. threshold (float): Specify a threshold to determine whether a pair represents the same person or different individuals. This threshold is used for comparing distances. If left unset, default pre-tuned threshold values will be applied based on the specified model name and distance metric (default is None). normalization (string): Normalize the input image before feeding it to the model. Default is base. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace silent (boolean): Suppress or allow some log messages for a quieter analysis process. anti_spoofing (boolean): Flag to enable anti spoofing (default is False). similarity_search (boolean): If False, performs identity verification and returns images of the same person. If True, performs similarity search and returns visually similar faces (e.g., celebrity or parental look-alikes). Default is False. k (int): Number of top similar faces to retrieve from the database for each detected face. If not specified, all faces within the threshold will be returned (default is None). Returns: List[List[Dict[str, Any]]]: A list where each element corresponds to a source face and contains a list of dictionaries with matching faces. """ embeddings_list = [] valid_mask_lst = [] metadata: Set[str] = set() for item in representations: emb = item.get("embedding") if emb is not None: embeddings_list.append(emb) valid_mask_lst.append(True) else: embeddings_list.append(np.zeros_like(representations[0]["embedding"])) valid_mask_lst.append(False) metadata.update(item.keys()) # remove embedding key from other keys metadata.discard("embedding") metadata_lst = list(metadata) embeddings = np.array(embeddings_list) # (N, D) valid_mask = np.array(valid_mask_lst) # (N,) data = { key: np.array([item.get(key, None) for item in representations]) for key in metadata_lst } target_embeddings = [] source_regions = [] target_thresholds = [] target_threshold = threshold if similarity_search is False else np.inf for source_obj in source_objs: if anti_spoofing and not source_obj.get("is_real", True): raise SpoofDetected("Spoof detected in the given image.") source_img = source_obj["face"] source_region = source_obj["facial_area"] target_embedding_obj = representation.represent( img_path=source_img, model_name=model_name, enforce_detection=enforce_detection, detector_backend="skip", align=align, normalization=normalization, ) # it is safe to access 0 index because we already fed detected face to represent function target_embedding_obj = cast(List[Dict[str, Any]], target_embedding_obj) target_representation = target_embedding_obj[0]["embedding"] target_embeddings.append(target_representation) source_regions.append(source_region) target_thresholds.append(target_threshold) target_embeddings_np = np.array(target_embeddings) # (M, D) target_thresholds_np = np.array(target_thresholds) # (M,) source_regions_arr = { "source_x": np.array([region["x"] for region in source_regions]), "source_y": np.array([region["y"] for region in source_regions]), "source_w": np.array([region["w"] for region in source_regions]), "source_h": np.array([region["h"] for region in source_regions]), } distances: NDArray[Any] = cast( NDArray[Any], verification.find_distance(embeddings, target_embeddings_np, distance_metric), ) # (M, N) distances[:, ~valid_mask] = np.inf resp_obj = [] for i in range(len(target_embeddings_np)): target_distances = distances[i] # (N,) target_threshold = target_thresholds_np[i] N = embeddings.shape[0] result_data = dict(data) result_data.update( { "source_x": np.full(N, source_regions_arr["source_x"][i]), "source_y": np.full(N, source_regions_arr["source_y"][i]), "source_w": np.full(N, source_regions_arr["source_w"][i]), "source_h": np.full(N, source_regions_arr["source_h"][i]), "threshold": np.full(N, target_threshold), "distance": target_distances, } ) mask = target_distances <= target_threshold filtered_data = {key: value[mask] for key, value in result_data.items()} sorted_indices = np.argsort(filtered_data["distance"]) sorted_data = {key: value[sorted_indices] for key, value in filtered_data.items()} num_results = len(sorted_data["distance"]) result_dicts = [ {key: sorted_data[key][i] for key in sorted_data} for i in range(num_results) ] if k is not None and len(result_dicts) > k: result_dicts = result_dicts[:k] resp_obj.append(result_dicts) return resp_obj def __save_representations( datastore_path: str, representations: Optional[List[Dict[str, Any]]] = None, credentials: Optional[Union[LightDSA, Dict[str, Any]]] = None, ) -> None: """ Save representations to a pickle file Args: datastore_path (str): path to the pickle file representations (list): list of representations to be saved credentials (LightDSA or dict): public - private key pair as LightDSA object or dictionary. This is going to be used to sign the integrity of the datastore pickle file. If not provided, the datastore will not be signed. """ with open(datastore_path, "wb") as f: pickle.dump(representations or [], f, pickle.HIGHEST_PROTOCOL) __sign_datastore(datastore_path=datastore_path, credentials=credentials) def __load_representations( datastore_path: str, credentials: Optional[Union[LightDSA, Dict[str, Any]]] = None ) -> List[Dict[str, Any]]: """ Load representations from a pickle file Args: datastore_path (str): path to the pickle file credentials (LightDSA or dict): public - private key pair as LightDSA object or dictionary. This is going to be used to sign the integrity of the datastore pickle file. If not provided, the datastore will not be signed. Returns: representations (list): list of loaded representations """ __verify_signature(datastore_path=datastore_path, credentials=credentials) with open(datastore_path, "rb") as f: representations = pickle.load(f) if not isinstance(representations, list) or not all( isinstance(x, dict) for x in representations ): raise ValueError("Invalid datastore format") return cast(List[Dict[str, Any]], representations) def __build_dsa(credentials: Union[LightDSA, Dict[str, Any]]) -> LightDSA: """ Build LightDSA object from credentials Args: credentials (LightDSA or dict): public - private key pair as LightDSA object or dictionary. Returns: dsa (LightDSA): LightDSA object """ if isinstance(credentials, dict): if "algorithm_name" not in credentials: raise ValueError("credentials dictionary must have 'algorithm_name' key.") dsa = LightDSA( algorithm_name=credentials["algorithm_name"], form_name=credentials.get("form_name"), curve_name=credentials.get("curve_name"), keys=credentials, ) elif isinstance(credentials, LightDSA): dsa = credentials else: raise ValueError("credentials must be either LightDSA or dict type.") return dsa def __sign_datastore( datastore_path: str, credentials: Optional[Union[LightDSA, Dict[str, Any]]] = None ) -> None: """ Sign the datastore pickle file Args: datastore_path (str): path to the pickle file credentials (LightDSA or dict): public - private key pair as LightDSA object or dictionary. This is going to be used to sign the integrity of the datastore pickle file. If not provided, the datastore will not be signed. """ if credentials is None: logger.debug("No credentials provided. Skipping datastore signing.") return dsa = __build_dsa(credentials=credentials) with open(datastore_path, "rb") as f: data: bytes = f.read() signature = dsa.sign(message=data) with open(datastore_path + ".ldsa", "w", encoding="utf-8") as f: f.write(repr(signature)) logger.debug(f"Datastore pickle {datastore_path} signed successfully.") def __verify_signature( datastore_path: str, credentials: Optional[Union[LightDSA, Dict[str, Any]]] = None ) -> None: """ Verify the signature of a datastore pickle file Args: datastore_path (str): path to the pickle file credentials (LightDSA or dict): public - private key pair as LightDSA object or dictionary. This is going to be used to sign the integrity of the datastore pickle file. If not provided, the datastore will not be signed. """ signature_path = datastore_path + ".ldsa" if credentials is None: if not os.path.exists(signature_path): logger.debug("No credentials provided. Skipping signature verification.") return raise ValueError( f"Credentials not provided but signature file {signature_path} exists." "Cannot verify the datastore without credentials." ) dsa = __build_dsa(credentials=credentials) algorithm_name = dsa.algorithm_name with open(datastore_path, "rb") as f: data: bytes = f.read() if not os.path.exists(signature_path): raise ValueError( f"Signature file {signature_path} not found." "You may need to re-create the pickle by deleting the existing one." ) with open(signature_path, "r", encoding="utf-8") as f: signature_unified = f.read() try: signature: Union[Tuple[int, int], Tuple[Tuple[int, int], int], int] = ast.literal_eval( signature_unified ) except SyntaxError as err: raise ValueError( f"Signature content must be python literal. Verify the signature {signature_path}" ) from err if algorithm_name == "rsa": if not isinstance(signature, int): raise ValueError( f"Invalid signature format for RSA algorithm. Verify the signature {signature_path}" ) elif algorithm_name == "dsa": if ( not isinstance(signature, tuple) or len(signature) != 2 or not all(isinstance(x, int) for x in signature) ): raise ValueError( f"DSA signature must be Tuple[int, int]. Verify the signature {signature_path}" ) elif algorithm_name == "eddsa": if ( not isinstance(signature, tuple) # pylint: disable=too-many-boolean-expressions or len(signature) != 2 or not isinstance(signature[0], tuple) or len(signature[0]) != 2 or not all(isinstance(x, int) for x in signature[0]) or not isinstance(signature[1], int) ): raise ValueError( "EdDSA signature must be Tuple[Tuple[int, int], int]." f"Verify the signature {signature_path}" ) elif algorithm_name == "ecdsa": if ( not isinstance(signature, tuple) or len(signature) != 2 or not all(isinstance(x, int) for x in signature) ): raise ValueError( f"ECDSA signature must be Tuple[int, int]. Verify the signature {signature_path}" ) else: raise ValueError(f"Unsupported algorithm_name: {algorithm_name}") # this will raise exception if verification fails is_verified = dsa.verify(message=data, signature=signature) # still check the boolean result if not is_verified: raise ValueError("Datastore pickle signature verification failed.") logger.info(f"Datastore pickle {datastore_path} signature verified successfully.") ================================================ FILE: deepface/modules/representation.py ================================================ # built-in dependencies from typing import Any, Dict, List, Union, Optional, Sequence, IO, cast from collections import defaultdict # 3rd party dependencies import numpy as np from numpy.typing import NDArray from lightphe import LightPHE # project dependencies from deepface.commons import image_utils from deepface.modules import modeling, detection, preprocessing from deepface.models.FacialRecognition import FacialRecognition from deepface.modules.normalization import normalize_embedding_l2, normalize_embedding_minmax from deepface.modules.encryption import encrypt_embeddings from deepface.modules.exceptions import SpoofDetected from deepface.commons.logger import Logger logger = Logger() # pylint: disable=too-many-positional-arguments def represent( img_path: Union[str, IO[bytes], NDArray[Any], Sequence[Union[str, NDArray[Any], IO[bytes]]]], model_name: str = "VGG-Face", enforce_detection: bool = True, detector_backend: str = "opencv", align: bool = True, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, max_faces: Optional[int] = None, l2_normalize: bool = False, minmax_normalize: bool = False, return_face: bool = False, cryptosystem: Optional[LightPHE] = None, ) -> Union[List[Dict[str, Any]], List[List[Dict[str, Any]]]]: """ Represent facial images as multi-dimensional vector embeddings. Args: img_path (str, np.ndarray, or Sequence[Union[str, np.ndarray]]): The exact path to the image, a numpy array in BGR format, a base64 encoded image, or a sequence of these. If the source image contains multiple faces, the result will include information for each detected face. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet enforce_detection (boolean): If no face is detected in an image, raise an exception. Default is True. Set to False to avoid the exception for low-resolution images. detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l' 'centerface' or 'skip'. align (boolean): Perform alignment based on the eye positions. expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Default is base. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace anti_spoofing (boolean): Flag to enable anti spoofing (default is False). max_faces (int): Set a limit on the number of faces to be processed (default is None). l2_normalize (bool): Flag to enable L2 normalization (unit vector normalization) of the output embeddings minmax_normalize (bool): Flag to enable min-max normalization of the output embeddings to the range [0, 1]. return_face (bool): If True, the detected face images will also be returned along with embeddings. Default is False. cryptosystem (LightPHE): An instance of a partially homomorphic encryption system to encrypt the output embeddings. If provided, the embeddings will be encrypted using the specified cryptosystem. Then, you will be able to perform homomorphic operations on the encrypted embeddings without decrypting them first. Check out the repo to find out more: https://github.com/serengil/lightphe Returns: results (List[Dict[str, Any]] or List[Dict[str, Any]]): A list of dictionaries. Result type becomes List of List of Dict if batch input passed. Each containing the following fields: - embedding (List[float]): Multidimensional vector representing facial features. The number of dimensions varies based on the reference model (e.g., FaceNet returns 128 dimensions, VGG-Face returns 4096 dimensions). - facial_area (dict): Detected facial area by face detection in dictionary format. Contains 'x' and 'y' as the left-corner point, and 'w' and 'h' as the width and height. If `detector_backend` is set to 'skip', it represents the full image area and is nonsensical. - face_confidence (float): Confidence score of face detection. If `detector_backend` is set to 'skip', the confidence will be 0 and is nonsensical. - encrypted_embedding (List[Any]): Encrypted multidimensional vector representing facial features. This field is included only if a `cryptosystem` is provided. """ resp_objs = [] model: FacialRecognition = modeling.build_model( task="facial_recognition", model_name=model_name ) # Handle list of image paths or 4D numpy array if isinstance(img_path, list): images = img_path elif isinstance(img_path, np.ndarray) and img_path.ndim == 4: images = [img_path[i] for i in range(img_path.shape[0])] else: images = [img_path] batch_images, batch_regions, batch_confidences, batch_indexes = [], [], [], [] for idx, single_img_path in enumerate(images): # we have run pre-process in verification. so, skip if it is coming from verify. target_size = model.input_shape if detector_backend != "skip": # Images are returned in RGB format. img_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], detection.extract_faces( img_path=single_img_path, detector_backend=detector_backend, grayscale=False, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, anti_spoofing=anti_spoofing, max_faces=max_faces, ), ) else: # skip # Try load. If load error, will raise exception internal img, _ = image_utils.load_image(single_img_path) if len(img.shape) != 3: raise ValueError(f"Input img must be 3 dimensional but it is {img.shape}") # Convert to RGB format to keep compatability with `extract_faces`. img = img[:, :, ::-1] # make dummy region and confidence to keep compatibility with `extract_faces` img_objs = [ { "face": img, "facial_area": {"x": 0, "y": 0, "w": img.shape[0], "h": img.shape[1]}, "confidence": 0, } ] # --------------------------------- if max_faces is not None and max_faces < len(img_objs): # sort as largest facial areas come first img_objs = sorted( img_objs, key=lambda img_obj: img_obj["facial_area"]["w"] * img_obj["facial_area"]["h"], reverse=True, ) # discard rest of the items img_objs = img_objs[0:max_faces] for img_obj in img_objs: if anti_spoofing is True and img_obj.get("is_real", True) is False: raise SpoofDetected("Spoof detected in the given image.") img = img_obj["face"] # rgb to bgr img = img[:, :, ::-1] region = img_obj["facial_area"] confidence = img_obj["confidence"] # resize to expected shape of ml model img = preprocessing.resize_image( img=img, # thanks to DeepId (!) target_size=(target_size[1], target_size[0]), ) # custom normalization img = preprocessing.normalize_input(img=img, normalization=normalization) batch_images.append(img) batch_regions.append(region) batch_confidences.append(confidence) batch_indexes.append(idx) # Convert list of images to a numpy array for batch processing batch_images_np = np.concatenate(batch_images, axis=0) # Forward pass through the model for the entire batch embeddings = model.forward(batch_images_np) if minmax_normalize: embeddings = normalize_embedding_minmax(model_name, embeddings) if l2_normalize: embeddings = normalize_embedding_l2(embeddings) encrypted_embeddings = encrypt_embeddings(embeddings, cryptosystem) resp_objs_dict = defaultdict(list) for idy, batch_index in enumerate(batch_indexes): resp_obj = { "embedding": embeddings if len(batch_images) == 1 else embeddings[idy], "facial_area": batch_regions[idy], "face_confidence": batch_confidences[idy], } if return_face: resp_obj["face"] = batch_images_np[idy] if cryptosystem is not None and encrypted_embeddings is not None: resp_obj["encrypted_embedding"] = ( encrypted_embeddings if len(batch_images) == 1 else encrypted_embeddings[idy] ) resp_objs_dict[batch_index].append(resp_obj) resp_objs = [resp_objs_dict[idx] for idx in range(len(images))] return resp_objs[0] if len(images) == 1 else resp_objs ================================================ FILE: deepface/modules/streaming.py ================================================ # built-in dependencies import os import time from typing import List, Tuple, Optional, cast, Dict, Any import traceback # 3rd party dependencies import numpy as np from numpy.typing import NDArray import pandas as pd import cv2 # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() # dependency configuration os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" IDENTIFIED_IMG_SIZE = 112 TEXT_COLOR = (255, 255, 255) # pylint: disable=unused-variable, too-many-positional-arguments def analysis( db_path: str, model_name: str = "VGG-Face", detector_backend: str = "opencv", distance_metric: str = "cosine", enable_face_analysis: bool = True, source: int = 0, time_threshold: int = 5, frame_threshold: int = 5, anti_spoofing: bool = False, output_path: Optional[str] = None, debug: bool = False, ) -> None: """ Run real time face recognition and facial attribute analysis Args: db_path (string): Path to the folder containing image files. All detected faces in the database will be considered in the decision-making process. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face) detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l' 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). enable_face_analysis (bool): Flag to enable face analysis (default is True). source (Any): The source for the video stream (default is 0, which represents the default camera). time_threshold (int): The time threshold (in seconds) for face recognition (default is 5). frame_threshold (int): The frame threshold for face recognition (default is 5). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). output_path (str): Path to save the output video. (default is None If None, no video is saved). Returns: None """ # initialize models build_demography_models(enable_face_analysis=enable_face_analysis) build_facial_recognition_model(model_name=model_name) # call a dummy find function for db_path once to create embeddings before starting webcam _ = search_identity( detected_face=np.zeros([224, 224, 3]), db_path=db_path, detector_backend=detector_backend, distance_metric=distance_metric, model_name=model_name, ) cap = cv2.VideoCapture(source if isinstance(source, str) else int(source)) if not cap.isOpened(): logger.error(f"Cannot open video source: {source}") return # Get video properties width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) fps = cap.get(cv2.CAP_PROP_FPS) # Ensure the output directory exists if output_path is provided if output_path: os.makedirs(os.path.dirname(output_path), exist_ok=True) # Initialize video writer if output_path is provided video_writer = ( cv2.VideoWriter( output_path, cv2.VideoWriter_fourcc(*"mp4v"), # type: ignore[attr-defined] fps, (width, height), ) if output_path else None ) freezed_img = None freeze = False num_frames_with_faces = 0 tic = time.time() frame = 0 while True: has_frame, img = cap.read() if not has_frame: break raw_img = img.copy() # type: ignore[union-attr] faces_coordinates = [] if not freeze: faces_coordinates = grab_facial_areas( img=img, detector_backend=detector_backend, anti_spoofing=anti_spoofing ) # use raw_img otherwise countdown number will appear in the middle of the face detected_faces = extract_facial_areas(img=raw_img, faces_coordinates=faces_coordinates) img = highlight_facial_areas(img=img, faces_coordinates=faces_coordinates) # highlight how many seconds required to freeze in the middle of detected face img = countdown_to_freeze( img=img, faces_coordinates=faces_coordinates, frame_threshold=frame_threshold, num_frames_with_faces=num_frames_with_faces, ) num_frames_with_faces = num_frames_with_faces + 1 if len(faces_coordinates) else 0 freeze = num_frames_with_faces > 0 and num_frames_with_faces % frame_threshold == 0 if freeze: frame += 1 # restore raw image to get rid of countdown informtion img = raw_img.copy() # add analyze results into img img = highlight_facial_areas( img=img, faces_coordinates=faces_coordinates, anti_spoofing=anti_spoofing ) if debug is True: cv2.imwrite(f"freezed_{frame}_0.jpg", detected_faces[0]) cv2.imwrite(f"freezed_{frame}_1.jpg", img) # note: faces already detected from img (original one) in grab_facial_areas() # perform_demography_analysis and perform_facial_recognition are using # pre-detected faces, not using anything from img # age, gender and emotion analysis img = perform_demography_analysis( enable_face_analysis=enable_face_analysis, img=img, faces_coordinates=faces_coordinates, detected_faces=detected_faces, ) if debug is True: cv2.imwrite(f"freezed_{frame}_2.jpg", img) # facial recogntion analysis img = perform_facial_recognition( img=img, faces_coordinates=faces_coordinates, detected_faces=detected_faces, db_path=db_path, detector_backend=detector_backend, distance_metric=distance_metric, model_name=model_name, ) if debug is True: cv2.imwrite(f"freezed_{frame}_3.jpg", img) # freeze the img after analysis freezed_img = img.copy() # start counter for freezing tic = time.time() logger.info("freezed") elif freeze and time.time() - tic > time_threshold: freeze = False freezed_img = None # reset counter for freezing tic = time.time() logger.info("Freeze released") # count how many seconds required to relased freezed image in the left up area freezed_img = countdown_to_release(img=freezed_img, tic=tic, time_threshold=time_threshold) display_img = img if freezed_img is None else freezed_img # Save the frame to output video if writer is initialized if video_writer: video_writer.write(display_img) cv2.imshow("img", display_img) if cv2.waitKey(1) & 0xFF == ord("q"): break # Release resources cap.release() if video_writer: video_writer.release() cv2.destroyAllWindows() def build_facial_recognition_model(model_name: str) -> None: """ Build facial recognition model Args: model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). Returns input_shape (tuple): input shape of given facial recognitio n model. """ _ = DeepFace.build_model(task="facial_recognition", model_name=model_name) logger.info(f"{model_name} is built") def search_identity( detected_face: NDArray[Any], db_path: str, model_name: str, detector_backend: str, distance_metric: str, ) -> Tuple[Optional[str], Optional[NDArray[Any]], float]: """ Search an identity in facial database. Args: detected_face (np.ndarray): extracted individual facial image db_path (string): Path to the folder containing image files. All detected faces in the database will be considered in the decision-making process. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular', (default is cosine). Returns: result (tuple): result consisting of following objects identified image path (str) identified image itself (np.ndarray) """ target_path = None target_img = None confidence = 0 try: dfs = DeepFace.find( img_path=detected_face, db_path=db_path, model_name=model_name, detector_backend=detector_backend, distance_metric=distance_metric, enforce_detection=False, silent=True, ) dfs = cast(List[pd.DataFrame], dfs) except ValueError as err: if f"No item found in {db_path}" in str(err): logger.warn( f"No item is found in {db_path}." "So, no facial recognition analysis will be performed." ) dfs = [] else: raise err if len(dfs) == 0: # you may consider to return unknown person's image here return target_path, target_img, confidence # detected face is coming from parent, safe to access 1st index df: pd.DataFrame = dfs[0] if df.shape[0] == 0: return target_path, target_img, confidence candidate = df.iloc[0] target_path = candidate["identity"] confidence = candidate["confidence"] logger.info(f"Hello, {target_path} (confidence: {confidence}%)") # load found identity image - extracted if possible target_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], DeepFace.extract_faces( img_path=target_path, detector_backend=detector_backend, enforce_detection=False, align=True, ), ) # extract facial area of the identified image if and only if it has one face # otherwise, show image as is if len(target_objs) == 1: # extract 1st item directly target_obj = target_objs[0] target_img = target_obj["face"] target_img *= 255 target_img = target_img[:, :, ::-1] else: target_img = cv2.imread(target_path) # resize anyway target_img = cv2.resize(target_img, (IDENTIFIED_IMG_SIZE, IDENTIFIED_IMG_SIZE)) return ( target_path.split("/")[-1], target_img, confidence, ) def build_demography_models(enable_face_analysis: bool) -> None: """ Build demography analysis models Args: enable_face_analysis (bool): Flag to enable face analysis (default is True). Returns: None """ if enable_face_analysis is False: return DeepFace.build_model(task="facial_attribute", model_name="Age") logger.info("Age model is just built") DeepFace.build_model(task="facial_attribute", model_name="Gender") logger.info("Gender model is just built") DeepFace.build_model(task="facial_attribute", model_name="Emotion") logger.info("Emotion model is just built") def highlight_facial_areas( img: NDArray[Any], faces_coordinates: List[Tuple[int, int, int, int, bool, float]], anti_spoofing: bool = False, ) -> NDArray[Any]: """ Highlight detected faces with rectangles in the given image Args: img (np.ndarray): image itself faces_coordinates (list): list of face coordinates as tuple with x, y, w and h also is_real and antispoof_score keys anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: img (np.ndarray): image with highlighted facial areas """ for x, y, w, h, is_real, antispoof_score in faces_coordinates: # highlight facial area with rectangle if anti_spoofing is False: color = (67, 67, 67) else: if is_real is True: color = (0, 255, 0) else: color = (0, 0, 255) cv2.rectangle(img, (x, y), (x + w, y + h), color, 1) return img def countdown_to_freeze( img: NDArray[Any], faces_coordinates: List[Tuple[int, int, int, int, bool, float]], frame_threshold: int, num_frames_with_faces: int, ) -> NDArray[Any]: """ Highlight time to freeze in the image's facial areas Args: img (np.ndarray): image itself faces_coordinates (list): list of face coordinates as tuple with x, y, w and h frame_threshold (int): how many sequantial frames required with face(s) to freeze num_frames_with_faces (int): how many sequantial frames do we have with face(s) Returns: img (np.ndarray): image with counter values """ for x, y, w, h, is_real, antispoof_score in faces_coordinates: cv2.putText( img, str(frame_threshold - (num_frames_with_faces % frame_threshold)), (int(x + w / 4), int(y + h / 1.5)), cv2.FONT_HERSHEY_SIMPLEX, 4, (255, 255, 255), 2, ) return img def countdown_to_release( img: Optional[NDArray[Any]], tic: float, time_threshold: int ) -> Optional[NDArray[Any]]: """ Highlight time to release the freezing in the image top left area Args: img (np.ndarray): image itself tic (float): time specifying when freezing started time_threshold (int): freeze time threshold Returns: img (np.ndarray): image with time to release the freezing """ # do not take any action if it is not frozen yet if img is None: return img toc = time.time() time_left = int(time_threshold - (toc - tic) + 1) cv2.rectangle(img, (10, 10), (90, 50), (67, 67, 67), -10) cv2.putText( img, str(time_left), (40, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 1, ) return img def grab_facial_areas( img: NDArray[Any], detector_backend: str, threshold: int = 130, anti_spoofing: bool = False, ) -> List[Tuple[int, int, int, int, bool, float]]: """ Find facial area coordinates in the given image Args: img (np.ndarray): image itself detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). threshold (int): threshold for facial area, discard smaller ones Returns result (list): list of tuple with x, y, w and h coordinates """ try: face_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], DeepFace.extract_faces( img_path=img, detector_backend=detector_backend, # you may consider to extract with larger expanding value expand_percentage=0, anti_spoofing=anti_spoofing, ), ) faces = [ ( face_obj["facial_area"]["x"], face_obj["facial_area"]["y"], face_obj["facial_area"]["w"], face_obj["facial_area"]["h"], face_obj.get("is_real", True), face_obj.get("antispoof_score", 0), ) for face_obj in face_objs if face_obj["facial_area"]["w"] > threshold ] return faces except: # to avoid exception if no face detected return [] def extract_facial_areas( img: NDArray[Any], faces_coordinates: List[Tuple[int, int, int, int, bool, float]] ) -> List[NDArray[Any]]: """ Extract facial areas as numpy array from given image Args: img (np.ndarray): image itself faces_coordinates (list): list of facial area coordinates as tuple with x, y, w and h values also is_real and antispoof_score keys Returns: detected_faces (list): list of detected facial area images """ detected_faces = [] for x, y, w, h, is_real, antispoof_score in faces_coordinates: detected_face = img[int(y) : int(y + h), int(x) : int(x + w)] detected_faces.append(detected_face) return detected_faces def perform_facial_recognition( img: NDArray[Any], detected_faces: List[NDArray[Any]], faces_coordinates: List[Tuple[int, int, int, int, bool, float]], db_path: str, detector_backend: str, distance_metric: str, model_name: str, ) -> NDArray[Any]: """ Perform facial recognition Args: img (np.ndarray): image itself detected_faces (list): list of extracted detected face images as numpy faces_coordinates (list): list of facial area coordinates as tuple with x, y, w and h values also is_real and antispoof_score keys db_path (string): Path to the folder containing image files. All detected faces in the database will be considered in the decision-making process. detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m', 'centerface' or 'skip' (default is opencv). distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). Returns: img (np.ndarray): image with identified face informations """ for idx, (x, y, w, h, is_real, antispoof_score) in enumerate(faces_coordinates): detected_face = detected_faces[idx] target_label, target_img, confidence = search_identity( detected_face=detected_face, db_path=db_path, detector_backend=detector_backend, distance_metric=distance_metric, model_name=model_name, ) if target_label is None: continue if target_img is None: continue img = overlay_identified_face( img=img, target_img=target_img, label=target_label, x=x, y=y, w=w, h=h, confidence=confidence, ) return img def perform_demography_analysis( enable_face_analysis: bool, img: NDArray[Any], faces_coordinates: List[Tuple[int, int, int, int, bool, float]], detected_faces: List[NDArray[Any]], ) -> NDArray[Any]: """ Perform demography analysis on given image Args: enable_face_analysis (bool): Flag to enable face analysis. img (np.ndarray): image itself faces_coordinates (list): list of face coordinates as tuple with x, y, w and h values also is_real and antispoof_score keys detected_faces (list): list of extracted detected face images as numpy Returns: img (np.ndarray): image with analyzed demography information """ if enable_face_analysis is False: return img for idx, (x, y, w, h, is_real, antispoof_score) in enumerate(faces_coordinates): detected_face = detected_faces[idx] demographies: List[Dict[str, Any]] = cast( List[Dict[str, Any]], DeepFace.analyze( img_path=detected_face, actions=("age", "gender", "emotion"), detector_backend="skip", enforce_detection=False, silent=True, ), ) if len(demographies) == 0: continue # safe to access 1st index because detector backend is skip demography: Dict[str, Any] = demographies[0] img = overlay_emotion(img=img, emotion_probas=demography["emotion"], x=x, y=y, w=w, h=h) img = overlay_age_gender( img=img, apparent_age=demography["age"], gender=demography["dominant_gender"][0:1], # M or W x=x, y=y, w=w, h=h, ) return img def overlay_identified_face( img: NDArray[Any], target_img: NDArray[Any], label: str, x: int, y: int, w: int, h: int, confidence: float, ) -> NDArray[Any]: """ Overlay the identified face onto image itself Args: img (np.ndarray): image itself target_img (np.ndarray): identified face's image label (str): name of the identified face x (int): x coordinate of the face on the given image y (int): y coordinate of the face on the given image w (int): w coordinate of the face on the given image h (int): h coordinate of the face on the given image confidence (float): confidence score of the identified face Returns: img (np.ndarray): image with overlayed identity """ # show classification label with confidence label = f"{label} ({confidence}%)" try: if y - IDENTIFIED_IMG_SIZE > 0 and x + w + IDENTIFIED_IMG_SIZE < img.shape[1]: # top right img[ y - IDENTIFIED_IMG_SIZE : y, x + w : x + w + IDENTIFIED_IMG_SIZE, ] = target_img overlay = img.copy() opacity = 0.4 cv2.rectangle( img, (x + w, y), (x + w + IDENTIFIED_IMG_SIZE, y + 20), (46, 200, 255), cv2.FILLED, ) cv2.addWeighted( overlay, opacity, img, 1 - opacity, 0, img, ) cv2.putText( img, label, (x + w, y + 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, TEXT_COLOR, 1, ) # connect face and text cv2.line( img, (x + int(w / 2), y), (x + 3 * int(w / 4), y - int(IDENTIFIED_IMG_SIZE / 2)), (67, 67, 67), 1, ) cv2.line( img, (x + 3 * int(w / 4), y - int(IDENTIFIED_IMG_SIZE / 2)), (x + w, y - int(IDENTIFIED_IMG_SIZE / 2)), (67, 67, 67), 1, ) elif y + h + IDENTIFIED_IMG_SIZE < img.shape[0] and x - IDENTIFIED_IMG_SIZE > 0: # bottom left img[ y + h : y + h + IDENTIFIED_IMG_SIZE, x - IDENTIFIED_IMG_SIZE : x, ] = target_img overlay = img.copy() opacity = 0.4 cv2.rectangle( img, (x - IDENTIFIED_IMG_SIZE, y + h - 20), (x, y + h), (46, 200, 255), cv2.FILLED, ) cv2.addWeighted( overlay, opacity, img, 1 - opacity, 0, img, ) cv2.putText( img, label, (x - IDENTIFIED_IMG_SIZE, y + h - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, TEXT_COLOR, 1, ) # connect face and text cv2.line( img, (x + int(w / 2), y + h), ( x + int(w / 2) - int(w / 4), y + h + int(IDENTIFIED_IMG_SIZE / 2), ), (67, 67, 67), 1, ) cv2.line( img, ( x + int(w / 2) - int(w / 4), y + h + int(IDENTIFIED_IMG_SIZE / 2), ), (x, y + h + int(IDENTIFIED_IMG_SIZE / 2)), (67, 67, 67), 1, ) elif y - IDENTIFIED_IMG_SIZE > 0 and x - IDENTIFIED_IMG_SIZE > 0: # top left img[y - IDENTIFIED_IMG_SIZE : y, x - IDENTIFIED_IMG_SIZE : x] = target_img overlay = img.copy() opacity = 0.4 cv2.rectangle( img, (x - IDENTIFIED_IMG_SIZE, y), (x, y + 20), (46, 200, 255), cv2.FILLED, ) cv2.addWeighted( overlay, opacity, img, 1 - opacity, 0, img, ) cv2.putText( img, label, (x - IDENTIFIED_IMG_SIZE, y + 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, TEXT_COLOR, 1, ) # connect face and text cv2.line( img, (x + int(w / 2), y), ( x + int(w / 2) - int(w / 4), y - int(IDENTIFIED_IMG_SIZE / 2), ), (67, 67, 67), 1, ) cv2.line( img, ( x + int(w / 2) - int(w / 4), y - int(IDENTIFIED_IMG_SIZE / 2), ), (x, y - int(IDENTIFIED_IMG_SIZE / 2)), (67, 67, 67), 1, ) elif ( x + w + IDENTIFIED_IMG_SIZE < img.shape[1] and y + h + IDENTIFIED_IMG_SIZE < img.shape[0] ): # bottom righ img[ y + h : y + h + IDENTIFIED_IMG_SIZE, x + w : x + w + IDENTIFIED_IMG_SIZE, ] = target_img overlay = img.copy() opacity = 0.4 cv2.rectangle( img, (x + w, y + h - 20), (x + w + IDENTIFIED_IMG_SIZE, y + h), (46, 200, 255), cv2.FILLED, ) cv2.addWeighted( overlay, opacity, img, 1 - opacity, 0, img, ) cv2.putText( img, label, (x + w, y + h - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, TEXT_COLOR, 1, ) # connect face and text cv2.line( img, (x + int(w / 2), y + h), ( x + int(w / 2) + int(w / 4), y + h + int(IDENTIFIED_IMG_SIZE / 2), ), (67, 67, 67), 1, ) cv2.line( img, ( x + int(w / 2) + int(w / 4), y + h + int(IDENTIFIED_IMG_SIZE / 2), ), (x + w, y + h + int(IDENTIFIED_IMG_SIZE / 2)), (67, 67, 67), 1, ) else: logger.info("cannot put facial recognition info on the image") except Exception as err: # pylint: disable=broad-except logger.error(f"{str(err)} - {traceback.format_exc()}") return img def overlay_emotion( img: NDArray[Any], emotion_probas: Dict[str, float], x: int, y: int, w: int, h: int ) -> NDArray[Any]: """ Overlay the analyzed emotion of face onto image itself Args: img (np.ndarray): image itself emotion_probas (dict): probability of different emotionas dictionary x (int): x coordinate of the face on the given image y (int): y coordinate of the face on the given image w (int): w coordinate of the face on the given image h (int): h coordinate of the face on the given image Returns: img (np.ndarray): image with overlay emotion analsis results """ emotion_df = pd.DataFrame(emotion_probas.items(), columns=["emotion", "score"]) emotion_df = emotion_df.sort_values(by=["score"], ascending=False).reset_index(drop=True) # background of mood box # transparency overlay = img.copy() opacity = 0.4 # put gray background to the right of the detected image if x + w + IDENTIFIED_IMG_SIZE < img.shape[1]: cv2.rectangle( img, (x + w, y), (x + w + IDENTIFIED_IMG_SIZE, y + h), (64, 64, 64), cv2.FILLED, ) cv2.addWeighted(overlay, opacity, img, 1 - opacity, 0, img) # put gray background to the left of the detected image elif x - IDENTIFIED_IMG_SIZE > 0: cv2.rectangle( img, (x - IDENTIFIED_IMG_SIZE, y), (x, y + h), (64, 64, 64), cv2.FILLED, ) cv2.addWeighted(overlay, opacity, img, 1 - opacity, 0, img) for index, instance in emotion_df.iterrows(): current_emotion = instance["emotion"] emotion_label = f"{current_emotion} " emotion_score = instance["score"] / 100 filled_bar_x = 35 # this is the size if an emotion is 100% bar_x = int(filled_bar_x * emotion_score) if x + w + IDENTIFIED_IMG_SIZE < img.shape[1]: text_location_y = y + 20 + (index + 1) * 20 text_location_x = x + w if text_location_y < y + h: cv2.putText( img, emotion_label, (text_location_x, text_location_y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 1, ) cv2.rectangle( img, (x + w + 70, y + 13 + (index + 1) * 20), ( x + w + 70 + bar_x, y + 13 + (index + 1) * 20 + 5, ), (255, 255, 255), cv2.FILLED, ) elif x - IDENTIFIED_IMG_SIZE > 0: text_location_y = y + 20 + (index + 1) * 20 text_location_x = x - IDENTIFIED_IMG_SIZE if text_location_y <= y + h: cv2.putText( img, emotion_label, (text_location_x, text_location_y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 1, ) cv2.rectangle( img, ( x - IDENTIFIED_IMG_SIZE + 70, y + 13 + (index + 1) * 20, ), ( x - IDENTIFIED_IMG_SIZE + 70 + bar_x, y + 13 + (index + 1) * 20 + 5, ), (255, 255, 255), cv2.FILLED, ) return img def overlay_age_gender( img: NDArray[Any], apparent_age: float, gender: str, x: int, y: int, w: int, h: int ) -> NDArray[Any]: """ Overlay the analyzed age and gender of face onto image itself Args: img (np.ndarray): image itself apparent_age (float): analyzed apparent age gender (str): analyzed gender x (int): x coordinate of the face on the given image y (int): y coordinate of the face on the given image w (int): w coordinate of the face on the given image h (int): h coordinate of the face on the given image Returns: img (np.ndarray): image with overlay age and gender analsis results """ logger.debug(f"{apparent_age} years old {gender}") analysis_report = f"{int(apparent_age)} {gender}" info_box_color = (46, 200, 255) # show its age and gender on the top of the image if y - IDENTIFIED_IMG_SIZE + int(IDENTIFIED_IMG_SIZE / 5) > 0: triangle_coordinates = np.array( [ (x + int(w / 2), y), ( x + int(w / 2) - int(w / 10), y - int(IDENTIFIED_IMG_SIZE / 3), ), ( x + int(w / 2) + int(w / 10), y - int(IDENTIFIED_IMG_SIZE / 3), ), ] ) cv2.drawContours( img, [triangle_coordinates], # type: ignore[list-item] 0, info_box_color, -1, ) cv2.rectangle( img, ( x + int(w / 5), y - IDENTIFIED_IMG_SIZE + int(IDENTIFIED_IMG_SIZE / 5), ), (x + w - int(w / 5), y - int(IDENTIFIED_IMG_SIZE / 3)), info_box_color, cv2.FILLED, ) cv2.putText( img, analysis_report, (x + int(w / 3.5), y - int(IDENTIFIED_IMG_SIZE / 2.1)), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 111, 255), 2, ) # show its age and gender on the top of the image elif y + h + IDENTIFIED_IMG_SIZE - int(IDENTIFIED_IMG_SIZE / 5) < img.shape[0]: triangle_coordinates = np.array( [ (x + int(w / 2), y + h), ( x + int(w / 2) - int(w / 10), y + h + int(IDENTIFIED_IMG_SIZE / 3), ), ( x + int(w / 2) + int(w / 10), y + h + int(IDENTIFIED_IMG_SIZE / 3), ), ] ) cv2.drawContours( img, [triangle_coordinates], # type: ignore[list-item] 0, info_box_color, -1, ) cv2.rectangle( img, (x + int(w / 5), y + h + int(IDENTIFIED_IMG_SIZE / 3)), ( x + w - int(w / 5), y + h + IDENTIFIED_IMG_SIZE - int(IDENTIFIED_IMG_SIZE / 5), ), info_box_color, cv2.FILLED, ) cv2.putText( img, analysis_report, (x + int(w / 3.5), y + h + int(IDENTIFIED_IMG_SIZE / 1.5)), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 111, 255), 2, ) return img ================================================ FILE: deepface/modules/verification.py ================================================ # built-in dependencies import time from typing import Any, Dict, Optional, Union, List, Tuple, IO, cast import math # 3rd party dependencies import numpy as np from numpy.typing import NDArray # project dependencies from deepface.modules import representation, detection, modeling from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger from deepface.config.confidence import confidences from deepface.config.threshold import thresholds from deepface.modules.exceptions import ( SpoofDetected, DimensionMismatchError, DataTypeError, InvalidEmbeddingsShapeError, ) logger = Logger() # pylint: disable=too-many-positional-arguments, no-else-return def verify( img1_path: Union[str, NDArray[Any], List[float], IO[bytes]], img2_path: Union[str, NDArray[Any], List[float], IO[bytes]], model_name: str = "VGG-Face", detector_backend: str = "opencv", distance_metric: str = "cosine", enforce_detection: bool = True, align: bool = True, expand_percentage: int = 0, normalization: str = "base", silent: bool = False, threshold: Optional[float] = None, anti_spoofing: bool = False, ) -> Dict[str, Any]: """ Verify if an image pair represents the same person or different persons. The verification function converts facial images to vectors and calculates the similarity between those vectors. Vectors of images of the same person should exhibit higher similarity (or lower distance) than vectors of images of different persons. Args: img1_path (str or np.ndarray or List[float]): Path to the first image. Accepts exact image path as a string, numpy array (BGR), base64 encoded images or pre-calculated embeddings. img2_path (str or np.ndarray or or List[float]): Path to the second image. Accepts exact image path as a string, numpy array (BGR), base64 encoded images or pre-calculated embeddings. model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). detector_backend (string): face detector backend. Options: 'opencv', 'retinaface', 'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8n', 'yolov8m', 'yolov8l', 'yolov11n', 'yolov11s', 'yolov11m', 'yolov11l', 'yolov12n', 'yolov12s', 'yolov12m', 'yolov12l' 'centerface' or 'skip' (default is opencv) distance_metric (string): Metric for measuring similarity. Options: 'cosine', 'euclidean', 'euclidean_l2', 'angular' (default is cosine). enforce_detection (boolean): If no face is detected in an image, raise an exception. Set to False to avoid the exception for low-resolution images (default is True). align (bool): Flag to enable face alignment (default is True). expand_percentage (int): expand detected facial area with a percentage (default is 0). normalization (string): Normalize the input image before feeding it to the model. Options: base, raw, Facenet, Facenet2018, VGGFace, VGGFace2, ArcFace (default is base) silent (boolean): Suppress or allow some log messages for a quieter analysis process (default is False). threshold (float): Specify a threshold to determine whether a pair represents the same person or different individuals. This threshold is used for comparing distances. If left unset, default pre-tuned threshold values will be applied based on the specified model name and distance metric (default is None). anti_spoofing (boolean): Flag to enable anti spoofing (default is False). Returns: result (dict): A dictionary containing verification results. - 'verified' (bool): Indicates whether the images represent the same person (True) or different persons (False). - 'distance' (float): The distance measure between the face vectors. A lower distance indicates higher similarity. - 'threshold' (float): The maximum threshold used for verification. If the distance is below this threshold, the images are considered a match. - 'confidence' (float): Confidence score indicating the likelihood that the images represent the same person. The score is between 0 and 100, where higher values indicate greater confidence in the verification result. - 'model' (str): The chosen face recognition model. - 'similarity_metric' (str): The chosen similarity metric for measuring distances. - 'facial_areas' (dict): Rectangular regions of interest for faces in both images. - 'img1': {'x': int, 'y': int, 'w': int, 'h': int} Region of interest for the first image. - 'img2': {'x': int, 'y': int, 'w': int, 'h': int} Region of interest for the second image. - 'time' (float): Time taken for the verification process in seconds. """ tic = time.time() model: FacialRecognition = modeling.build_model( task="facial_recognition", model_name=model_name ) dims = model.output_shape no_facial_area = { "x": None, "y": None, "w": None, "h": None, "left_eye": None, "right_eye": None, } def extract_embeddings_and_facial_areas( img_path: Union[str, NDArray[Any], List[float], IO[bytes]], index: int ) -> Tuple[List[List[float]], List[Dict[str, Any]]]: """ Extracts facial embeddings and corresponding facial areas from an image or returns pre-calculated embeddings. Depending on the type of img_path, the function either extracts facial embeddings from the provided image (via a path or NumPy array) or verifies that the input is a list of pre-calculated embeddings and validates them. Args: img_path (Union[str, np.ndarray, List[float]]): - A string representing the file path to an image, - A NumPy array containing the image data, - Or a list of pre-calculated embedding values (of type `float`). - Or a file-like object containing image data (e.g., bytes). index (int): An index value used in error messages and logging to identify the number of the image. Returns: Tuple[List[List[float]], List[dict]]: - A list containing lists of facial embeddings for each detected face. - A list of dictionaries where each dictionary contains facial area information. """ if isinstance(img_path, list): # given image is already pre-calculated embedding if not all(isinstance(dim, (float, int)) for dim in img_path): raise DataTypeError( f"When passing img{index}_path as a list," " ensure that all its items are of type float." ) if silent is False: logger.warn( f"You passed {index}-th image as pre-calculated embeddings." "Please ensure that embeddings have been calculated" f" for the {model_name} model." ) if len(img_path) != dims: raise DimensionMismatchError( f"embeddings of {model_name} should have {dims} dimensions," f" but {index}-th image has {len(img_path)} dimensions input" ) img_embeddings = [img_path] img_facial_areas = [no_facial_area] else: try: img_embeddings, img_facial_areas = __extract_faces_and_embeddings( img_path=img_path, model_name=model_name, detector_backend=detector_backend, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, normalization=normalization, anti_spoofing=anti_spoofing, ) except ValueError as err: raise ValueError(f"Exception while processing img{index}_path") from err return img_embeddings, img_facial_areas img1_embeddings, img1_facial_areas = extract_embeddings_and_facial_areas(img1_path, 1) img2_embeddings, img2_facial_areas = extract_embeddings_and_facial_areas(img2_path, 2) min_distance, min_idx, min_idy = float("inf"), None, None for idx, img1_embedding in enumerate(img1_embeddings): for idy, img2_embedding in enumerate(img2_embeddings): distance: float = float( cast(np.float64, find_distance(img1_embedding, img2_embedding, distance_metric)) ) if distance < min_distance: min_distance, min_idx, min_idy = distance, idx, idy # find the face pair with minimum distance pretuned_threshold = find_threshold(model_name, distance_metric) threshold = threshold or pretuned_threshold distance = float(min_distance) confidence = find_confidence( distance=distance, model_name=model_name, distance_metric=distance_metric, verified=distance <= pretuned_threshold, ) facial_areas = ( no_facial_area if min_idx is None else img1_facial_areas[min_idx], no_facial_area if min_idy is None else img2_facial_areas[min_idy], ) toc = time.time() resp_obj = { "verified": distance <= threshold, "distance": distance, "threshold": threshold, "confidence": confidence, "model": model_name, "detector_backend": detector_backend, "similarity_metric": distance_metric, "facial_areas": {"img1": facial_areas[0], "img2": facial_areas[1]}, "time": round(toc - tic, 2), } return resp_obj def __extract_faces_and_embeddings( img_path: Union[str, NDArray[Any], IO[bytes]], model_name: str = "VGG-Face", detector_backend: str = "opencv", enforce_detection: bool = True, align: bool = True, expand_percentage: int = 0, normalization: str = "base", anti_spoofing: bool = False, ) -> Tuple[List[List[float]], List[Dict[str, Any]]]: """ Extract facial areas and find corresponding embeddings for given image Returns: embeddings (List[float]) facial areas (List[dict]) """ embeddings = [] facial_areas = [] img_objs: List[Dict[str, Any]] = cast( List[Dict[str, Any]], detection.extract_faces( img_path=img_path, detector_backend=detector_backend, grayscale=False, enforce_detection=enforce_detection, align=align, expand_percentage=expand_percentage, anti_spoofing=anti_spoofing, ), ) # find embeddings for each face for img_obj in img_objs: if anti_spoofing is True and img_obj.get("is_real", True) is False: raise SpoofDetected("Spoof detected in given image.") img_embedding_obj = representation.represent( img_path=img_obj["face"][:, :, ::-1], # make compatible with direct representation call model_name=model_name, enforce_detection=enforce_detection, detector_backend="skip", align=align, normalization=normalization, ) # already extracted face given, safe to access its 1st item img_embedding_obj = cast(List[Dict[str, Any]], img_embedding_obj) img_embedding = img_embedding_obj[0]["embedding"] embeddings.append(img_embedding) facial_areas.append(img_obj["facial_area"]) return embeddings, facial_areas def find_cosine_distance( source_representation: Union[NDArray[Any], List[float]], test_representation: Union[NDArray[Any], List[float]], ) -> Union[np.float64, NDArray[Any]]: """ Find cosine distance between two given vectors or batches of vectors. Args: source_representation (np.ndarray or list): 1st vector or batch of vectors. test_representation (np.ndarray or list): 2nd vector or batch of vectors. Returns np.float64 or np.ndarray: Calculated cosine distance(s). It returns a np.float64 for single embeddings and np.ndarray for batch embeddings. """ # Convert inputs to numpy arrays if necessary source_representation = np.asarray(source_representation) test_representation = np.asarray(test_representation) if source_representation.ndim == 1 and test_representation.ndim == 1: # single embedding dot_product = np.dot(source_representation, test_representation) source_norm = np.linalg.norm(source_representation) test_norm = np.linalg.norm(test_representation) distances = 1 - dot_product / (source_norm * test_norm) return cast(np.float64, distances) elif source_representation.ndim == 2 and test_representation.ndim == 2: # list of embeddings (batch) source_normed = l2_normalize(source_representation, axis=1) # (N, D) test_normed = l2_normalize(test_representation, axis=1) # (M, D) cosine_similarities = np.dot(test_normed, source_normed.T) # (M, N) distances = 1 - cosine_similarities return cast(NDArray[Any], distances) else: raise InvalidEmbeddingsShapeError( f"Embeddings must be 1D or 2D, but received " f"source shape: {source_representation.shape}, test shape: {test_representation.shape}" ) def find_angular_distance( source_representation: Union[NDArray[Any], List[float]], test_representation: Union[NDArray[Any], List[float]], ) -> Union[np.float64, NDArray[Any]]: """ Find angular distance between two vectors or batches of vectors. Args: source_representation (np.ndarray or list): 1st vector or batch of vectors. test_representation (np.ndarray or list): 2nd vector or batch of vectors. Returns: np.float64 or np.ndarray: angular distance(s). Returns a np.float64 for single embeddings and np.ndarray for batch embeddings. """ # calculate cosine similarity first # then convert to angular distance source_representation = np.asarray(source_representation) test_representation = np.asarray(test_representation) if source_representation.ndim == 1 and test_representation.ndim == 1: # single embedding dot_product = np.dot(source_representation, test_representation) source_norm = np.linalg.norm(source_representation) test_norm = np.linalg.norm(test_representation) similarity = dot_product / (source_norm * test_norm) distances = np.arccos(similarity) / np.pi return cast(np.float64, distances) elif source_representation.ndim == 2 and test_representation.ndim == 2: # list of embeddings (batch) source_normed = l2_normalize(source_representation, axis=1) # (N, D) test_normed = l2_normalize(test_representation, axis=1) # (M, D) similarity = np.dot(test_normed, source_normed.T) # (M, N) distances = np.arccos(similarity) / np.pi return cast(NDArray[Any], distances) else: raise ValueError( f"Embeddings must be 1D or 2D, but received " f"source shape: {source_representation.shape}, test shape: {test_representation.shape}" ) def find_euclidean_distance( source_representation: Union[NDArray[Any], List[float]], test_representation: Union[NDArray[Any], List[float]], ) -> Union[np.float64, NDArray[Any]]: """ Find Euclidean distance between two vectors or batches of vectors. Args: source_representation (np.ndarray or list): 1st vector or batch of vectors. test_representation (np.ndarray or list): 2nd vector or batch of vectors. Returns: np.float64 or np.ndarray: Euclidean distance(s). Returns a np.float64 for single embeddings and np.ndarray for batch embeddings. """ # Convert inputs to numpy arrays if necessary source_representation = np.asarray(source_representation) test_representation = np.asarray(test_representation) # Single embedding case (1D arrays) if source_representation.ndim == 1 and test_representation.ndim == 1: distances = np.linalg.norm(source_representation - test_representation) return cast(np.float64, distances) # Batch embeddings case (2D arrays) elif source_representation.ndim == 2 and test_representation.ndim == 2: diff = ( source_representation[None, :, :] - test_representation[:, None, :] ) # (N, D) - (M, D) = (M, N, D) distances = np.linalg.norm(diff, axis=2) # (M, N) return cast(NDArray[Any], distances) else: raise ValueError( f"Embeddings must be 1D or 2D, but received " f"source shape: {source_representation.shape}, test shape: {test_representation.shape}" ) def l2_normalize( x: Union[NDArray[Any], List[float], List[List[float]]], axis: Union[int, None] = None, epsilon: float = 1e-10, ) -> NDArray[Any]: """ Normalize input vector with l2 Args: x (np.ndarray or list): given vector axis (int): axis along which to normalize Returns: np.ndarray: l2 normalized vector """ # Convert inputs to numpy arrays if necessary x = np.asarray(x) norm = np.linalg.norm(x, axis=axis, keepdims=True) return cast(NDArray[Any], x / (norm + epsilon)) def find_distance( alpha_embedding: Union[NDArray[Any], List[float]], beta_embedding: Union[NDArray[Any], List[float]], distance_metric: str, ) -> Union[np.float64, NDArray[Any]]: """ Wrapper to find the distance between vectors based on the specified distance metric. Args: alpha_embedding (np.ndarray or list): 1st vector or batch of vectors. beta_embedding (np.ndarray or list): 2nd vector or batch of vectors. distance_metric (str): The type of distance to compute ('cosine', 'euclidean', 'euclidean_l2', or 'angular'). Returns: np.float64 or np.ndarray: The calculated distance(s). """ # Convert inputs to numpy arrays if necessary alpha_embedding = np.asarray(alpha_embedding) beta_embedding = np.asarray(beta_embedding) # Ensure that both embeddings are either 1D or 2D if alpha_embedding.ndim != beta_embedding.ndim or alpha_embedding.ndim not in (1, 2): raise ValueError( f"Both embeddings must be either 1D or 2D, but received " f"alpha shape: {alpha_embedding.shape}, beta shape: {beta_embedding.shape}" ) if distance_metric == "cosine": distance = find_cosine_distance(alpha_embedding, beta_embedding) elif distance_metric == "angular": distance = find_angular_distance(alpha_embedding, beta_embedding) elif distance_metric == "euclidean": distance = find_euclidean_distance(alpha_embedding, beta_embedding) elif distance_metric == "euclidean_l2": axis = None if alpha_embedding.ndim == 1 else 1 normalized_alpha = l2_normalize(alpha_embedding, axis=axis) normalized_beta = l2_normalize(beta_embedding, axis=axis) distance = find_euclidean_distance(normalized_alpha, normalized_beta) else: raise ValueError("Invalid distance_metric passed - ", distance_metric) return np.round(distance, 6) def find_threshold(model_name: str, distance_metric: str) -> float: """ Retrieve pre-tuned threshold values for a model and distance metric pair Args: model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). distance_metric (str): distance metric name. Options are cosine, euclidean euclidean_l2 and angular. Returns: threshold (float): threshold value for that model name and distance metric pair. Distances less than this threshold will be classified same person. """ if thresholds.get(model_name) is None: raise ValueError(f"Model {model_name} is not supported. ") threshold = thresholds.get(model_name, {}).get(distance_metric) if threshold is None: raise ValueError( f"Distance metric {distance_metric} is not available for model {model_name}. " ) return threshold def __sigmoid(z: float) -> float: """ Compute a numerically stable sigmoid-based confidence score. This implementation avoids floating-point overflow errors that can occur when computing the standard sigmoid function (1 / (1 + exp(-z))) for very large positive or negative values of `z`. The computation is split based on the sign of `z` to ensure numerical stability while preserving mathematical equivalence. Args: z (float): Input value. Returns: float: Sigmoid output scaled to the range [0, 1]. """ if z >= 0: return 1 / (1 + math.exp(-z)) else: ez = math.exp(z) return 1 * ez / (1 + ez) def find_confidence( distance: float, model_name: str, distance_metric: str, verified: bool ) -> float: """ Using pre-built logistic regression model, find confidence value from distance. The confidence score provides a probalistic estimate, indicating how likely the classification is correct, thus giving softer, more informative measure of certainty than a simple binary classification. Configuration values are calculated in experiments/distance-to-confidence.ipynb Args: model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512, OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face). distance_metric (str): distance metric name. Options are cosine, euclidean euclidean_l2 and angular. verified (bool): True if the images are classified as same person, False if different persons. Returns: confidence (float): confidence value being same person for that model name and distance metric pair. Same person classifications confidence should be distributed between 51-100% and different person classifications confidence should be distributed between 0-49%. The higher the confidence, the more certain the model is about the classification. """ if distance <= 0: return 100.0 if verified else 0.0 if confidences.get(model_name) is None: return 51 if verified else 49 config = confidences[model_name].get(distance_metric) if config is None: return 51 if verified else 49 w = config["w"] b = config["b"] normalizer = config["normalizer"] denorm_max_true = config["denorm_max_true"] denorm_min_true = config["denorm_min_true"] denorm_max_false = config["denorm_max_false"] denorm_min_false = config["denorm_min_false"] if normalizer > 1: distance = distance / normalizer z = w * distance + b confidence = 100 * __sigmoid(z) # re-distribute the confidence between 0-49 for different persons, 51-100 for same persons if verified: min_original = denorm_min_true max_original = denorm_max_true min_target = max(51, min_original) max_target = 100 else: min_original = denorm_min_false max_original = denorm_max_false min_target = 0 max_target = min(49, int(max_original)) confidence_distributed = ((confidence - min_original) / (max_original - min_original)) * ( max_target - min_target ) + min_target # ensure confidence is within 51-100 for same persons and 0-49 for different persons if verified and confidence_distributed < 51: confidence_distributed = 51 elif not verified and confidence_distributed > 49: confidence_distributed = 49 # ensure confidence is within 0-100 if confidence_distributed < 0: confidence_distributed = 0 elif confidence_distributed > 100: confidence_distributed = 100 return round(confidence_distributed, 2) ================================================ FILE: docker/docker-compose.yml ================================================ services: postgres: image: postgres:15 container_name: postgres restart: unless-stopped environment: POSTGRES_DB: deepface POSTGRES_USER: deepface_user POSTGRES_PASSWORD: deepface_pass # network_mode: "host" ports: - "5433:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./postgres-init:/docker-entrypoint-initdb.d pgvector: image: pgvector/pgvector:pg15 container_name: postgres restart: unless-stopped environment: POSTGRES_DB: deepface POSTGRES_USER: deepface_user POSTGRES_PASSWORD: deepface_pass ports: - "5434:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./pgvector-init:/docker-entrypoint-initdb.d weaviate: image: semitechnologies/weaviate:latest ports: - "8080:8080" # REST API / GraphQL Playground environment: AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true" DEFAULT_VECTORIZER_MODULE: "none" ENABLE_MODULES: "" PERSISTENCE_DATA_PATH: "./data" volumes: - ./weaviate_data:/var/lib/weaviate volumes: postgres_data: ================================================ FILE: docker/integration.sh ================================================ docker-compose up # docker exec -it postgres psql -U deepface_user -d deepface # \dt ================================================ FILE: docker/pgvector-init/01_pgvector.sql ================================================ CREATE EXTENSION IF NOT EXISTS vector; ================================================ FILE: docker/postgres-init/001_create_table.sql ================================================ DROP TABLE IF EXISTS embeddings; CREATE TABLE IF NOT EXISTS embeddings ( id SERIAL PRIMARY KEY, img_name TEXT NOT NULL, face BYTEA NOT NULL, face_shape INT[] NOT NULL, model_name TEXT NOT NULL, detector_backend TEXT NOT NULL, aligned BOOLEAN DEFAULT true, l2_normalized BOOLEAN DEFAULT false, embedding FLOAT8[] NOT NULL, created_at TIMESTAMPTZ DEFAULT now(), face_hash TEXT NOT NULL, embedding_hash TEXT NOT NULL, UNIQUE (face_hash, embedding_hash) ); CREATE TABLE IF NOT EXISTS embeddings_index ( id SERIAL PRIMARY KEY, model_name TEXT, detector_backend TEXT, align BOOL, l2_normalized BOOL, index_data BYTEA, created_at TIMESTAMPTZ DEFAULT now(), updated_at TIMESTAMPTZ DEFAULT now(), UNIQUE (model_name, detector_backend, align, l2_normalized) ); ================================================ FILE: entrypoint.sh ================================================ # Example content echo "Starting the application..." exec "$@" gunicorn --workers=1 --timeout=7200 --bind=0.0.0.0:5000 --log-level=debug --access-logformat='%(h)s - - [%(t)s] "%(r)s" %(s)s %(b)s %(L)s' --access-logfile=- "app:create_app()" ================================================ FILE: experiments/distance-to-confidence.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Distance to Confidence\n", "\n", "DeepFace performs a hard classification by clearly separating same person and different persons based on the pre-tuned threshold.\n", "\n", "This notebook builds a logistic regression model to convert calculated distances to probalistic estimate, indicating how likely the classification is correct, thus giving a softer, more informative measure of certainy." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# built-in dependencies\n", "import itertools\n", "import math\n", "\n", "# 3rd party dependencies\n", "import pandas as pd\n", "from deepface import DeepFace\n", "from deepface.modules.verification import find_distance, find_threshold\n", "from tqdm import tqdm\n", "from sklearn.linear_model import LogisticRegression\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "detector_backend = \"mtcnn\" # a robust one\n", "\n", "model_names = [\n", " \"VGG-Face\", \"Facenet\", \"Facenet512\", \"ArcFace\", \"GhostFaceNet\",\n", " \"Dlib\", \"SFace\", \"OpenFace\", \"DeepFace\", \"DeepID\", \"Buffalo_L\"\n", "]\n", "\n", "distance_metrics = [\n", " \"cosine\", \"euclidean\", \"euclidean_l2\", \"angular\",\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Configurations" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "pd.set_option('display.max_rows', None)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "model_name = model_names[1]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running an experiment for Facenet & mtcnn...\n" ] } ], "source": [ "print(f\"Running an experiment for {model_name} & {detector_backend}...\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# build models in advance\n", "model = DeepFace.build_model(model_name)\n", "detector = DeepFace.build_model(task=\"face_detector\", model_name=detector_backend)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Prepare Dataset" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "idendities = {\n", " \"Angelina\": [\"img1.jpg\", \"img2.jpg\", \"img4.jpg\"\n", " , \"img5.jpg\", \"img6.jpg\", \"img7.jpg\", \"img10.jpg\", \"img11.jpg\"],\n", " \"Scarlett\": [\"img8.jpg\", \"img9.jpg\"],\n", " \"Jennifer\": [\"img3.jpg\", \"img12.jpg\"],\n", " \"Mark\": [\"img13.jpg\", \"img14.jpg\", \"img15.jpg\"],\n", " \"Jack\": [\"img16.jpg\", \"img17.jpg\"],\n", " \"Elon\": [\"img18.jpg\", \"img19.jpg\"],\n", " \"Jeff\": [\"img20.jpg\", \"img21.jpg\"],\n", " \"Marissa\": [\"img22.jpg\", \"img23.jpg\"],\n", " \"Sundar\": [\"img24.jpg\", \"img25.jpg\"]\n", "}" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "positives = []\n", "for key, values in idendities.items():\n", " for i in range(0, len(values)-1):\n", " for j in range(i+1, len(values)):\n", " positive = []\n", " positive.append(values[i])\n", " positive.append(values[j])\n", " positives.append(positive)\n", " \n", "positives = pd.DataFrame(positives, columns = [\"file_x\", \"file_y\"])\n", "positives[\"actual\"] = \"Same Person\"" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "samples_list = list(idendities.values())\n", " \n", "negatives = []\n", "for i in range(0, len(idendities) - 1):\n", " for j in range(i+1, len(idendities)):\n", " cross_product = itertools.product(samples_list[i], samples_list[j])\n", " cross_product = list(cross_product)\n", " \n", " for cross_sample in cross_product:\n", " negative = []\n", " negative.append(cross_sample[0])\n", " negative.append(cross_sample[1])\n", " negatives.append(negative)\n", " \n", "negatives = pd.DataFrame(negatives, columns = [\"file_x\", \"file_y\"])\n", "negatives[\"actual\"] = \"Different Persons\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "df = pd.concat([positives, negatives]).reset_index(drop = True)\n", " \n", "df.file_x = \"../tests/dataset/\"+df.file_x\n", "df.file_y = \"../tests/dataset/\"+df.file_y" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_xfile_yactual
0dataset/img1.jpgdataset/img2.jpgSame Person
1dataset/img1.jpgdataset/img4.jpgSame Person
2dataset/img1.jpgdataset/img5.jpgSame Person
3dataset/img1.jpgdataset/img6.jpgSame Person
4dataset/img1.jpgdataset/img7.jpgSame Person
\n", "
" ], "text/plain": [ " file_x file_y actual\n", "0 dataset/img1.jpg dataset/img2.jpg Same Person\n", "1 dataset/img1.jpg dataset/img4.jpg Same Person\n", "2 dataset/img1.jpg dataset/img5.jpg Same Person\n", "3 dataset/img1.jpg dataset/img6.jpg Same Person\n", "4 dataset/img1.jpg dataset/img7.jpg Same Person" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(300, 3)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Generate Embeddings" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "pivot = {}\n", "def represent(img_name: str):\n", " if pivot.get(img_name) is None:\n", " embedding_objs = DeepFace.represent(img_path=img_name, model_name=model_name, detector_backend=detector_backend)\n", "\n", " if len(embedding_objs) > 1:\n", " raise ValueError(f\"{img_name} has more than one face!\")\n", " \n", " pivot[img_name] = [embedding_obj[\"embedding\"] for embedding_obj in embedding_objs]\n", " return pivot[img_name]\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 300/300 [00:57<00:00, 5.24it/s]\n" ] } ], "source": [ "img1_embeddings = []\n", "img2_embeddings = []\n", "for index, instance in tqdm(df.iterrows(), total=df.shape[0]):\n", " img1_embeddings = img1_embeddings + represent(instance[\"file_x\"])\n", " img2_embeddings = img2_embeddings + represent(instance[\"file_y\"])\n", "\n", "df[\"img1_embeddings\"] = img1_embeddings\n", "df[\"img2_embeddings\"] = img2_embeddings" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_xfile_yactualimg1_embeddingsimg2_embeddings
0dataset/img1.jpgdataset/img2.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[0.2710142731666565, 0.6065636873245239, 0.926...
1dataset/img1.jpgdataset/img4.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.08416734635829926, 0.17612755298614502, 1....
2dataset/img1.jpgdataset/img5.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-1.072468876838684, 0.48678186535835266, 1.18...
3dataset/img1.jpgdataset/img6.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.1698027402162552, 1.0826836824417114, 1.52...
4dataset/img1.jpgdataset/img7.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.4807380735874176, 1.4791054725646973, 1.52...
\n", "
" ], "text/plain": [ " file_x file_y actual \\\n", "0 dataset/img1.jpg dataset/img2.jpg Same Person \n", "1 dataset/img1.jpg dataset/img4.jpg Same Person \n", "2 dataset/img1.jpg dataset/img5.jpg Same Person \n", "3 dataset/img1.jpg dataset/img6.jpg Same Person \n", "4 dataset/img1.jpg dataset/img7.jpg Same Person \n", "\n", " img1_embeddings \\\n", "0 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "1 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "2 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "3 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "4 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "\n", " img2_embeddings \n", "0 [0.2710142731666565, 0.6065636873245239, 0.926... \n", "1 [-0.08416734635829926, 0.17612755298614502, 1.... \n", "2 [-1.072468876838684, 0.48678186535835266, 1.18... \n", "3 [-0.1698027402162552, 1.0826836824417114, 1.52... \n", "4 [-0.4807380735874176, 1.4791054725646973, 1.52... " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Distance Calculation From Embeddings" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 300/300 [00:00<00:00, 4605.25it/s]\n", "100%|██████████| 300/300 [00:00<00:00, 13119.64it/s]\n", "100%|██████████| 300/300 [00:00<00:00, 9297.74it/s]\n", "100%|██████████| 300/300 [00:00<00:00, 12523.55it/s]\n" ] } ], "source": [ "for distance_metric in distance_metrics:\n", " distances = []\n", " for index, instance in tqdm(df.iterrows(), total=df.shape[0]):\n", " img1_embeddings = instance[\"img1_embeddings\"]\n", " img2_embeddings = instance[\"img2_embeddings\"]\n", "\n", " distance = find_distance(\n", " alpha_embedding=img1_embeddings,\n", " beta_embedding=img2_embeddings,\n", " distance_metric=distance_metric\n", " )\n", " distances.append(distance)\n", " \n", " df[distance_metric] = distances" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_xfile_yactualimg1_embeddingsimg2_embeddingscosineeuclideaneuclidean_l2angular
0dataset/img1.jpgdataset/img2.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[0.2710142731666565, 0.6065636873245239, 0.926...0.2203047.7760610.6637830.215374
1dataset/img1.jpgdataset/img4.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.08416734635829926, 0.17612755298614502, 1....0.2492568.2898970.7060530.229695
2dataset/img1.jpgdataset/img5.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-1.072468876838684, 0.48678186535835266, 1.18...0.2912918.8653970.7632710.249278
3dataset/img1.jpgdataset/img6.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.1698027402162552, 1.0826836824417114, 1.52...0.2199167.8525900.6631980.215176
4dataset/img1.jpgdataset/img7.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.4807380735874176, 1.4791054725646973, 1.52...0.1843137.1799510.6071460.196359
\n", "
" ], "text/plain": [ " file_x file_y actual \\\n", "0 dataset/img1.jpg dataset/img2.jpg Same Person \n", "1 dataset/img1.jpg dataset/img4.jpg Same Person \n", "2 dataset/img1.jpg dataset/img5.jpg Same Person \n", "3 dataset/img1.jpg dataset/img6.jpg Same Person \n", "4 dataset/img1.jpg dataset/img7.jpg Same Person \n", "\n", " img1_embeddings \\\n", "0 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "1 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "2 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "3 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "4 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "\n", " img2_embeddings cosine euclidean \\\n", "0 [0.2710142731666565, 0.6065636873245239, 0.926... 0.220304 7.776061 \n", "1 [-0.08416734635829926, 0.17612755298614502, 1.... 0.249256 8.289897 \n", "2 [-1.072468876838684, 0.48678186535835266, 1.18... 0.291291 8.865397 \n", "3 [-0.1698027402162552, 1.0826836824417114, 1.52... 0.219916 7.852590 \n", "4 [-0.4807380735874176, 1.4791054725646973, 1.52... 0.184313 7.179951 \n", "\n", " euclidean_l2 angular \n", "0 0.663783 0.215374 \n", "1 0.706053 0.229695 \n", "2 0.763271 0.249278 \n", "3 0.663198 0.215176 \n", "4 0.607146 0.196359 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "df_backup = df.copy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Distance To Classification" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "df = df_backup.copy()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "for distance_metric in distance_metrics:\n", " threshold = find_threshold(model_name=model_name, distance_metric=distance_metric)\n", " df[f\"{distance_metric}_threshold\"] = threshold\n", " df[f\"{distance_metric}_decision\"] = 0\n", " idx = df[df[distance_metric] <= threshold].index\n", " df.loc[idx, f\"{distance_metric}_decision\"] = 1" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_xfile_yactualimg1_embeddingsimg2_embeddingscosineeuclideaneuclidean_l2angularcosine_thresholdcosine_decisioneuclidean_thresholdeuclidean_decisioneuclidean_l2_thresholdeuclidean_l2_decisionangular_thresholdangular_decision
0dataset/img1.jpgdataset/img2.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[0.2710142731666565, 0.6065636873245239, 0.926...0.2203047.7760610.6637830.2153740.411010.810.331
1dataset/img1.jpgdataset/img4.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.08416734635829926, 0.17612755298614502, 1....0.2492568.2898970.7060530.2296950.411010.810.331
2dataset/img1.jpgdataset/img5.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-1.072468876838684, 0.48678186535835266, 1.18...0.2912918.8653970.7632710.2492780.411010.810.331
3dataset/img1.jpgdataset/img6.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.1698027402162552, 1.0826836824417114, 1.52...0.2199167.8525900.6631980.2151760.411010.810.331
4dataset/img1.jpgdataset/img7.jpgSame Person[0.64044189453125, 0.6990252733230591, 2.09229...[-0.4807380735874176, 1.4791054725646973, 1.52...0.1843137.1799510.6071460.1963590.411010.810.331
\n", "
" ], "text/plain": [ " file_x file_y actual \\\n", "0 dataset/img1.jpg dataset/img2.jpg Same Person \n", "1 dataset/img1.jpg dataset/img4.jpg Same Person \n", "2 dataset/img1.jpg dataset/img5.jpg Same Person \n", "3 dataset/img1.jpg dataset/img6.jpg Same Person \n", "4 dataset/img1.jpg dataset/img7.jpg Same Person \n", "\n", " img1_embeddings \\\n", "0 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "1 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "2 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "3 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "4 [0.64044189453125, 0.6990252733230591, 2.09229... \n", "\n", " img2_embeddings cosine euclidean \\\n", "0 [0.2710142731666565, 0.6065636873245239, 0.926... 0.220304 7.776061 \n", "1 [-0.08416734635829926, 0.17612755298614502, 1.... 0.249256 8.289897 \n", "2 [-1.072468876838684, 0.48678186535835266, 1.18... 0.291291 8.865397 \n", "3 [-0.1698027402162552, 1.0826836824417114, 1.52... 0.219916 7.852590 \n", "4 [-0.4807380735874176, 1.4791054725646973, 1.52... 0.184313 7.179951 \n", "\n", " euclidean_l2 angular cosine_threshold cosine_decision \\\n", "0 0.663783 0.215374 0.4 1 \n", "1 0.706053 0.229695 0.4 1 \n", "2 0.763271 0.249278 0.4 1 \n", "3 0.663198 0.215176 0.4 1 \n", "4 0.607146 0.196359 0.4 1 \n", "\n", " euclidean_threshold euclidean_decision euclidean_l2_threshold \\\n", "0 10 1 0.8 \n", "1 10 1 0.8 \n", "2 10 1 0.8 \n", "3 10 1 0.8 \n", "4 10 1 0.8 \n", "\n", " euclidean_l2_decision angular_threshold angular_decision \n", "0 1 0.33 1 \n", "1 1 0.33 1 \n", "2 1 0.33 1 \n", "3 1 0.33 1 \n", "4 1 0.33 1 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Confidence Score Calculation" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "confidence_metrics = {}\n", "\n", "for distance_metric in distance_metrics:\n", " max_value = df[distance_metric].max()\n", "\n", " X = df[distance_metric].values.reshape(-1, 1)\n", "\n", " # normalize the distance values before feeding them to the model\n", " if max_value > 1:\n", " X = X / max_value\n", "\n", " y = df[f\"{distance_metric}_decision\"].values\n", "\n", " model = LogisticRegression().fit(X, y)\n", "\n", " w = model.coef_[0][0]\n", " b = model.intercept_[0]\n", "\n", " confidence_metrics[distance_metric] = {\n", " \"w\": w,\n", " \"b\": b,\n", " \"normalizer\": max_value,\n", " }\n", "\n", " confidences =[]\n", " for index, instance in df.iterrows():\n", " distance = instance[distance_metric]\n", "\n", " if max_value > 1:\n", " distance = distance / max_value\n", "\n", " z = w * distance + b\n", " confidence = 100 / (1 + math.exp(-z))\n", "\n", " confidences.append(confidence)\n", " \n", " df[distance_metric + \"_confidence\"] = confidences\n", "\n", " confidence_metrics[distance_metric][\"denorm_max_true\"] = df[df[f\"{distance_metric}_decision\"] == 1][distance_metric + \"_confidence\"].max()\n", " confidence_metrics[distance_metric][\"denorm_min_true\"] = df[df[f\"{distance_metric}_decision\"] == 1][distance_metric + \"_confidence\"].min()\n", "\n", " confidence_metrics[distance_metric][\"denorm_max_false\"] = df[df[f\"{distance_metric}_decision\"] == 0][distance_metric + \"_confidence\"].max()\n", " confidence_metrics[distance_metric][\"denorm_min_false\"] = df[df[f\"{distance_metric}_decision\"] == 0][distance_metric + \"_confidence\"].min()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'cosine': {'w': -6.502269165856082,\n", " 'b': 1.679048923097668,\n", " 'normalizer': 1.206694,\n", " 'denorm_max_true': 77.17253153662926,\n", " 'denorm_min_true': 41.790002608273234,\n", " 'denorm_max_false': 20.618350202170916,\n", " 'denorm_min_false': 0.7976712344840693},\n", " 'euclidean': {'w': -6.716177467853723,\n", " 'b': 2.790978346203265,\n", " 'normalizer': 18.735288,\n", " 'denorm_max_true': 74.76412617567517,\n", " 'denorm_min_true': 40.4423755909089,\n", " 'denorm_max_false': 25.840858374979504,\n", " 'denorm_min_false': 1.9356150486888306},\n", " 'euclidean_l2': {'w': -6.708710331202137,\n", " 'b': 2.9094193067398195,\n", " 'normalizer': 1.553508,\n", " 'denorm_max_true': 75.45756719896039,\n", " 'denorm_min_true': 40.4509428022908,\n", " 'denorm_max_false': 30.555931000001184,\n", " 'denorm_min_false': 2.189644991619842},\n", " 'angular': {'w': -6.371147050396505,\n", " 'b': 0.6766460615182355,\n", " 'normalizer': 0.56627,\n", " 'denorm_max_true': 45.802357900723386,\n", " 'denorm_min_true': 24.327312950719133,\n", " 'denorm_max_false': 16.95267765757785,\n", " 'denorm_min_false': 5.063533287198758}}" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "confidence_metrics" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# denormalize confidence scores\n", "for distance_metric in distance_metrics:\n", " for index, instance in df.iterrows():\n", " current_distance = instance[distance_metric]\n", " threshold = find_threshold(model_name=model_name, distance_metric=distance_metric)\n", "\n", " prediction = \"same person\" if current_distance <= threshold else \"different persons\"\n", "\n", " # denormalize same person predictions\n", " if prediction == \"same person\":\n", " min_orginal = confidence_metrics[distance_metric][\"denorm_min_true\"]\n", " max_orginal = confidence_metrics[distance_metric][\"denorm_max_true\"]\n", " min_target = max(51, min_orginal)\n", " max_target = 100\n", " else:\n", " min_orginal = confidence_metrics[distance_metric][\"denorm_min_false\"]\n", " max_orginal = confidence_metrics[distance_metric][\"denorm_max_false\"]\n", " min_target = 0\n", " max_target = min(49, max_orginal)\n", "\n", " confidence = instance[f\"{distance_metric}_confidence\"]\n", "\n", " confidence_new = (\n", " (confidence - min_orginal) / (max_orginal - min_orginal)\n", " ) * (max_target - min_target) + min_target\n", " \n", " confidence_new = float(confidence_new)\n", "\n", " # print(f\"{prediction}: {confidence} -> {confidence_new}\")\n", "\n", " df.loc[index, f\"{distance_metric}_confidence\"] = confidence_new" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Results" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_xfile_yactualcosineeuclideaneuclidean_l2angularcosine_confidenceeuclidean_confidenceeuclidean_l2_confidenceangular_confidence
0dataset/img1.jpgdataset/img2.jpgSame Person0.2203047.7760610.6637830.21537479.06615464.76773965.86787571.428257
1dataset/img1.jpgdataset/img4.jpgSame Person0.2492568.2898970.7060530.22969573.89212558.21089759.48833966.878140
2dataset/img1.jpgdataset/img5.jpgSame Person0.2912918.8653970.7632710.24927866.15452051.00000051.00000060.905288
3dataset/img1.jpgdataset/img6.jpgSame Person0.2199167.8525900.6631980.21517679.13431263.78861865.95623471.492183
4dataset/img1.jpgdataset/img7.jpgSame Person0.1843137.1799510.6071460.19635985.22684272.36445574.35814877.685211
5dataset/img1.jpgdataset/img10.jpgSame Person0.2439408.2787020.6984830.22712274.85405058.35299460.62793067.684707
6dataset/img1.jpgdataset/img11.jpgSame Person0.2362108.2142060.6873290.22333776.24384959.17258562.31051168.880036
7dataset/img2.jpgdataset/img4.jpgSame Person0.1803576.8226830.6005940.19417285.88211876.84496975.32606178.419335
8dataset/img2.jpgdataset/img5.jpgSame Person0.1759506.6519770.5932110.19170986.60652978.95361276.41159179.249453
9dataset/img2.jpgdataset/img6.jpgSame Person0.0855474.7559670.4136350.132621100.000000100.000000100.000000100.000000
\n", "
" ], "text/plain": [ " file_x file_y actual cosine euclidean \\\n", "0 dataset/img1.jpg dataset/img2.jpg Same Person 0.220304 7.776061 \n", "1 dataset/img1.jpg dataset/img4.jpg Same Person 0.249256 8.289897 \n", "2 dataset/img1.jpg dataset/img5.jpg Same Person 0.291291 8.865397 \n", "3 dataset/img1.jpg dataset/img6.jpg Same Person 0.219916 7.852590 \n", "4 dataset/img1.jpg dataset/img7.jpg Same Person 0.184313 7.179951 \n", "5 dataset/img1.jpg dataset/img10.jpg Same Person 0.243940 8.278702 \n", "6 dataset/img1.jpg dataset/img11.jpg Same Person 0.236210 8.214206 \n", "7 dataset/img2.jpg dataset/img4.jpg Same Person 0.180357 6.822683 \n", "8 dataset/img2.jpg dataset/img5.jpg Same Person 0.175950 6.651977 \n", "9 dataset/img2.jpg dataset/img6.jpg Same Person 0.085547 4.755967 \n", "\n", " euclidean_l2 angular cosine_confidence euclidean_confidence \\\n", "0 0.663783 0.215374 79.066154 64.767739 \n", "1 0.706053 0.229695 73.892125 58.210897 \n", "2 0.763271 0.249278 66.154520 51.000000 \n", "3 0.663198 0.215176 79.134312 63.788618 \n", "4 0.607146 0.196359 85.226842 72.364455 \n", "5 0.698483 0.227122 74.854050 58.352994 \n", "6 0.687329 0.223337 76.243849 59.172585 \n", "7 0.600594 0.194172 85.882118 76.844969 \n", "8 0.593211 0.191709 86.606529 78.953612 \n", "9 0.413635 0.132621 100.000000 100.000000 \n", "\n", " euclidean_l2_confidence angular_confidence \n", "0 65.867875 71.428257 \n", "1 59.488339 66.878140 \n", "2 51.000000 60.905288 \n", "3 65.956234 71.492183 \n", "4 74.358148 77.685211 \n", "5 60.627930 67.684707 \n", "6 62.310511 68.880036 \n", "7 75.326061 78.419335 \n", "8 76.411591 79.249453 \n", "9 100.000000 100.000000 " ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df[\"actual\"] == \"Same Person\"][[\n", " \"file_x\",\n", " \"file_y\",\n", " \"actual\",\n", " \"cosine\",\n", " \"euclidean\",\n", " \"euclidean_l2\",\n", " \"angular\",\n", " \"cosine_confidence\",\n", " \"euclidean_confidence\",\n", " \"euclidean_l2_confidence\",\n", " \"angular_confidence\",\n", "]].head(10)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_xfile_yactualcosineeuclideaneuclidean_l2angularcosine_confidenceeuclidean_confidenceeuclidean_l2_confidenceangular_confidence
38dataset/img1.jpgdataset/img8.jpgDifferent Persons0.91268415.9713801.3510620.4721713.0946613.3642863.1274065.404447
39dataset/img1.jpgdataset/img9.jpgDifferent Persons0.97164216.5358081.3940170.4909722.0561602.4063472.2381994.092357
40dataset/img2.jpgdataset/img8.jpgDifferent Persons0.71817113.7443421.1984750.4090599.6328369.3271667.76361010.860674
41dataset/img2.jpgdataset/img9.jpgDifferent Persons0.78458114.4187121.2526620.4308886.7136877.0830395.8118858.776472
42dataset/img4.jpgdataset/img8.jpgDifferent Persons0.75315014.1232691.2273140.4206057.9878528.0123036.6777619.730812
43dataset/img4.jpgdataset/img9.jpgDifferent Persons0.82977314.8785021.2882340.4455505.1774425.7904474.7249257.497093
44dataset/img5.jpgdataset/img8.jpgDifferent Persons0.72113313.6432711.2009430.4100419.4835959.7025287.66628810.762127
45dataset/img5.jpgdataset/img9.jpgDifferent Persons0.72979613.7771851.2081360.4129099.0579359.2074797.38741610.476942
46dataset/img6.jpgdataset/img8.jpgDifferent Persons0.71741713.9212461.1978460.4088099.6711318.6954987.78854910.885836
47dataset/img6.jpgdataset/img9.jpgDifferent Persons0.74112914.2001271.2174810.4166508.5248567.7627377.03555410.110791
\n", "
" ], "text/plain": [ " file_x file_y actual cosine \\\n", "38 dataset/img1.jpg dataset/img8.jpg Different Persons 0.912684 \n", "39 dataset/img1.jpg dataset/img9.jpg Different Persons 0.971642 \n", "40 dataset/img2.jpg dataset/img8.jpg Different Persons 0.718171 \n", "41 dataset/img2.jpg dataset/img9.jpg Different Persons 0.784581 \n", "42 dataset/img4.jpg dataset/img8.jpg Different Persons 0.753150 \n", "43 dataset/img4.jpg dataset/img9.jpg Different Persons 0.829773 \n", "44 dataset/img5.jpg dataset/img8.jpg Different Persons 0.721133 \n", "45 dataset/img5.jpg dataset/img9.jpg Different Persons 0.729796 \n", "46 dataset/img6.jpg dataset/img8.jpg Different Persons 0.717417 \n", "47 dataset/img6.jpg dataset/img9.jpg Different Persons 0.741129 \n", "\n", " euclidean euclidean_l2 angular cosine_confidence \\\n", "38 15.971380 1.351062 0.472171 3.094661 \n", "39 16.535808 1.394017 0.490972 2.056160 \n", "40 13.744342 1.198475 0.409059 9.632836 \n", "41 14.418712 1.252662 0.430888 6.713687 \n", "42 14.123269 1.227314 0.420605 7.987852 \n", "43 14.878502 1.288234 0.445550 5.177442 \n", "44 13.643271 1.200943 0.410041 9.483595 \n", "45 13.777185 1.208136 0.412909 9.057935 \n", "46 13.921246 1.197846 0.408809 9.671131 \n", "47 14.200127 1.217481 0.416650 8.524856 \n", "\n", " euclidean_confidence euclidean_l2_confidence angular_confidence \n", "38 3.364286 3.127406 5.404447 \n", "39 2.406347 2.238199 4.092357 \n", "40 9.327166 7.763610 10.860674 \n", "41 7.083039 5.811885 8.776472 \n", "42 8.012303 6.677761 9.730812 \n", "43 5.790447 4.724925 7.497093 \n", "44 9.702528 7.666288 10.762127 \n", "45 9.207479 7.387416 10.476942 \n", "46 8.695498 7.788549 10.885836 \n", "47 7.762737 7.035554 10.110791 " ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df[\"actual\"] == \"Different Persons\"][[\n", " \"file_x\",\n", " \"file_y\",\n", " \"actual\",\n", " \"cosine\",\n", " \"euclidean\",\n", " \"euclidean_l2\",\n", " \"angular\",\n", " \"cosine_confidence\",\n", " \"euclidean_confidence\",\n", " \"euclidean_l2_confidence\",\n", " \"angular_confidence\",\n", "]].head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We should see that same person classifications should be distributed between 51-100\n", "\n", "and different persons classification should be distributed between 0-49" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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RMRNVSogtW7dmo8//pjDhw/zv//9jxtvvBGA48ePa/JIT1HUegSaKFJEROqdSgWkKVOm8MgjjxATE0NsbCxxcXGAvTWpS5cu1VqguEjROmxQibvYznWxFeSAzVp9NYmIiNSSSs2kffvtt9O7d29SUlLo1KmTY/v111/PbbfdVm3FiQsVtSCZLGC2VOyzRS1IYA9JvkHVV5eIiEgtqFRAAoiMjCQyMtJpW8+ePatckNQRlZ0DCcC7AZjMYNjs45AUkERExM1UKiBlZ2czffp0kpKSOH78ODabzen9ffv2VUtx4kKVnUUbwGSyd7PlZWqgtoiIuKVKBaR77rmHr7/+mrvuuouoqCjHEiTiQarSggT2bra8TA3UFhERt1SpgPT555/z6aefcu2111Z3PVJXVHYW7SJabkRERNxYpe5ia9iwIY0aNaruWqQuqews2kU0F5KIiLixSgWkZ599lilTpjitxyYepjDX/lzpFiTNpi0iIu6rUl1sM2fOZO/evURERBATE4O3t7fT+5s3b66W4sSFirrYKt2CpPXYRETEfVUqIA0cOLCay5A6x1rJddiKqItNRETcWKUC0tSpU6u7DqlrqtyCpOVGRETEfVVqDBJAeno6b731FpMnT+b06dOAvWvt6NGj1VacuJBjkLZf5T6vMUgiIuLGKtWCtH37duLj4wkJCeHAgQOMGTOGRo0asXz5cg4dOsR7771X3XVKbStaaqQyE0WCuthERMStVaoFKTExkZEjR/Lrr7/i51fcwnDzzTfzzTffVFtx4kKFVW1BUkASERH3VamAtHHjRu67774S25s2bUpqamqFjzd37lxiYmLw8/MjNjaWDRs2lLn/smXLaNu2LX5+fnTo0IHPPvvM6X2TyVTq4+WXX3bsExMTU+L96dOnV7h2j1XVmbSL1l9TF5uIiLihSgUkX19fMjMzS2z/5ZdfaNKkSYWOtXTpUhITE5k6dSqbN2+mU6dOJCQkcPz48VL3X7duHUOHDmX06NFs2bKFgQMHMnDgQH766SfHPikpKU6Pd955B5PJxODBg52O9cwzzzjt9+CDD1aodo9WlbXYQC1IIiLi1ioVkG699VaeeeYZCgoKAHuLzaFDh5g0aVKJEHIps2bNYsyYMYwaNYp27doxf/58/P39eeedd0rd/5VXXqFfv35MnDiRq666imeffZauXbvy2muv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GOE439L+n/G0a/HYY4+RmZlJ27ZtsVgsWK1Wnn/+eYYNGwZQr67F+cpz3qmpqYSHhzu97+XlRaNGjTz62uTm5jJp0iSGDh1KcHAw4D7XQgFJpBRjx47lp59+4ttvv3V1KS5x+PBhHn74YVatWoWfn5+ry3Epm81G9+7deeGFFwDo0qULP/30E/Pnz2fEiBEurq52/fOf/2TRokUsXryYq6++mq1btzJ+/Hiio6Pr3bWQSysoKOCOO+7AMAzmzZvn6nIqTF1s4iQsLAyLxVLibqS0tDQiIyNdVFXtGjduHCtWrOCrr77isssuc2yPjIwkPz+f9PR0p/098dokJydz/PhxunbtipeXF15eXnz99dfMmTMHLy8vIiIi6s21iIqKol27dk7brrrqKg4dOgTgON/68P/MxIkTeeyxx7jzzjvp0KEDd911FxMmTGDatGlA/boW5yvPeUdGRpa40aWwsJDTp0975LUpCkcHDx5k1apVjtYjcJ9roYAkTnx8fOjWrRtJSUmObTabjaSkJOLi4lxYWc0zDINx48bx0UcfsXr1alq2bOn0frdu3fD29na6Nrt37+bQoUMed22uv/56fvzxR7Zu3ep4dO/enWHDhjle15drce2115aY7uGXX36hRYsWALRs2ZLIyEina5GZmckPP/zgcdciJycHs9n514bFYsFmswH161qcrzznHRcXR3p6OsnJyY59Vq9ejc1mIzY2ttZrrklF4ejXX3/lyy+/pHHjxk7vu821cPUocal7lixZYvj6+hoLFy40duzYYdx7771GaGiokZqa6urSatQDDzxghISEGGvWrDFSUlIcj5ycHMc+999/v9G8eXNj9erVxqZNm4y4uDgjLi7OhVXXnvPvYjOM+nMtNmzYYHh5eRnPP/+88euvvxqLFi0y/P39jQ8++MCxz/Tp043Q0FDjP//5j7F9+3ZjwIABRsuWLY2zZ8+6sPLqN2LECKNp06bGihUrjP379xvLly83wsLCjEcffdSxj6dei6ysLGPLli3Gli1bDMCYNWuWsWXLFsedWeU57379+hldunQxfvjhB+Pbb7812rRpYwwdOtRVp1RpZV2L/Px849ZbbzUuu+wyY+vWrU5/l+bl5TmO4Q7XQgFJSvXqq68azZs3N3x8fIyePXsa33//vatLqnFAqY8FCxY49jl79qzx17/+1WjYsKHh7+9v3HbbbUZKSorriq5FFwak+nQtPvnkE6N9+/aGr6+v0bZtW+ONN95wet9msxlPPvmkERERYfj6+hrXX3+9sXv3bhdVW3MyMzONhx9+2GjevLnh5+dntGrVyvj73//u9IvPU6/FV199VerfDyNGjDAMo3znferUKWPo0KFGYGCgERwcbIwaNcrIyspywdlUTVnXYv/+/Rf9u/Srr75yHMMdroXJMM6bAlVERERENAZJRERE5EIKSCIiIiIXUEASERERuYACkoiIiMgFFJBERERELqCAJCIiInIBBSQRERGRCyggiYiIiFxAAUlERETkAgpIIiIiIhdQQBIRERG5wP8DmMB7u18X6ZIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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w4SwsDDh1q1bItbccuPHjxeCgoKEbdu2CRcuXBC2bNki+Pj4CK+99pqxjK23ubCwUDhy5Ihw5MgRAYCwfPly4ciRI8YZW+a0b9CgQUL37t2FAwcOCL/99psQHh4ujBkzRqwm1epebS4vLxcef/xxoVWrVsLRo0dNfp+VlZUZr2FLba7tv3FVVWexCYL12ssAiar10UcfCa1btxYUCoXQq1cvYf/+/WJXyWoAVPtYu3atscytW7eEl19+WfDy8hKcnZ2FJ554QsjOzhav0lZWNUCyx/b++OOPQufOnQWlUil07NhR+M9//mNyXqfTCW+++abg5+cnKJVKYeDAgUJGRoZIta0/tVotTJ8+XWjdurXg6OgotGnTRvjnP/9p8kVp623etWtXtf/vjh8/XhAE89p348YNYcyYMYKrq6vg7u4uTJw4USgsLBShNea5V5svXLhQ4++zXbt2Ga9hS22u7b9xVdUFSNZqr0QQ7lhmlYiIiIg4BomIiIioKgZIRERERFUwQCIiIiKqggESERERURUMkIiIiIiqYIBEREREVAUDJCIiIqIqGCARERERVcEAiYiIiKgKBkhEREREVTBAIiIiIqqCARIRERFRFf8PaWjXaJjT4ysAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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Xnstb7zxxjk7yqempnL99dd7vp4xYwZBQUHs2bPHM161onPeFBsby7x586p0nfv7EBQURL9+/Vi2bFn9F9BkFI7MrmzLkW9Q+XMiIiYycuRIUlNTOXToEJ9++ilXXXUVDz30EDfeeCMlJSWe66KiovDz8/N8vX//foYNG0bHjh1p1arVec9VV1FRUe0qVEPPPfccqampbN26lYEDBzJu3Di+/fbbGt3LW3XwNoUjs/OMOQp0PUDdaiJiSn5+fkRFRdG2bVv69evH008/zUcffcSnn35abnhG2W41i8XCli1beO6557BYLDz77LMVngM4fPgwv/zlLwkPD6dly5aMHj2aQ4cOee47adIkxowZwwsvvEBMTAwXX3xxtd730ksvER0dTatWrXjggQcoLi4G4MorryQ5OZlHHnnE0ypUmZCQEKKioujatSsLFiwgICCAjz/+uFZ1ePXVV4mLi8Pf35/IyMhy434LCwuZMmUKbdq0wd/fn2HDhrFp0ybP62vWrMFisZCYmMiAAQMIDAxkyJAh7Nmzx3PN999/z1VXXUVISAihoaH079+fzZs3V/4HXo8UjszOPVvNJ+hMy5G61USkqgzD9R8qbzzqYMHaq6++mt69e7N8+fIKX09NTaVHjx48+uijpKam8thjj1V4rri4mBEjRhASEsK6dev45ptvCA4OZuTIkeVaVxITE9mzZw+rVq1ixYoVVX7fl19+yf79+/nyyy958803WbJkiSfQLV++nHbt2nlahFJTU6tcf7vdjo+PD0VFRTWuw+bNm5kyZQrPPfcce/bsYeXKlVxxxRWe6x9//HH+85//8Oabb5KUlESXLl0YMWIEp06dKleW3/3ud8yZM4fNmzdjt9u56667PK+NHz+edu3asWnTJrZs2cKTTz6Jj49PletZ17w+W03qWbmWI/eYI7UciUgVFefDn2K889lPHzvzn7pa6NatG9u3b6/wtaioKOx2O8HBwZ6FgoODg8859/bbb+N0Onn99dc9LTeLFy8mPDycNWvWcN111wEQFBTE66+/jq+vb7Xe16JFC1555RVsNhvdunVj1KhRJCYmMnnyZFq2bInNZvO0CFVVUVERc+bMISsri6uvvpqlS5fWqA7Lly8nKCiIG2+8kZCQEDp27Ejfvn0ByMvLY+HChSxZssQzjuu1115j1apV/OMf/2DatGme8rzwwgsMHz4cgCeffJJRo0ZRUFCAv78/KSkpTJs2jW7dugEQFxdX5XrWB7UcmZmjBJyuZtnys9U05khEmg/DMC7YFXUh33//Pfv27SMkJMSzrl7Lli0pKChg//79nut69erlCRXVeV+PHj2w2Wyer6Ojo8nIyKhRWZ944gmCg4MJDAxk9uzZzJo1i1GjRtW4Dtdeey0dO3akc+fO3HHHHbzzzjvk57t+j+zfv5/i4mKGDh3qud7Hx4dBgwaxa9eucuUqu5tFdLRrSyt3HadOncqvf/1rEhISmDVrVrnyeINajsyspODMc7ufutVEpPp8Al0tON767Dqwa9cuOnXqVKt75Obm0r9/f955551zXmvdurXneVBQ+Zauqr7v7C4ki8Vyziy7qpo2bRqTJk0iODiYyMhITzCsaR1CQkJISkpizZo1fP7550yfPp1nn3223LiiqihbR3eZ3HV89tln+dWvfsUnn3zCp59+yowZM3j//fe5+eabq/UZdUXhyMwcZWYZ2PzUrSYi1Wex1EnXlresXr2aHTt28Mgjj9TqPv369WPp0qW0adOmWvtv1vR9Z/P19cXhcFTp2oiICLp06VKnZbHb7SQkJJCQkMCMGTMIDw9n9erVjBgxAl9fX7755hs6duwIQHFxMZs2beLhhx+u1md07dqVrl278sgjj3D77bezePFir4UjdauZmbvlyGIDm/3MbDVN5RcREyosLCQtLY2jR4+SlJTEn/70J0aPHs2NN97IhAkTanXv8ePHExERwejRo1m3bh0HDx5kzZo1TJkyhSNHjtT5+84WGxvL2rVrOXr0KCdOnGjQOqxYsYL58+ezbds2kpOTeeutt3A6nVx88cUEBQVx3333MW3aNFauXMnOnTuZPHky+fn53H333VUq1+nTp3nwwQdZs2YNycnJfPPNN2zatIlLLrmkRvWsC2o5MrOSQtfRXrptiqdbTS1HImI+K1euJDo6GrvdTosWLejduzfz589n4sSJ5bahqonAwEDWrl3LE088wdixY8nJyaFt27Zcc801lbbC1PR9Z3vuuef4zW9+w0UXXURhYSFGDWby1bQs4eHhLF++nGeffZaCggLi4uJ477336NGjBwCzZs3C6XRyxx13kJOTw4ABA/jss89o0aJFlcpls9k4efIkEyZMID09nYiICMaOHcsf/vCHatexrliMmnyHTS47O5uwsDCysrJq1QzqdRm74dV4CGgBTxyC75fCB/dA5ythwkfeLp2INEIFBQUcPHiQTp06Nc/9KKXRq+zvaF39/la3mpk5zmo58ik9FhdUfL2IiIgoHJmau1vNVjol0z3zo+S0d8ojIiLSBCgcmdnZY47sajkSERG5EIUjM/OEI3fLUYDrWKyWIxERkfNRODKzc8YclYYjdauJiIicl8KRmbnXObL5uY7qVhORKtJEZmmsGuLvpsKRmZWUrpBtLw1Hnm41LQIpIhVz7+9Vdpd2kcbEva/b2Vuu1CUtAmlm7pajswdkGw5wFIOt/v5iiUjTZLfbCQwM5Pjx4/j4+NR68USRumIYBvn5+WRkZBAeHl5uo966pnBkZu691exnTeUH16BshSMROYvFYiE6OpqDBw+SnJzs7eKInCM8PJyoqKh6/QyFIzM7p+XID7AARulrTXj1bxGpN76+vsTFxalrTRodHx+fem0xclM4MjP3mCP3IpAWiysolZzWuCMRqZTVatX2IdJsqTPZzM5uOQJtISIiInIBCkdm5jhrEUjQFiIiIiIXoHBkZp6p/GVajrTWkYiISKUUjszs7EUgQWsdiYiIXIDCkZk5zloEEspsIaKWIxERkYooHJmZZ0B2mXDk6VbTmCMREZGKKByZ2dnbh0CZbjWFIxERkYooHJlZRWOO3C1H6lYTERGpkMKRmVU45qh0Kr9ajkRERCqkcGRmFY058lHLkYiISGUUjsysxL0IZNluNU3lFxERqYzCkZm5w1GF6xyp5UhERKQiCkdm5t4+xFZ2+xD3OkcacyQiIlIRhSMzc5S4jjafM+e0fYiIiEilFI7MzFnsOpYNR9o+REREpFIKR2bmnspfYbeaWo5EREQqonBkZu5uNav9zDltHyIiIlIphSMzq6xbTS1HIiIiFVI4MrOKutU0IFtERKRSCkdm5XSC4XQ9t1YwW01T+UVERCqkcGRW7i41AFuZMUee7UMKG7Y8IiIiTYTCkVm5u9TgrG4191R+tRyJiIhUROHIrBxlWo7Kdqtp41kREZFKKRyZlbN0Gj8WsNrOnNdUfhERkUopHJmVZ6aaD1gsZ867w5HhOLMOkoiIiHgoHJmVu1utbJcanFnnCDRjTUREpAIKR2blrGDTWTjTcgRa60hERKQCCkdmVbZbrSyLBWx+rudqORIRETmHwpFZna9bDbTWkYiISCUUjszqfN1qoLWOREREKqFwZFbn61YDsLu71TTmSERE5GwKR2ZVabeaWo5ERETOR+HIrNx7q1XYcqQxRyIiIuejcGRWjkrCkbvlSLPVREREzqFwZFaVdau5xxxpnSMREZFzKByZVaXdamo5EhEROR+FI7OqtFtNY45ERETOR+HIrCrtVtNsNRERkfNRODKrSrvVtM6RiIjI+SgcmVVVZqup5UhEROQcCkdmVWm3msYciYiInI/CkVl5utV8z31N6xyJiIicl8KRWXm61eznvqZ1jkRERM5L4cisqjJbTQOyRUREzqFwZFaVdqu5xxwpHImIiJxN4cisKu1W02w1ERGR81E4Mquq7K2mliMREZFzKByZVZVmqykciYiInM3r4WjBggXExsbi7+9PfHw8GzduPO+1P/74I7fccguxsbFYLBbmzZt3zjXPPvssFoul3KNbt271WINGylHkOlbYrVY65kiz1URERM7h1XC0dOlSpk6dyowZM0hKSqJ3796MGDGCjIyMCq/Pz8+nc+fOzJo1i6ioqPPet0ePHqSmpnoeX3/9dX1VofFylLiOFXWraZ0jERGR8/JqOJo7dy6TJ0/mzjvvpHv37ixatIjAwEDeeOONCq8fOHAgf/7zn7ntttvw8/M7733tdjtRUVGeR0RERH1VofHytBxV0K2mdY5ERETOy2vhqKioiC1btpCQkHCmMFYrCQkJrF+/vlb3/umnn4iJiaFz586MHz+elJSU2ha36XFWYbaatg8RERE5h9fC0YkTJ3A4HERGRpY7HxkZSVpaWo3vGx8fz5IlS1i5ciULFy7k4MGDXH755eTk5Jz3PYWFhWRnZ5d7NHmVdqu51zlSt5qIiMjZKmhWaNquv/56z/NLL72U+Ph4OnbsyL/+9S/uvvvuCt8zc+ZM/vCHPzRUERtGpd1qAWeucTrAamu4comIiDRyXms5ioiIwGazkZ6eXu58enp6pYOtqys8PJyuXbuyb9++817z1FNPkZWV5XkcPny4zj7fazzdapWscwSazi8iInIWr4UjX19f+vfvT2Jiouec0+kkMTGRwYMH19nn5Obmsn//fqKjo897jZ+fH6GhoeUeTZ6nW62CxkH3bDXQuCMREZGzeLVbberUqUycOJEBAwYwaNAg5s2bR15eHnfeeScAEyZMoG3btsycORNwDeLeuXOn5/nR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EhaLpdxj5MiR9VkF7/NsHVLLlqMgtRyJiEjz5vVwtHTpUqZOncqMGTNISkqid+/ejBgxgoyMin85f/vtt9x+++3cfffdbN26lTFjxjBmzBh++OGHcteNHDmS1NRUz+O9995riOp4T203nXVztxwpHImISDPl9XA0d+5cJk+ezJ133kn37t1ZtGgRgYGBvPHGGxVe/9e//pWRI0cybdo0LrnkEp5//nn69evHK6+8Uu46Pz8/oqKiPI8WLVo0RHW8xzPmqLbhqI3rqG41ERFpprwajoqKitiyZQsJCQmec1arlYSEBNavX1/he9avX1/ueoARI0acc/2aNWto06YNF198Mffddx8nT55/9lVhYSHZ2dnlHk2Op1utjsJRQRYUF9TuXiIiIk2QV8PRiRMncDgcREZGljsfGRlJWlpahe9JS0u74PUjR47krbfeIjExkdmzZ/PVV19x/fXX43A4KrznzJkzCQsL8zzat29fy5p5gTsc2f1rdx//8DMBK+947e4lIiLSBNm9XYD6cNttt3me9+rVi0svvZSLLrqINWvWcM0115xz/VNPPcXUqVM9X2dnZze9gFRS2spT23BksUBQG8g+4hp3FN7Evg8iIiK15NWWo4iICGw2G+np6eXOp6enExUVVeF7oqKiqnU9QOfOnYmIiGDfvn0Vvu7n50doaGi5R5PjDkc+tQxHACGlLXPZR2t/LxERkSbGq+HI19eX/v37k5iY6DnndDpJTExk8ODBFb5n8ODB5a4HWLVq1XmvBzhy5AgnT54kOjq6bgreGNVVyxFAi1jXMTO59vcSERFpYrw+W23q1Km89tprvPnmm+zatYv77ruPvLw87rzzTgAmTJjAU0895bn+oYceYuXKlcyZM4fdu3fz7LPPsnnzZh588EEAcnNzmTZtGt999x2HDh0iMTGR0aNH06VLF0aMGOGVOjaIkjpaIRsgvKPr+LPCkYiIND9eH3M0btw4jh8/zvTp00lLS6NPnz6sXLnSM+g6JSUFq/VMhhsyZAjvvvsuv//973n66aeJi4vjww8/pGfPngDYbDa2b9/Om2++SWZmJjExMVx33XU8//zz+PnVQXBorDwtRwG1v5e75ejnQ7W/l4iISBNjMQzD8HYhGpvs7GzCwsLIyspqOuOP1syGNX+C/nfCL+bV7l4HvoK3boJWcfDbzXVSPBERkfpW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OXbsGCEhIVgsFm8Xp8qys7Np3749hw8fbnZ7wjXnukPzrn9zrjs07/o357pD867/+epuGAY5OTnExMSU27S+utRyVAGr1Uq7du28XYwaCw0NbXb/UNyac92hede/Odcdmnf9m3PdoXnXv6K616bFyE0DskVERETKUDgSERERKUPhyET8/PyYMWMGfn5+3i5Kg2vOdYfmXf/mXHdo3vVvznWH5l3/+q67BmSLiIiIlKGWIxEREZEyFI5EREREylA4EhERESlD4UhERESkDIUjk1iwYAGxsbH4+/sTHx/Pxo0bvV2kejFz5kwGDhxISEgIbdq0YcyYMezZs6fcNQUFBTzwwAO0atWK4OBgbrnlFtLT071U4voza9YsLBYLDz/8sOec2et+9OhR/t//+3+0atWKgIAAevXqxebNmz2vG4bB9OnTiY6OJiAggISEBH766ScvlrhuOBwOnnnmGTp16kRAQAAXXXQRzz//fLn9o8xU97Vr1/KLX/yCmJgYLBYLH374YbnXq1LXU6dOMX78eEJDQwkPD+fuu+8mNze3AWtRM5XVvbi4mCeeeIJevXoRFBRETEwMEyZM4NixY+Xu0VTrDhf+sy/r3nvvxWKxMG/evHLn66L+CkcmsHTpUqZOncqMGTNISkqid+/ejBgxgoyMDG8Xrc599dVXPPDAA3z33XesWrWK4uJirrvuOvLy8jzXPPLII3z88ccsW7aMr776imPHjjF27Fgvlrrubdq0ib/97W9ceuml5c6bue4///wzQ4cOxcfHh08//ZSdO3cyZ84cWrRo4bnmxRdfZP78+SxatIgNGzYQFBTEiBEjKCgo8GLJa2/27NksXLiQV155hV27djF79mxefPFFXn75Zc81Zqp7Xl4evXv3ZsGCBRW+XpW6jh8/nh9//JFVq1axYsUK1q5dyz333NNQVaixyuqen59PUlISzzzzDElJSSxfvpw9e/Zw0003lbuuqdYdLvxn7/bBBx/w3XffERMTc85rdVJ/Q5q8QYMGGQ888IDna4fDYcTExBgzZ870YqkaRkZGhgEYX331lWEYhpGZmWn4+PgYy5Yt81yza9cuAzDWr1/vrWLWqZycHCMuLs5YtWqVMXz4cOOhhx4yDMP8dX/iiSeMYcOGnfd1p9NpREVFGX/+85895zIzMw0/Pz/jvffea4gi1ptRo0YZd911V7lzY8eONcaPH28YhrnrDhgffPCB5+uq1HXnzp0GYGzatMlzzaeffmpYLBbj6NGjDVb22jq77hXZuHGjARjJycmGYZin7oZx/vofOXLEaNu2rfHDDz8YHTt2NP7yl794Xqur+qvlqIkrKipiy5YtJCQkeM5ZrVYSEhJYv369F0vWMLKysgBo2bIlAFu2bKG4uLjc96Nbt2506NDBNN+PBx54gFGjRpWrI5i/7v/9738ZMGAA//d//0ebNm3o27cvr732muf1gwcPkpaWVq7+YWFhxMfHN/n6DxkyhMTERPbu3QvA999/z9dff831118PmLvuZ6tKXdevX094eDgDBgzwXJOQkIDVamXDhg0NXub6lJWVhcViITw8HDB/3Z1OJ3fccQfTpk2jR48e57xeV/XXxrNN3IkTJ3A4HERGRpY7HxkZye7du71UqobhdDp5+OGHGTp0KD179gQgLS0NX19fzw8Kt8jISNLS0rxQyrr1/vvvk5SUxKZNm855zex1P3DgAAsXLmTq1Kk8/fTTbNq0iSlTpuDr68vEiRM9dazo30JTr/+TTz5JdnY23bp1w2az4XA4eOGFFxg/fjyAqet+tqrUNS0tjTZt2pR73W6307JlS1N9PwoKCnjiiSe4/fbbPZuvmr3us2fPxm63M2XKlApfr6v6KxxJk/XAAw/www8/8PXXX3u7KA3i8OHDPPTQQ6xatQp/f39vF6fBOZ1OBgwYwJ/+9CcA+vbtyw8//MCiRYuYOHGil0tXv/71r3/xzjvv8O6779KjRw+2bdvGww8/TExMjOnrLhUrLi7ml7/8JYZhsHDhQm8Xp0Fs2bKFv/71ryQlJWGxWOr1s9St1sRFRERgs9nOmZGUnp5OVFSUl0pV/x588EFWrFjBl19+Sbt27Tzno6KiKCoqIjMzs9z1Zvh+bNmyhYyMDPr164fdbsdut/PVV18xf/587HY7kZGRpq07QHR0NN27dy937pJLLiElJQXAU0cz/luYNm0aTz75JLfddhu9evXijjvu4JFHHmHmzJmAuet+tqrUNSoq6pwJKSUlJZw6dcoU3w93MEpOTmbVqlWeViMwd93XrVtHRkYGHTp08PwMTE5O5tFHHyU2Nhaou/orHDVxvr6+9O/fn8TERM85p9NJYmIigwcP9mLJ6odhGDz44IN88MEHrF69mk6dOpV7vX///vj4+JT7fuzZs4eUlJQm//245ppr2LFjB9u2bfM8BgwYwPjx4z3PzVp3gKFDh56zbMPevXvp2LEjAJ06dSIqKqpc/bOzs9mwYUOTr39+fj5Wa/kf1zabDafTCZi77merSl0HDx5MZmYmW7Zs8VyzevVqnE4n8fHxDV7muuQORj/99BNffPEFrVq1Kve6met+xx13sH379nI/A2NiYpg2bRqfffYZUIf1r/k4cmks3n//fcPPz89YsmSJsXPnTuOee+4xwsPDjbS0NG8Xrc7dd999RlhYmLFmzRojNTXV88jPz/dcc++99xodOnQwVq9ebWzevNkYPHiwMXjwYC+Wuv6Una1mGOau+8aNGw273W688MILxk8//WS88847RmBgoPH22297rpk1a5YRHh5ufPTRR8b27duN0aNHG506dTJOnz7txZLX3sSJE422bdsaK1asMA4ePGgsX77ciIiIMB5//HHPNWaqe05OjrF161Zj69atBmDMnTvX2Lp1q2dGVlXqOnLkSKNv377Ghg0bjK+//tqIi4szbr/9dm9Vqcoqq3tRUZFx0003Ge3atTO2bdtW7mdgYWGh5x5Nte6GceE/+7OdPVvNMOqm/gpHJvHyyy8bHTp0MHx9fY1BgwYZ3333nbeLVC+ACh+LFy/2XHP69Gnj/vvvN1q0aGEEBgYaN998s5Gamuq9Qtejs8OR2ev+8ccfGz179jT8/PyMbt26GX//+9/Lve50Oo1nnnnGiIyMNPz8/IxrrrnG2LNnj5dKW3eys7ONhx56yOjQoYPh7+9vdO7c2fjd735X7heimer+5ZdfVvjvfOLEiYZhVK2uJ0+eNG6//XYjODjYCA0NNe68804jJyfHC7WpnsrqfvDgwfP+DPzyyy8992iqdTeMC//Zn62icFQX9bcYRpklVkVERESaOY05EhERESlD4UhERESkDIUjERERkTIUjkRERETKUDgSERERKUPhSERERKQMhSMRERGRMhSORERERMpQOBIREREpQ+FIREREpAyFIxEREZEyFI5EREREyvj/v6wrVxLhe50AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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QnBwcIXyhYWF7Nmzx/66c+fOFdbDuvbaa2nVqhVt2rRh4MCBDBw4kJtuuomAgAD27NlDSUkJ/fr1s5f39vamV69e7Nixo8LnnJk0NmvWDICsrCxatmx53utxNkqApCIlQCJyBovFUqVmqIbAz8+Pa6+9lmuvvZYnnniCO++8k6lTpzJ69Gj279/PDTfcwL333suzzz5L48aN+fbbb7njjjsoLi62J0De3t4VzmmxWCrdZ7VaAdvCsZ6enmzatAlPz4oJ25lJU2UmTpzI6NGjCQoKIjIy0l7bk5ubS/fu3Zk/f/5ZxzRt2tT+PDAwsMJ7wcHBpKamsmrVKr788kumTJnCk08+WaGfT1Wceb3lMZVfrytxjp9qqT/lCVCzeDj8A5w4YGo4IiI1dckll7B06VIANm3ahNVqZcaMGfalFN5///1af0bXrl0pKysjKyuLyy+/vFrHhoeH07Zt27P2d+vWjUWLFhEREUFISEi1zunl5UVCQgIJCQlMnTqVsLAwvvrqKxITE/Hx8eG7776jVatWgK25b8OGDRWaBt2JRoHJaWUlkHfE9rxFT9s256B58YiIVMGxY8e4+uqreffdd9m6dSv79u1j8eLFPP/88wwePBiAtm3bUlJSwssvv8zevXv5z3/+w9y5c2v92e3atWPEiBGMHDmSJUuWsG/fPtavX09ycjKffvppjc45YsQIwsPDGTx4MN988w379u1j1apVjB8/nl9//fWcxy1btoyXXnqJLVu2kJaWxjvvvIPVaqV9+/YEBgZy7733MnHiRJYvX8727du56667yM/P54477qjp5Ts11QDJafnHbVuLB0R2tD3POWRePCIiVRAUFETv3r35v//7P3tfl5iYGO666y4ee+wxAOLj45k5cybPPfcckydP5oorriA5OZmRI0fW+vPfeustnnnmGR566CEOHjxIeHg4l112GTfccEONzhcQEMDXX3/No48+ytChQzl58iTNmzfnmmuuOW+NUFhYGEuWLOHJJ5+ksLCQuLg43nvvPTp2tP1/Pm3aNKxWK7fddhsnT56kR48efPHFFzRq1KhGcTo7i1HViRbcSE5ODqGhoWRnZ1e7+tGpZWyDuf0gIBxu+jfMHwaRneHeb82OTETqSWFhIfv27aN169YuN+pHXMP5fkar8/2tJjA5Lf+obRsYDiG2nv9qAhMREVekBEhO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Awdc8t5cc801/Pjjj2zZssX+6NGjByNGjLA/d6f70a9fv7OmRdi9ezetWrUCoHXr1kRFRVW4Hzk5Oaxbt84l70d+fj4eHhW/Cjw9PbFarYD73Y8zVeXa+/Tpw4kTJ9i0aZO9zFdffYXVaqV37971HnNdK09+fv75Z/73v//RpEmTCu871f0wuxe21J2FCxcavr6+xrx584zt27cbd999txEWFmZkZGSYHVqduvfee43Q0FBj1apVxuHDh+2P/Px8e5l77rnHaNmypfHVV18ZGzduNPr06WP06dPHxKjr15mjwAzDve7H+vXrDS8vL+PZZ581fv75Z2P+/PlGQECA8e6779rLTJs2zQgLCzM++ugjY+vWrcbgwYON1q1bGwUFBSZGXjdGjRplNG/e3Fi2bJmxb98+Y8mSJUZ4eLjxyCOP2Mu48v04efKksXnzZmPz5s0GYMycOdPYvHmzfVRTVa594MCBRteuXY1169YZ3377rREXF2fceuutZl1SrZzvfhQXFxs33nij0aJFC2PLli0V/n8tKiqyn8NZ7ocSIBf38ssvGy1btjR8fHyMXr16Gd9//73ZIdU5oNLHW2+9ZS9TUFBg3HfffUajRo2MgIAA46abbjIOHz5sXtD17PcJkLvdj08++cTo1KmT4evra3To0MF49dVXK7xvtVqNJ554woiMjDR8fX2Na665xti1a5dJ0datnJwcY8KECUbLli0NPz8/o02bNsbf//73Cl9ornw/Vq5cWen/F6NGjTIMo2rXfuzYMePWW281goKCjJCQEGPMmDHGyZMnTbia2jvf/di3b985/39duXKl/RzOcj8shnHGdJ8iIiIibkB9gERERMTtKAESERERt6MESERERNyOEiARERFxO0qARERExO0oARIRERG3owRIRERE3I4SIBEREXE7SoBERETE7SgBEhEREbejBEhERETcjhIgERERcTv/D2YDTbwo6ShYAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for distance_metric in distance_metrics:\n", " df[df.actual == \"Same Person\"][f\"{distance_metric}_confidence\"].plot.kde(label=\"Same Person\")\n", " df[df.actual == \"Different Persons\"][f\"{distance_metric}_confidence\"].plot.kde(label=\"Different Persons\")\n", " plt.legend()\n", " plt.show()\n", " " ] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: mypy.ini ================================================ [mypy] ignore_missing_imports = True warn_unused_configs = True warn_unused_ignores = False strict = True ================================================ FILE: package_info.json ================================================ { "version": "0.0.99" } ================================================ FILE: requirements-dev.txt ================================================ pytest>=8.3.5 ================================================ FILE: requirements.txt ================================================ requests>=2.27.1 numpy>=1.14.0 pandas>=0.23.4 gdown>=3.10.1 tqdm>=4.30.0 Pillow>=5.2.0 opencv-python>=4.5.5.64 tensorflow>=1.9.0 keras>=2.2.0 Flask>=1.1.2 flask_cors>=4.0.1 mtcnn>=0.1.0 retina-face>=0.0.14 fire>=0.4.0 gunicorn>=20.1.0 lightphe>=0.0.15 lightdsa>=0.0.3 python-dotenv>=1.0.1 ================================================ FILE: requirements_additional.txt ================================================ opencv-contrib-python>=4.3.0.36 mediapipe>=0.8.7.3 dlib>=19.20.0 ultralytics>=8.1.6 facenet-pytorch>=2.5.3 torch>=2.1.2 insightface>=0.7.3 onnxruntime>=1.9.0 tf-keras typing-extensions pydantic albumentations ================================================ FILE: requirements_local ================================================ numpy==1.22.3 pandas==2.0.3 Pillow==9.0.0 opencv-python==4.9.0.80 tensorflow==2.13.1 keras==2.13.1 requests==2.27.1 gdown==4.2.0 tqdm==4.66.1 Flask==2.0.2 Werkzeug==2.0.2 flask_cors==4.0.1 mtcnn==0.1.1 retina-face==0.0.17 fire==0.4.0 gunicorn==20.1.0 lightphe==0.0.20 lightdsa==0.0.3 python-dotenv==1.0.1 # psycopg[binary]==3.2.13 # pymongo==4.3.3 # faiss-cpu==1.7.3 # weaviate-client==3.26.7 --no-deps # neo4j==5.1.0 # pgvector==0.3.6 # pinecone==5.4.2 ================================================ FILE: scripts/dockerize.sh ================================================ # Dockerfile is in the root cd .. # start docker # sudo service docker start # list current docker packages # docker container ls -a # delete existing deepface packages # docker rm -f $(docker ps -a -q --filter "ancestor=deepface") # build deepface image docker build -t deepface . # push to docker hub # docker login # docker tag deepface:latest serengil/deepface:latest # docker push serengil/deepface:latest # copy weights from your local # docker cp ~/.deepface/weights/. :/root/.deepface/weights/ # run the built image # docker run --net="host" deepface # docker run -p 5005:5000 deepface ENV_FILE="deepface/api/.env" if [ -f "$ENV_FILE" ]; then echo ".env found, sending to container" docker run -p 5005:5000 --env-file "$ENV_FILE" deepface else echo "no .env found, running container without env vars" docker run -p 5005:5000 deepface fi # or pull the pre-built image from docker hub and run it # docker pull serengil/deepface # docker run -p 5005:5000 serengil/deepface # to access the inside of docker image when it is in running status # docker exec -it /bin/sh # healthcheck # sleep 3s # curl localhost:5000 ================================================ FILE: scripts/push-release.sh ================================================ cd .. echo "deleting existing release related files" rm -rf dist/* rm -rf build/* echo "creating a package for current release - pypi compatible" python setup.py sdist bdist_wheel echo "pushing the release to pypi" python -m twine upload dist/* ================================================ FILE: scripts/service.sh ================================================ #!/usr/bin/env bash cd ../deepface/api/src # run the service with flask - not for production purposes # python api.py # run the service with gunicorn - for prod purposes gunicorn --workers=1 --timeout=3600 --bind=0.0.0.0:5005 "app:create_app()" ================================================ FILE: setup.py ================================================ import json import setuptools with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() with open("requirements.txt", "r", encoding="utf-8") as f: requirements = f.read().split("\n") with open("package_info.json", "r", encoding="utf-8") as f: package_info = json.load(f) setuptools.setup( name="deepface", version=package_info["version"], author="Sefik Ilkin Serengil", author_email="serengil@gmail.com", description=( "A Lightweight Face Recognition and Facial Attribute Analysis Framework" " (Age, Gender, Emotion, Race) for Python" ), data_files=[("", ["README.md", "requirements.txt", "package_info.json"])], long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/serengil/deepface", packages=setuptools.find_packages(), classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], entry_points={ "console_scripts": ["deepface = deepface.DeepFace:cli"], }, python_requires=">=3.7", license="MIT", install_requires=requirements, ) ================================================ FILE: tests/integration/test_postgres_register.py ================================================ # built-in dependencies import os from unittest.mock import patch # 3rd party dependencies import pytest import psycopg from deepface import DeepFace # project dependencies from deepface.commons.logger import Logger logger = Logger() connection_details_dict = { "host": "localhost", "port": 5433, "dbname": "deepface", "user": "deepface_user", "password": "deepface_pass", } connection_details_str = "postgresql://deepface_user:deepface_pass@localhost:5433/deepface" # pylint: disable=unused-argument @pytest.fixture def flush_data(): conn = psycopg.connect(**connection_details_dict) cur = conn.cursor() cur.execute("DELETE FROM embeddings;") conn.commit() cur.close() conn.close() logger.debug("🗑️ Embeddings data flushed.") def test_regsiter_with_json(flush_data): img_path = "../unit/dataset/img1.jpg" result = DeepFace.register( img=img_path, model_name="Facenet", detector_backend="mtcnn", connection_details=connection_details_dict, ) assert result["inserted"] == 1 logger.info("✅ Registered with json test passed.") def test_register_with_string(flush_data): img_path = "../unit/dataset/img1.jpg" result = DeepFace.register( img=img_path, model_name="Facenet", detector_backend="mtcnn", connection_details=connection_details_str, ) assert result["inserted"] == 1 logger.info("✅ Registered with string test passed.") @patch.dict(os.environ, {"DEEPFACE_POSTGRES_URI": connection_details_str}) def test_register_with_envvar(flush_data): img_path = "../unit/dataset/img1.jpg" result = DeepFace.register( img=img_path, model_name="Facenet", detector_backend="mtcnn", ) assert result["inserted"] == 1 logger.info("✅ Registered with env var test passed.") def test_register_with_connection(flush_data): conn = psycopg.connect(**connection_details_dict) img_path = "../unit/dataset/img1.jpg" result = DeepFace.register( img=img_path, model_name="Facenet", detector_backend="mtcnn", connection=conn, ) assert result["inserted"] == 1 conn.close() logger.info("✅ Registered with connection test passed.") def test_register_duplicate(flush_data): img1_path = "../unit/dataset/img1.jpg" result = DeepFace.register( img=img1_path, model_name="Facenet", detector_backend="mtcnn", connection_details=connection_details_dict, ) assert result["inserted"] == 1 # Facenet & opencv pair should have different extracted face & embedding than Facenet & mtcnn result = DeepFace.register( img=img1_path, model_name="Facenet", detector_backend="opencv", connection_details=connection_details_dict, ) assert result["inserted"] == 1 # Duplicate registration with same model & detector should raise error with pytest.raises(ValueError, match="Duplicate detected for extracted face and embedding"): _ = DeepFace.register( img=img1_path, model_name="Facenet", detector_backend="mtcnn", connection_details=connection_details_dict, ) logger.info("✅ Duplicate registration test passed.") ================================================ FILE: tests/integration/test_postgres_search.py ================================================ # built-in dependencies import os from unittest.mock import patch # 3rd party dependencies import pytest import psycopg from deepface import DeepFace from tqdm import tqdm import pandas as pd # project dependencies from deepface.commons.logger import Logger logger = Logger() connection_details_dict = { "host": "localhost", "port": 5433, "dbname": "deepface", "user": "deepface_user", "password": "deepface_pass", } # pylint: disable=unused-argument @pytest.fixture def flush_data(): conn = psycopg.connect(**connection_details_dict) cur = conn.cursor() cur.execute("DELETE FROM embeddings;") conn.commit() cur.close() conn.close() logger.info("🗑️ Embeddings data flushed.") @pytest.fixture def load_data(): conn = psycopg.connect(**connection_details_dict) # collect items database_items = [] for dirpath, dirnames, filenames in os.walk("../unit/dataset"): for filename in filenames: if not filename.lower().endswith((".png", ".jpg", ".jpeg")): continue filepath = os.path.join(dirpath, filename) database_items.append(filepath) for img_path in tqdm(database_items): _ = DeepFace.register( img=img_path, model_name="Facenet", detector_backend="mtcnn", connection=conn, ) conn.close() logger.info(f"✅ Data with size {len(database_items)} loaded into Postgres for search tests.") def test_postgres_search(flush_data, load_data): conn = psycopg.connect(**connection_details_dict) target_path = "dataset/target.jpg" # we loaded data for Facenet and mtcnn, not opencv with pytest.raises(ValueError, match="No embeddings found in the database for the criteria"): _ = DeepFace.search( img=target_path, model_name="Facenet", detector_backend="opencv", connection=conn, ) dfs = DeepFace.search( img=target_path, model_name="Facenet", distance_metric="euclidean", detector_backend="mtcnn", connection=conn, ) assert isinstance(dfs, list) assert len(dfs) == 1 for df in dfs: assert isinstance(df, pd.DataFrame) assert df.shape[0] > 0 logger.info(df) conn.close() logger.info("✅ Postgres search test passed.") ================================================ FILE: tests/unit/dataset/face-recognition-pivot.csv ================================================ file_x,file_y,decision,VGG-Face_cosine,VGG-Face_euclidean,VGG-Face_euclidean_l2,Facenet_cosine,Facenet_euclidean,Facenet_euclidean_l2,OpenFace_cosine,OpenFace_euclidean_l2,DeepFace_cosine,DeepFace_euclidean,DeepFace_euclidean_l2 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img39.jpg,Yes,0.2057,0.389,0.6414,0.1601,6.8679,0.5658,0.5925,1.0886,0.2554,61.3336,0.7147 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img40.jpg,Yes,0.2117,0.3179,0.6508,0.2739,8.9049,0.7402,0.396,0.8899,0.2685,63.3747,0.7328 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img41.jpg,Yes,0.1073,0.2482,0.4632,0.1257,6.1593,0.5014,0.7157,1.1964,0.2452,60.3454,0.7002 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img40.jpg,Yes,0.2991,0.4567,0.7734,0.3134,9.3798,0.7917,0.4941,0.9941,0.1703,45.1688,0.5836 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img41.jpg,Yes,0.1666,0.3542,0.5772,0.1502,6.6491,0.5481,0.2381,0.6901,0.2194,50.4356,0.6624 deepface/tests/dataset/img40.jpg,deepface/tests/dataset/img41.jpg,Yes,0.1706,0.3066,0.5841,0.2017,7.6423,0.6352,0.567,1.0649,0.2423,54.2499,0.6961 deepface/tests/dataset/img3.jpg,deepface/tests/dataset/img12.jpg,Yes,0.2533,0.5199,0.7118,0.4062,11.2632,0.9014,0.1908,0.6178,0.2337,58.8794,0.6837 deepface/tests/dataset/img3.jpg,deepface/tests/dataset/img53.jpg,Yes,0.1655,0.3567,0.5754,0.184,7.5388,0.6066,0.1465,0.5412,0.243,55.2642,0.6971 deepface/tests/dataset/img3.jpg,deepface/tests/dataset/img54.jpg,Yes,0.1982,0.4739,0.6297,0.406,11.0618,0.9011,0.1132,0.4758,0.1824,49.7875,0.6041 deepface/tests/dataset/img3.jpg,deepface/tests/dataset/img55.jpg,Yes,0.1835,0.3742,0.6057,0.1366,6.4168,0.5227,0.1755,0.5924,0.1697,55.179,0.5825 deepface/tests/dataset/img3.jpg,deepface/tests/dataset/img56.jpg,Yes,0.1652,0.4005,0.5748,0.1833,7.3432,0.6054,0.1803,0.6005,0.2061,59.007,0.642 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img53.jpg,Yes,0.372,0.6049,0.8626,0.3933,11.1382,0.8869,0.1068,0.4621,0.1633,48.5516,0.5715 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img54.jpg,Yes,0.2153,0.5145,0.6561,0.2694,9.1155,0.734,0.1943,0.6234,0.1881,52.7146,0.6133 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img55.jpg,Yes,0.3551,0.5941,0.8428,0.4726,12.0647,0.9722,0.1054,0.4591,0.1265,48.2432,0.5029 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img56.jpg,Yes,0.2826,0.565,0.7518,0.4761,11.9569,0.9758,0.1364,0.5224,0.1908,57.6735,0.6177 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img54.jpg,Yes,0.3363,0.593,0.8202,0.4627,11.8744,0.962,0.1964,0.6267,0.174,46.6212,0.5898 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img55.jpg,Yes,0.187,0.3313,0.6116,0.1625,7.0394,0.5701,0.1312,0.5123,0.1439,52.3132,0.5365 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img56.jpg,Yes,0.1385,0.3776,0.5263,0.141,6.4913,0.5311,0.1285,0.507,0.2005,58.0586,0.6332 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img55.jpg,Yes,0.3124,0.5756,0.7905,0.4033,10.944,0.8981,0.1738,0.5896,0.1351,49.8255,0.5198 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img56.jpg,Yes,0.2571,0.5473,0.717,0.3912,10.6329,0.8846,0.1802,0.6002,0.1648,53.0881,0.574 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img56.jpg,Yes,0.2217,0.4543,0.6658,0.1433,6.4387,0.5353,0.1677,0.5792,0.1505,53.6812,0.5486 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img2.jpg,Yes,0.2342,0.5033,0.6844,0.2508,8.2369,0.7082,0.0844,0.4109,0.2417,64.2748,0.6952 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img4.jpg,Yes,0.2051,0.3916,0.6405,0.2766,8.7946,0.7437,0.1662,0.5766,0.2292,64.7785,0.6771 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img5.jpg,Yes,0.2963,0.3948,0.7699,0.2696,8.4689,0.7343,0.0965,0.4393,0.2306,71.6647,0.679 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img6.jpg,Yes,0.254,0.4464,0.7128,0.2164,7.7171,0.6579,0.0691,0.3718,0.2365,64.7594,0.6877 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img7.jpg,Yes,0.3104,0.4764,0.7879,0.2112,7.5718,0.65,0.1027,0.4531,0.2385,61.371,0.6906 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img10.jpg,Yes,0.3363,0.5448,0.8202,0.2129,7.6484,0.6525,0.0661,0.3635,0.2472,65.0668,0.7031 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img11.jpg,Yes,0.3083,0.5416,0.7852,0.2042,7.6195,0.639,0.1626,0.5703,0.2001,61.3824,0.6326 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img4.jpg,Yes,0.1397,0.3961,0.5285,0.1957,7.351,0.6256,0.2497,0.7066,0.1349,51.5853,0.5194 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img5.jpg,Yes,0.1995,0.482,0.6317,0.1574,6.4195,0.561,0.1333,0.5164,0.1583,60.6365,0.5627 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img6.jpg,Yes,0.0908,0.3251,0.4261,0.0787,4.625,0.3969,0.0632,0.3556,0.0756,38.218,0.3888 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img7.jpg,Yes,0.2,0.4664,0.6325,0.1642,6.6261,0.5731,0.1049,0.4581,0.098,42.1113,0.4428 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img10.jpg,Yes,0.2077,0.4862,0.6444,0.1593,6.5693,0.5644,0.0589,0.3431,0.1118,45.9168,0.4729 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img11.jpg,Yes,0.2349,0.5235,0.6854,0.1869,7.2485,0.6114,0.1029,0.4536,0.1548,55.617,0.5564 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img5.jpg,Yes,0.1991,0.3869,0.6311,0.1199,5.7256,0.4898,0.2891,0.7604,0.1797,64.7925,0.5995 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img6.jpg,Yes,0.1937,0.4095,0.6224,0.1772,7.0495,0.5954,0.2199,0.6632,0.1788,59.9202,0.598 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img7.jpg,Yes,0.245,0.4526,0.7,0.1663,6.7868,0.5767,0.3435,0.8289,0.1971,61.177,0.6279 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img10.jpg,Yes,0.1882,0.4274,0.6136,0.1304,6.0445,0.5107,0.2052,0.6406,0.1239,49.4937,0.4979 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img11.jpg,Yes,0.2569,0.5093,0.7168,0.1909,7.4277,0.618,0.2874,0.7582,0.1737,59.8839,0.5894 deepface/tests/dataset/img5.jpg,deepface/tests/dataset/img6.jpg,Yes,0.1858,0.3915,0.6095,0.1818,6.967,0.6029,0.13,0.5099,0.1742,63.6179,0.5903 deepface/tests/dataset/img5.jpg,deepface/tests/dataset/img7.jpg,Yes,0.2639,0.4391,0.7264,0.1754,6.7894,0.5923,0.1174,0.4846,0.1523,59.6056,0.5519 deepface/tests/dataset/img5.jpg,deepface/tests/dataset/img10.jpg,Yes,0.2013,0.4449,0.6344,0.1143,5.525,0.478,0.1228,0.4957,0.1942,66.7805,0.6232 deepface/tests/dataset/img5.jpg,deepface/tests/dataset/img11.jpg,Yes,0.3348,0.5599,0.8183,0.1975,7.4008,0.6285,0.2071,0.6436,0.1692,63.0817,0.5818 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img7.jpg,Yes,0.192,0.4085,0.6196,0.1275,5.892,0.505,0.1004,0.4482,0.094,42.0465,0.4335 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img10.jpg,Yes,0.214,0.4593,0.6542,0.1237,5.8374,0.4974,0.0517,0.3216,0.11,46.1197,0.4691 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img11.jpg,Yes,0.2755,0.5319,0.7423,0.1772,7.1072,0.5953,0.1383,0.526,0.1771,59.9849,0.5951 deepface/tests/dataset/img7.jpg,deepface/tests/dataset/img10.jpg,Yes,0.3425,0.5729,0.8276,0.1708,6.8133,0.5845,0.0956,0.4374,0.1552,52.8909,0.5571 deepface/tests/dataset/img7.jpg,deepface/tests/dataset/img11.jpg,Yes,0.2912,0.5417,0.7632,0.2449,8.3025,0.6998,0.148,0.544,0.1894,60.469,0.6154 deepface/tests/dataset/img10.jpg,deepface/tests/dataset/img11.jpg,Yes,0.2535,0.5258,0.712,0.1371,6.2509,0.5237,0.0609,0.349,0.1851,60.8244,0.6085 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img19.jpg,Yes,0.1043,0.3254,0.4567,0.1248,6.2382,0.4996,0.2563,0.7159,0.1712,60.1675,0.5851 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img67.jpg,Yes,0.2197,0.4691,0.6629,0.2387,8.7124,0.6909,0.3072,0.7838,0.1839,58.9528,0.6065 deepface/tests/dataset/img19.jpg,deepface/tests/dataset/img67.jpg,Yes,0.1466,0.3965,0.5416,0.1321,6.5557,0.514,0.1504,0.5485,0.1517,55.8044,0.5508 deepface/tests/dataset/img20.jpg,deepface/tests/dataset/img21.jpg,Yes,0.0641,0.2068,0.3581,0.1052,5.4253,0.4586,0.1118,0.4729,0.2209,58.7235,0.6646 deepface/tests/dataset/img34.jpg,deepface/tests/dataset/img35.jpg,Yes,0.0959,0.2628,0.4381,0.2538,8.7003,0.7124,0.3727,0.8634,0.3244,78.4397,0.8055 deepface/tests/dataset/img34.jpg,deepface/tests/dataset/img36.jpg,Yes,0.1553,0.2918,0.5573,0.1861,7.5793,0.6101,0.399,0.8933,0.2923,61.625,0.7646 deepface/tests/dataset/img34.jpg,deepface/tests/dataset/img37.jpg,Yes,0.104,0.2651,0.4562,0.1192,6.0818,0.4882,0.4158,0.912,0.2853,62.1217,0.7554 deepface/tests/dataset/img35.jpg,deepface/tests/dataset/img36.jpg,Yes,0.2322,0.3945,0.6814,0.2049,7.6366,0.6401,0.38,0.8717,0.2991,74.4219,0.7735 deepface/tests/dataset/img35.jpg,deepface/tests/dataset/img37.jpg,Yes,0.1684,0.3516,0.5804,0.186,7.2991,0.6099,0.1662,0.5766,0.164,58.1125,0.5727 deepface/tests/dataset/img36.jpg,deepface/tests/dataset/img37.jpg,Yes,0.1084,0.2715,0.4655,0.1338,6.3075,0.5173,0.2909,0.7627,0.2687,54.7311,0.7331 deepface/tests/dataset/img22.jpg,deepface/tests/dataset/img23.jpg,Yes,0.3637,0.4569,0.8528,0.3501,9.9752,0.8368,0.1651,0.5746,0.1649,42.2178,0.5742 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img14.jpg,Yes,0.086,0.3384,0.4148,0.1104,5.3711,0.47,0.0952,0.4363,0.2043,61.8532,0.6392 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img15.jpg,Yes,0.1879,0.5589,0.6131,0.2317,7.9283,0.6808,0.3202,0.8003,0.3665,81.975,0.8562 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img57.jpg,Yes,0.1204,0.3952,0.4907,0.1897,7.1445,0.616,0.4599,0.9591,0.3266,82.6217,0.8082 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img58.jpg,Yes,0.1748,0.524,0.5913,0.2264,7.7484,0.6729,0.5006,1.0006,0.3476,75.6494,0.8338 deepface/tests/dataset/img14.jpg,deepface/tests/dataset/img15.jpg,Yes,0.1969,0.571,0.6275,0.2322,7.8197,0.6815,0.3409,0.8257,0.4076,89.3521,0.9029 deepface/tests/dataset/img14.jpg,deepface/tests/dataset/img57.jpg,Yes,0.1815,0.4206,0.6025,0.128,5.7838,0.5059,0.4251,0.9221,0.3284,84.7328,0.8105 deepface/tests/dataset/img14.jpg,deepface/tests/dataset/img58.jpg,Yes,0.2071,0.5609,0.6436,0.2125,7.384,0.6519,0.4993,0.9993,0.3848,83.0627,0.8772 deepface/tests/dataset/img15.jpg,deepface/tests/dataset/img57.jpg,Yes,0.198,0.5753,0.6293,0.2073,7.5025,0.6439,0.3957,0.8896,0.3881,91.551,0.881 deepface/tests/dataset/img15.jpg,deepface/tests/dataset/img58.jpg,Yes,0.1109,0.4424,0.4709,0.1106,5.4445,0.4702,0.2815,0.7503,0.4153,85.5012,0.9114 deepface/tests/dataset/img57.jpg,deepface/tests/dataset/img58.jpg,Yes,0.1581,0.5045,0.5624,0.1452,6.2094,0.5389,0.213,0.6528,0.2184,67.7741,0.6609 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img30.jpg,Yes,0.142,0.28,0.5329,0.1759,7.1649,0.5931,0.3237,0.8046,0.272,59.7856,0.7375 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img31.jpg,Yes,0.1525,0.2777,0.5523,0.1588,6.8613,0.5636,0.5027,1.0027,0.2,49.2171,0.6324 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img32.jpg,Yes,0.1807,0.481,0.6011,0.1997,7.8571,0.632,0.4602,0.9594,0.3084,60.7837,0.7854 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img33.jpg,Yes,0.1757,0.3177,0.5927,0.2406,8.3798,0.6937,0.3446,0.8302,0.1679,47.9061,0.5795 deepface/tests/dataset/img30.jpg,deepface/tests/dataset/img31.jpg,Yes,0.1141,0.2453,0.4776,0.1654,6.8805,0.5751,0.3189,0.7986,0.1897,51.344,0.6159 deepface/tests/dataset/img30.jpg,deepface/tests/dataset/img32.jpg,Yes,0.1567,0.4575,0.5597,0.1757,7.2731,0.5929,0.1712,0.5851,0.242,57.849,0.6957 deepface/tests/dataset/img30.jpg,deepface/tests/dataset/img33.jpg,Yes,0.1548,0.2997,0.5565,0.2074,7.6356,0.644,0.1744,0.5906,0.2601,61.9643,0.7213 deepface/tests/dataset/img31.jpg,deepface/tests/dataset/img32.jpg,Yes,0.1402,0.4725,0.5295,0.1009,5.5583,0.4493,0.2098,0.6478,0.2023,51.0814,0.6361 deepface/tests/dataset/img31.jpg,deepface/tests/dataset/img33.jpg,Yes,0.0895,0.2296,0.4232,0.1873,7.3261,0.6121,0.1871,0.6118,0.229,56.6939,0.6768 deepface/tests/dataset/img32.jpg,deepface/tests/dataset/img33.jpg,Yes,0.2035,0.4953,0.638,0.2415,8.5176,0.6949,0.2426,0.6965,0.2768,62.1742,0.744 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img9.jpg,Yes,0.3147,0.45,0.7933,0.1976,7.3714,0.6287,0.0997,0.4466,0.1695,48.8942,0.5822 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img47.jpg,Yes,0.3638,0.4564,0.853,0.1976,7.2952,0.6287,0.0931,0.4314,0.1869,54.8324,0.6114 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img48.jpg,Yes,0.3068,0.442,0.7834,0.2593,8.2334,0.7201,0.1319,0.5136,0.2194,55.6994,0.6624 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img49.jpg,Yes,0.2353,0.4246,0.686,0.1797,6.8592,0.5996,0.1472,0.5426,0.1904,57.1813,0.617 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img50.jpg,Yes,0.3583,0.5144,0.8465,0.24,8.2435,0.6928,0.132,0.5138,0.138,40.4616,0.5253 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img51.jpg,Yes,0.3446,0.4498,0.8301,0.1666,6.7177,0.5772,0.1413,0.5317,0.1656,46.6621,0.5756 deepface/tests/dataset/img9.jpg,deepface/tests/dataset/img47.jpg,Yes,0.3153,0.4374,0.7941,0.1772,6.9625,0.5953,0.1591,0.5641,0.1795,54.801,0.5992 deepface/tests/dataset/img9.jpg,deepface/tests/dataset/img48.jpg,Yes,0.3537,0.4845,0.8411,0.1723,6.7796,0.5871,0.1234,0.4969,0.1795,52.6507,0.5992 deepface/tests/dataset/img9.jpg,deepface/tests/dataset/img49.jpg,Yes,0.2072,0.4029,0.6437,0.1954,7.2154,0.6251,0.1529,0.553,0.1311,48.2847,0.5121 deepface/tests/dataset/img9.jpg,deepface/tests/dataset/img50.jpg,Yes,0.2662,0.4509,0.7296,0.2576,8.5935,0.7177,0.1531,0.5533,0.1205,41.6412,0.491 deepface/tests/dataset/img9.jpg,deepface/tests/dataset/img51.jpg,Yes,0.3282,0.4507,0.8102,0.2371,8.0755,0.6887,0.1873,0.612,0.1817,51.7388,0.6029 deepface/tests/dataset/img47.jpg,deepface/tests/dataset/img48.jpg,Yes,0.345,0.4542,0.8307,0.1613,6.4777,0.5679,0.1419,0.5328,0.1649,52.6864,0.5742 deepface/tests/dataset/img47.jpg,deepface/tests/dataset/img49.jpg,Yes,0.257,0.4382,0.717,0.1944,7.1101,0.6236,0.1089,0.4667,0.2415,66.6307,0.695 deepface/tests/dataset/img47.jpg,deepface/tests/dataset/img50.jpg,Yes,0.1844,0.3737,0.6073,0.215,7.7872,0.6558,0.1817,0.6029,0.2052,57.2133,0.6406 deepface/tests/dataset/img47.jpg,deepface/tests/dataset/img51.jpg,Yes,0.1979,0.3274,0.6291,0.1303,5.926,0.5106,0.0939,0.4334,0.1209,44.911,0.4918 deepface/tests/dataset/img48.jpg,deepface/tests/dataset/img49.jpg,Yes,0.2917,0.4744,0.7639,0.232,7.6321,0.6812,0.1067,0.462,0.2183,61.9241,0.6608 deepface/tests/dataset/img48.jpg,deepface/tests/dataset/img50.jpg,Yes,0.3985,0.5478,0.8927,0.2745,8.6847,0.7409,0.2245,0.6701,0.2181,55.6337,0.6605 deepface/tests/dataset/img48.jpg,deepface/tests/dataset/img51.jpg,Yes,0.3408,0.4563,0.8255,0.1586,6.4477,0.5633,0.1734,0.5888,0.2082,55.6445,0.6452 deepface/tests/dataset/img49.jpg,deepface/tests/dataset/img50.jpg,Yes,0.2073,0.4183,0.6439,0.2437,8.1889,0.6982,0.1738,0.5896,0.1949,57.7545,0.6243 deepface/tests/dataset/img49.jpg,deepface/tests/dataset/img51.jpg,Yes,0.2694,0.4491,0.7341,0.2076,7.3716,0.6444,0.1414,0.5318,0.2283,62.518,0.6758 deepface/tests/dataset/img50.jpg,deepface/tests/dataset/img51.jpg,Yes,0.2505,0.4295,0.7079,0.2299,8.07,0.6781,0.1894,0.6155,0.1715,47.5665,0.5857 deepface/tests/dataset/img16.jpg,deepface/tests/dataset/img17.jpg,Yes,0.2545,0.3759,0.7135,0.1493,6.5661,0.5465,0.2749,0.7414,0.1528,47.8128,0.5528 deepface/tests/dataset/img16.jpg,deepface/tests/dataset/img59.jpg,Yes,0.1796,0.4352,0.5993,0.3095,9.6361,0.7868,0.4173,0.9136,0.247,61.4867,0.7028 deepface/tests/dataset/img16.jpg,deepface/tests/dataset/img61.jpg,Yes,0.1779,0.3234,0.5965,0.1863,7.2985,0.6105,0.1407,0.5305,0.1643,53.2032,0.5732 deepface/tests/dataset/img16.jpg,deepface/tests/dataset/img62.jpg,Yes,0.106,0.2509,0.4604,0.2243,8.1191,0.6698,0.3857,0.8783,0.1953,57.434,0.6249 deepface/tests/dataset/img17.jpg,deepface/tests/dataset/img59.jpg,Yes,0.2519,0.5106,0.7099,0.2846,9.3099,0.7544,0.3877,0.8806,0.2994,62.5416,0.7739 deepface/tests/dataset/img17.jpg,deepface/tests/dataset/img61.jpg,Yes,0.2507,0.3495,0.708,0.1992,7.6132,0.6313,0.1867,0.6111,0.2101,58.2095,0.6482 deepface/tests/dataset/img17.jpg,deepface/tests/dataset/img62.jpg,Yes,0.2533,0.3415,0.7118,0.2672,8.9292,0.731,0.3356,0.8193,0.252,62.3621,0.7099 deepface/tests/dataset/img59.jpg,deepface/tests/dataset/img61.jpg,Yes,0.192,0.4543,0.6196,0.4417,11.5466,0.9399,0.3558,0.8435,0.1808,54.8373,0.6014 deepface/tests/dataset/img59.jpg,deepface/tests/dataset/img62.jpg,Yes,0.1123,0.3893,0.4738,0.2974,9.5874,0.7713,0.5393,1.0386,0.1934,55.9836,0.6219 deepface/tests/dataset/img61.jpg,deepface/tests/dataset/img62.jpg,Yes,0.1251,0.253,0.5002,0.2245,8.1525,0.6701,0.4072,0.9024,0.1757,55.867,0.5928 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img27.jpg,Yes,0.3059,0.5758,0.7822,0.3444,9.7537,0.8299,0.1815,0.6026,0.2396,69.4496,0.6922 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img28.jpg,Yes,0.343,0.5503,0.8282,0.3556,10.2896,0.8433,0.1662,0.5766,0.205,60.0105,0.6403 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img42.jpg,Yes,0.3852,0.542,0.8778,0.3278,9.7855,0.8097,0.2831,0.7524,0.2523,66.2702,0.7104 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img43.jpg,Yes,0.3254,0.5271,0.8067,0.2825,8.887,0.7517,0.2876,0.7585,0.3443,79.1342,0.8299 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img44.jpg,Yes,0.3645,0.5029,0.8539,0.2248,7.9975,0.6706,0.2646,0.7274,0.2572,68.2216,0.7173 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img45.jpg,Yes,0.283,0.4775,0.7523,0.2537,8.5109,0.7124,0.3277,0.8096,0.2726,70.5843,0.7384 deepface/tests/dataset/img26.jpg,deepface/tests/dataset/img46.jpg,Yes,0.447,0.5967,0.9456,0.4372,11.0907,0.9351,0.3544,0.8419,0.3079,73.7249,0.7848 deepface/tests/dataset/img27.jpg,deepface/tests/dataset/img28.jpg,Yes,0.2847,0.5707,0.7546,0.2178,7.8688,0.6601,0.1205,0.491,0.232,66.1474,0.6811 deepface/tests/dataset/img27.jpg,deepface/tests/dataset/img42.jpg,Yes,0.328,0.5946,0.8099,0.2829,8.8485,0.7523,0.3721,0.8627,0.2376,66.8304,0.6893 deepface/tests/dataset/img27.jpg,deepface/tests/dataset/img43.jpg,Yes,0.3781,0.65,0.8696,0.2827,8.6093,0.7519,0.2004,0.633,0.2924,75.1537,0.7647 deepface/tests/dataset/img27.jpg,deepface/tests/dataset/img44.jpg,Yes,0.3385,0.5968,0.8229,0.2597,8.3408,0.7207,0.2941,0.7669,0.2314,66.8603,0.6803 deepface/tests/dataset/img27.jpg,deepface/tests/dataset/img45.jpg,Yes,0.2302,0.5087,0.6785,0.147,6.2958,0.5422,0.2088,0.6463,0.2035,63.0117,0.6379 deepface/tests/dataset/img27.jpg,deepface/tests/dataset/img46.jpg,Yes,0.3461,0.6141,0.832,0.388,10.1318,0.881,0.264,0.7266,0.2241,65.3424,0.6694 deepface/tests/dataset/img28.jpg,deepface/tests/dataset/img42.jpg,Yes,0.2442,0.4668,0.6988,0.1991,7.7026,0.631,0.2848,0.7547,0.2583,62.2885,0.7187 deepface/tests/dataset/img28.jpg,deepface/tests/dataset/img43.jpg,Yes,0.2159,0.4542,0.657,0.2239,8.0122,0.6692,0.2194,0.6624,0.2833,67.7766,0.7527 deepface/tests/dataset/img28.jpg,deepface/tests/dataset/img44.jpg,Yes,0.2802,0.4883,0.7486,0.1697,7.0317,0.5826,0.2753,0.742,0.2378,61.8227,0.6897 deepface/tests/dataset/img28.jpg,deepface/tests/dataset/img45.jpg,Yes,0.3044,0.5286,0.7803,0.1768,7.1867,0.5946,0.267,0.7307,0.2683,66.1764,0.7326 deepface/tests/dataset/img28.jpg,deepface/tests/dataset/img46.jpg,Yes,0.426,0.6222,0.923,0.3338,9.8004,0.817,0.2481,0.7044,0.3072,68.9752,0.7838 deepface/tests/dataset/img42.jpg,deepface/tests/dataset/img43.jpg,Yes,0.2018,0.4174,0.6353,0.2418,8.227,0.6954,0.1678,0.5794,0.1483,49.1175,0.5446 deepface/tests/dataset/img42.jpg,deepface/tests/dataset/img44.jpg,Yes,0.1685,0.3458,0.5805,0.119,5.8252,0.4879,0.2432,0.6975,0.0957,39.352,0.4375 deepface/tests/dataset/img42.jpg,deepface/tests/dataset/img45.jpg,Yes,0.2004,0.4027,0.6331,0.1378,6.2772,0.5251,0.1982,0.6296,0.1742,53.3531,0.5903 deepface/tests/dataset/img42.jpg,deepface/tests/dataset/img46.jpg,Yes,0.2253,0.4245,0.6713,0.1946,7.4093,0.6239,0.1761,0.5934,0.1568,49.1856,0.5601 deepface/tests/dataset/img43.jpg,deepface/tests/dataset/img44.jpg,Yes,0.2049,0.4137,0.6402,0.2238,7.7899,0.6691,0.1748,0.5912,0.1553,51.4113,0.5573 deepface/tests/dataset/img43.jpg,deepface/tests/dataset/img45.jpg,Yes,0.2298,0.4524,0.6779,0.2281,7.8811,0.6754,0.0531,0.3257,0.1801,55.7173,0.6001 deepface/tests/dataset/img43.jpg,deepface/tests/dataset/img46.jpg,Yes,0.3731,0.5738,0.8638,0.3741,10.0121,0.865,0.1394,0.5281,0.2184,60.1165,0.6609 deepface/tests/dataset/img44.jpg,deepface/tests/dataset/img45.jpg,Yes,0.1743,0.3671,0.5903,0.1052,5.4022,0.4587,0.1636,0.572,0.1275,46.7067,0.505 deepface/tests/dataset/img44.jpg,deepface/tests/dataset/img46.jpg,Yes,0.2682,0.4468,0.7324,0.2225,7.7975,0.667,0.1984,0.6299,0.1569,50.7309,0.5602 deepface/tests/dataset/img45.jpg,deepface/tests/dataset/img46.jpg,Yes,0.2818,0.486,0.7507,0.2239,7.8397,0.6692,0.1379,0.5252,0.193,56.6925,0.6213 deepface/tests/dataset/img24.jpg,deepface/tests/dataset/img25.jpg,Yes,0.1197,0.2833,0.4893,0.1419,6.4307,0.5327,0.1666,0.5773,0.2083,60.7717,0.6454 deepface/tests/dataset/img21.jpg,deepface/tests/dataset/img17.jpg,No,0.4907,0.531,0.9907,0.6285,13.4397,1.1212,0.807,1.2704,0.3363,67.5896,0.8201 deepface/tests/dataset/img23.jpg,deepface/tests/dataset/img47.jpg,No,0.5671,0.563,1.065,0.6961,13.8325,1.1799,0.1334,0.5166,0.2008,56.6182,0.6337 deepface/tests/dataset/img16.jpg,deepface/tests/dataset/img24.jpg,No,0.6046,0.5757,1.0997,0.9105,16.3487,1.3494,0.2078,0.6447,0.2218,57.4046,0.666 deepface/tests/dataset/img50.jpg,deepface/tests/dataset/img16.jpg,No,0.7308,0.7317,1.2089,1.0868,17.7134,1.4743,0.3578,0.846,0.2254,57.4293,0.6715 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img18.jpg,No,0.4197,0.569,0.9162,0.8173,13.1177,1.2786,0.6457,1.1364,0.3401,75.8425,0.8247 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img32.jpg,No,0.7555,0.9708,1.2293,1.0896,18.6004,1.4762,0.4448,0.9432,0.2547,60.7653,0.7138 deepface/tests/dataset/img51.jpg,deepface/tests/dataset/img26.jpg,No,0.506,0.5807,1.006,0.7329,14.3648,1.2107,0.2928,0.7652,0.2226,61.9764,0.6672 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img27.jpg,No,0.688,0.9511,1.1731,0.9559,15.8763,1.3827,0.3366,0.8205,0.2086,63.7428,0.6459 deepface/tests/dataset/img35.jpg,deepface/tests/dataset/img33.jpg,No,0.2131,0.3838,0.6528,0.5762,12.621,1.0735,0.3323,0.8153,0.2895,74.4074,0.7609 deepface/tests/dataset/img34.jpg,deepface/tests/dataset/img44.jpg,No,0.7964,0.6879,1.262,0.9531,16.8504,1.3806,0.4968,0.9968,0.2565,63.8992,0.7162 deepface/tests/dataset/img8.jpg,deepface/tests/dataset/img61.jpg,No,0.8548,0.6996,1.3075,0.9485,16.2825,1.3773,0.6479,1.1383,0.259,64.0582,0.7198 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img4.jpg,No,0.5862,0.6454,1.0828,0.8624,16.0416,1.3133,0.3185,0.7982,0.2397,65.712,0.6924 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img2.jpg,No,0.6948,0.9246,1.1788,0.9568,16.4217,1.3833,0.3481,0.8344,0.2497,64.7938,0.7067 deepface/tests/dataset/img43.jpg,deepface/tests/dataset/img24.jpg,No,0.7757,0.7407,1.2456,1.0007,16.8769,1.4147,0.4194,0.9159,0.3961,77.6798,0.8901 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img20.jpg,No,0.6784,0.7154,1.1648,0.9864,16.5342,1.4045,0.2043,0.6392,0.2499,67.3658,0.707 deepface/tests/dataset/img40.jpg,deepface/tests/dataset/img20.jpg,No,0.474,0.4904,0.9736,0.7949,14.8341,1.2609,0.4776,0.9773,0.2192,56.6904,0.6621 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img49.jpg,No,0.725,0.7156,1.2041,1.2676,18.7008,1.5922,0.3254,0.8068,0.1968,58.1537,0.6274 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img29.jpg,No,0.5496,0.5428,1.0484,1.1766,18.8394,1.534,0.2956,0.769,0.323,68.2188,0.8037 deepface/tests/dataset/img7.jpg,deepface/tests/dataset/img20.jpg,No,0.7791,0.7506,1.2482,0.945,16.0728,1.3748,0.2922,0.7645,0.2063,58.285,0.6424 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img10.jpg,No,0.6852,0.8904,1.1707,0.9223,16.2459,1.3582,0.3508,0.8377,0.2699,67.3228,0.7347 deepface/tests/dataset/img17.jpg,deepface/tests/dataset/img43.jpg,No,0.7785,0.7344,1.2478,0.8234,15.1735,1.2833,0.8461,1.3009,0.3715,74.2351,0.862 deepface/tests/dataset/img56.jpg,deepface/tests/dataset/img47.jpg,No,0.5798,0.6885,1.0769,0.9515,16.1507,1.3795,0.2527,0.7109,0.1453,51.4537,0.5391 deepface/tests/dataset/img10.jpg,deepface/tests/dataset/img15.jpg,No,0.7144,1.0202,1.1953,1.1267,17.5833,1.5012,0.7384,1.2152,0.404,87.858,0.8989 deepface/tests/dataset/img21.jpg,deepface/tests/dataset/img61.jpg,No,0.5642,0.5883,1.0623,0.7305,14.4227,1.2088,0.5523,1.051,0.3206,73.1845,0.8008 deepface/tests/dataset/img34.jpg,deepface/tests/dataset/img47.jpg,No,0.6442,0.5952,1.1351,1.0884,17.8754,1.4754,0.6225,1.1158,0.2549,64.7586,0.714 deepface/tests/dataset/img11.jpg,deepface/tests/dataset/img51.jpg,No,0.5459,0.6938,1.0448,0.7452,14.4984,1.2208,0.1807,0.6012,0.179,58.3078,0.5983 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img14.jpg,No,0.7235,0.8162,1.2029,1.0599,16.8526,1.4559,0.4242,0.9211,0.26,72.3704,0.7211 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img14.jpg,No,0.5044,0.637,1.0044,0.9856,16.5161,1.404,0.2733,0.7393,0.354,80.6472,0.8415 deepface/tests/dataset/img19.jpg,deepface/tests/dataset/img47.jpg,No,0.5752,0.6917,1.0726,1.0042,17.1669,1.4172,0.354,0.8414,0.1709,59.1711,0.5846 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img14.jpg,No,0.6473,0.7275,1.1378,0.9052,15.7543,1.3455,0.2127,0.6523,0.2293,67.2542,0.6771 deepface/tests/dataset/img20.jpg,deepface/tests/dataset/img33.jpg,No,0.4886,0.541,0.9885,0.9202,16.051,1.3566,0.6114,1.1058,0.253,62.6318,0.7113 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img62.jpg,No,0.4634,0.5606,0.9627,0.8783,16.0858,1.3254,0.7776,1.2471,0.329,70.4788,0.8112 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img58.jpg,No,0.6048,0.9477,1.0998,0.8084,15.0301,1.2716,0.6403,1.1316,0.3272,69.1393,0.809 deepface/tests/dataset/img11.jpg,deepface/tests/dataset/img9.jpg,No,0.6643,0.7784,1.1527,0.899,16.0335,1.3409,0.2452,0.7002,0.1639,56.0631,0.5725 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img46.jpg,No,0.5766,0.7054,1.0738,0.9264,15.9036,1.3611,0.1341,0.5179,0.2298,64.5324,0.6779 deepface/tests/dataset/img7.jpg,deepface/tests/dataset/img59.jpg,No,0.7679,0.8729,1.2393,1.0242,17.2778,1.4312,0.7789,1.2481,0.3103,69.694,0.7878 deepface/tests/dataset/img7.jpg,deepface/tests/dataset/img35.jpg,No,0.8227,0.8096,1.2827,1.0357,16.7157,1.4392,0.4864,0.9863,0.2401,68.9468,0.693 deepface/tests/dataset/img5.jpg,deepface/tests/dataset/img19.jpg,No,0.7052,0.752,1.1876,0.9084,16.1781,1.3479,0.2462,0.7016,0.1449,58.8831,0.5384 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img8.jpg,No,0.4891,0.5451,0.989,0.7908,14.9832,1.2576,0.2408,0.6939,0.2341,63.666,0.6843 deepface/tests/dataset/img22.jpg,deepface/tests/dataset/img51.jpg,No,0.5201,0.5378,1.0199,0.6262,13.2133,1.1191,0.1456,0.5397,0.2985,60.8239,0.7726 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img15.jpg,No,0.7147,0.9872,1.1956,1.0641,17.2349,1.4588,0.6229,1.1162,0.4049,89.7221,0.8998 deepface/tests/dataset/img19.jpg,deepface/tests/dataset/img29.jpg,No,0.3605,0.5646,0.8492,0.6901,14.6314,1.1748,0.1803,0.6005,0.2709,71.9655,0.7361 deepface/tests/dataset/img20.jpg,deepface/tests/dataset/img28.jpg,No,0.5807,0.6843,1.0777,0.8133,15.3844,1.2754,0.1274,0.5048,0.1841,53.6094,0.6067 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img13.jpg,No,0.6366,0.8086,1.1283,0.8832,15.8044,1.3291,0.3343,0.8177,0.177,57.373,0.5949 deepface/tests/dataset/img34.jpg,deepface/tests/dataset/img22.jpg,No,0.7842,0.6655,1.2523,1.137,18.5595,1.508,0.4797,0.9795,0.2457,56.695,0.7011 deepface/tests/dataset/img67.jpg,deepface/tests/dataset/img58.jpg,No,0.5051,0.8463,1.0051,0.8713,16.0723,1.3201,0.5281,1.0277,0.276,67.6933,0.743 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img9.jpg,No,0.7493,0.7683,1.2242,1.0774,17.7057,1.4679,0.5343,1.0337,0.2113,62.0197,0.65 deepface/tests/dataset/img11.jpg,deepface/tests/dataset/img58.jpg,No,0.7495,1.0309,1.2243,1.0359,16.9461,1.4394,0.6411,1.1324,0.2259,65.3131,0.6721 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img42.jpg,No,0.8335,0.8332,1.2911,1.0838,17.9617,1.4723,0.4051,0.9001,0.2449,66.4075,0.6999 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img13.jpg,No,0.476,0.7428,0.9757,1.1589,18.2018,1.5224,0.306,0.7823,0.1879,59.4531,0.6129 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img32.jpg,No,0.7116,0.8739,1.193,1.0402,17.6777,1.4424,0.6456,1.1363,0.2896,71.6141,0.761 deepface/tests/dataset/img67.jpg,deepface/tests/dataset/img37.jpg,No,0.4644,0.652,0.9638,0.6683,14.5099,1.1561,0.2355,0.6862,0.2475,61.9234,0.7036 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img7.jpg,No,0.8444,0.7812,1.2666,0.9357,16.3278,1.368,0.4702,1.459,0.4919,67.9214,0.7892 deepface/tests/dataset/img11.jpg,deepface/tests/dataset/img27.jpg,No,0.6496,0.8811,1.1398,0.9364,16.0727,1.3685,0.2416,0.6951,0.2127,66.7336,0.6523 deepface/tests/dataset/img20.jpg,deepface/tests/dataset/img47.jpg,No,0.6418,0.6011,1.1329,1.0579,16.9991,1.4546,0.31,0.7874,0.1754,54.6104,0.5924 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img44.jpg,No,0.4815,0.6806,0.9814,0.7396,14.1679,1.2162,0.2009,0.6338,0.1836,57.4368,0.606 deepface/tests/dataset/img28.jpg,deepface/tests/dataset/img24.jpg,No,0.7851,0.7588,1.2531,0.9406,16.8964,1.3715,0.5353,1.0347,0.2609,60.6589,0.7224 deepface/tests/dataset/img67.jpg,deepface/tests/dataset/img43.jpg,No,0.691,0.8328,1.1756,0.9621,16.9417,1.3872,0.3176,0.797,0.3072,72.9213,0.7838 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img51.jpg,No,0.668,0.7024,1.1558,1.1051,17.8105,1.4867,0.2508,0.7083,0.1882,58.3932,0.6135 deepface/tests/dataset/img11.jpg,deepface/tests/dataset/img24.jpg,No,0.79,0.801,1.257,1.1173,18.2579,1.4949,0.3437,0.829,0.3096,74.5014,0.7869 deepface/tests/dataset/img67.jpg,deepface/tests/dataset/img29.jpg,No,0.5389,0.6762,1.0382,0.8354,16.2507,1.2926,0.1501,0.5479,0.2668,63.7773,0.7305 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img59.jpg,No,0.4237,0.6225,0.9205,0.5002,12.4131,1.0002,0.6375,1.1292,0.2637,58.2849,0.7262 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img24.jpg,No,0.5431,0.5391,1.0422,1.1194,18.4041,1.4962,0.8286,1.2873,0.4458,74.1332,0.9442 deepface/tests/dataset/img35.jpg,deepface/tests/dataset/img27.jpg,No,0.821,0.9129,1.2814,0.964,15.9831,1.3885,0.4812,0.9811,0.3061,80.9221,0.7824 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img67.jpg,No,0.5513,0.7255,1.0501,0.9839,17.4219,1.4028,0.8181,1.2792,0.2914,66.5717,0.7634 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img12.jpg,No,0.6435,0.8102,1.1344,0.7661,15.2245,1.2378,0.7472,1.2224,0.2716,61.7006,0.737 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img46.jpg,No,0.8116,0.7634,1.2028,1.1264,17.9427,1.5009,0.9219,1.3578,0.3511,70.3501,0.838 deepface/tests/dataset/img32.jpg,deepface/tests/dataset/img27.jpg,No,0.7197,0.9593,1.1997,0.7295,14.4944,1.2079,0.5619,1.0601,0.2725,70.5338,0.7382 deepface/tests/dataset/img40.jpg,deepface/tests/dataset/img11.jpg,No,0.7205,0.7563,1.2004,0.9367,16.3131,1.3687,0.5427,1.0418,0.186,59.4748,0.61 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img22.jpg,No,0.5579,0.6466,1.2024,1.0076,17.2122,1.4196,0.7998,1.2648,0.392,65.4579,0.8854 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img35.jpg,No,0.8303,0.9037,1.2887,1.0988,17.1897,1.4824,0.498,0.998,0.2992,78.1653,0.7736 deepface/tests/dataset/img5.jpg,deepface/tests/dataset/img45.jpg,No,0.5247,0.6013,1.0244,0.8827,15.3713,1.3287,0.218,0.6603,0.2322,72.2019,0.6814 deepface/tests/dataset/img58.jpg,deepface/tests/dataset/img59.jpg,No,0.5937,0.9226,1.0896,0.9931,16.9142,1.4093,0.3525,0.8396,0.3095,68.0277,0.7868 deepface/tests/dataset/img40.jpg,deepface/tests/dataset/img45.jpg,No,0.772,0.6976,1.2426,1.0516,17.0626,1.4503,0.5487,1.0475,0.2628,63.7285,0.725 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img3.jpg,No,0.6417,0.6822,1.1329,0.832,15.8921,1.29,1.0374,1.4404,0.2312,54.5718,0.68 deepface/tests/dataset/img40.jpg,deepface/tests/dataset/img67.jpg,No,0.4138,0.5942,0.9098,0.948,16.9509,1.3769,0.5121,1.012,0.2455,61.9071,0.7008 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img50.jpg,No,0.5776,0.6934,1.0748,0.816,15.3649,1.2775,0.3515,0.8385,0.2072,61.657,0.6437 deepface/tests/dataset/img67.jpg,deepface/tests/dataset/img47.jpg,No,0.5726,0.692,1.0701,0.9987,17.2907,1.4133,0.4099,0.9054,0.1723,55.0701,0.587 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img20.jpg,No,0.684,0.6408,1.1696,0.924,16.3035,1.3594,0.2156,0.6566,0.2111,61.919,0.6498 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img33.jpg,No,0.4625,0.7042,0.9617,0.8709,15.4791,1.3198,0.5609,1.0591,0.3643,76.6864,0.8536 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img58.jpg,No,0.5732,0.8464,1.0707,0.7511,16.6216,1.4011,0.5091,1.009,0.3653,71.3439,0.8548 deepface/tests/dataset/img19.jpg,deepface/tests/dataset/img48.jpg,No,0.8186,0.8431,1.2795,1.1082,17.769,1.4888,0.3914,0.8848,0.2363,68.307,0.6875 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img49.jpg,No,0.6614,0.7617,1.1501,0.9935,16.5922,1.4096,0.427,0.9241,0.28,73.8384,0.7483 deepface/tests/dataset/img10.jpg,deepface/tests/dataset/img19.jpg,No,0.603,0.7998,1.0982,0.9508,16.8085,1.379,0.3546,0.8422,0.2352,69.7597,0.6859 deepface/tests/dataset/img48.jpg,deepface/tests/dataset/img17.jpg,No,0.8174,0.6679,1.2786,0.922,15.8462,1.3579,0.7438,1.2196,0.2545,59.7077,0.7134 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img2.jpg,No,0.6454,0.7751,1.1362,1.0674,17.3381,1.4611,0.1279,0.5058,0.1983,61.7554,0.6298 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img48.jpg,No,0.7325,0.7072,1.2605,0.8198,15.0575,1.2805,0.9352,1.3676,0.3504,69.8577,0.8371 deepface/tests/dataset/img30.jpg,deepface/tests/dataset/img44.jpg,No,0.8834,0.7196,1.3292,0.8683,15.5513,1.3178,0.563,1.0611,0.363,75.7833,0.8521 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img29.jpg,No,0.7666,0.7464,1.2382,1.0057,17.0345,1.4183,0.3434,0.8287,0.2411,64.6435,0.6943 deepface/tests/dataset/img19.jpg,deepface/tests/dataset/img26.jpg,No,0.6542,0.7763,1.1439,0.9204,16.7702,1.3568,0.2292,0.677,0.262,73.7273,0.7239 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img50.jpg,No,0.6879,0.692,1.1729,1.3134,19.7708,1.6207,0.5038,1.0038,0.2577,54.3931,0.7179 deepface/tests/dataset/img35.jpg,deepface/tests/dataset/img49.jpg,No,0.8339,0.8186,1.2915,1.2099,17.7753,1.5555,0.5957,1.0915,0.3315,82.3474,0.8142 deepface/tests/dataset/img22.jpg,deepface/tests/dataset/img28.jpg,No,0.6313,0.7037,1.1236,0.8177,15.5314,1.2789,0.2031,0.6373,0.2271,55.2529,0.6739 deepface/tests/dataset/img21.jpg,deepface/tests/dataset/img16.jpg,No,0.5678,0.6114,1.0657,0.6376,13.417,1.1293,0.4173,0.9136,0.2696,65.0241,0.7343 deepface/tests/dataset/img21.jpg,deepface/tests/dataset/img9.jpg,No,0.7653,0.7211,1.2372,1.0502,17.1485,1.4493,0.5726,1.0701,0.3059,68.2225,0.7822 deepface/tests/dataset/img2.jpg,deepface/tests/dataset/img22.jpg,No,0.6866,0.7895,1.1718,1.0005,16.6324,1.4145,0.1955,0.6253,0.3061,69.9331,0.7824 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img29.jpg,No,0.78,0.8337,1.249,1.1016,18.4797,1.4843,0.3404,0.8251,0.3293,67.3331,0.8115 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img37.jpg,No,0.7532,0.7788,1.2273,1.0976,17.7567,1.4816,0.2647,0.7275,0.331,74.5559,0.8137 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img16.jpg,No,0.7516,0.7581,1.226,1.0332,16.9971,1.4375,0.3815,0.8735,0.2859,72.0572,0.7561 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img33.jpg,No,0.4588,0.5085,0.958,1.2465,19.0695,1.5789,0.657,1.1463,0.3722,76.6896,0.8628 deepface/tests/dataset/img35.jpg,deepface/tests/dataset/img32.jpg,No,0.2651,0.5459,0.7282,0.5427,12.6429,1.0418,0.409,0.9045,0.2546,69.5802,0.7136 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img48.jpg,No,0.4528,0.678,0.9516,0.8385,15.166,1.295,0.2238,0.669,0.218,56.5099,0.6603 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img23.jpg,No,0.5305,0.5523,1.03,0.7766,14.6983,1.2463,0.1967,0.6272,0.2144,53.347,0.6549 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img33.jpg,No,0.5132,0.6067,1.0131,1.1197,17.8246,1.4965,0.2379,0.6898,0.2301,55.7862,0.6783 deepface/tests/dataset/img3.jpg,deepface/tests/dataset/img48.jpg,No,0.4123,0.5581,0.908,0.7879,14.8183,1.2553,0.2125,0.6519,0.2177,56.6639,0.6598 deepface/tests/dataset/img43.jpg,deepface/tests/dataset/img25.jpg,No,0.7819,0.7991,1.2505,0.9007,15.601,1.3422,0.4363,0.9341,0.3555,81.219,0.8432 deepface/tests/dataset/img14.jpg,deepface/tests/dataset/img9.jpg,No,0.7257,0.7829,1.2047,0.8679,15.1696,1.3175,0.5752,1.0725,0.2493,67.0315,0.7061 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img47.jpg,No,0.5391,0.6276,1.0383,0.7885,14.6406,1.2558,0.1013,0.4501,0.1756,57.5202,0.5926 deepface/tests/dataset/img18.jpg,deepface/tests/dataset/img28.jpg,No,0.8293,0.8828,1.2878,1.1151,18.3899,1.4934,0.497,0.997,0.2323,64.8263,0.6816 deepface/tests/dataset/img7.jpg,deepface/tests/dataset/img57.jpg,No,0.7468,0.815,1.2221,1.1241,17.3821,1.4994,0.6916,1.1761,0.2244,68.912,0.6699 deepface/tests/dataset/img48.jpg,deepface/tests/dataset/img26.jpg,No,0.5877,0.646,1.0842,0.9734,16.2582,1.3953,0.3102,0.7876,0.2059,60.3497,0.6417 deepface/tests/dataset/img19.jpg,deepface/tests/dataset/img34.jpg,No,0.2957,0.5193,0.7691,0.5281,12.9854,1.0277,0.5987,1.0943,0.2628,71.5029,0.725 deepface/tests/dataset/img41.jpg,deepface/tests/dataset/img37.jpg,No,0.4337,0.5351,0.9314,0.8568,16.0356,1.309,0.684,1.1696,0.3654,65.8114,0.8548 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img32.jpg,No,0.6985,0.8184,1.182,0.9682,16.9113,1.3915,0.5654,1.0634,0.3173,65.953,0.7967 deepface/tests/dataset/img12.jpg,deepface/tests/dataset/img57.jpg,No,0.6424,0.8305,1.1335,0.8361,15.6851,1.2931,0.5927,1.0888,0.2943,77.8234,0.7672 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img5.jpg,No,0.662,0.6012,1.1507,0.9931,16.5792,1.4093,0.137,0.5234,0.2182,70.8567,0.6606 deepface/tests/dataset/img47.jpg,deepface/tests/dataset/img61.jpg,No,0.6896,0.603,1.1744,0.98,16.5069,1.4,0.5598,1.0581,0.187,57.8252,0.6115 deepface/tests/dataset/img33.jpg,deepface/tests/dataset/img49.jpg,No,0.8253,0.7753,1.2848,1.0329,16.5833,1.4373,0.6695,1.1572,0.1992,58.9069,0.6313 deepface/tests/dataset/img54.jpg,deepface/tests/dataset/img1.jpg,No,0.5922,0.7522,1.0883,0.9398,16.3902,1.371,0.2515,0.7092,0.2836,62.9648,0.7532 deepface/tests/dataset/img29.jpg,deepface/tests/dataset/img25.jpg,No,0.5458,0.5846,1.0448,0.9074,16.167,1.3472,0.622,1.1153,0.2743,68.4542,0.7407 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img67.jpg,No,0.6649,0.7541,1.1531,1.1444,18.95,1.5129,0.3094,0.7866,0.2195,63.9684,0.6625 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img30.jpg,No,0.9492,0.7325,1.3778,0.9241,16.5521,1.3595,0.5533,1.052,0.2955,62.208,0.7687 deepface/tests/dataset/img6.jpg,deepface/tests/dataset/img25.jpg,No,0.8285,0.8131,1.2872,0.8051,14.8877,1.2689,0.4267,0.9238,0.3226,79.803,0.8032 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img43.jpg,No,0.6285,0.7443,1.1211,0.838,15.1848,1.2946,0.212,0.6511,0.2685,71.4046,0.7329 deepface/tests/dataset/img39.jpg,deepface/tests/dataset/img27.jpg,No,0.7176,0.8685,1.198,0.8199,14.9449,1.2805,0.8286,1.2873,0.285,71.6832,0.755 deepface/tests/dataset/img36.jpg,deepface/tests/dataset/img23.jpg,No,0.6223,0.5866,1.1156,1.0693,17.5747,1.4624,0.4266,0.9237,0.32,58.9248,0.7999 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img45.jpg,No,0.6021,0.7106,1.0973,0.9407,16.2744,1.3716,0.2162,0.6576,0.2166,64.3341,0.6582 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img19.jpg,No,0.356,0.5607,0.8437,0.9843,17.485,1.403,0.1858,0.6097,0.2867,75.4126,0.7572 deepface/tests/dataset/img55.jpg,deepface/tests/dataset/img17.jpg,No,0.7135,0.6076,1.1946,0.944,16.691,1.374,0.7449,1.2205,0.2951,70.5113,0.7682 deepface/tests/dataset/img9.jpg,deepface/tests/dataset/img59.jpg,No,0.8449,0.8766,1.2999,1.1333,18.3376,1.5055,0.8844,1.33,0.3088,67.5783,0.7859 deepface/tests/dataset/img58.jpg,deepface/tests/dataset/img49.jpg,No,0.5999,0.8901,1.0953,0.9147,15.3098,1.3526,0.4925,0.9925,0.2266,63.0835,0.6733 deepface/tests/dataset/img56.jpg,deepface/tests/dataset/img59.jpg,No,0.7694,0.9166,1.2405,1.0062,17.304,1.4186,0.8703,1.3193,0.2966,70.5446,0.7702 deepface/tests/dataset/img4.jpg,deepface/tests/dataset/img8.jpg,No,0.5753,0.6478,1.0727,0.842,15.2912,1.2977,0.3808,0.8727,0.1878,59.2,0.6129 deepface/tests/dataset/img16.jpg,deepface/tests/dataset/img25.jpg,No,0.5927,0.6271,1.0887,0.9862,16.5907,1.4044,0.286,0.7563,0.1702,56.0079,0.5835 deepface/tests/dataset/img50.jpg,deepface/tests/dataset/img45.jpg,No,0.5692,0.6912,1.067,0.8581,15.6737,1.3101,0.3278,0.8097,0.2383,60.6426,0.6903 deepface/tests/dataset/img38.jpg,deepface/tests/dataset/img31.jpg,No,0.4739,0.4751,0.9736,1.1148,18.1862,1.4932,0.6661,1.1542,0.331,70.516,0.8136 deepface/tests/dataset/img13.jpg,deepface/tests/dataset/img51.jpg,No,0.5639,0.7621,1.062,0.8047,14.7361,1.2686,0.4,0.8945,0.2308,60.6072,0.6795 deepface/tests/dataset/img1.jpg,deepface/tests/dataset/img33.jpg,No,0.7127,0.6418,1.1939,0.9433,16.1933,1.3736,0.6509,1.1409,0.2684,62.7672,0.7326 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img16.jpg,No,0.8344,0.7073,1.2918,0.9023,16.3918,1.3433,0.4153,0.9114,0.3045,65.6394,0.7803 deepface/tests/dataset/img53.jpg,deepface/tests/dataset/img23.jpg,No,0.4644,0.5199,0.9637,0.7267,14.6939,1.2056,0.1784,0.5973,0.2774,55.6833,0.7448 ================================================ FILE: tests/unit/dataset/master.csv ================================================ file_x,file_y,Decision img20.jpg,img21.jpg,Yes img16.jpg,img17.jpg,Yes img3.jpg,img12.jpg,Yes img22.jpg,img23.jpg,Yes img24.jpg,img25.jpg,Yes img1.jpg,img2.jpg,Yes img1.jpg,img4.jpg,Yes img1.jpg,img5.jpg,Yes img1.jpg,img6.jpg,Yes img1.jpg,img7.jpg,Yes img1.jpg,img10.jpg,Yes img1.jpg,img11.jpg,Yes img2.jpg,img4.jpg,Yes img2.jpg,img5.jpg,Yes img2.jpg,img6.jpg,Yes img2.jpg,img7.jpg,Yes img2.jpg,img10.jpg,Yes img2.jpg,img11.jpg,Yes img4.jpg,img5.jpg,Yes img4.jpg,img6.jpg,Yes img4.jpg,img7.jpg,Yes img4.jpg,img10.jpg,Yes img4.jpg,img11.jpg,Yes img5.jpg,img6.jpg,Yes img5.jpg,img7.jpg,Yes img5.jpg,img10.jpg,Yes img5.jpg,img11.jpg,Yes img6.jpg,img7.jpg,Yes img6.jpg,img10.jpg,Yes img6.jpg,img11.jpg,Yes img7.jpg,img10.jpg,Yes img7.jpg,img11.jpg,Yes img10.jpg,img11.jpg,Yes img13.jpg,img14.jpg,Yes img13.jpg,img15.jpg,Yes img14.jpg,img15.jpg,Yes img18.jpg,img19.jpg,Yes img8.jpg,img9.jpg,Yes img20.jpg,img16.jpg,No img20.jpg,img17.jpg,No img21.jpg,img16.jpg,No img21.jpg,img17.jpg,No img20.jpg,img3.jpg,No img20.jpg,img12.jpg,No img21.jpg,img3.jpg,No img21.jpg,img12.jpg,No img20.jpg,img22.jpg,No img20.jpg,img23.jpg,No img21.jpg,img22.jpg,No img21.jpg,img23.jpg,No img20.jpg,img24.jpg,No img20.jpg,img25.jpg,No img21.jpg,img24.jpg,No img21.jpg,img25.jpg,No img20.jpg,img1.jpg,No img20.jpg,img2.jpg,No img20.jpg,img4.jpg,No img20.jpg,img5.jpg,No img20.jpg,img6.jpg,No img20.jpg,img7.jpg,No img20.jpg,img10.jpg,No img20.jpg,img11.jpg,No img21.jpg,img1.jpg,No img21.jpg,img2.jpg,No img21.jpg,img4.jpg,No img21.jpg,img5.jpg,No img21.jpg,img6.jpg,No img21.jpg,img7.jpg,No img21.jpg,img10.jpg,No img21.jpg,img11.jpg,No img20.jpg,img13.jpg,No img20.jpg,img14.jpg,No img20.jpg,img15.jpg,No img21.jpg,img13.jpg,No img21.jpg,img14.jpg,No img21.jpg,img15.jpg,No img20.jpg,img18.jpg,No img20.jpg,img19.jpg,No img21.jpg,img18.jpg,No img21.jpg,img19.jpg,No img20.jpg,img8.jpg,No img20.jpg,img9.jpg,No img21.jpg,img8.jpg,No img21.jpg,img9.jpg,No img16.jpg,img3.jpg,No img16.jpg,img12.jpg,No img17.jpg,img3.jpg,No img17.jpg,img12.jpg,No img16.jpg,img22.jpg,No img16.jpg,img23.jpg,No img17.jpg,img22.jpg,No img17.jpg,img23.jpg,No img16.jpg,img24.jpg,No img16.jpg,img25.jpg,No img17.jpg,img24.jpg,No img17.jpg,img25.jpg,No img16.jpg,img1.jpg,No img16.jpg,img2.jpg,No img16.jpg,img4.jpg,No img16.jpg,img5.jpg,No img16.jpg,img6.jpg,No img16.jpg,img7.jpg,No img16.jpg,img10.jpg,No img16.jpg,img11.jpg,No img17.jpg,img1.jpg,No img17.jpg,img2.jpg,No img17.jpg,img4.jpg,No img17.jpg,img5.jpg,No img17.jpg,img6.jpg,No img17.jpg,img7.jpg,No img17.jpg,img10.jpg,No img17.jpg,img11.jpg,No img16.jpg,img13.jpg,No img16.jpg,img14.jpg,No img16.jpg,img15.jpg,No img17.jpg,img13.jpg,No img17.jpg,img14.jpg,No img17.jpg,img15.jpg,No img16.jpg,img18.jpg,No img16.jpg,img19.jpg,No img17.jpg,img18.jpg,No img17.jpg,img19.jpg,No img16.jpg,img8.jpg,No img16.jpg,img9.jpg,No img17.jpg,img8.jpg,No img17.jpg,img9.jpg,No img3.jpg,img22.jpg,No img3.jpg,img23.jpg,No img12.jpg,img22.jpg,No img12.jpg,img23.jpg,No img3.jpg,img24.jpg,No img3.jpg,img25.jpg,No img12.jpg,img24.jpg,No img12.jpg,img25.jpg,No img3.jpg,img1.jpg,No img3.jpg,img2.jpg,No img3.jpg,img4.jpg,No img3.jpg,img5.jpg,No img3.jpg,img6.jpg,No img3.jpg,img7.jpg,No img3.jpg,img10.jpg,No img3.jpg,img11.jpg,No img12.jpg,img1.jpg,No img12.jpg,img2.jpg,No img12.jpg,img4.jpg,No img12.jpg,img5.jpg,No img12.jpg,img6.jpg,No img12.jpg,img7.jpg,No img12.jpg,img10.jpg,No img12.jpg,img11.jpg,No img3.jpg,img13.jpg,No img3.jpg,img14.jpg,No img3.jpg,img15.jpg,No img12.jpg,img13.jpg,No img12.jpg,img14.jpg,No img12.jpg,img15.jpg,No img3.jpg,img18.jpg,No img3.jpg,img19.jpg,No img12.jpg,img18.jpg,No img12.jpg,img19.jpg,No img3.jpg,img8.jpg,No img3.jpg,img9.jpg,No img12.jpg,img8.jpg,No img12.jpg,img9.jpg,No img22.jpg,img24.jpg,No img22.jpg,img25.jpg,No img23.jpg,img24.jpg,No img23.jpg,img25.jpg,No img22.jpg,img1.jpg,No img22.jpg,img2.jpg,No img22.jpg,img4.jpg,No img22.jpg,img5.jpg,No img22.jpg,img6.jpg,No img22.jpg,img7.jpg,No img22.jpg,img10.jpg,No img22.jpg,img11.jpg,No img23.jpg,img1.jpg,No img23.jpg,img2.jpg,No img23.jpg,img4.jpg,No img23.jpg,img5.jpg,No img23.jpg,img6.jpg,No img23.jpg,img7.jpg,No img23.jpg,img10.jpg,No img23.jpg,img11.jpg,No img22.jpg,img13.jpg,No img22.jpg,img14.jpg,No img22.jpg,img15.jpg,No img23.jpg,img13.jpg,No img23.jpg,img14.jpg,No img23.jpg,img15.jpg,No img22.jpg,img18.jpg,No img22.jpg,img19.jpg,No img23.jpg,img18.jpg,No img23.jpg,img19.jpg,No img22.jpg,img8.jpg,No img22.jpg,img9.jpg,No img23.jpg,img8.jpg,No img23.jpg,img9.jpg,No img24.jpg,img1.jpg,No img24.jpg,img2.jpg,No img24.jpg,img4.jpg,No img24.jpg,img5.jpg,No img24.jpg,img6.jpg,No img24.jpg,img7.jpg,No img24.jpg,img10.jpg,No img24.jpg,img11.jpg,No img25.jpg,img1.jpg,No img25.jpg,img2.jpg,No img25.jpg,img4.jpg,No img25.jpg,img5.jpg,No img25.jpg,img6.jpg,No img25.jpg,img7.jpg,No img25.jpg,img10.jpg,No img25.jpg,img11.jpg,No img24.jpg,img13.jpg,No img24.jpg,img14.jpg,No img24.jpg,img15.jpg,No img25.jpg,img13.jpg,No img25.jpg,img14.jpg,No img25.jpg,img15.jpg,No img24.jpg,img18.jpg,No img24.jpg,img19.jpg,No img25.jpg,img18.jpg,No img25.jpg,img19.jpg,No img24.jpg,img8.jpg,No img24.jpg,img9.jpg,No img25.jpg,img8.jpg,No img25.jpg,img9.jpg,No img1.jpg,img13.jpg,No img1.jpg,img14.jpg,No img1.jpg,img15.jpg,No img2.jpg,img13.jpg,No img2.jpg,img14.jpg,No img2.jpg,img15.jpg,No img4.jpg,img13.jpg,No img4.jpg,img14.jpg,No img4.jpg,img15.jpg,No img5.jpg,img13.jpg,No img5.jpg,img14.jpg,No img5.jpg,img15.jpg,No img6.jpg,img13.jpg,No img6.jpg,img14.jpg,No img6.jpg,img15.jpg,No img7.jpg,img13.jpg,No img7.jpg,img14.jpg,No img7.jpg,img15.jpg,No img10.jpg,img13.jpg,No img10.jpg,img14.jpg,No img10.jpg,img15.jpg,No img11.jpg,img13.jpg,No img11.jpg,img14.jpg,No img11.jpg,img15.jpg,No img1.jpg,img18.jpg,No img1.jpg,img19.jpg,No img2.jpg,img18.jpg,No img2.jpg,img19.jpg,No img4.jpg,img18.jpg,No img4.jpg,img19.jpg,No img5.jpg,img18.jpg,No img5.jpg,img19.jpg,No img6.jpg,img18.jpg,No img6.jpg,img19.jpg,No img7.jpg,img18.jpg,No img7.jpg,img19.jpg,No img10.jpg,img18.jpg,No img10.jpg,img19.jpg,No img11.jpg,img18.jpg,No img11.jpg,img19.jpg,No img1.jpg,img8.jpg,No img1.jpg,img9.jpg,No img2.jpg,img8.jpg,No img2.jpg,img9.jpg,No img4.jpg,img8.jpg,No img4.jpg,img9.jpg,No img5.jpg,img8.jpg,No img5.jpg,img9.jpg,No img6.jpg,img8.jpg,No img6.jpg,img9.jpg,No img7.jpg,img8.jpg,No img7.jpg,img9.jpg,No img10.jpg,img8.jpg,No img10.jpg,img9.jpg,No img11.jpg,img8.jpg,No img11.jpg,img9.jpg,No img13.jpg,img18.jpg,No img13.jpg,img19.jpg,No img14.jpg,img18.jpg,No img14.jpg,img19.jpg,No img15.jpg,img18.jpg,No img15.jpg,img19.jpg,No img13.jpg,img8.jpg,No img13.jpg,img9.jpg,No img14.jpg,img8.jpg,No img14.jpg,img9.jpg,No img15.jpg,img8.jpg,No img15.jpg,img9.jpg,No img18.jpg,img8.jpg,No img18.jpg,img9.jpg,No img19.jpg,img8.jpg,No img19.jpg,img9.jpg,No ================================================ FILE: tests/unit/face-recognition-how.py ================================================ # 3rd party dependencies import matplotlib.pyplot as plt import numpy as np import cv2 # project dependencies from deepface import DeepFace from deepface.modules import verification from deepface.models.FacialRecognition import FacialRecognition from deepface.commons.logger import Logger logger = Logger() # ---------------------------------------------- # build face recognition model model_name = "VGG-Face" model: FacialRecognition = DeepFace.build_model(task="facial_recognition", model_name=model_name) target_size = model.input_shape logger.info(f"target_size: {target_size}") # ---------------------------------------------- # load images and find embeddings img1 = DeepFace.extract_faces(img_path="dataset/img1.jpg")[0]["face"] img1 = cv2.resize(img1, target_size) img1 = np.expand_dims(img1, axis=0) # to (1, 224, 224, 3) img1_representation = model.forward(img1) img2 = DeepFace.extract_faces(img_path="dataset/img3.jpg")[0]["face"] img2 = cv2.resize(img2, target_size) img2 = np.expand_dims(img2, axis=0) img2_representation = model.forward(img2) img1_representation = np.array(img1_representation) img2_representation = np.array(img2_representation) # ---------------------------------------------- # distance between two images - euclidean distance formula distance_vector = np.square(img1_representation - img2_representation) current_distance = np.sqrt(distance_vector.sum()) logger.info(f"Euclidean distance: {current_distance}") threshold = verification.find_threshold(model_name=model_name, distance_metric="euclidean") logger.info(f"Threshold for {model_name}-euclidean pair is {threshold}") if current_distance < threshold: logger.info( f"This pair is same person because its distance {current_distance}" f" is less than threshold {threshold}" ) else: logger.info( f"This pair is different persons because its distance {current_distance}" f" is greater than threshold {threshold}" ) # ---------------------------------------------- # expand vectors to be shown better in graph img1_graph = [] img2_graph = [] distance_graph = [] for i in range(0, 200): img1_graph.append(img1_representation) img2_graph.append(img2_representation) distance_graph.append(distance_vector) img1_graph = np.array(img1_graph) img2_graph = np.array(img2_graph) distance_graph = np.array(distance_graph) # ---------------------------------------------- # plotting fig = plt.figure() ax1 = fig.add_subplot(3, 2, 1) plt.imshow(img1[0]) plt.axis("off") ax2 = fig.add_subplot(3, 2, 2) im = plt.imshow(img1_graph, interpolation="nearest", cmap=plt.cm.ocean) plt.colorbar() ax3 = fig.add_subplot(3, 2, 3) plt.imshow(img2[0]) plt.axis("off") ax4 = fig.add_subplot(3, 2, 4) im = plt.imshow(img2_graph, interpolation="nearest", cmap=plt.cm.ocean) plt.colorbar() ax5 = fig.add_subplot(3, 2, 5) plt.text(0.35, 0, f"Distance: {current_distance}") plt.axis("off") ax6 = fig.add_subplot(3, 2, 6) im = plt.imshow(distance_graph, interpolation="nearest", cmap=plt.cm.ocean) plt.colorbar() plt.show() # ---------------------------------------------- ================================================ FILE: tests/unit/overlay.py ================================================ # 3rd party dependencies import cv2 import matplotlib.pyplot as plt # project dependencies from deepface.modules import streaming from deepface import DeepFace img_path = "dataset/img1.jpg" img = cv2.imread(img_path) overlay_img_path = "dataset/img6.jpg" face_objs = DeepFace.extract_faces(overlay_img_path) overlay_img = face_objs[0]["face"][:, :, ::-1] * 255 overlay_img = cv2.resize(overlay_img, (112, 112)) raw_img = img.copy() demographies = DeepFace.analyze(img_path=img_path, actions=("age", "gender", "emotion")) demography = demographies[0] x = demography["region"]["x"] y = demography["region"]["y"] w = demography["region"]["w"] h = demography["region"]["h"] img = streaming.highlight_facial_areas(img=img, faces_coordinates=[(x, y, w, h)]) img = streaming.overlay_emotion( img=img, emotion_probas=demography["emotion"], x=x, y=y, w=w, h=h, ) img = streaming.overlay_age_gender( img=img, apparent_age=demography["age"], gender=demography["dominant_gender"][0:1], x=x, y=y, w=w, h=h, ) img = streaming.overlay_identified_face( img=img, target_img=overlay_img, label="angelina", x=x, y=y, w=w, h=h, ) plt.imshow(img[:, :, ::-1]) plt.show() ================================================ FILE: tests/unit/stream.py ================================================ from deepface import DeepFace DeepFace.stream("dataset", enable_face_analysis=False, anti_spoofing=True) # opencv # DeepFace.stream("dataset", detector_backend = 'opencv') # DeepFace.stream("dataset", detector_backend = 'ssd') # DeepFace.stream("dataset", detector_backend = 'mtcnn') # DeepFace.stream("dataset", detector_backend = 'dlib') # DeepFace.stream("dataset", detector_backend = 'retinaface') ================================================ FILE: tests/unit/test_analyze.py ================================================ # 3rd party dependencies import cv2 import numpy as np # project dependencies from deepface import DeepFace from deepface.models.demography import Age, Emotion, Gender, Race from deepface.commons.logger import Logger logger = Logger() detectors = ["opencv", "mtcnn"] def test_standard_analyze(): img = "dataset/img4.jpg" demography_objs = DeepFace.analyze(img, silent=True) # return type should be list of dict for non batch input assert isinstance(demography_objs, list) for demography in demography_objs: assert isinstance(demography, dict) logger.debug(demography) assert demography["age"] > 20 and demography["age"] < 40 assert demography["dominant_gender"] == "Woman" logger.info("✅ test standard analyze done") def test_analyze_with_all_actions_as_tuple(): img = "dataset/img4.jpg" demography_objs = DeepFace.analyze( img, actions=("age", "gender", "race", "emotion"), silent=True ) for demography in demography_objs: logger.debug(f"Demography: {demography}") assert type(demography) == dict age = demography["age"] gender = demography["dominant_gender"] race = demography["dominant_race"] emotion = demography["dominant_emotion"] logger.debug(f"Age: {age}") logger.debug(f"Gender: {gender}") logger.debug(f"Race: {race}") logger.debug(f"Emotion: {emotion}") assert demography.get("age") is not None assert demography.get("dominant_gender") is not None assert demography.get("dominant_race") is not None assert demography.get("dominant_emotion") is not None logger.info("✅ test analyze for all actions as tuple done") def test_analyze_with_all_actions_as_list(): img = "dataset/img4.jpg" demography_objs = DeepFace.analyze( img, actions=["age", "gender", "race", "emotion"], silent=True ) for demography in demography_objs: logger.debug(f"Demography: {demography}") assert type(demography) == dict age = demography["age"] gender = demography["dominant_gender"] race = demography["dominant_race"] emotion = demography["dominant_emotion"] logger.debug(f"Age: {age}") logger.debug(f"Gender: {gender}") logger.debug(f"Race: {race}") logger.debug(f"Emotion: {emotion}") assert demography.get("age") is not None assert demography.get("dominant_gender") is not None assert demography.get("dominant_race") is not None assert demography.get("dominant_emotion") is not None logger.info("✅ test analyze for all actions as array done") def test_analyze_for_some_actions(): img = "dataset/img4.jpg" demography_objs = DeepFace.analyze(img, ["age", "gender"], silent=True) for demography in demography_objs: assert type(demography) == dict age = demography["age"] gender = demography["dominant_gender"] logger.debug(f"Age: { age }") logger.debug(f"Gender: {gender}") assert demography.get("age") is not None assert demography.get("dominant_gender") is not None # these are not in actions assert demography.get("dominant_race") is None assert demography.get("dominant_emotion") is None logger.info("✅ test analyze for some actions done") def test_analyze_for_preloaded_image(): img = cv2.imread("dataset/img1.jpg") resp_objs = DeepFace.analyze(img, silent=True) # return type should be list of dict for non batch input assert isinstance(resp_objs, list) for resp_obj in resp_objs: assert isinstance(resp_obj, dict) logger.debug(resp_obj) assert resp_obj["age"] > 20 and resp_obj["age"] < 40 assert resp_obj["dominant_gender"] == "Woman" logger.info("✅ test analyze for pre-loaded image done") def test_analyze_for_different_detectors(): img_paths = [ "dataset/img1.jpg", "dataset/img5.jpg", "dataset/img6.jpg", "dataset/img8.jpg", "dataset/img1.jpg", "dataset/img2.jpg", "dataset/img1.jpg", "dataset/img2.jpg", "dataset/img6.jpg", "dataset/img6.jpg", ] for img_path in img_paths: for detector in detectors: results = DeepFace.analyze( img_path, actions=("gender",), detector_backend=detector, enforce_detection=False ) # return type should be list of dict for non batch input assert isinstance(results, list) for result in results: assert isinstance(result, dict) logger.debug(result) # validate keys assert "gender" in result.keys() assert "dominant_gender" in result.keys() and result["dominant_gender"] in [ "Man", "Woman", ] # validate probabilities if result["dominant_gender"] == "Man": assert result["gender"]["Man"] > result["gender"]["Woman"] else: assert result["gender"]["Man"] < result["gender"]["Woman"] def test_analyze_for_batched_image_as_list_of_string(): img_paths = ["dataset/img1.jpg", "dataset/img2.jpg", "dataset/couple.jpg"] expected_faces = [1, 1, 2] demography_batch = DeepFace.analyze(img_path=img_paths, silent=True) # return type should be list of list of dict for batch input assert isinstance(demography_batch, list) # 3 image in batch, so 3 demography objects assert len(demography_batch) == len(img_paths) for idx, demography_objs in enumerate(demography_batch): assert isinstance(demography_objs, list) assert len(demography_objs) == expected_faces[idx] for demography_obj in demography_objs: assert isinstance(demography_obj, dict) assert demography_obj["age"] > 20 and demography_obj["age"] < 40 assert demography_obj["dominant_gender"] in ["Woman", "Man"] logger.info("✅ test analyze for batched image as list of string done") def test_analyze_for_batched_image_as_list_of_numpy(): img_paths = ["dataset/img1.jpg", "dataset/img2.jpg", "dataset/couple.jpg"] expected_faces = [1, 1, 2] imgs = [] for img_path in img_paths: img = cv2.imread(img_path) imgs.append(img) demography_batch = DeepFace.analyze(img_path=imgs, silent=True) # return type should be list of list of dict for batch input assert isinstance(demography_batch, list) # 3 image in batch, so 3 demography objects assert len(demography_batch) == len(img_paths) for idx, demography_objs in enumerate(demography_batch): assert isinstance(demography_objs, list) assert len(demography_objs) == expected_faces[idx] for demography_obj in demography_objs: assert isinstance(demography_obj, dict) assert demography_obj["age"] > 20 and demography_obj["age"] < 40 assert demography_obj["dominant_gender"] in ["Woman", "Man"] logger.info("✅ test analyze for batched image as list of numpy done") def test_analyze_for_numpy_batched_image(): img1_path = "dataset/img4.jpg" img2_path = "dataset/couple.jpg" # Copy and combine the same image to create multiple faces img1 = cv2.imread(img1_path) img2 = cv2.imread(img2_path) expected_num_faces = [1, 2] img1 = cv2.resize(img1, (500, 500)) img2 = cv2.resize(img2, (500, 500)) img = np.stack([img1, img2]) assert len(img.shape) == 4 # Check dimension. assert img.shape[0] == 2 # Check batch size. demography_batch = DeepFace.analyze(img, silent=True) # return type should be list of list of dict for batch input assert isinstance(demography_batch, list) # 2 image in batch, so 2 demography objects. assert len(demography_batch) == 2 for i, demography_objs in enumerate(demography_batch): assert isinstance(demography_objs, list) assert len(demography_objs) == expected_num_faces[i] for demography in demography_objs: # Iterate over faces assert isinstance(demography, dict) assert demography["age"] > 20 and demography["age"] < 40 assert demography["dominant_gender"] in ["Woman", "Man"] logger.info("✅ test analyze for multiple faces done") def test_batch_detect_age_for_multiple_faces(): # Load test image and resize to model input size img = cv2.resize(cv2.imread("dataset/img1.jpg"), (224, 224)) imgs = [img, img] results = Age.ApparentAgeClient().predict(imgs) # Check there are two ages detected assert len(results) == 2 # Check two faces ages are the same in integer format(e.g. 23.6 -> 23) # Must use int() to compare because of max float precision issue in different platforms assert np.array_equal(int(results[0]), int(results[1])) logger.info("✅ test batch detect age for multiple faces done") def test_batch_detect_emotion_for_multiple_faces(): # Load test image and resize to model input size img = cv2.resize(cv2.imread("dataset/img1.jpg"), (224, 224)) imgs = [img, img] results = Emotion.EmotionClient().predict(imgs) # Check there are two emotions detected assert len(results) == 2 # Check two faces emotions are the same assert np.array_equal(results[0], results[1]) logger.info("✅ test batch detect emotion for multiple faces done") def test_batch_detect_gender_for_multiple_faces(): # Load test image and resize to model input size img = cv2.resize(cv2.imread("dataset/img1.jpg"), (224, 224)) imgs = [img, img] results = Gender.GenderClient().predict(imgs) # Check there are two genders detected assert len(results) == 2 # Check two genders are the same assert np.array_equal(results[0], results[1]) logger.info("✅ test batch detect gender for multiple faces done") def test_batch_detect_race_for_multiple_faces(): # Load test image and resize to model input size img = cv2.resize(cv2.imread("dataset/img1.jpg"), (224, 224)) imgs = [img, img] results = Race.RaceClient().predict(imgs) # Check there are two races detected assert len(results) == 2 # Check two races are the same assert np.array_equal(results[0], results[1]) logger.info("✅ test batch detect race for multiple faces done") ================================================ FILE: tests/unit/test_api.py ================================================ # built-in dependencies import base64 import os import shutil import unittest from pathlib import Path from tempfile import TemporaryDirectory from unittest.mock import MagicMock, patch # 3rd party dependencies import flask import gdown import numpy as np import werkzeug from flask import Flask from packaging import version # project dependencies from deepface.api.src.app import create_app from deepface.api.src.modules.core import routes from deepface.commons.logger import Logger from deepface.modules.detection import extract_faces, DetectedFace, FacialAreaRegion from deepface.modules import detection logger = Logger() IMG1_SOURCE = "https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img1.jpg" IMG2_SOURCE = "https://raw.githubusercontent.com/serengil/deepface/refs/heads/master/tests/unit/dataset/img2.jpg" DUMMY_APP = Flask(__name__) # pylint: disable=too-many-public-methods, too-many-positional-arguments class TestApiFunctions(unittest.TestCase): def setUp(self): download_test_images(IMG1_SOURCE) download_test_images(IMG2_SOURCE) app = create_app() app.config["DEBUG"] = True app.config["TESTING"] = True self.app = app.test_client() def setup_invalid_image(self): """Create a file with invalid image data in a temporary directory.""" self.tempdir = TemporaryDirectory(prefix="test-", dir=".") self.addCleanup(shutil.rmtree, self.tempdir.name) self.invalid_image_path = Path(self.tempdir.name) / "invalid.jpg" self.invalid_image_path.write_text("Not JPEG data") def test_tp_verify(self): data = { "img1": "dataset/img1.jpg", "img2": "dataset/img2.jpg", } response = self.app.post("/verify", json=data) assert response.status_code == 200 result = response.json logger.debug(result) assert result.get("verified") is not None assert result.get("model") is not None assert result.get("similarity_metric") is not None assert result.get("detector_backend") is not None assert result.get("distance") is not None assert result.get("threshold") is not None assert result.get("facial_areas") is not None assert result.get("verified") is True logger.info("✅ true-positive verification api test is done") def test_tn_verify(self): data = { "img1": "dataset/img1.jpg", "img2": "dataset/img2.jpg", } response = self.app.post("/verify", json=data) assert response.status_code == 200 result = response.json logger.debug(result) assert result.get("verified") is not None assert result.get("model") is not None assert result.get("similarity_metric") is not None assert result.get("detector_backend") is not None assert result.get("distance") is not None assert result.get("threshold") is not None assert result.get("facial_areas") is not None assert result.get("verified") is True logger.info("✅ true-negative verification api test is done") def test_represent(self): data = { "img": "dataset/img1.jpg", } response = self.app.post("/represent", json=data) assert response.status_code == 200 result = response.json logger.debug(result) assert result.get("results") is not None assert isinstance(result["results"], list) is True assert len(result["results"]) > 0 for i in result["results"]: assert i.get("embedding") is not None assert isinstance(i.get("embedding"), list) is True assert len(i.get("embedding")) == 4096 assert i.get("face_confidence") is not None assert i.get("facial_area") is not None logger.info("✅ representation api test is done (for image path)") def test_represent_encoded(self): image_path = "dataset/img1.jpg" with open(image_path, "rb") as image_file: encoded_string = "data:image/jpeg;base64," + base64.b64encode(image_file.read()).decode( "utf8" ) data = {"model_name": "Facenet", "detector_backend": "mtcnn", "img": encoded_string} response = self.app.post("/represent", json=data) assert response.status_code == 200 result = response.json logger.debug(result) assert result.get("results") is not None assert isinstance(result["results"], list) is True assert len(result["results"]) > 0 for i in result["results"]: assert i.get("embedding") is not None assert isinstance(i.get("embedding"), list) is True assert len(i.get("embedding")) == 128 assert i.get("face_confidence") is not None assert i.get("facial_area") is not None logger.info("✅ representation api test is done (for encoded image)") def test_represent_url(self): data = { "model_name": "Facenet", "detector_backend": "mtcnn", "img": "https://github.com/serengil/deepface/blob/master/tests/unit/dataset/couple.jpg?raw=true", } response = self.app.post("/represent", json=data) assert response.status_code == 200 result = response.json logger.debug(result) assert result.get("results") is not None assert isinstance(result["results"], list) is True assert len(result["results"]) == 2 # 2 faces are in the image link for i in result["results"]: assert i.get("embedding") is not None assert isinstance(i.get("embedding"), list) is True assert len(i.get("embedding")) == 128 assert i.get("face_confidence") is not None assert i.get("facial_area") is not None logger.info("✅ representation api test is done (for image url)") def test_analyze(self): data = { "img": "dataset/img1.jpg", } response = self.app.post("/analyze", json=data) assert response.status_code == 200 result = response.json logger.debug(result) assert result.get("results") is not None assert isinstance(result["results"], list) is True assert len(result["results"]) > 0 for i in result["results"]: assert i.get("age") is not None assert isinstance(i.get("age"), (int, float)) assert i.get("dominant_gender") is not None assert i.get("dominant_gender") in ["Man", "Woman"] assert i.get("dominant_emotion") is not None assert i.get("dominant_race") is not None logger.info("✅ analyze api test is done") def test_analyze_inputformats(self): image_path = "dataset/couple.jpg" with open(image_path, "rb") as image_file: encoded_image = "data:image/jpeg;base64," + base64.b64encode(image_file.read()).decode( "utf8" ) image_sources = [ # image path image_path, # image url f"https://github.com/serengil/deepface/blob/master/tests/unit/{image_path}?raw=true", # encoded image encoded_image, ] results = [] for img in image_sources: data = { "img": img, } response = self.app.post("/analyze", json=data) assert response.status_code == 200 result = response.json results.append(result) assert result.get("results") is not None assert isinstance(result["results"], list) is True assert len(result["results"]) > 0 for i in result["results"]: assert i.get("age") is not None assert isinstance(i.get("age"), (int, float)) assert i.get("dominant_gender") is not None assert i.get("dominant_gender") in ["Man", "Woman"] assert i.get("dominant_emotion") is not None assert i.get("dominant_race") is not None assert len(results[0]["results"]) == len(results[1]["results"]) and len( results[0]["results"] ) == len(results[2]["results"]) for i in range(len(results[0]["results"])): assert ( results[0]["results"][i]["dominant_emotion"] == results[1]["results"][i]["dominant_emotion"] and results[0]["results"][i]["dominant_emotion"] == results[2]["results"][i]["dominant_emotion"] ) assert ( results[0]["results"][i]["dominant_gender"] == results[1]["results"][i]["dominant_gender"] and results[0]["results"][i]["dominant_gender"] == results[2]["results"][i]["dominant_gender"] ) assert ( results[0]["results"][i]["dominant_race"] == results[1]["results"][i]["dominant_race"] and results[0]["results"][i]["dominant_race"] == results[2]["results"][i]["dominant_race"] ) logger.info("✅ different inputs test is done") def test_invalid_verify(self): data = { "img1": "dataset/invalid_1.jpg", "img2": "dataset/invalid_2.jpg", } response = self.app.post("/verify", json=data) assert response.status_code == 400 logger.info("✅ invalid verification request api test is done") def test_invalid_represent(self): """/represent fails with status 400 for invalid image data""" self.setup_invalid_image() data = { "img": str(self.invalid_image_path), } response = self.app.post("/represent", json=data) assert response.status_code == 400 logger.info("✅ invalid represent request api test is done") def test_no_file_represent(self): """/represent fails with status 400 for missing image file""" data = { "img": "no_such_file.jpg", } response = self.app.post("/represent", json=data) assert response.status_code == 400 def test_invalid_analyze(self): """/analyze fails with status 400 for invalid image data""" self.setup_invalid_image() data = { "img": str(self.invalid_image_path), } response = self.app.post("/analyze", json=data) assert response.status_code == 400 def test_no_file_analyze(self): """/analyze fails with status 400 for missing image file""" data = { "img": "no_such_file.jpg", } response = self.app.post("/analyze", json=data) assert response.status_code == 400 def test_analyze_for_multipart_form_data(self): if is_form_data_file_testable() is False: return with open("/tmp/img1.jpg", "rb") as img_file: response = self.app.post( "/analyze", content_type="multipart/form-data", data={ "img": (img_file, "test_image.jpg"), "actions": '["age", "gender"]', "detector_backend": "mtcnn", }, ) result = response.json assert response.status_code == 200, response.data assert isinstance(result, dict) assert result.get("age") is not True assert result.get("dominant_gender") is not True logger.info("✅ analyze api for multipart form data test is done") def test_verify_for_multipart_form_data(self): if is_form_data_file_testable() is False: return with open("/tmp/img1.jpg", "rb") as img1_file: with open("/tmp/img2.jpg", "rb") as img2_file: response = self.app.post( "/verify", content_type="multipart/form-data", data={ "img1": (img1_file, "first_image.jpg"), "img2": (img2_file, "second_image.jpg"), "model_name": "Facenet", "detector_backend": "mtcnn", "distance_metric": "euclidean", }, ) assert response.status_code == 200, response.data result = response.json assert isinstance(result, dict) assert result.get("verified") is not None assert result.get("model") == "Facenet" assert result.get("similarity_metric") is not None assert result.get("detector_backend") == "mtcnn" assert result.get("threshold") is not None assert result.get("facial_areas") is not None logger.info("✅ verify api for multipart form data test is done") def test_represent_for_multipart_form_data(self): if is_form_data_file_testable() is False: return with open("/tmp/img1.jpg", "rb") as img_file: response = self.app.post( "/represent", content_type="multipart/form-data", data={ "img": (img_file, "first_image.jpg"), "model_name": "Facenet", "detector_backend": "mtcnn", }, ) assert response.status_code == 200 result = response.json assert isinstance(result, dict) logger.info("✅ represent api for multipart form data test is done") def test_represent_for_multipart_form_data_and_filepath(self): if is_form_data_file_testable() is False: return response = self.app.post( "/represent", content_type="multipart/form-data", data={ "img": "/tmp/img1.jpg", "model_name": "Facenet", "detector_backend": "mtcnn", }, ) assert response.status_code == 200 result = response.json assert isinstance(result, dict) logger.info("✅ represent api for multipart form data and file path test is done") def test_extract_image_from_form_data(self): if is_form_data_file_testable() is False: return img_key = "img1" img_itself = np.zeros((100, 100, 3), dtype=np.uint8) # Establish a temporary request context using the Flask app with DUMMY_APP.test_request_context("/dummy_endpoint"): # Mock the file part with patch("deepface.api.src.modules.core.routes.request") as mock_request: mock_file = MagicMock() mock_file.filename = "image.jpg" mock_request.files = {img_key: mock_file} # Mock the image loading function with patch( "deepface.commons.image_utils.load_image_from_file_storage", return_value=img_itself, ): result = routes.extract_image_from_request(img_key) assert isinstance(result, np.ndarray) assert np.array_equal(result, img_itself) logger.info("✅ test extract_image_from_request for real image from form data done") def test_extract_image_string_from_json_data(self): if is_form_data_file_testable() is False: return img_key = "img1" img_data = "image_url_or_path_or_base64" with DUMMY_APP.test_request_context("/dummy_endpoint"): with patch("deepface.api.src.modules.core.routes.request") as mock_request: # Mock JSON data mock_request.files = None mock_request.is_json = True mock_request.get_json = MagicMock(return_value={img_key: img_data}) result = routes.extract_image_from_request(img_key) assert isinstance(result, str) assert result == img_data logger.info("✅ test extract_image_from_request for image string from json done") def test_extract_image_string_from_form_data(self): if is_form_data_file_testable() is False: return img_key = "img1" img_data = "image_url_or_path_or_base64" with DUMMY_APP.test_request_context("/dummy_endpoint"): with patch("deepface.api.src.modules.core.routes.request") as mock_request: # Mock form data mock_request.files = None mock_request.is_json = False mock_request.get_json = MagicMock(return_value=None) mock_request.form = MagicMock() mock_request.form.to_dict.return_value = {img_key: img_data} result = routes.extract_image_from_request(img_key) assert isinstance(result, str) assert result == img_data logger.info("✅ test extract_image_from_request for image string from form done") class TestTokenValidation(unittest.TestCase): @patch.dict( os.environ, { "DEEPFACE_AUTH_TOKEN": "some_token", "DEEPFACE_CONNECTION_DETAILS": "some_connection_string", }, ) def setUp(self): app = create_app() app.config["DEBUG"] = True app.config["TESTING"] = True self.app = app.test_client() self.payloads = [ ("/verify", {"img1": "dataset/img1.jpg", "img2": "dataset/img2.jpg"}), ("/represent", {"img": "dataset/img1.jpg"}), ("/analyze", {"img": "dataset/img1.jpg"}), ("/register", {"img": "dataset/img1.jpg"}), ("/build/index", {}), ("/search", {"img": "dataset/img1.jpg"}), ] def test_missing_token(self): for endpoint, data in self.payloads: response = self.app.post(endpoint, json=data) assert response.status_code == 401 logger.info(f"✅ missing bearer token test for {endpoint} is done") def test_invalid_token(self): for endpoint, data in self.payloads: response = self.app.post( endpoint, json=data, headers={"Authorization": "Bearer wrong_token"} ) assert response.status_code == 401 logger.info(f"✅ invalid bearer token test for {endpoint} is done") @patch("deepface.api.src.modules.core.service.build_index") @patch("deepface.api.src.modules.core.service.search") @patch("deepface.api.src.modules.core.service.register") @patch("deepface.api.src.modules.core.service.represent") @patch("deepface.api.src.modules.core.service.analyze") @patch("deepface.api.src.modules.core.service.verify") def test_valid_token( self, mock_verify, mock_analyze, mock_represent, mock_register, mock_search, mock_build_index, ): mock_verify.return_value = ({"verified": True}, 200) mock_analyze.return_value = ({"results": []}, 200) mock_represent.return_value = ({"results": []}, 200) mock_register.return_value = ({"inserted": 1}, 200) mock_search.return_value = ({"results": []}, 200) mock_build_index.return_value = ({"message": "Index built successfully"}, 200) for endpoint, data in self.payloads: response = self.app.post( endpoint, json=data, headers={"Authorization": "Bearer some_token"} ) assert ( response.status_code == 200 ), f"Failed at {endpoint} with status {response.status_code}" logger.info(f"✅ valid bearer token test for {endpoint} is done") class TestConnectionStringFailedValidation(unittest.TestCase): def setUp(self): os.environ.pop("DEEPFACE_CONNECTION_DETAILS", None) os.environ.pop("DEEPFACE_POSTGRES_URI", None) app = create_app() app.config["DEBUG"] = True app.config["TESTING"] = True self.app = app.test_client() def test_register(self): response = self.app.post("/register", json={}) assert response.status_code == 500 logger.info("✅ invalid connection string test for /register is done") def test_build_index(self): response = self.app.post("/build/index", json={}) assert response.status_code == 500 logger.info("✅ invalid connection string test for /build/index is done") def test_search(self): response = self.app.post("/search", json={}) assert response.status_code == 500 logger.info("✅ invalid connection string test for /search is done") class TestConnectionStringSucceddedValidation(unittest.TestCase): @patch.dict(os.environ, {"DEEPFACE_CONNECTION_DETAILS": "some_connection_string"}) def setUp(self): self.patcher_register = patch("deepface.api.src.modules.core.service.register") self.patcher_search = patch("deepface.api.src.modules.core.service.search") self.patcher_build_index = patch("deepface.api.src.modules.core.service.build_index") self.mock_register = self.patcher_register.start() self.mock_search = self.patcher_search.start() self.mock_build_index = self.patcher_build_index.start() self.mock_register.return_value = ({"inserted": 1}, 200) self.mock_search.return_value = ({"results": []}, 200) self.mock_build_index.return_value = ({"message": "Index built successfully"}, 200) app = create_app() app.config["DEBUG"] = True app.config["TESTING"] = True self.app = app.test_client() def tearDown(self): self.patcher_register.stop() self.patcher_search.stop() self.patcher_build_index.stop() def test_register(self): response = self.app.post("/register", json={"img": "dataset/img1.jpg"}) assert response.status_code == 200, response.data logger.info("✅ successful connection string test for /register is done") def test_build_index(self): response = self.app.post("/build/index", json={}) assert response.status_code == 200, response.data logger.info("✅ successful connection string test for /build/index is done") def test_search(self): response = self.app.post("/search", json={"img": "dataset/img1.jpg"}) assert response.status_code == 200, response.data logger.info("✅ successful connection string test for /search is done") def download_test_images(url: str): file_name = url.split("/")[-1] target_file = f"/tmp/{file_name}" if os.path.exists(target_file) is True: return gdown.download(url, target_file, quiet=False) def is_form_data_file_testable() -> bool: """ Sending a file from form data fails in unit test with 415 unsupported media type error for flask 3.X but it is working for flask 2.0.2 Returns: is_form_data_file_testable (bool) """ flask_version = version.parse(flask.__version__) werkzeus_version = version.parse(werkzeug.__version__) threshold_version = version.parse("2.0.2") is_testable = flask_version <= threshold_version and werkzeus_version <= threshold_version if is_testable is False: logger.warn( "sending file in form data is not testable because of flask, werkzeus versions." f"Expected <= {threshold_version}, but {flask_version=} and {werkzeus_version}." ) return is_testable def test_landmarks_are_raw_python_types(monkeypatch): """ Tests that the landmarks returned by extract_faces are of raw Python types (int, tuple of ints). This is important for compatibility with frameworks like Flask that may have issues serializing NumPy types. """ fake_landmarks = { "x": 10, "y": np.int64(15), "w": 200, "h": 200, "left_eye": np.array([50, 60], dtype=np.int64), "right_eye": np.array([150, 60], dtype=np.int32), "nose": (100, 100), "confidence": 1, } def fake_detect_faces(**kwargs): return [ DetectedFace( img=np.zeros((200, 200, 3), dtype=np.uint8), facial_area=FacialAreaRegion( x=fake_landmarks["x"], y=fake_landmarks["y"], w=fake_landmarks["w"], h=fake_landmarks["h"], confidence=fake_landmarks["confidence"], left_eye=fake_landmarks["left_eye"], right_eye=fake_landmarks["right_eye"], nose=fake_landmarks["nose"], ), confidence=fake_landmarks["confidence"], ) ] monkeypatch.setattr(detection, "detect_faces", fake_detect_faces) def fake_load_image(*args, **kwargs): return np.zeros((200, 200, 3), dtype=np.uint8), "fake.jpg" monkeypatch.setattr(detection.image_utils, "load_image", fake_load_image) results = extract_faces("fake_path.jpg", detector_backend="opencv", enforce_detection=True) landmarks = results[0]["facial_area"] for _, value in landmarks.items(): if isinstance(value, tuple): assert all(isinstance(coord, int) for coord in value) else: assert isinstance(value, int) ================================================ FILE: tests/unit/test_commons.py ================================================ # built-in dependencies import os from unittest import mock from unittest.mock import MagicMock import pytest # project dependencies from deepface.commons import folder_utils, weight_utils, package_utils from deepface.commons.logger import Logger # pylint: disable=unused-argument logger = Logger() tf_version = package_utils.get_tf_major_version() # conditional imports if tf_version == 1: from keras.models import Sequential from keras.layers import ( Dropout, Dense, ) else: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import ( Dropout, Dense, ) def test_loading_broken_weights(): home = folder_utils.get_deepface_home() weight_file = os.path.join(home, ".deepface/weights/vgg_face_weights.h5") # construct a dummy model model = Sequential() # Add layers to the model model.add( Dense(units=64, activation="relu", input_shape=(100,)) ) # Input layer with 100 features model.add(Dropout(0.5)) # Dropout layer to prevent overfitting model.add(Dense(units=32, activation="relu")) # Hidden layer model.add(Dense(units=10, activation="softmax")) # Output layer with 10 classes # vgg's weights cannot be loaded to this model with pytest.raises( ValueError, match="An exception occurred while loading the pre-trained weights from" ): model = weight_utils.load_model_weights(model=model, weight_file=weight_file) logger.info("✅ test loading broken weight file is done") @mock.patch("deepface.commons.folder_utils.get_deepface_home") # Update with your actual module @mock.patch("gdown.download") # Mocking gdown's download function @mock.patch("os.path.isfile") # Mocking os.path.isfile @mock.patch("os.makedirs") # Mocking os.makedirs to avoid FileNotFoundError @mock.patch("zipfile.ZipFile") # Mocking the ZipFile class @mock.patch("bz2.BZ2File") # Mocking the BZ2File class @mock.patch("builtins.open", new_callable=mock.mock_open()) # Mocking open class TestDownloadWeightFeature: def test_download_weights_for_available_file( self, mock_open: MagicMock, mock_zipfile: MagicMock, mock_bz2file: MagicMock, mock_makedir: MagicMock, mock_isfile: MagicMock, mock_gdown: MagicMock, mock_get_deepface_home: MagicMock, ): mock_isfile.return_value = True mock_get_deepface_home.return_value = os.path.normpath("/mock/home") file_name = "model_weights.h5" source_url = "http://example.com/model_weights.zip" result = weight_utils.download_weights_if_necessary(file_name, source_url) assert os.path.normpath(result) == os.path.normpath( os.path.join("/mock/home", ".deepface/weights", file_name) ) mock_gdown.assert_not_called() mock_zipfile.assert_not_called() mock_bz2file.assert_not_called() logger.info("✅ test download weights for available file is done") def test_download_weights_if_necessary_gdown_failure( self, mock_open: MagicMock, mock_zipfile: MagicMock, mock_bz2file: MagicMock, mock_makedirs: MagicMock, mock_isfile: MagicMock, mock_gdown: MagicMock, mock_get_deepface_home: MagicMock, ): # Setting up the mock return values mock_get_deepface_home.return_value = os.path.normpath("/mock/home") mock_isfile.return_value = False # Simulate file not being present file_name = "model_weights.h5" source_url = "http://example.com/model_weights.h5" # Simulate gdown.download raising an exception mock_gdown.side_effect = Exception("Download failed!") # Call the function and check for ValueError with pytest.raises( ValueError, match=f"⛓️‍💥 An exception occurred while downloading {file_name} from {source_url}.", ): weight_utils.download_weights_if_necessary(file_name, source_url) logger.info("✅ test for downloading weights while gdown fails done") def test_download_weights_if_necessary_no_compression( self, mock_open: MagicMock, mock_zipfile: MagicMock, mock_bz2file: MagicMock, mock_makedir: MagicMock, mock_isfile: MagicMock, mock_gdown: MagicMock, mock_get_deepface_home: MagicMock, ): # Setting up the mock return values mock_get_deepface_home.return_value = os.path.normpath("/mock/home") mock_isfile.return_value = False # Simulate file not being present file_name = "model_weights.h5" source_url = "http://example.com/model_weights.h5" # Call the function result = weight_utils.download_weights_if_necessary(file_name, source_url) # Normalize the expected path expected_path = os.path.normpath("/mock/home/.deepface/weights/model_weights.h5") # Assert that gdown.download was called with the correct parameters mock_gdown.assert_called_once_with(source_url, expected_path, quiet=False) # Assert that the return value is correct assert result == expected_path # Assert that zipfile.ZipFile and bz2.BZ2File were not called mock_zipfile.assert_not_called() mock_bz2file.assert_not_called() logger.info("✅ test download weights with no compression is done") def test_download_weights_if_necessary_zip( self, mock_open: MagicMock, mock_zipfile: MagicMock, mock_bz2file: MagicMock, mock_makedirs: MagicMock, mock_isfile: MagicMock, mock_gdown: MagicMock, mock_get_deepface_home: MagicMock, ): # Setting up the mock return values mock_get_deepface_home.return_value = os.path.normpath("/mock/home") mock_isfile.return_value = False # Simulate file not being present file_name = "model_weights.h5" source_url = "http://example.com/model_weights.zip" compress_type = "zip" # Call the function result = weight_utils.download_weights_if_necessary(file_name, source_url, compress_type) # Assert that gdown.download was called with the correct parameters mock_gdown.assert_called_once_with( source_url, os.path.normpath("/mock/home/.deepface/weights/model_weights.h5.zip"), quiet=False, ) # Simulate the unzipping behavior mock_zipfile.return_value.__enter__.return_value.extractall = mock.Mock() # Call the function again to simulate unzipping with mock_zipfile.return_value as zip_ref: zip_ref.extractall(os.path.normpath("/mock/home/.deepface/weights")) # Assert that the zip file was unzipped correctly zip_ref.extractall.assert_called_once_with(os.path.normpath("/mock/home/.deepface/weights")) # Assert that the return value is correct assert result == os.path.normpath("/mock/home/.deepface/weights/model_weights.h5") logger.info("✅ test download weights for zip is done") def test_download_weights_if_necessary_bz2( self, mock_open: MagicMock, mock_zipfile: MagicMock, mock_bz2file: MagicMock, mock_makedirs: MagicMock, mock_isfile: MagicMock, mock_gdown: MagicMock, mock_get_deepface_home: MagicMock, ): # Setting up the mock return values mock_get_deepface_home.return_value = os.path.normpath("/mock/home") mock_isfile.return_value = False # Simulate file not being present file_name = "model_weights.h5" source_url = "http://example.com/model_weights.bz2" compress_type = "bz2" # Simulate the download success mock_gdown.return_value = None # Simulate the BZ2 file reading behavior mock_bz2file.return_value.__enter__.return_value.read.return_value = b"fake data" # Call the function under test result = weight_utils.download_weights_if_necessary(file_name, source_url, compress_type) # Assert that gdown.download was called with the correct parameters mock_gdown.assert_called_once_with( source_url, os.path.normpath("/mock/home/.deepface/weights/model_weights.h5.bz2"), quiet=False, ) # Ensure open() is called once for writing the decompressed data mock_open.assert_called_once_with( os.path.normpath("/mock/home/.deepface/weights/model_weights.h5"), "wb" ) # TODO: find a way to check write is called # Assert that the return value is correct assert result == os.path.normpath("/mock/home/.deepface/weights/model_weights.h5") logger.info("✅ test download weights for bz2 is done") def test_download_weights_for_non_supported_compress_type( self, mock_open: MagicMock, mock_zipfile: MagicMock, mock_bz2file: MagicMock, mock_makedirs: MagicMock, mock_isfile: MagicMock, mock_gdown: MagicMock, mock_get_deepface_home: MagicMock, ): mock_isfile.return_value = False file_name = "model_weights.h5" source_url = "http://example.com/model_weights.bz2" compress_type = "7z" with pytest.raises(ValueError, match="unimplemented compress type - 7z"): _ = weight_utils.download_weights_if_necessary(file_name, source_url, compress_type) logger.info("✅ test download weights for unsupported compress type is done") ================================================ FILE: tests/unit/test_encrypt.py ================================================ # built-in dependencies import uuid # 3rd party dependencies import pytest from lightphe import LightPHE from lightphe.models.Tensor import EncryptedTensor # project dependencies from deepface import DeepFace from deepface.config.threshold import thresholds experiment_id = uuid.uuid4() cs = LightPHE(algorithm_name="Paillier", precision=19) cs.export_keys(f"/tmp/{experiment_id}_secret.txt") cs.export_keys(f"/tmp/{experiment_id}_public.txt", public=True) def test_no_encrypt(): results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="VGG-Face", ) assert isinstance(results, list) assert len(results) == 1 result = results[0] assert "encrypted_embedding" not in result def test_encrypt_single(): results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="VGG-Face", cryptosystem=cs, ) assert isinstance(results, list) assert len(results) == 1 result = results[0] assert "encrypted_embedding" in result encrypted_embedding = result["encrypted_embedding"] assert encrypted_embedding is not None assert isinstance(encrypted_embedding, EncryptedTensor) assert isinstance(encrypted_embedding.fractions, list) assert len(encrypted_embedding.fractions) == 4096 # vgg-face embedding def test_encrypt_batch(): results = DeepFace.represent( img_path=["dataset/img1.jpg", "dataset/couple.jpg", "dataset/img2.jpg"], model_name="VGG-Face", cryptosystem=cs, ) assert isinstance(results, list) assert len(results) == 3 expected_faces = [1, 2, 1] for idx, current_results in enumerate(results): assert isinstance(current_results, list) assert len(current_results) == expected_faces[idx] for result in current_results: assert "encrypted_embedding" in result encrypted_embedding = result["encrypted_embedding"] assert encrypted_embedding is not None assert isinstance(encrypted_embedding, EncryptedTensor) assert isinstance(encrypted_embedding.fractions, list) assert len(encrypted_embedding.fractions) == 4096 # vgg-face embedding def test_encrypt_single_skip_case(): """ Test that encryption is skipped when embeddings contain negative values. """ # Dim values of Facenet are roughly in [-3, 3], so no normalization leads to negative values. results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", cryptosystem=cs, ) assert isinstance(results, list) assert len(results) == 1 result = results[0] assert "encrypted_embedding" not in result # secondly, facenet embeddings aren't l2 normalized by default similar to vgg-face results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", cryptosystem=cs, minmax_normalize=True, ) assert isinstance(results, list) assert len(results) == 1 result = results[0] assert "encrypted_embedding" not in result # do l2 normalization and min max normalization to encrypt results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", cryptosystem=cs, minmax_normalize=True, l2_normalize=True, ) assert isinstance(results, list) assert len(results) == 1 result = results[0] assert "encrypted_embedding" in result encrypted_embedding = result["encrypted_embedding"] assert isinstance(encrypted_embedding, EncryptedTensor) assert isinstance(encrypted_embedding.fractions, list) assert len(encrypted_embedding.fractions) == 128 # facenet embedding def test_encrypt_batch_skip_case(): # Dim values of Facenet are roughly in [-3, 3], so no normalization leads to negative values. results = DeepFace.represent( img_path=["dataset/img1.jpg", "dataset/couple.jpg", "dataset/img2.jpg"], model_name="Facenet", cryptosystem=cs, ) assert isinstance(results, list) assert len(results) == 3 expected_faces = [1, 2, 1] for idx, result in enumerate(results): assert isinstance(result, list) assert len(result) == expected_faces[idx] for res in result: assert "encrypted_embedding" not in res # secondly, facenet embeddings aren't l2 normalized by default similar to vgg-face results = DeepFace.represent( img_path=["dataset/img1.jpg", "dataset/couple.jpg", "dataset/img2.jpg"], model_name="Facenet", cryptosystem=cs, minmax_normalize=True, ) assert isinstance(results, list) assert len(results) == 3 expected_faces = [1, 2, 1] for idx, result in enumerate(results): assert isinstance(result, list) assert len(result) == expected_faces[idx] for res in result: assert "encrypted_embedding" not in res # do l2 normalization and min max normalization to encrypt results = DeepFace.represent( img_path=["dataset/img1.jpg", "dataset/couple.jpg", "dataset/img2.jpg"], model_name="Facenet", cryptosystem=cs, minmax_normalize=True, l2_normalize=True, ) assert isinstance(results, list) assert len(results) == 3 expected_faces = [1, 2, 1] for idx, result in enumerate(results): assert isinstance(result, list) assert len(result) == expected_faces[idx] for res in result: assert "encrypted_embedding" in res encrypted_embedding = res["encrypted_embedding"] assert encrypted_embedding is not None assert isinstance(encrypted_embedding, EncryptedTensor) assert isinstance(encrypted_embedding.fractions, list) assert len(encrypted_embedding.fractions) == 128 # facenet embedding def test_homomorphic_encryption(): # this only has public key cloud_cs = LightPHE( algorithm_name="Paillier", precision=19, key_file=f"/tmp/{experiment_id}_public.txt" ) encrypted_embedding = DeepFace.represent( img_path="dataset/img2.jpg", model_name="VGG-Face", cryptosystem=cloud_cs, )[0]["encrypted_embedding"] # cloud system should not be able to decrypt with pytest.raises(ValueError, match="must have private key"): cloud_cs.decrypt(encrypted_embedding) plain_embedding = DeepFace.represent( img_path="dataset/img1.jpg", model_name="VGG-Face", )[ 0 ]["embedding"] # compute cosine similarity in encrypted domain encrypted_cosine_similarity = encrypted_embedding @ plain_embedding # on-prem system has private key onprem_cs = LightPHE( algorithm_name="Paillier", precision=19, key_file=f"/tmp/{experiment_id}_secret.txt" ) # on-prem system can decrypt the result decrypted_cosine_similarity = onprem_cs.decrypt(encrypted_cosine_similarity)[0] decrypted_cosine_distance = 1 - decrypted_cosine_similarity threshold = thresholds["VGG-Face"]["cosine"] assert decrypted_cosine_distance < threshold ================================================ FILE: tests/unit/test_enforce_detection.py ================================================ # 3rd party dependencies import pytest import numpy as np # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() def test_enabled_enforce_detection_for_non_facial_input(): black_img = np.zeros([224, 224, 3]) with pytest.raises(ValueError): DeepFace.represent(img_path=black_img) with pytest.raises(ValueError): DeepFace.verify(img1_path=black_img, img2_path=black_img) logger.info("✅ enabled enforce detection with non facial input tests done") def test_disabled_enforce_detection_for_non_facial_input_on_represent(): black_img = np.zeros([224, 224, 3]) objs = DeepFace.represent(img_path=black_img, enforce_detection=False) assert isinstance(objs, list) assert len(objs) > 0 assert isinstance(objs[0], dict) assert "embedding" in objs[0].keys() assert "facial_area" in objs[0].keys() assert isinstance(objs[0]["facial_area"], dict) assert "x" in objs[0]["facial_area"].keys() assert "y" in objs[0]["facial_area"].keys() assert "w" in objs[0]["facial_area"].keys() assert "h" in objs[0]["facial_area"].keys() assert isinstance(objs[0]["embedding"], list) assert len(objs[0]["embedding"]) == 4096 # embedding of VGG-Face logger.info("✅ disabled enforce detection with non facial input test for represent tests done") def test_disabled_enforce_detection_for_non_facial_input_on_verify(): black_img = np.zeros([224, 224, 3]) obj = DeepFace.verify(img1_path=black_img, img2_path=black_img, enforce_detection=False) assert isinstance(obj, dict) logger.info("✅ disabled enforce detection with non facial input test for verify tests done") ================================================ FILE: tests/unit/test_extract_faces.py ================================================ # built-in dependencies import base64 # 3rd party dependencies import cv2 import numpy as np import pytest # project dependencies from deepface import DeepFace from deepface.commons import image_utils from deepface.commons.logger import Logger logger = Logger() detectors = ["opencv", "mtcnn", "ssd"] def test_different_detectors(): img_path = "dataset/img11.jpg" img = cv2.imread(img_path) height, width, _ = img.shape for detector in detectors: img_objs = DeepFace.extract_faces(img_path=img_path, detector_backend=detector) # img_objs should be a list of dicts assert isinstance(img_objs, list) for img_obj in img_objs: assert isinstance(img_obj, dict) assert "face" in img_obj.keys() assert "facial_area" in img_obj.keys() assert isinstance(img_obj["facial_area"], dict) assert "x" in img_obj["facial_area"].keys() assert "y" in img_obj["facial_area"].keys() assert "w" in img_obj["facial_area"].keys() assert "h" in img_obj["facial_area"].keys() # is left eye set with respect to the person instead of observer assert "left_eye" in img_obj["facial_area"].keys() assert "right_eye" in img_obj["facial_area"].keys() right_eye = img_obj["facial_area"]["right_eye"] left_eye = img_obj["facial_area"]["left_eye"] # left eye and right eye must be tuple assert isinstance(left_eye, tuple) assert isinstance(right_eye, tuple) # right eye should be the right eye of the person assert left_eye[0] > right_eye[0] # left eye and right eye must be int not to have problem in api assert isinstance(left_eye[0], int) assert isinstance(left_eye[1], int) assert isinstance(right_eye[0], int) assert isinstance(right_eye[1], int) # confidence must be float, not numpy not to have problem in api assert "confidence" in img_obj.keys() type_conf = type(img_obj["confidence"]) assert isinstance( img_obj["confidence"], float ), f"confidence type must be float but it is {type_conf}" # we added black pixeled borders to image because if faces are close to border, # then alignment moves them to outside of the image. adding this borders may # cause to miscalculate the facial area. check it is restored correctly. x = img_obj["facial_area"]["x"] y = img_obj["facial_area"]["y"] w = img_obj["facial_area"]["w"] h = img_obj["facial_area"]["h"] assert x < width assert x + w < width assert y < height assert y + h < height assert left_eye[0] < height assert right_eye[0] < height assert left_eye[1] < width assert right_eye[1] < width img = img_obj["face"] assert img.shape[0] > 0 and img.shape[1] > 0 logger.info(f"✅ extract_faces for {detector} backend test is done") def test_numpy_input(): img_path = "dataset/img1.jpg" img = cv2.imread(img_path)[:, :, ::-1] # BGR to RGB for detector in detectors: img_objs = DeepFace.extract_faces(img_path=img.copy(), detector_backend=detector) # img_objs should be a list of dicts assert isinstance(img_objs, list) assert len(img_objs) == 1 for img_obj in img_objs: assert isinstance(img_obj, dict) assert "face" in img_obj.keys() assert "facial_area" in img_obj.keys() face = img_obj["face"] assert face.shape[0] > 0 and face.shape[1] > 0 logger.info(f"✅ extract_faces for {detector} backend with numpy input test is done") def test_backends_for_enforced_detection_with_non_facial_inputs(): black_img = np.zeros([224, 224, 3]) for detector in detectors: with pytest.raises(ValueError): _ = DeepFace.extract_faces(img_path=black_img, detector_backend=detector) logger.info("✅ extract_faces for enforced detection and non-facial image test is done") def test_backends_for_not_enforced_detection_with_non_facial_inputs(): black_img = np.zeros([224, 224, 3]) for detector in detectors: objs = DeepFace.extract_faces( img_path=black_img, detector_backend=detector, enforce_detection=False ) assert objs[0]["face"].shape == (224, 224, 3) logger.info("✅ extract_faces for not enforced detection and non-facial image test is done") def test_file_types_while_loading_base64(): img1_path = "dataset/img47.jpg" img1_base64 = image_to_base64(image_path=img1_path) with pytest.raises(ValueError, match="Input image can be jpg or png, but it is"): _ = image_utils.load_image_from_base64(uri=img1_base64) img2_path = "dataset/img1.jpg" img2_base64 = image_to_base64(image_path=img2_path) img2 = image_utils.load_image_from_base64(uri=img2_base64) # 3 dimensional image should be loaded assert len(img2.shape) == 3 def image_to_base64(image_path): with open(image_path, "rb") as image_file: encoded_string = base64.b64encode(image_file.read()).decode("utf-8") return "data:image/jpeg," + encoded_string def test_facial_coordinates_are_in_borders(): inner_detectors = ["retinaface", "mtcnn"] expected_faces = [7, 5] # mtcnn finds 6 faces in my local & ci-cd, but found 5 in another env. img_path = "dataset/selfie-many-people.jpg" img = cv2.imread(img_path) height, width, _ = img.shape for i, detector_backend in enumerate(inner_detectors): results = DeepFace.extract_faces(img_path=img_path, detector_backend=detector_backend) # this is a hard example, mtcnn can detect 6 and retinaface can detect 7 faces # be sure all those faces detected. any change in detection module can break this. assert len(results) >= expected_faces[i] for result in results: facial_area = result["facial_area"] x = facial_area["x"] y = facial_area["y"] w = facial_area["w"] h = facial_area["h"] assert x >= 0 assert y >= 0 assert x + w < width assert y + h < height logger.info(f"✅ facial area coordinates are all in image borders for {detector_backend}") def test_batch_str_inputs(): img_paths = ["dataset/img1.jpg", "dataset/couple.jpg", "dataset/img3.jpg"] expected_num_faces = [1, 2, 1] results = DeepFace.extract_faces(img_path=img_paths, detector_backend="mtcnn") # result should be a list of list of dicts assert isinstance(results, list) assert len(results) == 3 for i, inner_results in enumerate(results): assert isinstance(inner_results, list) assert len(inner_results) == expected_num_faces[i] for result in inner_results: assert isinstance(result, dict) assert "face" in result assert "facial_area" in result logger.info("✅ extract_faces batch str input test is done") def test_batch_ndarray_inputs(): img1 = cv2.imread("dataset/img1.jpg")[:, :, ::-1] # BGR to RGB img2 = cv2.imread("dataset/couple.jpg")[:, :, ::-1] # BGR to RGB img3 = cv2.imread("dataset/img3.jpg")[:, :, ::-1] # BGR to RGB h, w = img1.shape[:2] img2 = cv2.resize(img2, (w, h)) img3 = cv2.resize(img3, (w, h)) img_batch = np.array([img1, img2, img3]) assert img_batch.shape == (3, h, w, 3) expected_num_faces = [1, 2, 1] results = DeepFace.extract_faces(img_path=img_batch, detector_backend="retinaface") # result should be a list of list of dicts assert isinstance(results, list) assert len(results) == len(img_batch) for i, inner_results in enumerate(results): assert isinstance(inner_results, list) assert ( len(inner_results) == expected_num_faces[i] ), f"Number of faces for image {i} does not match" for result in inner_results: assert isinstance(result, dict) assert "face" in result assert "facial_area" in result logger.info("✅ extract_faces batch ndarray input test is done") ================================================ FILE: tests/unit/test_find.py ================================================ # built-in dependencies import os # 3rd party dependencies import cv2 import pandas as pd # project dependencies from deepface import DeepFace from deepface.modules import verification from deepface.commons import image_utils from deepface.commons.logger import Logger logger = Logger() threshold = verification.find_threshold(model_name="VGG-Face", distance_metric="cosine") def test_find_with_exact_path(): img_path = os.path.join("dataset", "img1.jpg") dfs = DeepFace.find(img_path=img_path, db_path="dataset", silent=True) assert len(dfs) > 0 for df in dfs: assert isinstance(df, pd.DataFrame) # one is img1.jpg itself identity_df = df[df["identity"] == img_path] assert identity_df.shape[0] > 0 # validate reproducability assert identity_df["distance"].values[0] <= threshold df = df[df["identity"] != img_path] logger.debug(df.head()) assert df.shape[0] > 0 assert "confidence" in df.columns # confidence is between 0 and 100 assert df["confidence"].max() <= 100 assert df["confidence"].min() >= 0 # also we just show verified ones in results assert df["confidence"].max() <= 100 assert df["confidence"].min() >= 51 logger.info("✅ test find for exact path done") def test_find_with_array_input(): img_path = os.path.join("dataset", "img1.jpg") img1 = cv2.imread(img_path) dfs = DeepFace.find(img1, db_path="dataset", silent=True) assert len(dfs) > 0 for df in dfs: assert isinstance(df, pd.DataFrame) # one is img1.jpg itself identity_df = df[df["identity"] == img_path] assert identity_df.shape[0] > 0 # validate reproducability assert identity_df["distance"].values[0] < threshold df = df[df["identity"] != img_path] logger.debug(df.head()) assert df.shape[0] > 0 logger.info("✅ test find for array input done") def test_find_with_extracted_faces(): img_path = os.path.join("dataset", "img1.jpg") face_objs = DeepFace.extract_faces(img_path) img = face_objs[0]["face"] dfs = DeepFace.find(img, db_path="dataset", detector_backend="skip", silent=True) assert len(dfs) > 0 for df in dfs: assert isinstance(df, pd.DataFrame) # one is img1.jpg itself identity_df = df[df["identity"] == img_path] assert identity_df.shape[0] > 0 # validate reproducability assert identity_df["distance"].values[0] < threshold df = df[df["identity"] != img_path] logger.debug(df.head()) assert df.shape[0] > 0 logger.info("✅ test find for extracted face input done") def test_filetype_for_find(): """ only images as jpg and png can be loaded into database """ img_path = os.path.join("dataset", "img1.jpg") dfs = DeepFace.find(img_path=img_path, db_path="dataset", silent=True) df = dfs[0] # img47 is webp even though its extension is jpg assert df[df["identity"] == "dataset/img47.jpg"].shape[0] == 0 def test_filetype_for_find_bulk_embeddings(): # List list_imgs = image_utils.list_images("dataset") assert len(list_imgs) > 0 # img47 is webp even though its extension is jpg assert "dataset/img47.jpg" not in list_imgs # Generator gen_imgs = list(image_utils.yield_images("dataset")) assert len(gen_imgs) > 0 # img47 is webp even though its extension is jpg assert "dataset/img47.jpg" not in gen_imgs assert gen_imgs == list_imgs def test_find_without_refresh_database(): import shutil, hashlib img_path = os.path.join("dataset", "img1.jpg") # 1. Calculate hash of the .pkl file; # 2. Move random image to the temporary created directory; # 3. As a result, there will be a difference between the .pkl file and the disk files; # 4. If refresh_database=False, then .pkl file should not be updated. # Recalculate hash and compare it with the hash from pt. 1; # 5. After successful check, the image will be moved back to the original destination; pkl_path = "dataset/ds_model_vggface_detector_opencv_aligned_normalization_base_expand_0.pkl" with open(pkl_path, "rb") as f: hash_before = hashlib.sha256(f.read()) image_name = "img28.jpg" tmp_dir = "dataset/temp_image" os.mkdir(tmp_dir) shutil.move(os.path.join("dataset", image_name), os.path.join(tmp_dir, image_name)) dfs = DeepFace.find(img_path=img_path, db_path="dataset", silent=True, refresh_database=False) with open(pkl_path, "rb") as f: hash_after = hashlib.sha256(f.read()) shutil.move(os.path.join(tmp_dir, image_name), os.path.join("dataset", image_name)) os.rmdir(tmp_dir) assert hash_before.hexdigest() == hash_after.hexdigest() logger.info("✅ .pkl hashes before and after the recognition process are the same") assert len(dfs) > 0 for df in dfs: assert isinstance(df, pd.DataFrame) # one is img1.jpg itself identity_df = df[df["identity"] == img_path] assert identity_df.shape[0] > 0 # validate reproducability assert identity_df["distance"].values[0] < threshold df = df[df["identity"] != img_path] logger.debug(df.head()) assert df.shape[0] > 0 logger.info("✅ test find without refresh database done") def test_find_for_similarity_search(): angelinas = [ os.path.join("dataset", "img1.jpg"), os.path.join("dataset", "img2.jpg"), os.path.join("dataset", "img4.jpg"), os.path.join("dataset", "img5.jpg"), os.path.join("dataset", "img6.jpg"), os.path.join("dataset", "img7.jpg"), os.path.join("dataset", "img10.jpg"), os.path.join("dataset", "img11.jpg"), os.path.join("dataset", "img11_reflection.jpg"), os.path.join("dataset", "couple.jpg"), os.path.join("dataset", "selfie-many-people.jpg"), ] k = len(angelinas) + 5 img_path = os.path.join("dataset", "img1.jpg") verification_threshold = verification.find_threshold( model_name="VGG-Face", distance_metric="cosine" ) dfs = DeepFace.find( img_path=img_path, db_path="dataset", silent=True, similarity_search=True, k=k, ) assert isinstance(dfs, list) assert len(dfs) > 0 for df in dfs: assert isinstance(df, pd.DataFrame) assert df.shape[0] <= k verify_df = df[df["identity"].isin(angelinas)] similar_df = df[~df["identity"].isin(angelinas)] assert verify_df.shape[0] > 0 assert verify_df["distance"].max() <= verification_threshold assert similar_df.shape[0] > 0 assert similar_df["distance"].min() > verification_threshold logger.info("✅ test find for similarity search done") ================================================ FILE: tests/unit/test_find_batched.py ================================================ # built-in dependencies import os # 3rd party dependencies import cv2 # project dependencies from deepface import DeepFace from deepface.modules import verification from deepface.commons.logger import Logger logger = Logger() threshold = verification.find_threshold(model_name="VGG-Face", distance_metric="cosine") def test_find_with_exact_path(): img_path = os.path.join("dataset", "img1.jpg") results = DeepFace.find(img_path=img_path, db_path="dataset", silent=True, batched=True) assert len(results) > 0 required_keys = set( [ "identity", "distance", "threshold", "hash", "target_x", "target_y", "target_w", "target_h", "source_x", "source_y", "source_w", "source_h", ] ) for result in results: assert isinstance(result, list) found_image_itself = False for face in result: assert isinstance(face, dict) assert set(face.keys()) == required_keys if face["identity"] == img_path: # validate reproducability assert face["distance"] < threshold # one is img1.jpg itself found_image_itself = True assert found_image_itself assert len(results[0]) > 1 logger.info("✅ test find for exact path done") def test_batched_find_with_similarity_search(): angelinas = [ os.path.join("dataset", "img1.jpg"), os.path.join("dataset", "img2.jpg"), os.path.join("dataset", "img4.jpg"), os.path.join("dataset", "img5.jpg"), os.path.join("dataset", "img6.jpg"), os.path.join("dataset", "img7.jpg"), os.path.join("dataset", "img10.jpg"), os.path.join("dataset", "img11.jpg"), os.path.join("dataset", "img11_reflection.jpg"), os.path.join("dataset", "couple.jpg"), os.path.join("dataset", "selfie-many-people.jpg"), ] img_path = os.path.join("dataset", "img1.jpg") k = len(angelinas) + 5 verification_threshold = verification.find_threshold( model_name="VGG-Face", distance_metric="cosine" ) results = DeepFace.find( img_path=img_path, db_path="dataset", silent=True, batched=True, similarity_search=True, k=k ) assert isinstance(results, list) assert len(results) > 0 for inner_results in results: assert isinstance(inner_results, list) assert len(inner_results) <= k verified = 0 similar = 0 for result in inner_results: assert isinstance(result, dict) if result["identity"] in angelinas: verified += 1 assert result["distance"] <= verification_threshold else: similar += 1 assert result["distance"] > verification_threshold assert verified > 0 assert similar > 0 logger.info("✅ test batched find with similarity search done") def test_find_with_array_input(): img_path = os.path.join("dataset", "img1.jpg") img1 = cv2.imread(img_path) results = DeepFace.find(img1, db_path="dataset", silent=True, batched=True) assert len(results) > 0 for result in results: assert isinstance(result, list) found_image_itself = False for face in result: assert isinstance(face, dict) if face["identity"] == img_path: # validate reproducability assert face["distance"] < threshold # one is img1.jpg itself found_image_itself = True assert found_image_itself assert len(results[0]) > 1 logger.info("✅ test find for array input done") def test_find_with_extracted_faces(): img_path = os.path.join("dataset", "img1.jpg") face_objs = DeepFace.extract_faces(img_path) img = face_objs[0]["face"] results = DeepFace.find( img, db_path="dataset", detector_backend="skip", silent=True, batched=True ) assert len(results) > 0 for result in results: assert isinstance(result, list) found_image_itself = False for face in result: assert isinstance(face, dict) if face["identity"] == img_path: # validate reproducability assert face["distance"] < threshold # one is img1.jpg itself found_image_itself = True assert found_image_itself assert len(results[0]) > 1 logger.info("✅ test find for extracted face input done") def test_filetype_for_find(): """ only images as jpg and png can be loaded into database """ img_path = os.path.join("dataset", "img1.jpg") results = DeepFace.find(img_path=img_path, db_path="dataset", silent=True, batched=True) result = results[0] assert not any(face["identity"] == "dataset/img47.jpg" for face in result) logger.info("✅ test wrong filetype done") ================================================ FILE: tests/unit/test_landmark_sanitization.py ================================================ import numpy as np import pytest from deepface.modules.detection import extract_faces, DetectedFace, FacialAreaRegion, is_valid_landmark from deepface.commons.logger import Logger logger = Logger() def sanitize_landmarks(region, width, height): landmarks = { "left_eye": region.left_eye, "right_eye": region.right_eye, "nose": region.nose, "mouth_left": region.mouth_left, "mouth_right": region.mouth_right, } for key, value in landmarks.items(): if not is_valid_landmark(value, width, height): landmarks[key] = None return landmarks def test_sanitize_landmarks(): img = np.zeros((100, 100, 3), dtype=np.uint8) height, width = img.shape[:2] region = FacialAreaRegion( x=10, y=10, w=50, h=50, left_eye=(-5, 20), # invalid right_eye=(20, 200), # invalid nose=(30, 30), # valid mouth_left=(150, 20), # invalid mouth_right=(20, -10), # invalid confidence=0.9 ) landmarks = sanitize_landmarks(region, width, height) logger.info(f"Sanitized landmarks: {landmarks}") assert landmarks["left_eye"] is None assert landmarks["right_eye"] is None assert landmarks["nose"] == (30, 30) assert landmarks["mouth_left"] is None assert landmarks["mouth_right"] is None logger.info("Test passed: Invalid landmarks are sanitized to None.") def test_extract_faces_sanitizes_landmarks(monkeypatch): img = np.zeros((100, 100, 3), dtype=np.uint8) facial_area = FacialAreaRegion( x=10, y=10, w=50, h=50, left_eye=(-5, 20), # invalid right_eye=(20, 200), # invalid nose=(30, 30), # valid mouth_left=(150, 20), # invalid mouth_right=(20, -10), # invalid confidence=0.9 ) detected_face = DetectedFace(img=img, facial_area=facial_area, confidence=0.9) monkeypatch.setattr("deepface.modules.detection.detect_faces", lambda *args, **kwargs: [detected_face]) result = extract_faces(img, detector_backend="opencv", enforce_detection=False) facial_area_out = result[0]["facial_area"] logger.info(f"Output facial_area: {facial_area_out}") assert facial_area_out["left_eye"] is None assert facial_area_out["right_eye"] is None assert facial_area_out.get("nose") == (30, 30) assert facial_area_out.get("mouth_left") is None assert facial_area_out.get("mouth_right") is None ================================================ FILE: tests/unit/test_output_normalization.py ================================================ # 3rd-party dependencies import numpy as np # project dependencies from deepface import DeepFace from deepface.modules.normalization import normalize_embedding_minmax from deepface.config.minmax import minmax_values def test_minmax_normalization(): results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", minmax_normalize=False, ) assert isinstance(results, list) assert len(results) == 1 for result in results: embedding = result["embedding"] assert any(x < 0.0 or x > 1.0 for x in embedding) # not normalized results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", minmax_normalize=True, ) for result in results: embedding = result["embedding"] assert all(x >= 0.0 and x <= 1.0 for x in embedding) # normalized def test_minmax_normalization_batch(): results = DeepFace.represent( img_path=["dataset/img1.jpg", "dataset/couple.jpg"], model_name="Facenet", minmax_normalize=True, ) assert isinstance(results, list) assert len(results) == 2 expected_embeddings = [1, 2] for idx, current_results in enumerate(results): assert isinstance(current_results, list) assert len(current_results) == expected_embeddings[idx] for result in current_results: embedding = result["embedding"] assert all(x >= 0.0 and x <= 1.0 for x in embedding) # normalized def test_minmax_normalization_edge_values(): results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", minmax_normalize=False, ) for result in results: embedding = result["embedding"] dim_min, dim_max = minmax_values["Facenet"] add_val = dim_max - max(embedding) + 0.2 sub_val = abs(dim_min) - abs(min(embedding)) + 0.2 shifted_embedding = [x + add_val if x > 0 else x - sub_val for x in embedding] normalized_embedding = normalize_embedding_minmax("Facenet", shifted_embedding) assert any(x < 0.0 or x > 1.0 for x in shifted_embedding) # not normalized assert all(x >= 0.0 and x <= 1.0 for x in normalized_embedding) # normalized def test_l2_normalization(): results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", l2_normalize=False, ) raw_embedding = results[0]["embedding"] norm = np.linalg.norm(raw_embedding) assert not np.isclose(norm, 1.0), f"L2 norm of norm embedding shouldn't be 1, got {norm}" results = DeepFace.represent( img_path="dataset/img1.jpg", model_name="Facenet", l2_normalize=True, ) l2_embedding = results[0]["embedding"] # L2 embedding != raw embedding assert not np.allclose( l2_embedding, raw_embedding ), "L2 normalized embedding should differ from raw embedding" # Norm of L2 embedding should be 1 norm = np.linalg.norm(l2_embedding) assert np.isclose(norm, 1.0), f"L2 norm of normalized embedding should be 1, got {norm}" ================================================ FILE: tests/unit/test_represent.py ================================================ # built-in dependencies import io import cv2 import pytest import numpy as np import pytest # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() def test_standard_represent(): img_path = "dataset/img1.jpg" embedding_objs = DeepFace.represent(img_path) # type should be list of dict assert isinstance(embedding_objs, list) for embedding_obj in embedding_objs: assert isinstance(embedding_obj, dict) embedding = embedding_obj["embedding"] logger.debug(f"Function returned {len(embedding)} dimensional vector") assert len(embedding) == 4096 logger.info("✅ test standard represent function done") def test_standard_represent_with_io_object(): img_path = "dataset/img1.jpg" default_embedding_objs = DeepFace.represent(img_path) io_embedding_objs = DeepFace.represent(open(img_path, "rb")) assert default_embedding_objs == io_embedding_objs # Confirm non-seekable io objects are handled properly io_obj = io.BytesIO(open(img_path, "rb").read()) io_obj.seek = None no_seek_io_embedding_objs = DeepFace.represent(io_obj) assert default_embedding_objs == no_seek_io_embedding_objs # Confirm non-image io objects raise exceptions with pytest.raises(ValueError, match="Failed to decode image"): DeepFace.represent(io.BytesIO(open(r"../../requirements.txt", "rb").read())) logger.info("✅ test standard represent with io object function done") def test_represent_for_skipped_detector_backend_with_image_path(): face_img = "dataset/img5.jpg" img_objs = DeepFace.represent(img_path=face_img, detector_backend="skip") assert len(img_objs) >= 1 img_obj = img_objs[0] assert "embedding" in img_obj.keys() assert "facial_area" in img_obj.keys() assert isinstance(img_obj["facial_area"], dict) assert "x" in img_obj["facial_area"].keys() assert "y" in img_obj["facial_area"].keys() assert "w" in img_obj["facial_area"].keys() assert "h" in img_obj["facial_area"].keys() assert "face_confidence" in img_obj.keys() logger.info("✅ test represent function for skipped detector and image path input backend done") def test_represent_for_preloaded_image(): face_img = "dataset/img5.jpg" img = cv2.imread(face_img) img_objs = DeepFace.represent(img_path=img) # type should be list of dict assert isinstance(img_objs, list) assert len(img_objs) >= 1 for img_obj in img_objs: assert isinstance(img_obj, dict) assert "embedding" in img_obj.keys() assert "facial_area" in img_obj.keys() assert isinstance(img_obj["facial_area"], dict) assert "x" in img_obj["facial_area"].keys() assert "y" in img_obj["facial_area"].keys() assert "w" in img_obj["facial_area"].keys() assert "h" in img_obj["facial_area"].keys() assert "face_confidence" in img_obj.keys() logger.info("✅ test represent function for skipped detector and preloaded image done") def test_represent_for_skipped_detector_backend_with_preloaded_image(): face_img = "dataset/img5.jpg" img = cv2.imread(face_img) img_objs = DeepFace.represent(img_path=img, detector_backend="skip") assert len(img_objs) >= 1 img_obj = img_objs[0] assert "embedding" in img_obj.keys() assert "facial_area" in img_obj.keys() assert isinstance(img_obj["facial_area"], dict) assert "x" in img_obj["facial_area"].keys() assert "y" in img_obj["facial_area"].keys() assert "w" in img_obj["facial_area"].keys() assert "h" in img_obj["facial_area"].keys() assert "face_confidence" in img_obj.keys() logger.info("✅ test represent function for skipped detector and preloaded image done") def test_max_faces(): # confirm that input image has more than one face results = DeepFace.represent(img_path="dataset/couple.jpg") assert len(results) > 1 # test it with max faces arg max_faces = 1 results = DeepFace.represent(img_path="dataset/couple.jpg", max_faces=max_faces) assert len(results) == max_faces def test_represent_detector_backend(): # Results using a detection backend. results_1 = DeepFace.represent(img_path="dataset/img1.jpg") assert len(results_1) == 1 # Results performing face extraction first. faces = DeepFace.extract_faces(img_path="dataset/img1.jpg", color_face="bgr") assert len(faces) == 1 # Images sent into represent need to be in BGR format. img = faces[0]["face"] results_2 = DeepFace.represent(img_path=img, detector_backend="skip") assert len(results_2) == 1 # The embeddings should be the exact same for both cases. embedding_1 = results_1[0]["embedding"] embedding_2 = results_2[0]["embedding"] assert embedding_1 == embedding_2 logger.info("✅ test represent function for consistent output.") @pytest.mark.parametrize( "model_name", [ "VGG-Face", "Facenet", "SFace", ], ) def test_batched_represent_for_list_input(model_name): img_paths = [ "dataset/img1.jpg", "dataset/img2.jpg", "dataset/img3.jpg", "dataset/img4.jpg", "dataset/img5.jpg", "dataset/couple.jpg", ] expected_faces = [1, 1, 1, 1, 1, 2] batched_embedding_objs = DeepFace.represent(img_path=img_paths, model_name=model_name) # type should be list of list of dict for batch input assert isinstance(batched_embedding_objs, list) assert len(batched_embedding_objs) == len( img_paths ), f"Expected {len(img_paths)} embeddings, got {len(batched_embedding_objs)}" # the last one has two faces for idx, embedding_objs in enumerate(batched_embedding_objs): # type should be list of list of dict for batch input # batched_embedding_objs was list already, embedding_objs should be list of dict assert isinstance(embedding_objs, list) for embedding_obj in embedding_objs: assert isinstance(embedding_obj, dict) assert expected_faces[idx] == len( embedding_objs ), f"{img_paths[idx]} has {expected_faces[idx]} faces, but got {len(embedding_objs)} embeddings!" for idx, img_path in enumerate(img_paths): single_embedding_objs = DeepFace.represent(img_path=img_path, model_name=model_name) # type should be list of dict for single input assert isinstance(single_embedding_objs, list) for embedding_obj in single_embedding_objs: assert isinstance(embedding_obj, dict) assert len(single_embedding_objs) == len(batched_embedding_objs[idx]) for alpha, beta in zip(single_embedding_objs, batched_embedding_objs[idx]): assert isinstance(alpha, dict) assert isinstance(beta, dict) assert np.allclose( alpha["embedding"], beta["embedding"], rtol=1e-2, atol=1e-2 ), "Embeddings do not match within tolerance" logger.info(f"✅ test batch represent function with string input for model {model_name} done") @pytest.mark.parametrize( "model_name", [ "VGG-Face", "Facenet", "SFace", ], ) def test_batched_represent_for_numpy_input(model_name): img_paths = [ "dataset/img1.jpg", "dataset/img2.jpg", "dataset/img3.jpg", "dataset/img4.jpg", "dataset/img5.jpg", "dataset/couple.jpg", ] expected_faces = [1, 1, 1, 1, 1, 2] imgs = [] for img_path in img_paths: img = cv2.imread(img_path) img = cv2.resize(img, (1000, 1000)) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # print(img.shape) imgs.append(img) imgs = np.array(imgs) assert imgs.ndim == 4 and imgs.shape[0] == len(img_paths) batched_embedding_objs = DeepFace.represent(img_path=imgs, model_name=model_name) # type should be list of list of dict for batch input assert isinstance(batched_embedding_objs, list) for idx, batched_embedding_obj in enumerate(batched_embedding_objs): assert isinstance(batched_embedding_obj, list) # it also has to have the expected number of faces assert len(batched_embedding_obj) == expected_faces[idx] for embedding_obj in batched_embedding_obj: assert isinstance(embedding_obj, dict) # we should have the same number of embeddings as the number of images assert len(batched_embedding_objs) == len(img_paths) logger.info(f"✅ test batch represent function with numpy input for model {model_name} done") ================================================ FILE: tests/unit/test_signature.py ================================================ # built-in dependencies import os import shutil import uuid import unittest # 3rd party dependencies import pytest from lightdsa import LightDSA # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() ALGORITHMS = ["ecdsa", "eddsa", "rsa", "dsa"] # pylint: disable=line-too-long class TestSignature(unittest.TestCase): def setUp(self): experiment_id = str(uuid.uuid4()) self.db_path = f"/tmp/{experiment_id}" self.expected_ds = ( "ds_model_vggface_detector_opencv_aligned_normalization_base_expand_0.pkl" ) # create experiment folder if not os.path.exists(self.db_path): os.mkdir(self.db_path) # copy some test files os.system(f"cp dataset/img1.jpg /tmp/{experiment_id}/") os.system(f"cp dataset/img2.jpg /tmp/{experiment_id}/") os.system(f"cp dataset/img3.jpg /tmp/{experiment_id}/") def tearDown(self): if os.path.exists(self.db_path): shutil.rmtree(self.db_path) def test_sign_and_verify_happy_path_with_obj(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) dfs_1st = DeepFace.find( img_path="dataset/img6.jpg", db_path=self.db_path, credentials=cs ) dfs_2nd = DeepFace.find( img_path="dataset/img7.jpg", db_path=self.db_path, credentials=cs ) assert isinstance(dfs_1st, list) assert isinstance(dfs_2nd, list) assert len(dfs_1st) > 0 assert len(dfs_2nd) > 0 assert dfs_1st[0].shape[0] == 2 # img1, img2 assert dfs_2nd[0].shape[0] == 2 # img1, img2 logger.info( f"✅ Signature test for happy path with LightDSA obj passed for {algorithm_name}" ) self.__flush_datastore_and_signature() def test_sign_and_verify_happy_path_with_dict(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) _ = DeepFace.find( img_path="dataset/img6.jpg", db_path=self.db_path, credentials={**cs.dsa.keys, "algorithm_name": algorithm_name}, ) _ = DeepFace.find( img_path="dataset/img7.jpg", db_path=self.db_path, credentials={**cs.dsa.keys, "algorithm_name": algorithm_name}, ) logger.info(f"✅ Signature test for happy path with dict passed for {algorithm_name}") self.__flush_datastore_and_signature() def test_missing_algorithm_in_dict(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) with pytest.raises( ValueError, match="credentials dictionary must have 'algorithm_name' key" ): _ = DeepFace.find( img_path="dataset/img6.jpg", db_path=self.db_path, credentials=cs.dsa.keys, ) logger.info(f"✅ Signature test for missing algorithm name passed for {algorithm_name}") self.__flush_datastore_and_signature() def test_tampered_datastore_detection_with_type_error(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) # this will create and sign the datastore _ = DeepFace.find(img_path="dataset/img6.jpg", db_path=self.db_path, credentials=cs) # Tamper with the datastore file signature = f"{self.db_path}/{self.expected_ds}.ldsa" with open(signature, "w", encoding="utf-8") as f: f.write("'tampering with the datastore'") # signature type is not matching the algorithm with pytest.raises(ValueError, match="Verify the signature"): _ = DeepFace.find(img_path="dataset/img7.jpg", db_path=self.db_path, credentials=cs) self.__flush_datastore_and_signature() logger.info( f"✅ Tampered datastore detection test with type error passed for {algorithm_name}" ) def test_tampered_datastore_detection_with_content(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) # this will create and sign the datastore _ = DeepFace.find(img_path="dataset/img6.jpg", db_path=self.db_path, credentials=cs) if algorithm_name == "rsa": new_signature = 319561459047296488548458984747399773018716548204273025089624526759359534233284312158510290754391934668693104185451914855617607653930118615834122905987992506015413484111459136235040703307837127330552076394553025514846602694994704058032032682011030896228476574896316764474080643444528752822215665326313975210266100821320428968057729348770126684036043834110914715739798738033680251895412183116783758569626527555756175521592665908984550792405972689418461489583818241720836275237261051794829129609867815663459783380179330918682830834361767346820728010180691232612809687266284664884281497246914633251532570093804727503221592140826938085233362518642240314192925852839183375057159735842181129571046919197169304114361287251975127762914060608489444548355191778055788828924190814939438198679453052886489889714657423399402932343101284126001466450432228046323891788753347814011641443220020734532039664233082527737624947853241639198217834 elif algorithm_name == "dsa": new_signature = ( 9100224601877825638014134863066256026676002678448729267282144204754, 7634803645147310159689393871148731810441463887021966655811033398889, ) elif algorithm_name == "ecdsa": new_signature = ( 21518513378698262440337632884706393342279436822165585485363750050247340191720, 41671206923584596559299832926426077520762049023469772372748973101822889226099, ) elif algorithm_name == "eddsa": new_signature = ( ( 10558823458062709006637242334064065742608369933510637863306601023456142118149, 35629342124183609337373813938440693584938877184586698416611230077459766071, ), 616779964632213973552139846661614990419749880592583320329014277948539725318347638187634255022715560768868643524944455800527501125094189022366431963778314, ) else: raise ValueError(f"Unsupported algorithm name: {algorithm_name}") # Tamper with the datastore file signature = f"{self.db_path}/{self.expected_ds}.ldsa" with open(signature, "w", encoding="utf-8") as f: f.write(str(new_signature)) # signature type is not matching the algorithm with pytest.raises(ValueError, match=r"(Signature is invalid|Invalid signature)"): _ = DeepFace.find(img_path="dataset/img7.jpg", db_path=self.db_path, credentials=cs) self.__flush_datastore_and_signature() logger.info( f"✅ Tampered datastore detection test with content passed for {algorithm_name}" ) def test_unsigned_datastore_detected(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) # this will create ds without signature _ = DeepFace.find(img_path="dataset/img6.jpg", db_path=self.db_path) with pytest.raises( ValueError, match=".ldsa not found.You may need to re-create the pickle by deleting the existing one.", ): _ = DeepFace.find(img_path="dataset/img7.jpg", db_path=self.db_path, credentials=cs) logger.info( f"✅ Signature test for happy path with LightDSA obj passed for {algorithm_name}" ) self.__flush_datastore_and_signature() def test_signed_datastore_with_no_credentials(self): for algorithm_name in ALGORITHMS: cs = LightDSA(algorithm_name=algorithm_name) # this will create and sign the datastore _ = DeepFace.find(img_path="dataset/img6.jpg", db_path=self.db_path, credentials=cs) signature_path = f"{self.db_path}/{self.expected_ds}.ldsa" with pytest.raises( ValueError, match=f"Credentials not provided but signature file {signature_path} exists.", ): _ = DeepFace.find(img_path="dataset/img7.jpg", db_path=self.db_path) logger.info(f"✅ Signed datastore with no credentials test passed for {algorithm_name}") self.__flush_datastore_and_signature() def test_custom_curves(self): for algorithm_name, form_name, curve_name in [ # default configurations # ("eddsa", "edwards", "ed25519"), # ("ecdsa", "weierstrass", "secp256k1"), # custom configurations ("eddsa", "weierstrass", "secp256k1"), ("eddsa", "koblitz", "k233"), ("eddsa", "edwards", "e521"), ("ecdsa", "edwards", "ed25519"), ("ecdsa", "koblitz", "k233"), ("ecdsa", "weierstrass", "bn638"), ]: cs = LightDSA(algorithm_name=algorithm_name, form_name=form_name, curve_name=curve_name) _ = DeepFace.find( img_path="dataset/img6.jpg", db_path=self.db_path, credentials={ **cs.dsa.keys, "algorithm_name": algorithm_name, "form_name": form_name, "curve_name": curve_name, }, ) _ = DeepFace.find( img_path="dataset/img7.jpg", db_path=self.db_path, credentials={ **cs.dsa.keys, "algorithm_name": algorithm_name, "form_name": form_name, "curve_name": curve_name, }, ) logger.info( f"✅ Signature test for custom curves passed for {algorithm_name}/{form_name}/{curve_name}" ) self.__flush_datastore_and_signature() def __flush_datastore_and_signature(self): if os.path.exists(f"{self.db_path}/{self.expected_ds}"): os.remove(f"{self.db_path}/{self.expected_ds}") if os.path.exists(f"{self.db_path}/{self.expected_ds}.ldsa"): os.remove(f"{self.db_path}/{self.expected_ds}.ldsa") ================================================ FILE: tests/unit/test_singleton.py ================================================ from deepface.commons.logger import Logger logger = Logger() def test_singleton_same_object(): assert Logger() == Logger() logger.info("✅ id's of instances of \"singletoned\" class Logger are the same") ================================================ FILE: tests/unit/test_verify.py ================================================ # 3rd party dependencies import pytest import cv2 # project dependencies from deepface import DeepFace from deepface.modules.verification import find_distance from deepface.commons.logger import Logger logger = Logger() models = ["VGG-Face", "Facenet", "Facenet512", "ArcFace", "GhostFaceNet"] metrics = ["cosine", "euclidean", "euclidean_l2", "angular"] detectors = ["opencv", "mtcnn"] def test_different_facial_recognition_models(): dataset = [ ["dataset/img1.jpg", "dataset/img2.jpg", True], ["dataset/img5.jpg", "dataset/img6.jpg", True], ["dataset/img6.jpg", "dataset/img7.jpg", True], ["dataset/img8.jpg", "dataset/img9.jpg", True], ["dataset/img1.jpg", "dataset/img11.jpg", True], ["dataset/img2.jpg", "dataset/img11.jpg", True], ["dataset/img1.jpg", "dataset/img3.jpg", False], ["dataset/img2.jpg", "dataset/img3.jpg", False], ["dataset/img6.jpg", "dataset/img8.jpg", False], ["dataset/img6.jpg", "dataset/img9.jpg", False], ] expected_coverage = 97.53 # human level accuracy on LFW successful_tests = 0 unsuccessful_tests = 0 for model in models: for metric in metrics: for instance in dataset: img1 = instance[0] img2 = instance[1] result = instance[2] resp_obj = DeepFace.verify(img1, img2, model_name=model, distance_metric=metric) prediction = resp_obj["verified"] distance = round(resp_obj["distance"], 2) threshold = resp_obj["threshold"] if prediction is result: test_result_label = "✅" successful_tests += 1 else: test_result_label = "❌" unsuccessful_tests += 1 if prediction is True: classified_label = "same person" else: classified_label = "different persons" img1_alias = img1.split("/", maxsplit=1)[-1] img2_alias = img2.split("/", maxsplit=1)[-1] logger.debug( f"{test_result_label} Pair {img1_alias}-{img2_alias}" f" is {classified_label} based on {model}-{metric}" f" (Distance: {distance}, Threshold: {threshold})", ) coverage_score = (100 * successful_tests) / (successful_tests + unsuccessful_tests) assert ( coverage_score > expected_coverage ), f"⛔ facial recognition models test failed with {coverage_score} score" logger.info(f"✅ facial recognition models test passed with {coverage_score}") def test_different_face_detectors(): for detector in detectors: res = DeepFace.verify("dataset/img1.jpg", "dataset/img2.jpg", detector_backend=detector) assert isinstance(res, dict) assert "verified" in res.keys() assert res["verified"] in [True, False] assert "distance" in res.keys() assert "threshold" in res.keys() assert "model" in res.keys() assert "detector_backend" in res.keys() assert "similarity_metric" in res.keys() assert "facial_areas" in res.keys() assert "img1" in res["facial_areas"].keys() assert "img2" in res["facial_areas"].keys() assert "x" in res["facial_areas"]["img1"].keys() assert "y" in res["facial_areas"]["img1"].keys() assert "w" in res["facial_areas"]["img1"].keys() assert "h" in res["facial_areas"]["img1"].keys() assert "x" in res["facial_areas"]["img2"].keys() assert "y" in res["facial_areas"]["img2"].keys() assert "w" in res["facial_areas"]["img2"].keys() assert "h" in res["facial_areas"]["img2"].keys() assert "confidence" in res.keys() assert isinstance(res["confidence"], (float, int)) assert 0 <= res["confidence"] <= 100, "Confidence should be between 0 and 100" if res["verified"]: assert ( 51 <= res["confidence"] <= 100 ), "Confidence for same person should be between 51 and 100" else: assert ( 0 <= res["confidence"] <= 49 ), "Confidence for different persons should be between 0 and 49" logger.info(f"✅ test verify for {detector} backend done") def test_verify_for_preloaded_image(): img1 = cv2.imread("dataset/img1.jpg") img2 = cv2.imread("dataset/img2.jpg") res = DeepFace.verify(img1, img2) assert res["verified"] is True logger.info("✅ test verify for pre-loaded image done") def test_verify_for_precalculated_embeddings(): model_name = "Facenet" img1_path = "dataset/img1.jpg" img2_path = "dataset/img2.jpg" img1_embedding = DeepFace.represent(img_path=img1_path, model_name=model_name)[0]["embedding"] img2_embedding = DeepFace.represent(img_path=img2_path, model_name=model_name)[0]["embedding"] result = DeepFace.verify( img1_path=img1_embedding, img2_path=img2_embedding, model_name=model_name, silent=True ) assert result["verified"] is True assert result["distance"] < result["threshold"] assert result["model"] == model_name assert result["facial_areas"]["img1"] is not None assert result["facial_areas"]["img2"] is not None assert isinstance(result["facial_areas"]["img1"], dict) assert isinstance(result["facial_areas"]["img2"], dict) assert "x" in result["facial_areas"]["img1"].keys() assert "y" in result["facial_areas"]["img1"].keys() assert "w" in result["facial_areas"]["img1"].keys() assert "h" in result["facial_areas"]["img1"].keys() assert "left_eye" in result["facial_areas"]["img1"].keys() assert "right_eye" in result["facial_areas"]["img1"].keys() assert "x" in result["facial_areas"]["img2"].keys() assert "y" in result["facial_areas"]["img2"].keys() assert "w" in result["facial_areas"]["img2"].keys() assert "h" in result["facial_areas"]["img2"].keys() assert "left_eye" in result["facial_areas"]["img2"].keys() assert "right_eye" in result["facial_areas"]["img2"].keys() logger.info("✅ test verify for pre-calculated embeddings done") def test_verify_with_precalculated_embeddings_for_incorrect_model(): # generate embeddings with VGG (default) img1_path = "dataset/img1.jpg" img2_path = "dataset/img2.jpg" img1_embedding = DeepFace.represent(img_path=img1_path)[0]["embedding"] img2_embedding = DeepFace.represent(img_path=img2_path)[0]["embedding"] with pytest.raises( ValueError, match="embeddings of Facenet should have 128 dimensions, but 1-th image has 4096 dimensions input", ): _ = DeepFace.verify( img1_path=img1_embedding, img2_path=img2_embedding, model_name="Facenet", silent=True ) logger.info("✅ test verify with pre-calculated embeddings for incorrect model done") def test_verify_for_broken_embeddings(): img1_embeddings = ["a", "b", "c"] img2_embeddings = [1, 2, 3] with pytest.raises( ValueError, match="When passing img1_path as a list, ensure that all its items are of type float.", ): _ = DeepFace.verify(img1_path=img1_embeddings, img2_path=img2_embeddings) logger.info("✅ test verify for broken embeddings content is done") def test_verify_for_nested_embeddings(): """ batch embeddings not supported """ img1_embeddings = [[1, 2, 3], [4, 5, 6]] img2_path = "dataset/img1.jpg" with pytest.raises( ValueError, match="When passing img1_path as a list, ensure that all its items are of type float", ): _ = DeepFace.verify(img1_path=img1_embeddings, img2_path=img2_path) logger.info("✅ test verify for nested embeddings is done") def test_compability_of_verify_and_represent(): """ verify and represent should be compatible because of rgb bgr conversion, this is confusing """ img1 = "dataset/img1.jpg" img2 = "dataset/img2.jpg" resp_obj = DeepFace.verify( img1, img2, model_name="Facenet", detector_backend="mtcnn", distance_metric="cosine" ) alpha = resp_obj["distance"] img1_repr = DeepFace.represent(img1, model_name="Facenet", detector_backend="mtcnn")[0][ "embedding" ] img2_repr = DeepFace.represent(img2, model_name="Facenet", detector_backend="mtcnn")[0][ "embedding" ] beta = find_distance( alpha_embedding=img1_repr, beta_embedding=img2_repr, distance_metric="cosine", ) assert abs(alpha - beta) < 1e-6, f"Distance mismatch: {alpha} (verify) vs {beta} (represent)" logger.info("✅ test compatibility of verify and represent is done") def test_confidence(): for distance_metric in metrics: result = DeepFace.verify( "dataset/img1.jpg", "dataset/img2.jpg", model_name="Facenet", detector_backend="mtcnn", distance_metric=distance_metric, ) assert ( result["confidence"] >= 51 ), f"Confidence should be >= 51 for same person, got {result['confidence']}" result = DeepFace.verify( "dataset/img1.jpg", "dataset/img8.jpg", model_name="Facenet", detector_backend="mtcnn", distance_metric=distance_metric, ) assert ( result["confidence"] <= 49 ), f"Confidence should be <= 49 for different persons, got {result['confidence']}" logger.info(f"✅ test confidence for {distance_metric} metric is done") ================================================ FILE: tests/unit/test_version.py ================================================ # built-in dependencies import json # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() def test_version(): with open("../../package_info.json", "r", encoding="utf-8") as f: package_info = json.load(f) assert DeepFace.__version__ == package_info["version"] logger.info("✅ versions are matching in both package_info.json and deepface/__init__.py") ================================================ FILE: tests/unit/visual-test.py ================================================ # 3rd party dependencies import matplotlib.pyplot as plt # project dependencies from deepface import DeepFace from deepface.commons.logger import Logger logger = Logger() # some models (e.g. Dlib) and detectors (e.g. retinaface) do not have test cases # because they require to install huge packages # this module is for local runs model_names = [ "VGG-Face", "Facenet", "Facenet512", "OpenFace", "DeepFace", "DeepID", "Dlib", "ArcFace", "SFace", "GhostFaceNet", ] detector_backends = [ "opencv", "ssd", "dlib", "mtcnn", "fastmtcnn", # "mediapipe", # crashed in mac "retinaface", "yunet", "yolov8n", "yolov8m", "yolov8l", "yolov11n", "yolov11s", "yolov11m", "yolov11l", "yolov12n", "yolov12s", "yolov12m", "yolov12l", "yolov11n", "yolov11s", "yolov11m", "centerface", ] # verification for model_name in model_names: obj = DeepFace.verify( img1_path="dataset/img1.jpg", img2_path="dataset/img2.jpg", model_name=model_name ) logger.info(obj) logger.info("---------------------") # represent for model_name in model_names: embedding_objs = DeepFace.represent(img_path="dataset/img1.jpg", model_name=model_name) for embedding_obj in embedding_objs: embedding = embedding_obj["embedding"] logger.info(f"{model_name} produced {len(embedding)}D vector") # find dfs = DeepFace.find( img_path="dataset/img1.jpg", db_path="dataset", model_name="Facenet", detector_backend="mtcnn" ) for df in dfs: logger.info(df) expand_areas = [0] img_paths = ["dataset/img11.jpg", "dataset/img11_reflection.jpg"] for expand_area in expand_areas: for img_path in img_paths: # extract faces for detector_backend in detector_backends: face_objs = DeepFace.extract_faces( img_path=img_path, detector_backend=detector_backend, align=True, expand_percentage=expand_area, ) for face_obj in face_objs: face = face_obj["face"] logger.info(f"testing {img_path} with {detector_backend}") logger.info(face_obj["facial_area"]) logger.info(face_obj["confidence"]) # we know opencv sometimes cannot find eyes if face_obj["facial_area"]["left_eye"] is not None: assert isinstance(face_obj["facial_area"]["left_eye"], tuple) assert isinstance(face_obj["facial_area"]["left_eye"][0], int) assert isinstance(face_obj["facial_area"]["left_eye"][1], int) if face_obj["facial_area"]["right_eye"] is not None: assert isinstance(face_obj["facial_area"]["right_eye"], tuple) assert isinstance(face_obj["facial_area"]["right_eye"][0], int) assert isinstance(face_obj["facial_area"]["right_eye"][1], int) # left eye is really the left eye of the person if ( face_obj["facial_area"]["left_eye"] is not None and face_obj["facial_area"]["right_eye"] is not None ): re_x = face_obj["facial_area"]["right_eye"][0] le_x = face_obj["facial_area"]["left_eye"][0] assert re_x < le_x, "right eye must be the right eye of the person" type_conf = type(face_obj["confidence"]) assert isinstance( face_obj["confidence"], float ), f"confidence type must be float but it is {type_conf}" assert face_obj["confidence"] <= 1 plt.imshow(face) plt.axis("off") plt.show() logger.info("-----------")