본문 바로가기

cs,코딩,알고리즘/생활코딩(머신러닝기초)

#1. Orange3 지도학습(1)

728x90

1. 앞부분 복습

과거 원인과 결과에 따른 데이터를 가지고 컴퓨터를 학습시키는 거는 지도학습.(이때 종속변수가 양적, 범주형(후보가 유한)이어야해)

많은 양의 독립변수와 종속변수 데이터를 컴퓨터에 학습시키면 컴퓨터는 모델을 만들어내. 그 모델에 미래 독립변수를 넣으면 예측해서 종속변수가 나오는 거임

추가로 종속변수가 양적이냐 범주형이냐에 따라 학습의 방법이 달라. 양적은 회귀의 방법을, 범주형은 분류의 방법으로. 

->데이터에 따라 좋은 모델을 만들 수 있는 방법도 여러개고 학습방법에 따라서도 모델의 성능이 가지각색임.

 

2. 지도학습의 기본방법

기본 세팅: 오픈시간 요일은 안볼거니까 skip, 판매시간은 참고할 거니까 meta// 독립변수인 온도는 feature, 종속변수인 판매량은 target

Linear regression의 학습방법으로 모델을 만들고, 독립변수와 참고하고 싶은 (날짜만 있는) 데이터를 불러오면 됨

그리고 prediction을 이용해서 독립변수에 따른 종속변수 예측값을 구할 수 있음

이때 prediction은 모델과 예측하고 싶은 데이터를 필요로 한다

=>결국 학습시기기 위해서 필요한 가장 기본적인 골격은 1. 학습시키려는 데이터가 있어야해(원과 결과로 나눠져 있어야해) 2. 그 데이터로 만들어진 모델에 예측하고 싶은 데이터를 넣으면 예측된 결과가 나옴. 그 결과를 통해 의사결정을 할 수 있음

 

확실히 오렌지는 그림이 그려져 있어서 시각적으로 보기가 너무 편하다. 

3-1. 보다 현실적인 사례

대충 변수간 관계를 컴퓨터가 지어서 공식을 만들었다...는 애기

3-2. 경쟁시키기(컴퓨터의 학습방법을 선택하기 위해)

원리를 오렌지3로 이해해보자!

=>file에 저 boston-housing price 업로드하고 Linear Regression(종속변수가 숫자형이므로!!!! )를 통해 원인변수와 종속변수간 관계를 학습시켜 모델로 만들고 모델과 예측하고 싶은 원인데이터를 prediction으로 연결!!

이때 테스트용(비교하기 위함)임으로 prediction에 원인 데이터만 모아놓은 거 대신에 그냥 원래 file에 연결!! 이때 prediction을 보니 차이가 좀 난다는 것을 알 수 있음

두번째 학습방법인 Neural Network를 사용

비교해보니 오차값이 확연히 줄었다!!(도중에 셋팅을 이리저리했는데 그건 중요하지 않다고,, 핵심은 학습방법을 비교하는거라고 하셔서 과감히 패쓰..허허)

그러면 다른 학습방법들은 어떨까라는 의문이...든당

이거저거 다 연결...ㅋㅋㅋㅋㅋㅋㅋ 와중에 안되는 것도 있나보당..

근데 성능 좋은 걸(차이를 적게 내는 예측 모델) 찾는게 또 어려울 거 같기도...

3-3. 평가하기

아래에 있는 표가 모델의 정확도를 나타내는 지표라고 함!

저 표의 원리는 '오차 제곱의 평균 MSE(Mean Squared Error)이 작을 수록 좋다!'임

결국 어떤 모델을 사용할지 비교하고 평가하기 위한 지표는 (R)MSE임.

3-4. 공정하게 평가하기

지금가지 배운 것 : 독립변수와 종속변수를 가지고 컴퓨터에게 학습시키고 그걸 바탕으로 모델을 만들면 이후에 원인 변수를 가지고 결과 변수를 예측하게 됨

=>이때 우리가 만든 모델이 얼마나 잘 작동하는지 보려면, 원본의 결과와 모델을 통해 예측된 경과를 비교하면 된다는것

근데 문제는 Train data를 가지고 모델을 만들고 그 값으로 예측을 했었기에.... 제대로된 test를 하기 위해서는 test data를 가지고 예측값을 을 측정해야지(train data로는 모델을 만들고)

 

 

=>각각의 학습방법을 모르는데도 비교,평가를 통해 최적의 학습방법을 찾아 가장 좋은 모델을 뽑아낼 수 있는 틀을 알게 됬다고 해야하낭

겁쟁이한테는 진입장벽 낮은 거부터 시작해서 이해시키는게 맞는거 같다하하