1. ML(머신러닝)의 Iris DataSet
3.아이리스 데이터셋.ipynb
1.Iris DataSet
- 데이터셋: 특정한 작업을 위해 데이터를 관련성 있게 모아놓은 것
- 사이킷런 데이터셋 페이지: https://scikit-learn.org/stable/modules/classes.html?highlight=datasets#module-sklearn.datasets
🎈실습 !
🔻모듈 추가
from sklearn.datasets import load_iris
🔻 아이리스 객체 생성
iris = load_iris()
🔻 아이리스 값 확인
iris
🔻 아이리스 DESCR값 확인
print(iris['DESCR'])
🔻 아이리스 data값을 확인 합니다.
🗨 data 값 안에는 Falot형으로 값이 저장 되있는걸 확인 할 수 있습니다.
data = iris['data']
data
🔻 아이리스 target값을 확인 합니다.
🗨 target값 안에는어떤 값이 저장 되어있는지 확인합니다.
target = iris['target']
target
🔻 아이리스 feature_names값을 확인 합니다.
🗨 feature_names값 안에는 어떤 값이 저장 되어있는지 확인 해봅니다.
feature_names = iris['feature_names']
feature_names
위에 구한 target과 feature_names을 다루기 어렵기
때문에 이제 부터 Pandas를 이용하여 데이터프레임으로 만들고 다루어보겠습니다.
🔻데이터 프레임 생성을 위해 모듈 추가
import pandas as pd
🔻데이터 프레임 생성& 확인
# 아이리스 데이터프레임 생성
df_iris = pd.DataFrame(data, columns=feature_names)
# 아이리스 데이터프레임 위에서 5개 뽑아 출력하기
df_iris.head()
🔻데이터 프레임에 target 내용 합치기
df_iris['target'] = target
df_iris
👀데이터셋을 나누기
사용법 : train_test_split(독립변수, 종속변수, 테스트사이즈=0.25, 시드값)
'train_test_split'은 머신러닝 모델을 개발하고 평가하기 위해 데이터를 학습용(train)과 테스트용(test)으로 나누는 과정을 말합니다.
🔻검증을 위한 모듈 추가
from sklearn.model_selection import train_test_split
🔻아이리스 데이터셋 나누기
# train_test_split(독립변수, 종속변수, 테스트사이즈=0.25, 시드값)
# 테스트사이즈는 디폴트 0.25
#순서를 지켜줘야한다 !
X_train, X_test, y_train, y_test = train_test_split(df_iris.drop('target',1),#"target빼고 독립변수로 사용하겠다"
df_iris['target'],
test_size=0.2,
random_state=10)
🔻학습용과 테스트용으로 잘 나누어졌는지 확인을 합시다 !
X_train.shape, X_test.shape
y_train.shape, y_test.shape
🔻X_train을 확인하여 120개가 잘 섞였는지 확인합니다.
X_train
이제 학습을 해보겠습니다.
🔻학습을 위한 모듈 추가
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score # accuracy_score : 얼마나 정확히 맞췄는데 확인하는애
🔻 객체 생성
👀🗨SVM은 지도학습(Supervised Learning) 알고리즘으로, 주어진 데이터를 기반으로 분류(Classification)나 회귀(Regression)를 수행하는 모델입니다.
따라서, svc.fit(X_train, y_train)을 호출하면 SVM 모델 svc가 주어진 학습 데이터를 기반으로 학습되고, 학습된 모델은 이후에 새로운 데이터에 대한 예측을 수행할 수 있습니다.
#SVC객체 생성
svc = SVC()
svc.fit(X_train, y_train)
y_pred = svc.predict(X_test)
# 똑같은 데이터로 하여도 썪이는거에 따라서 정답률은 모든 사람이 다를수 있다(강사님이랑 값이 같을수도 다를수도 있음)
print('정답률 : ',accuracy_score(y_test, y_pred))
'개발 > 머신러닝-딥러닝' 카테고리의 다른 글
2023.06.09 ML(머신러닝)의 의사결정나무(Decision Tree)모델 (0) | 2023.06.12 |
---|---|
2023.06.08 ML(머신러닝)의 선형회귀, 평기지표, log활용 (1) | 2023.06.12 |
2023.06.08 ML(머신러닝)의 Kaggle(캐글),타이타닉 데이터셋 (0) | 2023.06.09 |
2023.06.08 ML(머신러닝)의 Scikit-learn 모듈 (0) | 2023.06.08 |
2023.06.08 ML(머신러닝)의 설명 (0) | 2023.06.08 |
댓글