sklearn 기초
학습 내용
- 데이터 준비부터 학습, 예측, 평가까지 기본 흐름 익히기
train_test_split(),StandardScaler(),MinMaxScaler()흐름 이해하기LinearRegression(),LogisticRegression(),RandomForest()계열의 기본 사용법 배우기accuracy_score(),mean_absolute_error(),r2_score()로 결과를 읽는 방법 익히기
sklearn은 머신러닝 모델을 만들고 평가할 때 가장 많이 쓰는 라이브러리 중 하나입니다. 이 페이지에서는 작은 예시 데이터로 개념을 먼저 이해한 뒤, 외부 CSV를 읽어 같은 흐름을 다시 적용합니다.
처음에는 아래 순서만 익혀도 충분합니다. 데이터를 준비하고, train_test_split()으로 나누고, 필요하면 스케일링한 뒤, fit()으로 학습하고, predict()와 평가 지표로 결과를 확인하면 됩니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 1. y의 길이 확인하기 # 간단한 예시 데이터에서 y의 길이를 출력해 보세요. # 가이드: len(y)를 사용해 보세요. X = [[160, 25], [170, 30], [180, 35]] y = [55, 68, 80]
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 2. 외부 데이터로 X 크기 확인하기 # /data/body.csv를 읽어 X = df[["신장 : cm", "측정나이"]]를 만든 뒤 X.shape를 출력해 보세요. import pandas as pd data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. 필요한 두 열만 골라 X를 만드세요. # 2. X.shape를 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 3. 외부 데이터로 y 첫 값 확인하기 # /data/body.csv를 읽어 y = df["체중 : kg"]를 만든 뒤 첫 번째 값을 round(..., 1)로 출력해 보세요. import pandas as pd data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. 체중 : kg 열을 y로 고르세요. # 2. 첫 번째 값을 꺼내 round(..., 1)로 출력하세요.
모델은 보통 모든 데이터를 한 번에 보고 성능을 판단하지 않습니다. 일부는 학습용(train), 일부는 평가용(test)으로 나누어야, 새 데이터에서 얼마나 잘 맞추는지 볼 수 있습니다. 이때 가장 자주 쓰는 함수가 train_test_split()입니다.
실행 결과:
test_size=0.2는 전체의 20%를 테스트 데이터로 쓰겠다는 뜻입니다. random_state=42는 같은 코드를 다시 실행해도 똑같이 나누기 위한 기준 숫자입니다. 초보자 단계에서는 random_state를 꼭 고정하는 습관이 좋습니다.
추가로 자주 보는 옵션은 아래와 같습니다.
shuffle=True: 나누기 전에 데이터를 섞습니다. 기본값은True입니다.shuffle=False: 순서를 유지한 채 앞부분과 뒷부분으로 나눕니다.stratify=y: 분류 문제에서 클래스 비율을 train/test에 비슷하게 맞추고 싶을 때 사용합니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 4. 간단한 예시 데이터 나누기 # X와 y를 test_size=2, shuffle=False로 나눈 뒤 X_test의 길이를 출력해 보세요. # 가이드: train_test_split() 결과를 네 변수로 받아 보세요. from sklearn.model_selection import train_test_split X = [[1], [2], [3], [4], [5], [6]] y = [10, 20, 30, 40, 50, 60]
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 5. test 데이터 개수 확인하기 # /data/body.csv를 이용해 train_test_split(..., test_size=0.2, random_state=42)를 적용한 뒤 X_test의 길이를 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만드세요. # 2. train_test_split(..., test_size=0.2, random_state=42)로 나누세요. # 3. X_test의 길이를 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 6. test 데이터 첫 번째 키 값 확인하기 # X_test의 첫 번째 행에서 신장 : cm 값을 round(..., 1)로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 train_test_split()으로 나누세요. # 2. X_test의 첫 번째 행, 첫 번째 값을 꺼내세요. # 3. round(..., 1)로 출력하세요.
모델에 들어가는 숫자의 크기 차이가 너무 크면 학습이 불안정해질 수 있습니다. 이럴 때 StandardScaler()를 자주 사용합니다. 이 스케일러는 각 열을 평균 0, 표준편차 1 근처로 바꿉니다.
아래 작은 예시를 먼저 보면, 평균이 20인 데이터를 중앙 기준으로 다시 표현하는 느낌을 이해하기 쉽습니다.
실행 결과:
원래 값 20은 평균과 같아서 0이 되고, 10은 평균보다 작아서 음수, 30은 평균보다 커서 양수가 됩니다.
외부 데이터에 적용하면 아래처럼 볼 수 있습니다.
실행 결과:
첫 번째 줄은 원래 5개 행의 각 열 평균입니다. 둘째 줄은 첫 번째 행이 평균보다 얼마나 위에 있는지를 표준화한 결과입니다. 신장 : cm의 1.01은 평균보다 약간 큰 편이라는 뜻입니다.
스케일링에서 가장 중요한 흐름은 아래 세 줄입니다.
fit(): 기준값(평균, 표준편차)을 배웁니다.transform(): 그 기준으로 실제 값을 바꿉니다.fit_transform(): 위 두 단계를 한 번에 실행합니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 7. StandardScaler 평균 확인하기 # [[10], [20], [30]]에 fit한 뒤 scaler.mean_[0]을 출력해 보세요. # 가이드: StandardScaler 객체를 만든 뒤 fit()을 적용해 보세요. from sklearn.preprocessing import StandardScaler
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 8. 외부 데이터 평균 확인하기 # /data/body.csv의 앞 5개 행에서 ["신장 : cm", "체중 : kg"]를 골라 StandardScaler에 fit한 뒤 신장 : cm 평균을 round(..., 2)로 출력해 보세요. import pandas as pd from sklearn.preprocessing import StandardScaler data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. 앞 5개 행에서 두 열만 골라 sample을 만드세요. # 2. scaler를 만들고 sample에 fit하세요. # 3. scaler.mean_[0]을 round(..., 2)로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 9. 외부 데이터 첫 번째 표준화 값 확인하기 # sample을 StandardScaler로 변환한 뒤 첫 번째 행의 신장 : cm 값을 round(..., 2)로 출력해 보세요. import pandas as pd from sklearn.preprocessing import StandardScaler data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. sample을 만든 뒤 StandardScaler로 fit_transform() 하세요. # 2. 첫 번째 행, 첫 번째 값을 round(..., 2)로 출력하세요.
MinMaxScaler()는 가장 작은 값을 0, 가장 큰 값을 1로 맞추는 스케일러입니다. 값의 상대적인 위치를 직관적으로 보고 싶을 때 이해하기 쉽습니다.
실행 결과:
10은 가장 작은 값이라 0, 30은 가장 큰 값이라 1, 20은 그 가운데라 0.5가 됩니다.
외부 데이터에 적용하면 아래처럼 볼 수 있습니다.
실행 결과:
첫 번째 줄은 앞 5개 행에서 각 열의 최댓값입니다. 둘째 줄은 첫 번째 행이 최소값과 최대값 사이에서 어느 정도 위치에 있는지 보여 줍니다.
추가로 MinMaxScaler(feature_range=(0, 10))처럼 쓰면 0~1이 아니라 다른 구간으로도 바꿀 수 있습니다. 처음에는 기본값 0~1부터 익히는 것이 가장 좋습니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 10. MinMaxScaler 마지막 값 확인하기 # [[10], [20], [30]]을 MinMaxScaler로 바꾼 뒤 마지막 값을 출력해 보세요. # 가이드: fit_transform() 결과의 마지막 값을 확인해 보세요. from sklearn.preprocessing import MinMaxScaler
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 11. 외부 데이터 첫 번째 MinMax 값 확인하기 # /data/body.csv의 앞 5개 행을 사용해 MinMaxScaler로 변환한 뒤 첫 번째 행의 신장 : cm 값을 round(..., 2)로 출력해 보세요. import pandas as pd from sklearn.preprocessing import MinMaxScaler data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. sample을 만든 뒤 MinMaxScaler로 fit_transform() 하세요. # 2. 첫 번째 행, 첫 번째 값을 round(..., 2)로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 12. 외부 데이터 체중 : kg 최댓값 확인하기 # MinMaxScaler에 fit한 뒤 체중 : kg 열의 최댓값을 round(..., 1)로 출력해 보세요. import pandas as pd from sklearn.preprocessing import MinMaxScaler data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. sample을 만든 뒤 scaler를 생성하세요. # 2. scaler.fit(sample)을 실행하세요. # 3. scaler.data_max_에서 체중 : kg 쪽 값을 출력하세요.
LinearRegression()은 입력이 커질수록 결과가 얼마나 변하는지를 직선으로 배우는 모델입니다. 가장 기본적인 회귀 모델이라, 먼저 이 모델로 fit(), coef_, intercept_, predict() 흐름을 익히는 것이 좋습니다.
작은 예시 데이터부터 보면 아래와 같습니다.
실행 결과:
기울기 10.0은 X가 1 커질 때마다 예측값이 10 정도 커진다는 뜻입니다. 절편 40.0은 X=0일 때의 시작점을 뜻합니다. 그래서 X=5일 때 예측값은 90이 됩니다.
외부 데이터에 적용하면 아래처럼 실제 회귀 흐름을 볼 수 있습니다.
실행 결과:
여기서 첫 번째 계수 1.087은 신장 : cm가 1 커질 때 예측 몸무게가 약 1.087kg 커지는 방향이라는 뜻입니다. 물론 실제 데이터에는 여러 요인이 함께 섞여 있으므로, 이 숫자를 “정확한 인과관계”라고 보기보다는 모델이 학습한 관계 정도로 읽는 것이 맞습니다.
LinearRegression()에서 초보자가 먼저 알아둘 파라미터는 아래 정도면 충분합니다.
fit_intercept=True: 절편을 포함할지 정합니다. 보통 기본값 그대로 둡니다.positive=True: 계수를 음수가 아닌 값으로 제한하고 싶을 때 사용합니다.copy_X=True: 입력값을 복사해서 쓸지 정합니다. 처음에는 신경 쓰지 않아도 됩니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 13. 간단한 예시 데이터 기울기 확인하기 # LinearRegression으로 학습한 뒤 coef_[0]을 round(..., 1)로 출력해 보세요. # 가이드: 모델을 만들고 fit()한 뒤 coef_를 확인해 보세요. from sklearn.linear_model import LinearRegression X = [[1], [2], [3], [4]] y = [50, 60, 70, 80]
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 14. 외부 데이터에서 신장 : cm 계수 확인하기 # /data/body.csv로 LinearRegression을 학습한 뒤 신장 : cm 계수를 round(..., 3)으로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만드세요. # 2. train_test_split()으로 나누고 LinearRegression()을 학습하세요. # 3. 첫 번째 계수를 round(..., 3)으로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 15. 새 데이터 예측하기 # 신장 : cm=170, 측정나이=30인 사람의 예측 체중 : kg를 round(..., 1)로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 LinearRegression()을 학습하세요. # 2. 예측용 DataFrame을 직접 만드세요. # 3. predict() 결과를 round(..., 1)로 출력하세요.
LogisticRegression()은 숫자를 바로 예측하는 회귀가 아니라, 어떤 클래스에 속할 확률을 바탕으로 분류하는 모델입니다. 이름에 Regression이 들어가지만, 실제 용도는 대표적인 분류입니다.
작은 예시 데이터부터 보면 아래와 같습니다.
실행 결과:
첫 번째 출력은 예측 클래스입니다. 둘째 출력은 각 클래스의 확률입니다. X=4일 때 [0.363, 0.637]이 나왔다는 것은 클래스 0일 확률이 약 36.3%, 클래스 1일 확률이 약 63.7%라는 뜻입니다. 그래서 최종 예측은 클래스 1이 됩니다.
실제 데이터에서는 먼저 스케일링을 같이 쓰는 경우가 많습니다.
실행 결과:
이 모델은 두 클래스를 ['F', 'M'] 순서로 기억하고 있습니다. 마지막 줄의 0.993은 새 데이터가 M일 확률이 99.3% 정도라는 뜻입니다.
LogisticRegression()에서 자주 보는 파라미터는 아래입니다.
C: 규제를 얼마나 약하게 할지 정합니다. 값이 클수록 규제가 약해집니다.max_iter: 학습 반복 횟수의 최대값입니다. 수렴이 잘 안 되면 늘립니다.solver: 최적화 방법입니다. 처음에는 기본값lbfgs를 많이 씁니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 16. 간단한 예시 데이터 분류하기 # LogisticRegression으로 학습한 뒤 [[5.5]]의 예측 결과를 출력해 보세요. # 가이드: 모델을 만들고 fit()한 뒤 predict()를 써 보세요. import warnings from sklearn.linear_model import LogisticRegression warnings.filterwarnings("ignore", category=RuntimeWarning) X = [[1], [2], [3], [4], [5], [6]] y = [0, 0, 0, 1, 1, 1]
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 17. 외부 데이터 클래스 순서 확인하기 # /data/body.csv로 LogisticRegression을 학습한 뒤 classes_를 리스트로 출력해 보세요. import warnings import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression warnings.filterwarnings("ignore", category=RuntimeWarning) data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 train_test_split(..., stratify=y)로 나누세요. # 2. StandardScaler로 X_train만 fit_transform() 하세요. # 3. LogisticRegression()을 학습한 뒤 classes_를 리스트로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 18. 외부 데이터 정확도 확인하기 # test 데이터에 대한 정확도를 round(..., 3)으로 출력해 보세요. import warnings import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score warnings.filterwarnings("ignore", category=RuntimeWarning) data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. train 데이터에 fit한 scaler로 X_train, X_test를 각각 변환하세요. # 2. LogisticRegression()을 학습하고 test 예측값을 만드세요. # 3. accuracy_score()를 round(..., 3)으로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 19. 새 데이터가 M일 확률 확인하기 # 신장 : cm=175, 악력D : kg=40, 제자리 멀리뛰기 : cm=210인 새 데이터를 예측했을 때 M일 확률을 round(..., 3)으로 출력해 보세요. import warnings import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression warnings.filterwarnings("ignore", category=RuntimeWarning) data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 scaler와 LogisticRegression()을 학습하세요. # 2. 새 데이터를 DataFrame으로 만드세요. # 3. scaler.transform() 후 predict_proba()로 M 확률을 꺼내세요.
처음 배우는 단계에서는 모델을 너무 많이 외우려고 하지 않아도 됩니다. 다만 어떤 모델이 회귀용인지, 어떤 모델이 분류용인지, 그리고 파라미터 이름이 대체 무엇을 뜻하는지는 알고 있어야 이후 문서를 읽기 편합니다.
실행 결과:
대표적으로 아래 정도를 기억하면 충분합니다.
LinearRegression(): 숫자 예측의 가장 기본 모델입니다.LogisticRegression(): 두 클래스 또는 여러 클래스 분류에 자주 씁니다.DecisionTreeClassifier(): 규칙을 분기하며 분류합니다.max_depth가 너무 크면 과적합되기 쉽습니다.KNeighborsClassifier(): 가까운 이웃 몇 개를 볼지n_neighbors로 정합니다.RandomForestClassifier()/RandomForestRegressor(): 여러 트리를 모아서 더 안정적으로 예측합니다.
파라미터 이름도 함께 익혀 두면 좋습니다.
max_depth: 트리의 최대 깊이입니다.n_neighbors: 참고할 이웃 개수입니다.n_estimators: 숲에 포함할 트리 개수입니다.random_state: 결과를 재현하기 위한 고정 숫자입니다.
랜덤포레스트는 하나의 트리만 쓰지 않고 여러 트리를 모아 평균이나 다수결로 예측합니다. 그래서 초보자가 써 보기에도 비교적 안정적인 편입니다.
회귀 예시부터 보면 아래와 같습니다.
실행 결과:
첫 번째 줄은 새 데이터 예측값입니다. 둘째 줄은 모델이 어떤 입력 열을 더 많이 참고했는지 보여 주는 값입니다. 여기서는 신장 : cm가 측정나이보다 훨씬 큰 비중으로 사용되었습니다.
분류 예시는 아래와 같습니다.
실행 결과:
여기서는 악력D : kg의 중요도가 가장 높게 나왔습니다. 다만 feature_importances_는 “왜 그런지”까지 설명해 주지는 않습니다. 초보자 단계에서는 “어떤 열을 많이 참고했는지 보는 값” 정도로 받아들이면 충분합니다.
랜덤포레스트에서 자주 보는 파라미터는 아래입니다.
n_estimators: 트리 개수입니다. 보통 많을수록 안정적이지만 계산은 더 오래 걸립니다.max_depth: 트리 한 개의 최대 깊이입니다. 너무 크면 복잡해질 수 있습니다.random_state: 같은 결과를 다시 얻기 위해 고정하는 값입니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 20. 랜덤포레스트 회귀 예측값 확인하기 # /data/body.csv로 RandomForestRegressor를 학습한 뒤 신장 : cm=170, 측정나이=30의 예측 체중 : kg를 round(..., 1)로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 train_test_split()으로 나누세요. # 2. RandomForestRegressor(n_estimators=100, max_depth=5, random_state=42)를 학습하세요. # 3. 새 데이터의 예측값을 round(..., 1)로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 21. 랜덤포레스트 회귀 중요도 확인하기 # RandomForestRegressor의 신장 : cm 중요도를 round(..., 3)으로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. 문제 20과 같은 방식으로 모델을 학습하세요. # 2. feature_importances_의 첫 번째 값을 round(..., 3)으로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 22. 랜덤포레스트 분류 정확도 확인하기 # /data/body.csv로 RandomForestClassifier를 학습한 뒤 test 정확도를 round(..., 3)으로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 stratify=y로 나누세요. # 2. RandomForestClassifier(n_estimators=100, max_depth=5, random_state=42)를 학습하세요. # 3. test 예측값으로 accuracy_score()를 계산하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 23. 랜덤포레스트 분류 결과 확인하기 # 신장 : cm=175, 악력D : kg=40, 제자리 멀리뛰기 : cm=210인 새 데이터의 예측 성별을 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. 문제 22와 같은 방식으로 모델을 학습하세요. # 2. 새 데이터를 DataFrame으로 만드세요. # 3. predict() 결과를 출력하세요.
모델을 만들었다면 마지막에는 “얼마나 잘 맞았는가”를 확인해야 합니다. 분류와 회귀는 보는 지표가 다릅니다.
분류에서는 accuracy_score()를 자주 씁니다.
실행 결과:
세 개 중 두 개를 맞췄으니 정확도가 약 66.7%라는 뜻입니다.
회귀에서는 mean_absolute_error()와 r2_score()를 많이 봅니다.
실행 결과:
mean_absolute_error는 예측이 평균적으로 얼마나 벗어났는지를 보여 줍니다. 여기서는 평균적으로 약 6.05kg 정도 오차가 있다는 뜻입니다.
r2_score는 모델이 데이터 변동을 얼마나 설명하는지를 보여 주는 값입니다. 1에 가까울수록 잘 설명하고, 0에 가까우면 단순한 기준과 비슷한 수준이라고 볼 수 있습니다. 초보자 단계에서는 accuracy는 “맞춘 비율”, MAE는 “평균 오차 크기”, R2는 “설명력” 정도로 기억하면 충분합니다.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 24. 간단한 정확도 계산하기 # accuracy_score(y_true, y_pred)를 round(..., 3)으로 출력해 보세요. # 가이드: accuracy_score()의 결과를 바로 round(..., 3) 해 보세요. from sklearn.metrics import accuracy_score y_true = [1, 0, 1] y_pred = [1, 1, 1]
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 25. 외부 데이터 MAE 확인하기 # /data/body.csv로 학습한 LinearRegression의 mean_absolute_error를 round(..., 2)로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_absolute_error data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. X와 y를 만든 뒤 LinearRegression()을 학습하세요. # 2. X_test 예측값을 만든 뒤 mean_absolute_error()를 계산하세요. # 3. round(..., 2)로 출력하세요.
에디터 로딩 중...
코드 입력 환경을 준비하고 있습니다.
# 문제 26. 외부 데이터 R2 확인하기 # /data/body.csv로 학습한 LinearRegression의 r2_score를 round(..., 3)으로 출력해 보세요. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import r2_score data_path = "/data/body.csv" df = pd.read_csv(data_path) # 가이드 # 1. 문제 25와 같은 방식으로 예측값 pred를 만드세요. # 2. r2_score(y_test, pred)를 round(..., 3)으로 출력하세요.