1. Supervised learning은 지도학습이라고 불리며 특정 사진을 보고 개인지 고양이인지 분류하는 모델을 만들 수 있다.
지도학습은 분류(Classification)과 회귀(Regression)가 대표적이며,
사진을 보고 개인지 아닌지 분류하는 모델은 분류(Classifiation)모델임으로 참
2. Unsupervised learning은 비지도학습이라고 불리며 여러 동물 사진을 특징 별로 군집화를 할 수 있다.
비지도학습은 비슷한 특징을 찾아 군집화하는 학습입니다. 사진 군집화는 비지도학습이므로 참
3. Supervised learning은 feature가 여러 개여도 문제없이 학습이 가능하다.
지도학습에서 feature가 많아도 학습이 가능합니다
다만, feature가 너무 많으면 과적합(Overfitting)으로 이어져, 테스트데이터에서 낮은 정확도를 보여줄 수도 있습니다
4. Unsupervised learning은 데이터 중 training set이 없어도 학습이 가능하다
비지도학습은 데이터의 비슷한 특징을 군집화하여 학습을 하므로,
training set이 없으면 학습도 불가능합니다
비지도학습은 training set에 target이 없습니다
1. 학습이 끝난 후 모델 평가에 쓰이는 Test set은 Train set에서 사용하지 않은 데이터여야 한다.
Test set을 Train Set에서 사용하면 테스트 데이터가 학습이 되어있기 때문에 의도와는 달리 정확도가 높게 나오게 됩니다.
따라서 Test Set은 Train Set과 다른 것이 좋습니다
2. 1.의 이유는 평가를 할 때에는 모델이 본 적있는 데이터가 아닌 처음 보는 데이터로 해야하기 때문이다.
위의 내용과 동일합니다.
3. Dataset을 Train set : Test set = 1 : 1 비율로 나누면 Overfitting이 발생할 수 있습니다
과적합은 알고리즘이 너무 학습을 꼼꼼히 해서 생기는 문제로,
Data Set을 특정 비율로 나누는 것에 대하여 영향을 주지 않습니다
-풀이
Train Set의 비율이 적어도 데이터셋이 충분히 크다면 과소적합이 발생하지 않을 수 있습니다.
4. Overfitting을 방지하기 위한 방법으로 Validation set를 만드는 방법이 있다.
Validation set은 과적합이 생기지 않는 지점을 판별하기 위해 만들어진 방법입니다
5. Validation set의 사용 목적은 Test set과 일치한다.
Validation set은 과적합이 생기지 않는 지점을 판별하기 위해 만들어진 방법이지만,
Test set은 단순히 정확도를 측정하기 위한 Set입니다
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import pandas as pd
iris = load_iris()
feature_names = iris.feature_names
iris_data = pd.DataFrame(iris.data, columns=feature_names)
def showData(x_index, y_index, color):
x = iris_data.iloc[:, x_index]
y = iris_data.iloc[:, y_index]
plt.scatter(x, y, c=color)
plt.xlabel(feature_names[x_index])
plt.ylabel(feature_names[y_index])
plt.show()
showData(0, 1, 'red')
showData(2, 3, 'blue')