一、Sklearn介绍

scikit-learn是Python语言开发的机器学习库,一般简称为sklearn,目前算是通用机器学习算法库中实现得比较完善的库了。其完善之处不仅在于实现的算法多,还包括大量详尽的文档和示例。其文档写得通俗易懂,完全可以当成机器学习的教程来学习。

二、Sklearn数据集种类

sklearn 的数据集有好多个种
自带的小数据集(packaged dataset):sklearn.datasets.load_
可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_
计算机生成的数据集(Generated Dataset):sklearn.datasets.make_
svmlight/libsvm格式的数据集:sklearn.datasets.load_svmlight_file(…)
从买了http://data.org在线下载获取的数据集:sklearn.datasets.fetch_mldata(…)

三、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:

Python 乳腺癌数据集的统计计算和数据分析 sklearn乳腺癌数据集 数据 含义_深度学习

获取数据集的返回类型:

Python 乳腺癌数据集的统计计算和数据分析 sklearn乳腺癌数据集 数据 含义_机器学习_02

数据集进行分割:

Python 乳腺癌数据集的统计计算和数据分析 sklearn乳腺癌数据集 数据 含义_python_03

五、代码示例:

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为训练集的特征值,y_train为训练集的目标值,x_test为测试集的特征值,y_test为测试集的目标值
# 注意,接收参数的顺序固定
# 训练集占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库中的数据集