-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy path02_assignCentroids.js
executable file
·57 lines (48 loc) · 1.61 KB
/
02_assignCentroids.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
function run(){
var means = [{x:100,y:75},{x:175,y:300},{x:500,y:275}];
assignCentroids(means);
// draw data
clearCanvas();
graphData('black');
graphMeans(means, 'gray');
// display means using text
var pretty = data.reduce(function(previous,current){
return previous + '{x:' + current.x + ',y:' + current.y + ',centroid:' + current.centroid + '},<br>';
},'');
document.getElementById('means').innerHTML = pretty;
}
// loop through data points and assign closest centroid
function assignCentroids(means) {
// -------------------------------
// YOUR CODE
// -------------------------------
}
// data points for kMeans
var data = [
{x:150, y:100, centroid:null},
{x:135, y:65, centroid:null},
{x:100, y:50, centroid:null},
{x:65, y:65, centroid:null},
{x:50, y:100, centroid:null},
{x:65, y:135, centroid:null},
{x:100, y:150, centroid:null},
{x:135, y:135, centroid:null},
{x:600, y:350, centroid:null},
{x:571, y:279, centroid:null},
{x:500, y:250, centroid:null},
{x:429, y:279, centroid:null},
{x:400, y:350, centroid:null},
{x:429, y:421, centroid:null},
{x:500, y:450, centroid:null},
{x:571, y:421, centroid:null},
{x:250, y:350, centroid:null},
{x:228, y:297, centroid:null},
{x:175, y:275, centroid:null},
{x:122, y:297, centroid:null},
{x:100, y:350, centroid:null},
{x:122, y:403, centroid:null},
{x:175, y:425, centroid:null},
{x:228, y:403, centroid:null}
];
var exercise = {};
exercise.assignCentroids = assignCentroids;