250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- AB테스트
- DATE_SUB
- 아티클스터디
- 데이터시각화
- 선형회귀
- 통계학
- 이중for문
- 프로그래머스
- 시각화
- 데이터전처리
- Join
- 한줄for문
- python
- Set
- 내배캠_학습기록
- map
- 태블로
- Til
- SQL
- f-string
- Leetcode
- 반복문
- 내일배움캠프
- 가설검정
- ★
- SQLD
- 리스트
- 다중공선성
- Max
- 내일배움일지
Archives
- Today
- Total
노력에는 지름길이 없으니까요
4.4 다항회귀, 스플라인 회귀 본문
728x90
☑️ 다항회귀
- 독립 변수와 종속 변수 간의 관계가 선형이 아닐 때 사용. 독립 변수의 다항식을 사용하여 종속 변수를 예측.
- 데이터가 곡선적 경향을 따를 때 사용합니다.
- 비선형 관계를 모델링할 수 있습니다.
- 고차 다항식의 경우 과적합(overfitting) 위험이 있습니다.
☑️ 스플라인 회귀
- 독립 변수의 구간별로 다른 회귀식을 적용하여 복잡한 관계를 모델링
- 구간마다 다른 다항식을 사용하여 전체적으로 매끄러운 곡선을 생성합니다.
- 데이터가 국부적으로 다른 패턴을 보일 때 사용합니다.
- 복잡한 비선형 관계를 유연하게 모델링할 수 있습니다.
- 적절한 매듭점(knots)의 선택이 중요합니다.
☑️ 독립변수와 종속변수의 관계가 비선형 관계일 때 사용
- 주택 가격 예측(면적과 가격 간의 비선형 관계)
from sklearn.preprocessing import PolynomialFeatures
# 예시 데이터 생성
np.random.seed(0)
X = 2 - 3 * np.random.normal(0, 1, 100)
y = X - 2 * (X ** 2) + np.random.normal(-3, 3, 100)
X = X[:, np.newaxis]
# 다항 회귀 (2차)
polynomial_features = PolynomialFeatures(degree=2)
X_poly = polynomial_features.fit_transform(X)
model = LinearRegression()
model.fit(X_poly, y)
y_poly_pred = model.predict(X_poly)
# 모델 평가
mse = mean_squared_error(y, y_poly_pred)
r2 = r2_score(y, y_poly_pred)
print("평균 제곱 오차(MSE):", mse)
print("결정 계수(R2):", r2)
# 시각화
plt.scatter(X, y, s=10)
# 정렬된 X 값에 따른 y 값 예측
sorted_zip = sorted(zip(X, y_poly_pred))
X, y_poly_pred = zip(*sorted_zip)
plt.plot(X, y_poly_pred, color='m')
plt.title('polynomial regerssion')
plt.xlabel('area')
plt.ylabel('price')
plt.show()
> 평균 제곱 오차(MSE): 9.447441952450275 결정 계수(R2): 0.9898873384220381
728x90
반응형
'통계학' 카테고리의 다른 글
5.2 비모수 상관계수 (0) | 2024.08.05 |
---|---|
5.1 피어슨 상관계수 (0) | 2024.08.05 |
4.3 범주형 변수 (0) | 2024.08.05 |
4.2 다중선형회귀 (0) | 2024.08.05 |
다중공선성이란? (0) | 2024.08.05 |