싸이킷런이란?
- 가장 많이 사용되는 파이썬 머신러닝 라이브러리
- 간결하고 직관적(=파이썬스러움)인 API 제공
- 다양한 알고리즘 API 제공
- 검증된 라이브러리
싸이킷런을 이용한 머신러닝 구현
- 학습을 위한 데이터 준비
- 사용할 모델 객체 생성
- 모델 객체에 학습데이터 매핑 후 학습
- 테스트 데이터를 이용하여 모델의 성능 검증
Iris(붓꽃) 품종 분류 모델 만들기
- Petal(꽃잎)의 길이, 넓이
- Sepal(꽃받침)의 길이, 넓이
Decision Tree(의사 결정 트리)를 이용하여 Iris 품종 분류 모델 구현
- 모델 구현을 위한 라이브러리 import
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
- Iris 데이터셋 load 및 데이터 확인
import pandas as pd
iris = load_iris()
iris_data = iris.data # 아이리스 특성들
iris_label = iris.target # 정답 데이터 부분 (= 아이리스 품종)
print('iris target value: ',iris_label)
print('iris target name: ', iris.target_names)
df_iris = pd.DataFrame(data=iris_data, columns=iris.feature_names)
df_iris['label'] = iris.target # 새로운 column 'label' 추가
- 데이터셋 분할(학습 / 테스트)
x_train, x_test, y_train, y_test = train_test_split(iris_data,
iris_label,
test_size=0.2,
random_state=11)
- Decision Tree 모델 객체 생성
dt_clf = DecisionTreeClassifier(random_state=11)
※ random_state를 정해주는 이유는 일정하게 나오게 하기 위해서
- Decision Tree 모델 객체 생성
dt_clf.fit(x_train, y_train)
- 테스트 데이터를 이용한 예측
pred = dt_clf.predict(x_test)
- Accuracy(정확도)를 통한 성능 평가
from sklearn.metrics import accuracy_score
print('predict accuracy: {}'.format(accuracy_score(y_test, pred)))
※ random_state를 고정했기 때문에 항상 일정하게 나옴
'교육 > AI+X 융합 교육' 카테고리의 다른 글
Image Segmentation (0) | 2021.08.24 |
---|---|
[Pytorch] 변형(Transform) (0) | 2021.08.20 |
[Pytorch] Dataset과 Dataloader (0) | 2021.08.20 |
[Pytorch] torchvision (0) | 2021.08.19 |
[210809] 싸이킷런 Model Selection API : 최적의 머신러닝 모델 찾기 (0) | 2021.08.12 |
싸이킷런이란?
- 가장 많이 사용되는 파이썬 머신러닝 라이브러리
- 간결하고 직관적(=파이썬스러움)인 API 제공
- 다양한 알고리즘 API 제공
- 검증된 라이브러리
싸이킷런을 이용한 머신러닝 구현
- 학습을 위한 데이터 준비
- 사용할 모델 객체 생성
- 모델 객체에 학습데이터 매핑 후 학습
- 테스트 데이터를 이용하여 모델의 성능 검증
Iris(붓꽃) 품종 분류 모델 만들기
- Petal(꽃잎)의 길이, 넓이
- Sepal(꽃받침)의 길이, 넓이
Decision Tree(의사 결정 트리)를 이용하여 Iris 품종 분류 모델 구현
- 모델 구현을 위한 라이브러리 import
from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split
- Iris 데이터셋 load 및 데이터 확인
import pandas as pd iris = load_iris() iris_data = iris.data # 아이리스 특성들 iris_label = iris.target # 정답 데이터 부분 (= 아이리스 품종) print('iris target value: ',iris_label) print('iris target name: ', iris.target_names)
df_iris = pd.DataFrame(data=iris_data, columns=iris.feature_names) df_iris['label'] = iris.target # 새로운 column 'label' 추가
- 데이터셋 분할(학습 / 테스트)
x_train, x_test, y_train, y_test = train_test_split(iris_data, iris_label, test_size=0.2, random_state=11)
- Decision Tree 모델 객체 생성
dt_clf = DecisionTreeClassifier(random_state=11)
※ random_state를 정해주는 이유는 일정하게 나오게 하기 위해서
- Decision Tree 모델 객체 생성
dt_clf.fit(x_train, y_train)
- 테스트 데이터를 이용한 예측
pred = dt_clf.predict(x_test)
- Accuracy(정확도)를 통한 성능 평가
from sklearn.metrics import accuracy_score print('predict accuracy: {}'.format(accuracy_score(y_test, pred)))
※ random_state를 고정했기 때문에 항상 일정하게 나옴
'교육 > AI+X 융합 교육' 카테고리의 다른 글
Image Segmentation (0) | 2021.08.24 |
---|---|
[Pytorch] 변형(Transform) (0) | 2021.08.20 |
[Pytorch] Dataset과 Dataloader (0) | 2021.08.20 |
[Pytorch] torchvision (0) | 2021.08.19 |
[210809] 싸이킷런 Model Selection API : 최적의 머신러닝 모델 찾기 (0) | 2021.08.12 |