扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章跟大家分析一下“如何分析sklearn基础及数据处理”。内容详细易懂,对“如何分析sklearn基础及数据处理”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如何分析sklearn基础及数据处理”的知识吧。
成都创新互联公司成立10余年来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供网站建设、成都网站制作、网站策划、网页设计、空间域名、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联公司通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。
sklearn 库整合了多种机器学习算法,可在数据分析过程快速建立模型。通过 pandas 库虽然已经提供数据合并、清洗、标准化(离差标准化、标准差标准化、小数定标标准化),为构建机器学习模型对数据特征还需处理更多预处操作,因此 sklearn 将相关预处理功能封装为统一接口 --- 转换器( Transformer )。使用 sklearn 转换器能够实现对传入的 NumPy 数组进行标准化处理、二值化、 PCA 将为等操作。
说到转换数据,实际上 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基础及数据处理就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下创新互联网站!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流