In[]:=
SetOptions[EvaluationNotebook[],ShowGroupOpener->True]
Input data
Input data
In[]:=
mat={{1.,2,5.},{3.,-1.,2.},{5,-1,2}};mat//MatrixForm
Out[]//MatrixForm=
1. | 2 | 5. |
3. | -1. | 2. |
5 | -1 | 2 |
PrincipalComponents[] function in WL =”Principal Coordinate Analysis” == ResourceFunction[“MultidimensionalScaling”][mat,3]
PrincipalComponents[] function in WL =”Principal Coordinate Analysis” == ResourceFunction[“MultidimensionalScaling”][mat,3]
◼
PrincipalComponents[] function in WL actually computes the “Principal Coordinate Analysis” , not “Principal Component Analysis” and it does not show the “V” in X=USV’
In[]:=
PrincipalComponents[mat,Method->"Covariance"]//MatrixFormPrincipalComponents[mat,Method->"Correlation"]//MatrixForm
Out[]//MatrixForm=
3.45902 | 0.187592 | 0. |
-1.10879 | -0.877829 | 0. |
-2.35023 | 0.690237 | 0. |
Out[]//MatrixForm=
1.91315 | 0.0806539 | 0. |
-0.677733 | -0.455352 | 0. |
-1.23542 | 0.374698 | 0. |
◼
MultidimensionalScaling[] function in WL
In[]:=
ResourceFunction["MultidimensionalScaling"][mat,3]//MatrixForm
Out[]//MatrixForm=
-3.45902 | 0.187592 | 0. |
1.10879 | -0.877829 | 0. |
2.35023 | 0.690237 | 0. |
SingularValueDecomposition[] function in WL == PCA
SingularValueDecomposition[] function in WL == PCA
◼
SingularValueDecomposition[mat, reduced rank] function computes the “U”,”S”,and ”V” of the “Principal Component Analysis”. This function must be used for PCA!
In[]:=
{uu,ww,vv}=SingularValueDecomposition[mat,2];tt=uu.ww;tt//MatrixFormvv//MatrixForm
Out[]//MatrixForm=
-4.16306 | -3.55907 |
-3.55612 | 1.06304 |
-5.00475 | 2.20517 |
Out[]//MatrixForm=
-0.724315 | 0.571061 |
0.00426639 | -0.556617 |
-0.689456 | -0.603379 |
DimensionReduction[mat , reduced rank, Method->”LatentSemanticAnalysis”] in WL == SingularValueDecomposition[] in WL == PCA
DimensionReduction[mat , reduced rank, Method->”LatentSemanticAnalysis”] in WL == SingularValueDecomposition[] in WL == PCA
◼
DimensionReduction[ mat , reduced rank , Method->”LatentSemanticAnalysis”] == SingularValueDecomposition[mat, reduced rank]
◼
This function computes “Principal Component Scores (T) ” as in X=USV’=TV’
In[]:=
dimredLSA=DimensionReduction[mat,2,Method->"LatentSemanticAnalysis"]dimredLSA//NormaldimredLSA[mat,"ReducedVectors"]//MatrixFormdimredLSA[mat,"ReconstructedData"]//MatrixForm
Out[]=
DimensionReducerFunction
Out[]=
DimensionReducerFunctionExampleNumber3,Imputer,RandomImputer,Preprocessor,Processor,ModelMatrix{{-0.724315,-0.571061},{0.00426639,0.556617},{-0.689456,0.603379}},Processor,FinalDimension2,Padder,MethodLatentSemanticAnalysis,PerformanceGoalAutomatic,InvertibilityApproximate,LogTrainingTime0.021248,MaxTrainingMemory66792,DataMemory400,FunctionMemory21560,LanguageVersion{13.2,1},Date,ProcessorCount6,ProcessorTypex86-64,OperatingSystemWindows,SystemWordLength64,Evaluations{}
Out[]//MatrixForm=
-4.16306 | 3.55907 |
-3.55612 | -1.06304 |
-5.00475 | -2.20517 |
Out[]//MatrixForm=
0.982922 | 1.96328 | 5.01771 |
3.18282 | -0.606879 | 1.81037 |
4.88431 | -1.24878 | 2.12 |
◼
DimensionReduction[mat, reduced rank, Method->”PrincipalComponentsAnalysis”] : I don’t know what this function does!
In[]:=
dimredPCA=DimensionReduction[mat,2,Method->"PrincipalComponentsAnalysis"];dimredPCA//NormaldimredPCA[mat,"ReducedVectors"]//MatrixForm
Out[]=
DimensionReducerFunctionExampleNumber3,Imputer,RandomImputer,Preprocessor,Processor,ModelMatrix{{0.55769,0.83005},{-0.586934,0.394346},{-0.586934,0.394346}},Processor,FinalDimension2,Padder,MethodPrincipalComponentsAnalysis,PerformanceGoalAutomatic,InvertibilityApproximate,LogTrainingTime0.0256067,MaxTrainingMemory84352,DataMemory400,FunctionMemory27960,LanguageVersion{13.2,1},Date,ProcessorCount6,ProcessorTypex86-64,OperatingSystemWindows,SystemWordLength64,Evaluations{}
Out[]//MatrixForm=
-2.34313 | 0.0987804 |
0.83005 | -0.55769 |
1.51308 | 0.458909 |
◼
DimensionReduction[ mat , reduced rank , Method->”MultidimensionalScaling”]: I don’t know what this function does!
In[]:=
dimredMDS=DimensionReduction[mat,2,Method->"MultidimensionalScaling"];dimredMDS//NormaldimredMDS[mat,"ReducedVectors"]//MatrixForm
Out[]=
DimensionReducerFunctionExampleNumber3,Imputer,RandomImputer,Preprocessor,Processor,ModelFinalDimension2,Processor,Padder,NearestFunctionNearestFunction,MinRelativeChange0.001,MinDistance0.0001,MaxIterations10000,EmbeddingsNumericArray,MethodMultidimensionalScaling,PerformanceGoalAutomatic,InvertibilityImpossible,LogTrainingTime0.0279905,MaxTrainingMemory65096,DataMemory400,FunctionMemory22712,LanguageVersion{13.2,1},Date,ProcessorCount6,ProcessorTypex86-64,OperatingSystemWindows,SystemWordLength64,Evaluations{}
Out[]//MatrixForm=
3.24611 | -1.1981 |
-1.39194 | -0.382624 |
-1.85827 | 1.57454 |
In[]:=
ResourceFunction["MultidimensionalScaling"][mat,3]//MatrixForm
Out[]//MatrixForm=
-3.45902 | 0.187592 | 0. |
1.10879 | -0.877829 | 0. |
2.35023 | 0.690237 | 0. |