我正在尝试进行光谱聚类。
我有对称亲和度矩阵的特征向量,我必须找到(取自论文),其中x' Mx是群集间分数。
在代码中(使用OpenCV库)
//a symmetric affinity matrix calculated prior
CvScalar scal;
CvMat* evec = cvCreateMat(src->height,src->height,CV_32FC1); //eigenvectors
CvMat* eval = cvCreateMat(1,src->height,CV_32FC1); //eigenvalues (1xN)
cvZero(evec);
cvZero(eval);
cvEigenVV(&mat, evec, eval, 1);
//result is eval->cols == mat.cols and eval->rows == mat.rows
for( int j = 0; j < eval->cols; j++ )
{
/*access the obtained eigenvalues*/
scal = cvGet2D( eval, 0, j );
printf( "\n%f\n", scal.val[0]);
for(int i=0;i < evec->rows;i++){
printf(" vector: %d: %f ", j, cvmGet(evec,j,i)); //Fetching each component of Eigenvector i
}
printf("\n");
}
答案 0 :(得分:0)
所以,这意味着
1)x * =具有最大特征值的特征向量
2)主特征向量可以描述不同的聚类。如果将绘制主要特征向量的值,则图中的变化将指示数据的不同群集