파이썬 머신러닝ML20 파이썬 다항회귀 과적합 해결 규제화 Ridge, LASSO 혼자 공부하려고 정리했어요~ sin 곡선을 기반으로 해서 데이터를 만들고 여러 차수를 넣어서 다항회귀를 수행해봤습니다. 차수가 높아질 수록 데이터에 억지로 맞추는듯한 그래프들이 나옵니다. 이런 문제를 과적합 문제라고 합니다. def sin(X): return np.sin(1.5 * np.pi * X) m = 30 np.random.seed(3) X = np.sort(np.random.rand(m)) y = sin(X) + np.random.randn(m) * 0.1 degrees = (1, 4, 18) plt.figure(figsize=(15,5)) for i, degree in enumerate(degrees): poly = PolynomialFeatures(degree=degree, include_b.. 2022. 12. 16. 파이썬 다항회귀(Polynomial Variable Regression)/비선형모델 혼자 공부하려고 정리했어요~ 2차 함수, 3차 함수 등의 비선형의 다항회귀는 어떻게 수식을 찾아낼까요? PolynomialFeatures와 LinearRefression을 활용해서 찾아낼수 있습니다. from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression #데이터 생성 np.random.seed(0) m = 120 X = np.sort(np.random.uniform(-3, 2, (m,1)), axis=0) y = 2*X**2 + 3*X + 5 + np.random.randn(m, 1) # 2x^2 + 3x + 5 + noise print(X.shape, y.shape, X[:.. 2022. 12. 15. 파이썬 경사하강법(Gradient Decent) 선형모델 기울기 구하기 혼자 공부하려고 정리했어요~ 경사하강법은 가설 h (hypothesis) = 가중치(W) * X Cost함수 MSE(Mean Square Error, 평균 제곱 오차법)을 사용하여 최적의 기울기를 찾는 법 입니다. Cost(W) = (1/n) * sum((H(X) - Y)^2) W값을 0.6~3.5로 0.1 (leaning_rate) 간격으로 추정해서 cost를 구했습니다. 여기서 각 지점의 기울기를 구했는데요. Cost(W)를 W로 미분하면 g (Gradient) = @Cost(W)/@W = (2/n)*sum((H(X) - Y)*X) W_t+1 = W_t - g * (leaning_rate) g가 0에 수렴할때까지 학습합니다. 초기 학습되지 않았던 기울기에서 cost가 가장 낮은 지점을 찾아 기울기 값.. 2022. 12. 8. 파이썬 로또 번호 예측 하기 #4 혼자 공부하려고 정리했어요~ 이전 포스팅 링크 참고하세요~! 이번에는 DecisionTreeRegressor를 이용하여 로또 번호를 예측해보겠습니다. 훈련 데이터는 앞서 포스팅한 내용을 참고하세요~ https://gihoni.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A1%9C%EB%98%90-%EB%B2%88%ED%98%B8-%EC%98%88%EC%B8%A1-%ED%95%98%EA%B8%B0-1 파이썬 로또 번호 예측 하기 #1 혼자 공부하려고 정리했어요~ 구글 드리이브에서 .csv 불러오기부터 진행하겠습니다. 회차별 당첨번호 데이터가 있어야 예측할 수 있겠죠?? 동행복권 사이트에서 다운받을 수 있습니다. https://dhl 1.gihooni.com 저번.. 2022. 12. 5. 이전 1 2 3 4 5 다음 반응형