如何分析sklearn基础及数据处理

如何分析sklearn基础及数据处理

这篇文章跟大家分析一下“如何分析sklearn基础及数据处理”。内容详细易懂,对“如何分析sklearn基础及数据处理”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如何分析sklearn基础及数据处理”的知识吧。

sklearn库整合了多种机器学习算法,可在数据分析过程快速建立模型。通过pandas库虽然已经提供数据合并、清洗、标准化(离差标准化、标准差标准化、小数定标标准化),为构建机器学习模型对数据特征还需处理更多预处操作,因此sklearn将相关预处理功能封装为统一接口---转换器(Transformer)。使用sklearn转换器能够实现对传入的NumPy数组进行标准化处理、二值化、PCA将为等操作。

如何分析sklearn基础及数据处理

说到转换数据,实际上padas库也有提供了哑变量处理类别数据、离散化连续数据等功能。这也是为什么仅学SQL无法完全替代的pandas功能的原因之一。但sklearn引入转换器能够对训练集和测试集操作能够更加方便统一。

sklearn也提供了便于学习的经典数据集,这些数据集类似字典方式存放。通过ancanda中Spyder变量界面能够直观的看到这些数据及其值。通过这些数据我们也能领会数据分析之前对数据格式最终搞成什么样子。例如:数据(data)、标签(target)、特性(feature)等三个基本要素。后续训练集和测试的拆分及进行训练都离不开这些准备数据。

1、加载datasats数据集

如果需要加载某个数据集,则可以将对应的函数赋值给某个变量,再次强调数据集三要素:数据(data)、标签(target)、特性(feature)。如下面代码所示:

from sklearn.datasets import load_breast_cancer

cancer = load_breast_cancer()##将数据集赋值给iris变量

print('breast_cancer数据集的长度为:',len(cancer))

print('breast_cancer数据集的类型为:',type(cancer))

cancer_data = 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)

2、将数据划分为训练集和测试集

数据为什么要拆分?因为这是机器学习方法创新点。让计算思维来发掘数据内部的关联关系。这个方法不像传统的实验思维和理论思维。机器学习思路就是根据给定标签训练集来找出数据内在规律和关系。

sklearn的model_selection模块提供了train_test_split函数,能够对数据集进行拆分。

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)

3、通过sklearn转换器进行数据预处理和降维

为了消除特征之间量纲和取值范围差异可能会造成的影响需要对数据进行标准化处理,也叫做规范化处理。实际上规范化就是减少空间复杂度的过程,PCA降维对应于时间复杂度降低过程。

sklearn的转换器主要包括3个方法:fit、transform、fit_transform等。

郑州不孕不育医院:http://www.xbzztj.com/

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)

Scaler = MinMaxScaler().fit(cancer_data_test) ##生成规则

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))

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基础及数据处理就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下亿速云网站!

发布于 2022-01-10 23:44:30
收藏
分享
海报
0 条评论
49
上一篇:如何进行Spark SQL中的Structured API分析 下一篇:实用的大数据可视化工具集有哪些
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码