본문으로 바로가기

4-4 분류용 데이터 세트

category AI 2020. 11. 18. 01:51
728x90

위스콘신 유방암 데이터 세트(Wisconsin breast cancer dataset)이용


유방암 데이터 세트는 유방암 세포의 특징 10개에 대한 평균, 표준오차, 최대 이상치 기록

 

해결과제) 샘플이 악성(True)인지 정상(False)인지 구분하는 이진 분류 문제

  의학 이진 분류
좋음 양성 종양(정상 종양) 음성 샘플
나쁨 악성 종양 양성 샘플(해결과제)

 

  • load_breast_cancer() 함수 호출
    • 사이킷 런의 datasets 모듈 아래 load_breast_cancer() 함수를 사용
    • Bunch 클래스 객체 호출
from sklearn.datasets import load_breast_cancer
import matplotlib.pyplot as plt
import numpy as np

cancer = load_breast_cancer()

 

  • 입력 데이터 확인
    • cancer의 data와 target을 살펴보기
print(cancer.data.shape, cancer.target.shape)

 

 

  • 박스 플롯으로 특성의 사분위 관찰
    • 박스 플롯은 1사분위와 3사분위의 값으로 상자를 그리고 2사분위(중간값을 표시)
    • 1사분위와 3사분위 사이의 거리(interquartile range)의 1.5배 만큼 위아래 거리에서 가장큰 값과 가장 작은 값 까지 수염 그리기

plt.boxplot(cancer.data)
plt.xlabel('feature')
plt.ylabel('value')
plt.show()

 

  • 눈에 띄는 특성 살펴보기
    • 4, 14, 24번째 특성이 다른 값보다 분포가 큰것을 확인
    • 4, 14, 24번째 특성의 인덱스를 리스트로 묶어 전달하면 특성 확인가능
cancer.feature_names[[3,13,23]]

넓이와 관련된 특성

 

  • 타깃 데이터 확인
    • 음성 샘플(정상 종양) 과 양성 샘플(악성종양)을 구분하는 이진 분류 문제 해결이 목표
    • cancer.target은 0과 1만 포함 (0은 음성, 1은 양성)
    • 넘파이의 unipue()함수를 이용해 고유한 값을 찾아 반환
    • return_counts 매개변수를 True로 지정하여 고유값 등장 횟수까지 반환
np.unique(cancer.target, return_counts=True)

 

  • 훈련 데이터 세트 저장
    • 예제 데이터 세트를 x, y변수에 저장
x = cancer.data
y = cancer.target
728x90