<aside> 💡

1번 10 2번 7 3번 10 4번 10 5번 10

</aside>

1번

정답: 4

이유: 훈련 세트가 없으면 훈련이 불가능하다.

2번

정답: 4, 5

이유:

4: overfitting을 확인 할 수 있지만 방지할 수 없다

5: validation set: 모델을 업데이트(학습을 시키지 않지만 학습에 관여)

 test set: 학습에 관여하지 않고 오직 최종 성능을 평가

<aside> 💡 3: train : test 비율을 1대1로 하게된다면 trainset의 비율이 너무 적어서 학습이 제대로 되지 않은 Underfitting 상태가 발생할 가능성이 큽니다.

4: 이건 맞는 말씀이기도 하지만 Validation set을 만드는 이유가 학습 상태를 확인하면서 Overfitting이 일어나기 전에 학습을 멈춰서 Overfitting이 일어나지 않게 하는 의도가 있습니다.

</aside>

3번

from sklearn.datasets import load_iris
iris = load_iris()
#print(iris.keys())
#print(iris.feature_names)

import pandas as pd
data = pd.DataFrame(iris.data)
sepal_length = data.loc[:, 0]
sepal_width = data.loc[:, 1]
petal_length = data.loc[:, 2]
petal_width = data.loc[:, 3]

import matplotlib.pyplot as plt
plt.scatter(sepal_length, sepal_width, color = 'r')
plt.xlabel(iris.feature_names[0])
plt.ylabel(iris.feature_names[1])
plt.show()

plt.scatter(petal_length, petal_width, color = 'b')
plt.xlabel(iris.feature_names[2])
plt.ylabel(iris.feature_names[3])
plt.show()

Untitled

4번

from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import numpy as np

iris = load_iris()

features = iris['data']

mean = np.mean(iris['data'], axis=0)
std = np.std(iris['data'], axis=0)

train_scaled = (iris['data']-mean)/std

plt.scatter(train_scaled[:,0],train_scaled[:,1], color = 'r')
plt.xlabel(iris.feature_names[0])
plt.ylabel(iris.feature_names[1])
plt.show()

plt.scatter(train_scaled[:,2],train_scaled[:,3], color = 'b')
plt.xlabel(iris.feature_names[2])
plt.ylabel(iris.feature_names[3])
plt.show()

Untitled

Untitled