Comments (3)
According to the paper, it said the plain mode will build the tree by following the GBDT strategy. However, when I plot the tree trained with Plain mode, the structure of tree is oblivious tree not the decision tree.
Oblivious trees are a subtype of decision trees so no contradiction here. If you want CatBoost to build non-oblivious trees you can specify grow_policy
training parameter as Depthwise
or Lossguide
.
Another confusing point is why the priornum used in each layer is different?
Because there can be several numerical features derived from categorical ones with different priors.
You can see the default sets of priors for each Ctr type here.
It is also possible to specify your own priors using training parameters.
from catboost.
According to the paper, it said the plain mode will build the tree by following the GBDT strategy. However, when I plot the tree trained with Plain mode, the structure of tree is oblivious tree not the decision tree.
Oblivious trees are a subtype of decision trees so no contradiction here. If you want CatBoost to build non-oblivious trees you can specify
grow_policy
training parameter asDepthwise
orLossguide
.Another confusing point is why the priornum used in each layer is different?
Because there can be several numerical features derived from categorical ones with different priors.
You can see the default sets of priors for each Ctr type here.
It is also possible to specify your own priors using training parameters.
@andrey-khropov Appreciate for your help. But one question you missed is how the leaf value calculated? In the tree_plot it shows as 0.071 but the prediction return the value 0.5166, and I am confused about how the leaf node value is converted into the predicted value?
from catboost.
how the leaf value calculated? In the tree_plot it shows as 0.071 but the prediction return the value 0.5166, and I am confused about how the leaf node value is converted into the predicted value?
-
You display only the single tree (specified by
tree_idx
), but the model typically contains many trees (up to the number ofiterations
but may have less than the specified maximum value of iterations if the overfitting detector and/oruse_best_model
are used). The number of trees in the model can be obtained from thetree_count_
attribute of the trained model. -
The return value of
predict
will be the function of the sum of values of the selected leaves in all trees. Post-transformation depends on the specifiedprediction_type
parameter.
from catboost.
Related Issues (20)
- Build catboost python package with custom glibc HOT 3
- Custom RMSE loss in tutorial get difference tree structure with the original RMSE loss!!! HOT 3
- Tensor Search Helpers Should Be Unreachable HOT 8
- _catboost.CatBoostError: /src/catboost/catboost/libs/model/model.cpp:564: Too many features in model, ask catboost team for support HOT 3
- If multiple GPUs are present at server and devices parameter is set to specific GPU, catboost allocates GPU memory at other GPUs HOT 1
- Different results with Python and command line HOT 2
- PySpark ML CrossValidator cannot load serialized CrossValidator because it cannot find CatBoostRegressor class HOT 1
- CatBoost for Apache Spark AUC eval metric not working as expected. HOT 3
- CatBoost throws an exception when dealing with a large dataset
- Catboost 1.2.5 broke text features on GPU "Can't find borders for feature #4138" HOT 12
- R: Failed to install 'unknown package' from GitHub HOT 2
- [Model dump: JSON] model.save_model does not warn when required "pool" argument is skipped
- tensor_search_helpers.cpp HOT 1
- quantize: Categorical features are not supported in block quantization
- MultiLogloss can not be used if 'class weight' is specified.
- InternalFeatureImportance is in documentation but not implemented HOT 1
- Internal CatBoost Error (contact developers for assistance): isRealTarget is false, but isClass is false HOT 3
- Can't set keyword arguments sample_weight and init_model while using a custom loss
- Numpy 2.0 support status? HOT 2
- Tests are failing for catboost python-package component.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from catboost.