Fix predict_proba_spode mistake
This commit is contained in:
@@ -288,23 +288,23 @@ namespace platform {
|
|||||||
base = (parent_offset + featureClassOffset_[child] + sc) * statesClass_;
|
base = (parent_offset + featureClassOffset_[child] + sc) * statesClass_;
|
||||||
for (int c = 0; c < statesClass_; ++c) {
|
for (int c = 0; c < statesClass_; ++c) {
|
||||||
/*
|
/*
|
||||||
* The probability P(xc|xp,c) is stored in dataOpp_, and
|
* The probability P(xc|xp,c) is stored in dataOpp_, and
|
||||||
* the probability P(xp|xc,c) is stored in data_
|
* the probability P(xp|xc,c) is stored in data_
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
int base = pairOffset_[i * nFeatures_ + j];
|
int base = pairOffset_[i * nFeatures_ + j];
|
||||||
int blockSize = states_[i] * states_[j];
|
int blockSize = states_[i] * states_[j];
|
||||||
return base + c * blockSize + (si * states_[j] + sj);
|
return base + c * blockSize + (si * states_[j] + sj);
|
||||||
*/
|
*/
|
||||||
// index = compute_index(parent, instance[parent], child, instance[child], classVal);
|
// index = compute_index(parent, instance[parent], child, instance[child], classVal);
|
||||||
idx = base + c;
|
idx = base + c;
|
||||||
spodeProbs[c] *= data_[idx];
|
spodeProbs[c] *= data_[idx];
|
||||||
spodeProbs[c] *= dataOpp_[idx];
|
spodeProbs[c] *= dataOpp_[idx];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Normalize the probabilities
|
// Normalize the probabilities
|
||||||
normalize(probs);
|
normalize(spodeProbs);
|
||||||
return probs;
|
return spodeProbs;
|
||||||
}
|
}
|
||||||
int predict_spode(const std::vector<int>& instance, int parent)
|
int predict_spode(const std::vector<int>& instance, int parent)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user