본문 바로가기

카테고리 없음

[패스트캠퍼스 수강 후기] 데이터분석 인강 100% 환급 챌린지 42회차 미션

05. Part 2. 01. ch 00. 강의 소개 영상 - 01. 오리엔테이션 - 03. ch 01. EDA & 회귀 번석 - 02. EDA를 통한 인사이트 발견 실습

01. ch 00. 강의 소개 영상 - 01. 오리엔테이션

EDA(Exploratory data analysis) : 탐색적 데이터 분석

데이터 분석
데이터로 할 수 있는 모든 것들

분석의 목적, 분야에 따라 여러 가지의 기술들이 필요

모든 데이터 분석의 공통점
1. 목표에 대한 문제 정의
2. 문제 해결에 필요한 탐색적 데이터 분석
3. 목표에 맞는 분석 기법 적용
- 회귀 분석
- 딥 러닝
- 수학 기법 적용
- 데이터 시각화


02. ch 01. EDA & 회귀 번석 - 01. 데이터 분석 문제를 정의하는 방식과


%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

import warnings
warnings.filterwarnings("ignore")


df = pd.read_csv("https://raw.githubusercontent.com/yoonkt200/FastCampusDataset/master/BostonHousing2.csv")

df.shape 어떤 값 갖고 있는지

df.isnull().sum() 결측값 찾기.

df.info()

'CMEDV' 피처 탐색

df['CMEDV'].describe()

df['CMEDV'].hist(bins=50)

df.boxplot(column=['CMEDV'])


2-2) 회귀 분석 설명 변수 탐색

설명 변수들의 분포 탐색
이 변수로 인해 집값이 어떻게 바뀌느냐

numerical_columns = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT'] 어떤 feature 보여줄지 정의
fig = plt.figure(figsize=(16.20))
ax = fig.gca() 크기 정하기

df[numerical_columns].hist(ax=ax)
plt.show()


설명 변수들의 상관관계 탐색


cols = ['CMEDV', 'CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT']
corr = df[cols].corr(method='pearson')

pearson을 활용하여 변수들 1:1로 매칭

corr

fig=plt.figure(figsize = (16, 20)) 사이즈
ax = fig.gca()

sns.set(font_scale=1.5)
hm = sns.heatmap(corr.values, annot=True, fmt='.2f', annot_kws={'size': 15}, yticklabels=cols, xticklabels=cols, ax=ax)
히트맵 쓸 때 폰트 작아질 수 있어 폰트설정. 소수점 두번째까지 출력.
plt.tight_layout()
plt.show()

CMEDV와 높은 상관관계를 갖는 것?

1에 가까워지면 양의 상관관계, -1에 가까워지면 음의 상관관계 0에 가까워지면 상관관계가 많이 없다.


RM, LSTAT와 높은 상관관계 있음


설명 변수와 종속 변수의 관계 탐색

plt.plot('RM', 'CMEDV', data=df, linestyle='none', marker='o', markersize=5, color='blue', alpha=0.5)
plt.title("Scatter plot")
plt.xlabel("RM")
plt.ylabel("CM")
plt.show()

높은 상관관계 가지는 것과 우리가 궁금한 것의 더 구체적인 상관관계를 알기 위해 (RM 방의 개수)

plt.plot('LSTAT', 'CMEDV', data=df, linestyle='none', marker='o', markersize=5, color='blue', alpha=0.5)
plt.title("Scatter plot")
plt.xlabel("LSTAT")
plt.ylabel("CM")
plt.show()

LSTAT 빈곤층의 비율

지역별 차이 탐색

df['TOWN'].value_counts() 몇 개의 값을 갖고 있는

df['TOWN'].value_counts().hist(bins=50) 그것을 히스토그램으로 출력 bins : 구간의 갯수 0-10개정도의 부동산데이터 포인트

어느 정도의 분포를 갖고 있는지 비교.

지역마다
fig=plt.figure(figsize = (12, 20))
ax = fig.gca()

sns.boxplot(x='CMEDV', y='TOWN', data=df, ax=ax)


지역과 범죄율에 따라

fig=plt.figure(figsize = (12, 20))
ax = fig.gca()

sns.boxplot(x='CRIM', y='TOWN', data=df, ax=ax)




패스트캠퍼스 데이터분석 강의 링크
bit.ly/3imy2uN