반응형
붓꽃 데이터로 학습을 한 후 사용자에 의해 데이터를 입력받아 어떤 붓꽃인지 예측해보도록 하겠습니다.
준비물은 붓꽃 데이터이며 > 학습 데이터 바로가기 < 에서 다운받으시면 됩니다.
데이터를 다운받아서 csv파일로 저장합니다.
데이터는 이런식으로 구성되어 있습니다.
앞 4열이 붓꽃 부위에 따른 크기, 5열이 종입니다.
즉 앞의 네 데이터를 통해 어떤 붓꽃인지 추측하는 예제입니다.
코드는 다음과 같습니다. pandas와 sklearn을 활용합니다.
import pandas as pd
from sklearn import svm, metrics
from sklearn.model_selection import train_test_split
csv = pd.read_csv("iris.csv")
data = csv[["SepalLength","SepalWidth","PetalLength","PetalWidth"]]
label = csv["Name"]
train_data, test_data, train_label, test_label = \
train_test_split(data,label)
clf = svm.SVC()
clf.fit(train_data,train_label)
results=clf.predict(test_data)
score = metrics.accuracy_score(results,test_label)
print("정답률:",score)
result=clf.predict([[5.2, 3.2, 1.1, 5.3]])
print(result)
코드 설명을 하면 iris.csv파일을 열어서 data와 label을 분리합니다. 즉 문제와 답을 분리합니다.
원천 데이터를 셔플하여 트레이닝 데이터와 테스트 데이터를 분류하여 fit과 predict를 통해 학습 및 예측을 해봅니다.
그리고 정답률을 찍어보고 실제로 5.2, 3.2, 1.1, 5.3 데이터를 입력하여 어떤 붓꽃인지 예측해보겠습니다.
대략 정답률은 94%이고 Iris-virginica라고 예측을 했네요.
반응형
'Programming > AI' 카테고리의 다른 글
[머신러닝/딥러닝] tensorflow + keras + nano 에디터 설치하기 (0) | 2018.07.01 |
---|---|
머신러닝이란? 머신러닝 개요 (교사학습, 비교사학습, 강화학습, 머신러닝 플로우 차트) (0) | 2018.06.30 |
아나콘다에 scikit learn + pandas 기본 구성 (0) | 2018.06.25 |
도커에 우분투+파이썬3+beautifulsoup+PhantomJS + Selenium 환경 설치하기 (0) | 2018.06.24 |
파이썬 BeautifulSoup4를 활용하여 css 추출하기 (0) | 2018.06.21 |