brunch

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

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

by 코딩하는 수학쌤

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

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


L6NBGfKkiHOr3JdwaQ0i_dK7SmPOOMvIf2dchfVPiEnecG60YIw64bJy1VvhzvOhdTzGcy9tbTNN47N9Bb7UiUvtJ4AT2a-hbuc4qqJIl1_mxxHOQ_GyHPSdcrqESYf883kz5_ul Orange 프로그램 홈페이지 모습


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

YbmFRuqipimNUGWk1N-Rr0fQXjlYtUsE0E-0cjotYYFtGeMXbfBLwiFsztG0eFuBPeVT3dO-hY0LBbpPF9tLGgjd4AOcmpI42jjFnByOfrn0XdPaH1xoDVzC1jHSD2NIxmsDwkoj

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




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

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


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

oEzA4IoPVFZ3iI5ljcZxzQliwfByWrc0SCs6ZsEy4ktvVpJIPknKRQsleJ1o_wMhCGgH0RmzUi0hNwJEepMkfelAJJqp6Q_MTsTnRWgrLXQSgO-_DTzUSp7EmflRWs7tvyqPibR0 orange에서 활용하는 Python 언어

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




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


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

svm-with-support-vectors.png 이미지 출처 : https://orangedatamining.com/

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


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

keyword
매거진의 이전글43. 파이썬으로 간단히 구현해보는 선형 회귀