일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- useEffect
- 백준
- 구조분해할당
- 혼자공부하는머신러닝
- 리액트
- 혼자공부하는머신러닝딥러닝
- 혼공챌린지
- styledcomonents
- typeScript
- 혼공머신
- axios
- clipboardapi
- REACT
- 딥러닝
- reactmemo
- 머신러닝
- 유니티 #게임개발
- 타입스크립트
- 혼공단
- 백준 #코딩테스트 #코테 #알고리즘
- error맛집
- 코딩테스트
- CSS
- 초기값 설정하기
- 알고리즘
- 백준 #코딩테스트
- Redux
- 에러해결방안
- js
- TS
- Today
- Total
좌충우돌 개발자의 길
7강 : 선형회귀 본문
최근접 이웃의 문제점 : 50cm-1kg 농어를 1.5kg 이 아닌 1kg으로 판단한다??
→ 위 그래프 : 다이아몬드가 이웃인데 아래 그래프인 이웃으로만 나타낸 그래프를 보면 길이가 차이가 나도 이웃들로 판단하기 때문에 정확한 값이 예측되지 않음
선형회귀
- 위의 문제를 해결할 수 있는 방법
→ 세번째 직선이 가장 좋은 직선
선형회귀 - 사이킷런에서 사용법
→ y = ax +b 꼴의 직선 방정식으로 이루어짐
→ from sklearn.linear_model import LinerRegression을 이용해 불러옴
→ ls.coef_ 처럼 _ 를 사용하는 이유 :
사이킷런에서는 학습한 어떤 데이터들을 저장시, 다른 속성과 구분하기 위해 사용 ⇒ 아 이 모델은 내가 작성한 것이 아닌 어떤 학습을 해서 나온 데이터구나
→ coef, intercept : 각각 x절편(==a), y절편(==b)
학습한 직선 그리기
→ 그래프 : 늘어나는 길이와 무게 데이터의 추세를 잘 접근하고 있다는 것을 알 수 있음
→ 하지만, 음수가 나오는 구간이 있기에 이차방정식으로 이 부분을 해결해야함
→ score 구한 값들 보면 위아래 두개는 과대적합이고 최근접과 첫번째 score 비교했을 때는 과소적합되었다.
다항 회귀
- 위 그래프 해결방안
- 길이를 제곱한 항이 훈련세트에 적용해야 이차방정식이 만들어짐
→ 제곱한 것과 안제곱한 것을 붙이는 방법 : column_stack
→ 결과 : 1573g으로 더 근접하게 나왔음
학습한 직선 그리기
- 직선의 그래프를 잘게 잘라서 합치면 곡선처럼 그래프가 나옴 (15~49까지 잘게 잘라 붙여줌)
- 앞선 그래프에서 구한 a b c 들을 이용해 이차방정식 그래프를 그림
- 농어의 길이와 무게를 넣은 값을 삼각형으로 그래프에 표기함
→ 결과 : 0.970 0.977 로 전보다 R제곱이 올라갔지만 과소적합되어 있어 이 문제를 해결해야한다.
→ 주의점 : 이번 문제는 length 하나만 다루고 있기에 그래프로 확인하면서 조절할 수 있었지만 여러 데이터를 한번에 다루어야할 때는 score의 값을 보면서 고치고 다른 알고리즘으로 만든 score값과 상대적으로 비교해가며 최적의 알고리즘을 찾아야한다.
'STUDYING > 머신러닝&딥러닝' 카테고리의 다른 글
[WEEK2] 혼자서 공부하는 머신러닝 + 딥러닝 2주차 (0) | 2021.07.19 |
---|---|
8강 : 특성 공학과 규제 (0) | 2021.07.18 |
6강 : k-최근접 이웃 회귀 (0) | 2021.07.14 |
5강 : 데이터 전처리 (0) | 2021.07.14 |
4강 : 훈련 세트와 테스트 세트 (0) | 2021.07.14 |