# 유방암 환자 데이터 세트
# target : 0 = 악성종양, 1 = 양성종양
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
cancer = load_breast_cancer()
print(cancer["DESCR"])
'''츨략
생략...
'''
# 데이터 프레임을 만들기 위한 사전 작업
data = cancer["data"]
target = cancer["target"]
feature_names = cancer["feature_names"]
# 데이터 프레임
df = pd.DataFrame(data=data, columns=feature_names)
df["target"] = cancer["target"]
pos = df.loc[df["target"] == 1]
neg = df.loc[df["target"] == 0]
# 양성 환자 데이터 357개에 악성환자 데이터 5개를 추가하여 샘플 데이터를 만든다.
sample = pd.concat([pos, neg[:5]], sort=True)
x_train, x_valid, y_train, y_valid = train_test_split(sample.drop("target", 1), sample["target"], random_state=42)
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(x_train, y_train)
pred = model.predict(x_valid)
(pred == y_valid).mean()
'''출력
0.978021978021978
'''
# 무조건 악성 환자로 예측하는 경우가 더 정확도가 높게 나왔음
my_prediction = np.ones(shape=y_valid.shape)
(my_prediction == y_valid).mean()
'''출력
0.989010989010989
'''