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

안녕하세요~ Everly입니다. 오늘 포스팅해볼 내용은 아주 흥미로운 내용인, 파이썬을 활용한 '시뮬레이션'입니다 :) 저는 이전에 학부생 시절, 기업 연계 프로젝트를 진행하면서 매출 시뮬레이션을 해본 적이 있었습니다. (요금 할증을 하면 수요와 매출이 어떻게 바뀔지 수요-공급 곡선을 바탕으로 시뮬레이션을 했었죠.) 하지만 아쉽게도 러프한 분석이었고, 데이터 분석이라기보단 기본 경제학 개념을 바탕으로 엑셀로 예측해본 것이었기에 활용도가 높진 않았습니다. 그래서 저도 책 '파이썬 데이터 분석 실무 테크닉 100' 의 8장-시뮬레이션을 공부하면서 현업에서 이렇게 활용하면 되겠구나! 라는 아이디어를 얻어볼 수 있었어요. 그래서 오늘 포스팅도 유용하지 않을까 생각합니다. 참고로, 이 책을 공부해보신 분들은 아시..

안녕하세요 Everly입니다. 오늘은 [파이썬 데이터 분석 #7장]의 마지막 내용인 '물류 네트워크 설계'에 관해 포스팅해보겠습니다. 우리가 앞서 배웠던 최적화 2가지는 이것이었죠. 운송 경로 최적화(운송 비용 최적화) - 1편 / 2편 생산 계획 최적화 - 포스팅 이렇게 운송 경로 최적화에서는 운송비용을 최소화하는 최적의 경로를 찾았고, 생산계획 최적화에서는 총이익을 최대화할 수 있는 최적의 생산량을 찾았습니다. 하지만 실제 현장에서는 이 2가지 최적화 기법을 따로 하는 게 아니라, 동시에 고려해야 합니다. 즉, 최적의 '물류 네트워크'를 만들어야 한다는 것이죠. 이런 과정을 통해, 우리는 최적의 운송량과 최적의 생산량 두가지를 모두 만족하는 네트워크를 만들어봅니다. python ortoolpy 라이브..

저번 포스팅까지는 '운송 비용 최적화'를 진행했습니다. "운송비용을 가장 최소화시키기 위해 창고-공장 간 이동하는 물품 수를 어떻게 조정할 것인가?" 에 대한 문제를 풀어보았죠. 이를 통해 최적해, 최적값을 구할 수 있었습니다. 또한 결과를 바탕으로, 집중할 경로는 더 집중하고, 아닌 경로는 덜 집중하는 방법이 최적임을 파악했습니다. 이번 포스팅부턴 '생산 계획 최적화'를 진행합니다. 이는 "어떤 제품을, 얼마나 만들 것인가?" 에 대한 최적화입니다. 어렵지만 재밌는 최적화의 세계로 빠져봅시다! >

앞선 포스팅에서 간단하게 물류 운송 데이터를 바탕으로 창고와 공장 간 이동관계를 네트워크화 해보았습니다. 결과는 위와 같았는데요! 어느 창고(W)에서 어느 공장(F)으로 가든지간에, 모든 경로가 있다는 점이 주목할 만한 점입니다. 이 중에서 굵기가 진한 엣지인 W2 → F3로 가는 경로는 운송량이 다른 경로에 비해서 더 많다는 것이 눈에 띄네요. 앞의 포스팅에서, 물류 회사에서 요청한 분석이 무엇이었는지 기억나시나요? "운송비용을 절약하기 위한 최적의 경로를 찾아달라"는 것이었죠. 그렇다면 위의 경로에서 운송비용을 더 효율적으로 만들고자 한다면 어떻게 경로가 바뀌면 될까요? 맞습니다. 직관적으로 생각해볼 수 있는 것처럼, 특정 경로에만 집중되는 것이 운송비용을 더 절약할 수 있을 것입니다. 어떤 경로만 ..

이번 포스팅에서는 python networkx 라이브러리를 활용해 네트워크를 가시화하는 방법을 알아보고, 실제 물류 데이터를 적용하여 효율적으로 운송이 이루어지고 있는지를 살펴봅니다. 최적화를 시각화하는 라이브러리는 다양하지만 여기서는 networkx를 사용합니다. ✔Table of Contents Tech 53. 네트워크 가시화하기 (기초) 먼저 네트워크 시각화를 하기 위해선 다음이 필요합니다. 그래프 객체 노드(node) : 점 엣지(edge) : 점과 점을 연결하는 선 좌표 : 점의 좌표 위의 순서를 지켜, 가장 기본적인 네트워크를 만들어보겠습니다. import networkx as nx import matplotlib.pyplot as plt #그래프 객체 설정 G = nx.Graph() #노드 ..

안녕하세요, Everly입니다! 오늘부터 포스팅될 [파이썬 데이터 분석 #6장, #7장] 에서는 물류 데이터를 활용한 최적화 문제를 푸는 과정을 리뷰해보려고 합니다. 그리고 '데이터 분석 실무 테크닉 100' 책이 Tech 100까지로 이루어져 있는데, 저번 포스팅에서 벌써 Tech 50까지 왔더라구요! 이제 남은 50가지 테크닉도 잘 포스팅해보도록 할게요 :) ✔Table of Contents 최적화 문제란? 이번 포스팅부터 진행할 최적화 문제는 앞서 풀어봤던 머신러닝 문제(파이썬 데이터 분석 #4, 5장)보다도 좀 더 어렵습니다. 우선 최적화가 무엇이고, 어떤 경우에 최적화 문제를 사용하는지에 관해 알아보겠습니다. 책에서 살펴볼 최적화 문제는 '물류 데이터'를 활용합니다. 당신은 지금 어떤 기업의 창..

이 책의 저자는 바이브컴퍼니(구 다음소프트)의 부사장인 송길영으로, 소셜 데이터를 바탕으로 인간의 마음을 읽고 해석하는 일을 하기에 자신을 ‘마인드 마이너(Mind-Miner)’ 라고 소개한다. 송길영님은 이전에도 소셜 데이터를 분석하며 트렌드와 관련한 책을 여러 권 썼기에 이름이 익숙하신 분들도 있을 것이다. 이 책이 베스트셀러인데다 저자가 나와 같은 데이터 분석을 하는 사람이기에 당연히 읽어야겠다고 생각해서 읽었는데, 생각보다 더 재밌었다 :) 그냥 하지 말라: 당신의 모든 것이 메세지다 - 송길영 지음, 북스톤(2021) 이 책에서는 지난 10년 동안 일어났던 일들을 데이터를 바탕으로 설명하는데, 에필로그에서 저자는 10년 전의 분석 자료를 다시 보니 ‘부끄러운 10년’이었다고 했다. 그때 당시엔 ..

이렇게 모델링을 위한 데이터 가공을 마쳤습니다. 이제는 모델링을 직접 해봅시다. ✔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)을 통해 고객의 유형을 나눠 보고, 바로 다음 포스팅에서는 고객의 과거 데이터를 기반으로 예측하는 머신러닝 모델을 만들어 봅니다. [고객의 소리] 지난번 분석으로 어느 정도 경향을 파악할 수 있었습니다. 아직 전체적인 경향밖에 파악하지 못해서, 이번에는 좀 더 구체적인 분석을 부탁드리려고 합니다. 고객별로 ..