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)
- /src/catboost/catboost/libs/metrics/metric.cpp:6745: All train targets are equal HOT 1
- Caret object: Inconsistent grid creation with documentation HOT 3
- Error: catboost metric [MultiLogloss] and loss [HammingLoss] are incompatible HOT 1
- [spark] ai.catboost.CatBoostError: CatBoost Master process failed: exited with code 134 HOT 2
- The difference ranking result in the python and libcatboost by max_relevance times HOT 1
- Pool Creation Error - TypeError: must be real number, not NoneType HOT 1
- Typo in docstring of Python package catboost.CatBoostRegressor.grid_search() HOT 1
- Implementing custom multi quantile loss. HOT 6
- Get all candidate splits for catboosttregressor HOT 2
- Error java.lang.OutOfMemoryError: GC overhead limit exceeded HOT 2
- how to do ordered target statistic in prediction HOT 2
- "RuntimeError: Attempt to pop from an empty stack" is raised when running models fit in parallel with threads. HOT 5
- Python package--build from source failed HOT 10
- Different Between PairLogitPairwise and PairLogit and Impact on Categorical Values HOT 1
- Val in CatBoost's plot_tree HOT 1
- Major difference between predictions from trained model HOT 4
- Question for building ordered boosting tree
- Get difference tree result when converting cat_features to numerical values HOT 2
- Why does leaf value in plot tree is related to learning rate?
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.