Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.1 데이터 마이닝의 첫 걸음 강좌의 맛보기 강의입니다.
이번 영상에서는 노코드 데이터 분석이란 무엇인지 함께 살펴보도록 하겠습니다. 우리 강좌는 머신러닝의 다양한 데이터 분석 기법들을 다루는데 이때 여러분께서 코딩의 어려움 없이 데이터 분석 다양한 모델들, 알고리즘을 이해하는 것에 초점을 맞추고 있습니다. 이때 어떤 도구를 사용할까? 코딩 없이 데이터를 분석하는 도구. 이것을 노코드 데이터 분석, 노코드 라고 부르는데요. 이름 그대로 코드가 없다, 코딩이 없이 데이터를 분석한다 라는 겁니다. 이런 도구들은 프로그래밍 언어를 직접 타이핑해서 입력하지 않기 때문에 굉장히 직관적이고 시각적인 인터페이스를 사용합니다. GUI 위젯을 캔버스에 가져다 놓고 위젯들을 서로 연결함으로써 데이터를 분석해내는 방법을 사용합니다. 굉장히 쉬워요. 엄청 쉽기 때문에 특별히 파이썬 R 프로그래밍 언어 같은 것들 잘 모르셔도 여러분이 전문적인 개발자 코더가 아니어도 쉽게 다루실 수 있는 것이 특징입니다. 노코드 도구의 가장 큰 장점이 무엇인가라고 하면 당연히 코딩 능력이 필요 없다 라고 하는 거겠죠 물론 이런 노코드 도구 굉장히 많이 있습니다 여러가지가 있는데 우리는 이 수업에서 오렌지 라고 하는 굉장히 유명한 도구를 사용할 예정입니다 이 오렌지라고 하는 것은 2000년쯤에 굉장히 오래전에 대학에서 만들어졌고 현재 무료로 많은 사람들이 참여해서 지속적인 발전을 10년 이상 지금 지속적인 발전을 거듭해 오고 있는 무료 오픈소스 소프트웨어입니다 데이터 분석에 특화되어 있구요 쉽고 편리한데 그러면서도 강력한 특징을 좀 가지고 있습니다 주로 위젯, 지금 보고 계시는 이런 위젯 같은 것도 사용하고 있고요. 그리고 코드 작성을 하지 않기 때문에 굉장히 편리하게 쉽게 쓸 수 있다고 하는 특징이 있습니다. 항상 시각적으로 보이게 되고 여러 위젯들은 서로 상호 작용하는 특징도 있고요. 그리고 하나의 소프트웨어에서 데이터를 수집하고 처리하고 통합, 변경하는 것들, 시각화하고 다양한 지도학습, 비지도학습 같은 것들을 한 번에 해낼 수 있는 그런 편리함이 있습니다. 보통 일반적으로 데이터를 분석하는데 가장 먼저 접근하시게 되는 도구, 노코드 도구가 뭐냐고 물어보면 사실 그게 엑셀이에요. 여러분께서 데이터를 특히 통계적 분석, 통계 분석을 하시는 데 있어서 가장 편리하게 다루시는 것은 엑셀이고요. 여기서 조금 더 한 단계 더 복잡한, 더 많은 알고리즘을 다루겠다 라고 하시면 이제 오렌지를 사용해서 배우시는 게 좋은데요 우리 수업은 물론 머신러닝 AI 기반의 어떤 다양한 기계학습 알고리즘 같은 것들을 설명드리는데 이때 엑셀로는 이것을 다 처리하기가 어렵기 때문에 오렌지라고 하는 도구를 이용해서 설명을 드리려고 합니다 둘 다 쉽습니다. 둘 다 일반적으로 접근하기 쉬운 장점이 있는데 그럼에도 불구하고 약간의 차이점은 있어요. 특징이 있습니다. 둘 다 쉽지만 차이점이 있습니다. 어떤 차이가 있냐 라고 하면 가장 큰 차이는 어디에 있냐면 엑셀 같은 경우는 워크시트 셀 기반의 워크시트 가로 세로 모은 종이 같은 그런 모습을 띄고 있잖아요. 스프레드시트 시트의 모습을 띄고 있는데 오렌지는 그렇지 않고 위젯은 비어있는 백지인 캔버스에 위젯을 갖다 놓고 이런 위젯을 연결하는 플로우를 통해서 분석이 일어난다 라고 하는게 가장 큰 차이다 시각적인 차이는 그것이 가장 크다 라고 말씀드릴 수 있을 것 같습니다 내부에서의 차이는 어떤 차이가 있냐면 엑셀 같은 경우는 마이크로소프트의 VBA라는 프로그래밍 언어를 사용하는데요 오렌지는 기본적으로 파이썬 파이썬 기반의 도구입니다. 여러분 잘 아시다시피 데이터 분석에서 파이썬은 정말 빼놓을 수가 없는 너무나 중요한 언어인데요 그럼에도 불구하고 일반적으로 많은 분들이 파이썬부터 배워서 그런 코딩 능력을 토대로 거기에 다시 데이터 분석 능력을 얻겠다 파이썬 코딩을 배우느라고 정작 중요한 데이터 분석의 알고리즘을 이해하실 때쯤 되면 너무 지쳐버릴 수가 있어요 그런데 오렌지는 파이썬 기반으로 하되 파이썬 코딩 단계를 여러 가지로 이제 블록화시켜서 생략을 해 줌으로써 여러분께서 보실 때 이 동작을 할 때는 사용할 때는 그냥 위젯을 갖다 놓고 연결하는 것처럼 보이지만 그 이면에는 그런 블록을 다루시면서 파이썬을 쓰고 있다 라고 생각하시면 되겠습니다 이런 장점 때문에 나중에 오렌지로 만들어진 분석 모델을 파이썬으로 옮기기도 쉽고 또 반대로 파이썬 코드를 가져다가 오렌지를 강화시킬 수도 있어요 서로 이제 같은 언어를 기반으로 하고 있기 때문에 파이썬과의 호환성이 엄청 좋다 라고 생각하시면 좋겠습니다 엑셀과 오렌지의 또 다른 차이는 엑셀에서는 기본적으로 통계 분석을 사용하지만 통계 분석 쪽을 주로 사용하지만 오렌지는 그것보다 훨씬 더 많은 머신러닝 알고리즘을 지원한다. 훨씬 더 많이 사용하고 있구요. 또 이것이 라이선스가 필요없는 오픈소스다 라고 하는 점이 조금 다르다 라고 말씀드릴 수 있겠습니다. 이렇게 정리된 표로 보면 이 표가 맞긴 맞는데 사실 이것만 보시면 뭐가 다르다는 거야 라는 느낌이 좀 적잖아요 그래서 우리가 아주 간단한 예를 하나로 해서 같은 데이터를 가지고 같은 문제를 해결하고자 할 때 엑셀은 어떤 식으로 해결하고 오렌지는 어떻게 해결하는지 예를 하나 딱 들어보면서 여러분이 아 이렇게 차이가 있구나 우리가 저런 도구를 써서 이 수업 이 뒤에 과정을 모두 진행할 예정이구나 라고 하는 것을 아실 수 있도록 한번 예를 들어보도록 하겠습니다 이 두 도구의 차이를 설명드리기 위해서 저는 여러분께 우리가 가지고 있는 실습 자료 중에서 01-1과 01-2라고 하는 이 두 개의 파일을 이용해서 설명을 드리겠습니다. 다만 이 강좌에서 아직 우리가 이 수업에서 사용할 오렌지라고 하는 소프트웨어를 설치한 적이 없죠 여러분께서는 아직은 설치가 되지 않았으니까 제가 지금 보여드리는 내용을 보면서 아 저렇게 다르구나 저 도구 쓸 거구나 정도로 일단은 보시고 다음 클립에서 오렌지를 설치하시고 또 그 다음 클립에서 요 내용을 가지고 지금 보여드리는 실습 같은 것들 뭐 그 외에도 더 다양한 것들 차근차근 같이 하나씩 해나가도록 하겠습니다 일단 01-1이라고 하는 파일 한번 보도록 할게요. 이 파일을 열어보시면 굉장히 단순한 내용이 들어 있습니다. 일단 이 파일의 이름은 아이스크림 판매량이라고 하는 그런 내용이었죠. 그래서 우리가 아이스크림을 판매를 하고자 합니다. 이 판매량을 예측하고자 하는데요. 데이터 분석에 영향을 미치는 게, 온도가 몇 도인가? 습도가 몇 퍼센트인가? 그리고 이게 주말인가 평일인가? 이것이 영향을 미친다고 가정해 보겠습니다. 그럼 우리가 이 세 가지를 가지고 그래서 아이스크림이 몇 개 팔릴까? 라고 하는 것을 예측하고 싶잖아요. 주말 여부는 일단 지금은 이게 문자형 데이터, 카테고리컬 데이터이기 때문에 아이스크림 판매량을 예측할 때 사용하는 방법론이 회귀분석이라고 하는 방법을 씁니다. 그래서 온도와 습도에 따라서 아이스크림 판매량은 얼마인가 라고 하는 것을 회귀분석을 해요. 회귀분석을 일단 엑셀로 먼저 한번 해볼까요? 어떻게 하는지 한번 볼게요. 데이터 탭을 열어보시면 데이터 분석이 있구요. 이 데이터 분석에서 회귀 분석이라고 하는 것을 한번 해보도록 하겠습니다. 엑셀이라는 도구를 쓰면 이 문제를 이렇게 해결한다 라는 거예요. 확인하시면 Y축의 입력 범위, X축의 입력 범위라고 되어 있습니다. 우리가 알고 싶어하는 Y축, 결국 알고 싶은 것은 아이스크림 판매량이니까 여기 D1부터 아이스크림 판매에 몇 개인지 알고싶다. 새로운 워크시트로 회귀분석 결과를 뽑아볼게요. 이렇게 값을 우리가 얻을 수가 있습니다. 물론 이 내용도 모르겠다 하실 수 있으세요. 우리가 그 부분은 엑셀을 이용한 데이터 분석, 우리 수업은 엑셀을 이용한 데이터 분석 수업은 아니잖아요. 일단 엑셀을 이용한 데이터 분석 별도의 어떤 교육 과정을 참고하시는 걸로 하고 우리는 여기서 빠르게 일단 우리가 원하는 기대값을 뽑아 보도록 하겠습니다. 예를 들어 우리가 원하는 것이 기온이 30도이고 기온은 30도 그리고 습도가 50%일 때 그때 도대체 아이스크림 판매량이 몇 개인지 알고 싶어 이렇다라고 가정해 볼게요. 그러면 편의상 기온인 30도를 x1이라고 하고 습도인 50%를 x2라고 이렇게 하도록 하겠습니다. 그럼 이때 예상되는 아이스크림 판매량은 어떻게 구할 수 있는가 라고 하면 이때 아이스크림 판매량을 구하는 공식은 이렇게 구하게 됩니다. 아이스크림 판매량을 y라고 할 때 베타1 x1 더하기 베타2 베타1은 온도의 계수, 베타2는 습도의 계수입니다. 그래서 30도 50%일 때 각각 곱한 다음에 더하기 y 절편 이렇게 구하게 되어있습니다. 빠르게 한번 구해볼게요. 그럼 여기다가 한번 적어볼까요? 기온이 있고 기온 30, 습도 50, 아이스크림 판매량이 몇 개일까? 베타1 온도 계수 베타2 습도의 계수 곱하기 습도 50% 더하기 y 절편 이렇게 우리가 구할 수 있습니다. 얼마로 예상이 돼요? 157개 라는 추정 값을 구할 수가 있는 거죠. 기존에 가지고 있는 데이터를 가지고 아이스크림 판매량 지금까지 100건의 데이터를 토대로 했을 때 기온이 30도 습도가 50%일 때 아이스크림 판매량은 몇 개로 예상되는가 라고 하면 157 이라고 하는 요 값을 구하기 위해서 엑셀 이라고 하는 코딩 없는 엑셀이라고 하는 노코드 데이터 분석 도구는 이러한 방식으로 데이터를 분석하고 기대값을 계산을 해냅니다. 그러면 똑같은 것, 똑같은 데이터를 가지고 똑같이 기온이 30도, 습도가 50%일 때 아이스크림 판매량이 몇 개로 예상되는가? 라고 하는 것을 우리가 이 수업에서 주로 사용하게 될 오렌지라고 하는 도구를 가지고 한번 계산을 해보도록 하겠습니다. 이것이 우리가 사용할 오렌지 라고 하는 도구입니다. 아직은 설치되지 않았고 이 도구의 인터페이스 사용 방법에 대해서 정확히 모르시기 때문에 일단은 아 저런 식이구나 라고 하는 것을 가볍게 보시도록 할게요. 자 얘는 어떻게 쓰는 거냐면요 일단 이런식으로 씁니다. 데이터 분석 도구의 데이터 탭을 보면 파일이 있고 파일을 이렇게 갖다 놔요. 이게 이제 파일을 부르는 겁니다. 데이터를 부르겠다. 더블클릭하면 동작을 하게 되고요. 여기서 바탕화면에 있는 바탕화면이 어디 있을까요? 네 여기 있네요. 바탕화면에 있는 실습 자료에서 우리가 아까 보았던 01-1 아이스크림 판매량 학습 이라고 하는 것을 가져와 보도록 하겠습니다. 이렇게 가지고 와요. 어떤 내용을 가지고 있는지 아래쪽의 목록을 보여주게 되고요. 이렇게 해 볼게요. 주말 여부는 이거 안 쓸 거야 라고 일단 얘는 스킵해 주고요. 그리고 아이스크림 판매량은 타겟이라고 지정을 해 주겠습니다. 이게 뭘까요 라고 하는 것들은 우리가 이제 설치하고 하나씩 차근차근 뒤에 설명 드리도록 하겠습니다. 일단 이렇게 하고 어플라이 합니다. 굉장히 간단하죠. 데이터를 불러오고 뭔지 모르겠지만 뭔가 설정 간단하게 한 것 같아 라고 하는 것을 봤습니다. 그 다음에는 어떻게 하냐면 이렇게 해요. 나 이거 회귀 분석 할 거다 라고 하면 여기에 회귀 분석 리니어 리그레션 이라고 하는 게 있습니다. 리니어 리그레션 갖다 놓으면 리니어 리그레션이 딱 갖다 놓아지게 돼요. 위젯 갖다 놓게 됐죠. 굉장히 시각적으로 처리하죠. 그러면 이 파일을 가지고 회귀 분석을 하겠다고 이렇게 연결만 해주면 연결이 딱 됩니다. 연결됐죠. 연결되고 나면 이걸 가지고 몇 개 팔릴 것 같은지 지금 보시면 이 데이터에는 기온과 습도 이런 게 있잖아요. 기온과 습도에 따라서 얼마나 팔릴 것 같은지 예측하겠다고 하면 위젯이 있습니다. 연결해줍니다. 그렇게 하면 나올 것 같은가? 아직 나오지 않습니다. 아직은 결과 값이 나오지 않죠. 우리가 이제 이렇게 쉽게 연결하는 것만으로 사실은 회귀 분석은 된 거예요. 회귀 분석은 된 거고 이 상태에서 나는 기온이 30도 습도가 50%일 때의 판매량이 궁금해 라고 하면 그 내용이 담겨져 있는 파일을 다음 단계로 불러오게 됩니다. 우리가 가지고 있는 실습 자료에서 01-2번을 보시면 이제 예측에 사용하는 파일이 별도로 있어요. 여기에 제가 온도는 30도이고 습도는 50%이다. 뭐 쓰진 않을 거지만 주말 여부는 평일이다 라고 하는 이런 데이터 하나 딱 들어있는 이런 파일을 별도로 만들어 놨습니다. 오렌지는 예측을 하고자 하는 새로운 데이터가 들어있는 것을 별도, 새로운 데이터를 별도의 파일에 담아서 그것을 불러와서 예측과 연결해 줌으로써 판매량을 구하게 됩니다. 한번 해보도록 할게요. 그럼 이 파일을 불러오면 되겠죠? 새로운 파일을 불러옵니다. 새로운 파일 하나 더 부르고요. 이 파일은 아까의 그 학습 데이터 그것이 아니고 어디 있을까요? 바탕화면에 실습 자료에서 이번에는 학습이 아니라 01-2번 하나 딱 있는 것 기온 30, 습도 50이라고 되어 있는 거 이 예측 파일을 불러오겠다. 여전히 불러옵니다. 이거 주말 여부 이거 안 쓸 거야 라고 스킵해버리고요. Apply 해줍니다. 기온이 30도 습도가 50%일 땐 어떻고 기온이 25도 습도가 30%일 땐 어떻고 등등등등 다양한 상황에 대해서 궁금할 수가 있잖아요 그런 내용들을 쭉 표로 정리해서 담은 표를 하나 불러와서 이걸 가지고 이렇게 예측하고 연결을 해줍니다 Prediction하고 연결을 해줘요 그러면 결과가 이렇게 딱 나오게 되는 거예요 어떠세요? 보면 온도가 30도이고 습도가 50%일 때 예상되는 아이스크림 판매량은 몇 개다? 157개다 라고 하는 결과를 얻을 수가 있는 거죠. 어떠십니까? 같은 데이터를 가지고 아이스크림 판매량, 다양한 기온과 습도에서 아이스크림이 몇 개 팔렸는가? 라고 하는 100건의 데이터가 있었어요. 그 데이터를 가지고 우리가 회귀 분석이라고 하는, Lv.2 데이터 분석의 이해 어떤 코딩을 사용하지는 않습니다 우리가 별도의 어떤 프로그래밍 언어를 알아서 막 이렇게 동작해라 라고 할 필요는 없어요 다 그래픽 인터페이스를 지원하기 때문에 다 마우스 클릭 클릭 클릭 클릭 여기서부터 여기까지 할 거야 라고 쭉 선택해서 해주면 돼요 그런데 이때 지금 보시는 것처럼 엑셀을 이용한 분석은 수식을 도출한 다음 수식을 얻어서 수식에다가 값을 내가 직접 넣어서 계산을 하는 방식을 사용하게 되고요 오렌지라고 하는 이 노코드 도구는 지금 보시는 것처럼 나 이런 경우에 궁금해 라고 하는 것을 별도 파일로 만들어서 이렇게 별도로 수식 뽑고 이렇게 하는 게 아니라 위젯을 갖다 놓고 위젯들을 연결하는 방식으로 처리를 하게 되는 거죠 차이가 보이시죠? 물론 둘 다 유용하고 좋습니다. 어떤 경우에는 엑셀이 조금 더 좋은 경우도 있고 어떤 경우에는 오렌지가 좋은 경우도 있습니다. 다만 우리는 이 강의 전체를 통해서 다양한 인공지능의 어떤 기계적인 능력을 이용해서 다양한 알고리즘, 다양한 분석으로 데이터를 어떻게 조금 더 심도 깊게 다룰 것인가라고 하는 것을 배울 거잖아요. 그런데 그 와중에 계속 수식으로 입력한다? 노코드 도구의 대명사라고 할 수 있는 오렌지를 이용해서 설명을 진행하도록 하겠습니다.
