sklearn이 제공하는 와인 데이터셋 불러오기
from sklearn.datasets import load_wine
data = load_wine()
data의 type은 sklearn.utils.Bunch.
Bunch는 딕셔너리와 유사한 형태의 데이터 타입이다.
data.data
data메소드가 data의 특성 행렬을 반환한다.
데이터의 shape을 확인하고 싶다면?
data.data.shape
data.target
타겟 행렬의 길이(행)은 특성행렬의 길이(행)과 일치해야한다.
data.feature_names #특성 이름 확인 (column값)
data.target_names # 타겟 이름 확인 (타겟이 무엇으로 라벨링 되는지)
import pandas as pd
pd.DataFrame(data.data, columns=data.feature_names)
pd.DataFrame를 이용하여 특성행렬을 판다스 데이터프레임으로 나타낼 수 있다. 이때 인자로 특성행렬 값, 특성의 이름을 받아온다.
from sklearn.model_selection import train_test_split
result = train_test_split(X, y, test_size=0.2, random_state=123)
train_test_split()은 4개의 list값을 반환한다.
순서대로 훈련 데이터용 특성 행렬, 테스트 데이터용 특성 행렬, 훈련 데이터용 타겟 벡터, 테스트 데이터용 타겟 벡터이다.
# 데이터셋 로드하기
data = load_wine()
X = data.data
y = data.target
# 훈련용 데이터셋 나누기
X_train, X_test, y_train, y_test = train_test_split(X, y , 
                                                    test_size = 0.2,
                                                    random_state = 456)
# 훈련하기
model = RandomForestClassifier()
model.fit(X_train, y_train)
# 예측하기
y_pred = model.predict(X_test)
# 정답률 출력하기
print(accuracy_score(y_test, y_pred))
사이킷런은 exploration노드에서도 했고, 저번학기에 배운 경험이 있기에 오늘 내용은 복습하듯이 수강했다.
오늘 나온 다양한 기계학습 알고리즘(logistic , svm ...)
에 대한 이론적 배경도 한 번 복습해봐야겠다는 생각이 들었다.
이번주 주말동안 공부했던 내용 잘 복습하고 이번달에 어떤걸 중점으로 할지 잘 생각해보자.