본문 바로가기

AI/머신러닝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.
[머신러닝] K-최근접 이웃(K-NN) 분류 알고리즘 - 실습 1. K-NN 알고리즘이란? K-최근접 이웃(K-Nearest Neighbor) 알고리즘은 머신러닝에서 사용되는 분류(Classification) 알고리즘입니다. 유사한 특성을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정하에 사용합다. 비매개변수 머신러닝 모델입니다. 훈련 단계에서 학습을 하지 않기 때문에 '게으른 학습'이라 부릅니다. 테스트/검증 단계에서 테스트 관측값과 가장 접근한 훈련 관측값을 비교합다. 거리에만 의존하므로 차원의 저주에 따라 예측에 필요한 특징의 개수가 늘어나면 성능이 크게 저하됩니다. Matplotlib 파이썬에서 데이타를 차트나 플롯(Plot)으로 그려주는 라이브러리 패키지로서 가장 많이 사용되는 데이타 시각화(Data Visualization) 패키지입니다. Key.. 2022. 4. 11.