본문 바로가기

전체 글275

[머신러닝] 회귀 모델 (Regression Models) 2 ElasticNet Elastic Net 회귀모형은 가중치의 절대값의 합(L1)과 제곱합(L2)을 동시에 제약 조건으로 가지는 모형입니다. 주요 hyperparameter alpha: 규제 계수 l1_ratio (default=0.5) l1_ratio = 0 (L2 규제만 사용). l1_ratio = 1 (L1 규제만 사용). 0 < l1_ratio < 1 (L1 and L2 규제의 혼합사용) ElasticNet 속성에 l1_ratio에 0.2를 주면 L1 규제 20%, L2 규제 80% 적용한다는 의미이고, l1_ratio에 0.8를 주면 L1 규제 80%, L2 규제 20% 적용한다는 의미입니다. from sklearn.linear_model import ElasticNet alpha = 0.01 #.. 2022. 4. 16.
[머신러닝] 회귀 모델 (Regression Models) 1 회귀 모델 (Regression Models) 모델별 성능 확인을 위한 함수 import matplotlib.pyplot as plt import seaborn as sns import numpy as np from sklearn.metrics import mean_squared_error from IPython.display import Image np.set_printoptions(suppress=True, precision=3) my_predictions = {} my_pred = None my_actual = None my_name = None colors = ['r', 'c', 'm', 'y', 'k', 'khaki', 'teal', 'orchid', 'sandybrown', 'greenyell.. 2022. 4. 16.
[머신러닝] 경사하강법 (Gradient Descent) 2 샘플에 활용할 데이터 셋 만들기 from IPython.display import Image import numpy as np import matplotlib.pyplot as plt def make_linear(w=0.5, b=0.8, size=50, noise=1.0): # 노이즈 거의 없음 x = np.random.rand(size) y = w * x + b noise = np.random.uniform(-abs(noise), abs(noise), size=y.shape) yy = y + noise plt.figure(figsize=(10, 7)) plt.plot(x, y, color='r', label=f'y = {w}*x + {b}') plt.scatter(x, yy, label='data') .. 2022. 4. 16.
[머신러닝] 경사하강법 (Gradient Descent) 1 경사하강법 (Gradient Descent) 딥러닝의 가장 기본이 되는 알고리즘 기본 개념은 함수의 기울기(경사)를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복시키는 것입니다. 비용 함수 (Cost Function 혹은 Loss Function)를 최소화하기 위해 반복해서 파라미터를 업데이트 해 나가는 방식입니다. 오차(Error) 정의 Loss Function 혹은 Cost Function을 정의 합니다. Loss (Cost) Function은 예측값인 y_hat과 y의 차이에 제곱으로 정의합니다. 제곱은 오차에 대한 음수 값을 허용하지 않으며, 이는 Mean Squared Error(MSE)인 평균 제곱 오차 평가 지표와 관련 있습니다. # MSE 함수를 그대로 파이썬 코드로.. 2022. 4. 16.
[머신러닝] 최소제곱법을 활용한 LinearRegression 학생들과 성적의 관계 학생들마다 다 다양한 성적 분포를 가지는데...여기에 어떤 연관이 있는지 알아내고그 연관 관계를 이용해서 결국에는 특정학생의 성적을 예측해보자.학생들의 기말고사 성적은 [ ]에 따라 다르다. [ ]안에 시험성적을 좌우할 만한 요소들로 무엇이 있을까?여기서 [ ]안에 들어갈 내용을 '정보'라 한다. 머신러닝과 딥러닝은 이 정보가 필요하다. 정보를 정확히 준비해 놓기만 하면 성적을 예측하는 방정식을 만들수 있다. 이것을 수학적으로 정의하면, 성적을 변하게 하는 '정보' 요소를 X라 하고,이 값에 따라 변하는 '성적'을 Y라 한다.' X값이 변함에 따라 Y값도 변한다'는 정의 안에서 독립적으로 변할수 있는 값 X를 독립변수라 한다. 또한, 이 독립 변수에 따라 종속적으로 변하는 Y(성적).. 2022. 4. 12.
[머신러닝] 데이터 전처리 | 표준화, 정규화 1.1 표준화 (Standardization) 표준화는 데이터의 평균을 0 분산 및 표준편차를 1로 만들어 줍니다. 표준화를 하는 이유 서로 다른 통계 데이터들을 비교하기 용이하기 때문입니다. 표준화를 하면 평균은 0, 분산과 표준편차는 1로 만들어 데이터의 분포를 단순화 시키고, 비교를 용이하게 합니다. 표준화 공식 표준화 결과 평균이 0이 되고, 분산 정도는 1이 됩니다.(표준편차도 1이 됩니다) 데이터가 분포되는 생김새, 패턴이 변하진 않지만, 값의 range(scaling)만 변합니다. 샘플데이터 iris 붓꽃 샘플데이터를 가져옵니다. **from** sklearn.datasets **import** load_iris iris **=** load_iris() x **=** iris['data']*.. 2022. 4. 12.