次の表のように生成されたデータセットがあります。
Label | X | Y | A | 1 | 1 | B | 2 | 2 | B | 3 | 2 | A | 4 | 3 | C | 5 | 4 | A | 4 | 3 | C | 2 | 1 | This list will expand to 1000 of items
このデータセットは、k-meanクラスターアルゴリズムを使用して生成されます。そのため、出力をクラスターとしてグラフで表示したいと思います。これらのデータは、C言語の別のプログラムを使用して生成されます。これらのデータを取得したら、クラスターごとに異なる色で以下に示すように、Excelでクラスターとしてプロットします。どうすればいいのか教えていただけますか
Excelでのクラスター分析をサポートする Funfun という名前のツールを提案します。
これにより、JavaScriptとPython(従来のVBAマクロではなく)をExcelでコーディングできます。外部ライブラリもサポートされます。このツールを使用すると、データ分析を行うために任意のJavaScriptライブラリを使用できます(例:クラスター分析)またはグラフをプロットします。
質問に答えるために、関数は(設定で定義された)JSON配列の形式で入力を受け取り、JavaScript変数に保存します。そして、それらとスプレッドシートの間にリンクを作成します。
ここでは、 CanvasJS とjQueryを使用してこのグラフをプロットします。 Clusterfck.js はクラスタープロセスに使用されます。コアコード:
var nb_clusters = 4;
// Calculate clusters.
var clusters = clusterfck.kmeans(data, nb_clusters); // data, nb_clusters
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Birth and death rate"
},
width:500,
axisX: {
title: "Birth rate",
minimum: 0,
maximum: 60
},
axisY: {
title: "Death rate",
titleFontSize: 16
},
data: [
{
type: "scatter",
markerType: "circle",
dataPoints: process(clusters[0])
},
{
type: "scatter",
markerType: "square",
dataPoints: process(clusters[1])
},
{
type: "scatter",
markerType: "square",
dataPoints: process(clusters[2])
},
{
type: "scatter",
markerType: "cross",
dataPoints: process(clusters[3])
}
]
});
chart.render();
スクリーンショットは次のとおりです。
ご覧のとおり、k = 4のk-meansクラスターを使用しています。コード内のハイパーパラメータを変更できます。
オンライン遊び場のこの機能の リンク 。スクリーンショットは次のとおりです。
2番目のペインはExcelのプレビューです。 3番目のペインはコーディング領域です。最後のペインはコードの出力です。
それがお役に立てば幸いです:)
P.S。私はFunfunの開発者です