Contents:
knn
genindex
modindex
search
modshogun | |
%![load_data] | |
trainf = CSVFile('../data/fm_train_real.dat'); | |
feats_train = RealFeatures(trainf); | |
testf = CSVFile('../data/fm_test_real.dat'); | |
feats_test = RealFeatures(testf); | |
train_labels = CSVFile('../data/label_train_multiclass.dat'); | |
labels = MulticlassLabels(train_labels); | |
%![load_data] | |
%![choose_distance] | |
distance = EuclideanDistance(feats_train, feats_test); | |
%![choose_distance] | |
%![create_instance] | |
knn = KNN(3, distance, labels); | |
%![create_instance] | |
%![train_and_apply] | |
knn.train(); | |
test_labels = knn.apply(feats_test); | |
output = test_labels.get_values(); | |
disp(output); | |
%![train_and_apply] |
from modshogun import EuclideanDistance, KNN, MulticlassLabels, CSVFile, RealFeatures | |
#![load_data] | |
trainf = CSVFile("../data/fm_train_real.dat") | |
feats_train = RealFeatures(trainf) | |
testf = CSVFile("../data/fm_test_real.dat") | |
feats_test = RealFeatures(testf) | |
train_labels = CSVFile("../data/label_train_multiclass.dat") | |
labels = MulticlassLabels(train_labels) | |
#![load_data] | |
#![choose_distance] | |
distance = EuclideanDistance(feats_train, feats_test) | |
#![choose_distance] | |
#![create_instance] | |
knn = KNN(3, distance, labels) | |
#![create_instance] | |
#![train_and_apply] | |
knn.train() | |
test_labels = knn.apply(feats_test) | |
output = test_labels.get_values() | |
print output | |
#![train_and_apply] |
Since Pythagoras, we know that a2 + b2 = c2. Use that for KNN. Blablabla
Imagine you have some training and test data.
examples/python/knn.py
In order to run KNN, we need to choose a distance, for example Euclidean. See here for more distances. The distance needs the data we want to classify.
examples/python/knn.py
Once you have chosen a distance, create an instance of the KNN classifier, passing it training data and labels
examples/python/knn.py
Now we run the KNN algorithm and apply it to test data
examples/python/knn.py
{% extends "!layout.html" %} | |
{% block rootrellink %} | |
<li><a href="http://www.shogun-toolbox.org/">Shogun</a> »</li> | |
{{ super() }} | |
{% endblock %} | |
{% block extrahead %} | |
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"> | |
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script> | |
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> | |
{{ super() }} | |
{% endblock %} |
{%- extends "layout.html" %} | |
{% block body %} | |
<div class="container"> | |
<div role="tabpanel"> | |
<!-- Nav tabs --> | |
<ul class="nav nav-tabs" role="tablist"> | |
<li role="presentation" class="active"><a href="#python" role="tab" data-toggle="tab">Python</a></li> | |
<li role="presentation"><a href="#octave" role="tab" data-toggle="tab">Octave</a></li> | |
<li role="presentation"><a href="#java" role="tab" data-toggle="tab">Java</a></li> | |
</ul> | |
<!-- Tab panes --> | |
<div class="tab-content"> | |
<div role="tabpanel" class="tab-pane active" id="python"> | |
<div class="contents"> | |
{{ body_python }} | |
</div> | |
</div> | |
<div role="tabpanel" class="tab-pane" id="octave"> | |
<div class="contents"> | |
{{ body_octave }} | |
</div> | |
</div> | |
<div role="tabpanel" class="tab-pane" id="java"> | |
<div class="contents"> | |
{{ body_java }} | |
</div> | |
</div> | |
</div><!--div class="tab-content"--> | |
</div><!--div role="tabpanel"--> | |
</div><!--div class="container"--> | |
{% endblock %} |