Orange3 Interface Module
※ 마지막 업데이트: 2024-02-03
개요
최근 스마트공장 시스템 구축에 AI 기술 적용을 필요로 하는 프로젝트가 많아지고 있음에 따라 Python 스크립트를 직접 작성하지 않더라도 그래픽 사용자 인터페이스(GUI)에서 비전문가도 쉽게 데이터 분석 및 기계 학습 모델을 만들 수 있는 'Orange3' 도구를 이용하여 서비스할 수 있도록 지원하는 모듈
Guide
Orange3
완성된 모델을 'Save Model' 위젯을 이용하여 ".pkcls" 파일 내보내기

[PlusWin-Dev6] Orange3 모델 관리
신규 버튼 클릭 후 모델 정보를 입력과 업로드할 모델 파일을 지정하고 저장

[PlusWin-Dev6] 예측 API 테스트
등록된 모델 정보를 선택하고 [예측 테스트] 버튼을 클릭하여 팝업에서 테스트 진행

[PlusWin6] 프로그램 적용
붓꽃의 정보를 입력하고 예측 버튼을 눌러 분류 결과를 확인하는 샘플
붓꽃 CSV 파일 다운로드: https://dev.gst-pw6.com/files/Iris.csv

private void Predict()
{
lblResult.Text = string.Empty;
object paramValue = new
{
model_id = "MODEL-TEST",
param = $"[[{numSepalLengthCm.Value}, {numSepalWidthCm.Value}, {numPetalLengthCm.Value}, {numPetalWidthCm.Value}]]",
};
string[] speciesType = { "Iris-setosa", "Iris-versicolor", "Iris-virginica", };
string result = null;
try
{
var response = ApiHelper.Call(
HttpMethod.Post,
$"/api/orange3/predict",
paramValue);
if (response?.IsSuccessStatusCode ?? false)
{
var task = response.Content?.ReadAsStringAsync();
task?.Wait();
JObject jObject = null;
if (task?.Result?.TryParseJson(out jObject) ?? false)
{
JToken[] values = jObject.SelectToken("values")?.ToArray();
JToken maxValueItem = values?.Max();
int index = values?.FindIndex(x => x.Equals(maxValueItem)) ?? -1;
result = $"{speciesType?.ElementAtOrDefault(index)} ({maxValueItem})";
}
}
else
{
result = ApiHelper.GetStatusAndMessage(response);
}
}
catch (Exception ex)
{
MessageForm.Show(ex);
}
finally
{
lblResult.Text = $"결과: {result}";
}
}
API
등록된 모델 리스트 조회
GET
https://pw6.gsti.co.kr/api/orange3/model-data/list
모델 파일 다운로드
GET
https://pw6.gsti.co.kr/api/orange3/model
Query Parameters
id*
string
모델 ID
신규 모델 정보 등록
POST
https://pw6.gsti.co.kr/api/orange3/model
Content-Type: multipart/form-data
Request Body
Id
string
모델 ID
File
string($binary)
모델 파일
IsUse
boolean
사용 여부
SampleParam
string
샘플 파라미터
Description
string
설명
모델 정보 수정
PUT
https://pw6.gsti.co.kr/api/orange3/model
Content-Type: multipart/form-data
Request Body
Id
string
모델 ID
File
string($binary)
모델 파일
IsUse
boolean
사용 여부
SampleParam
string
샘플 파라미터
Description
string
설명
모델 데이터 삭제
DELETE
https://pw6.gsti.co.kr/api/orange3/model
Query Parameters
id
string
모델 ID
예측 실행
POST
https://pw6.gsti.co.kr/api/orange3/predict
Request Body
model_id
string
모델 ID
param
string
예측 실행에 필요한 파라미터 (일반적으로 2차원 배열의 문자열 값)
스터디 자료
머신러닝, 지도학습 이해 (생활코딩)
Orange3 입문 가이드
오렌지3 머신러닝 지도학습 (생활코딩)
Last updated