#include "daal.h"
#include "service.h"
using namespace std;
using namespace daal;
using namespace daal::algorithms;
const string dataFileName = "../data/batch/pca_normalized.csv";
const size_t nVectors = 1000;
int main(int argc, char *argv[])
{
checkArguments(argc, argv, 1, &dataFileName);
FileDataSource<CSVFeatureManager> dataSource(dataFileName, DataSource::doAllocateNumericTable,
DataSource::doDictionaryFromContext);
dataSource.loadDataBlock(nVectors);
pca::Batch<> algorithm;
algorithm.input.set(pca::data, dataSource.getNumericTable());
algorithm.parameter.resultsToCompute = pca::mean | pca::variance | pca::eigenvalue;
algorithm.parameter.isDeterministic = true;
algorithm.compute();
pca::ResultPtr result = algorithm.getResult();
printNumericTable(result->get(pca::eigenvalues), "Eigenvalues:");
printNumericTable(result->get(pca::eigenvectors), "Eigenvectors:");
printNumericTable(result->get(pca::means), "Means:");
printNumericTable(result->get(pca::variances), "Variances:");
return 0;
}