머신러닝 용어, 기본 개념. 학습데이터? 테스트 데이터? 머신러닝 계의 Hello World인 붓꽃(load_iris) 연습하기.
2023. 6. 25. 15:30ㆍpython
반응형
ML 모델 : Machine Learning Model.
Feature : 데이터 세트의 일반적인 속성.
학습데이터(Training Data)
레이블(타겟값) : 피처에 기반해서 학습을 기반으로 답을 학습을 하는 것. 어떤 특성의 라벨링을 붙인 것.
테스트 데이터(Test data)
이 때는 Feature들만 주고 답이 없다. Feature를 기반으로 레이블을 예측을 한다.
그래서 예측을 한 레이블의 값과 테스트 데이터에 실제 값을 비교하여 ML 모델이 얼마나 잘 만들어졌는지에 대한 것을 평가한다.
import sklearn
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
iris = load_iris()
iris_data = iris.data
#레이블이라고도 함.
iris_target = iris.target
iris_target_names = iris.target_names
print('iris\'s target : ',iris_target)
print('iris\'s target name : ',iris_target_names)
iris_df = pd.DataFrame(data=iris_data, columns=iris.feature_names)
iris_df['label'] = iris.target
iris_df.head(3)
print(iris.data.shape)
print(iris.feature_names)
#학습용 피처데이터, 테스트용 피처데이터, 학습용 target, 테스트용 target
# train_test_split 이라는 함수를 쓰는거임. 파라미터가 4개 있음.
X_train, X_test, y_train, y_test = train_test_split(iris_data, iris_target, test_size=0.2, random_state=11)
# DecisionTreeClassifier 객체 생성
dt_classifier = DecisionTreeClassifier(random_state=11)
# 학습 수행
# 학습용 피처, 학습용 타겟.
dt_classifier.fit(X_train, y_train)
#DecisionTreeClassifier에 predict라는 함수가 있는 것이다. predict로 예측 레이블을 뽑는다.
# 학습이 완료된 DecisionTreeClassifier 객체에서 테스트 데이터 세트로 예측 수행.
#150개 중에 0.2니까 30개의 결과 나올거고,
# training data로 학습을 한 다음에 test data로 결과치 예측을 하는 것이고, y_test에 정답이 있어서. 걔랑 비교를 하는 것이다.
pred = dt_classifier.predict(X_test)
iris_data.keys() 하면 key값에 대한 정보들이 나온다.
feature_names : 각 컬럼명.
data : feature들.
target은 보통 0,1,2,3,4 이런 식으로 구분 되어있고
iris 같은 경우에는 target_names가 있을 수 있음.
print('예측 정확도:',(accuracy_score(y_test, pred)))
accuray_score라는 것을 이용해서 사용한다.
728x90
'python' 카테고리의 다른 글
axis에 대해서. 1,2,3차원 (0) | 2023.06.27 |
---|---|
경기도미래기술학교 AI개발자 부트캠프 33일차 TIL- 혼자서 예측 프로그램 만들어보기. (0) | 2023.06.26 |
경기도미래기술학교 AI개발자 부트캠프 30일차 TIL- Decision Tree의 한계. ratio와 지니인덱스 (0) | 2023.06.20 |
경기도미래기술학교 AI개발자 부트캠프 29일차 TIL- Decision tree란? 엔트로피란? 개념 알고 실습하기. (1) | 2023.06.19 |
경기도미래기술학교 AI개발자 부트캠프 28일차 TIL-파이썬으로 하는 벡터공부 계속. Mean subtraction 하는 이유, 편차 만들기, 분산, 표준편차 등. (0) | 2023.06.16 |