300x250

데이터 분석가:Applied Data Analytics/판다스 데이터분석 16

전설의 포켓몬 찾아 삼만리

이번에는 pandas의 문법과 다양한 메서드를 활용해 본 적이 있고, 코드를 보면 어느 정도 이해할 수 있습니다.matplotlib을 활용해서 데이터 시각화를 해본 적이 있고, 코드를 보면 어느 정도 이해할 수 있습니다.데이터셋을 train/test 데이터셋으로 나누어서 모델을 학습 및 검증해본 경험이 있다.목표다양한 피처가 있는 데이터셋을 밑바닥부터 샅샅이 뜯어보고, 전설의 포켓몬을 분류하기 위한 피처에는 무엇이 있는지 생각해 보자.모델 학습을 시작하기 전 모든 컬럼에 대해 그래프 시각화, 피벗 테이블 등을 활용하며 다양한 방법으로 충분한 EDA를 진행하자.모델 학습에 넣기 위해서 전처리가 필요한 범주형/문자열 데이터에 대한 전처리를 원-핫 인코딩 등으로 적절하게 진행.전체 데이터셋을 train/tes..

geopy 설치

geopy 모듈은 지리적 좌표(위도, 경도)를 기반으로 거리 및 위치 정보를 다룰 수 있는 라이브러리로.특히 위도(latitude), 경도(longitude) 데이터를 활용하여 두 지점 간의 실제 거리(km)를 계산할 때 많이 사용됨.geopy가 필요한 이유1. Haversine 공식보다 더 정확한 거리 계산 가능지구가 완벽한 구체가 아니기 때문에, Haversine 공식은 오차가 발생할 수 있어.geopy.distance.geodesic()은 지구의 타원체 모델(WGS-84)을 사용하여 보다 정확한 거리(km)를 반환해.2. 위도/경도를 이용한 실시간 거리 계산 가능고객(lat, long)과 가맹점(merch_lat, merch_long) 간의 거리를 구하는 데 사용 가능.지도 데이터를 활용하는 머신러..

신용거래 이상탐지 데이터 다루기

이번내용은 모두연 프로덕트데이터분석가1기 수료과정 중 과제를 참고하였습니다. 신용카드 이상감지 모델을 만들기 위한 데이터이며, is_fraud가 사기거래 여부를 나타내는 변수이다.최종적으로 사기거래 여부를 예측하기 위한 데이터를 준비해보는 실습입니다.사기거래 여부를 예측하는 데 불필요한 컬럼을 제거합니다.최소 2개 이상의 새로운 피처(변수)를 생성해봅시다.[힌트] 구매 금액, 시간 등의 변수를 이용할 수 있습니다.데이터의 위도/경도 정보를 활용해볼 수 있을까?통계적 관점으로 접근하여 유용한 변수를 만들어낼 수 있을까?평가문항상세기준1. 다수의 컬럼이름을 변경하고, 다양한 방법으로 결측치를 처리할 수 있는가?컬럼 이름의 변경이 명확하게 반영되어 있고, 다양한 방법으로 효과적인 결측치 처리를 진행할수 있는가..

데이터 정제 과정에서 사용하는 Pandas 메소드

1. 데이터 확인 및 기본 통계 .head() / .tail()데이터의 처음(head()) 또는 마지막(tail()) 몇 개의 행을 확인하는 메소드.예시 df.head(5) # 상위 5개 행 출력 df.tail(3) # 하위 3개 행 출력 활용데이터의 기본 구조 및 최근 데이터를 빠르게 확인. .describe()데이터의 기본적인 통계 정보(평균, 표준편차, 최소·최대값 등)를 요약하여 제공.예시 df.describe() 활용데이터의 분포를 빠르게 파악하고, 이상치를 탐색. .value_counts()범주형 데이터의 각 값이 몇 번 등장했는지 계산.예시 df['gender'].value_counts() 활용성별, 카테고리 등 그룹별 빈도 분석. .nunique() / .unique()nunique(): ..

5. Feature Engineering - 스피드 데이팅 데이터 다루기

이내용은 모두연의 프로덕트데이터분석가1기 교육 과정의 하나이며, 추후 복습 차원에서 정리한 내용입니다. Feature Engineering을 통해 주어진 데이터에서 추가적인 정보를 추출하고, 이를 아이디어와 파이썬 코드로 구현하는 방법.목표 :상황에 맞게 다양한 방법으로 데이터를 처리할 수 있다.주어진 데이터에서 추가적인 정보를 이끌어 낼 수 있다.요즘 나오는 머신러닝에서는 자동적으로 Feature Engineering을 해주는 경우도 있는데, 그런경우의 단점은 맥락과 상관없이 그냥 다양한 연산을 적용한다는거죠. 스피드 데이팅은 짧은 시간 동안 여러 명의 이성과 대화를 나누고, 서로 관심이 있는 경우 후속 만남을 가질 수 있도록 하는 만남의 방식입니다.진행 방식참가자들은 보통 한 장소에 모여 여러 명의 ..

