0
我有一個Eigen::VectorXd
中的權重集合,並且想從這些索引範圍中抽取樣本,使用這些值是概率。如果weights
是std::vector
我可以這樣做:使用特徵向量中的權重進行離散分佈的樣本
std::random_device rd;
std::mt19937 rng(rd());
std::discrete_distribution<int> dist(weights.begin(), weights.end());
int val = dist(rng);
什麼時候這麼做weights
是Eigen::VectorXd
的最佳方式?可以在不復制載體的情況下完成,也不需要自己寫樣本器?
這不會導致數據被複制嗎? – Flash
哪些數據?權重?沒有。 – kangshiyin