Safe Haskell | None |
---|---|

Language | Haskell2010 |

## Synopsis

- spectralClusterKNorm :: Int -> Int -> AdjacencyMatrix -> LabelVector
- spectralClusterNorm :: AdjacencyMatrix -> LabelVector
- spectralNorm :: Int -> Int -> AdjacencyMatrix -> [Vector Double]
- getDegreeMatrix :: AdjacencyMatrix -> Diag
- type AdjacencyMatrix = Matrix Double
- type LabelVector = Vector Double
- newtype B = B {}
- newtype B1 = B1 {}
- newtype B2 = B2 {}
- spectral :: Int -> Int -> B -> [Vector Double]
- spectralCluster :: B -> LabelVector
- spectralClusterK :: Int -> Int -> B -> LabelVector
- getB :: Bool -> Matrix Double -> B
- b1ToB2 :: B1 -> B2
- getSimilarityFromB2 :: B2 -> Int -> Int -> Double

# Documentation

spectralClusterKNorm :: Int -> Int -> AdjacencyMatrix -> LabelVector Source #

Returns the clustering of eigenvectors with the second smallest eigenvalues and on of the symmetric normalized Laplacian L. Computes real symmetric part of L, so ensure the input is real and symmetric. Diagonal should be 0s for adjacency matrix. Clusters the eigenvector using kmeans into k groups from e eigenvectors.

spectralClusterNorm :: AdjacencyMatrix -> LabelVector Source #

Returns the eigenvector with the second smallest eigenvalue of the symmetric normalized Laplacian L. Computes real symmetric part of L, so ensure the input is real and symmetric. Diagonal should be 0s for adjacency matrix.

spectralNorm :: Int -> Int -> AdjacencyMatrix -> [Vector Double] Source #

Returns the eigenvectors with the Nth smallest eigenvalue and on of the symmetric normalized Laplacian L. Computes real symmetric part of L, so ensure the input is real and symmetric. Diagonal should be 0s for adjacency matrix.

getDegreeMatrix :: AdjacencyMatrix -> Diag Source #

Obtain the signed degree matrix.

type AdjacencyMatrix = Matrix Double Source #

Adjacency matrix input.

type LabelVector = Vector Double Source #

Output vector containing cluster assignment (0 or 1).

Normed rows of B2. For a complete explanation, see Shu et al., "Efficient Spectral Neighborhood Blocking for Entity Resolution", 2011.

B1 observation by feature matrix.

B2 term frequency-inverse document frequency matrix of B1.

spectral :: Int -> Int -> B -> [Vector Double] Source #

Returns the second left singular vector (or from N) and E on of a sparse spectral process. Assumes the columns are features and rows are observations. B is the normalized matrix (from getB). See Shu et al., "Efficient Spectral Neighborhood Blocking for Entity Resolution", 2011.

spectralCluster :: B -> LabelVector Source #

Returns a vector of cluster labels for two groups by finding the second left singular vector of a special normalized matrix. Assumes the columns are features and rows are observations. B is the normalized matrix (from getB). See Shu et al., "Efficient Spectral Neighborhood Blocking for Entity Resolution", 2011.

spectralClusterK :: Int -> Int -> B -> LabelVector Source #

Returns a vector of cluster labels for two groups by finding the second left singular vector and on of a special normalized matrix and running kmeans. Assumes the columns are features and rows are observations. B is the normalized matrix (from getB). See Shu et al., "Efficient Spectral Neighborhood Blocking for Entity Resolution", 2011.