목록데이터분석 (26)
Yours Ever, Data Chronicles

이 책은 서점에서 책을 구경하다 우연히 발견한 보물 같은 책이다. 이전에 블로그에서도 여러 번 언급했었지만, 이제 막 데이터 분석을 공부하기 시작한 사람이 아닌, 데이터 분석 업무를 해봤거나 혹은 데이터 분석의 어려움과 관련한 책과 글을 읽어본 사람이라면 데이터 분석의 어려운 점은 기술적인 부분이 아님을 알 것이다. 나는 처음에 이런 것을 모르고, “난 코딩/분석 공부도 많이 했고, 통계학을 전공했으니 데이터 분석 일은 뭐든 할 수 있어!” 라는 오만한(?) 생각을 갖고 있다가 큰 좌절을 겪은 경험이 있다. 내가 알지 못했던 것들이자, 해결법을 몰랐던 것들을 항목화해서 써보자면 이런 것들이었다. 데이터를 딱 보고 이에 맞는 효과적인 분석을 하려면 어떻게 해야 하는 걸까? 어디서 그런 정보를 얻는 걸까? ..

안녕하세요, Everly입니다. 오늘 포스팅은 제가 작년 6개월 동안 데이터 분석 인턴으로서 회사에서 어떤 업무를 해보았는지에 관한 이야기입니다. 이 글을 읽으실 분들은 대부분 '데이터 분석'에 관심이 많고, 데이터 분석가 또는 데이터 사이언티스트를 목표로 인턴을 준비할 분들이라 생각합니다. 데이터 분석 인턴은 어떤 업무를 하는지 저의 경험을 나누어드리려 합니다 :) 저는 데이터 직군을 준비한다면 꼭 인턴을 해보길 추천하는 편인데, 그 이유는 데이터 분석을 실무에서 하는 것과 혼자서 배우는(또는 학교에서 배우는) 것과는 많은 차이가 있기 때문입니다. 특히 저는 스타트업 인턴을 추천하는데, 스타트업 인턴은 타 기업과는 달리 인턴이라도 정규직처럼 자신이 하는 업무를 세부적으로 배울 수 있다는 장점이 있습니다..

안녕하세요, Everly입니다 :) 오늘은 [파이썬 데이터 분석 실무 테크닉 100] 책의 가장 마지막 부분입니다. 저번 포스팅에서 원핫 인코딩을 활용해 문장을 숫자로 수치화했습니다. 이렇게 수치화한 데이터를 활용하여 유사한 문장을 찾아보겠습니다. ✔Table of Contents Tech 100. 비슷한 설문응답을 찾아보자. (코사인 유사도, cosine similarity) 마지막 100번째 테크닉입니다! 거의 다 왔습니다 😉 바로 직전 테크닉인 Tech 99에선 각 인덱스 문장에 들어있는 단어들로 단어가 포함되면 1, 아니면 0으로 나타내는 데이터프레임 'all_word' 를 만들었는데요. 여기서 특정 문장 A와 비슷한 문장 B를 찾아봅시다. 여기서 사용하는 것은 코사인 유사도(cosine simi..

저번 포스팅에서는 sur 데이터의 comment(의견) 컬럼을 konlpy를 활용해 형태소 분석해보았습니다. 그래서 자주 나온 명사를 살펴보았는데, 사실 이 단어가 긍정적인지, 부정적인지 모른다는 문제가 있었죠? 오늘은 이 단어와 고객만족도를 함께 살펴보고, 텍스트 데이터를 수치화하는 방법까지 알아보겠습니다 :) ✔Table of Contents Tech 98. 자주 나오는 단어와 고객 만족도 간 관계를 알아보자. (groupby agg) sur.head() sur 데이터에서 comment와 satisfaction만 따로 뽑아봅니다. 여기서 comment는 앞의 포스팅에서 한 것처럼, 명사만 뽑겠습니다. 물론 stopwords인 '더', '수', '좀' 도 제거합니다. 앞의 포스팅에서 쓴 코드를 살짝만 ..

저번 포스팅에 이어서, 이번엔 konlpy를 활용한 형태소 분석을 진행합니다. ※ 형태소 분석이란? 문장을 단어로 분할하는 기술로, 대표적인 한국어 형태소 분석 라이브러리로는 konlpy가 있다. konlpy 라이브러리가 없으신 분들은 pip install을 통해 다운을 받고 분석을 진행해봅시다. ✔Table of Contents Tech 94. 문장 분해하기 먼저 konlpy의 Twitter를 import하여, 어떤 예제 텍스트를 품사 단위로 분해해보겠습니다. #예제: text라는 문장을 품사 단위로 분해하기 from konlpy.tag import Twitter twt = Twitter() text = '형태소분석으로 문장을 분해해보자' tagging = twt.pos(text) tagging #단어..

