机器学习 -- 特征二值化

作者: MLGirl | 来源:发表于2018-06-03 12:31 被阅读16次

所涉及到的几种 sklearn 的二值化编码函数:OneHotEncoder(), LabelEncoder(), LabelBinarizer(), 及pandas.get_dummies()

一、构造数据集:

import pandas as pd

from sklearn.preprocessing import OneHotEncoder

from sklearn.preprocessing import LabelEncoder

from sklearn.preprocessing import LabelBinarizer

pd.set_option('display.width',300)

pd.set_option('display.max_columns',300)

testdata = pd.DataFrame({'pet': ['cat', 'dog', 'dog', 'fish'],'age': [4 , 6, 3, 3],'salary':[4, 5, 1, 1]})

二、观察数据:

        这里我们把 pet、age、salary 都看做类别特征,所不同的是 age 和 salary 都是数值型,而 pet 是字符串型。我们的目的很简单: 把他们全都二值化,进行 one-hot 编码。

三、代码实现

        1、对字符串类型特征 pet 做二值化处理:

                方法总共是有两种:

                    第一种:LabelEncoder() + OneHotEncoder()

pet = OneHotEncoder(sparse=False).fit_transform(LabelEncoder().fit_transform(testdata['pet']).reshape(-1,1))

pet = pd.DataFrame(pet,columns=['pet_cat','pet_dog','pet_fish'])

                    第二:直接调用 LabelBinarizer(),用于数字和字符串都是可以的

pet_binarlizer = LabelBinarizer().fit_transform(testdata.pet)

pet = pd.DataFrame(pet_binarlizer,columns=['pet_cat','pet_dog','pet_fish'])

                    输出结果为:

        2、对数字类型特征 age,salary 做二值化处理:

                直接用 OneHotEncoder() 函数

age_and_salary = OneHotEncoder(sparse= False).fit_transform(testdata[['age',"salary"]])

age_and_salary = pd.DataFrame(age_and_salary,columns=['age_3','age_4','age_6','salary_1','salary_4','salary_5'])

                 结果为:

            3、 pandas 的concat() 连接所有数据

print(pd.concat((testdata,pet,age_and_salary),axis=1))

                结果为:

            4、总上,调用 pandas 库 中 get_dummies() 方法

            print(pd.get_dummies(testdata,columns=testdata.columns))

            结果为:

相关文章

  • 机器学习 -- 特征二值化

    所涉及到的几种 sklearn 的二值化编码函数:OneHotEncoder(),LabelEncoder(),L...

  • 1 Spark机器学习基础——特征工程

    1.Spark机器学习基础——特征工程 1.1对连续值处理 1.1.1 binarizer / 二值化 1.1.2...

  • python机器学习速成|1|数据导入

    主要任务:①完成常见的数据导入操作,包括数据导入,缺失值填充②完成常见的机器学习数据准备,包括特征二值化和训练集测...

  • 用scikit-learn做数据预处理

    数据预处理是进行机器学习的必要环节,对原始数据进行加工,比如标准化、归一化、二进制化、特征编码、插补缺失值、生成多...

  • 机器学习-特征提取-字典特征提取-文本特征提取-TF-IDF

    一、特征提取概要: 1、定义:将任意数据(如文本或图像)转换为可用于机器学习的数字特征。 注:特征值化是为了计算机...

  • 数据归一化转化方法

    一、特征二值化 二、特征归一化 (一)、总和标准化 (二)、标准差标准化 (三)、极大值标准化 (四)、极差标准化...

  • 推荐系统和协同过滤算法

    推荐系统是目前非常流行的机器学习应用。特征值对机器学习是非常重要的,而对特征值的选择会直接影响到算法的好坏,推荐系...

  • AI FOR QUANT

    问题:机器学习基本流程有哪些解答:数据获取(爬虫等)、特征抽取(经验和探索)、数据转换(缺失值填充、标准化、降维)...

  • 27-图像文件读取

    机器学习的算法都是输入特征值和目标值 图像的特征 图像里面用什么表示特征?图像是由像素组成的,所以图像的特征值就是...

  • sklearn机器学习之二值化

    什么是数据的二值化有什么用? 特征的二值化是指将数值型的特征数据转换成布尔型的值,可以使用类Binarizer默认...

网友评论

    本文标题:机器学习 -- 特征二值化

    本文链接:https://www.haomeiwen.com/subject/knljsftx.html