本文整理汇总了C++中VectorSpace::size方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorSpace::size方法的具体用法?C++ VectorSpace::size怎么用?C++ VectorSpace::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorSpace
的用法示例。
在下文中一共展示了VectorSpace::size方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: qt_clustering
Clusters qt_clustering(VectorSpace & vs, double max_diameter, int minCount)
{
Clusters clusters(vs.size(), std::numeric_limits<index>::max()); // assign all the vectors to no cluster
int assignedCount = 0;
int clusterId = 0;
int count = vs.size();
int dim = vs[0].size();
while(assignedCount < vs.size())
{
std::vector < std::vector<Vect> > clusts;
std::vector < std::vector<int> > clustsIdx;
clusts.resize(vs.size());
clustsIdx.resize(vs.size());
double *limits = new double[dim*2];
int skipped = 0;
int docId_i = 0;
BOOST_FOREACH(Vect d_i, vs) // foreach document
{
if (clusters[docId_i] != std::numeric_limits<index>::max())
{
skipped++;
docId_i++;
continue; // sample taken already
}
for(int d=0; d<dim; d++)
{
limits[2*d] = d_i[d];
limits[2*d+1] = d_i[d];
}
std::vector<Vect> &clust = clusts[docId_i];
std::vector<int> &clustIdx = clustsIdx[docId_i];
clust.push_back(d_i);
clustIdx.push_back(docId_i);
for(index docId_j = 0; docId_j < vs.size(); docId_j++)
{
if(docId_j == docId_i) continue;
if (clusters[docId_j] != std::numeric_limits<index>::max()) continue; // sample taken already
if(diameterInf(vs[docId_j], max_diameter, limits))
{
clust.push_back(vs[docId_j]);
clustIdx.push_back(docId_j);
}
}
docId_i++;
} // foreach document
delete [] limits;
// find the cluster with the maximum count
int maxIndex = 0, maxCnt = 0;
for(int i=0; i<clustsIdx.size(); i++)
{
if(maxCnt < clustsIdx[i].size())
{
maxIndex = i;
maxCnt = clustsIdx[i].size();
}
}
std::cout << "maximum cluster: " << maxIndex << " with " << maxCnt << " samples"<< std::endl;
if(maxCnt < minCount) break;
for(int i=0; i<clustsIdx[maxIndex].size(); i++)
{
int index = clustsIdx[maxIndex][i];
clusters[index] = clusterId;
}
clusterId++;
assignedCount += maxCnt;
}
return clusters;
};