네이버 부스트 코스 AI관련 부분을 제대로 공부 하고 싶어서
어느정도 코드 구현하는 연습을 해보고 들으면 좋겠다고 생각해서 듣게 되었다.
프로그램 작성하지 않고 컴퓨터가 스스로 학습하는 걸 의미
훈련 데이터를 통해 학습을 하고 모델을 만든다(함수를 만드는거!)
새로운 데이터를 넣었을때 예측하게 된다!
2시간 - 22점
4시간 - 42점
6시간 - 58점
8시간 78점
10시간 100점
-> 9시간일때는 ?? => 그래프를 그려서 직선을 그린뒤 이 직선에 맞는 수가 예측됨
변수들간의 상관관계를 찾는것
-> 연속적인 데이터로 결과를 예측
-> 숫자일때!
ex) 몸구게 , 스마트폰 가격, 근속연숙에 따른 임금
각각의 영화에 좋아요 나빠요 적혀있다
감독,출연배우, 장르,국가 등에 따라 다양하게 결정됨
=> 여기서 코믹과 폭력석으로만 재미 결정하기!!
이 두가지로 그래프를 만듬
영화 G가 폭력성과 코믹성이 높은 그룹에 속한다면 -> 재미있는 영화!
주어진 데이터를 정해진 카테고리에 따라 분류
예측결과가 숫자가 아닐때 사용!!
ex) 스팸 메일인지 필터링, 시험 합격여부, 재활용 분리수거 품목, 악성종양 여부
공부시간 -> independent variable (원인), x 혹은 feature
시험 점수 - dependent variable(결과), y 혹은. target,label이라고 함
최적의 직선은 어떻게? -> 점에서 선까지의 거리를 구하기!
실제값과 예측값 차이의 제곱의 합을 최소화!
sum(y - y1) ** 2
y = mx + b 형태임 -> m은 기울지 b는 y절편
여기서는 Jupyter Notebook을 사용해서 코드를 썼다.
!pip install scikit-learn --user --upgrade
# sklearn 버전 업데이트!-> 버전 오류 방지 위해
import matplotlib.pyplot as plt # 데이터 시각화
import pandas as pd # 데이터 가공
from sklearn.linear_model import LinearRegression
dataset = pd.read_csv('LinearRegressionData.csv')
dataset.head()
# 5개의 row 데이터를 먼저 읽어봄으로써 정확하게 들어갔는지 확인
X= dataset.iloc[:,:-1].values #전체 row에 column은 맨 처음꺼만
Y = dataset.iloc[:,-1].values
# 전체 row에 대해서 마지막 column만
reg = LinearRegression()
reg.fit(X,Y)
y_pred = reg.predict(x) # x에대한 예측값
plt.scatter(X,Y,color='blue') # 점으로 표현
plt.plot(X,y_pred, color='green') # 선으로 표현
plt.title('Score by hours')#제목
plt.xlabel('hours')
plt.ylabel('score')
plt.show()
reg.coef_ # 기울기 (m)
reg.intercept_ # y절편![](https://velog.velcdn.com/images/rudgus/post/d151d263-5885-4dbb-8bce-4370f1aacbc2/image.png)
fit에서
iloc => integer location의 약어로, 컴퓨터가 읽을 수 있는 indexing 값으로 데이터에 접근하는 것이다.
sum(실제y값 - 예측값)^2 이 최소가 되게 만드는 것을 학습이라고 한다