반응형
파이썬 머신러닝 가이드 책을 참고하였습니다.
● 붓꽃 데이터 로딩하기
import pandas as pd
from sklearn.datasets import load_iris
# 붓꽃 데이터 불러오기
iris = load_iris()
# iris.data는 데이터 세트에서 피처만으로 된 데이터를 NUMPY로 가지고 있음
iris_data = iris.data
# iris.target은 데이터 세트에서 레이블 데이터를 NUMPY로 가지고 있음
iris_label = iris.label
iris_df = pd.DataFrame(data=iris_data, columns=iris.feature_names)
iris_df['label'] = iris.target
추가적으로
* iris.target_names는 iris 데이터 세트에서 레이블 명을 가지고 있음
● 학습용 데이터와 테스트용 데이터 분리하기
from sklearn.model_selection import train_test_split
x_train, y_train, x_test, y_test = train_test_split(iris_data, iris_label, test_size=0.2,random_state=11)
* train_test_split() API를 활용한다. ( 학습, 테스트 데이터를 분리하지 않으면 학습시키는 의미가 없음)
* iris_data는 피처 데이터 세트 / iris_label은 레이블 데이터 세트
test_size는 전체 데이터 세트 중 테스트 데이터 세트의 비율
random_state는 호출할 때마다 같은 학습/테스트 용 데이터 세트를 생성하기 위해 주어지는 난수 발생 값
● DecisionTreeClassifier 분류 알고리즘을 활용해 학습과 예측 수행하기
from sklearn.tree import DecisionTreeClassifier
# DecisionTreeClassifier 객체 생성
df_clf = DecisionTreeClassifier(random_state=11)
# 학습 수행
df_clf.fit(x_train, y_train)
# 학습이 완료된 객체에서 테스트 데이터 세트로 예측 수행
pred = df_clf.predcit(x_test)
* fit() : 학습 데이터 ( x_train: 피처로 된 데이터, y_train: 레이블로 된 데이터)
* predict() : 학습이 완료된 객체에 테스트용 피처 데이터 세트를 입력해 호출하면 테스트 데이터 세트에 대한 예측값을 반환한다.
● accuracy_score() 활용해 정확도 구하기
from sklearn.metrics import accuracy_score
accuracy_score(y_test, pred)
* accuracy_score()의 첫 번째 파라미터로 실제 레이블 데이터 세트, 두 번째 파라미터로 예측 레이블 데이터 세트를 입력하면 된다.
더보기
1. 데이터 세트 분리 : 데이터를 학습 데이터와 테스트 데이터로 분리
2. 모델 학습 : 학습 데이터를 기반으로 ML 알고리즘을 적용해 모델을 학습
3. 예측 수행 : 학습된 ML모델을 이용해 테스트 데이터의 분류 및 회귀 예측
4. 평가 : 예측된 결과값과 테스트 데이터의 실제 결괏값을 비교해 ML 모델 성능을 평가한다.
[machine learning] - 머신러닝 - 회귀, 다항회귀, MSE, RMSE
반응형
'AI > Machine Learning' 카테고리의 다른 글
[ML] 머신러닝 결정트리 (DecisionTreeClassifier, DecisionTreeRegressor) (0) | 2022.04.06 |
---|---|
[ML] 머신러닝 모델의 오차행렬, 정확도, 정밀도, 재현율 구하기 (0) | 2022.04.05 |
[ML] 머신러닝 교차 검증- KFold, Stratified KFold, cross_val_score() (0) | 2022.04.04 |
[ML] 머신러닝 분류 알고리즘 - SVM (0) | 2022.03.02 |
[ML] 분류 알고리즘 - KNN (0) | 2022.03.02 |