VectorIndexer¶
-
类
pyspark.ml.feature。
VectorIndexer
( *,maxCategories:int=20.,inputCol:可选(str]=没有一个,outputCol:可选(str]=没有一个,handleInvalid:str=“错误” ) ¶ -
类索引分类特征列的数据集向量。
- 这有两个使用模式:
-
-
- 自动识别分类功能(默认行为)
-
这有助于处理数据集的未知向量与一些连续的特性和分类数据集的特性。连续之间的选择和分类是基于maxCategories参数。
设置maxCategories直言任何分类特性的最大数量。
例如:0具有独特的特性值{-1.0,0.0},和特性1值{1.0,3.0,5.0}。如果maxCategories = 2,那么功能0将分类和使用指标{0,1},和特性1将连续的。
-
- 指数的所有功能,如果所有功能分类
-
如果maxCategories将是非常大的,那么这将构建索引所有功能独特的值。
警告:这可能会导致一些问题如果功能是连续的,因为这将收集所有惟一值司机。
例如:0具有独特的特性值{-1.0,0.0},和特性1值{1.0,3.0,5.0}。如果maxCategories > = 3,那么这两个特性将宣布直言。
这返回一个模型可以使用基于指数变换分类特性。
-
- 指数稳定性:
-
这是不能保证选择跨多个运行同一类别索引。
如果分类特性包括值0,那么这是保证地图索引0值。这保持向量稀疏。
可以添加在未来更稳定。
- 待办事项:未来的扩展:以下功能计划在未来:
-
保存元数据变换;如果一个特性的元数据已经存在,不能再计算。
指定某些特性指数,通过一个参数或现有的元数据。
添加警告如果只有1分类特征类别。
例子
> > >从pyspark.ml.linalg进口向量> > >df=火花。createDataFrame(((向量。密集的([- - - - - -1.0,0.0),),…(向量。密集的([0.0,1.0),),(向量。密集的([0.0,2.0),),(“一个”])> > >索引器=VectorIndexer(maxCategories=2,inputCol=“一个”)> > >索引器。setOutputCol(“索引”)VectorIndexer……> > >模型=索引器。适合(df)> > >索引器。getHandleInvalid()“错误”> > >模型。setOutputCol(“输出”)VectorIndexerModel……> > >模型。变换(df)。头()。输出DenseVector ([1.0, 0.0])> > >模型。numFeatures2> > >模型。categoryMaps{0:{0.0:0,-1.0:1}}> > >索引器。setparam(outputCol=“测试”)。适合(df)。变换(df)。收集()(1]。测试DenseVector ([0.0, 1.0])> > >参数个数={索引器。maxCategories:3,索引器。outputCol:“向量”}> > >model2=索引器。适合(df,参数个数)> > >model2。变换(df)。头()。向量DenseVector ([1.0, 0.0])> > >vectorIndexerPath=temp_path+“/ vector-indexer”> > >索引器。保存(vectorIndexerPath)> > >loadedIndexer=VectorIndexer。负载(vectorIndexerPath)> > >loadedIndexer。getMaxCategories()= =索引器。getMaxCategories()真正的> > >modelPath=temp_path+“/ vector-indexer-model”> > >模型。保存(modelPath)> > >loadedModel=VectorIndexerModel。负载(modelPath)> > >loadedModel。numFeatures= =模型。numFeatures真正的> > >loadedModel。categoryMaps= =模型。categoryMaps真正的> > >loadedModel。变换(df)。取(1)= =模型。变换(df)。取(1)真正的> > >dfWithInvalid=火花。createDataFrame(((向量。密集的([3.0,1.0),),(“一个”])> > >索引器。getHandleInvalid()“错误”> > >model3=索引器。setHandleInvalid(“跳过”)。适合(df)> > >model3。变换(dfWithInvalid)。数()0> > >model4=索引器。setparam(handleInvalid=“保持”,outputCol=“索引”)。适合(df)> > >model4。变换(dfWithInvalid)。头()。索引DenseVector ([2.0, 1.0])
方法
清晰的
(参数)清除参数映射的参数是否被显式地设置。
复制
((额外的))创建这个实例的副本具有相同uid和一些额外的参数。
explainParam
(参数)解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。
返回文档的所有参数选择默认值和用户提供的值。
extractParamMap
((额外的))提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。
适合
(数据集[params))适合一个模型与可选参数的输入数据集。
fitMultiple
(paramMaps数据集)适合一个模型为每个参数映射的输入数据集paramMaps。
得到的价值handleInvalid或其默认值。
得到的价值inputCol或其默认值。
得到的价值maxCategories或其默认值。
getOrDefault
(参数)得到参数的值在用户提供的参数映射或其默认值。
得到的价值outputCol或其默认值。
getParam
(paramName)通过它的名称参数。
hasDefault
(参数)检查是否一个参数有默认值。
hasParam
(paramName)测试这个实例包含一个参数是否与给定名称(字符串)。
isDefined
(参数)检查参数是否由用户或显式地设置一个默认值。
收取
(参数)检查参数是否由用户显式地设置。
负载
(路径)从输入路径,读取一个毫升实例的快捷方式read () .load(路径)。
读
()返回一个MLReader这个类的实例。
保存
(路径)这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。
集
(参数值)设置一个参数嵌入参数映射。
设置的值
handleInvalid
。setInputCol
(值)设置的值
inputCol
。设置的值
maxCategories
。setOutputCol
(值)设置的值
outputCol
。setparam
(自我\ * (maxCategories,…))为这个VectorIndexer设置参数。
写
()返回一个MLWriter实例毫升实例。
属性
返回所有参数命令的名字。
方法的文档
-
清晰的
( 参数: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或其默认值。
-
getMaxCategories
( )→int¶ -
得到的价值maxCategories或其默认值。
-
getOrDefault
( 参数:联盟(str,pyspark.ml.param.Param(T]] )→联盟(任何,T] ¶ -
得到参数的值在用户提供的参数映射或其默认值。如果没有设置提出了一个错误。
-
getOutputCol
( )→str¶ -
得到的价值outputCol或其默认值。
-
getParam
( paramName:str )→pyspark.ml.param.Param ¶ -
通过它的名称参数。
-
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.VectorIndexer ¶ -
设置的值
handleInvalid
。
-
setInputCol
( 价值:str )→pyspark.ml.feature.VectorIndexer ¶ -
设置的值
inputCol
。
-
setMaxCategories
( 价值:int )→pyspark.ml.feature.VectorIndexer ¶ -
设置的值
maxCategories
。
-
setOutputCol
( 价值:str )→pyspark.ml.feature.VectorIndexer ¶ -
设置的值
outputCol
。
-
setparam
( 自我,\ *,maxCategories = 20,inputCol =没有,outputCol =没有,handleInvalid = "错误" ) ¶ -
为这个VectorIndexer设置参数。
-
写
( )→pyspark.ml.util.JavaMLWriter¶ -
返回一个MLWriter实例毫升实例。
属性的文档
-
handleInvalid
=参数(父母=‘定义’,name = ' handleInvalid ', doc = "如何处理无效数据(看不见的标签或NULL值)。选择“跳过”(过滤掉行无效数据),“错误”(抛出一个错误),或“保持”(把无效的数据放在一个特别的额外的桶,在指数类别的特性)的数量。”) ¶
-
inputCol
=参数(父母=‘定义’,name = ' inputCol ', doc =输入列名称。) ¶
-
maxCategories
=参数(父母=‘定义’,name = ' maxCategories ', doc =“阈值分类特征的数量可以(> = 2)。如果发现> maxCategories特性值,然后宣布连续”。) ¶
-
outputCol
=参数(父母=‘定义’,name = ' outputCol ', doc =输出列名称。) ¶
-
参数个数
¶ -
返回所有参数命令的名字。默认实现使用
dir ()
所有的属性类型参数
。