사내 공부회 기계 학습 입문(7.아야메를 분류해 보자)
소재
아야메를 분류하는 프로그램입니다.
아야메의 품종을 분류하는 데 관련된 데이터가 GitHub에 공개되어 있으므로 이 데이터(csv 파일)를 다운로드하여 사용합시다.
아야메 데이터의 CSV 데이터
↑를 클릭하고 브라우저에 표시된 CSV 데이터를 "오른쪽 클릭"하여 저장합니다.
파일 이름을 "iris.csv"로 설정하고 C:\ml-intro 바로 아래에 저장하십시오.
데이터를 보자.
야마메의 분류에 관련된 특징이 수치화되고 있네요.
<아야메 데이터의 내용>
열 이름
설명
SepalLength
뾰족한 조각의 길이
SepalWidth
뾰족한 조각의 폭
PetalLength
꽃잎의 길이
PetalWidth
꽃잎의 폭
이름
아야메의 품종명
분류와 관련된 특징은 '가쿠편의 길이', '가쿠편의 폭', '꽃잎의 길이', '꽃잎의 폭'의 4가지군요.
「아야메의 품종명」은 정답 라벨입니다.
아야메의 품종으로는 "Iris-Setosa""Iris-Versicolor""Iris-Virginica"의 3 가지로 분류된다고합니다.
(이미지는 htps //w w. 따뜻한 mp. 코 m / 안녕하세요 ty / 쓰리 아 ls / 마치네 보다 인용)
그럼, 미지의 데이터에 대해서, 3개 중 어느 쪽으로 분류하는 기계 학습 프로그램을 써 갑시다.
목표까지의 단계
야마메의 분류에 관련된 특징이 수치화되고 있네요.
<아야메 데이터의 내용>
열 이름
설명
SepalLength
뾰족한 조각의 길이
SepalWidth
뾰족한 조각의 폭
PetalLength
꽃잎의 길이
PetalWidth
꽃잎의 폭
이름
아야메의 품종명
분류와 관련된 특징은 '가쿠편의 길이', '가쿠편의 폭', '꽃잎의 길이', '꽃잎의 폭'의 4가지군요.
「아야메의 품종명」은 정답 라벨입니다.
아야메의 품종으로는 "Iris-Setosa""Iris-Versicolor""Iris-Virginica"의 3 가지로 분류된다고합니다.
(이미지는 htps //w w. 따뜻한 mp. 코 m / 안녕하세요 ty / 쓰리 아 ls / 마치네 보다 인용)
그럼, 미지의 데이터에 대해서, 3개 중 어느 쪽으로 분류하는 기계 학습 프로그램을 써 갑시다.
목표까지의 단계
학습에 사용하는 알고리즘은 지원 벡터 머신을 사용합니다.
알고리즘의 선정에 대해서는, ↓의 정보를 알기 쉽다고 생각했습니다.
[참고 정보] htps : // Enginee rs.ぇぢぢgぱrk. 이. jp/? p=872
여기에서가 본제! 기계 학습 프로그램을 작성해 봅시다.
먼저 "Pandas"라는 Python으로 데이터 분석을 효율적으로 수행하기위한 라이브러리를 설치하십시오.
(데이터의 로드나 통계량의 표시, 그래프화 등을 편하게 할 수 있다.)$ pip install pandas
필요한 라이브러리 가져오기
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
【Step1】아야메 데이터의 로드
# 【Step1】アヤメデータの読み込み
iris_data = pd.read_csv("iris.csv", encoding="utf-8")
【Step2】읽은 아야메 데이터에는 정답 라벨이 붙어 있으므로 분리한다
# 【Step2】読み込んだアヤメデータには、正解ラベルが付いているので分離する
y = iris_data.loc[:,"Name"]
x = iris_data.loc[:,["SepalLength","SepalWidth","PetalLength","PetalWidth"]]
【Step3】모든 데이터 중 70%를 훈련용 데이터로, 30%를 판정용 데이터로 나눈다.
# 【Step3】全データのうち70%を訓練用データに、30%を判定用データに分ける。
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, train_size = 0.7, shuffle = True)
【Step4】 학습한다(알고리즘은, 서포트 벡터 머신(클래스 분류)의 하나인 SVC를 사용한다.)
# 【Step4】学習する(アルゴリズムは、サポートベクターマシン(クラス分類)の1つであるSVCを使う。)
clf = SVC()
clf.fit(x_train, y_train)
【Step5】평가한다
# 【Step5】評価する
y_pred = clf.predict(x_test)
print("正解率 = " , accuracy_score(y_test, y_pred))
정답률 = 약 96%! 뭐 그렇죠?
요약
이번에도, 전회에 이어, 「기계 학습의 분위기」를 느꼈습니다.
점차 기계 학습 프로그램의 흐름이 잡혀 온 것이 아닐까요?
다음 번에는 기상 데이터를 바탕으로 한 "예측"에 도전하고 싶습니다.
Reference
이 문제에 관하여(사내 공부회 기계 학습 입문(7.아야메를 분류해 보자)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masami310/items/e3bc750580be790fafbb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 【Step1】アヤメデータの読み込み
iris_data = pd.read_csv("iris.csv", encoding="utf-8")
# 【Step2】読み込んだアヤメデータには、正解ラベルが付いているので分離する
y = iris_data.loc[:,"Name"]
x = iris_data.loc[:,["SepalLength","SepalWidth","PetalLength","PetalWidth"]]
# 【Step3】全データのうち70%を訓練用データに、30%を判定用データに分ける。
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, train_size = 0.7, shuffle = True)
# 【Step4】学習する(アルゴリズムは、サポートベクターマシン(クラス分類)の1つであるSVCを使う。)
clf = SVC()
clf.fit(x_train, y_train)
# 【Step5】評価する
y_pred = clf.predict(x_test)
print("正解率 = " , accuracy_score(y_test, y_pred))
이번에도, 전회에 이어, 「기계 학습의 분위기」를 느꼈습니다.
점차 기계 학습 프로그램의 흐름이 잡혀 온 것이 아닐까요?
다음 번에는 기상 데이터를 바탕으로 한 "예측"에 도전하고 싶습니다.
Reference
이 문제에 관하여(사내 공부회 기계 학습 입문(7.아야메를 분류해 보자)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masami310/items/e3bc750580be790fafbb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)