Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.2 데이터 전처리와 시각화 강좌의 맛보기 강의입니다.
이번 영상에서는 데이터 변환 기법이라는 게 어떤 건지 간단하게 살펴보도록 하겠습니다 데이터의 유형을 어떻게 나눌 것인가라고 하는 것은 정말 다양한 게 있습니다 기준은 정말 많고 우리가 척도를 중심으로 나눌 수도 있고 이런 것들이 있는데요 일단 여기서는 이렇게 나눠보도록 하겠습니다 어떤 데이터가 있다 라고 하면 이 데이터가 정말 이름을 나타내는 것인가 어떤 카테고리 범주들이 있고 그 범주의 이름을 나타내는 것인가 또는 그렇지 않고 밸류 값을 나타내기 위한 것인가 라고 하는 것을 기준으로 해서 우리가 범주형 데이터와 수치형 데이터로 구별을 할 수가 있겠습니다 그래서 우리가 오렌지에서 데이터의 타입을 정해줄 때 기본적으로 카테고리컬 인가, 뉴메리컬 인가라고 하는 것을 통상적으로 많이 사용하죠. 물론 데이트 타입이라던가, 텍스트도 있지만 우리는 어떤 분석의 관점에서 이렇게 크게 두 가지로 볼 수가 있습니다. 이때 범주형 데이터는 이름을 나타내는 건데 그때 이름이라고 하는 것도 정말 순수한 이름이 있어요. 우리가 그것을 명목형, nominal이라고 부르고 예를 들어 성별이라면 남자, 여자, 지역이면 서울, 대전, 대구, 부산, 과일이라면 사과, 딸기, 배, 포도 이런 식으로 정말 있는 그대로의 이름을 나타내는 거죠. 얘네들 사이에선 순서도 없고 아무것도 없어요. 그냥 다 동급이고 그냥 여러 가지 대등한 범주들이 있고 그 범주들의 이름이 뭐더라 라고 하는 것이 바로 명목형 데이터들입니다. 이름을 나타내는 거긴 한데 어떤 범주 어떤 카테고리에 이름을 나타내는 건데 그 이름이 의미가 있는 그러한 경우가 있어요 의미가 있는 우리가 이것을 오디널 서열형 이라고 부릅니다 예를 들어서 객실이 있는데 1등급 2등급 3등급 뭐 이런 식으로 또는 설문에 답변을 했는데 매우 좋음 기준에 따라서는 순서를 매길 수 있고 그 순서가 의미를 갖는 경우 우리가 이것을 서열형이라고 부릅니다 이런 경우도 있어요. 수치형이라고 하면. 참고로 여기서 간혹 등간척도와 서열형을 혼란스러워 하시는 경우가 있어서 언급하고 넘어가자면 서열형이라는 건 어떻게 이해하시면 되냐면 분명히 순서는 있습니다. 예를 들어서 객실 등급이 있는데 1등급이 있고 1등급, 2등급, 3등급 이렇게 객실 등급이 있다고 쳐봐요. 그러면 순서상으로는 제일 좋고 두 번째로 좋고 세 번째로 좋다 라는 순서는 존재해요 그런데 2등급과 3등급의 차이랑 1등급과 2등급의 차이가 같지 않은 경우가 있어요 이 차이가 같지 않다 이런 상황을 우리가 이제 서열형 이라고 부르는 거죠 순서만 있을 뿐 그 순서에 어떤 차이는 사실은 일괄적이지 않은 그러한 것을 우리가 서열형이라고 생각할 수 있습니다. 예를 들어서 설문조사를 치겠습니다. 그러면 어떤 사람이 설문조사를 할 때 Lv.3 데이터 변환 기법 Lv.4 데이터 변환 기법 이런 수치가 같다고 할 때 구간의 수치는 같은데 이 사이에서 절대적인 0점이 없다고 하면 등간변수, 인터벌 이런 식으로 이야기 하는 거고요. 0이 있다 라고 하면 우리가 비율 척도를 쓰나 레이셔널 이렇게 얘기를 하는 거죠. 어쨌든 이렇게 범주가 있고요. 범주 말고 수치형 데이터들도 있습니다. 값인 거죠. 수치형이라고 하면 당연히 우리가 상식적으로 생각할 수 있는 숫자로 표현됐다고 생각하시면 될 것 같아요. 그런데 이 숫자도 가만히 보면 현실의 데이터를 나타낼 때 그 숫자가 소수점을 허용하는 경우가 있고 허용하지 않는 경우가 있습니다. 예를 들어서 사람의 명수를 세는 거예요. 여기 몇 명이 있나요? 라고 할 때 여기에 1명, 2명, 3명, 4명, 5명이 있어요. 5명인 거죠. 우리에게는 절대 5.1명 있어요. 5.7명 있어요. 이런 건 안 되는 거죠. 그래서 사람을 셈이라고 하면 1명 2명 3명 4명 정수형으로만 가능하고 소수점은 가능하지 않습니다 누군가가 몇 번 방문했나요 라고 하면 그 사람은 몇 번 방문했어요 라고 할 때 2.37번 방문했어요 이런 것은 불가능한 거죠 그래서 똑같이 수치형 데이터더라도 이 수치형 데이터가 소수점이 없는 정수형을 쓸 때가 있습니다 우리가 이것을 이산형 수치값이라고 말을 하는 거죠 이런 것을 이제 이산형이라고 부릅니다 소수점을 허용하는 그러한 상태도 있죠. 연속되어 있는 거예요. 소수점을 허용하는 상태가 있습니다. 구간 안에 있는 모든 값을 다 가질 수 있는 것. 예를 들어서 습도는 51.73%입니다. 이런 거 되잖아요. 키 164.69 소수점 아래를 허용 연속형 온도 13.6도 구간 안에 있는 모든 값을 가질 수 있는 실수형 데이터 실수형이라고 굳이 언급한 이유는 이것이 제곱해서 마이너스가 되는 그런 허수의 영역은 포함해 주지 않습니다 실수형 데이터에 대해서 우리가 이게 소수점으로 가능해 라고 하면 그것을 연속형 데이터라고 부릅니다 간혹 오해하시는 경우가 있는데 이것은 등간변수 인가 비율 변수 인가 라는 척도를 기준으로 나누는 것과는 다른 문제입니다 그것은 기준이 아니고 그 기준을 말하는 게 아니라 소수점이 있느냐 없느냐 라고 구별하시면 좋을 것 같아요 소수점을 허용하냐 안하냐 연속형과 이산형 연속형과 이산형 소수점을 허용하지 않는 정수가 있을 수도 있는데 이런 식으로 매칭을 한다면 사실상 우리가 객실 등급을 1등실, 2등실, 3등실이라고 이름을 주지 않고 그냥 이름만 바꿔서 이건 1, 2, 3, 4 이렇게 표현하겠어 라고 해도 사실은 상관이 없죠. 성별이 있는데 이것은 남성이면 1 여성이면 2라고 표현하겠어 라고 변환을 해주면 이것도 결국은 정수 형태의 카테고리 몇 번 카테고리 냐 라고 하는 개념의 이 이산형 데이터로 바뀔 수가 있잖아요 그래서 엄밀하게 보면 이제 엄밀하게 따지면은 이산형 숫자 정수형 데이터 실수형 데이터 이산형이냐 연속형이냐 이렇게 나뉘게 되지만 우리가 조금 더 폭넓게 보면 실질적으로 범주형 데이터도 무언가 이산형으로 취급을 해서 이렇게 같이 묶어줄 수도 있겠구나 라고 하는 것까지 알 수가 있어요 우리 눈에는 문자 데이터 범주형 변수여도 이것을 다양한 방식을 통해서 숫자로 이렇게 변형을 해줄 수가 있는 거죠 남자는 1이라고 하고 여자는 2라고 표기하겠다 이런 데이터도 모두 이산형 데이터로 크게 보면 볼 수 있겠다 라는 겁니다 데이터의 변환이라고 하는 것은 사실 이 크게 보면 결국은 어떤 데이터가 있을 때 이 데이터를 연속형과 이산형을 왔다갔다 하는 두 가지의 방법을 이야기한다 라고 보시면 좋을 것 같아요 범주형 데이터의 수치화 이런 어떤 다양한 표현을 쓰는데 결국은 소수점이 있느냐 없느냐 라고 하는 것을 딱 기준으로 해서 허용을 하느냐 안 하느냐 라고 해서 이 둘을 왔다 갔다 할 수가 있고 그러한 작업을 우리가 데이터 변환 작업, 인코딩 작업이라고 하는 거죠. 조금 정리해보자면 결국 데이터를 변환하는 것은 연속형 데이터를 이산형 데이터로 바꾸는 그러한 작업 과정이 있습니다. 이산형 데이터를 연속형 데이터로 바꿀 수도 있습니다. 그것은 바로 연속화인 거죠. 쉽게 생각해서 정수 형태, 소수점이 없는 상태, 그리고 실수 상태 소수점이 있는 상태, 얘네들을 왔다 갔다 할 수 있다 라고 생각하시면 좋을 것 같고 정수 형태가 되면 범주형 데이터도 크게 보면 정수 형태로 쉽게 바꿀 수 있으니까 여기 어디로 왔다 갔다 하나 보다 라고 생각하시면 조금 더 여러분께서 데이터를 조금 더 폭넓게 다루실 수 있을 것 같습니다 데이터를 이산화하는 것은 어떤 특징이 있느냐라고 하면 어떤 알고리즘들은 범주형 데이터를 잘 다루니까 그런 거죠 분류를 한다거나 이런 것들은 또 반대로 연속화하는 것은 수치 형태를 받아서 그걸 처리하는 게 능숙한 그런 알고리즘도 있기 때문에 그렇습니다 우리는 여러 알고리즘들을 두루두루 쓰고 싶은데 이산형 데이터일 때 잘 강력한 그러한 알고리즘이 있고 연속형 데이터일 때 강력한 알고리즘이 있다 그래서 각각을 다 좀 폭넓게 쓰려니까 Lv.3 데이터 변환 기법 Lv.4 데이터 변환 기법 데이터가 매우 만족, 만족, 보통, 불만족, 매우 불만족 이렇게 5개의 범주로 되어 있으면 범주는 이산형인 거잖아요 이 범주 데이터를 1에서 5로 수치화하고 실제 표현될 때는 1.00 이렇게 표현됩니다. 그래서 소수점 갖고 있는 1.00부터 5.00까지의 어떤 척도로 수치화함으로써 뭔가 정량적으로 분석하고 계산하는 범주를 수치로 만들어주는 이런 과정들을 우리가 연속화라고 합니다.
