Commit 2af0dccd authored by Guolin Ke's avatar Guolin Ke
Browse files

use real feature index in feature importance.

parent c45d1d99
......@@ -84,7 +84,7 @@ public:
inline int leaf_depth(int leaf_idx) const { return leaf_depth_[leaf_idx]; }
/*! \brief Get feature of specific split*/
inline int split_feature(int split_idx) const { return split_feature_[split_idx]; }
inline int split_feature_real(int split_idx) const { return split_feature_real_[split_idx]; }
/*!
* \brief Shrinkage for the tree's output
......
......@@ -223,7 +223,7 @@ void GBDT::Train() {
}
fflush(output_model_file);
}
FeatureImportance(models_.size());
FeatureImportance(static_cast<int>(models_.size()));
fclose(output_model_file);
}
......@@ -355,7 +355,7 @@ void GBDT::FeatureImportance(const int last_iter) {
size_t* feature_importances = new size_t[max_feature_idx_ + 1]{0};
for (int iter = 0; iter < last_iter; ++iter) {
for (int split_idx = 0; split_idx < models_.at(iter)->num_leaves() - 1; ++split_idx) {
++feature_importances[models_.at(iter)->split_feature(split_idx)];
++feature_importances[models_.at(iter)->split_feature_real(split_idx)];
}
}
std::string ret = Common::ArrayToString(feature_importances, max_feature_idx_ + 1, ' ');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment