노션 페이지
https://www.notion.so/likelion-aischool/11-095bdd21d5334182bdf48e1568bcab9c
지도학습 알고리즘 중 5개만 선택
주변의 가장 가까운 K개의 샘플을 통해 값을 예측하는 방식
이미 각 데이터의 분류를 알고 있으면 새로운 데이터가 등장했을 때 새로운 데이터를 어디로 분류할지 정할 수 있다.
가장 간단한 머신러닝 알고리즘으로, 분류와 회귀 모두 사용할 수 있다.
K-최근접 이웃 회귀
2.1. MSE (Mean Squared Error)
2.2. MAE (Mean Absolute Error)
2.3. RMSE (Root Mean Squared Error)
2.4. (결정 계수), r2_score
이 외에도 huber loss, poisson, quantile 등이 있음
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score
# Load the diabetes dataset
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)
# Use only one feature
diabetes_X = diabetes_X[:, np.newaxis, 2]
# Split the data into training/testing sets
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
# Split the targets into training/testing sets
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)
# Make predictions using the testing set
diabetes_y_pred = regr.predict(diabetes_X_test)
# The mean squared error
print("Mean squared error: %.2f" % mean_squared_error(diabetes_y_test, diabetes_y_pred))
# The coefficient of determination: 1 is perfect prediction
print("Coefficient of determination: %.2f" % r2_score(diabetes_y_test, diabetes_y_pred))
# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test, color="black")
plt.plot(diabetes_X_test, diabetes_y_pred, color="blue", linewidth=3)
plt.xticks(())
plt.yticks(())
plt.show()
Mean squared error: 2548.07
Coefficient of determination: 0.47
홈페이지에서 DOWNLOAD TABLEAU PUBLIC 선택
https://www.tableau.com/products/public/download
항목 입력하고 설치
설치파일 열고 항목 동의 후 설치
groupby().agg()
df.groupby("deck")["fare"].agg(["count", "mean", "sum"])
{컬럼 : 적용할 agg func}
지정df.groupby(by=["class", "who"])[["age", "fare", "deck"]].agg({"age" : "mean", "fare" : "mean", "deck" : "count"})
머신러닝 문제해결 프로세스
1. 문제(경진대회) 이해
배경, 목적, 유형 등
어떤 데이터를 활용해서 어떤 값을 예측해야 하는지?
회귀인지, 분류인지?
주어진 데이터가 무엇인지?
어떻게 접근해서 문제를 풀어야 할지?
배경지식, 사전지식을 사용할만한 점이 있는지?
평가지표 파악
데이터 구조 탐색, 몇 가지 통계값 구해보기
제공된 파일별 용도 파악
데이터 양(info, shape)
피처 이해(이름, 의미, 데이터타입, 결측치, 고유값 개수 등)
훈련 vs 테스트 데이터 차이(분포가 비슷한지, train에는 있지만 test에는 없는 피처가 있는지 등)
타겟값 파악(train에 명확히 없는 경우도 있음)
데이터 시각화(중요 피처 탐색)
다양한 그래프를 활용해 데이터 전반을 깊이있게 살펴봄
이 과정에서 어떤 피처가 중요한지, 피처끼리 어떻게 조합해서 새로운 피처를 만들지, 어떤 점을 주의해서 모델링할지 인사이트를 얻음