.. sectionauthor:: Dan Blanchard <dblanchard@ets.org>

Utilitiy Scripts
================
In addition to the main script, :doc:`run_experiment <run_experiment>`, SKLL
comes with a number of helpful utility scripts that can be used to prepare
feature files and perform other routine tasks. Each is described briefly below.
For full details of how to use each of these scripts, just run them with the
``--help`` option.

filter_megam
------------
Filter MegaM file to remove features with names in stop word list (or non
alphabetic characters). Also has side-effect of removing ``TEST``, ``TRAIN``,
and ``DEV`` lines if they are present.

generate_predictions
--------------------
Loads a trained model and outputs predictions based on input feature files.
Useful if you want to reuse a trained model as part of a larger system without
creating configuration files.

join_megam
----------
Combine MegaM files that contain features for the same examples.

megam_to_libsvm
---------------
Takes a MegaM-compatible file to be run with the ``-fvals`` switch and outputs a
LibSVM/LibLinear-compatible file to STDOUT.

print_model_weights
-------------------
Prints out the weights of a given trained model.

skll_convert
------------
Convert between .arff, .csv., .jsonlines, .megam, and .tsv formats. In the 
future this will be expanded to add support for libsvm files as well to
eliminate the need for a separate ``megam_to_libsvm`` script.

summarize_results
-----------------
Creates an experiment summary TSV file from a list of JSON files generated by
``run_experiment``.
