zoukankan      html  css  js  c++  java
  • 特征抽取--标签与索引的转化: IndexToString

    与StringIndexer相对应,IndexToString的作用是把标签索引的一列重新映射回原有的字符型标签。

    其主要使用场景一般都是和StringIndexer配合,先用StringIndexer将标签转化成标签索引,进行模

    型训练,然后在预测标签的时候再把标签索引转化成原有的字符标签。当然,你也可以另外定义其他

    的标签。

    首先,和StringIndexer的实验相同,我们用StringIndexer读取数据集中的“category”列,把字符

    型标签转化成标签索引,然后输出到“categoryIndex”列上,构建出新的DataFrame。

    #导入相关的类库

    from pyspark.sql import SparkSession
    from pyspark.ml.feature import IndexToString, StringIndexer
    #创建SparkSession对象,配置spark
    spark= SparkSession.builder.master('local').appName('IndexToStringDemo').getOrCreate()
    #创建一个简单的DataFrame训练集
    df = spark.createDataFrame(
    [(0, "a"), (1, "b"),
    (2, "c"), (3, "a"),
    (4, "a"), (5, "c")],
    ["id", "category"])
    #创建StringIndexer对象,设置输入输出对象
    indexer = StringIndexer(inputCol='category', outputCol='categoryIndex')
    #利用fit方法生成训练模型
    model = indexer.fit(df)
    #利用生成的模型对DataFrame进行转换
    indexed = model.transform(df)
    #创建IndexToString对象,设置输入输出参数,获得原有数据集的字符型标签,然后再输出到“originalCategory”
    #列上。最后,通过输出“originalCategory”列,可以看到数据集中原有的字符标签。
    converter = IndexToString(inputCol='categoryIndex',outputCol='orignalCategory')
    converter =converter.transform(indexed)
    converter.select("id","categoryIndex","orignalCategory").show()
     
  • 相关阅读:
    dpdk学习笔记2
    <c和指针>学习笔记2之数据和语句
    dpdk数据包捕获技术笔记1
    <c++primer plus>学习笔记1之第八章函数探幽
    准备面试的那些事儿1
    tcp_fast_open的概念 作用以及实现(转)
    tcp/ip详解(转)
    Build step 'Execute Windows batch command' marked build as failure
    vmware12如何安装macOSX虚拟机
    如何将exe注册为windows服务,直接从后台运行
  • 原文地址:https://www.cnblogs.com/SoftwareBuilding/p/9492298.html
Copyright © 2011-2022 走看看