本文整理汇总了C++中TableView::rowsNumber方法的典型用法代码示例。如果您正苦于以下问题:C++ TableView::rowsNumber方法的具体用法?C++ TableView::rowsNumber怎么用?C++ TableView::rowsNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TableView
的用法示例。
在下文中一共展示了TableView::rowsNumber方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: predict
Table<LabelType> predict(const TableView<DataType> &samples) {
std::vector<LabelType> predictions(samples.rowsNumber());
#pragma omp parallel for
for (size_t i = 0; i < samples.rowsNumber(); ++i) {
predictions[i] = predict(samples[i]);
}
return Table<LabelType> (baseLabels.columnsNames(),
std::make_move_iterator(predictions.begin()),
std::make_move_iterator(predictions.end()));
}
示例2: operator
double operator () (const TableView<Label> &positive, const TableView<Label> &negative) {
std::unordered_set<Label> labels;
std::unordered_map<Label, size_t> positiveLabelCount;
for (const auto &label : positive) {
++positiveLabelCount[label];
labels.insert(label);
}
std::unordered_map<Label, size_t> negativeLabelCount;
for (const auto &label : negative) {
++negativeLabelCount[label];
labels.insert(label);
}
size_t samplesNumber = positive.rowsNumber() + negative.rowsNumber();
double entropy = 0;
double positivePart = positive.rowsNumber() * 1.0 / samplesNumber;
double negativePart = negative.rowsNumber() * 1.0 / samplesNumber;
for (const auto &label : labels) {
size_t positiveClassSize = positiveLabelCount[label];
size_t negativeClassSize = negativeLabelCount[label];
size_t classSize = positiveClassSize + negativeClassSize;
entropy += h(classSize * 1.0 / samplesNumber);
if (positive.rowsNumber()) {
entropy -= positivePart * h(positiveClassSize * 1.0 / positive.rowsNumber());
}
if (negative.rowsNumber()) {
entropy -= negativePart * h(negativeClassSize * 1.0 / negative.rowsNumber());
}
}
return entropy;
}
示例3: train
void train(const TableView<Row> &samples, const TableView<Label> &labels) {
std::vector<size_t> ind;
for(size_t i = 0; i < samples.rowsNumber(); ++i) {
ind.push_back(i);
}
tree = std::unique_ptr<Tree>(new Tree(trainer.train(samples[ind], labels[ind])));
assert(tree->root < tree->size());
}