python:用 sklearn 转换器处理数据

pip install scikit-learn 或者 直接用 Anaconda3

sklearn 提供了 model_selection 模型选择模块、preprocessing 数据预处理模块、decompisition 特征分解模块。

编写 test_sklearn_2.py 如下

python 复制代码
# -*- coding: utf-8 -*-
""" 乳腺癌数据集 """
import numpy as np
from sklearn import datasets

# 1.加载 datasets 中的数据集
cancer = datasets.load_breast_cancer()
print(len(cancer))
print(type(cancer))
# 数据集的数据
data = cancer['data']
print('breast_cancer_data:','\n', data)
# 数据集的标签
target = cancer['target']
print('breast_cancer_target:','\n', target)
# 数据集的特征名称
feature_names = cancer['feature_names']
print('breast_cancer_feature_names:','\n', feature_names)
# 数据集的描述信息
Descr = cancer['DESCR']
print('breast_cancer_DESCR:','\n', Descr)
print('-----------------------')

# 2.将数据集划分为训练集和测试集
# 原始数据集数据的形状
print('cancer_data_shape:', data.shape)
print('cancer_target_shape:', target.shape)
# 使用 train_test_split 划分数据集
from sklearn import model_selection
data_train,data_test,target_train,target_test = \
    model_selection.train_test_split(data,target, test_size=0.2, random_state=42)
print('-----------------------')
print('cancer_data_train_shape:', data_train.shape)
print('cancer_target_train_shape:', target_train.shape)
print('cancer_data_test_shape:', data_test.shape)
print('cancer_target_test_shape:', target_test.shape)

# 3.使用 sklearn 转换器进行数据预处理
from sklearn import preprocessing
# 离差标准化:生成规则
Scaler = preprocessing.MinMaxScaler().fit(data_train)
# 将规则应用于训练集
train_Scaler = Scaler.transform(data_train)
# 将规则应用于测试集
test_Scaler = Scaler.transform(data_test)
print('-----------------------')
print('data_train_min:', np.min(data_train))
print('train_Scaler_min:', np.min(train_Scaler))
print('data_train_max:', np.max(data_train))
print('train_Scaler_max:', np.max(train_Scaler))
print('data_test_min:', np.min(data_test))
print('test_Scaler_min:', np.min(test_Scaler))
print('data_test_max:', np.max(data_test))
print('test_Scaler_max:', np.max(test_Scaler))

# 对 breast_cancer 数据集 PCA 降维
from sklearn.decomposition import PCA
# PCA 降维:生成规则
pca_model = PCA(n_components=10).fit(train_Scaler)
# 将规则应用于训练集
train_pca = pca_model.transform(train_Scaler)
# 将规则应用于测试集
test_pca = pca_model.transform(test_Scaler)
print('-----------------------')
print('train_Scaler_shape:', train_Scaler.shape)
print('train_pca_shape:', train_pca.shape)
print('test_Scaler_shape:', test_Scaler.shape)
print('test_pca_shape:', test_pca.shape)

运行 python test_sklearn_2.py

参考书:【Python 数据分析与应用】第6章 使用 scikit-learn 构建模型

相关推荐
presenttttt20 分钟前
用Python和OpenCV从零搭建一个完整的双目视觉系统(六 最终篇)
开发语言·python·opencv·计算机视觉
hie9889425 分钟前
采用最小二乘支持向量机(LSSVM)模型预测气象
算法·机器学习·支持向量机
测试19981 小时前
软件测试之压力测试总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
李昊哲小课2 小时前
销售数据可视化分析项目
python·信息可视化·数据分析·matplotlib·数据可视化·seaborn
烛阴2 小时前
带参数的Python装饰器原来这么简单,5分钟彻底掌握!
前端·python
平和男人杨争争2 小时前
机器学习12——支持向量机中
算法·机器学习·支持向量机
平和男人杨争争2 小时前
机器学习14——线性回归
人工智能·机器学习·线性回归
全干engineer3 小时前
Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用
后端·python·flask·web
nightunderblackcat3 小时前
新手向:Python网络编程,搭建简易HTTP服务器
网络·python·http
李昊哲小课3 小时前
pandas销售数据分析
人工智能·python·数据挖掘·数据分析·pandas