k セントロイド クラスタリング関数は、数値データ マトリックスを入力として受け取ります。ただし、ここには距離行列しかありません。k重心アルゴリズムは距離行列で機能すると思います。
公式ドキュメントからの抜粋
使用法
library(flexclust)
kcca(x, k, family=kccaFamily("kmeans"), weights=NULL, group=NULL,
control=NULL, simple=FALSE)
引数
x A numeric matrix of data, or an object that can be coerced to such a matrix (such as a numeric vector or a data frame with all numeric columns).
具体的には、距離行列をこの kcca() 関数に送信する必要があります。しかし、本によると、データマトリックスを取り込みます。
アップデート
仕事
バイナリ マトリックスの行をクラスター化します。各行はユーザーを表します。
データ
生データは、このような 10^5 * 10^5 バイナリ マトリックスです。
1 2 3 4 5 6 7 8 ... 10^5
_________________________
1| 0 0 1 0 1 1 1 0
2| 0 1 1 0 1 1 1 0
3| 0 0 0 1 0 1 1 0
4| 0 1 1 1 0 1 1 0
.
.
.
10^5
R が処理するには大きすぎます。また、行のクラスタリングに関心があるため、Java で行の距離を計算し、R が読み取る距離行列を生成します。
1 2 3 4 ...
---------------
2| 2
3| 1 3
4| 3 2 5
.
.
.
次に問題は、 Rの K 重心関数が距離行列ではなく生データ行列を取り込むことです。
このアップデートがお役に立てば幸いです。