목록Python (52)
Yours Ever, Data Chronicles

안녕하세요, 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가 각 개월별 전파현황을 리스트 내 리스트..

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

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

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

저번 포스팅에 바로 이어서, 파이썬 운송 최적화 부분을 마무리해봅니다. ✔Table of Contents Tech 62. 앞서 구한 최적 운송 경로를 네트워크 시각화하자. 이전에 배웠던 네트워크 시각화를 한번 해봅시다! 공장(F), 창고(W) 좌표정보를 가져와 찍고, 운송경로의 최적해 값(v1)을 엣지의 가중치로 보면, 어떤 운송경로가 두드러지는지를 한 눈에 파악해볼 수 있겠죠? 또한, 이전 6장에서 했던 네트워크와 결과가 어떻게 달라지는지도 확인해 봅시다. (네트워크 시각화가 무엇인지 궁금하다면, 여기에서 확인하세요!) import pandas as pd import numpy as np import matplotlib.pyplot as plt import networkx as nx #데이터 불러오기 ..

앞선 포스팅에서 간단하게 물류 운송 데이터를 바탕으로 창고와 공장 간 이동관계를 네트워크화 해보았습니다. 결과는 위와 같았는데요! 어느 창고(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() #노드 ..