• 1.30学习总结:特征转换(标签和索引的转换)


    一、概述

      1.1 在机器学习处理过程中,为了方便相关算法的实现,通常需要将标签数据(一般为字符串)转换成整数索引,或者在算法结束后将整数索引还原成相应标签。

      1.2 在Spark ML包中提供了几个相关的转换器:

         StringIndex:将一列类别型的特征(或标签)进行编码,使其数值化,索引的范围从0开始,索引的顺序为标签的频率,出现频率最高的标签索引为0,如果输入为数值型,先将其转化成字符型再进行编码 

        IndexToString:与StringIndex相反,将整形索引还原成字符型 

        VectorIndexer:如果所有特征都被集中在一个向量中,又想对其中某些单个分量进行处理时,可以使用VectorIndexer

    二、代码实现

      2.1 使用 StringIndex进行转化

                  引入所需的类

         

         构建一个DataFrame,设置StringIndex的输入列和输出列名字

        

         训练模型

        

       2.2使用IndexToString进行转换

        

       2.3使用VectorIndexer进行转化

        导入相应的包,构建数据集

        

         构建转化器并进行训练

        

         通过categoryMaps来获得被转换的特征及其映射

        

         将模型应用于原有数据,完成转换

        

     三、学习视频

    https://www.bilibili.com/video/BV1oE411s7h7?p=74

         

  • 相关阅读:
    bzoj 3243: [Noi2013]向量内积
    bzoj 4818: [Sdoi2017]序列计数
    AtCoder Grand Contest 023 F
    bzoj 4573: [Zjoi2016]大森林
    bzoj 5305: [Haoi2018]苹果树
    bzoj 5298: [Cqoi2018]交错序列
    codeforces496C
    codeforces534B
    牛客小白月赛13
    codeforces605A
  • 原文地址:https://www.cnblogs.com/wangzhaojun1670/p/14414984.html
Copyright © 2020-2023  润新知