목록파이썬 (49)
Yours Ever, Data Chronicles

이렇게 모델링을 위한 데이터 가공을 마쳤습니다. 이제는 모델링을 직접 해봅시다. ✔Table of Contents Tech 38. 선형회귀 모델링 모델 구축에 앞서, pred_data 전처리를 한번 더 합니다. 가입일자(start_date) 변수가 2018년 4월 이후인 데이터로만 데이터를 한정합니다. 왜냐하면 만들어둔 이용횟수 변수의 날짜가 모두 2018년 4월~2019년 3월이거든요. 너무 오래 전부터 있던 회원은 가입시기 데이터가 존재하지 않거나 이용횟수가 안정적일 가능성이 높기 때문에 비교적 신규인 회원들로만 데이터를 다시 만들어봅니다. print(pred_data.shape) pred_data = pred_data.loc[pred_data['start_date'] >= pd.to_datetime..

이전 포스팅에 바로 이어서, 이번에는 고객의 과거 데이터를 바탕으로 행동을 예측해봅시다. 여기서 해볼 에측은 회원의 과거 헬스장 이용 이력 데이터를 바탕으로, 다음 달의 이용 횟수가 몇 회가 될지를 예측해볼 것입니다. 이러한 예측을 위해 머신 러닝(Machine Learning, 기계학습)을 수행해볼 것인데, 여기서 사용하는 것은 지도학습 모델링입니다. 지도학습 모델링은 '정답 데이터'가 존재하는 모델링을 의미합니다. 여기서 이야기하는 정답 데이터는 종속변수(y, target)을 의미하며 이러한 정답 데이터가 없으면 비지도학습입니다. 과거 데이터를 학습 데이터(train set)로 하여 모델을 만들고, 검증 데이터(validation set)로 모델의 성능을 평가합니다. 마지막으로 정답을 모르는 테스트 ..

안녕하세요, Everly입니다. 정말 오랫만에 '파이썬 분석 실무 테크닉' 공부한 부분을 리뷰하는데요! (3달 만이군요..) 앞으로는 좀 더 자주 업로드해보도록 하겠습니다 :) 오늘은 지난 포스팅에서 다뤘던 스포츠 센터(편의상 헬스장) 데이터를 바탕으로, 이 헬스장을 사용하는 고객이 어떤 유형이 있고, 고객의 행동을 에측하는 데이터 분석을 공부해봅니다. 이번 포스팅에서는 클러스터링(clustering)을 통해 고객의 유형을 나눠 보고, 바로 다음 포스팅에서는 고객의 과거 데이터를 기반으로 예측하는 머신러닝 모델을 만들어 봅니다. [고객의 소리] 지난번 분석으로 어느 정도 경향을 파악할 수 있었습니다. 아직 전체적인 경향밖에 파악하지 못해서, 이번에는 좀 더 구체적인 분석을 부탁드리려고 합니다. 고객별로 ..

