연역법 추론과 귀납적 추론의 관계
빅 데이터의 시대에서 많은 데이터를 기반으로 일반화 과정을 거치게 된다. 이 부분으로 인해 귀납적인 방식의 접근법이 강화 되는 것 처럼 보이나, 연역법 추론의 일반화로 부터의 이론과 가설 과정이 있어야지 선순환이 이어진다.
귀납적 방법론
분류 분석 classfication
지도 학습은 답을 정해 놓고 찾아나가는 과정
예측 분석
비지도 학습은 답이 없는 상황에서 찾아나가는 과정
실습 환경 기반 구축
구글 코랩 기반의 파이썬 실습
seaborn 라이브러리 추가
!pip install seaborn
Java
복사
자주 사용하게 될 라이브러리
분포에 대한 시각화
라이브러리의 팁 데이터 로드
‘tips’ 데이터 변수 종류
히스토그램
연속형 변수의 값을 기준으로 구간을 정의한 후, 각 구간에 속한 레코드의 수 막대그래프로 표현
히스토그램 실습1
•
seaborn 라이브러리의 histplot 함수 활용
h1 = sb.histplot(data=tipsData, x='tip', bins=10)
h1.set_xlabel("Tip($)")
Java
복사
[data=tipsData] ‘tipsData’를 데이터로 활용
[x=’tip’] ‘tip’ 구간 정의
[bins = 10] → 막대그래프수 10개
히스토그램 실습2
tipsData['tip_percent'] = (tipsData['tip'] / tipsData['total_bill']) * 100
h2 = sb.histplot(data=tipsData, x='tip_percent', kde=True, bins=20)
h2.set_xlabel("Tip/Total Bill(%)")
Java
복사
kde=true
커널 밀도 함수 추정
boxplot
•
사분위수를 기준으로 상자와 중앙선 표시
•
최댓값, 최솟값, 이상치 등 극닥성 파악가능
b1 = sb.boxplot(x='sex', y='tip', data=tipsData)
b1.set_xlabel("Sex")
b1.set_xlabel("Tip($)")
Java
복사
사분위수(quartile)를 기준으로 상자와 중앙선 표시
최댓값, 최솟값, 이상치등 극단성 파악 가능
바이올린
v1 = sb.violinplot(x='sex', y='tip', data=tipsData)
v1.set_xlabel("Sex")
v1.set_ylabel("Tip($)")
Plain Text
복사
산점도 (sctter plot)
•
서로 다른 두 변수의 값을 촤표로 점으로 표시한다.
•
두 변수의 관계 파악가능??
◦
선형? OR 비선형?
•
seaborn 라이브러리
// relplot 활용해서 두 데이터의 관계 확인하기
s1 = sb.relplot(data=tipsData, x = 'total_bill', y = 'tip')
s1.set_xlabels('Total Bill($)')
s1.set_ylabels('Tip($)')
Java
복사
선형 추세선이 포함된 산점도
lm2=sb.lmplot(data=tipsData, x = 'total_bill', y = 'tip', hue = 'smoker')
lm2.set_xlabels('Total Bill($)')
lm2.set_ylabels('Tip($)')
Java
복사
상관 계수 히트맵
•
연속 변수의 값을 기준으로 상대적인 대소관계를 표현
•
상관 계수 (correlation coefficient)로 관계 표현