computer science
I am trying to create c# console application to do the following program: For spectral clustering we will begin with the operation that creates affinity matrix. The operation takes in a list of all the gene vectors and generates a square matrix by getting the affine distance between gene vectors. This is accomplished by calling the Affinity operation that takes two gene vectors and returns the distance between them. The Gaussian function is used instead of the Euclidean distance to generate the necessary data to run the spectral clustering algorithm. The similarity matrix will then be used to calculate the Laplacian matrix. The result will be sent to file. It is then input to Matlab to find the eigenvectors. Then the first k largest eigenvectors are transposed to n k-dimensional vectors. These n vectors are the input to k-mean program and clustered. The next group of operations controls outputting the results to the console and to a file. These operations are ShowMatrix, SaveSimilairyMatrix, ShowClusters, SaveClusters and others that do similar actions. The last group of operations calculates a value known as silhouette. Silhouette is a number used to validate the clusters generated. In other words figure out how well a gene was clustered. The closer the silhouette is to 1 the better. First determine the silhouette of all genes in a cluster. Then average them to get the silhouette of a cluster. Finally take the silhouette of every cluster and average them to get a global silhouette. Going back over this, the silhouette of a gene signifies how well the gene was clustered. The silhouette of a cluster signifies how well that overall group of genes was clustered, and last the global silhouette signifies how well all the genes were clustered
And the pic some of the stuff my teacher wrote in the bord it might help too thx