Feature Engineering

1. Feature Engineering이란?Feature Engineering은 데이터에서 모델의 성능을 극대화할 수 있도록 특징(feature)을 변형, 생성, 선택하는 과정이다. 머신러닝 모델의 성능은 데이터의 질에 크게 의존하기 때문에, Feature Engineering은 매우 중요한 과정이다.2. Feature Engineering의 핵심 과정Feature Engineering은 보통 다음 4가지 과정으로 나뉜다.Feature 생성 (Feature Creation)원본 데이터에서 새로운 특징을 만들어냄예: 날짜 데이터를 기반으로 '연도', '월', '요일'을 추가Feature 변환 (Feature Transformation)데이터를 모델이 잘 이해할 수 있도록 변형예: 로그 변환, 스케일링 (..

데이터분석머신러닝-실습(k-Means, DBSCAN)

#군집 k-Means# 기본 라이브러리 불러오기import pandas as pdimport matplotlib.pyplot as plt'''[Step 1] 데이터 준비'''# Wholesale customers 데이터셋 가져오기 (출처: UCI ML Repository)uci_path = 'https://archive.ics.uci.edu/ml/machine-learning-databases/\00292/Wholesale%20customers%20data.csv'df = pd.read_csv(uci_path, header=0)'''[Step 2] 데이터 탐색'''# 데이터 살펴보기df.head()# 데이터 자료형 확인df.info()RangeIndex: 440 entries, 0 to 439Data c..

데이터분석머신러닝-실습(KNN, SVM)

해당내용은 정보문화사 파이썬 머신러닝 판다스 데이터 분석 교재를 기준으로 했으며, 책 소개는 아래를 참고하시기 바랍니다. 데이터분석가 관련 도서 https://nesaram-health-1story.tistory.com/136 데이터 분석가 관련 추천도서데이터 분석가는 보고서작성, 시각화, 통찰력, 비즈니스/도메인 지식의 능력이 필요하다.여기서 비즈니스/도메인 지식은 특정 산업이나 회사의 주요 활동 영역에 대한 이해를 말하며, 쉽게 말해nesaram-health-1story.tistory.com# 기본 라이브러리 불러오기import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns'''[Step 1] 데이터..

머신러닝(Machine Learning, ML)-실습

해당 실습은 정보문화사의 파이썬 머신러닝 판다스데이터분석 도서를 기반으로 정리 했습니다. # 데이터 통계 요약정보 확인 df.describe()# 누락 데이터 확인 df.isnull().sum()   #결측치가 없다.mpg 0cylinders 0displacement 0horsepower 0weight 0acceleration 0model year 0origin 0name 0dtype: int64# 중복 데이터 확인 df.duplicated().sum()  #중복행이 없다0# 상관계수 분석 - 데이터프레임 corr = df.corr(numeric_only=True) corr# 상관계수 분석 -..

머신러닝(Machine Learning, ML)-용어편

머신러닝과 관련된 개념과 분석방법들에 대해 미리 용어들의 내용을 정리 했습니다.정리하다 보니 너무 내용이 이해가 안되서 다시 아래 □안에 핵심정리로 따로 정리 해보았습니다. 1. 머신러닝 전체 프로세스머신러닝 프로젝트는 보통 다음과 같은 과정으로 진행된다.문제 정의 및 목표 설정데이터 수집 및 전처리데이터 탐색 및 분석모델 선택 및 학습모델 평가 및 성능 개선모델 배포 및 활용이제 각 단계를 구체적으로 설명하고, 사용되는 분석 방법을 소개하겠다.2. 머신러닝 프로세스 상세 설명 & 분석 방법1) 문제 정의 및 목표 설정머신러닝을 적용할 문제를 정의하고, 목표를 설정하는 단계이다.예제:이메일이 스팸인지 아닌지 분류고객이 제품을 구매할지 예측집의 크기와 위치를 보고 집값을 예측머신러닝 유형 선택문제 유형에 ..

4. Data transformation - 영국시장의 중고 자동차 가격 데이터 다루기[프로젝트]

