pkregann(1)

πŸ’– pkregann β€” bestie edition πŸ’–

okay so real talk, pkregann is a whole regression tool built on an artificial neural network (specifically a multi-layer perceptron), and it lives in section 1 of the manual. that's the name, that's the vibe. periodt.


✨ SYNOPSIS ✨

pkregann -i input -t training [-ic col] [-oc col] -o output [options]
         [advanced options]

that's the shape of it, bestie. the required stuff first, the little extras in brackets, then a whole second layer of advanced options at the end. iykyk. πŸ¦‹


🌸 DESCRIPTION 🌸

so pkregann performs a regression based on an artificial neural network. the regression gets trained from the input columns (that's your -ic) and the output columns (that's your -oc) sitting inside a training text file.

every single row in that training file = one sampling unit. that's the rule. one row, one unit.

and here's the iconic part β€” you can define multi-dimensional input features just by stacking multiple input options on top of each other. like, if you want three-dimensional features? you go:

-ic 0 -ic 1 -ic 2

and boom, three dimensions. no cap. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -i filename, --input filename β€” the input ASCII file. your data goes in here.
  • -t filename, --training filename β€” the training ASCII file. each row is one sampling unit, fr fr. the input features should be handed over as columns, and then the output follows after them.
  • -o filename, --output filename β€” the output ASCII file where the result lands. your lil souvenir. 🫢
  • -ic col, --inputCols col β€” the input columns. like, say your three-dimensional input data is chillin' in the first three columns β€” you'd write: -ic 0 -ic 1 -ic 2
  • -oc col, --outputCols col β€” the output columns. for example, for a two-dimensional output living in columns 3 and 4 (counting from 0, bestie, always from 0) you'd write: -oc 3 -oc 4
  • -from row, --from row β€” start from this row in the training file. and yes, it starts from 0. ✨
  • -to row, --to row β€” read until this row in the training file. starts from 0 too, or you can just leave it at 0 as the default to read all the way until the end of the file. πŸ“–
  • -cv size, --cv size β€” n-fold cross validation mode. we love a good validation moment.
  • -nn number, --nneuron number β€” number of neurons in the hidden layers of the neural network. and ooo, you can stack multiple hidden layers by defining multiple neuron counts: -n 15 -n 1. the default is one hidden layer with 5 neurons. she's simple, she works. πŸ’œ
  • -v level, --verbose level β€” set it to: 0 (results only), 1 (confusion matrix), 2 (debug). pick your level of nosiness.

πŸ‘‘ Advanced options πŸ‘‘

  • --offset value β€” offset value for each spectral band input features: refl[band]=(DN[band]-offset[band])/scale[band]
  • --scale value β€” scale value for each spectral band input features: refl=(DN[band]-offset[band])/scale[band] β€” and heads up, use 0 if you want to scale min and max in each band to -1.0 and 1.0. 🌈
  • --connection rate β€” the connection rate. default is 1.0, which gives you a fully connected network. she's connected to EVERYONE. πŸ’€
  • -l rate, --learning rate β€” the learning rate. default: 0.7. πŸ“š
  • --maxit number β€” number of maximum iterations (epoch). default: 500. go off, epochs. πŸ”₯

lowkey reminder bestie: keep those column indexes starting from 0, keep the -nn neuron counts in the order you want the layers, and don't forget -i, -t and -o are the non-negotiables. everything else is garnish. πŸ“

and that's the whole page, gorgeous. this was written up as pkregann(1) in the manual, dated 01 January 2025 β€” so if you're reading this version, that's the era you're in. mwah, go train something iconic. πŸ§šπŸ’–βœ¨

πŸ“¦ where this page comes from