Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在计算PCA附带的附加值时更好地利用Apache Spark ML_Java_Apache Spark_Statistics_Apache Spark Mllib - Fatal编程技术网

Java 在计算PCA附带的附加值时更好地利用Apache Spark ML

Java 在计算PCA附带的附加值时更好地利用Apache Spark ML,java,apache-spark,statistics,apache-spark-mllib,Java,Apache Spark,Statistics,Apache Spark Mllib,我想写一个apachespark代码,通过添加每个组件的全局汇总值、更高的特征值、对轴的个体贡献、个体在轴上的投影质量等信息来完成PCA的计算 它起作用了。从50个特征向量中,它计算出它们(这里是三个第一个特征): 备注:流程结束时,“功能”列不再存在。一旦特征标准化,它就会被删除。但我在本例中添加了此列,以使其更具可读性 我使用几种专用方法进行此计算: 创建初始特征向量 然后,一个简短的代码将其标准化,并要求Spark从中计算PCA 另一种私有方法计算每个分量的更高特征值、主分量与其汇总的变

我想写一个apachespark代码,通过添加每个组件的全局汇总值、更高的特征值、对轴的个体贡献、个体在轴上的投影质量等信息来完成PCA的计算

它起作用了。从50个特征向量中,它计算出它们(这里是三个第一个特征):

备注:流程结束时,“功能”列不再存在。一旦特征标准化,它就会被删除。但我在本例中添加了此列,以使其更具可读性

我使用几种专用方法进行此计算:

  • 创建初始特征向量
  • 然后,一个简短的代码将其标准化,并要求Spark从中计算PCA
  • 另一种私有方法计算每个分量的更高特征值、主分量与其汇总的变量之间的相关性以及主分量为特征提供的全局质量
  • 最后一个参数计算每个主成分计算中每个个体的贡献,以及每个个体在每个轴上的投影精细程度
因为我从ML开始(来自
sparkmllib
),我想我错过了它的一些重要功能,这些功能本可以使我的代码更清晰、更简单。您能给我一些提示,说明我应该做些什么来创建一个代码,更好地利用apachesparkML的功能吗

