pythonsklearn乳腺癌数据集_【sklearn数据集】SVM之乳腺癌数据集实战
一、Sklearn介绍
scikit-learn作为Python语言中的机器学习库,在当前机器学习算法领域中实现较为完善。它不仅提供了多种实现算法,并且还包含丰富详实的文档和示例内容。这些文档编写得通俗易懂,在深入理解相关技术后完全可以将其当作机器学习的基础教材来使用。
二、Sklearn数据集种类
sklearn 的数据集有好多个种
自带的小数据集(packaged dataset):sklearn.datasets.load_
可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_
计算机生成的数据集(Generated Dataset):sklearn.datasets.make_
svmlight/libsvm格式的数据集:sklearn.datasets.load_svmlight_file(…)
从数据集中获取数据集实例:通过使用fetch_mldata()函数可以从sklearn datasets模块中加载
三、Sklearn数据集
3.1 有关数据集的工具类
clearn_data_home 清空指定目录
get_data_home 获取sklearn数据根目录
load_files 加载类目数据
dump_svmlight_file 转化文件格式为svmlight/libsvm
load_svmlight_file 加载文件并进行格式转换
load_svmlight_files 加载文件并进行格式转换
3.2 有关文本分类聚类数据集
fetch_20newsgroups 新闻文本分类数据集
fetch_20newsgroups_vectorized 新闻文本向量化数据集
fetch_rcv1 路透社英文新闻文本分类数据集
有关人脸识别的数据集 fetch_lfw_pairs 人脸数据集
fetch_lfw_people 人脸数据集
fetch_olivetti_faces 人脸数据集
3.3 有关图像的数据集
load_sample_image 图像数据集
load_sample_images 图像数据集
load_digits 手写体数据集
3.4 有关医学的数据集
load_breast_cancer 乳腺癌数据集
load_diabetes 糖尿病数据集
load_linnerud 体能训练数据集
3.5 其他数据集
load_wine 葡萄酒数据集
load_iris 鸢尾花数据集
load_boston 波士顿房屋数据集
fetch_california_housing 加利福尼亚房屋数据集
fetch_kddcup99 入侵检测数据集
fetch_species_distribution 物种分布数据集
fetch_covtype 森林植被数据集
load_mldata http://mldata.org 在线下载的数据集
四、数据集API基本使用知识
数据集划分:
机器学习一般的数据集会划分为两个部分
训练数据:
用于训练,构建模型
测试数据:
在模型检验时使用,用于评估模型是否有效
sklearn数据集划分API:sklearn.model_selection.train_test_split
scikit-learn数据集API:
获取数据集的返回类型:
数据集进行分割:
五、代码示例:
5.1 breast cancer数据集基本介绍:
乳腺癌数据集一共有569个样本,30个特征,标签为二分类
类型
个数
良性 benign
357
恶性 malignant
212
5.2 获取乳腺癌训练集和数据集
from sklearn.datasets import load_breast_cancer
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np
from time import time
import datetime
cancers = load_breast_cancer()
X = cancers.data #获取特征值
Y = cancers.target #获取标签
print(X.shape) #查看特征形状
print(Y.shape) #查看标签形状
print(X)
print(Y)
print(data.DESCR) #查看数据集描述
print('特征名称')
print(data.feature_names) # 特征名
print('分类名称')
print(data.target_names) # 标签类别名
注意返回值: 训练集train,x_train,y_train,测试集test,x_test,y_test
x_train表示 training set 的特征向量, y_train代表 training set 的目标变量, x_test表示 testing set 的特征向量, y_test代表 testing set 的目标变量.
注意,接收参数的顺序固定
训练集占80%,测试集占20%
x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.2)
print('训练集的特征值和目标值:', x_train, y_train)
print('测试集的特征值和目标值:', x_test, y_test)
#dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename'])
print(cancers.keys())
5.3 建模训练、评价模型
model_linear = SVC(C=1.0, kernel='linear') # 线性核
model_linear.fit(x_train, y_train)
train_score = model_linear.score(x_train, y_train)
test_score = model_linear.score(x_test, y_test)
print('train_score:{0}; test_score:{1}'.format(train_score, test_score))
5.4 运用模型,进行预测
preresult=model_linear.predict(x_test)
#查看第一个样本的预测值
preresult[0]
说明:本文参考以下博客写成
1、SK数据集
2、Python的Sklearn库中的数据集
