jr1*_*321 5 javascript octave k-means tensorflow tensorflow.js
在一个项目中,我设计了一个八度音阶 K-means 算法的原型。如果无法在 HTML 文件中运行 Octave,我将如何将这个以八度编写的 K-means 算法转换为 Tensorflow.js,以便我能够在浏览器中运行它。:
x = [1,2,3,4,5,6;7,8,9,10,11,12;13,14,15,16,17,18]
time = [1,2,3,4,5,6]
k = size(x)
foo = 0
mu = zeros(k(1),1)
for i = 1:k(2),
mu = [x(:,i)/pinv(time(i)), mu]
foo = foo+1
endfor
mu(:,[foo+1]) = [];
usr = sum(mu') / numel(x)
usr = usr'
x = [x,usr]
centroids = [x(:,randi([1,size(x)(2)])), x(:,randi([1,size(x)(2)]))]
if centroids(:,1) == centroids(:,2),
for i = 1:500,
centroids = [x(:,randi([1,size(x)(2)])), x(:,randi([1,size(x)(2)]))]
endfor
endif
K = size(centroids, 2);
idx = zeros(size(x,1), 1);
for c = 1:500,
for i = 1:size(x,2),
min = Inf;
for j = 1:K,
diff = sum((x(:,i) - centroids(:,j)).^2);
if min > diff
min = diff;
idx(i) = j;
end
end
end
for i = 1:size(centroids,2),
xi = x(:,idx==i)
ck = size(xi,2);
centroids(:,i) = [sum(xi,2) * (1/size(x(:,idx==i),2))]
endfor
endfor
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |