이상 탐지 웹 앱
설명
우리는 이상을 감지 할 수있는 응용 프로그램을 만들도록 요청 받았습니다. 응용 프로그램은 양식을 표시하고 사용자는 다음 매개 변수를 제공해야합니다.
- 교육 CSV 파일
- CSV 파일 테스트
- 알고리즘 유형
- 한계점
이러한 매개 변수를 주어주고 제출물로 보내면 응용 프로그램은 이상을 반환합니다.
응용 프로그램은 MVC 아키텍처를 지원합니다.
- 보기 - "index.html"해당 앱의 모양이 어떻게 생겼는지, "result.html"양식의 출력을 표시합니다.
- 제어 - "expserver.js"우리의 API이며 요청 된 HTTP 요청 : get and post.
get- "/" - 메소드가 "index.html"을 반환합니다 - 메인 뷰
Post- "/Detect" - 메소드는 ANOMALIES 레코드를 사용하여 응답 JSON을 반환합니다.
Post- "/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 권장)
사전 설치 :
요구 사항을 충족시키기 위해 구성 요소 중 하나 이상을 설치 해야하는 경우 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 Python3.6"(또는 3.7 또는 3.8 등)의 명령을 사용하십시오.
- GCC는 일반적으로 유닉스 기반 시스템에 사전 설치되었습니다.
지침
- 시스템이 위의 요구 사항을 충족하는지 확인하십시오.
- 서버의 주 사전에서 터미널을 열고 "./run.sh"명령을 실행하십시오. 이 스크립트는 관련 방향으로 "NPM 설치"를 실행하여 필요한 종속성을 얻고 Node-Gyp을 사용하여 프로그램의 C ++ 부분을 컴파일합니다.
- 서버의 설정이 완료되면 두 가지 방법으로 작업 할 수 있습니다.
웹 인터페이스 사용 :
브라우저를 열고 "LocalHost : 8080"에서 서버에 연결하십시오. 그런 다음 양식을 채우고 제출하십시오.
원격 액세스 사용 :
신체의 다음 데이터와 함께 "LocalHost : 8080/Deterect"에 게시물 요청을 보내십시오.
- 알고리즘 : "회귀 알고리즘"또는 "원형 알고리즘"또는 "하이브리드 알고리즘".
- New_threshold : 0과 1 사이의 분수.
- Training_File : 시스템 교육을위한 CSV 파일.
- testing_file : 이상 탐지를위한 CSV 파일.
게시물 요청을 마치면 JSON과의 사후 응답을 받게됩니다.
문제 해결
run.sh 파일로 일부 오류를 받으면 다음 명령을 입력 할 수 있습니다.
- CD ./Model
- NPM 설치
- 노드 덩어리 구성
- 노드 홈 빌드
- CD ../Controller
- NPM 설치
- 노드 expserver.js
소개 비디오
https://youtu.be/sggpqtrijm0
스크린 샷
환영 화면 : 
Results example: 
우체부보기 :