用sklearn里的乳腺癌数据集,对恶性肿瘤和良性肿瘤进行预测,案例中用到的是高斯朴素贝叶斯算法GaussianNB。
导入数据
from sklearn.datasets import load_breast_cancer
cancer_data = load_breast_cancer()
print(cancer_data.keys())
用keys()方法打印数据集,可以发现每次调用sklearn的数据集的时候,都包括以下信息:
data:特征数据,
target:目标变量,
target_names:目标变量的名称,
DESCR:数据描述,
feature_names:特征名。
探索数据
print(cancer_data['DESCR'])
特征有30个,都是医学领域的专有名词;目标变量的类型有两种 ,212个恶性,357个良性样本。
划分数据集
#划分数据集
from sklearn.model_selection import train_test_split
X = cancer_data['data']
y = cancer_data['target']
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=0)
用train_test_split()划分数据集,没有加size参数的时候,默认训练集是75%,测试集是25%;我们也可以加上,比如test_size = 0.2 意味着按20%的比例去划分测试集。
建模&评分
# 高斯朴素贝叶斯
from sklearn.naive_bayes import GaussianNB
model_gnb = GaussianNB()
model_gnb.fit(X_train,y_train)
模型的得分是93.7%,非常地高。