Python(Colab) 아이리스 데이터 셋 (Iris data set)(Scikit-Learn)

2023. 6. 12. 15:43파이썬/머신러닝 및 딥러닝

🔴 주의점

> 검증 데이터와 학습 데이터에서 겹치는 데이터가 존재시 과대적합(overfitting)이 발생한다
> 그래서 검증데이터랑 학습데이터에는 겹치는게 있으면 X

 

1. 기초 설정

 

from sklearn.datasets  import load_iris
 
iris = load_iris()

 

2. 데이터셋 설명 보기

 

print(iris['DESCR'])
 

 

3. 데이터 셋 설명 요약

 

 

 

4. 데이터 셋 key + value찾기

 

iris.keys()
 

 

# data, target, frame, target_names, DESCR, feature_names, filename,data_module 8개 존재 

 

5. data 키만 뽑아서 변수의 저장하기

 

data = iris['data']
 

 

 

6. 데이터 프레임에 사용할 target과 feature_names 분리하기

 

target = iris['target']
 
feature_names = iris['feature_names']
 

 

 

 

 

7. 데이터 프레임 만들기 value : data / column: feature_names

 

df_iris = pd.DataFrame(data, columns = feature_names)
df_iris
 

 

 

8. 타겟(nd_array)을 데이터프레임에 추가하기

 

df_iris['target'] = target
 
 

 

 

 

9. iris 데이터 검증 데이터와 학습 데이터 분리

train_test_split(독립변수,종속변수,테스트사이즈,시드값)

from sklearn.model_selection import train_test_split
 

X_train, X_test, Y_train, Y_test = train_test_split(df_iris.drop('target',1),
                                                    df_iris['target'],
                                                    test_size=0.2,
                                                    random_state=10)
 
 
# 반환값  X_train, X_test, Y_train, Y_test  이런 순서로 리턴된다.

 

 

 

10. 학습데이터, 검증데이터 분리 개수 확인

 

 

 

11. 학습시키기

SVC.fit(학습데이터 독립변수, 학습데이터 종속변수)

from sklearn.svm import SVC #곡선으로 알려주는 것
from sklearn.metrics import accuracy_score
 
svc = SVC()
 
svc.fit(X_train,Y_train)

 

 

 

12. 머신 테스트 하기

SVC.predict(검증데이터 독립변수)

y_pred = svc.predict(X_test)

 

 

 

13. 결과 검증

accuracy_score(검증데이터 종속변수, predict)

print('정답률',accuracy_score(Y_test,y_pred))
 

 

728x90