Orange를 활용한 코딩 없는 AI 데이터 분석 Lv.0 인공지능 기반 데이터분석 입문 강좌의 맛보기 강의입니다.
오렌지3를 이해하는 가장 좋은 방법은 분석 대상 데이터를 확인하고 데이터에서 인사이트를 얻기 위한 데이터 분석 작업을 실행해 보는 것입니다 세상에서 제일 쉬운 회귀분석을 오렌지3로 진행해 보겠습니다 데이터 분석을 진행할 데이터를 먼저 확인해 보도록 하겠습니다 여러분이 데이터를 다운로드 받으면 폴더 구조는 실습 데이터와 오렌지 워크플로우라는 두 개의 폴더로 구성이 되어 있습니다 오렌지 워크플로우 안에는 여러분들이 이제 이 폴더를 생성해 나갈 거고요 실습 데이터 쪽에는 여러분이 수업 진행을 위한 기본 데이터셋을 제공하고 있습니다 01 제일 쉬운 회귀분석 데이터셋 안에 들어가 보면 지금 보시는 것처럼 파일 두 개가 있는데 지금 여기 데이터 트레인이라고 하는 csv 파일을 오픈해 보도록 하겠습니다 지금 보시는 것처럼 데이터라고 하는 건 테이블 형태로 구성되어 있고 여기 X라고 하는 열과 Y라는 열로 두 개의 열로 데이터가 구성이 되어 있습니다 지금 보시는 것처럼 X열과 Y열의 데이터를 가지고 회귀분석 모델을 오렌지3에 학습을 시킬 겁니다 그래서 이 데이터에서 어떤 패턴을 찾은 다음에 그 패턴을 여기 test라고 하는 csv 파일 안에 보면 이 녀석은 y가 없이 x만 11부터 15라는 값이 주어져 있을 거예요 그랬을 때 조금 전에 데이터 경향성을 그대로 봐서 여기에 추정하는 y 값을 도출해내는 게 이번 분석의 목표예요 지금 보시는 것처럼 데이터 유형은 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이고 y도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이니까 이 패턴을 그대로 따른다면 여기에 그대로 11부터 15가 나오게 될 겁니다 분석 대상 데이터를 확인했으니까 이제 오렌지3를 실행해 보도록 하겠습니다 오렌지3 더블클릭해서 실행되는 걸 확인해 보도록 하겠습니다 자 지금 웰컴 투 오렌지라는 항목이 나오고 저는 여기서 이 체크를 해제하도록 하겠습니다 그럼 앞으로 이 화면이 나오지 않을 거예요 그리고 그 다음에 지금 보면 이 워닝 메시지 자체도 저희는 더 이상 나오지 않도록 하겠습니다 오렌지 화면에서 여러분의 핵심적인 오렌지 메뉴를 이해하고 분석을 진행하도록 하겠습니다 오렌지 메뉴는 파일 에디터 뷰 형태로 나오는 메인 메뉴라는 영역이 있고요 그 하위에 지금 데이터 트랜스폼 비주얼라이즈 모델 이밸류에이트라는 영역 안에 여러 아이콘이 있을 거예요 이런 것을 우리는 위젯이라고 표현합니다 지금 보시는 것처럼 요 녀석을 메뉴라고 하고요 요 녀석을 위젯이라고 표현합니다 그리고 오른쪽에 있는 이 영역, 빈 영역, 이 녀석을 캔버스라고 표현합니다 캔버스가 있고 실제 오렌지3를 사용한다고 한 것은 핵심이 되는 게 바로 이 widget이에요 위젯을 내가 원하는 특정 위젯을 선택을 하고 요 녀석을 드래그해서 캔버스에 갖다 놓으면 이 위젯이 그대로 캔버스에 위치하게 됩니다 그러면 필요한 위젯을 여기 위젯을 가져다 놓은 다음에 그 다음에 이 위젯과 위젯을 링크로 드래그를 하면 연결이 만들어질 거예요 이렇게 위젯과 위젯과의 링크가 만들어지는 것을 워크플로우라고 합니다 그래서 캔버스에서 위젯을 기반으로 해서 워크플로우라는 걸 구성해서 데이터 분석을 하는 분석도구가 오렌지3라고 보시면 됩니다 만약에 여러분이 파이썬이나 R을 이용한다고 한다면 그 단계, 분석을 위한 이 단계를 코드를 통해 알려줘야 돼요 그런데 오렌지3는 워크플로우라는 방식으로 진행을 하고 있습니다 실제 회귀분석을 하면서 살펴보도록 하겠습니다 파일 메뉴에서 Save As 선택하고 저는 지금 실제 폴더가 있는 이 폴더의 오렌지 워크플로우 안에 폴더를 하나 생성하도록 하겠습니다 Linear Regression을 활용한 회귀분석 입문이라고 네이밍을 하도록 하겠습니다 그리고 이 안에 OWS 오렌지 워크플로우 세이브라는 곳에 이름을 주면 됩니다 똑같이 저는 리니어 리그레이션을 활용한 회귀분석 이런 이름으로 오렌지 워크플로우 이름을 하나 만들도록 하겠습니다 위젯을 배치하고 워크플로우를 구성한 다음에 여러분은 주기적으로 세이브 해주면 됩니다 여기 보면 위젯 카테고리가 데이터를 가져오고 데이터를 활용하는 영역이 있고 데이터를 변형하는 것, 시각화하는 것, 그리고 분석 모델을 설정하는 것, 분석 모델을 평가하는 것으로 구성이 되어 있습니다 그리고 필요에 의하면 이 위젯은 Options에 Add-on이라는 것을 선택해서 여러분이 디폴트 위젯 카테고리 이외에 필요한 다른 위젯들을 설치해 볼 수가 있습니다 이건 뒤에서 필요한 때 진행해 보도록 하겠습니다 먼저 데이터라는 섹션에서 파일이라는 걸 선택해 보도록 하겠습니다 파일이라는 걸 선택하고 파일을 더블클릭하면 파일 오픈 다이얼로그를 띄울 수가 있고요 조금 전에 분석하려고 했던 파일 위치를 찾으면 됩니다 저는 실습 데이터의 제일 쉬운 회귀분석 데이터셋의 01 sequential data train이라고 하는 이 파일을 오픈해 보도록 하겠습니다 그리고 여러분들이 실제 테이블 형태의 데이터라고 한다면 x, y라고 한 열이 존재했어요 열 이름 이 녀석이 x, y였죠 이 열 이름 x, y를 데이터 분석에선 되게 다양한 이름을 사용합니다 열 이름 x, y를 데이터라고도 하고요 그리고 그 다음에 이 녀석을 피처라고도 합니다 그리고 그 다음에 만약에 내가 분석을 하려고 하는데 목적이 되는 열이 목적열이 y에요 자 이 Y고 그리고 실제 분석 대상 목적에 영향을 끼치는 자 목적열에 영향을 끼치는 열 요 녀석이 X에요 그랬을 때 목적열 Y를 이걸 목적열 Y를 타겟이라고 하구요 분석 목표다 라고 보시면 됩니다 타겟이라고 하구요 영향을 끼치는 열 X를 Feature라는 이름을 사용하기도 합니다 그리고 만약에 열이 A, B, C, D, E의 열 데이터가 있는데 저는 분석에서 A와 B만 사용할 거예요 그리고 C, D, E는 사용 안 하려고 해요 그럴 때 C, D, E를 사용 안 하려면 C, D, E에 대해서는 메타라는 속성을 주면 존재는 하지만 분석에서 C, D, E 열을 활용하지 않을 수가 있습니다 그러한 부분을 설정하는 게 바로 파일을 오픈했을 때 지금 X와 Y에서 우리가 알고자 하는 건 X에 영향을 끼치는 회귀분석 결과 Y를 알려고 해요 그러면 이 롤이라는 걸 선택하면 지금 보시는 것처럼 Feature, Target, Meta, Skip이라고 하는 게 있습니다 여기서 우리는 Y를 Target으로 지정하도록 하겠습니다 X는 Feature 영향을 주는 것, X의 영향에 따른 Y의 영향 받는 정도를 아는 게 분석의 목표예요 그래서 X를 피처, Y를 타겟으로 설정해서 Apply를 선택해 보도록 하겠습니다 그리고 파일이라고 하는 이름이 와닿지가 않으니까 이 녀석은 이름 변경해서 저는 데이터셋, 회귀분석, 트레인 이라는 이름으로 파일을 지정해 보도록 하겠습니다 실제 저희가 분석하려는 파일을 읽어들여 왔다고 보셔도 될 거예요 읽어들인 다음에 그 파일을 확인해 보려고 한다면 여기 데이터 테이블이라는 게 있습니다 데이터 테이블이라는 걸 이렇게 드래그하고 이 위젯과 관계를 맺는 걸 워크플로우라고 하거든요 지금 보시는 것처럼 이 포커스를 가지면 여기 클릭하면 여기서 이런 선이 하나 나오는 걸 확인해 볼 수 있습니다 여기 보면 이 선에서 이 데이터 테이블을 연결하도록 하겠습니다 그러면 OS로부터 파일을 읽어들인 다음에 이 파일의 데이터를 데이터 테이블로 보냈다고 생각해도 됩니다 그리고 이 보낸 데이터를 확인하려면 이 데이터 테이블을 더블클릭하시면 지금 보시는 것처럼 우리가 확인했던 x, y 값을 그대로 확인해 볼 수가 있습니다 그리고 요 녀석은 이번에 이렇게 볼게요 지금 데이터 테이블을 이렇게 꺼낸 다음에 드래그를 연결해도 되고요 다시 데이터하고 여기서 이 선을 이렇게 꽂은 다음에 마우스 클릭을 띄우면 사용 가능한 위젯을 선택할 수 있는 화면이 나옵니다 여기서 내가 원하는 위젯 데이터 테이블을 선택해도 동일한 결과를 확인해 볼 수가 있습니다 그래도 여러분이 친숙할 때까지는 좌측에 있는 위젯 윈도우를 선택하는 방식으로 설명드리도록 하겠습니다 Visualize 선택하면 다양한 시각화 요소가 나오는데 이번에는 Scatter Plot이라는 걸 이렇게 드래그를 해서 데이터 테이블의 데이터와 스캐터 플롯을 연결해 보도록 하겠습니다 그리고 스캐터 플롯을 더블클릭해 보면 지금 보시는 것처럼 X축에 따른 Y축 값을 이렇게 스캐터 플롯, 실제 산점도 차트를 확인해 볼 수가 있습니다 이게 오렌지3를 확인하는 기본적인 방법이에요 저는 데이터에서 회귀분석을 하려고 해요 모델을 선택하면 여러분이 선택 가능한 다양한 분석 모델들이 존재합니다 그 중에서 Linear Regression을 선택해서 띄워보도록 하겠습니다 그리고 우리가 지금 사용하고자 하는 이 데이터 이 데이터를 가지고 Linear Regression에 연결하도록 하겠습니다 그리고 필요하면 Linear Regression에 다양한 값을 설정할 수 있는데 기본 옵션으로 사용하면 됩니다 그리고 Evaluate라고 하는 섹션에 보면 여기 Prediction이라는 위젯이 있습니다 이 Prediction 위젯을 꺼낸 다음에 이 분석 모델, Linear Regression이라고 하는 분석 모델과 연결을 하고 그리고 이 분석 모델에 영향을 미치는 데이터는 뭔지 데이터까지 이렇게 연동을 해 주셔야 Prediction을 선택해 보면 지금 보면 결과가 이렇게 나옵니다 화면을 저는 좀 이렇게 띄우고 설명을 좀 드리도록 하겠습니다 지금 보면 우리가 사용하는 데이터 X와 Y에 대한 값이 있고 우리가 목표로 하는 게 Y 값이에요 Y 값은 지금 주어져 있는데 회귀식 지금 보면 X열에 대한 Y식을 가지고 회귀모형이 동작하는 공식 Y는 AX 플러스 B 같은 걸 만들어 보니까 회귀식은 지금 보시는 것처럼 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 한마디로 이 녀석은 실제 데이터 이 Y는 실제 데이터라고 보시면 되는 거고요 왼쪽에 있는 리니어 리그레이션이 분석 모델 분석 모델을 저희는 뭘 사용한 거죠? 회귀모형 회귀식을 사용한 거죠. 분석 모형이 알고리즘을 예측한 Y는 예를 들어 회귀식은 Y는 AX 플러스 B의 형태예요. Y는 AX 플러스 B의 형태로 우리가 예측한 예측 결과 값이 좌측에 나오게 됩니다. 좌측에 나오고 지금 보시는 것처럼 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 똑같이 나왔고 이 회귀식은 실제 데이터랑 차이가 나는지, 오차, 차이가 나는지를 검토해 보니까 오차가 하나도 없어요 그러니까 이건 100% 정확하게 모델과 실제 값이 정확하게 일치한다고 보시면 될 겁니다 회귀분석을 진행한 거고 실제 회귀식이 정상적으로 동작하는지 확인 한번 해볼게요 확인하는 방법은 조금 전에 우리가 사용했던 테스트용 데이터 테스트용 데이터에 X가 11, 12, 13, 14, 15가 있는데 그때 우리가 기대한 Y 값은 어떻게 돼요? 똑같은 값이 나오기를 기대하는 거죠 그래서 이 부분을 실제 우리가 학습시켰던 회귀식을 적용해서 살펴보도록 하겠습니다 진행하는 방법은 동일합니다 데이터라는 걸 선택하고 데이터에서 여기 보면 파일이라고 하는 걸 추가하도록 하겠습니다 파일이라고 하는 걸 추가해 보도록 하겠습니다 파일을 하나 추가하고 그리고 이 파일에서 더블클릭해서 조금 전에 우리가 가져오려고 했던 제가 검증하고자 하는 데이터를 선택해 주도록 하겠습니다 첫 번째 폴더에 테스트 데이터 테스트 데이터를 가져오고 이 녀석은 그대로 Feature예요 Feature에서 타겟을 회귀식으로 알고자 하는 거예요 그리고 이 녀석은 이름만 바꿔보도록 하겠습니다 회귀분석 테스트를 진행해 보려고 하고 회귀분석 테스트를 진행하는데 이렇게 하도록 하겠습니다 새로운 Prediction을 하나 만들도록 하겠습니다 제가 알고자 하는 건 예측하고자 하는 게 Prediction 새로운 Prediction 하나 만들어주고 이 Prediction은 모델은 이 학습한 Linear Regression 모델을 그대로 사용하도록 하겠습니다 사용한 모델을 그대로 사용하고 이 모델을 이 데이터에 적용을 한번 해볼게요 적용을 해보면 이걸 더블클릭해보면 어떻게 나오나요? X는 11, 12, 13, 14, 15고 Linear Regression. Linear Regression이 뭐예요? 리니어 리그레이션이 조금 전에 이 데이터를 가지고 리니어 리그레이션 회귀식을 가지고 동작한 원리 수학 공식을 설정을 했어요. y는 ax+b라는 값을 만들어 낸 거고 그 y는 ax 플러스 b 도출된 회귀모형 공식을 그대로 테스트용 데이터에 적용했을 때 실제 결과 값이 어떻게 되는지 요청을 한 거예요. 요청을 했더니 지금 보시는 것처럼 회귀식으로 예측하는 건 11, 12, 13, 14, 15가 나왔다 라는 걸 확인해 볼 수가 있습니다. 그리고 결과는 저희가 필요하다면 시각화를 한번 해보도록 하겠습니다. 시각화를 하면 지금 보시는 것처럼 X축은 우리가 가져온 테스트 데이터고 그리고 Y축은 알고리즘으로 도출한 Linear regression 예측 값이에요. 보면 정상적으로 회귀식이 동작하는 걸 확인해 봤습니다. 일단 이 파일은 그대로 save를 해보도록 하겠습니다. 이렇게 해서 첫 번째 시간에는 오렌지3 화면의 기본적인 구조, 메뉴와 위젯, 그리고 그 다음에 캔버스에서 워크플로우를 구성하는 방식으로 데이터 분석을 진행한다는 개념을 회귀분석을 적용해서 살펴봤습니다. 앞으로는 이걸 가지고 실제 업무에 활용하거나 의미 있는 분석을 진행할 수 있는 다양한 사례를 이러한 방식으로 진행해 보도록 하겠습니다.
