文章目录
前言
数据预处理是我们机器学习中必不可少的一步,它就像旅行前的准备工作,只有做好了,我们在机器学习的旅途才能更加美妙
一、数据预处理包含哪些部分?
数据预处理包含,下载数据集,导入标准库,缺失数据处理等等,具体如下:
二、下载数据集
本课程用到的数据集下载地址:
https://www.superdatascience.com/pages/%E4%B8%8B%E8%BD%BD%E6%95%B0%E6%8D%AE%E9%9B%86
我们先来看下课程整体的架构,总共分为了10个部分,每个部分都有对应的一些章节,每个章节下边都有对应的链接,这个链接点击之后就是该部分对应的需要用到的数据集,以及一些随堂代码,真的是非常非常的方便。
那么我们该如何使用呢?下边我以第一部分的数据预处理来做例子:
1.下载文件目录
解压之后就是这个样子
包含所有的章节,非常的清晰,注意:现在呢只是有文件夹,其实打开会发现里边是没有东西的,那东西从哪里来?接着往下看。
2.下载对应章节的数据集
我们再来到之前下载数据集的网页中,可以看到
在数据预处理这部分,还有一个压缩包,这里边包含的就是本章节用到的所有数据等资料啦,我们也下载下来,并解压缩。
我们找到之前的文件夹,也到第一部分的Data_Preprocessing,直接覆盖原来的文件夹,或者把解压的所有数据集等资料剪切复制到我们的结构文件夹下也好,随你自己选择,自己怎么方便怎么来。
之后是同样的操作,学到哪一章,我们把相应的数据集下载下来,放到对应的文件夹下即可。
为啥这样做,不直接全部给我们就好了,这个自有它的用意,此方法的好处:
1. 方便我们掌控自己的学习进度
2. 如果某个章节的数据集有更新的话,只需更新一个链接下内容即可,不用所有的都更新及下载
我们打开本章节用到的数据Data.csv
可以看到表格中总共有4列:Country,Age,Salary,Purchased
这个是一个公司的购买记录信息,包含了客户的国籍,年龄,薪水及最后是否购买本公司的产品 这些信息。这个公司希望能通过已有的数据来建立一个模型预测新的客户是否会购买公司的产品。
这里涉及到两个变量,自变量和因变量,自变量就是Country,Age,Salary 因变量就是是否购买Purchased
那我们建立模型之前就需要先对数据进行预处理。
三、导入标准库
什么是标准库?标准库相当于一个工具包,里边包含了很多编写好的工具,如果我们需要用到某一个方法,那么我们就可以使用标准库中的一些编写好的方法来直接使用。
1. Python中导入标准库
#Importing the libraries
import numpy as np #包含了非常多的数学方法
import matplotlib.pyplot as plt #画图所用
import pandas as pd #方便导入数据集及对其进行操作
这几个是Python中最常用的标准库,直接运行就好了
2. R中导入标准库
在R中导入标准库就非常简单了,我们可以直接在Packages中找到自己需要使用的标准库,√上即可,当然也可以代码实现,只需
library(库名称) 例如:library(datasets)就可把相应的标准库导入了。
四、导入数据集
1. Python中导入数据集
1.1 设置工作路径
就可设置工作路径了,然后可以在文件中看到你所需要的数据集了
1.2 导入数据集
dataset = pd.read_csv('Data.csv') #导入数据集
运行后结果:
我们可以在变量管理器中查看,双击就可以打开dataset
Python 中序列是从0开始的,和R有些不一样,R是从1开始的
1.3 创建自变量和因变量的矩阵
X = dataset.iloc[:,:-1].values #x为除最后一列的所有列
y = dataset.iloc[:,3].values #y为第四列,Python是从0开始的
运行之后就可看到x和y的矩阵
2. R中导入数据集
2.1 设置工作路径
设置之后就可看到所使用的数据集了,然后点击More ->Set As Working Directory 就可以了
2.2 导入数据集
#Import the dataset
dataset = read.csv('Data.csv')
点击dataset就可以看到相应的数据了,注意R中序号是从1开始的
在R中是不需要创建自变量和因变量的矩阵的
3. 数据处理
最常见的数据预处理就是缺失数据处理,我们本次使用的数据中就有缺失数据。
当然,我们可以选择删除这部分数据,但是这样做的话风险很大,因为删除的数据中可能包含重要信息。一般我们采用数据填充的方法进行处理,最常用的是使用平均值填充。
总结
这个好久之前的草稿了,忘了发了,放在那里也可惜,先发了吧,之后看看再补充吧,不过很可能不补充了,因为这个过了好久了,我都忘了,晕