728x90
반응형
유방암 데이터 세트(Wisconsin Diagnostic Breast Cancer)
- 유방암 세포의 특징 10개에 대해 평균, 표준 오차, 최대 이상치가 기록되어 있다.
- 위스콘신 대학교에서 제공한 유방암 진단 결과 데이터
- 레코드수 - 569개
해결할 문제는 유방암 데이터 샘플이 악성 종양(True)인지 정상 종양(False)인지 구분하는 이진 분류 문제
의학분야에서 건강한 종양을 양성 종양, 건강하지 않은 종양을 악성 종양이라고 부른다.
하지만 이진 분류에서는 해결해야 할 목표를 양성 샘플이라고 부른다.
해결과제가 악성 종양이므로 양성 샘플이 악성 종양인 셈이다.
의학 | 이진 분류 | |
좋음 | 양성 종양(정상 종양) | 음성 샘플 |
나쁨 | 악성 종양 | 양성 샘플 (해결 과제) |
유방암 데이터 세트 준비하기
# 유방암 데이터 세트 준비
# 사이킷런의 datasets 모듈 아래에 있는 load_breast_cancer() 함수를 사용하면 된다.
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
입력 데이터 확인해보기
# 입력 데이터 확인
print("cancer.data.shape :",cancer.data.shape, "cancer.target.shape : ",cancer.target.shape)
레코드수가 569개 였으므로 정상
cancer.data[:5] # 실수 범위의 값, 양수와 음수가 석여있다.
박스 플롯으로 특성 사분위 관찰하기
# 박스플롯으로 특성 사분위 관찰
# 박스플롯은 1사분위와 3사분위 값으로 상자를 그린 다음 그 안에 2사분위(중간값)값을 표시한다.
# 그 다음 1사분위와 3사분위 사이 거리(interqurartile range)의 거리 1.5배만큼 위아래 거리에서 각각 가장 큰 값과 가장 작은 갓까지 수염을 그린다.
plt.boxplot(cancer.data)
plt.xlabel('featrue')
plt.ylabel('value')
plt.show()
특성이 다른 3개 확인해보기
# 4, 14, 24번 특성이 다른 특성보다 분포가 크다. 데이터 확인하기
cancer.feature_names[[3,13,23]] # index 0 부터 시작하니 3,13,23
# 모두 넓이와 관련된 특성
타깃 데이터 확인
# 타깃 데이터 확인
np.unique(cancer.target, return_counts=True)
# cancer.target 배열 안에는 0과 1만 들어있다.
# 0은 음성 1은 양성 클래스를 의미한다.
# unique()함수를 사용하면 고유한 값을 찾아 반환한다.
# return_counts 매개변수를 True로 지정하면 고유한 값이 등장하는 횟수까지 세어 반환한다.
# 212개 음성 클래스, 357개 양성 클래스
unique함수 사용 시 직접 확인을 안 해도 각 데이터의 클래스와 구성을 알 수 있다.
훈련 데이터 저장
# 훈련 데이터 세트 저장
x = cancer.data
y = cancer.target
728x90
반응형
최근댓글