목표: 붓꽃의 곷잎, 꽃받침, 폭, 길이를 측정한 값을 이용하여 붓꽃의 품종을 분류하기.
붓꽃의 품종을 분류한 데이터를 가지고있으므로 지도학습에 속하고, 몇가지 선택 사항중 하나를 선택하는 문제이므로 분류에 해당한다.
출력될 수 있는 값들을 클래스라고 하므로 이 문제는 붓꽃의 클래스를 분류하는 문제이다.
클래스: 출력되는 결과값의 종류. 이 경우에는 붓꽃의 품종에 해당.
레이블: 특정 데이터에 해당하는 출력값.
클래스는 레이블의 종류, 즉 큰 틀이다.
붓꽃의 품종을 구분하는 과정을 함수 H(x)라고 하면 붓꽃의 꽃잎, 꽃받침, 폭, 길이 등은 X값에 해당하고, 레이블은 y값에 해당한다.
입력 데이터 하나하나는 정의역, 클래스는 공역에 해당한다고 볼 수 있다.
붓꽃 데이터셋은 scikit-learn의 dataset모듈에 포함되어 있다. 이를 이용하여 데이터를 적제할 수 있다. (데이터적제 == 데이터 가져오기)
<데이터 적제하기,예측하기, 평가하기>
//아래의 코드는 주피터 노트북에서 실행되었다.
//load_iris가 반환한 iris객체는 파이썬 딕셔너리와 비슷한 Bunch 클래스 객체. 키와 값으로 구성되어 있다.
//iris_dataset.keys() : iris_dataset에 있는 키들을 가져오는 함수
//iris_dataset['키이름']: 키에 해당하는 데이터를 출력
//DESCR키에는 데이터셋에 대한 간략한 설명이 들어있음.
//target_names: 예측하려는 붓꽃 품종의 이름을 문자열 배열로 가지고있음.
//feature_names: 각 특성을 설명하는 문자열 리스트
//실제 데이터가 들어있는곳은 data, target키. data는 특성값을 가지는 Numpy배열. target배열도 샘플 품종을 담은 numpy배열. 0-2의 정수로 기록되어있음.
//데이터 배열의 행은 개개의 꽃이 되며 열은 각 꽃에서 구한 네개의 측정치.
//각 아이템은 샘플이라고 하고 속성은 특성이라고 부른다.
이번 예시에서는 KNN알고리즘을 사용(최근접 이웃)했다.
모델을 사용하려면 클래스로부터 객체를 만들어야 한다. 그 객체의 메소드의 매게변수에 data, taeget을 대입하여 학습시키거나, 예측,평가한다.
학습시키는 메소드: fit
새로운 X값으로 레이블을 예측하는 메소드: predict
모델의 정확성을 평가하는 메소드: score
//모델의 정확성을 평가하는 메소드에는 X,y 테스트값을 파라미터로 집어넣으면 X값을 예측하여 이를 y값이랑 비교 한 후, 결과를 반환한다.
'바닥부터 시작하는 인공지능' 카테고리의 다른 글
[수학공부]인공지능을 위한 수학 총정리/ 요약본 다운로드 (34) | 2021.02.04 |
---|---|
3분만에 정복하는 캐글(Kaggle) : 머신러닝 입문 (0) | 2019.09.02 |
파이썬(Python) 아나콘다(Anaconda) 설치의 모든 것 (0) | 2019.08.31 |
pandas 기초문법: pandas로 csv파일 편집하기 (0) | 2019.07.20 |
머신러닝 툴 총정리/ 5분안에 파악하는 머신러닝/ 머신러닝 초보/ 머신러닝 시작하기/ 머신러닝 언어/ 파이썬 (0) | 2019.07.17 |