본문 바로가기
카테고리 없음

[Python] 머신러닝 - 지도학습(회귀분석)2

by byeolsub 2023. 4. 26.
'''
 단순 회귀분석 : 독립변수, 종속변수가 한개인 경우
   단항 : 1차 함수
   다항 : 다차원 함수
   
 다중 회귀분석 : 독립변수가 여러개, 종속변수는 한개
   Y=ax1 + ax2 + ....anXn + b
   
'''

📌

# 독립변수, 종속변수 선택
X = ndf[['cylinders','horsepower','weight']] # 독립변수
Y = ndf["mpg"] # 종속변수
X.info() 

# 데이터 훈련/ 테스트데이터 분리
X_train, X_test, Y_train, Y_test =\\
    train_test_split(X,Y,test_size=0.3,random_state=10)
    
# 알고리즘 선택 : 선형 회귀분석
from sklearn.linear_model import LinearRegression
lr = LinearRegression()

# 학습하기
lr.fit(X_train, Y_train) 

# 예측하기
y_hat = lr.predic(X)

# 평가하기
r_square = lr.score(X,Y)
r_square

# 그래프
plt.figure(figsize=(10,5))
ax1 = sns.kdeplot(Y, label="Y")
ax2 = sns.kdeplot(y_hat, label="y_hat", ax=ax1)
plt.legend()
plt.show()

 


 📌

###
# 단순 회귀분석의 간단한 예시
# 독립변수 1개, 종속변수 1개
x = [[10],[5],[9],[7]]
y = [100,50,88,75]
model = LinearRegression()
model.fit(x,y)

result = model.predict([[7],[8],[4],[6]])
result

# 다중 회귀분석의 간단한 예시
# 독립변수가 2개, 종속변수가 1개
x = [[10,3],[5,2],[9,3],[7,2]]
y = [100,50,88,80]
model = LinearRegression()
model.fit(x,y)
result = model.predict([[7,3],[8,2],[4,3],[6,3]])
result