안녕하세요~ Everly입니다 😀 오늘부터는 [파이썬 데이터 분석 실무 테크닉 100] 책의 마지막 10장인 '자연어 처리' 부분 포스팅을 업로드합니다. 이 자연어 처리(NLP; Natural Language Processing) 기술은 텍스트(text) 데이터를 분석하는 것으로, 비정형 데이터를 분석하는 기술이라고 볼 수 있겠죠. 예를 들어 고객에게 설문조사를 실시하고, 여기서 필요한 정보만 뽑아낸다고 해봅시다. 설문조사를 한 고객 수가 적으면 일일이 확인해도 되겠지만, 이게 몇 천, 몇 만 명에게 했다고 한다면 사람의 눈으로 파악하기 힘들겠죠. 그리고 어차피 우리가 궁금한 것은 사람들이 공통적으로 말하고 있는 장점이나 단점 정도만 보면 될 테니까요! 이럴 때 사람이 아니라 NLP를 활용한 데이터 분석..

안녕하세요, Everly입니다 :) 지금까지 한 포스팅으로 현장에서 데이터 분석 업무를 어떻게 하는지, 어떻게 결과를 내고 개선하는지에 대한 내용을 알아봤습니다. 지금부터는 '발전 편'으로, 이미지 인식과 텍스트 분석이라는 2가지 AI(인공지능) 기술을 소개합니다. 이미지와 텍스트 데이터는 지금까지 봤던 csv 형태로 깔끔하게 저장된 정형 데이터가 아니라, 비정형 데이터라서 다소 까다롭습니다. 자세히 다루지는 않고 맛보기로만 볼 거라서, 여기서 흥미가 생기신다면 더 깊이 공부하면 좋을 것 같아요 :) 먼저 이번 포스팅부터는 '이미지 인식 기술'을 공부해봅니다. 여기서는 다음과 같은 것을 배울 수 있습니다. 이미지, 동영상 데이터를 불러오는 방법 동영상을 이미지로 나눠서 저장하는 방법 이미지, 동영상 속에..

안녕하세요! Everly입니다. 오늘 포스팅은 SNS 입소문 전파를 예측하는 파이썬 시뮬레이션 마지막 포스팅입니다. 오늘은 실제 결과와 예측 결과를 비교해보고, 실제 결과가 없는 미래에 대해서 예측까지 진행해보겠습니다. ✔Table of Contents Tech 79. 실제 데이터와 시뮬레이션을 비교하자. 앞선 Tech 78에서 소멸확률과 확산확률을 추정했던 것 기억나시죠? 얘네를 불러옵니다. #각각 앞에서 구한 확산확률, 소멸확률 p_percent = count_link_to_active/count_link d_percent = count_active_to_inactive/count_active print(p_percent, d_percent) 확산확률 p_percent는 약 4%, 소멸확률 d_per..

저번 포스팅까지는 회원 20명 데이터로 입소문 전파 시뮬레이션을 해보았는데요! 이번 포스팅은 540명의 전체 회원 데이터를 갖고 시뮬레이션을 해보겠습니다. 데이터에 나와 있는 기업은 SNS 입소문이 아주 중요한 스포츠 센터입니다. 혹시 저번 포스팅을 안 보셨다면, 이번 포스팅 내용을 따라오기 힘들 수 있으니 꼭 보고 오시길 추천드립니다! (1편, 2편) ✔Table of Contents Tech 76. 실제 데이터를 불러오자 mem_link = pd.read_csv('8장/links_members.csv') mem_info = pd.read_csv('8장/info_members.csv') print(mem_link.shape, mem_info.shape) display(mem_link.head(), me..

저번 포스팅에서는 SNS 입소문을 타고 전파되는 과정을 시뮬레이션 해보았습니다. 이번 포스팅은 저번 포스팅과 이어지니 안 보신 분들은 보고 오는 걸 추천드려요! ✔Table of Contents Tech 73. 입소문 전파를 시계열 그래프로 나타내자 이전 포스팅에서 간단한 네트워크 시각화를 통해, 입소문의 위력이 얼마나 컸는지를 알 수 있었습니다. 하지만 모든 개월수에 대해 시각화를 해서 총 36개의 이미지를 만들기엔 너무 보기가 힘들겠죠? 그래서 단 하나의 시계열 그래프로 만들어서 살펴보겠습니다. 개월별 전파수의 합을 구하고, x축을 개월, y축을 입소문 전파 수의 합으로 나타내봅시다. 먼저, 개월별 전파수 합은 어떻게 구하면 될까요? 앞에서 구한 list_ts가 각 개월별 전파현황을 리스트 내 리스트..