RPerl Quick-Start Checklist & Guide
Restricted Perl, The Optimizing Perl 5 Compiler
RPerl is a compiler. For general info:
https://github.com/wbraswell/rperl/blob/master/README.md
http://rperl.org
Filename script/demo/k_nearest_neighbors_2D.pl:
#!/usr/bin/env perl # MLPerl, K Nearest Neighbors 2D, Demo Driver # Load training points, find K nearest neighbors to classify test points use RPerl; use strict; use warnings; our $VERSION = 0.007_000; use MLPerl::PythonShims qw(concatenate for_range); use MLPerl::Classifier::KNeighbors; # read external data my string $file_name = $ARGV[0]; open my filehandleref $FILE_HANDLE, '<', $file_name or die 'ERROR EMLKNN2D10: Cannot open file ' . q{'} . $file_name . q{'} . ' for reading, ' . $OS_ERROR . ', dying' . "\n"; read $FILE_HANDLE, my string $file_lines, -s $FILE_HANDLE; close $FILE_HANDLE or die 'ERROR EMLKNN2D11: Cannot close file ' . q{'} . $file_name . q{'} . ' after reading, ' . $OS_ERROR . ', dying' . "\n"; # initialize local variables to hold external data my number_arrayref_arrayref $train_data_A = undef; my number_arrayref_arrayref $train_data_B = undef; my number_arrayref_arrayref $test_data = undef; # load external data eval($file_lines); # format train data, concatenate all train data arrays my number_arrayref_arrayref $train_data = concatenate($train_data_A, $train_data_B); # generate train data classifications my string_arrayref $train_classifications = concatenate(for_range('0', (scalar @{$train_data_A})), for_range('1', (scalar @{$train_data_B}))); # create KNN classifier my integer $k = 3; my object $knn = MLPerl::Classifier::KNeighbors->new(); $knn->set_n_neighbors($k); $knn->set_metric('euclidean'); # fit KNN classifier to training data $knn->fit($train_data, $train_classifications); # generate and display KNN classifier's predictions my string_arrayref $tests_classifications = $knn->predict($test_data); foreach my string $test_classifications (@{$tests_classifications}) { print $test_classifications, "\n"; }
$ ./script/demo/k_nearest_neighbors_2D.pl ./script/demo/k_nearest_neighbors_2D_data_25_25_50.pl
$ export RPERL_DEBUG=1 && export RPERL_VERBOSE=1 $ rperl -V lib/MLPerl/Classifier/KNeighbors.pm $ ./script/demo/k_nearest_neighbors_2D.pl ./script/demo/k_nearest_neighbors_2D_data_25_25_50.pl
RPerl
rperl
William N. Braswell, Jr.
mailto:wbraswell@NOSPAM.cpan.org
To install MLPerl, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MLPerl
CPAN shell
perl -MCPAN -e shell install MLPerl
For more information on module installation, please visit the detailed CPAN module installation guide.