학습 목표
• 상관관계와 상관계수를 이해하고, 이를 시각화된 그래프를 이해한다.
• 데이터 사이의 관계를 파악하는 방법을 배운다.
• 선형뿐만 아니라 비선형 그래프를 해석해본다.
• 다양한 오차의 개념을 이해한다.
들어가며
• 강력한 파이썬 패키지들
• 머신러닝(machine learning)과 관련된 외부 라이브러리, 패키지(package)
• 시각화와 그래픽 라이브러리, 패키지
• 웹(Web) 서비스 개발을 위해서 널리 이용되는 라이브러리, 패키지
1. 상관관계와 상관계수, 시각화
데이터 사이의 관련성
• 키, 몸무게, 연간 소득과 같이 변하는 양을 표현한 것이 변수이며, 두 개의 변수들이 함께 변화하는 관계가 상관관계(correlation)이다. 그리고, 이 변수들 사이의 상관관계의 정도를 나타내는 수치가 상관계수(correlation coefficient)이다.
• 상관관계가 있는 두 변수가 있을 경우 한 값이 증가할 때 다른 값도 증가할 경우 양의
상관관계가 있다고 하며, 반대의 경우 음의 상관관계가 있다고 한다.
0, 상관관계가 낮다
1, 상관관계가 높다
• 한 변수가 다른 변수의 직접적인 원인이 되는 것은 인과관계(causation)
• 두 변수가 서로 영향을 주는 것은 상호관계
상관관계 시각화
• 넘파이의 corrcoef() 함수는 수학적으로 피어슨(Pearson) 상관계수를 계산하는 함수로, corrcoef(x, y)와 같이 x, y를 입력값으로 넣어서 x, y 요소들의 상관관계를 계산한다.
• 아래 코드의 결과는 선현적인 상관관계를 가지는가?
독립변수 x의 값에 따라 y1의 값이 달라진다. y1은 종속변수.
1, 1이 나왔으므로 x, y의 상관도는 매우 높은 것
• 아래 코드들의 결과는 선현적인 상관관계를 가지는가?
-0.05773858 마이너스값
앞에서는 seed값; 초기값이 있었지만 현재는 없다.
선형.
초기값이 없으므로 중구난방으로 찍힌다.
당연히 상관도가 0에 가까운 값이 나오게 된다.
자기와 자기자신은 노란색으로 표시된다.
보라색은 -0.14
그래프를 분석할 줄 알아야 한다.
상관계수와 쌍 그래프
• 상관계수를 r이라고 하고 키와 몸무게와 같은 독립 변수를 각각 x, y 축에 배치 및 시각화
x는 키를 의미하고, 몸무게는 y
1번은 양의 상관관계
2번은 음의 상관관계
4번은 적당하게 0.5에 해당
1번을 해석해보면
한쪽이 증가할 때 다른 한쪽도 증가하고 있는 것
2번은
한쪽이 증가할 때 다른 한쪽은 감소하고 있는 것
3번은
서로 같다. 완벽한 선형모델이라고 볼 수 있다. 요런 데이터는 없습니다. 여러분. 그냥 예시로 보여준 것 뿐이에요.
4번 옆으로 퍼지고 있는 분산
5번 랜덤하게 분산이 표시되고 있으므로 상관 관계가 없다. 따라서 상관계수값은 0으로 표기된다.
6번 전혀 관계가 없는 비선형내용 (이차함수)
선형관계가 없다고 표현한다.
• 시본(seaborn) 라이브러리는 판다스(pandas) 데이터 형식의 자료값을 읽어서 이 데이터의 각 열 간의 상관도를 하나의 그림으로 그려주는 기능이 있는데 이것을 쌍 그래프(pair plot)라고 한다.
독립변수가 여러개 있거나 할 때 쌍으로 보여주는 걸 쌍그래프라고 한다.
• 데이터의 개수를 shape 속성으로 살펴보면, 244개의 데이터 셋이 7개의 속성을 가지고 있음.
인공지능에서는 KDE를 많이 사용한다. 속성값.
• 데이터의 분포를 잘 표현하는 직선이 바로 선형 회귀 직선
tip, size
빨강, 파랑: 연속적
초록: 연속적이지x
인원수는 1명, 2명, 3명 이산적이다. 따라서 연속적이지x
파랑: 팁비율은 요금에 관계없이 일정하다.
• ★ 데이터의 분포와 그에 따른 해석을 작성해보기.
상관계수가 높다, 낮다, 없다, 연속적이다, 불연속적이다
1번 두 변수는 모두 연속적이다, 따라서 상호상관도가 높다.
2번 두 변수는 이산적이다, 한 변수는 이산적이나 다른 변수는 불연속적이다
3번 한 변수는 연속적이고, 두 번째 변수는 상관도가 낮다
★ 비선형 함수, 시각화
1번 상관도가 높다 (선형) + 직교가 된다. (노드들을 직선과 이어서 직각표시) 선에 해당하는 값은 예측값이 되고 선 바깥의 점은 실측값. 실측값에서 예측값을 빼면 오차라고 하며, 엡실론이라고 한다. Ε, ε
음수, 양수가 나오므로 절댓값을 붙여서 다 더해준 값이 순수 오차값이 된다. 그러나 마이너스로 치우쳤는지 플러스로 치우쳤는지 알 수 없다는 단점이 있다.
2번 비선형이다, 틀린 것
3번 2차, 비선형구조.
1)
이상치 (혼자 멀리 떨어진 값)
어떤 것이 오차값이 더 큰지는 알 수 없다.
그러나 선형회귀로 해서 오차가 생겼다.
두 번째와 같이 나타내면 오차가 하나밖에 없게 된다.
작은 오차값은 포기한다.
이런 경우를 왜곡문제라고 한다.
두 번째 경우를 강인한 모델이라고 표현한다. Robust
강인하다는 것은 이상치에 조금 덜 민감하다는 것을 의미한다.
2)
연도가 늘어날수록 꾸준히 증가하고 있다.
1번은 산점도 표현
2번은 파이썬을 이용한 시각화 표기
어떤 게 더 보기 좋죠?
2번이에요.
1번가지고 해석하기 조금 애매하죠
2번을 기울기로 보고 해석해보세요.
1954년부터 1956년도 까지 기울기가 가파르죠.
1957년부터 1958년까지 기울기가 완만하죠.
Matplotlib을 이용해서 그래프를 만드는 방식도 경우에 따라 선택하는 것이다.
이렇게 해석할 수도 있다는 것을 보여주기 위해 가져왔습니다. (2)
2. 가설의 정확도를 평가하는 오차
가설의 정확도를 평가하는 오차
• 세 개의 직선 중에 어느것이 가장 나은가요? 3
오차 함수의 필요성
• '더 나은' 선형방정식(혹은 '더 좋은' 가설)은 너무나 주관적인 표현 → 정량화 필요
✓ 오차의 합을 그대로 사용하지 않고 별도의 오차함수를 사용하는 이유
✓실제값이 {1, 2, 3}이고 예측값이 {1, 4, 1}로 나타난다면?
선형 회귀 모델의 성능을 평가하는 척도
3번째 식은 분산을 나타낸다. (R-square)
MAE vs MSE
3. 요약 – 쌍그래프 해석 및 평가 척도
학습한 내용을 요약해보기
1. 상관계수
2. 쌍그래프 해석
3. 비선형 함수
4. 오차에 대한 해석
5. 선형회귀 평가척도 MAE, MSE
y (실측값) = 1 3 9 5 10y' (예측값) = 1 2 4 8 16
Test ★ MSE와 MAE 값을 구해보시오.
MAE -> 15/5 = 3
0+1+25+9+36/5 = 71/5 ------- { (0+(-1)^2+(-5)^2+3^2+6^2)/5}
값이 높으면 높을수록 성능이 낮다고 해석하면 된다.
풀이과정이 보여야 한다.
'Artificial Intelligence > AI' 카테고리의 다른 글
Ⅶ 다중 회귀, 실습 (0) | 2024.04.03 |
---|---|
Ⅵ 검색을 통한 문제해결 (0) | 2024.04.01 |
Ⅴ 경사하강법과 학습의 원리 (0) | 2024.03.27 |
Ⅳ 사이킷런과 선형회귀, 실습 (0) | 2024.03.25 |
Ⅰ인공지능 소개 및 역사 (0) | 2024.03.11 |