pksvm(1)
β¨ pksvm(1) β¨
okay bestie, welcome to pksvm, the manual page for the icon that is the pksvm command π this is the pksvm(1) page and it's gonna teach you how to classify a raster image using a Support Vector Machine, no cap.
πΈ NAME πΈ
pksvm β classify raster image using Support Vector Machine
π SYNOPSIS π
pksvm -t training [-i input] [-o output] [-cv value] [options] [advanced
options]
π¦ DESCRIPTION π¦
So pksvm implements a support vector machine (SVM) to solve a supervised classification problem. The way it does this is based on the open source C++ library libSVM (http://www.csie.ntu.edu.tw/~cjlin/libsvm). Obsessed, honestly.
Both raster and vector files are supported as input, periodt. The output will contain the classification result, either in raster or vector format, corresponding to the format of the input. Like, it matches the input's energy π .
A training sample must be provided as an OGR vector dataset that contains the class labels and the features for each training point. Important detail bestie: the point locations are not considered in the training step. Fr fr, they're just vibes.
You can use the same training sample for classifying different images, as long as the number of bands of the images are identical. Reuse queen π.
Use the utility pkextract to create a suitable training sample, based on a sample of points or polygons. For raster output maps you can attach a color table using the option -ct.
π OPTIONS π
-t filename,--training filenameβ Training vector file. A single vector file contains all training features (must be set as:b0, b1, b2,...) for all classes (class numbers identified by label option). Use multiple training files for bootstrap aggregation (alternative to the--bagand--bagsizeoptions, where a random subset is taken from a single training file)-i filename,--input filenameβ input image-o filename,--output filenameβ Output classification image-cv value,--cv valueβ N-fold cross validation mode (default:0)-tln layer,--tln layerβ Training layer name(s)-c name,--class nameβ List of class names.-r value,--reclass valueβ List of class values (use same order as in--classoption).-of GDALformat,--oformat GDALformatβ Output image format (see alsogdal_translate(1)).-f format,--f formatβ Output ogr format for active training sample-co NAME=VALUE,--co NAME=VALUEβ Creation option for output file. Multiple options can be specified.-ct filename,--ct filenameβ Color table in ASCII format having 5 columns:id R G B ALFA(0: transparent,255: solid)-label attribute,--label attributeβ Identifier for class label in training vector file. (default:label)-prior value,--prior valueβ Prior probabilities for each class (e.g.,-prior 0.3 -prior 0.3 -prior 0.2) Used for input only (ignored for cross validation)-g gamma,--gamma gammaβ Gamma in kernel function-cc cost,--ccost costβ The parameter C of C_SVC, epsilon_SVR, and nu_SVR-m filename,--mask filenameβ Only classify within specified mask (vector or raster). For raster mask, set nodata values with the option--msknodata.-msknodata value,--msknodata valueβ Mask value(s) not to consider for classification. Values will be taken over in classification image.-nodata value,--nodata valueβ Nodata value to put where image is masked as nodata-v level,--verbose levelβ Verbose level
π₯ Advanced options π₯
-b band,--band bandβ Band index (starting from0, either use--bandoption or use--startbandto--endband)-sband band,--startband bandβ Start band sequence number-eband band,--endband bandβ End band sequence number-bal size,--balance sizeβ Balance the input data to this number of samples for each class-min number,--min numberβ If number of training pixels is less then min, do not take this class into account (0: consider all classes)-bag value,--bag valueβ Number of bootstrap aggregations (default is no bagging:1)-bagsize value,--bagsize valueβ Percentage of features used from available training features for each bootstrap aggregation (one size for all classes, or a different size for each class respectively-comb rule,--comb ruleβ How to combine bootstrap aggregation classifiers (0: sum rule,1: product rule,2: max rule). Also used to aggregate classes with rc option.-cb filename,--classbag filenameβ Output for each individual bootstrap aggregation-prob filename,--prob filenameβ Probability image.-offset value,--offset valueβ Offset value for each spectral band input features:refl[band]=(DN[band]-offset[band])/scale[band]-scale value,--scale valueβ Scale value for each spectral band input features:refl=(DN[band]-offset[band])/scale[band](use0if scale min and max in each band to-1.0and1.0)-svmt type,--svmtype typeβ Type of SVM (C_SVC,nu_SVC,one_class,epsilon_SVR,nu_SVR)-kt type,--kerneltype typeβ Type of kernel function (linear,polynomial,radial,sigmoid)-kd value,--kd valueβ Degree in kernel function-c0 value,--coef0 valueβ Coef0 in kernel function-nu value,--nu valueβ The parameter nu of nu-SVC, one-class SVM, and nu-SVR-eloss value,--eloss valueβ The epsilon in loss function of epsilon-SVR-cache number,--cache numberβ Cache β¨http://pktools.nongnu.org/html/classCache.htmlβ© memory size in MB (default:100)-etol value,--etol valueβ the tolerance of termination criterion (default:0.001)-shrink,--shrinkβ Whether to use the shrinking heuristics-na number,--nactive numberβ Number of active training points
π EXAMPLE π
Classify input image input.tif with a support vector machine. A training sample that is provided as an OGR vector dataset. It contains all features (same dimensionality as input.tif) in its fields (please check pkextract(1) on how to obtain such a file from a "clean" vector file containing locations only). A two-fold cross validation (cv) is performed (output on screen). The parameters cost and gamma of the support vector machine are set to 1000 and 0.1 respectively. A colourtable (a five column text file: image value, RED, GREEN, BLUE, ALPHA) has also been provided.
pksvm -i input.tif -t training.sqlite -o output.tif -cv 2 -ct colourtable.txt -cc 1000 -g 0.1
Classification using bootstrap aggregation. The training sample is randomly split in three subsamples (33% of the original sample each).
pksvm -i input.tif -t training.sqlite -o output.tif -bs 33 -bag 3
Classification using prior probabilities for each class. The priors are automatically normalized. The order in which the options -p are provide should respect the alphanumeric order of the class names (class 10 comes before 2...)
pksvm -i input.tif -t training.sqlite -o output.tif -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 1 -p 0.2 -p 1 -p 1 -p 1
okay that's the whole page bestie, you're officially a pksvm girlie now π«Ά this was pksvm(1) from the pktools era, dated 01 January 2025 β go classify something iconic β¨π
π¦ where this page comes from
- ubuntu questing: pktools 2.6.7.6+ds-6build4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms