Skip to content

東京都市大学 情報システム学科 『人工知能とデータマイニング』 任意課題3

Notifications You must be signed in to change notification settings

ManatoYamashita/kmeans-clustering

Repository files navigation

人工知能とデータマイニング 任意課題3

プロジェクトはこちら(WebApp)

レポートはこちら(pdf)

ogp

このプロジェクトは、CSVファイルから読み込んだ東京都市大学横浜キャンパスの2号館の太陽光発電システムのデータに対してバッグエンドでK-meansクラスタリング(k=3)を実行し、その結果をJSON形式で返しクライアントで表示するNext.jsアプリケーションです。

プロジェクト概要

18時間×31日分の実発電量、日射量、気温、消費電力量のデータを持つdata1.csvdata2.csvdata3.csvのいずれかを使用して、K-means法でクラスタリングを行います。このAPIは、クラスタリング結果をクライアントに返し、データ分析や視覚化のために利用できます。

ファイル構成


/k-means
├── /app
│   ├── /api
│   │   └── /clustering
│   │       └── route.ts         # クラスタリング処理のAPIルート
│   └── page.tsx                 # クラスタリング結果を表示するクライアントページ
|   └── layout.tsx               # Layoutページ
├── /data
│   ├── data1.csv                # 元データの一部 (実発電量、日射量、気温、消費電力量)
│   ├── data2.csv                # 元データの一部 (上限値が1になるように変換されたデータ)
│   └── data3.csv                # 元データの一部 (下限値が0、上限値が1になるように変換されたデータ)
│   └── sysData.xlsx             # エクセルファイル (全て結合されたデータ)
├── package.json
└── README.md

必要な環境

  • Node.js v18.18.0以上
  • Next.js v15
  • TypeScript

インストールとセットアップ

  1. リポジトリのクローン:

    git clone https://github.com/ManatoYamashita/kmeans-clustering.git
    cd k-means-clustering
  2. 依存関係のインストール:

    npm install
  3. データファイルの配置: プロジェクトルートにdataフォルダを作成し、data1.csvdata2.csvdata3.csvを配置してください。

使用方法

  1. サーバーの起動:

    npm run dev
  2. APIエンドポイントの使用: ブラウザまたはAPIクライアントでhttp://localhost:3000/api/clusteringにアクセスします。APIはランダムに選ばれたCSVファイルからデータを読み込み、クラスタリング結果をJSON形式で返します。

  3. クライアントページの表示:

    k-means

    クライアントサイドでクラスタリング結果を確認するには、ブラウザでhttp://localhost:3000を開いてください。

データの処理フロー

  1. CSVファイルの読み込み: Papa.parseを使ってCSVファイルを読み込み、太陽光発電システムの実発電量、日射量、気温、消費電力量のデータを抽出します。データの空欄がある行はスキップします。

  2. K-meansクラスタリング: kmeans-jsライブラリを使用してK-meansクラスタリング(今回はk=3)を実行し、データをいくつかのクラスタに分割します。

  3. クラスタリング結果の返却: クラスタリング結果はJSON形式で返却され、クライアントページで視覚化されます。

注意事項

  • CSVファイルの内容に空欄や不正なデータが含まれると、該当の行はスキップされます。
  • クラスタリング結果の構造が変わる場合があるため、デバッグやデータの整形の際にはコンソールログを確認してください。

ライブラリ

ライセンス

MIT license

About

東京都市大学 情報システム学科 『人工知能とデータマイニング』 任意課題3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published