NAME
PDLDM::Common - This provides a few basic functions required for data mining with PDL.
SYNOPSIS
use PDL;
use PDLDM::Common qw(NormalizeData WritePDL2DtoCSV ReadCSVtoPDL GetSampleWithoutReplacements SetValue);
my $test_pdl = pdl ([[1,2,3,3,4,4,4,5,6,6], [1,1,1,2,2,4,4,5,6,6],[5,3,2,4,2,8,1,0,-2,6]]);
print "Original: $test_pdl \n";
NormalizeData($test_pdl);
print "Normalized: $test_pdl \n";
WritePDL2DtoCSV($test_pdl,'WritePDL2DtoCSV_test.csv');
my $read_csv_pdl = ReadCSVtoPDL('WritePDL2DtoCSV_test.csv');
print "CSV Read $read_csv_pdl\n";
my $sample = GetSampleWithoutReplacements(100,10);
print "10 samples out of 0 to 99: $sample\n";
print "Original: $test_pdl \n";
SetValue($test_pdl->slice("2:4,(1)"),pdl(9,9,9),0);
print "Changed: $test_pdl \n";
SetValue($test_pdl->slice("2:4,(1)"),pdl(1,1,1),1);
print "Changed: $test_pdl \n";
SetValue($test_pdl->slice("2:4,(1)"),pdl(2,2,2),2);
print "Changed: $test_pdl \n";
DESCRIPTION
NormalizeData
This function in-place min-max nomarlizes a data piddle. Since this changes the data piddle in the input parameter, there are no output parameters. Please make sure you have a copy of your original data, if you need them later.
WritePDL2DtoCSV
Write a 2D piddle to a CSV file.
ReadCSVtoPDL
Read a csv file to a 2D piddle.
WritePDL3DtoCSV
Write a 3D piddle to a CSV file.
GetSampleWithoutReplacements
This produces samples without replacements.
SetValue
Sets values in a piddle. This is required only when a debugger does not support some PDL functions. For example with ActiveState Komodo IDE you may need this function when debugging. SetValue accepts three variables.
1) a piddle that needs to be overwritten, lets say A. 2) a piddle that need to replace A, lets say B. 3) 0: replace A with B. i.e. A = B ; 1: Add B to A. i.e. A = A + B ; 2: Substract B from A = A - B.
It changes A inplace, there for no output arguments are required. The defaults is 0.
DEPENDENCIES
This module requires these other modules and libraries:
PDL
SEE ALSO
Please refer http://pdl.perl.org/ for PDL. PDL is very efficeint in terms of memory and execution time.
AUTHOR
Muthuthanthiri B Thilak Laksiri Fernando
COPYRIGHT AND LICENSE
Copyright (C) 2015 by Muthuthanthiri B Thilak L Fernando
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.22.0 or, at your option, any later version of Perl 5 you may have available.