scikit-learn (1) - 기계학습이란?
1. 기계학습의 3가지 개념
1) 태스크(T)를 해결하기 위해 학습해야 한다
2) 태스크를 실행하기 위해 학습할 일부 경험(E)이 필요하다(데이터셋을 통해 표현된다)
3)얼마나 태스크를 잘 해결했는지 파악하기 위한 성능(P)을 측정할 필요가 있다
2. 기계학습기법은 보통 데이터셋으로 대표되는 과거 경험에 의존한다.
본 포스팅에서는 로널드 피셔가 소개한 아이리스 꽃 데이터셋을 사용한다.
해당 데이터셋에는 4개의 속성, 150개의 원소(인스턴스)가 있다.
Iris flower data set https://en.wikipedia.org/wiki/Iris_flower_data_set
Sepal length | Sepal width | Petal length | Petal width | Species |
---|---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 | I. setosa |
4.9 | 3.0 | 1.4 | 0.2 | I. setosa |
4.7 | 3.2 | 1.3 | 0.2 | I. setosa |
4.6 | 3.1 | 1.5 | 0.2 | I. setosa |
5.0 | 3.6 | 1.4 | 0.2 | I. setosa |
5.4 | 3.9 | 1.7 | 0.4 | I. setosa |
4.6 | 3.4 | 1.4 | 0.3 | I. setosa |
Iris setosa Iris versicolor Iris virginica
우리가 하고자하는 것은 위의 Fisher's Iris Data 를 기반으로 아이리스 꽃받침의 길이와 너비, 꽃잎의 길이와 너비, 품종을 학습(E)해 꽃받침의 길이와 너비, 꽃잎의 길이와 너비만 알고 있는 새로운 인스턴스의 품종을 추측(T)해보는 것이다. 그리고 이러한 예측 모델의 성능을 평가(P)해 보는 것이다.
3. iris 데이터셋의 구성요소
아이리스 꽃 데이터셋은 아래의 두 구성요소를 가진 오브젝트이다.
1) data 배열(real-value) : 배열의 차원은 150개의 행과 4개의 열을 의미하는 (150, 4) 이다.
2) target 배열(class value) : 각 인스턴스의 아이리스 품종에 해당하는 0, 1, 2 값 중 하나를 가지는 배열 (0 : setosa, 1 : versicolor , 2: virginica)
1 2 3 4 5 6 | >>> from sklearn import datasets >>> iris = datasets.load_iris() >>> X_iris, y_iris = iris.data, iris.target >>> print (X_iris[0], y_iris[0]) (array([ 5.1, 3.5, 1.4, 0.2]), 0) | cs |
'프로그래밍 Programming' 카테고리의 다른 글
matplotlib - <matplotlib.text.Text at 0x7fc3298533d0> (0) | 2016.11.03 |
---|---|
Jupyter Notebook 셀 크기 조절하기 How to increase/decrease the cell width of the jupyter notebook in browser (0) | 2016.11.03 |
scikit-learn 을 통한 머신러닝 - 데이터셋 로딩, 학습, 그리고 예측 (0) | 2016.10.31 |
텐서보드 사용법 (0) | 2016.10.31 |
텐서플로우 코드 에러 - ResourceExhaustedError (0) | 2016.10.31 |