StringIndexer

pyspark.ml.feature。 StringIndexer ( *,inputCol:可选(str]=没有一个,outputCol:可选(str]=没有一个,inputCols:可选(列表(str]]=没有一个,outputCols:可选(列表(str]]=没有一个,handleInvalid:str=“错误”,stringOrderType:str=“frequencyDesc” )

一个标签索引器映射一个字符串列的索引标签的ML列标签。如果输入列数字,我们丢给字符串和字符串的索引值。指数在[0,numLabels)。默认情况下,这是命令标签频率最常见的标签被索引0。订购行为是通过设置控制stringOrderType。其默认值是“frequencyDesc”。

例子

> > >stringIndexer=StringIndexer(inputCol=“标签”,outputCol=“索引”,stringOrderType=“frequencyDesc”)> > >stringIndexersetHandleInvalid(“错误”)StringIndexer……> > >模型=stringIndexer适合(stringIndDf)> > >模型setHandleInvalid(“错误”)StringIndexerModel……> > >道明=模型变换(stringIndDf)> > >排序(((((0),(1])道明选择(道明id,道明索引)收集()))关键=λx:x(0])[(0,0.0),(2.0)、(1.0)、(0.0)、(0.0)、(1.0)]> > >逆变器=IndexToString(inputCol=“索引”,outputCol=“label2”,标签=模型标签)> > >itd=逆变器变换(道明)> > >排序(((((0),str((1)))itd选择(itdid,itdlabel2)收集()))关键=λx:x(0])[(0,a)、(b), (2, ' c '), (3 ' '), (4 ' '), (5 ' c '))> > >stringIndexerPath=temp_path+“/ string-indexer”> > >stringIndexer保存(stringIndexerPath)> > >loadedIndexer=StringIndexer负载(stringIndexerPath)> > >loadedIndexergetHandleInvalid()= =stringIndexergetHandleInvalid()真正的> > >modelPath=temp_path+“/ string-indexer-model”> > >模型保存(modelPath)> > >loadedModel=StringIndexerModel负载(modelPath)> > >loadedModel标签= =模型标签真正的> > >indexToStringPath=temp_path+“/ index-to-string”> > >逆变器保存(indexToStringPath)> > >loadedInverter=IndexToString负载(indexToStringPath)> > >loadedInvertergetLabels()= =逆变器getLabels()真正的> > >loadedModel变换(stringIndDf)(1)= =模型变换(stringIndDf)(1)真正的> > >stringIndexergetStringOrderType()“frequencyDesc”> > >stringIndexer=StringIndexer(inputCol=“标签”,outputCol=“索引”,handleInvalid=“错误”,stringOrderType=“alphabetDesc”)> > >模型=stringIndexer适合(stringIndDf)> > >道明=模型变换(stringIndDf)> > >排序(((((0),(1])道明选择(道明id,道明索引)收集()))关键=λx:x(0])[(0,2.0),(1.0)、(0.0)、(2.0)、(2.0)、(0.0)]> > >fromlabelsModel=StringIndexerModelfrom_labels([“一个”,“b”,“c”),inputCol=“标签”,outputCol=“索引”,handleInvalid=“错误”)> > >结果=fromlabelsModel变换(stringIndDf)> > >排序(((((0),(1])结果选择(结果id,结果索引)收集()))关键=λx:x(0])[(0,0.0),(1.0)、(2.0)、(0.0)、(0.0)、(2.0)]> > >testData=sc并行化([(id=0,label1=“一个”,label2=“e”),(id=1,label1=“b”,label2=“f”),(id=2,label1=“c”,label2=“e”),(id=3,label1=“一个”,label2=“f”),(id=4,label1=“一个”,label2=“f”),(id=5,label1=“c”,label2=“f”)),3)> > >multiRowDf=火花createDataFrame(testData)> > >输入=(“label1”,“label2”]> > >输出=(“index1”,“index2”]> > >stringIndexer=StringIndexer(inputCols=输入,outputCols=输出)> > >模型=stringIndexer适合(multiRowDf)> > >结果=模型变换(multiRowDf)> > >排序(((((0),(1),(2])结果选择(结果id,结果index1,结果index2)收集()))关键=λx:x(0])((0,0.0,1.0),(1,2.0,0.0),(2,1.0,1.0),(3,0.0,0.0),(0.0,0.0),(5、1.0、0.0)]> > >fromlabelsModel=StringIndexerModelfrom_arrays_of_labels([[“一个”,“b”,“c”),(“e”,“f”]],inputCols=输入,outputCols=输出)> > >结果=fromlabelsModel变换(multiRowDf)> > >排序(((((0),(1),(2])结果选择(结果id,结果index1,结果index2)收集()))关键=λx:x(0])((0,0.0,0.0),(1,1.0,1.0),(2,2.0,0.0),(3,0.0,1.0),(0.0,1.0),(5、2.0、1.0)]