封装测试;
导入静态java.lang.Math.sqrt;
导入静态org.apache.spark.sql.functions.*;
导入静态org.apache.spark.sql.types.DataTypes.*;
导入java.io.*;
导入java.util.*;
导入org.apache.spark.api.java.function.*;
导入org.apache.spark.ml.feature.*;
导入org.apache.spark.ml.linalg.*;
导入org.apache.spark.sql.*;
导入org.apache.spark.sql.api.java.*;
导入org.apache.spark.sql.types.*;
导入org.junit.jupiter.api.*;
导入org.springframework.boot.test.context.*;
导入org.springframework.test.context.*;
/**
*分析组成原理。
*/
@ActiveProfiles(“测试”)
@SpringBootTest(类=SparkTestApplicationEstion.class)
公共类AnalyseComposantesPrincipalesIT扩展了AbstractStatsTest实现了可序列化{
/**序列号*/
私有静态最终长SerialVersionId=7301395393891047373L;
/**
*主要成分研究所。
*/
@试验
@显示名称(“ACP:美国大学分类”)
公共无效成分原则(){
//Créer le数据集特征(矢量):
//特征
// [100.0,100.0]
// [86.1,70.3]
// [67.9,69.2] 
// ...
数据集DSHICISI=denseRowWithVectors(
//分类(变量HiCi和SCi des universités America ines)。
d(100100),d(86.1,70.3),d(67.9,69.2),d(54.0,65.4),d(65.9,61.7),,
d(58.4,50.3),d(56.5,69.6),d(59.3,46.5),d(50.8,54.1),d(46.3,65.4),
d(57.9,63.2),d(54.5,65.1),d(57.4,75.9),d(59.3,64.6),d(56.9,70.8),
d(52.4,74.1),d(52.9,67.2),d(54.0,59.8),d(41.3,67.9),d(41.9,80.9),,
d(60.7,77.1),d(38.5,68.6),d(40.6,62.2),d(39.2,77.6),d(38.5,63.2),,
d(44.5,57.6),d(35.5,38.4),d(39.2,53.4),d(46.9,57.0),d(41.3,53.9),,
d(27.7,23.2),d(46.9,62.0),d(48.6,67.0),d(39.9,45.7),d(42.6,42.7),
d(31.4,63.1),d(40.6,53.3),d(46.9,54.8),d(23.4,54.2),d(30.6,38.0),,
d(31.4,51.0),d(27.7,56.6),d(45.1,58.0),d(46.9,64.2),d(35.5,48.9),,
d(25.7,51.7),d(39.9,44.8),d(24.6,56.9),d(39.9,65.6),d(37.1,52.7);;
long n=dshicisc.count();
int p=2;//Deux变量。
int nombreComposantes=2;
//大学校友会。
dshicisi.show((int)n,false);
//中央研究中心(标准化)。
//缩放特征
// [3.665634766586407,3.156450874585141]
// [2.711113911293206,0.8064410737434008]
// [1.461309625945275,0.7194036737122256]
// ...
StandardScaler scaler=new StandardScaler().setInputCol(“功能”).setOutputCol(“缩放功能”)
.setWithStd(true)//Réduire
.setWithMean(true);//center
Dataset centreReduit=scaler.fit(dsHiCiSCi).transform(dsHiCiSCi).select(“scaledFeatures”);
//Faar计算器PAL MLLES合成的原则(Nube BrimeTunes外加de p变量)。
//
//尺度特征主成分分析
// [3.665634766586407,3.156450874585141]     [-4.823943018707778,-0.36004738290505234]
// [2.711113911293206,0.8064410737434008]    [-2.4872869831159297,-1.3468070793732898]
// [1.461309625945275,0.7194036737122256]    [-1.5419971620115105,-0.5246067298266516]
// ...
PCA PCAOOperationDefinition=new PCA().setInputCol(“scaledFeatures”).setOutputCol(“PCA”).setK(nombreComposantes);
Dataset ComponentSprincipalesCalculees=pcaoOperationDefinition.fit(centreDuit).transform(centreDuit);
组合原则计算显示((int)n,假);
//计算者加上组成部分的固有价值,计算出不同的收入,并计算出全球收入的质量。
//
//valeurPropre相关成分ACXI质量成分
// 1.5648493047635532   0.8845477106305665            0.7824246523817766
// 0.3951506952364467   0.44449448547560555           0.19757534761822335
数据集ValeurPropResetQualite=ValeurPropReetQaliteGlobalResume(pca操作定义,组件原则计算。选择(列(“pca”)),n,p);
ValeurPropResetQualite.show(假);
//计算个人贡献和个人报告质量
+-------------+-------------------------------------------+------------------------------------------+--------------------+---------------------------------------------+------------------------------------------+
|features     |scaledFeatures                             |pca                                       |xStdCarre           |contributionIndividuelleAxe                  |qualiteProjectionIndividuAxe              |
+-------------+-------------------------------------------+------------------------------------------+--------------------+---------------------------------------------+------------------------------------------+
|[100.0,100.0]|[3.665634766586407,3.156450874585141]      |[-4.823943018707778,-0.36004738290505234] |23.400060365676286  |[0.29741427723298436,0.006561249644731516]   |[0.9944600947215109,0.00553990527848926]  |
|[86.1,70.3]  |[2.711113911293206,0.8064410737434008]     |[-2.4872869831159297,-1.3468070793732898] |8.000485845427955   |[0.07906955024417166,0.09180747147437675]    |[0.773277605373604,0.22672239462639585]   |
|[67.9,69.2]  |[1.461309625945275,0.7194036737122256]     |[-1.5419971620115105,-0.5246067298266516] |2.6529674686309654  |[0.03038957477136533,0.013929481805149522]   |[0.8962624969082515,0.10373750309174866]  |