목록전체 글 (280)
susinlee 님의 블로그
배운 것들실력 수준 (1점 ~ 5점)MySQL4파이썬5판다스4통계4머신러닝 (지도, 비지도 학습)3빅쿼리 (데이터 적재) 1api 활용한 데이터 수집2웹크롤링 1태블로1스파크(예정)0

https://dacon.io/competitions/official/236439/overview/description 부동산 허위매물 분류 해커톤: 가짜를 색출하라! - DACON분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.dacon.io결과 미리 보기최종 결과 모델 : LGBMClassifierF1 Score : 0.883345순위 : 11 목차데이터 구조허위매물 비율과 주요 변수별 분포통계 검정특성 공학 및 변수 선택 결측치 및 이상치 처리모델 선정 및 모델링1. 데이터 구조 데이터셋train.csv : 2452개의 샘플이 있으며, 17개의 컬럼이 포함test.csv : 613개의 샘플, 16개의 컬럼submission.csv : 613개 샘플의 허위매물여부를 예측하..
F1 Score : 정밀도(Precision)와 재현율(Recall)의 조화 평균을 계산하는 지표→ 정확도(Accuracy)만으로 평가하기 어려운 불균형 데이터에서 모델 성능을 평가할 때 중요함 1. 정밀도와 재현율이란? 실제 긍정실제 부정예측 긍정TP (True Positive)FP (False Postivie)예측 부정FN (False Negative)TN (True Negative)→ (FP, FN 에서 P와 N은 예측 기준) 정밀도 공식$$Precision = \frac{TP}{TP+FP}$$→ 긍정으로 예측한 것 중에서 실제로 정답인 비율 (예측이 얼마나 정확한지)→ FP(거짓 긍정)이 많으면 정밀도가 낮아짐→ 예: 스팸 필터에서 정밀도가 높으면, 스팸으로 예측한 것 중 실제 스팸이 많다는 의미..
데이터 : 추론과 추정의 근거를 이루는 사실 정성적 데이터 : 비정형 데이터 (예: 주관식 응답, 기상특보, SNS 텍스트)정량적 데이터 : 수치 기반의 정형 데이터 (예: 온도, 습도, 강우량, 풍속) 암묵지 : 경험과 학습을 통해 개인에게 습득된 무형의 지식 (예: 자동차 운전, 운동)형식지 : 구체적이거나 문서화된 지식 (예: 작업 메뉴얼, 설계도)공통화 : 암묵적 노하우를 타인에게 전달표출화 : 암묵적 노하우를 책/교재 등 형식지로 전환연결화 : 기존 형식지에 자신의 새로운 지식을 추가내면화 : 만들어진 교재를 참고하여 다른 직원들이 암묵적 지식으로 체화DIKW 피라미트 : 데이터, 정보, 지식을 통해 최종적으로 지혜를 얻어내는 일련의 과정을 나타내는 계층구조Data : 가공 전의 객관적인 사실..

1. to_dict()to_dict() 를 이용하여 시리즈 데이터에서 인덱스와 값을 딕셔너리 key:value 형태로 손쉽게 만들 수 있다.import pandas as pdimport seaborn as snsdf = sns.load_dataset('penguins')print(df.value_counts('species'))print(df.value_counts('species').to_dict()) 2. map vs apply map() Series 객체에서 개별 요소에 함수를 적용리스트나 딕셔너리를 매핑할 수도 있음 → 앞서 살펴본 to_dict이랑 같이 활용 가능! (존재하지 않는 키값은 NaN 처리)DataFrame 전체에 적용할 수 없음 (Series 전용) apply()Series와 Da..
[문제]https://leetcode.com/problems/friend-requests-ii-who-has-the-most-friends/description/ [풀이]1. requester_id 열과 accepter_id 열을 위 아래로 합쳐준다.2. 합친 열을 그룹화하고 개수를 센다음 정렬한 뒤 제일 첫 번째 행을 가져온다. Pandasimport pandas as pddef most_friends(request_accepted: pd.DataFrame) -> pd.DataFrame: df = pd.DataFrame({ 'id': pd.concat([request_accepted['requester_id'], request_accepted['accepter_id']]) }) ..
SQL에서 윈도우 함수는 행(row) 단위로 연산을 수행하면서도 그룹화 없이 전체 데이터에 대한 계산을 수행할 수 있는 기능 기본 구조윈도우_함수() OVER ( PARTITION BY 컬럼 ORDER BY 컬럼 ROWS 또는 RANGE) PARTITION BY → 그룹을 나누는 기준ORDER BY → 정렬 기준ROWS 또는 RANGE → 윈도우(슬라이딩 범위)를 설정하는 옵션기본 예제SELECT customer_id , visited_on , amount , SUM(amount) OVER (ORDER BY visited_on) AS rolling_sumFROM CustomerSUM(amount) OVER (...) → 각 행을 기준으로 이전 행의 값들을 누적해서 ..
[문제]https://leetcode.com/problems/restaurant-growth/ [풀이]1. 날짜순으로 정렬한 뒤, 그룹화하여 더해준다. 2. rolling 함수를 이용해서 윈도우 크기를 7일로 해주고, 이동합계를 구한다.3. 마찬가지로 이동합계에 7을 나눠서 이동평균을 구해준다.4. 최소 날짜에서 6일을 더해 7일 평균이 계산된 행들만 필터링 해준다. Pandasimport pandas as pddef restaurant_growth(customer: pd.DataFrame) -> pd.DataFrame: df = customer.sort_values("visited_on").groupby("visited_on")[["amount"]].sum() df = df.assign( ..