노코드 툴로 쉽게 분석할 수 있도록 도와Drill 게요! 미래에 할 수 있는 경험을 사전 예약하신 퓨처드릴 구독자, 드릴러 🛠️ 님 안녕하세요!
AI + UX의 알’쏭’달’쏭’한 것들을 알아봐 Drill 에디터 쏭🍄입니다.
직무에 상관없이 요즘 다들 데이터 분석에 관심 많으시죠?
파이썬을 이용해 분석하는 방법도 있지만, 오늘은 노코드 툴을 이용해서 간단하게 분석할 수 있는 방법들을 소개해 드리겠습니다.
|
|
|
시작하기 - Turning On the Drill |
|
|
"데이터 리터러시가 중요하다고 하는데 어떻게 키울 수 있을까요?" |
|
|
이제 데이터를 읽고 활용할 수 있는 능력은 모든 분야에서 매우 중요해졌습니다. 전문가 정도는 아닐지라도 데이터를 탐색하고 이해할 수 있는 능력은 다른 분야와의 소통을 위해서도 매우 중요합니다. 그렇기에 이번 호에서는 코딩 없이 데이터를 분석할 수 있는 도구 세가지를 소개해 드리고자 합니다.
더 나은 소통과 협업을 위한 데이터의 매력적인 세계, 함께 여행해봐요!
모두들 follow me 🤗 |
|
|
1. Know Your Data 사용해 다각도로 데이터 살펴보기 |
|
|
Know Your Data에서는 현재 70개의 데이터셋을 제공하고 있습니다. 아직은 Google Tensorflow Datasets API에서 지원하는 이미지 데이터셋만을 지원하고 있지만 향후 텍스트 및 테이블 형식의 데이터셋도 지원할 계획이 있다고 합니다. 비록 데이터셋의 한계는 있지만 현재 인공지능 개발을 위해 자주 사용되고 있는 데이터셋은 대부분 포함되어 있는 만큼 활용도는 아주 높다고 생각됩니다. catalog를 통해 내가 관심있는 데이터셋부터 선택할 수 있고 Stats, Item, Relation의 세 가지 핵심 기능을 통해 데이터를 다각적으로 분석할 수 있습니다. 여기서는 예시를 위해 다양한 맥락 정보를 포함하고 있는 ‘coco caption’이라는 데이터를 사용하고자 합니다. 데이터셋 선택부터 ‘coco caption’에 대한 설명까지 아래에서 차근차근 소개해 드릴게요~ |
|
|
[준비] catalog - 분석하고자 하는 데이터셋 선택하기 |
|
|
데이터 분석을 하기 위해서는 먼저 데이터셋을 선택해야 합니다. 아쉽게도 현재는 Know Your Data에서 제공해주는 데이터셋으로만 분석할 수 있습니다. 내가 가진 데이터셋으로는 분석할 수 없다는 한계가 있지만 대신 기본 제공되는 데이터셋이 현재 인공지능 개발에서 많이 활용되고 있는 만큼 활용도는 충분하리라 생각됩니다. |
|
|
저희는 이번 분석을 위해서 코코 캡션이라고 하는 데이터셋을 사용하겠습니다. 코코 캡션(COCO Captions) 데이터셋은 이미지에 대한 설명이 담겨있는 대규모 데이터셋입니다. 이 데이터셋은 주로 이미지 인식 및 자연어 처리 작업을 위해 활용됩니다. 여기서 "코코"는 Common Objects in Context의 약자로, 일상적인 상황에서 자주 등장하는 물체들을 다양한 맥락에서 포함하고 있습니다. 그래서 모델이 사진 속 물체를 이해하고 그에 맞는 설명을 생성하는 데 도움이 됩니다. 일상적인 상황을 다루고 있는 만큼 다양한 맥락의 사진들을 포함하고 있는 만큼 이번 설명에서 포함하였습니다.
|
|
|
[핵심 기능1] Stats - 필터링으로 주목하고 싶은 데이터셋 구성하기 |
|
|
Stats 기능은 데이터셋에 있는 모든 피처에 대한 히스토그램을 보여줍니다. 위의 이미지에서 보듯이 Source Features를 통해 데이터의 특성을 파악할 수 있고 피처들을 일종의 필터로 이용해 반복적으로 데이터를 탐색할 수 있습니다. 예를 들어 위의 이미지에서는 전체 데이터셋에서 ‘cooking’ 행위들을 하는 사진들만 추려서 볼 수 있고 또 그중에서도 ‘age’로 다시 한번 필터를 걸어 데이터를 더 자세히 분류해 확인해 볼 수 있습니다. 즉 원하는 조건으로 필터링을 해 나만의 데이터 서브셋을 만들고 그 특징들을 한눈에 확인할 수 있습니다. 코딩 한 줄 없이도 데이터셋의 개괄적인 정보를 확인할 수 있다니! 정말 편리하지 않나요! |
|
|
[핵심 기능2] Item - 개별 데이터 특징 자세히 살펴보기 |
|
|
item 기능을 통해서는 개별 데이터의 특성을 알 수 있습니다. 하나하나의 아이템이 어떤 특징이 있는지 알고 싶다면 Item 탭을 클릭하고 궁금한 이미지를 클릭해 보면 정보를 알 수 있습니다. |
|
|
[핵심 기능3] Relations - 데이터들간의 관계 분석하기 |
|
|
relations 기능을 통해서 말 그대로 관계를 분석할 수 있습니다. 여기서 관계란 한 개의 데이터와 다른 데이터와의 관계가 아니라 데이터셋의 특징을 나타내는 features 간의 관계를 말합니다. 위의 stats 탭에서 예시를 들었던 cooking과 age 간의 상관관계를 살펴보겠습니다. cooking을 보시게 되면 old와 young에 속하는 사람들이 진한 색으로 표시되는 것을 보실 수 있습니다. 여기서 파란색은 양의 상관관계, 주황색은 음의 상관관계를 나타내고 색이 진할수록 상관관계가 높습니다. 이렇듯 상관관계 분석을 통해 데이터 간의 관계를 이해하면 인공지능의 결과에 대해서도 더 잘 이해할 수 있습니다. UX 리서처는 많은 사람에 대한 포용력 있는 제품을 개발해야 하므로 모델이 가지고 있는 편향성을 미리 알 수 있다면 이를 고려한 UX를 설계할 수 있을 것입니다. |
|
|
✅ Know Your Data 핵심 요약
👍 장점 : 코딩 없이도 웹에서 쉽게 대규모 이미지 데이터셋을 분석할 수 있다.
👎 한계 : 내가 가진 데이터를 분석할 수는 없고 사이트에서 제공해 주는 데이터만 분석할 수 있다. |
|
|
2. Embedding Projector로 단어들의 맥락 분석하기 |
|
|
Google Embedding Projector는 고차원 데이터를 시각화하기 위한 도구로, 특히 벡터 표현을 시각적으로 탐색하고 이해하는 데 사용됩니다. 여기서 고차원의 데이터란 사람이 이해하기 힘든 매우 큰 숫자들의 집합이라고 이해하시면 쉽습니다. 즉 Embedding Projector는 매우 복잡한 숫자들을 사람이 직관적으로 이해할 수 있는 방식으로 쉽게 표현해줍니다. 그렇기에 검색도 쉽게 할 수 있고 단어들간의 관계도 직관적으로 파악할 수 있습니다. 임베딩.. 벡터.. 등 처음 듣는 용어 투성이죠? 😂 아래에서 컴퓨터가 텍스트를 이해하는 방식부터 가장 대표적으로 사용되는 임베딩 방법인 Word2Vec 그리고 Embedding Projector를 이용해 분석하고자 하는 단어를 검색하는 방법까지 차근차근 소개해 드릴게요. |
|
|
어떻게 컴퓨터가 사람이 사용하는 단어를 이해할 수 있을까? |
|
|
사람이 사용하는 단어를 컴퓨터가 이해할 수 있게 하기 위해서는 워드 임베딩이라는 단계를 거쳐야 합니다. 쉽게 말하면 컴퓨터는 숫자밖에 이해할 수 없기 때문에 사람이 사용하는 자연어를 숫자로 변환시켜 줘야 하는 것이죠. 하지만 이때 우리가 사용하는 모든 단어를 무작위적으로 숫자에 매핑하게 되면 우리가 사용하는 맥락적 의미가 사라지게 되겠죠! 그래서 중요한 것은 사람이 어떤 단어를 사용하게 되는 맥락적 정보를 보존하면서도 그것을 효율적으로 숫자에 매핑하는 일입니다. Word2Vec이라는 방법을 통해 이 매핑과정 또한 학습을 통해 진행됩니다. 그렇다면 인간이 학습할 때 어떤 책으로 공부했느냐에 따라 시험 성적이 달라질 수 있는 것처럼 기계 또한 어떤 데이터셋을 가지고 학습되었는지에 따라 그 학습 결과가 달라질 수 있습니다. 편향된 데이터셋으로 학습된 인공지능은 당연히 편향을 그 안에 담고 있을 것입니다. 하지만 일일이 찾아서 보지 않는다면 어떻게 Word2Vec이 학습되었는지에 구체적으로 어떻게 편향되어 있는지 찾기 힘들겠죠. 그럴 때 여기서 소개해 드릴 Embedding Projector를 이용한다면 특정 단어 주변에 어떤 단어들이 있는지 시각적으로 직관적으로 판단할 수 있습니다. |
|
|
[용어 설명] Word2Vec Word2Vec은 우리가 사용하는 단어를 컴퓨터가 이해할 수 있는 벡터로 표현하는 방법의 하나입니다. 위에 나와있는 cifar-10과 같은 이미지 데이터는 하나하나의 픽셀값(33,235,122)으로 이미지를 표현할 수 있지만 우리가 사용하는 텍스트 데이터는 그 자체로는 컴퓨터가 이해할 수 없기에 Word2Vec과 같은 변환 방법을 통해 컴퓨터가 이해할 수 있도록 숫자로 변환되어야 합니다. 즉 이러한 방법을 통해 사람이 이해하는 문맥적 단어를 컴퓨터가 이해할 수 있도록 하는 기술이라고 생각하면 됩니다. Word2Vec과 같은 변환 방법을 거치면 사람이 이해하는 것처럼 단어 간의 유사성을 컴퓨터가 이해할 수 있습니다. |
|
|
화면 오른쪽에 보시면 search 공간이 있습니다. 이곳에 여러분이 찾고자 하는 단어를 입력해 주면 해당 단어와 거리상으로 가장 가까운 n개의 단어를 볼 수 있습니다. 여기서 n의 크기를 조절하고 싶으시다면 search 아래에 있는 neighbors 바를 움직여 주시면 해당 개수만큼의 이웃 단어들을 볼 수 있습니다. |
|
|
위의 isolate 11 points라는 버튼을 클릭하게 되면 programmer와 관련된 10개의 단어만을 따로 떼서 분석할 수도 있습니다. 위에서 Word2Vec이란 단어를 컴퓨터가 이해할 수 있는 숫자로 변환시키는 과정이라고 설명해 드렸었죠. 즉 사람이 이해하는 programmer라는 단어를 컴퓨터가 이해할 수 있는 숫자로 변환시키는 과정을 통해 각각의 단어들이 고유한 벡터값을 가지게 되고 이 벡터값을 기반으로 단어들의 관계를 수학적으로 유추할 수 있게 된 것입니다. 즉 우리는 거리라는 값을 통해 컴퓨터가 무엇과 무엇이 서로 유사하다고 판단하는지를 확인할 수 있는 것입니다. 지금은 우리가 쉽게 접할 수 있는 programmer라는 단어로 검색을 해보았지만, 다른 단어들을 검색해 보면 데이터가 어떤 식으로 사회적 통념 혹은 편견을 학습하는지 확인할 수 있습니다. 어떤 사람들은 인공지능 자체는 중립적이라고 말을 하죠. 인공지능 자체는 중립적일 수 있으나 데이터는 편향될 수 있습니다. 사회적으로 의례 그렇게 받아들여진다고 해서 인공지능까지 그 통념을 그대로 받아들일 필요가 있을까요? 혹은 새롭게 학습을 시키는 만큼 그 부분은 보정을 하는 것이 맞을까요? 앞으로 저희 뉴스레터를 통해서 이 부분까지 다뤄보도록 하겠습니다. |
|
|
✅ Embedding Projector 핵심 요약
👍 장점 : 자신이 가지고 있는 데이터셋을 바탕으로 Word2Vec을 학습시키고 학습시킨 결과물을 확인해 볼 수 있다.
👎 한계 : 내가 만든 임베딩 결과물을 가지고 단어 사이의 관계를 볼 수 있으나 추가적인 프로그래밍이 필요하다. |
|
|
3. Facet으로 내가 가진 데이터 시각화하기 |
|
|
Facet는 데이터셋을 이해하고 분석하기 위한 두 가지 강력한 시각화 도구를 제공합니다. Facet Overview를 사용하여 데이터셋의 각 특성의 형태에 대한 감을 잡을 수 있고, Facets Dive를 사용하여 개별 관측치를 탐색할 수 있습니다. facet에서는 타이타닉 데이터셋을 이용해서 간단히 데이터 시각화를 해보겠습니다. 아래에서 데이터셋부터 차근차근 소개해 드릴게요:) |
|
|
[데이터셋 소개] 타이타닉 데이터셋 이번 분석에서는 캐글에서 제공하는 타이타닉 데이터셋을 사용하겠습니다. 타이타닉 데이터셋은 캐글이라고 하는 온라인 경진대회 플랫폼에서 제공하는 데이터셋으로 머신러닝을 공부할 때 가장 먼저 접하게 되는 데이터셋입니다. 타이타닉호에 탑승했던 승객들의 정보가 csv 형태로 담겨 있고 이 정보를 바탕으로 새로운 승객 정보가 줬을 때 그 승객의 생존확률을 예측하는 문제에 사용되는 데이터셋입니다. |
|
|
[핵심기능1] FACETS OVERVIEW - 데이터 한눈에 파악하기 |
|
|
overview 기능을 통해 여러분이 분석하고자 하는 어떤 데이터셋도 분석할 수 있습니다. 말 그대로 데이터셋이 어떤 식으로 구성되어 있는지 개괄적으로 한눈에 파악할 수 있습니다. 제가 소개해 드린 타이타닉 데이터셋에는 숫자형 데이터와 범주형 데이터가 모두 존재하는데요, 숫자형 데이터는 이름 그대로 나이처럼 숫자로 표현되는 데이터입니다. 24, 35, 42.. 반면 범주형 데이터는 어떤 카테고리에 속하는지를 나타내는 데이터입니다. 예를 들어 동물이라는 큰 범주가 있을 때 개, 고양이, 호랑이처럼 여러 범주로 표현할 수 있는 거죠. 데이터셋에 따라 범주형 데이터, 숫자형 데이터가 같이 있는 경우도 있고 하나만 존재하는 경우도 있습니다. overview 기능을 통해 숫자형 데이터셋이라면 평균과 표준편차와 같은 기본적인 통계 결과를 알 수 있고 범주형 데이터라면 항목별로 몇 개의 값이 존재하는지 알 수 있습니다. |
|
|
[핵심기능2] FACETS DIVE - 데이터들간의 관계 파악하기 |
|
|
Dive 기능을 통해서는 프로그래밍 없이도 대화형으로 데이터를 탐색할 수 있습니다. 예를 들어 우리가 승객들의 객실 등급에 따른 생존율을 확인하고 싶다면 y축을 PClass로 놓고 생존한 비율을 알기 위해서 survived를 색으로 구분할 수 있습니다. 3→2→1 순으로 좋은 객실을 의미합니다. 즉 아래쪽으로 올수록 사람들의 숫자가 줄어드는 것을 볼 수 있죠. 그리고 0은 사망한 사람 1은 생존한 사람을 의미합니다. 즉 아래쪽으로 올수록 탑승객의 숫자는 많지 않지만, 생존한 사람의 비율이 더 높음을 알 수 있습니다. 이런 식으로 프로그래밍 없이도 x와 y축에 각각 다른 변수를 설정해 두 값의 관계를 확인해 볼 수 있습니다. |
|
|
✅ Facet 핵심 요약
👍 장점 : 프로그래밍하지 않아도 내가 가진 데이터를 분석할 수 있다.
👎 한계 : 분석 결과를 내보내기는 할 수 없어서 활용에 한계가 있다. |
|
|
마무리하기 - Turning Off the Drill |
|
|
오늘 다뤄본 feature, 임베딩, 벡터와 같은 용어들은 처음 접하는 분들에게는 다소 난해하게 느껴질 수 있는 용어였습니다. 저 또한 데이터분석을 배운적은 있으나 누군가에게 설명하는 것은 처음이라 쉽지 않았습니다.😂 뉴스레터를 쓰면서 다른 사람에게 뭘 알려준다고 생각했었는데 오히려 제가 가장 많이 배운 시간이었습니다.
처음 다룬 Know Your Data의 경우 지금은 이미지 데이터만을 다루고 있고 제가 가진 데이터셋을 분석해 볼 수 없다는 한계를 가지고 있으나 향후 임의의 데이터셋을 분석해 볼 수 있는 방향으로 발전한다면 정말 활용도가 높은 툴이라고 생각됩니다. 두 번째 Embedding Projector는 제공하는 기능은 많지 않지만 정말 핵심적인 기능을 제공하는 만큼 추후에 텍스트 데이터를 다루실 일이 생긴다면 잘 활용하실 수 있으리라 생각됩니다. 마지막 Facet은 기능은 단순하나 내가 가진 데이터를 직관적으로 시각화 해주는 장점이 있습니다.
저는 Know Your Data를 써보면서 많은 기능에 놀랐는데요, 정작 가장 활용도가 높다고 생각한 건 제가 가진 데이터를 쉽게 분석해 볼 수 있는 Facet이었습니다. Facet 사이트에 방문하시면 여러분이 가지고 계신 CSV 파일을 웹에서 바로 분석해 볼 수 있으므로 데이터를 직접 넣어보시고 데이터 분석의 즐거움을 느껴보시길 추천드립니다. (바로가기)
처음 보신 분들에게는 다소 어려울 수도 있는 내용이었는데 끝까지 정독해 주신 여러분들 감사합니다. 앞으로 더 알차하고 깊이 있는 내용으로 찾아 뵙겠습니다.
|
|
|
📝 오늘의 AI 단어 : 피처(Feature) |
|
|
데이터의 ‘feature’란, 간단하게 말하면 데이터셋에서 각각의 특징이나 속성을 의미합니다. 예를 들어, 온라인 쇼핑 앱의 데이터셋을 생각해보면, 각각의 제품에 대한 정보가 있고, 그중에서 가격, 색상, 재고량, 평점과 같은 정보들이 각각의 ‘feature’가 될 수 있습니다. 간단하게 말하면, 데이터의 feature는 그 데이터를 설명하고 특정 상황에서 어떤 일이 일어날지 예측하는 데 도움을 주는 정보들입니다. |
|
|
글의 전체적인 방향성을 제시해 준 🐾쿨냥이와 늘 작은 디테일들을 잘 확인해주는 💾 플로피 늘 고마워요. 🥰본 뉴스레터는 모두의연구소 AIX LAB에서 발행하고 있습니다. |
|
|
퓨처드릴 공식 인스타그램 계정이 생겼습니다. 모두들 인스타그램에서 만나요:) |
|
|
|