方法

清晰的(参数)

清除参数映射的参数是否被显式地设置。

复制((额外的))

创建这个实例的副本具有相同uid和一些额外的参数。

explainParam(参数)

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams()

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap((额外的))

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

适合(数据集[params))

适合一个模型与可选参数的输入数据集。

fitMultiple(paramMaps数据集)

适合一个模型为每个参数映射的输入数据集paramMaps

getHandleInvalid()

得到的价值handleInvalid或其默认值。

getInputCol()

得到的价值inputCol或其默认值。

getInputCols()

得到的价值inputCols或其默认值。

getOrDefault(参数)

得到参数的值在用户提供的参数映射或其默认值。

getOutputCol()

得到的价值outputCol或其默认值。

getOutputCols()

得到的价值outputCols或其默认值。

getParam(paramName)

通过它的名称参数。

getStringOrderType()

获得的价值stringOrderType或其默认值“frequencyDesc”。

hasDefault(参数)

检查是否一个参数有默认值。

hasParam(paramName)

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined(参数)

检查参数是否由用户或显式地设置一个默认值。

收取(参数)

检查参数是否由用户显式地设置。

负载(路径)

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

()

返回一个MLReader这个类的实例。

保存(路径)

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

(参数值)

设置一个参数嵌入参数映射。

setHandleInvalid(值)

设置的值handleInvalid

setInputCol(值)

设置的值inputCol

setInputCols(值)

设置的值inputCols

setOutputCol(值)

设置的值outputCol

setOutputCols(值)

设置的值outputCols

setparam(自我,\ [,outputCol inputCol…))

为这个StringIndexer设置参数。

setStringOrderType(值)

设置的值stringOrderType

()

返回一个MLWriter实例毫升实例。

属性

handleInvalid

inputCol

inputCols

outputCol

outputCols

参数个数

返回所有参数命令的名字。

stringOrderType

方法的文档

清晰的 ( 参数:pyspark.ml.param.Param )→没有

清除参数映射的参数是否被显式地设置。

复制 ( 额外的:可选(ParamMap]=没有一个 )→摩根大通

创建这个实例的副本具有相同uid和一些额外的参数。这个实现第一次调用参数。复制and then make a copy of the companion Java pipeline component with extra params. So both the Python wrapper and the Java pipeline component get copied.

参数
额外的 东西,可选

额外参数复制到新实例

返回
JavaParams

这个实例的副本

explainParam ( 参数:联盟(str,pyspark.ml.param.Param] )→str

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams ( )→str

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap ( 额外的:可选(ParamMap]=没有一个 )→ParamMap

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

参数
额外的 东西,可选

额外的参数值

返回
dict

合并后的参数映射

适合 ( 数据集:pyspark.sql.dataframe.DataFrame,参数个数:联盟[ParamMap、列表(ParamMap)元组(ParamMap),没有一个)=没有一个 )→联盟(,列表(] ]

适合一个模型与可选参数的输入数据集。

参数
数据集 pyspark.sql.DataFrame

输入数据集。

参数个数 dict或列表或元组,可选的

一个可选的参数覆盖嵌入参数的地图。如果列表/元组的参数映射,这适用于每一个参数并返回一个列表的模型映射。

返回
变压器或者一个列表变压器

