회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
AWS 월 서버 비용이 부담되시나요?
이번 글에서는 ChatGPT의 코드 인터프리터(Code Interpreter)라는 기능을 활용하여 넷플릭스 데이터를 시각화하는 방법에 대해 알아보겠습니다. 코드 인터프리터는 ChatGPT의 유료 버전인 ChatGPT-4에서 사용 가능합니다. 사용자와의 대화 중 실시간으로 코드를 작성하고 실행할 수 있는 기능입니다. 사용자가 코드 관련 질문을 하면, ChatGPT는 파이썬(Python)을 비롯한 여러 언어로 코드를 작성하거나 해석할 수 있습니다.
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!
확인
이번 글에서는 ChatGPT의 코드 인터프리터(Code Interpreter)라는 기능을 활용하여 넷플릭스 데이터를 시각화하는 방법에 대해 알아보겠습니다. 코드 인터프리터는 ChatGPT의 유료 버전인 ChatGPT-4에서 사용 가능합니다. 사용자와의 대화 중 실시간으로 코드를 작성하고 실행할 수 있는 기능입니다. 사용자가 코드 관련 질문을 하면, ChatGPT는 파이썬(Python)을 비롯한 여러 언어로 코드를 작성하거나 해석할 수 있습니다.
이뿐 아니라, 데이터를 업로드해서 이를 실시간으로 분석하고 시각화할 수도 있습니다. 시각화한 결과는 이미지 파일이나 html 등 원하는 형식으로 다운로드할 수도 있는데요. 코드 인터프리터를 이용해서 넷플릭스 데이터를 분석하고 시각화는 과정을 함께 해보도록 하겠습니다.
코드 인터프리터를 사용하기 위해서는 우선 유료 버전을 구독해야 합니다. 설정(Settings)에 들어가 베타 기능(Beta features)에서 코드 인터프리터(Code Interpreter)를 활성화합니다. 그럼 ChatGPT를 실행했을 때 아래와 같이 GPT-4 버튼이 보이고, 코드 인터프리터를 선택할 수 있어요.
코드 인터프리터가 선택되면, 아래와 같이 입력창에 플러스(+) 버튼이 생깁니다. 이 버튼을 눌러서 데이터 파일을 코드 인터프리터에 업로드할 수 있습니다.
그럼 이제 데이터를 찾아봅시다. 데이터 과학자와 머신러닝 엔지니어들을 위한 온라인 플랫폼인 캐글(Kaggle)에서 제공하는 넷플릭스 데이터셋을 이용하려고 합니다. 캐글의 ‘Netflix Movies and TV Shows | Kaggle를 방문해서, 다운로드(Download) 버튼을 클릭하여 netflix_titles.csv 데이터를 저장합니다. 그리고 입력창의 플러스(+) 버튼을 눌러서 이 파일을 코드 인터프리터에 업로드합니다.
이제 데이터에 대해 알아봅시다. ChatGPT에게 데이터에 대한 기본 정보를 물어보거나 분석을 요청할 수 있습니다. 우선, 입력창에 “데이터에 대한 기본 정보를 알려줘”라고 해보았습니다. 아래 이미지는 ChatGPT의 답변 중 일부인데요. 데이터 열에 대한 정보를 비롯하여, 각 열의 데이터 유형 및 결측치(missing value) 개수 등의 정보를 알려줍니다.
이렇게 데이터가 어떤 정보로 구성되어 있는지 알 수 있습니다. 이 데이터에서 어떤 인사이트를 발견할 수 있는지도 궁금하네요. 다짜고짜 “데이터를 분석해줘”라고 해보았습니다. 그러자 타입 별 콘텐츠 개수, 국가별 콘텐츠 생산 등의 분석을 해주겠다고 제안을 합니다. 아래는 그 분석 중 일부를 캡처한 것입니다. ChatGPT에 따르면 넷플릭스 데이터 내에서 영화는 총 6,131개이고 TV 쇼는 2,676개입니다. 이와 같이 데이터 분석을 ChatGPT에서 맡겨버릴 수도 있지만, 본인이 궁금한 부분에 대해 좀 더 자세한 데이터 분석을 요청할 수도 있습니다.
위의 이미지에 Finished working이라는 버튼이 보입니다. 바로 실시간으로 코드 분석이 이루어지는 부분인데요. Show work 을 누르면 아래와 같이 어떻게 분석이 이루어졌는지 코드를 확인할 수 있습니다. 이 코드는 파이썬을 바탕으로 하는데요. 이 코드를 복사해서 실제로 데이터 분석에 활용하거나, 코드가 내가 의도한 대로 정확하게 짜인 것인지 등을 확인해볼 수 있습니다.
데이터에 대해 알아보았으니 이제 본격적으로 시각화를 시작해 봅시다. 각 나라별로 어떤 장르의 영화를 많이 만드는지 궁금하네요. 그래서 ChatGPT에게 다음과 같은 명령어로 시각화를 만들어달라고 해보았습니다.
ChatGPT는 위의 명령어를 순서대로 수행합니다. 때문에 어떠한 순서대로 데이터 처리를 요청할지 고려하는 것도 중요합니다. ChatGPT가 아래와 같이 어떻게 데이터를 처리할지 설명한 후, 차례대로 파이썬를 이용한 분석 결과를 알려줍니다.
그 결과 아래와 같은 시각화가 만들어집니다. 명령어에 따라 실시간으로 데이터 분석 및 시각화가 만들어지는 것이 놀랍습니다. 시각화에는 총 영화 작품 수가 많은 20개 국가들이 보이고, 각 나라별로 영화에서 다뤄진 장르의 비율이 히트맵으로 시각화되었습니다.
위의 시각화에서 국제영화(International Movies) 부분이 눈에 띕니다. 이는 내용에 따른 장르와는 상관이 없어 보이네요. 실제로 데이터에는 한 영화 당 여러 장르 표시가 되어있기 때문에, 이 부분을 포함하여 영화(Movies)라는 장르를 제거 후 다시 시각화해 달라고 요청해 보았습니다.
아래와 같이 시각화가 업데이트되었습니다. 이제 국가별로 어떤 장르의 영화가 많은지 좀 더 뚜렷이 보이는 것 같죠? 인도네시아와 인도는 드라마가 가장 큰 비중을 차지하는 장르인 것 같아요. 일본은 애니메이션 영화가 많네요. 한국의 경우 드라마를 포함하여 액션, 스릴러 장르가 상대적으로 많은 비중을 차지합니다. 영국은 다큐멘터리 영화가 많다는 것이 재미있네요.
국가별로 어떤 장르의 영화가 많은지 확인할 수 있는 시각화가 만들어졌습니다. 한 가지 아쉬운 점은, 이 시각화는 국가별 장르의 비율을 보여주는 것이기에 Y축에서 각 행 사이 간격이 좀 더 벌어져야 국가별 데이터를 이해하기 쉬울 것 같아요. 이 부분을 ChatGPT에게 여러번 요청했지만, 저는 성공하지 못했어요. 아마도 정확한 명령어를 전달하는 데 어려움이 있었던 것 같습니다. 그래도 데이터의 패턴을 파악하기에 훌륭한 시각화가 만들어졌습니다.
이 시각화는 이미지로 저장할 수 있을 뿐 아니라 웹사이트를 위한 html 형식으로도 저장할 수 있습니다. ‘시각화를 d3.js 로 변환해서 html파일로 export 해줘’라고 입력하여 위의 시각화를 html 형태로도 변환할 수 있었어요. 이뿐 아닙니다. ’마우스를 올리면 툴팁에 어떤 정보를 보여줘‘라는 식으로 인터랙티브 시각화로도 업데이트가 가능합니다.
ChatGPT의 코드 인터프리터를 이용하여 넷플릭스 데이터의 시각화를 함께 만들어 보았습니다. 사용자와의 대화를 통해, 복잡한 개발 환경 설정 없이 웹 브라우저만을 이용하여 실시간 데이터 분석 및 시각화 작업을 쉽게 수행할 수 있다는 것이 큰 장점인 것 같습니다. 시각화한 결과는 이미지 파일이나 html 등 원하는 형식으로 다운로드할 수도 있어요.
다양한 시각화를 해 보면서 발견한 점은 똑같은 질문을 해도, 답변이나 시각화가 그때그때 조금씩 달라진다는 것이었습니다. 그리고, 실제 대화를 이어나가 듯이 ChatGPT는 이전 질문과 그 답을 기억하고 이를 바탕으로 새로운 질문에 대한 답을 합니다. 때문에 어떤 순서에 의해 질문을 하고 데이터를 분석을 요청하는지가 중요합니다. 때로는 ChatGPT가 질문자의 의도를 다소 다르게 이해하고 분석하는 경우가 생길 수도 있기 때문에, 실제 데이터 분석에서는 ChatGPT의 분석과 그 코드를 참고하여 다시 확인해보는 것을 추천드립니다.
이 스토리에서는 다루지 않았지만, ChatGPT를 이용해서 감독과 배우와의 관계를 네트워크 형태로 시각화 하기도 하고, 시간에 따른 영화 및 TV 쇼의 작품 수 변화를 시각화하기도 하였습니다. ChatGPT를 이용하여 여러분들만의 질문으로 시각화를 한번 만들어보시는 것은 어떨까요?
요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.
좋아요
댓글
공유
공유
좋아요
댓글
스크랩
공유
공유
지금 회원가입하고,
요즘IT가 PICK한 뉴스레터를 받아보세요!