brunch

You can make anything
by writing

C.S.Lewis

by 코딩하는 수학쌤 Nov 23. 2021

44. 머신러닝을 손쉽게 활용하는 Orange SW

[5악장-concerto] 머신러닝과 코딩

    코딩이 필요 없는 데이터 마이닝 도구 : 오렌지3  

 최근에는 코딩 없이 데이터 분석을 할 수 있는 교육 도구들이 등장하고 있습니다. 인공지능을 전문적으로 연구하거나 산업에서 세밀하게 설계를 하기 위해서는 파이썬을 비롯한 코딩이 필요하겠지만 교육용으로 인공지능을 배우기에는 코딩의 장벽이 꽤 높기 때문입니다. 


Orange 프로그램 홈페이지 모습


 슬로베니아 루블라냐 대학에서 개발한 오렌지라는 프로그램은 코딩 없이 데이터 분석을 할 수 있고, 다양한 인공지능 모델을 바로 불러와 데이터를 처리할 수 있습니다. 파이썬은 텍스트 기반으로 하나하나 프로그래밍을 하기 때문에 인공지능 ‘설계’를 하는 느낌이지만 오렌지는 그래픽 기반으로 데이터를 탐색하고 데이터에 모델을 적용하여 분류를 하거나 군집화를 하는 등의 처리를 할 수 있습니다. 엄밀하게 보면 인공지능을 설계하는 것이 아니라 인공지능을 활용해서 데이터를 살펴봐서 특징을 추출하는 데이터 마이닝(Data Mining) 프로그램입니다.

 아직은 생소하고 낯설지만 최근 코딩 없이 인공지능 교육을 하기 위해  점차 활용되는 추세입니다. 고등학교의 일부 인공지능 기초 교과서에서도 오렌지 프로그램을 교과서 내 학습 활동에 적용하고 있습니다. 코딩의 배경 지식이 없이도 마우스 클릭으로 버튼을 눌러가며 사용할 수 있고 데이터를 직접 분류, 군집화 등에서 머신러닝 알고리즘을 쉽게 적용하여 결과를 얻을 수 있습니다.




오렌지3 : 데이터 마이닝 vs 파이썬 : 컴퓨터 언어 

 앞서 살펴봤던 파이썬은 백지와 같은 상태에서 하나씩 설계를 하여 프로그램을 생성하는 컴퓨터 언어입니다. 파이썬은 각종 함수를 모아놓은 라이브러리를 활용해 데이터를 읽는 방법, 학습 등을 코딩을 통해 작성을 하고 그 결과물로 새로운 ‘프로그램’을 만드는 것이 목적입니다. (물론 Pandas, Numpy등과 같이 데이터 계산 및 분석 과정에도 파이썬을 활용할 수 있습니다.) 만약 파이썬의 라이브러리 등이 익숙하거나 머신러닝 설계를 통해 다른 용도로 확장하여 개발 등이 필요할 때라면 파이썬이 더 적합하다고 할 수 있습니다. 


 반면 오렌지는 컴퓨터 언어가 아닌 데이터 마이닝 프로그램입니다. 굳이 비유를 하자면 오렌지 3은 엑셀 프로그램과 같습니다. 엑셀은 표 형태의 자료를 가공하고, 계산하고, 차트로 표현하는 등의 기능을 활용해서 처리를 하죠. 이처럼 데이터 자체를 탐색하여 특성을 살펴보고 머신러닝의 알고리즘을 적용할 때, 머신러닝 자체를 쉽게 배울 때 오렌지 3을 사용할 수 있습니다.

orange에서 활용하는 Python 언어

 엑셀을 사용할 때도 엑셀에 내장된 VBA라는 기능을 통해 코딩을 활용하여 일부 기능을 자동화하거나 나만의 기능을 구현하는 방법을 구현할 수 있는 것처럼 오렌지 3에도 파이썬 스크립트를 사용하여 코딩을 활용할 수 있습니다. 물론 파이썬 없이 오렌지를 사용할 수는 있지만,  만약 파이썬을 다룰 수 있다면 오렌지를 더욱 잘 활용할 수 있겠죠?




    오렌지를 활용한 머신러닝의 한 장면  


 예를 들어 붓꽃의 다양한 속성을 담은 데이터가 있고 이 데이터를 서포트 벡터 머신(SVM) 모델을 활용하여 분류를 해보려고 합니다. 파이썬을 기반으로 한다면 데이터를 읽는 것부터 알고리즘을 위한 함수 등을 하나하나 코딩을 통해 직접 설계해야 합니다. 

이미지 출처 : https://orangedatamining.com/

 하지만 오렌지에서는 이런 기능들이 위젯으로 모두 구현되어 있습니다. 그래서 SVM 모델을 사용하기 위한 위젯을 실행시키고 필요한 설정을 몇 가지 입력합니다. 그런 다음 실행을 시키면 데이터를 분류하기도 하고, 그 분류의 결과를 시각화해서 보여주기도 합니다. 


 오렌지 3를 이해하기 위해서는 머신러닝의 각 모델의 특징을 알아야 하고, 모델을 적용하는데 필요한 설정 또한 이해할 필요가 있습니다. 따라서 우리가 앞에서 살펴본 인공지능 자체에 대한 이해와 머신러닝에 활용되는 수학에 대해 잘 알고 있다면 가장 효과적인 머신러닝 도구를 사용할 수 있고 좀 더 세밀하게 결과를 도출해낼 수 있습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari