컴공생 누르지 마세요! 컴공생 울어요.
[ML] HA1 part1 (1) Linear Regression with Startup dataset 본문
📢 학교 수업에서 수행한 과제입니다.
HA1 part1은 Linear Regression, Logistice Regression, GDA를 이용한 practice이다.
이번 게시글에서는 startup dataset을 이용한 Linear Regression을 수행할 것이다.
0. 실행 환경
구글에서 제공하는 jupyter notebook인 구글 코랩을 이용하여 코드를 작성 및 실행하였다.
런타임 설정은 none으로, gpu를 사용하지 않아도 충분하다.
전체 코드는 다음 코랩 노트북을 참고하라.
https://colab.research.google.com/drive/1H7jp0YL4kWRYWgrkG9AS0t_p2TPatNWX?usp=sharing
HA1_part1.ipynb
Colaboratory notebook
colab.research.google.com
1. Linear regression with Startup dataset
우선 다음 명령어를 수행하여 startups.csv 데이터셋을 가져온다.
!wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1IejcELv6fntdfsoVVU0TZdAC8VI1m9qi' -O startups.csv
가져온 데이터셋의 overview를 확인해보자.
import pandas as pd
df = pd.read_csv('startups.csv')
df.head()
startups.csv가 다음과 같은 5개의 feature로 이루어진 것을 볼 수 있다.
이제 data를 visualize해보자.
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1,4, figsize=(20,5))
ax[0].scatter(df['R&D Spend'], df['Administration'])
ax[0].set_title('R&D Spend vs Administration')
ax[1].scatter(df['R&D Spend'], df['Marketing Spend'])
ax[1].set_title('R&D Spend vs Marketing Spend')
ax[2].scatter(df['Administration'], df['Marketing Spend'])
ax[2].set_title('Administration vs Marketing Spend')
ax[3].scatter(df['R&D Spend'], df['Profit'])
ax[3].set_title('R&D Spend vs Profit')
이제 Linear Regresson을 이용해서 x (R&D Spend)와 y (Profit)에 대해 function을 fit해보자.
# use numpy
import numpy as np
from sklearn.linear_model import LinearRegression
X = np.array(df['R&D Spend'])
y = np.array(df['Profit'])
# fitting by using Linear Regression
line_fitter = LinearRegression()
line_fitter.fit(X.reshape(-1, 1), y)
# perform prediction
y_pred = line_fitter.predict(X.reshape(-1, 1))
coefficients와 bias는 다음과 같다.
print('Coefficients: ', line_fitter.coef_)
print('Bias: ', line_fitter.intercept_)
이제 given data points에 대해 fitted line을 plot 해볼 것이다.
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='orange')
plt.show
우리의 function이 x (R&D Spend)와 y (Profit)에 대해 잘 fit된 것을 확인할 수 있다.
'STUDY > 기계학습' 카테고리의 다른 글
[ML] HA2 part1 (1) Decision trees with Breast cancer dataset (1) | 2022.12.19 |
---|---|
[ML] HA1 part2 Support vector machines with Iris dataset (0) | 2022.12.19 |
[ML] HA1 part1 (3) Gaussian discriminant analysis (Gaussian Naive Bayes) with iris dataset (0) | 2022.12.19 |
[ML] HA1 part1 (2) Logistic regression with Titanic dataset (0) | 2022.12.19 |
[ML] Machine Learning Lab Practice Archiving (0) | 2022.12.19 |