저번 포스팅에 이어, 이번에는 이용이력(ul) 데이터를 가공하여 사전 분석을 실시한다. ✔Table of Contents Tech 25. 이용이력 데이터를 집계하자. 이용이력 데이터는 저번 포스팅에서 했던 고객 데이터와 다른 점이 무엇일까? 바로 고객 데이터와는 달리, 회원이 스포츠센터를 이용할 때마다 시간이 찍히기 때문에 시간적인 요소를 분석할 수 있다. 예를 들어 한 달 이용 횟수의 변화나, 회원이 스포츠센터를 정기적/비정기적으로 이용하는지 와 같은 것들이다. 우리는 우선, 스포츠센터를 이용하는 회원들이 월별 몇 회를 이용하는지 그 평균값, 중앙값, 최댓값, 최솟값을 구해보도록 하자. 이용이력(ul) 데이터는 고객데이터와는 달리 customer_id가 중복이 있기 때문에(이용할 때마다 찍히는 데이터이..

안녕하세요, Everly입니다 :) 저번 포스팅(파이썬 데이터 분석 #1장, #2장)을 통해, 현장에서 데이터 분석을 어떻게 시작하는지에 대해 기본적인 내용을 공부했습니다. 이번 포스팅부터는 데이터 분석을 본격적으로 시작해 보겠습니다. 데이터 분석 업무를 한다는 것은 결국 '결과를 내기 위한' 것입니다. 여기에는 2가지 측면이 있는데요, 하나는 통계를 사용한 사전 분석으로, EDA라고도 합니다. 데이터를 찬찬히 뜯어보고, 가공하는 데이터 핸들링(data handling)을 하는 과정입니다. 이 과정에서 현재의 상황이 어떤지를 데이터를 통해 자세히 알아볼 수 있죠. 또한 이러한 현황 파악을 통해 어떠한 알고리즘을 적용하면 좋을지도 알 수 있습니다. 나머지 하나는 앞서 한 사전 분석을 토대로, 머신 러닝 알..

저번 포스팅에서 이어서 '지저분한 데이터 가공하기'의 남은 부분을 공부해보자. 배우는 부분: 데이터 전처리 / 데이터 가공 / 엑셀 숫자 날짜로 변환 / 문자열 전처리 ✔Table of Contents Tech 16. 고객 이름 오류 수정하기 이번에는 'ko'라고 하는 데이터를 살펴보자. 이는 엑셀(xlsx) 데이터로, 많은 오류가 있다. ko.head() 보다시피 고객이름은 '김 현성'처럼 공백이 들어가 있으며, 등록일은 날짜타입으로 된 것도 있으나 숫자형태로 되어 있기도 하다. 이는 엑셀에서의 서식을 날짜가 아닌 다른 방식으로 지정했기 때문이다. 우선 고객 이름부터 수정해보도록 하자. 고객이름에는 공백이 두 번(" ") 들어있는 것도 있고, 한 번(" ") 들어있는 것도 있는데, 이러한 공백들을 모두..

저번 포스팅에서 다뤘던 쇼핑몰 데이터는 프로그램으로 알아서 데이터가 쌓이고 있어, 비교적 깨끗한 데이터였는데요. 하지만 이번 포스팅에서 다룰 데이터는 사람이 수기로 입력한 엑셀 데이터로, '지저분한 데이터'를 가공하는 방법을 포스팅해보겠습니다. 제가 회사에서 일했을 때의 데이터는 데이터베이스에서 내려받을 수 있는, 비교적 깔끔한 데이터였지만 아직까지 비즈니스 현장에서는 사람이 직접 손으로 입력한 데이터가 많습니다. 어떠한 데이터 형식으로 되어있든지간에, 개떡같은 데이터도 찰떡같이 분석하는 것이 데이터 사이언티스트라면 기본이겠죠? 이번 시간에 다룰 데이터는 가상의 대리점 데이터로, 매출현황과 고객정보가 들어있는 2개의 데이터를 제공받았습니다. - uriage.csv : 매출 이력 데이터, 상품 A~Z까지 ..

저번 포스팅에 이어서 이번에는 본격적으로 쇼핑몰 데이터의 주문 수를 기준으로 분석해 보겠습니다. 저번 포스팅에선 주어진 데이터가 있을 때, 어떻게 데이터들을 결합시키고 필요한 열을 만드는지를 위주로 보았습니다. 이번엔 만든 "join_data"를 가지고, 본격적인 분석을 시작해 보겠습니다! 앞서, 의뢰가 들어온 쇼핑몰에서는 현재 전체 매출액만 알고 있을 뿐, 데이터와 관련한 정보는 하나도 아는 것이 없었습니다. 우리는 이 데이터를 바탕으로 인사이트를 찾아야 하는데, 분석에 앞서 스스로 "질문해보는 것"이 아주 중요합니다. (궁금한 게 있어야 분석을 할 수 있으니까요!) 어떤 점이 궁금한가요? 궁금한 게 마땅히 떠오르지 않는다면, 먼저 데이터의 현 상황부터 파악해 봅시다! ✔Table of Contents..

오늘부터는 『파이썬 데이터 분석 실무 테크닉 100』 책을 한 챕터씩 공부해보려고 한다. (책 자세히 보기) 이 책은 100가지 예제를 통해, 파이썬으로 데이터를 가공- 머신러닝 - 이미지/자연어 처리를 하는 방법까지를 다루고 있다. 나는 주로 데이터 분석 공부를 이러한 책을 통해 배우고 있는데, 인턴을 하면서 느꼈던 것은 "실무를 위한" 공부를 해야 한다는 것이었다.(이론만 알아서는 절대 안된다!) 파이썬 기초 수준의 공부를 했다면(기초 책으로는 『Do it! Jump to Python』 이나 『Do it! Pandas 입문』 편을 추천한다.) 그 다음으로는 실무에서 데이터 분석을 어떻게 하고 있는지를 알아야 한다. 그런 점에서 이 책은 실제로 실무에서 하는 그러한 예제들을 다루고 있어, 데이터 분석을..