<dependency> <groupId>org.jblas</groupId> <artifactId>jblas</artifactId> <version>1.2.4</version> </dependency> DoubleMatrix data = new DoubleMatrix(new double[][]{ {1.0, 2.0, 3.0}, {4.0, 5.0, 6.0}, {7.0, 8.0, 9.0} }); DoubleMatrix mean = data.columnMeans(); DoubleMatrix std = data.columnStdDevs(); data.subiRowVector(mean).diviRowVector(std); DoubleMatrix covariance = data.transpose().mmul(data).div(data.rows()); Eigen eigen = SymmetricEigen.eigen(covariance); DoubleMatrix eigenVectors = eigen.getV(); DoubleMatrix eigenValues = eigen.getD(); DoubleMatrix principalComponents = eigenVectors.getColumns(0, K - 1); import org.jblas.DoubleMatrix; import org.jblas.Eigen; import org.jblas.Singular; import org.jblas.Solve; public class PCADemo { public static void main(String[] args) { DoubleMatrix data = new DoubleMatrix(new double[][]{ {1.0, 2.0, 3.0}, {4.0, 5.0, 6.0}, {7.0, 8.0, 9.0} }); DoubleMatrix mean = data.columnMeans(); DoubleMatrix std = data.columnStdDevs(); data.subiRowVector(mean).diviRowVector(std); DoubleMatrix covariance = data.transpose().mmul(data).div(data.rows()); Eigen eigen = Eigen.eigen(covariance); DoubleMatrix eigenVectors = eigen.getV(); DoubleMatrix eigenValues = eigen.getD(); DoubleMatrix principalComponents = eigenVectors.getColumns(0, K - 1); System.out.println("Principal Components:"); System.out.println(principalComponents); } }


上一篇:
下一篇:
切换中文