拟合模型(年代)

fitMultiple ( 数据集:pyspark.sql.dataframe.DataFrame,paramMaps:序列(ParamMap] )→迭代器(元组(int,] ]

适合一个模型为每个参数映射的输入数据集paramMaps

参数
数据集 pyspark.sql.DataFrame

输入数据集。

paramMaps collections.abc.Sequence

一系列的参数映射。

返回
_FitMultipleIterator

一个线程安全的iterable包含为每个参数映射模型。每次调用下一个(modelIterator)将返回(指数模型)模型是适合使用在哪里paramMaps(指数)指数值可能不是连续的。

getHandleInvalid ( )→str

得到的价值handleInvalid或其默认值。

getInputCol ( )→str

得到的价值inputCol或其默认值。

getInputCols ( )→列表(str]

得到的价值inputCols或其默认值。

getOrDefault ( 参数:联盟(str,pyspark.ml.param.Param(T]] )→联盟(任何,T]

得到参数的值在用户提供的参数映射或其默认值。如果没有设置提出了一个错误。

getOutputCol ( )→str

得到的价值outputCol或其默认值。

getOutputCols ( )→列表(str]

得到的价值outputCols或其默认值。

getParam ( paramName:str )pyspark.ml.param.Param

通过它的名称参数。

getStringOrderType ( )→str

获得的价值stringOrderType或其默认值“frequencyDesc”。

hasDefault ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查是否一个参数有默认值。

hasParam ( paramName:str )→bool

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查参数是否由用户或显式地设置一个默认值。

收取 ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查参数是否由用户显式地设置。

classmethod 负载 ( 路径:str )→RL

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

classmethod ( )→pyspark.ml.util.JavaMLReader(RL]

返回一个MLReader这个类的实例。

保存 ( 路径:str )→没有

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

( 参数:pyspark.ml.param.Param,价值:任何 )→没有

设置一个参数嵌入参数映射。

setHandleInvalid ( 价值:str )pyspark.ml.feature.StringIndexer

设置的值handleInvalid

setInputCol ( 价值:str )pyspark.ml.feature.StringIndexer

设置的值inputCol

setInputCols ( 价值:列表(str] )pyspark.ml.feature.StringIndexer

设置的值inputCols

setOutputCol ( 价值:str )pyspark.ml.feature.StringIndexer

设置的值outputCol

setOutputCols ( 价值:列表(str] )pyspark.ml.feature.StringIndexer

设置的值outputCols

setparam ( 自我,\ *,inputCol =没有,outputCol =没有,inputCols =没有,outputCols =没有,handleInvalid = "错误",stringOrderType = " frequencyDesc " )

为这个StringIndexer设置参数。

setStringOrderType ( 价值:str )pyspark.ml.feature.StringIndexer

设置的值stringOrderType

( )→pyspark.ml.util.JavaMLWriter

返回一个MLWriter实例毫升实例。

属性的文档

handleInvalid =参数(父母=‘定义’,name = ' handleInvalid ', doc = "如何处理无效数据(看不见的或NULL值)的特性和标签列字符串类型。选择“跳过”(过滤掉行无效数据),错误(抛出一个错误),或“保持”(把无效的数据放在一个特别的额外的桶,在指数numLabels)。”)
inputCol =参数(父母=‘定义’,name = ' inputCol ', doc =输入列名称。)
inputCols =参数(父母=‘定义’,name = ' inputCols ', doc =输入列名称。)
outputCol =参数(父母=‘定义’,name = ' outputCol ', doc =输出列名称。)
outputCols =参数(父母=‘定义’,name = ' outputCols ', doc =输出列名称。)
参数个数

返回所有参数命令的名字。默认实现使用dir ()所有的属性类型参数

stringOrderType =参数(父母=‘定义’,name = ' stringOrderType ', doc = '如何订购标签的字符串列。排序后的第一个标签分配索引为0。支持选择:frequencyDesc、frequencyAsc alphabetDesc alphabetAsc。默认是frequencyDesc。在相同的频率下frequencyDesc / Asc,字符串是进一步按照字母顺序排列)