해당 프로젝트는 "모두연 PDA(프로덕트데이터분석)1기 수업과정" 에서 수행한 내용을 기준으로 작성했습니다. import pandas as pdimport numpy as npimport seaborn as snsIn [3]:car_df = pd.read_csv('../../data/cars.csv')In [5]:brand_df = pd.read_csv('../../data/brand.csv')In [6]:car_df.head()Out[6]: brand_df.head()Out[7]:In [8]:car_df.info()RangeIndex: 3687 entries, 0 to 3686Data columns (total 13 columns): # Column Non-Null Count ..

3. Data transformation

해당 내용은 모두연의 프로덕트데이터분석가1기 수료과정 중 내용과 개인적인 내용을 정리한 것입니다.   데이터 병합, 개요 작성, 결측치 및 이상치 처리, 집계와 피벗 테이블 활용, 로그 변환 및 원-핫 인코딩, 스케일링, 주성분 분석(PCA)을 통해 데이터 변환의 고급 기술.데이터를 다양한 방법으로 합치고 변환할 수 있다.데이터의 스케일을 변환할 수 있다.카테고리형 데이터를 숫자형태로 변환할 수 있다.데이터의 차원축소를 할 수 있다. JOIN 종류: INNER, OUTER, LEFT, RIGHTINNER JOIN (교집합)"공통된 데이터만 가져온다"A와 B에 모두 존재하는 승객만 선택A, B 둘 다 포함된 승객만 출력됨.예제:승객 ID / (A)승객 이름1Alice2Bob3Charlie승객 ID / (B..

1. Data cleaning - 타이타닉 데이터 다루기

아래내용은 모두연의 프로덕트데이터분석1기 수업내용중에 정리한 겁니다. Pandas : 파이썬을 지원하는 페키지Dataframe : 판다스에서 제공하는 데이터(엑셀과 비슷하다)index, row(행), column(열, 변수, Feature)독립변수를 잘 활용해서 종속변수를 예측data.head()data.tail() : 뒷에 5일반적으로 1: yes, 0:No  data.info() : 컬럼에 대한 정보, 데이터라인, 컬럼몇개, 내용 제대로 들어가있는 데이터값, Dtype(데이터 타입) 을 알려줌data.describe() : object를 뺀 숫자형태의 데이터를 보여줌교육과정중에 자주 등장하는 메소드 10개 입니다. 숙지 하셨다가 잘 활용해 보세요.!!NO.메소드설명1..describe()DataFra..

6장_데이터프레임의 다양한 응용(데이터프레임 합치기)

# 라이브러리 불러오기 import pandas as pd # 데이터프레임 만들기 df1 = pd.DataFrame({'a': ['a0', 'a1', 'a2', 'a3'],                     'b': ['b0', 'b1', 'b2', 'b3'],                     'c': ['c0', 'c1', 'c2', 'c3']},                     index=[0, 1, 2, 3])  df1df2 = pd.DataFrame({'a': ['a2', 'a3', 'a4', 'a5'],                     'b': ['b2', 'b3', 'b4', 'b5'],                     'c': ['c2', 'c3', 'c4', 'c5'],  ..

6장_데이터프레임의 다양한 응용

Lambda 함수(익명 함수) 쉽게 기억하는 방법Lambda 함수는 "이름 없는 짧은 함수" 라고 생각하면 이해하기 쉽습니다.1. 기본 문법lambda 매개변수: 표현식lambda : 함수 선언 키워드매개변수 : 입력값 (여러 개도 가능)표현식 : 반환할 값 (한 줄로 작성해야 함)기본 함수와 비교하면 이렇게 정리할 수 있어요.# 일반 함수 def add(x, y): return x + y # 같은 기능의 lambda 함수 add_lambda = lambda x, y: x + y ✔ lambda는 return 없이도 결과를 반환합니다.2. 사용 예시 (1) 리스트 정렬에 사용students = [("Alice", 90), ("Bob", 80), ("Charlie", 85)] # 점수를 기준으로 정렬 st..

Matplotlib

# x, y축 데이터를 plot 함수에 입력 plt.plot(sr_one.index, sr_one.values) #sr_one.index는 x축 값(인덱스), sr_one.values는 y축 값(데이터 값)이 된다.[]1. plt.plot(sr_one.index, sr_one.values)plt.plot(sr_one.index, sr_one.values) plt.show()sr_one이 pandas.Series 객체라고 가정하면, sr_one.index는 x축 값(인덱스), sr_one.values는 y축 값(데이터 값)이 된다.따라서 plt.plot(sr_one.index, sr_one.values)는 x축과 y축을 명확히 지정해서 선 그래프를 그린다.plt.show()를 호출하면 그래프만 출력된다.2..

SMALL