목록Data/Python (29)
짜리몽땅 매거진

앱서비스의 DB와 로그데이터를 활용해 각 유저와 기능 관련 수치들을 변수로 설정한 뒤 상관분석을 진행하면, 어떤 기능들이 상호 연관성이 높은지 쉽게 파악해 추후 새로운 전략을 짜는데 용이하게 활용할 수 있다. 더불어 상관분석 결과를 '상관계수 네트워크 차트' 형태로 시각화한다면 한 눈에 파악하기 쉽다. 그래서 오늘은 실제 앱서비스 데이터를 바탕으로 위 과정을 실습해보자. * 실제 기업 데이터로, 수치는 비공개 처리합니다. 1. 라이브러리 호출 및 데이터 불러오기import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsdf_merged = pd.read_csv('상관분석 데이터.csv') 날짜를 인덱스로 설정해 각 유저별 기능별 수치를..

추천 시스템의 종류 콘텐츠 기반 필터링(Content-based Filtering)콘텐츠 자체의 특성과 사용자의 이전 행동 기록을 기반으로 사용자에게 추천함예를 들어, 사용자가 영화 '캡틴 마블'을 재밌게 보았다면 '캡틴 마블'에 대한 분석을 바탕으로 성격이 유사한 영화 '블랙 위도우'를 추천함장점개인화된 추천: 사용자의 개별적인 취향을 반영 가능함새로운 아이템 대응: 아이템 자체의 특성을 기반으로 하기 때문에 새로운 아이템에도 상대적으로 잘 대응 가능함콜드 스타트에 강함: 사용자의 이력이 없는 초기 상태에도 추천 가능함단점제한된 다양성: 각 콘텐츠에서 얻을 수 있는 정보가 달라 다양한 형식의 항목 추천이 어려움협업 필터링(Collaborative Filtering)어떤 아이템에 대해서 비슷한 취향을 가..

요즘 학회에서 기업 컨택을 통해 서비스 데이터를 다루는 프로젝트를 진행 중인데, 고객 세그먼트와 RFM분석에 관한 내용이 팀 내부적으로 논의되고 있어 관련한 방법론을 찾아보았다. 그러던 도중 'Featuretools'라는 라이브러리를 알게되었고, 추가적으로 'Datetime' 라이브러리를 활용해 RFM 및 코호트 분석을 실습해보았다. 오늘은 이 고객데이터 분석 실습 전 과정에 대한 내용을 다루고자 한다.FeaturetoolsFeaturetools는 파이썬에서 자동으로 피처 엔지니어링을 수행해주는 라이브러리로, 특히 복잡한 데이터 관계에서 새로운 피처를 생성하는 데 유용하다. RFM 분석에서 Featuretools를 활용하면 다양한 형태의 피처를 자동으로 생성하여 더 정교한 분석을 할 수 있다.1. 자동 ..

'제주도 신재생 에너지 활용을 통한 전력 비용 절감 및 탄소 배출 감소 분석'을 주제로 날짜별 기상데이터, 태양광 발전량 데이터, 풍력 발전량 데이터, 제주 평균 전력 사용량 데이터 등을 수집해 시계열 분석을 진행하였다. 본격적인 분석에 들어가기 앞서 종속변수인 풍력 발전량과 태양열 발전량과 깊은 상관관계가 있는 독립변수만 선정하여 모델링할 최종 데이터셋에 포함하고자 했는데, 이때 상관분석을 진행하였다. 상관분석 방법은 여러가지가 있는데, 1. pandas를 사용한 상관분석pandas 라이브러리의 corr 메서드를 사용하면 데이터프레임의 상관계수를 쉽게 계산할 수 있다.df = pd.DataFrame(data)# 상관계수 계산correlation_matrix = df.corr()print(correla..

금산인삼축제와 금산천벚꽃축제에 대한 전반적인 여론과 인식을 파악하고자 해당 축제명을 네이버에 검색했을 때 뜨는 뉴스기사 리스트를 크롤링한 후 크롤링한 기사의 제목을 네이버 CLOVA Sentiment API를 활용해 감성분석해보자. 먼저 네이버 뉴스기사를 크롤링해보자.1. 라이브러리 호출import pandas as pdimport numpy as npimport timeimport refrom bs4 import BeautifulSoupfrom datetime import datetimefrom tqdm import tqdmimport requestspath = "/Users/your name/Desktop/" 2. 검색 키워드 및 개수 설정# 필요한 키워드 입력search_content = input..

데이터 전처리에는 여러 과정이 포함되지만, 그 중에서도 이상치(Outlier) 처리는 매우 중요한 단계이다. 이상치란 일반적인 데이터 패턴에서 벗어난 값으로, 종종 잘못된 데이터 입력이나 측정 오류로 인해 발생한다. 이상치 처리는 데이터 분석 결과의 신뢰성을 높이고 모델 성능을 향상시키는 데 도움을 준다. 0. 이상치 처리 방법 이상치 탐색: 가장 먼저 해야 할 작업은 데이터에서 이상치를 탐색하는 것이다. 상자 그림(box plot)이나 히스토그램(histogam) 등의 시각화 도구를 사용하여 데이터의 분포를 확인하고 이상치를 찾을 수 있다. 이상치 제거: 이상치를 발견했다면, 해당 이상치를 제거하는 것이 일반적이다. 이 단계에서는 이상치가 잘못된 데이터 입력이나 측정 오류로 인해 발생한 것인지 확인해야..

지난번 beautifulsoap 라이브러리를 활용해 당근마켓 인기매물 리스트를 정적 크롤링해보았다. 오늘은 워크넷 구인구직 플랫폼에서 검색어와 클릭에 따라 원하는 정보를 크롤링하는 동적 크롤링을 학습했다. 정적 크롤링과 동적 크롤링의 개념 및 차이에 대해서는 지난 포스팅을 참고하면 된다. [Python] beautifulsoap으로 당근마켓 정적 크롤링하기당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주zzarimongddang.tistory.com워크넷 구인구직 사이트에서 중장년층과 상용직 필터만 클릭했을 때, 뜨는 구인구직 게시글들의 제목, 기..
당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주소', '가격', '게시글 내용' 정보만 가져오면 되기 때문에 웹으로도 충분히 크롤링을 진행할 수 있었다. 크롤링은 크게 두 가지 유형으로 분리되는데, 정적 크롤링이란 멈춰있는 페이지의 HTML을 requests 혹은 urllib 패키지를 이용해 가져와서 beautifulsoap 패키지로 파싱(=복잡한 HTML 문서를 잘 분류, 정리하여 다루기 쉽게 바꾸는 작업) 하여 원하는 정보를 수집하는 과정이다. 동적 크롤링이란 계속 움직이는 페이지를 다루기 위해 selenium 패키지로 chromdriver를 제어하는 크롤링 과정..