Anomaly Detection Webアプリ
説明
異常を検出できるアプリケーションを作成するように求められました。アプリケーションにフォームが表示され、ユーザーは次のパラメーターを提供する必要があります。
- CSVファイルのトレーニング
- CSVファイルのテスト
- アルゴリズムタイプ
- しきい値
これらのパラメーターが与えられ、提出によって送信されることにより、アプリケーションは異常レポートを返します。
アプリケーションはMVCアーキテクチャをサポートしています。
- view-「index.html」は、フォームの出力を表示する「result.html」のようにアプリがどのように見えるかを設計します
- コントロール - 「expserver.js」これは私たちのAPIであり、要求されたhttpリクエストを含む:get and post。
get- "/" - メソッドは「index.html」を返します - メインビュー
投稿 - 「/検出」 - メソッドは異常な記録で応答JSONを返します
投稿 - "/detect/fromview" - アプリビューアノマリーレポートを表示するためにこの関数を追加しました - モデル - 「モデル」フォルダー - いくつかのパラメーターを呼び出すことにより、API(コントローラー)への応答を返すサーバー
要件
サーバーを実行するには、次のコンポーネントがシステムにインストールされていることを確認してください。
- Windows用LinuxベースのOSまたはWSL2(WSL Ubuntu 20.04推奨)
- ノードv10.19.0以上バージョン(v14.17.0推奨)
- npm v6.14.4以上バージョン(v7.10.0推奨)
- node-gyp v6.1.0以上バージョン(v8.0.0推奨)
プリインストール:
要件を満たすために1つ(またはそれ以上)のコンポーネントをインストールする必要がある場合は、Linux端子を開き、次のコマンドを使用します。
- APT-Getを更新してアップグレージすることをお勧めします。そのために、「sudo apt-get update」というコマンドを入力し、終了したら、「sudo apt-get upgrade -y」を入力します。
- Node-jsをインストールするには、コマンドを使用します。「sudo apt-get install nodejs -y」。
- NPMをインストールするには、コマンドを使用します。「sudo apt -get install npm -y」。
- Node-Gypをインストールするには、コマンドを使用します。「sudo npm install -g node-gyp」。
注:Node-Gypの場合、Python V3.6(または上)およびGCCコンパイラをシステムにプリインストールする必要があります。
- Python3をインストールするには、コマンドを使用します: "sudo apt-get install python3.6"(または3.7または3.8など)。
- GCCは通常、UNIXベースのシステムにプリインストールされます。
説明書
- システムが上記の要件を満たしていることを確認してください。
- サーバーのメイン辞書で端子を開き、コマンドを実行します: "./run.sh"。このスクリプトは、関連するディレットリで「NPMインストール」を実行して、必要な依存関係を取得し、ノードGYPを使用してプログラムのC ++部分をコンパイルします。
- サーバーのセットアップが完了した後、2つの方法で作業できます。
Webインターフェイスの使用:
ブラウザを開き、「localhost:8080」でサーバーに接続します。次に、フォームに記入して送信します。
リモートアクセスの使用:
次のデータを体内に使用して、「localhost:8080/detect」に投稿リクエストを送信します。
- アルゴリズム:「回帰アルゴリズム」または「円形アルゴリズム」または「ハイブリッドアルゴリズム」。
- new_threshold:0〜1の割合。
- Training_file:システムトレーニング用のCSVファイル。
- testing_file:異常検出用のCSVファイル。
POSTリクエストを行った後、JSONを使用して投稿の応答を取得します。
トラブルシューティング
run.shファイルでいくつかのエラーを受け取った場合、次のコマンドを入力できます。
- cd ./model
- NPMインストール
- node-gyp構成
- Node-Gypビルド
- CD ../Controller
- NPMインストール
- ノードexpserver.js
はじめにビデオ
https://youtu.be/sggpqtrijm0
スクリーンショット
ウェルカム画面: 
結果の例: 
ポストマンビュー: