분류와 예측 모델의 이해

Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.3 예측 머신러닝 분석 강좌의 맛보기 강의입니다.

강의 대본 보기

이번 영상에서는 분류 모델과 예측 모델이라는 게 어떤 것이고 또 이 둘 사이에 어떤 관계가 있는가라고 하는 것을 함께 살펴보도록 하겠습니다 우리는 데이터로부터 어떤 데이터가 가지고 있는 패턴을 학습하고 또 이런 과거의 패턴을 바탕으로 앞으로 이렇게 될 것이다 라고 하는 것을 예측함으로써 어떤 실질적인 성과 나에게 이익이 되는 결정을 하고 싶어 하는데요 이렇게 데이터가 가지고 있는 패턴을 학습하는 주체는 사람이 될 수도 있고 기계가 될 수도 있습니다 기계가 데이터의 패턴을 학습하고 예측을 수행하는 것을 이러한 학습 과정을 머신러닝이라고 부르는 거죠. 기계학습, 머신러닝입니다. 기계가 데이터를 학습해서 어떠한 패턴을 알아내는 과정, 그리고 예측을 해내는 능력을 갖추는 과정이라고 하는 이 학습 유형은 크게 보면 세 가지로 나눌 수가 있는데요. 지도학습과 비지도학습, 그리고 마지막으로 강화학습이라고 하는 세 가지로 분류할 수가 있습니다. 지도학습이라고 하는 것은 쉽게 얘기하면 정답이 있는 데이터를 가지고 학습하는 것 그리고 비지도학습은 정답이 없는 상태의 데이터를 가지고 학습하는 것 그리고 강화학습은 이러한 학습을 하고 있는 주체인 기계 우리가 이것을 에이전트라고 하는데요 에이전트가 이게 맞다 틀리다 또는 이렇게 하는 게 좋겠다 라고 하는 것을 판단한다기 보다는 에이전트가 하는 결정을 토대로 해서 보상을 주는 거죠. 뭔가 잘했을 때는 긍정적 보상이 있고 또 잘못했을 때는 부정적 보상, 벌칙, 벌점 이런 것들이 있는데 상은 최대한 크게 하고 그리고 벌은 가장 최소화하겠다라고 하는 방식으로 학습하는 강화학습의 세 가지가 있습니다. 정답이 있는 학습 그리고 없는 학습이라고 하는 게 처음 들었을 때는 조금 이상하게 들릴 수가 있는데요. 예를 들어보자면 우리가 학교에서 학습하는 상황을 생각해 보겠습니다. 그럼 우리가 뭔가를 배우고 이러한 우리가 배운 내용들을 예를 들어서 문제집을 푼다라고 한다면 문제집에는 정답이 있죠. 그래서 우리가 나의 답안과 내가 제시한 답안, 나의 의견, 이러한 어떤 답안과 미리 정해져 있는 정답을 비교함으로써 내가 맞았구나 또는 틀렸구나 라고 하는 사실을 알게 되고 내가 틀린 오답 이라고 하는 것을 점점 점점 점점 줄여 나감으로써 문제를 풀고 이 문제의 오답을 줄임으로써 내가 더 잘 알게 되는 학생 학습의 과정을 거치잖아요. 즉 이때 정답을 가지고 있는 문제집을 보고 정답률을 높이는 이러한 방식의 학습을 우리가 지도학습이라고 합니다. 그럼 비지도학습이라고 하는 것은 어떤 것이냐 라고 하면 정답이 없습니다. 예를 들어서 학생들이 모여서 토론을 해요. 어떠한 이슈에 대해서 각자의 의견을 내놔요. 그러면 이 모든 의견은 사실 누구의 의견이 맞고 누구의 의견이 틀리다라고 하는 건 없는 거죠. 이런 이런 상황인데 우리가 어떻게 하면 좋을까 라는 의견은 뭐가 맞다 틀리다 라고 하는 정답의 개념이 존재하지는 않아요 하지만 우리가 그 중에서 가장 현재 상황에서 이런 이런 것들이 좀 가장 나을 것 같다 라고 하는 것을 하나 채택할 뿐인 거죠 비지도 학습은 이런 것처럼 어떤 학생들의 토의 수업 이렇게 하는 게 좋겠다 라고 하는 의견을 개진하는 토의 수업처럼 정답이 존재하지 않는 비지도 학습 우리 강좌에서 주로 다루고자 하는 것은 분류, classification 이라고 하는 주제와 그리고 또 하나는 prediction, 예측이라고 하는 주제이고요. 즉, 한마디로 우리는 이 강좌에서 지도 학습을 중점적으로 다루게 된다 라고 하는 것을 알 수가 있는 거죠. 정답이 있는 데이터를 가지고 학습을 해서 정답을 맞춰서 해치워내는 것에 관심을 갖는 학습 분석 모델 우리는 앞장에서 방금 얘기를 했죠 머신러닝을 하는 데 있어서 정답이 있느냐 없느냐를 가지고 지도학습과 비지도학습이 나뉜다 라고 하는 사실을 이야기했습니다 이때 우리가 얘기하는 정답 정답이 있는가 없는가 라고 하는 것을 데이터 세트의 관점에서 보면 타겟이 있는가 타겟이 없는가 개념적으로는 정답이라는 표현을 쓰는데 데이터의 관점에서 보면 그것은 타겟이 있나 타겟이 없나 라고 표현될 수 있다는 거죠. 타겟은 목표 변수, 즉 우리가 흔히 쓰는 말로 종속변수 Y라고 생각하시면 되겠습니다 우리가 뭔가 변수라고 얘기할 때 독립변수 X 그리고 종속변수 Y 이런 표현을 많이 쓰잖아요 이때 종속변수 Y, 결과가 되는 변수 이것을 우리가 타겟, 다른 말로 타겟 Y가 존재하는 데이터를 가지고 하는 학습이 지도학습이고, Y가 존재하지 않는 데이터를 가지고 하는 학습이 비지도학습입니다. 그래서 타겟이 있느냐 없느냐, Y가 있느냐 없느냐의 문제입니다. 그런데 이 종속변수 Y라고 하는 타겟이, 이 타겟이 되는 것이 쉽게 생각해서 문자 데이터냐 숫자 데이터냐 라고 하는 것을 가지고 다시 이 지도 학습이 두 가지로 나뉘게 됩니다. 예를 들어서 어떤 대상을 놓고 우리가 이 대상을 음 그래 너는 뭐 강아지라고 하자 라고 할게요 사진이 있는데 이 사진을 분류해 주는 거예요 즉 클래시피케이션 해주는 거죠 그럼 그 분류의 결과인 Y 타겟은 그래서 이것은 강아지다 또 이것은 고양이다 라고 하는 이러한 결론이 만들어지게 되겠죠 강아지다 고양이다 결과가 나올 겁니다. 지금 보시면 결과가 되는 Y가 강아지라는 문자 데이터고 고양이라는 문자 데이터죠. 즉 분류라고 하는 모델, 분류 모델은 쉽게 생각하면 문자 데이터인 Y를 가지고 있는 그러한 분석 모델이라고 이해할 수 있는 거죠. 타겟인 Y가 있어야 되는데 이 타겟이 문자 데이터야 즉 그룹의 이름이야 라고 하면 우리가 이것을 분류 모델이다 라고 얘기합니다 이 분류 모델에서 몇 가지 추가적으로 조금 알아두시면 편리한 그런 용어가 몇 가지 있는데요 예를 들어서 우리가 어떤 사진을 가지고 사진을 강아지 그룹 그리고 고양이 그룹으로 나눴어요 이때 하나하나의 그룹을 다른 말로 클래스라고 부릅니다. 그래서 분류 모델은 종속변수 Y가 문자 데이터인데 이 문자 데이터는 결국 뭡니까? 클래스들로 나눈다 라고 얘기할 수 있는 거죠 그래서 분류 모델의 결과물은 어떤 클래스에 속하는가? 라고 하는 클래스의 이름이다 라고 할 수 있겠습니다 클래스의 이름을 다른 말로 라벨이라고 부르기도 합니다 어떤 라벨, 어떤 레이블을 갖게 되는가? 라고 표현하기도 해요 같은 것을 이야기하는, 특히 데이터 분석에서는 같은 것을 이야기하는 이름이 굉장히 다양해요 따지고 보면 똑같은데 뭔가 똑같은 걸 여러 가지 이름으로 부르는 경향이 있거든요 예를 들어서 종속변수 Y, 종속변수라고 부를 수도 있는데 우리가 이것을 타겟 이런 말로도 부르게 되잖아요 그래서 이름들이 굉장히 다양하기 때문에 여러분께서는 아 이게 다 요거 가리키는 여러 가지 이름이야. 이름이고 별명이야 라고 이해하셔도 좋겠습니다. 분류라고 하는 것은 문자 데이터의 Y 값을 갖는 그러한 분석 모델인 거죠. 예측 모델은 그러면 어떤 걸 갖게 될까요? 예측 모델의 Y 값이라고 하는 것은 쉽게 생각하면 숫자 데이터 숫자 데이터를 Y, 결과물로 받게 되는 것이 바로 예측 모델입니다 분류가 문자 데이터를 받는다면 우리가 이 문자 데이터의 이름을 다른 말로 클래스라고 합니다 라고 얘기했었죠 분류가 문자 데이터 클래스를 결과물로 갖게 된다면 예측 모델이라고 하는 것은 숫자 데이터 그래서 이것이 3이다, 3.5다, 5.78이다 라고 하는 것처럼 어떠한 숫자의 결과물을 받게 되는 거죠 분류 모델과 예측 모델에 속하는 어떠한 알고리즘들이 굉장히 많습니다. 정말 다양하거든요. 그런데 예측에 관련되어 있는 그러한 알고리즘들 정말 많아요. 그런데 그 중에서도 가장 중요하고 가장 대중적이고 가장 많은 비중을 차지하는 중요한 모델이 바로 회귀분석, regression이라고 하는 회귀분석입니다. 회귀분석은 데이터 분석에서는 너무너무 중요한 방식이거든요. 그래서 회귀를 통해서 수치를 도출하는 것이 많기 때문에 오해하시면 안 됩니다. 예측 모델에는 여러 가지 알고리즘이 있고 그 중에 회귀가 있는데 이 회귀가 굉장히 중요한 거예요. 예측에서는 그래서 우리가 그냥 흔히 얘기할 때는 예측 모델이라고 부르기도 하지만 다른 말로 회귀 모델이라고 부르기도 합니다. 그래서 누군가가 이거 회귀 모델입니다, 분류와 회귀 모델, 분류 모델과 회귀 모델 이렇게 표현을 해도 그게 꼭 콕 찍어서 회귀 분석만을 말하는 건 아니고 대략적으로 어떤 수치적인 타겟을 갖게 되는 예측 모델을 이야기하는 것이다 라고 여러분이 같이 이해해 주시면 조금 더 혼란이 없이 받아들일 수 있겠다 라고 생각이 됩니다. 예측 모델은 대표적으로 회귀가 가장 대표적인 거구요. 그리고 분류 모델은 의사결정나무, 로지스틱 리그레션, 로지스틱 회귀 분석, 기타 등등 많은 알고리즘이 존재하고 있습니다. 우리가 이제 지도학습이라고 하는 것이 타겟 Y 값이 있고 그리고 이 타겟이 만약에 문자다 라고 하면 분류, 숫자다 라고 하면 그것은 뭐 예측, 회귀모델이다 라고 딱 나눠서 설명을 해버리면 가끔 오해를 하실 수가 있어요. 어떤 오해를 하시느냐? 아, 분류 모델과 회귀모델이 있고 얘네들은 뭔가 이렇게 지도학습이라는 게 있으면 지도학습을 딱 나눠서 너는 분류 모델, 너는 회귀 모델 이렇게 딱 짤리나 보다, 서로 굉장히 배타적인 관계에 있나 보다 라고 오해하실 수가 있습니다. 하지만 그것은 조금 오해입니다. 회귀 모델과 분류 모델은 분명히 나눠지긴 하지만 굉장히 또 밀접한 관련이 있고 비슷한 모델이다 라고도 얘기할 수가 있어요. 이 예를 한번 들어보겠습니다. 회귀와 분류의 관계가 도대체 뭐냐? 예측 모델과 분류 모델의 관계가 뭐냐? 라고 하면 저는 동전의 양면입니다. 라고 얘기하고 싶어요. 지도학습이라고 하는 동전이 있다면 그냥 그 동전의 양쪽 측면일 뿐이다. 라는 거죠. 회귀의 목표 변수 타겟은 수치형 데이터, 숫자 데이터, 뉴메리컬 데이터입니다. 분류의 목표 변수 타겟은 범주형, 카테고리컬 데이터 회귀는 쉽게 얘기하자면 이렇게 데이터들이 있어요. 파란 점들이 이렇게 있습니다. 그러면 회귀 모델이라는 건 그래서 얘네들을 잘 설명하는, 그러한 데이터들을 관통하는, 그래서 잘 설명하는 선이 뭐야 라고 하는 것을 찾는 게 회귀 모델이다. 분류 모델은 똑같은 데이터를 가지고 잘 나누어 주는 선을 긋는 차이일 뿐입니다. 자, 보실게요. 똑같은 데이터죠. 여기까지 똑같은 데이터입니다. 예를 들어서 와인이 있어요. 여러 가지 와인 제품들이 있고요. 이 와인의 품질을 우리가 결정을 하고자 합니다. 우리가 알고 싶은 것, 학습하고자 하는 것, 만들어내고 싶은 것, 이러한 타겟, 목표 변수라고 하는 것은 와인의 품질입니다. 와인 품질이 어떻게 될까? 라고 하는 걸 내가 말하고 싶어요. 그런데 이 와인 품질을 결정하는 것이 예를 들어서 작년 겨울에 비가 얼마나 왔는가, 그리고 올해 평균 기온은 몇 도인가, 그리고 이 와인을 만들기 위한 포도를 수확할 때는 비가 얼마나 왔는가 라고 하는 이 세 가지 요소에 의해서 결정된다 라고 하는 상황을 생각해 보겠습니다. 지금 보시는 것처럼 관련된 데이터 우리가 갖게 되는 데이터는 이렇게 완전히 똑같죠. 이때 예를 들어서 와인의 제품 이름이라고 하는 건 분석에 직접 관련된 건 아니잖아요. 우리가 이런 데이터를 다른 말로 메타 데이터라고 부릅니다. 메타 데이터인 거죠. 데이터 타입이 메타라고 돼요. 데이터의 역할, 이 롤이 메타라고 지정이 됩니다. 그리고 와인 품질에 직접 영향을 끼치는 이 세 가지 데이터들 겨울에 강우량이 얼마냐, 평균 기온이 얼마냐, 수확기에는 비가 얼마나 왔느냐라고 하는 것, 우리가 흔히 이야기하는 일상적인 말로는 독립변수 X인 거죠. 독립변수 X에 해당하는 이 데이터를 우리가 다른 말로 Feature라고 부릅니다. 독립변수 X라고 생각하셔도 좋겠어요. Feature라고 말해도 좋고 X라고 해도 다 괜찮습니다. 여러분께서는 독립변수 X 생각하시면 되겠고요. 그래서 우리가 최종적으로 알고자 하는 타겟, 즉 종속변수 Y라고 하는 게 타겟인데 이때 이 Y를 수치형으로 만들어 낸다, 그럼 이게 뭐예요? 회귀 모델, 예측 모델이 되는 거고, 이거를 특상, 중, 상, 하 정도로 만들어 낸다, 그럼 이게 바로 분류 모델이 되는 거죠. 이때 특상, 중, 상, 하라고 하는 것은 각각 클래스가 되고 이 분류 모델은 4개의 클래스를 가지고 있는 분류 모델이 되는 거죠. 이런 개념입니다. 그런데 다시 볼까요? 이러한 Feature들, 이러한 X를 가지고 우리가 회귀 모델을 통해서 수치를 예측을 해내요. X가 이렇게 되면 Y 품질이 얼마가 될까? 라고 하는 것을 Prediction, 예측을 했습니다. 회귀적으로 추정을 했어요. 그럼 Y 품질이 9.3이다, 5.6이다, 7.9, 4.8 이라고 하는 수치가 숫자값이 나와요. 예를 들어 나는 이 와인 품질의 수치가 9를 넘으면 이게 9보다 크면 그러면 난 그걸 특상이라고 할 거야 또 나는 그러한 어떤 와인 품질의 수치가 7을 넘어가면 7을 넘어가면 7.7일 수도 있고 8일 수도 있고 등등등등 있잖아요 만약에 7을 넘었다 그럼 나는 그거를 상급이라고 하겠어 7보다 낮으면 그러면 중이라고 하고 거기서 5보다도 낮으면 하라고 하겠어 와인 품질이 가질 수 있는 수치형 데이터, 숫자 데이터가 이렇게 쭉 연속해서 있는데 근데 내가 그것을 나는 여기서부터 여기까지, 여기서부터 여기까지는 A 클래스라고 할래. 여기서부터 여기까지는 B 클래스라고 하겠어. 그리고 여기서부터 여기까지는 C 클래스라고 할까 해. 나머지는 D라고 할게. 이렇게 4개의 클래스로 그룹핑을 해주면 그게 곧 분류 모델이 되는 거죠 그러니까 얘네들은 굉장히 배타적인 어떠한 것이 아니고 그렇게 되는 게 아니고 기본적으로는 무언가 예측을 하는 겁니다 수치형으로 예측하는 경우가 굉장히 많아요 그래서 이런 값을 갖게 될 것이다 라는 확률적인 값을 뽑아내는 경우가 되게 많거든요 그래서 우리가 어떤 값 같은 것이 도출이 된다 라고 한다면 이 도출을 기준으로 해서 여기서부터 여기까지는 A 클래스로 하자 저건 B 클래스라고 하자 라고 이렇게 클래스 그룹핑을 나눠주는 것이 바로 분류다 라고 생각하시면 되겠어요 어떠세요? 완전히 다른 게 아니라 정말 동전의 양면이구나 라고 하는 생각이 드시죠 참고로 여기서 우리가 하나 더 용어를 또 알고 가자면 분류의 결과인 문자 데이터를 우리는 클래스라고 부르는데 현재 우리가 지금 보고 있는 이 데이터 표 안에서는 해당하는 클래스가 4개가 있죠 근데 이 클래스가 2개밖에 없는 경우도 있어요 예를 들어서 예, 아니요 남성, 여성, 비가 온다, 안 온다처럼 이렇게 두 개의 클래스로 만들어지는 경우가 있고 이렇게 결과 값인 클래스가 두 개다 라고 하면 우리가 이것을 특별히 이진 분류 모델이라고 부릅니다. 이진분류라고 부르기도 합니다. 분류 모델은 클래스를 만들어 내고 이때 클래스가 두 개면 특별히 이진분류라고 한다. 또 이러한 분류라고 하는 것은 회귀랑 완전히 다른 게 아니라 어떤 숫자 범위를 가지고 클래스를 만들어 낼 수도 있다 라고 하는 개념을 여러분께서 한번 일단 새겨 주시면 감사하겠습니다. 자 여러분께서 이제 지도학습, 비지도학습, 강화학습 이런 것에 대해서도 개념적으로 숙지를 하셨고 또 분류 모델과 회귀 모델이 무엇인지 클래스가 무엇인지 또 이 분류와 회귀의 관계에 대해서도 대략적으로는 파악을 하셨으니까 이것을 조금 더 실제적으로 실제 데이터를 보면서 생각해 보도록 할게요 우리는 여러 도구를 다룰 수 있지만 여러분께서 특별히 어떤 코딩을 하는 것에 대한 부담을 좀 줄이기 위해서 이 수업에서는 주로 오렌지 그리고 엑셀이라고 하는 이 두 가지의 프로그램을 사용해서 이 두 가지만 사용을 해갖고 여러분께 머신러닝에 대해서 조금 더 전달을 드리도록 하겠습니다 우리가 조금 더 주로 이 분석 모델을 다룰 수 있는 도구는 오렌지가 되겠는데요 예를 들어 오렌지에 대해서 보고 계시면 참고로 이 오렌지 프로그램 난 설치되지 않았는데 라고 하실 경우에는 이 머신러닝 강좌의 첫 번째 과목에서 오렌지 설치 안내를 꼭 받아서 다시 준비하시면 좋겠습니다 예를 들어서 오렌지의 인터페이스를 간단하게 보면 오렌지는 왼쪽 탭에 여러가지 위젯들의 모음이 있잖아요 근데 이 위젯들의 모음을 보시면 여기에 모델이라고 하는 탭이 있습니다 이 모델이라고 하는 탭이 바로 지도학습이라고 생각하시면 되겠습니다 지도학습 정답이 있는 비지도 학습 아 머신러닝이 크게 보면 지도, 비지도, 강화학습 이렇게 세 가지로 나뉘게 되는데 정답이 있고 없고로 지도, 비지도를 나누는 게 실제 프로그램이라던가 이런 곳에서도 반영이 되는구나 라고 하는 것을 여러분께서 확인하실 수가 있죠 이 모델 탭을 열어보시면 여러가지 위젯들이 있고 이 위젯들이 바로 우리가 이 강좌를 통해서 하나하나 살펴보게 될 그러한 지도학습 모델들 즉 예측 모델 그리고 분류 모델들이구나 라고 하는 것을 여러분께서 한번 보시면 되겠습니다 일단 지금은 굉장히 좀 복잡해 보이고 뭔지 잘 파악이 안되실 거에요 하지만 우리는 하나하나에 대해서 조금 더 자세하게 다룰 예정입니다 그리고 이렇게 볼까요? 데이터셋을 한번 불러 볼까요? 마우스 오른클릭하시고 위에서 두 번째 데이터셋 한번 눌러 보실게요. 그러면 이제 오렌지에서 미리 준비되어 있는 유명한 데이터 분석을 위한 유명한 데이터셋들을 볼 수가 있는데요. 더블클릭하셔서 우리는 IRIS를 열도록 하겠습니다. IRIS라고 하는 것을 열어볼게요. 참고로 IRIS를 열기 전에 이렇게 한번 볼까요? 데이터셋 목록을 보시면 이 오렌지가 가지고 있는 여러 가지 데이터셋들이 어떤 것들이 있는가 라고 하는 것을 여러분께서 보실 수가 있는데요. 이때 이 데이터셋의 목록에서 타겟이라고 하는 게 보이시죠. 예를 들면 맨 위에 있는 iris라고 하는 이 데이터셋은 타겟이 있고 그 타겟이 뭐라고 되어 있습니까? 카테고리컬이라고 되어 있죠 카테고리컬 데이터, 범주형 데이터 다른 말로 하면 문자 데이터인 거죠 문자 데이터, 즉 범주형 타겟을 가지고 있는 데이터셋입니다 라고 하는 것을 표현하는 것을 우리가 볼 수가 있습니다 즉 이 IRIS라고 하는 데이터셋은 어떤 모델에게 적합한 데이터셋이겠습니까? 분류 모델에게 적합하겠구나 아 이런 데이터는 분류 모델을 위한 거구나 라고 하는 것을 파악하실 수 있죠 바로 밑에 보면 예를 들어서 AutoMPG가 있는데 이 경우에는 Target 데이터가 numeric, 수치형 데이터다 라고 되어 있죠 즉 지도학습의 예측 모델, 즉 회귀 모델, 숫자로 되어 있는 어떠한 예측값 Y를 만들어내는 그러한 분석 모델에 적합한 그러한 데이터구나 라고 하는 것을 확인할 수가 있어요 스크롤 조금 더 내려 보시면 예를 들어서 HDI라던가 이렇게 HDI 같은 것들 그리고 뭐 뱅킹 크라이시스 같은 이러한 타겟이 비어있는 데이터셋들도 많아요. 즉, 정답이 없는 데이터셋은 어떤 것과 관련되어 있겠습니까? 비지도 학습하고 관련되어 있겠구나 라고 하는 것을 우리가 알 수 있죠. 우리가 개념적으로 배운 지도학습과 비지도학습, 그리고 지도학습 중에서 분류 모델과 회귀 모델이라고 하는 것은 데이터셋에서도 이렇게 드러나 보인다 라고 하는 것을 한번 확인하실 수가 있겠습니다. 예를 들어서 이 IRIS 데이터셋을 제가 선택하고 IRIS 데이터셋을 한번 보도록 할게요. 쭉 끌어당겨서 예를 들어 데이터 테이블로 한번 볼까요? 데이터 테이블로 보시면 이 데이터셋은 지금 보시는 것처럼 범주형, 문자 데이터의 타겟을 가지고 있습니다. 이 IRIS인데 세토사냐, 버지니카냐, 버지컬러냐 라고 하는 어떠한 3개의 클래스, 클래스 3개를 가지고 있고요. 그리고 이때 이러한 아이리스의 품종이 무엇이 되어야 되는가? 세토사가 되어야 되는가? 버지니카가 되어야 되는가? 이런 것들을 결정해 주는 것과 관련되어 있는 여러 가지 데이터들 데이터가 4가지가 있습니다. 이런 4가지의 데이터가 타겟은 아니지만 수치형 데이터가 있을 때 우리가 어떤 수치형 데이터 수치형 데이터를 적절히 묶어주면 클래스가 될 수 있고 문자형 데이터는 인코딩 방식을 통해서 어떠한 숫자로 다시 변환될 수도 있다 이 둘은 왔다갔다 할 수 있다 라고 하는 것도 우리가 이 트랜스폼을 통해서 처리가 가능하다 라는 말씀을 드립니다 간단한 거니까 한번 해볼까요? 예를 들어서 세팔렝스라고 하는 이런 수치형 데이터가 있어요 그럼 이 수치형 데이터를 문자형으로 변환해 볼까요? 내가 얘를 변환해 보겠다 라고 하시면 트랜스폼을 보시면 트랜스폼에서 컨티뉴즈와 디스크리타이즈라고 하는 이렇게 연속화 그리고 이산화라고 하는 이런 위젯 같은 것들을 확인하실 수 있죠. 우리는 세팔렝스라고 하는 수치형 데이터를 그룹핑을 해서 범주형으로 바꿔주기 위해서 디스크리타이즈라고 하는 것을 가져와 볼게요 예를 들어서 데이터를 디스크리타이즈를 하겠다 쭉 뽑아서 이렇게 연결해 주겠다 더블클릭해 보시면 여러가지 어떤 기준으로 묶어줄 건가요? 무엇을 묶을 건가요? 라고 선택할 수 있잖아요 그래서 sepal length를 통해서 이 sepal length라고 하는 수치형 데이터 앞에 numeric이라고 이미 표시되어 있죠 이 데이터를 내가 카테고리컬 데이터 문자 데이터로 바꿀 거야 자연스럽게 바꾸기 위해서 이걸 해볼까요? 예를 들어서 아까 그 데이터가 얼핏 보니까 1부터 한 6 정도 있는 것 같으니까 natural bin으로 한 6개 정도의 그룹으로 bin으로 바꾸겠다 바꾸래. 그룹 6개 정도로 바꾸겠다. 라고 한번 이렇게 선택해 줄게요. 그리고 엔터 하시고 닫을게요. 그러면 그룹핑이 되었습니다. 그룹핑된 결과를 볼까요? 그룹핑된 결과를 다시 데이터 테이블에 연결해서 보시면 원래 세팔렝스라고 하는 것은 우리가 이 두 개를 나란히 비교해 볼까요? 원래 데이터는 어땠습니까? 세팔렝스라고 하는 것은 수치형 데이터인데 마치 와인 품질이 숫자로 나오는 것처럼 수치형 데이터인데 이산화를 통해서 이렇게 여러 가지 범주, 클래스 우리 몇 개의 클래스로 나눴어요? 6개의 클래스로 나눠질 수 있다 라고 하는 것을 보셨죠 데이터가 이렇게 숫자와 범주를 왔다 갔다 할 수 있기 때문에 사실상 분석 모델들도 회귀모델과 분류모델이 데이터를 변환과정을 통해서 또는 여러가지 수학적인 처리를 통해서 왔다갔다 하면서 한 모델이 하나만 처리하는 게 아니라 분류도 할 수 있고 회귀도 할 수 있고 이러한 다재다능한 면모가 있다고 하는 것을 여러분께서 얼마든지 판단하실 수가 있습니다 우리가 다루고자 하는 지도학습, 이 지도학습이라는 건 정답이 있는 학습 머신러닝이고 이 정답이 있다 라고 할 때 그 타겟이 되는 정답에 해당하는 타겟은 문자형 데이터다 라고 하면 분류이고 그리고 숫자형 데이터다 라고 하면 회귀인데 이 지도학습에 들어가 있는 알고리즘들은 엄청나게 많아요 굉장히 많은데 우리 수업에서는 그 중에서도 굉장히 활용도가 높고 여러분께서 유용하게 활용하실 수 있는 대표적인 알고리즘들을 다루려 합니다 그런데 이때 어떠한 알고리즘이 너는 무조건 분류만 해 너는 무조건 예측, 회귀만 해 라고 잘리는 건 아니다 분류의 확률값을 구하는 분류 모델 예측은 잘 쓰지 않고 분류에 사용되는 조금 분류에 치우쳐져 있는 모델들도 있고 또 선형 회귀, 리지, 라소, 엘라스틱넷 같은 회귀, 이런 숫자 값을 만들어내는 것에 조금 더 치중되어 있는 모델도 있다. 의사결정나무, 랜덤 포레스트, 서포트 벡터 머신, KNN 같은 오히려 훨씬 더 많은 분석 모델, 알고리즘들은 분류도 할 수 있고 회귀도 할 수 있다. 그래서 똑같은 모델인데 숫자를 다루는 상황에서는 회귀 모델인 거고 문자를 다루는 상황에서는 분류 모델이다 라고 여러분께서 조금 더 유연하게 회귀와 분류를 딱 자르지 마시고 조금 더 유연하게 이해하시고 받아들이시면 학습이 훨씬 더 쉬울 것 같습니다 이렇게 뭔가 결국 이렇게 뭔가 많은 알고리즘들을 간단하게라도 이름을 탁 보게 되면 많은 분들이 조금 어떤 생각을 하시게 되냐면 이런 생각을 좀 하시는 경우가 있으세요 예를 들어서 데이터가 있고 이 데이터를 가지고 그래서 내가 하고 싶은 일이 뭔가 내가 원하는 게 뭔가 라고 하면 결국 내가 원하는 건 두 가지 밖에 없는 거죠 예측을 하거나 분류를 하거나 내가 원하는 건 결국 예측이거나 분류다. 그렇다면 이것을 예측을 위해서 이런저런 것들을 다 배우고 분류를 위해서 이런저런 것들을 꼭 다 배워야 하는 건가? 그러면 예측에 맞는 분석 모델 1개. Lv.3, Lv.4, Lv.5, Lv.6, Lv.7, Lv.8, Lv.9, Lv.10, Lv.11, Lv.12, Lv.12, Lv.13, Lv.14, Lv.15, Lv.16, Lv.17, Lv.18, Lv.19, Lv.20, Lv.21, Lv.22, Lv.23, Lv.24, Lv.25, Lv.26, Lv.27, Lv.28, Lv.30, Lv.31, Lv.32, Lv.33, Lv.34, Lv.34, Lv.35, Lv.36, Lv.37, Lv.38, Lv.39, Lv.40, Lv.41, Lv.42, Lv.43, Lv.44, Lv.44, Lv.45 여러분께 보여드리고 있는 이 알고리즘도 지도 학습의 모든 알고리즘을 다 적어 놓은 것도 아니고 우리가 실제로 배울 때 그 알고리즘들을 하나하나 정말 100개가 있으면 100개를 모두 다 배울 필요도 없어요 어차피 그 중에 몇 가지를 배우는 거라면 그러면 그 몇 가지를 왜 꼭 20가지, 30가지를 배우는가 확 줄여서 분류도 되고 회귀도 되는 거 하나만 딱 하면 되지 라고 생각하시기가 쉽다는 겁니다 저도 상당 부분 동의합니다 우리가 본격적인 학습을 시작하기 전에 그 문제에 대해서 간단하게 조금 설명을 드리고 가고자 합니다 머신러닝 알고리즘을 보다 보면 굉장히 많은 종류가 있어요 그런데 내가 원하는 것에 맞는 거 하나만 딱 배우고 싶다 라고 하는 게 우리가 예측을 하고 분류를 하는 데에 머신러닝 모델을 사용하는 방법 우리가 어떤 식으로 쓸 거냐 라고 하는 방식은 크게 세 가지 정도로 생각할 수 있습니다 3가지 정도가 되요. 첫번째는 뭐냐면 그냥 나는 내가 정말 잘 쓰는 것 하나만 확실하게 알겠다. 하나만 판다. 라는 거죠. 하나만. 나 그냥 하나만 알거야. 하나만 알고. 예를 들어서 뭐 회귀면 회귀. 나는 그거 회귀 하나만 딱 알거고 그리고 회귀를 가지고 내가 필요한 문제들을 다 풀고 싶어. 이 회귀를 가지고 그 수많은 문제들을 다 해결할 수 있는 방법을 배울 거야라는 방식으로 접근하실 수도 있으세요 또 두 번째 방식은 100개의 알고리즘이 있다면 100개를 다 배울 수는 100개를 다 배울 수는 없겠지만 그 중에 일부를 내가 좀 간단하게라도 학습을 하고 그리고 여러 개의 분석 모델들을 배우게 되면 이 분석 모델들이 뭔가를 예측했을 때 예측하는 값이 꼭 다 똑같은 건 아니거든요. A라고 하는 모델은 10으로 예측을 하고 B라고 하는 모델은 20으로 예측할 수도 있어요. 그러면 10이라고 해야 되나 20이라고 해야 되나 이걸 판단을 해야 되잖아요 그러니까 내가 좀 여러 가지 모델들을 알고 이 모델들에 대해서 각 상황에 따라서 어떤 모델이 가장 뛰어난 모델인가 라고 하는 것을 평가하는 방법을 알겠다 라고 하는 방식으로 접근을 하는 거죠 얘는 하나를 정말 다양하게 쓰는 방법에 대해서 생각하는 거고 두 번째는 뭐 여러 가지 모델로 그리고 그 중에서 가장 좋은 모델이 뭔지를 좀 판단해 갖고 할 거야 라고 하는 방식이죠 세 번째 방식은 뭐냐면 정말 개별적인 모델을 아주 잘 아는 거예요 잘 알아요 그래서 내가 원하는 걸 하기 위해서 얘네들을 정말 내가 잘 튜닝해서 내가 원하는 것 딱 되게 완전 맞춤형으로 만들어 낼 거야 라고 하는 방식으로 접근할 수도 있습니다 크게 보면 머신러닝을 처음 접할 때 특히 지도 학습을 처음 접할 때 우리가 각자 가지고 있는 생각 1번 방식은 아주 간단하고 편리합니다. 모든 상황에서 다 잘 맞춰내는 알고리즘이라는 게 현실적으로 없다. 라는 말씀을 드리고 싶어요 1번만으로는 너무 어려워요 왜냐하면 1번에 그 정도의 성능을 보일 수 있는 다 필요 없고 얘만 있으면 된다 라고 하는 그런 알고리즘이 우리가 좀 찾기가 어렵습니다 그래서 1번은 좀 많이 부족해요 현실의 문제를 해결하기엔 조금 많이 부족하다 3번 같은 경우는 좀 가성비가 낮아요 가성비가 낮습니다. 사실 하나하나의 모델을 하나하나 꼼꼼하게 자세하게 전문가 수준으로 다 알아서 뭔가를 한다? 굳이? 라는 생각이 좀 드시죠? 그래서 저도 크게 권장하지 않습니다. 굳이 하나하나의 모델을 각각 깊게 파바바박 그렇게 하실 필요는 없습니다 제가 좀 추천드리고 싶은 또 이 수업에서 추구하는 방향성은 어떤 거냐면 지금 보시는 것처럼 어떠한 문제들이 있을 때 예측을 하는 거든 분류를 하는 거든 우리가 원하는 목적하는 문제가 있을 때 이 문제를 해결할 수 있는 알고리즘들이 많이 있습니다 그 중에서 유명한 몇 가지를 다루는 방법 쉽습니다 특히 오렌지 같은 도구를 이용하시면 여러분이 드래그 앤 드랍만으로도 하실 수가 있기 때문에 그러한 어떤 대표적인 알고리즘들이 어떤 건지 일단 개념적으로 간단하게 이해를 하시고 집중적으로 여러 모델을 시켜서 동일한 작업을 했을 때 그 중에 누가 제일 뛰어난가 라고 하는 것을 평가하는 방법만 정확히 알고 계신다면 평가 방법이 그렇게 어렵지 않거든요. 평가 방법만 정확히 알아서 각각을 꼭 디테일하게 모르더라도 일단은 다 시켜. 10개의 이 모델이 있으면 10개한테 다 시키는 거죠. 10개한테 다 시키고 그 중에서 가장 뛰어난 애가 내놓은 결과를 내가 선택하겠다 라고 하는 방식으로 접근하실 것을 요 두 번째를 추천드리고 이 수업도 이걸 위해서 개별적인 알고리즘에 대해서 개별적인 모델에 대해서 너무 깊게 어렵게 전문가 수준으로 그렇게 들어가진 않습니다 여러분께서 충분히 개념적으로 이해하실 수 있을 정도로 설명을 드리고 또 그리고 이러한 모델들을 평가하고 비교해서 다음 영상에서 우리가 이제 예측부터 시작해 보도록 하겠습니다.

이 강좌의 맛보기 강의

Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.3 예측 머신러닝 분석
Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.3 예측 머신러닝 분석강좌 자세히 보기