Skip to content
Snippets Groups Projects
Commit 2eb17d9d authored by Jakhes's avatar Jakhes
Browse files

Finishing pca tests

parent f84ce396
No related branches found
No related tags found
No related merge requests found
......@@ -104,7 +104,11 @@ double pcaDimReduction(SP_integer scaleData, char const *decompositionPolicy,
{
// convert the Prolog array to arma::mat
mat data = convertArrayToMat(dataMatArr, dataMatSize, dataMatRowNum);
if(data.n_rows < newDimension)
{
raisePrologSystemExeption("NewDimension cant be greater than the Dimensionality of the Data!");
return 0.0;
}
double returnValue;
......@@ -119,7 +123,7 @@ double pcaDimReduction(SP_integer scaleData, char const *decompositionPolicy,
{
returnValue = PCA<RandomizedSVDPolicy>((scaleData == 1)).Apply(data, (size_t)newDimension);
}
else if (strcmp(decompositionPolicy, "randomized-block-krylov") == 0)
else if (strcmp(decompositionPolicy, "randomized_block_krylov") == 0)
{
returnValue = PCA<RandomizedBlockKrylovSVDPolicy>((scaleData == 1)).Apply(data, (size_t)newDimension);
}
......@@ -178,7 +182,7 @@ double pcaVarianceDimReduction(SP_integer scaleData, char const *decompositionPo
{
returnValue = PCA<RandomizedSVDPolicy>((scaleData == 1)).Apply(data, varRetained);
}
else if (strcmp(decompositionPolicy, "randomized-block-krylov") == 0)
else if (strcmp(decompositionPolicy, "randomized_block_krylov") == 0)
{
returnValue = PCA<RandomizedBlockKrylovSVDPolicy>((scaleData == 1)).Apply(data, varRetained);
}
......
......@@ -21,7 +21,7 @@
%% --Input--
%% bool scaleData => (1)true / (0)false,
%% string decompositionPolicy "exact", "randomized", "randomized-block-krylov", "quic",
%% string decompositionPolicy "exact", "randomized", "randomized_block_krylov", "quic",
%% mat data,
%%
%% --Output--
......@@ -49,7 +49,7 @@ foreign(pca, c, pcaI( +integer,
%% --Input--
%% bool scaleData => (1)true / (0)false,
%% string decompositionPolicy "exact", "randomized", "randomized-block-krylov", "quic",
%% string decompositionPolicy "exact", "randomized", "randomized_block_krylov", "quic",
%% mat data,
%% int newDimension
%%
......@@ -77,7 +77,7 @@ foreign(pcaDimReduction, c, pcaDimReductionI( +integer,
%% --Input--
%% bool scaleData => (1)true / (0)false,
%% string decompositionPolicy "exact", "randomized", "randomized-block-krylov", "quic",
%% string decompositionPolicy "exact", "randomized", "randomized_block_krylov", "quic",
%% mat data,
%% float32 varRetained => [0,1]
%%
......
......@@ -49,7 +49,7 @@ test(pca_Normal_Use_Randomized_Block_Krylov) :-
print(EigVecList).
test(pca_Normal_Use_Quic) :-
pca(0, quic, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, TDataList, _, EigValList, EigVecList, _),
pca(0, quic, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, TDataList, _, EigValList, EigVecList, _),
print('\nTransformed Data: '),
print(TDataList),
print('\nEigenValues: '),
......@@ -85,7 +85,7 @@ test(pcaDimReduction_Wrong_DecompositionPolicy_Input, [error(domain_error('The g
test(pcaDimReduction_Negative_NewDimension, fail) :-
pcaDimReduction(0, randomized, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, -2, _, _, _).
test(pcaDimReduction_Too_Big_NewDimension, fail) :-
test(pcaDimReduction_Too_Big_NewDimension, [error(_, system_error('NewDimension cant be greater than the Dimensionality of the Data!'))]) :-
pcaDimReduction(0, randomized, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, 5, _, _, _).
%% Successful Tests
......@@ -112,7 +112,7 @@ test(pcaDimReduction_Normal_Use_Randomized_Block_Krylov) :-
print(RetainedVar).
test(pcaDimReduction_Normal_Use_Quic) :-
pcaDimReduction(0, quic, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, 2, TDataList, _, RetainedVar),
pcaDimReduction(0, quic, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5,5.1,3.5,1.4,4.9], 4, 1, TDataList, _, RetainedVar),
print('\nTransformed Data: '),
print(TDataList),
print('\nRetained Variance: '),
......@@ -169,7 +169,7 @@ test(pcaVarianceDimReduction_Normal_Use_Randomized_Block_Krylov) :-
print(RetainedVar).
test(pcaVarianceDimReduction_Normal_Use_Quic) :-
pcaVarianceDimReduction(0, quic, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 3, 0.5, TDataList, _, RetainedVar),
pcaVarianceDimReduction(0, quic, [5.1,3.5,1.4,4.9,3.0,1.4,4.7,3.2,1.3,4.6,3.1,1.5], 4, 0.2, TDataList, _, RetainedVar),
print('\nTransformed Data: '),
print(TDataList),
print('\nRetained Variance: '),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment