当我们拿到一个数据分析任务时,我们并不能直接调用数据挖掘算法来解决该问题。在实际的任务中,我们所面对的数据质量都不是特别的规整,如果我们对质量较差的数据集直接应用算法建模,那么得到结果也可想而知。所以在调用算法之前,必须对数据进行预处理工作。数据预处理是整个数据挖掘过程中最累的一部分工作,但也是非常重要的一部分工作,只有得到质量较高的数据集,后期的建模工作才会更有意义。数据预处理涉及的方面非常的多,如缺失值处理,异常值处理,重复值处理,数据类型转换,样本处理等等。
这一小节,我们先来了解下数据类型转换中的离散型数据转换。在调用算法对数据集进行训练时,算法并不能识别这些离散型的数据(例如:Male, Female),所以,我们就需要将这些离散型数据转换为计算机可识别的数值型数据(如:0,1,2…)。
这里我们介绍4种离散型数据的处理方法,其中两种是使用python的pandas库进行处理,另外两种是使用python的sklearn库进行处理。
导入数据集:
链接:https://pan.baidu.com/s/14nMqBH1kHm_CJWp_7mNE5w
提取码:i75t
import pandas as pd
import numpy as np
pk = pd.read_csv('D:\\Py_dataset\\Pokemon.csv')
pk.head()