加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

数据洗濯预处理赏罚入门完备指南

发布时间:2019-02-23 07:50:27 所属栏目:教程 来源:机器之心编译
导读:数据预处理赏罚是成立呆板进修模子的第一步(也很大噶?鲱重要的一步),对最终功效有抉择性的浸染:假如你的数据集没有完成数据洗濯和预处理赏罚,那么你的模子很也许也不会有用就是这么简朴。 人们凡是以为,数据预处理赏罚是一个很是死板的部门。但它就是「做好筹备」
副问题[/!--empirenews.page--]

数据预处理赏罚是成立呆板进修模子的第一步(也很大噶?鲱重要的一步),对最终功效有抉择性的浸染:假如你的数据集没有完成数据洗濯和预处理赏罚,那么你的模子很也许也不会有用——就是这么简朴。

数据洗濯预处理赏罚入门完备指南

人们凡是以为,数据预处理赏罚是一个很是死板的部门。但它就是「做好筹备」和「完全没有筹备」之间的不同,也是示意专业和业余之间的不同。就像为度假做功德先筹备一样,假如你提前将行程细节确定好,就可以或许提防旅途酿成一场恶梦。

那么,应该怎么做呢?

本文将带你明确,如安在恣意的数据集上,针对恣意一个呆板进修模子,完成数据预处理赏罚事变。

第一步,导入

让我们从导入数据预处理赏罚所必要的库开始吧。库长短常棒的行使器材:将输入转达给库,它则完成响应的事变。你可以打仗到很是多的库,但在 PYTHON 中,有三个是最基本的库。任何时辰,你都很也许最终照旧行使到它们。这三个在行使 PYTHON 时最风行的库就是 Numpy、Matplotlib 和 Pandas。Numpy 是满意全部数学运算所必要的库,因为代码是基于数学公式运行的,因此就会行使到它。Maplotlib(详细而言,Matplotlib.pyplot)则是满意画图所必要的库。Pandas 则是最好的导入并处理赏罚数据集的一个库。对付数据预处理赏罚而言,Pandas 和 Numpy 根基是必须的。

最恰当的方法是,在导入这些库的时辰,赋予其缩写的称号情势,在之后的行使中,这可以节减必然的时刻本钱。这一步很是简朴,可以用如下方法实现:

  1. import numpy as np 
  2. import matplotlib.pyplot as plt 
  3. import pandas as pd 

此刻,可以通过输入如下语句读入数据集

  1. dataset = pd.read_csv('my_data.csv') 

这个语句汇报 Pandas(pd) 来读入数据集。在本文中,我也附上数据集的前几行数据。

我们有了数据集,但必要建设一个矩阵来生涯自变量,以及一个向量来生涯因变量。为了建设生涯自变量的矩阵,输入语句:

  1. X = dataset.iloc[:, :-1].values 

第一个冒号暗示提取数据集的所有行,「:-1」则暗示提取除最后一列以外的全部列。最后的「.values」暗示但愿提取全部的值。接下来,我们但愿建设生涯因变量的向量,取数据的最后一列。输入语句:

  1. y = dataset.iloc[:, 3].values 

记着,在查察数据集的时辰,索引(index)是从 0 开始的。以是,假如但愿统计列数,从 0 开始计数而不是 1。「[:, :3]」会返回 animal、age 和 worth 三列。个中 0 暗示 animal,1 暗示 age,2 暗示 worth。对付这种计数要领,纵然你没见过,也会在很短的时刻内顺应。

假若有缺失数据会怎么样?

究竟上,我们总会碰着数据缺失。对此,我们可以将存在缺失的行直接删除,但这不是一个好步伐,还很轻易激发题目。因此必要一个更好的办理方案。最常用的要领是,用其地址列的均值来添补缺失。为此,你可以操作 scikit-learn 预处理赏罚模子中的 inputer 类来很轻松地实现。(假如你还不知道,那么我凶猛提议你搞大白它:scikit-learn 包括很是棒的呆板进修模子)。在呆板进修中,你也许并不顺应诸如「要领」、「类」和「工具」这些术语。这不是什么大题目!

  • 类就是我们但愿为某目标所成立的模子。假如我们但愿搭建一个棚子,那么搭建筹划就是一个类。
  • 工具是类的一个实例。在这个例子中,按照筹划所搭建出来的一个棚子就是一个工具。统一个类可以有许多工具,就像可以按照筹划搭建出许多个棚子一样。
  • 要领是我们可以在工具上行使的器材,或在工具上实现的函数:转达给它某些输入,它返回一个输出。这就像,当我们的棚子变得有点不通气的时辰,可以行使「打开窗户」这个要领。

图:Roman Kraft 宣布于 Unsplash

为了行使 imputer,输入相同如下语句。

  1. from sklearn.preprocessing import Imputer 
  2. imputer = Imputer(missing_values = np.nan, strategy = ‘mean’, axis = 0) 

均值添补是默认的添补计策,以是着实不必要指定,加在此处是为了利便相识可以包括什么信息。missing_values 的默认值是 nan。假如你的数据齐集存在「NaN」情势的缺失值,那么你应该存眷 np.nan,可以在此查察官方文档:

https://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html

为了拟合这个 imputer,输入:

  1. imputerimputer = imputer.fit(X[:, 1:3]) 

我们只但愿在数据存在缺失的列上拟合 imputer。这里的第一个冒号暗示包括全部行,而「1:3」则暗示我们取索引为 1 和 2 的列。不要担忧,你很快就会风俗 PTYHON 的计数要领的。

此刻,我们但愿挪用现实上可以替代添补缺失数据的要领。通过输入以下语句完成:

  1. X[:, 1:3] = imputer.transform(X[:, 1:3]) 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读