공부/ABC 부트캠프

ABC 부트캠프 19일차

내가짱이야내가짱이야 2023. 4. 6. 16:48

부-하

 

오늘도 새로운 하루가 시작됐습니다.

벌써 19일차인거,,, 충격실화.

 

오늘 부트캠프에 새로운 친구들이 많이 들어왔어요 ~~!

냐미~~~!

사실 찰떡파이라는 친구들도 들어왔는데

들어온지 오분도 안되서

모두 사라지고 말았답니다....

 

 

 

수업 시작~!

 

머신러닝과 딥러닝의 차이점은

특징을 사람이 짜는냐 스스로 프로그램이 짜느냐 에 다른것인데요

머신러닝이 사람이 짭니다,,,^^

 

wave 데이터셋을 이용해 이웃이 하나인 최근접 이웃을 확인해본거에용,,

만약 이웃이 셋이라면?

 

 

이건 조금 어려울수있는데

R^2라는 친구는 1이 가까울 수록 정확하다고 합니다.

한번 볼까용??

0.83이라니..

얼추 맞는 것 같네용.

 

제가 무언가 알아봤습니다.

 

# 파이썬 시각화 패키지 불러오기
import matplotlib.pyplot as plt
%matplotlib inline


# 사용자 운영체제 확인
import platform
platform.system()
# 운영체제별 한글 폰트 설정
if platform.system() == 'Darwin': # Mac 환경 폰트 설정
    plt.rc('font', family='AppleGothic')
elif platform.system() == 'Windows': # Windows 환경 폰트 설정
    plt.rc('font', family='Malgun Gothic')

plt.rc('axes', unicode_minus=False) # 마이너스 폰트 설정


# 글씨 선명하게 출력하는 설정
%config InlineBackend.figure_format = 'retina'

이렇게 하면 한글이 안깨지고 불러와지네요 대박~~!

(출처 : https://velog.io/@seonj102/jupyter-notebook-%EA%B7%B8%EB%9E%98%ED%94%84-%ED%95%9C%EA%B8%80-%ED%8F%B0%ED%8A%B8-%EC%84%A4%EC%A0%95 )

 

jupyter notebook - 그래프 한글 폰트 설정

주피터 노트북에서 그래프 그릴 때 운영체제에 따라 한글 폰트를 다르게 설정하는 방법 - 한글 깨짐 현상 해결

velog.io

 

 

선형 모델은

100여년 전에 개발되었구, 현재도 널리 쓰리고 있어용

 

회귀의 선형 모델의 일반적 예측 함수는..

이거입니다... ㅎㅎ.

 

 

선형 회귀란

예측과 훈련 세트에 있는 타킷 y 사이의 평균제곱오차를 최소화하는 파라미터 w, b를 찾는 것이 목표입니다.

 

 

릿지(Ridge) 회귀란

최소적합법에서 사용한 것과 같은 예측 함수를 사용하게 되는데

Ridge는 모델을 단순하게 해주고 훈련세트에 대한 성능 차이를 절충할 수 있는 방법을 찾아야 합니다.

 

매개변수의 기본값이 alpha인데

alpha =1.0이 기본값입니다.

 

alpha값을 높이면 계수를 0에 더 가깝게 만들어서 훈련 세트의 성능은 나빠지지만 일반화에는 도움을 줄 수 있습니다~~!

 

alpha 값 ↓ = 그래프 오른쪽으로 감(과대적합쪽)

alpha 값 ↑ = 그래프 왼쪽으로 감(과소적합쪽)

 

 

 

긁적..

수많은 그래프를 보며

생각난 건

 

뭔가 학과수업 같은 느낌입니다..

종강할 때 쯤 이해갈 것 같은 이느낌...

 

 

학습곡선이라고 데이터 셋 크기에 따른 모델의 성능 변화 그래프가 있습니당.

둘다 훈련 세트가 테스트 세트보다 점수가 높습니당.

데이터 셋이 적을 경우 더 크게 차이나는 걸 확인할 수 있습니다.

 

 

라쏘는

선형 회귀에 규제를 적용하는 또 다른 방법으로

릿지 회귀와 같이 계수를 0에 가깝게 해서 규제하는 방식입니다.

 

만약에 계수를 0으로 만들어버리면 모델에서 완전히 제외되며 별로 필요없는

친구들을 없애고 중요한 특성을 파악하기 쉽게 만들어줍니다~~!

 

 

 

점심시간~~~!!

오늘은 부리또였습니당 ^^

부리또 먹고 만든 곰..

 

귀랑 손이랑 다리도 만들어 주었습니다 ^^

 

그리고 또 찾아온 아이스크림 타임~~~!

오늘은 두번째로 이긴사람이 하기로 했는데,,

재은이가 두번째로 이겼네용

 

아 빠삐코 맛있다

 

그리고 점심시간동안

게임을 했습니다. ^^

 

 

수업 고.

 

 

 

라쏘랑 릿지를 대결시켜봅시다.

 

Lasso vs Ridge

라쏘는 alpha를 0으로 만들면 없앨수있다는 것으로 일부분만 중요할 때 사용할 수 있어용.

그외에는 보통 릿지 씁니다 ^^

 

그런데 라쏘와 릿지를 결합한 Scikit-lean이 있다지 뭐에용,,,, 와..

 

 

이진 분류란

분류에 널리 사용되는 선형모델로 선, 평면, 초평면을 사용해서 두개의 클래스를 구분하는 분류기 입니다~!

 

 

이친구는 C인데

얘는 alpha랑 반대에용 그걸 기억하시길......

 

공부하면서 느끼는건데

생각보다 더 어렵네용,,

주신 pdf파일 집가면서 천천히 읽어봐야겠어용,,,,,

책을 가져갈까 생각했는데

무거워서 pdf 읽어야징

 

그런데 pdf가 좀 오류가 많아서

책을 가져가야할 것같은데,,,,일단 오늘만 pdf 가져가고,

내일 더 필요하다면 책을 가져가야조 머.. ㅎㅎ 어쩌피 내일 금요일이라 ><

 

 

다중 클래스 분류용 선형 모델을 해볼껀데

로지스틱 회귀를 제외하고는 선형 분류 모델은 이진 분류만 지원한다고 합니다.

우리 다중이는 어디로 가죠,,?

 

 

정규분포를 따르는 각 클라스의 데이터입니다.

약간 스타크래프트 같은느낌...

 

 

선형 모델은 빠른 학습 속도와 예측 속도를 가지고

매우 큰 데이터셋과 희소한 데이터셋에서도 잘 작동합니다.

 

장단점도 있어요 ㅋㅋ 

장점은 공간을 사용해서 예측과정을 쉽게 이해할 수 있는데

특성들간에 연관이 있으면 분석이 어렵대용.....

 

샘플에 비해 특성이 많을 때 적합한 모델이라고 합니다.

 

이건 좀 간지나게 잘나와서 보여드릴게요 하하

 

오늘 수업도 참 알차고 좋네요

그럼 안녕~