
머신러닝을 실행할 수 있는 컴퓨팅 자원
오프 -> 온을 빠르게 실행하기 위한 설정이다.
트래픽이 적을 때 비용을 아낄 수 있다. 자동 스케일링이 적용됨


현재는 없는 옵션이라 비슷한 다른걸 사용했다. 2~4코어정도면 상관없다고 하셨다.



이름을 선택한다

우측의 일정의 편집 버튼을 눌러 수정한다




1) 필요한 컬럼 선택
2) 누락값 처리
3) 데이터 타입 변환 작업
이 순서가 일반적


































random classifier에 roc curve에 가까울수록 재현율이 높아 좋은것임
데이터셋의 불균형이 심할 떈 precision recall curve가 더 나음
날씨, 계절, 휴일/평일이 영향을 줌
수치, 수량 등 값을 예측하는 회귀: 수치 예측이 적합
날씨, 계절과 휴무일 여부에 따라 자전거 렌탈 수요 변동
↓
자전거 수요량은 특정 조건에서 수치형 데이터를 예상 → 회귀에 해당
↓
회귀에서도 여러 조건을 고려 → 다중 회귀
예측한 선으로 오차가 회귀(regression)하도록 만들어진 모델


선형으로 바꿀 때 보통 로그를 취한다
선형 모델은 회귀 계수를 선형 결합으로 표현 가능한 모델을 의미
독립변수와 종속변수의 관계를 선형 관계로 모델링
독립변수 x로부터 종속변수 y를 예측하는 알고리즘


선형 회귀 모델의 목표: 오차를 최소화할 수 있는 기울기와 절편 찾기
실측값과 예측값의 거리


오차의 절대값을 평균한 값(L1 Loss)
MAE 가 0에 가까울수록 예측값이 실측값과 가까움

오차의 제곱을 평균한 값(L2 Loss)
MSE가 0에 가까울수록 예측값이 실측값에 가까움. 예측값과 실측값 차이를 한 변으로 하는 정사각형 면적의 평균과 같음
보통 MSE를 주로 사용한다.

하나의 결과를 여러 원인으로 설명할 수 있음
독립변수 중 종속변수를 설명하는데 필요한 변수만 모델에 포함시켜야 함
독립 변수를 하나씩 추가하면서 모델을 만들고 결과 확인
빠름. 다만 처음 선택한 변수들이 영향이 크지 않은 변수일 가능성 있음
데이터에 있는 모든 독립 변수를 사용해 모델을 만들고 하나씩 제거한 후 결과 확인
UCI에서 제공하는 데이터에 기반하여 자전거 렌탈 수요 예측을 위한 모델 구현














import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from azureml.core import Run
def azureml_main(dataframe1 = None, dataframe2 = None):
plt.figure(figsize=(10,8))
corr_matrix = dataframe1.corr()
sns.heatmap(corr_matrix, annot=True, fmt=".2f", cmap="coolwarm")
plt.title("Heatmap")
img_file = "heatmap.png"
plt.savefig(img_file)
plt.close()
run = Run.get_context(allow_offline=True)
run.upload_file(f"graphics/{img_file}", img_file)
return dataframe1,

Cluster node 확장에 시간이 소요됨

atemp와 temp끼리 상관관계가 높음 -> 원래는 둘 중 하나 빼줘야 함








다중 선형 회귀에 입력되는 여러 특성들의 값의 범위가 차이가 나면, 머신러닝 모델이 잘못된 예측을 할 수 있음







머신러닝 모델은 비용함수를 사용하여 오차를 줄이는 방향으로 학습
경사하강법을 통해 오차가 최소가 되는 방향으로 가중치를 조정해가며 학습
경사 하강법은 기울기에 학습률(보폭)이라는 스칼라 값을 곱해서 다음 지점을 정함
최적점에 도달하기 위해서 적절한 학습률을 설정하는 것이 중요


선형 회귀 분석은 비용함수 및 경사하강법 등을 이용하여 회귀계수(기울기와 절편)의 최적값을 찾아 나감
기울기와 절편을 반복하여 update(학습)하면 특정 값으로 수렴함
데이터를 제한할 수는 없음. 결국 제한의 대상은 가중치
원하는 결과: MSE가 가장 작은 값을 가지도록 하는 w1, w2.. 그 점을 찾아내는 것

규제와 MSE값이 딱 맞닿는 부분을 보통 사용(우측 MSE의 동심원을 너무 늘리게 되면, MSE의 해에서 멀어짐)


독립변수가 많아지면 과대적합의 경향이 있음
→ 회귀식의 가중치의 영향력을 제한하여 과대적합 방지







MSE에 제곱근을 적용한 값
RMAE가 0에 가까울수록 예측값이 실측값과 가까움

MAE를 실제갑소가 평균값의 절대차의 평균으로 나눈 값
RAE가 0에 가까울수록 예측값이 실측값과 가까움

MSE를 실제값과 평균값의 차이의 제곱평균으로 나눈 값
RSE가 0에 가까울수록 예측값이 실측갑소가 가까움

모델의 독립변수들이 종속변수를 얼마나 잘 설명하는지 나타내는 지표



"한국 프로야구에서 타자능력의 측정" 논문에 언급된 이론과 실습 진행
K-means 군집 알고리즘 및 PCA(주성분 분석) 차원축소 개념 확인


비지도 학습의 군집을 이용
머신러닝에서 데이터의 차원이 증가하면 차원의 수에 비해 학습데이터의 수가 줄어들면서 발생하는 문제를 의미함
데이터가 희박해짐 → 탐색할 공간이 늘어남 → 저장공간, 처리시간 문제 → 머신러닝 모델에 불필요한 부하
전체 공간에 비해 데이터 개수가 적으면 과대적합의 문제 우려


머신러닝 단계 중 데이터 이해 및 준비 단계에서 적용
차원이 줄어들면 원래 데이터가 가진 정보의 일부가 손실됨 → 원래 feature들의 분산 특성을 유지하는 것이 중요

고차원 데이터를 효과적으로 분석하기 위해 대표적 분석 기법
독립변수(features)의 분산을 가장 넓게 표현하는 주성분(새로운 축, PC)를 찾는 작업

비지도 학습의 대표적인 차원 축소 방법으로, 데이터의 분산을 최대한 보존하는 새로운 축(주성분)을 찾고, 그 축에 데이터를 사영시킴
분산이 큼 = 원래 데이터의 분포를 잘 설명할 수 있음

주성분을 기존 feature(변수)의 수만큼 찾은 후 몇 개의 차원으로 축소할 지 결정

Screen Plot을 사용하여 주성분의 개수를 정할 수 있음
주성분들의 eigenvalue를 그래프로 시각화(각 주성분들이 분산을 설명하는 비율에 대한 그래프)


데이터 간의 유사도를 정의하고, 유사도에 따라 군집을 형성하는 알고리즘
군집의 수, 속성이 사전에 알려져 있지 않을 때 주로 사용
유사도는 거리의 개념으로 접근하는 것이 일반적

개체 간 거리에 따라 클러스터 계층을 표현하는 방식
비슷한 개체끼리 서로 묶어가며 클러스터를 만들어 가는 방법(덴드로그램 이용)

가장 일반적으로 사용되는 분할적 군집 알고리즘
중심점에 기반한 분할적 군집 알고리즘: 거리의 평균을 적용
클러스터링의 개수(K)를 미리 정하고, 초기 중심점을 설정한 후 알고리즘에 따라 중심점 갱신을 반복함





Density-Based Spatial Clustering of Applications with Noise