【Python】读取sklearn数据集及常见操作记录(加载、划分、标准化、降维)

本博客内容来源于:
《Python数据分析与应用》第6章使用sklearn构建模型,侵请删
相关网站链接

一、基本操作涉及的主要模块

1、数据获取模块:sklearn.datasets
2、模型选择模块:sklearn.model_selection
3、数据预处理模块:sklearn.preprocessing
4、特征分解模块:sklearn.decomposition

二、直接上完整代码

# 代码 6-1  加载sklearn中的乳腺癌数据集
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()##将数据集赋值给iris变量
print('breast_cancer数据集的长度为:',len(cancer))
print('breast_cancer数据集的类型为:',type(cancer))


# 代码 6-2
cancer_data = cancer['data']
#print(type(cancer_data))
print('breast_cancer数据集的数据为:','\n',cancer_data)

cancer_target = cancer['target'] ## 取出数据集的标签
print('breast_cancer数据集的标签为:\n',cancer_target)

cancer_names = cancer['feature_names'] ## 取出数据集的特征名
print('breast_cancer数据集的特征名为:\n',cancer_names)

cancer_desc = cancer['DESCR'] ## 取出数据集的描述信息
print('breast_cancer数据集的描述信息为:\n',cancer_desc)



# 代码 6-3
print('原始数据集数据的形状为:',cancer_data.shape)
print('原始数据集标签的形状为:',cancer_target.shape)

from sklearn.model_selection import train_test_split
cancer_data_train, cancer_data_test,\
cancer_target_train, cancer_target_test = \
train_test_split(cancer_data, cancer_target, 
    test_size=0.2, random_state=42)
print('训练集数据的形状为:',cancer_data_train.shape)
print('训练集标签的形状为:',cancer_target_train.shape)
print('测试集数据的形状为:',cancer_data_test.shape)
print('测试集标签的形状为:',cancer_target_test.shape)


# 代码 6-4
import numpy as np
from sklearn.preprocessing import MinMaxScaler
Scaler = MinMaxScaler().fit(cancer_data_train) ##生成规则
##将规则应用于训练集
cancer_trainScaler = Scaler.transform(cancer_data_train) 
##将规则应用于测试集
cancer_testScaler = Scaler.transform(cancer_data_test)
print('离差标准化前训练集数据的最小值为:',np.min(cancer_data_train))
print('离差标准化后训练集数据的最小值为:',np.min(cancer_trainScaler))
print('离差标准化前训练集数据的最大值为:',np.max(cancer_data_train))
print('离差标准化后训练集数据的最大值为:',np.max(cancer_trainScaler))
print('离差标准化前测试集数据的最小值为:',np.min(cancer_data_test))
print('离差标准化后测试集数据的最小值为:',np.min(cancer_testScaler))
print('离差标准化前测试集数据的最大值为:',np.max(cancer_data_test))
print('离差标准化后测试集数据的最大值为:',np.max(cancer_testScaler))


# 代码 6-5
from sklearn.decomposition import PCA
pca_model = PCA(n_components=10).fit(cancer_trainScaler) ##生成规则
cancer_trainPca = pca_model.transform(cancer_trainScaler) ##将规则应用于训练集
cancer_testPca = pca_model.transform(cancer_testScaler) ##将规则应用于测试集
print('PCA降维前训练集数据的形状为:',cancer_trainScaler.shape)
print('PCA降维后训练集数据的形状为:',cancer_trainPca.shape)
print('PCA降维前测试集数据的形状为:',cancer_testScaler.shape)
print('PCA降维后测试集数据的形状为:',cancer_testPca.shape)  

三、其他数据集介绍

sklearn中文网站

6.2.1 boston house prices(波士顿房价)Dataset
6.2.2 iris(鸢尾花)Dataset
6.2.3 DiabetesDataset
6.2.4 Optical recognition of handwritten digitsDataset
6.2.5 LinnerudDataset
6.2.6 Wine recognition Dataset
6.2.7 Breast cancer wisconsin (diagnostic)Dataset

Sklearn提供的常用数据集

  1.    鸢尾花数据集:load_iris():用于分类任务的数据集
    
  2.    手写数字数据集:load_digits():用于分类任务或者降维任务的数据集
    
  3.    乳腺癌数据集load_breast_cancer():简单经典的用于二分类任务的数据集
    
  4.    糖尿病数据集:load_diabetes():经典的用于回归认为的数据集,值得注意的是,这10个特征中的每个特征都已经被处理成0均值,方差归一化的特征值。
    
  5.    波士顿房价数据集:load_boston():经典的用于回归任务的数据集
    
  6.    体能训练数据集:load_linnerud():经典的用于多变量回归任务的数据集。
    

补充:

cancer.keys()获取“关键字”
在这里插入图片描述
cancer.data[0] 与 cancer[‘data’][0] 效果相同
【Python】读取sklearn数据集及常见操作记录(加载、划分、标准化、降维)_第1张图片

你可能感兴趣的:(Python,机器学习)