Add first of PA's examples
parent
aa566041f2
commit
2faa8c05ab
@ -0,0 +1,58 @@
|
||||
s.reboot
|
||||
~ds = FluidDataSet.new(s,\simple1data,1)
|
||||
~point = Buffer.alloc(s,1,1)
|
||||
(
|
||||
Routine{
|
||||
10.do{|i|
|
||||
~point.set(0,i);
|
||||
s.sync;
|
||||
~ds.addPoint(i.asString,~point,{("addPoint"+i).postln})
|
||||
}
|
||||
}.play
|
||||
)
|
||||
|
||||
/*** KDTREE ***/
|
||||
~tree = FluidKDTree.new(s)
|
||||
~tree.index(~ds,action:{"Done indexing".postln})
|
||||
|
||||
k = 5; //play with this
|
||||
(
|
||||
Routine{
|
||||
10.do{|i|
|
||||
~point.set(0,i);
|
||||
s.sync;
|
||||
("Neighbours for point" + i).postln;
|
||||
~tree.kNearest(~point, k, {|x| ("Labels:" + x).postln})
|
||||
}
|
||||
}.play
|
||||
)
|
||||
|
||||
/*** KMEANS ***/
|
||||
|
||||
~kmeans = FluidKMeans.new(s)
|
||||
~nClusters = 4; //play with this
|
||||
~kmeans.fit(~ds,~nClusters,100,action:{"Done fitting".postln})
|
||||
(
|
||||
Routine{
|
||||
10.do{|i|
|
||||
~point.set(0,i * 10);
|
||||
s.sync;
|
||||
~kmeans.predictPoint(~point,{|x| ("Predicted Cluster for point" + (i * 10) ++ ":" + x).postln})
|
||||
}
|
||||
}.play
|
||||
)
|
||||
|
||||
~labels = FluidLabelSet(s,\simple1label);
|
||||
|
||||
~kmeans.predict(~ds,~labels, {|x| ("Size of each cluster" + x[0]).postln})
|
||||
(
|
||||
Routine{
|
||||
var n;
|
||||
~labels.size({|x| n = x[0][0]});
|
||||
n.asInt.do{|i|
|
||||
~labels.getLabel(i.asString,action: {|l|("Label for" + i ++ ":" + l).postln});
|
||||
}
|
||||
}.play
|
||||
)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue