PrefixSpan ¶
-
class
pyspark.ml.fpm.PrefixSpan( * , minSupport : float = 0.1 , maxPatternLength : int = 10 , maxLocalProjDBSize : int = 32000000 , sequenceCol : str = 'sequence' ) [source] ¶ -
一种并行的 PrefixSpan 算法,用于挖掘频繁的序列模式。 PrefixSpan 算法在 J. Pei 等人的论文中描述,PrefixSpan: 通过前缀投影模式增长高效挖掘序列模式 (参见 这里 )。 此类尚未成为 Estimator/Transformer,使用
findFrequentSequentialPatterns()方法来运行 PrefixSpan 算法。新增于版本 2.4.0。
注释
示例
>>> from pyspark.ml.fpm import PrefixSpan >>> from pyspark.sql import Row >>> df = sc.parallelize([Row(sequence=[[1, 2], [3]]), ... Row(sequence=[[1], [3, 2], [1, 2]]), ... Row(sequence=[[1, 2], [5]]), ... Row(sequence=[[6]])]).toDF() >>> prefixSpan = PrefixSpan() >>> prefixSpan.getMaxLocalProjDBSize() 32000000 >>> prefixSpan.getSequenceCol() 'sequence' >>> prefixSpan.setMinSupport(0.5) PrefixSpan... >>> prefixSpan.setMaxPatternLength(5) PrefixSpan... >>> prefixSpan.findFrequentSequentialPatterns(df).sort("sequence").show(truncate=False) +----------+----+ |sequence |freq| +----------+----+ |[[1]] |3 | |[[1], [3]]|2 | |[[2]] |3 | |[[2, 1]] |3 | |[[3]] |2 | +----------+----+ ...
方法
clear(参数)如果参数已明确设置,则从参数映射中清除该参数。
copy([extra])创建此实例的副本,具有相同的uid和一些额外的参数。
explainParam(参数)解释单个参数并返回其名称、文档以及可选的默认值和用户提供的值的字符串。
返回所有参数的文档,包括它们可选的默认值和用户提供的值。
extractParamMap([extra])提取嵌入的默认参数值和用户提供的值,然后将它们与输入中的额外值合并到一个扁平的参数映射中,如果存在冲突,则使用后者的值,即顺序为:默认参数值 < 用户提供的值 < 额外值。
在输入的项集序列中找到完整的频繁序列模式集。
获取 maxLocalProjDBSize 的值或其默认值。
获取 maxPatternLength 的值或其默认值。
获取minSupport的值或其默认值。
getOrDefault(参数)获取用户提供的参数映射中的参数值或其默认值。
getParam(参数名称)根据名称获取参数。
获取sequenceCol的值或其默认值。
hasDefault(参数)检查参数是否具有默认值。
hasParam(paramName)测试此实例是否包含具有给定(字符串)名称的参数。
isDefined(参数)检查参数是否由用户显式设置或具有默认值。
isSet(参数)检查参数是否被用户显式设置。
set(参数, 值)在嵌入的参数映射中设置一个参数。
设置
maxLocalProjDBSize的值。设置
maxPatternLength的值。setMinSupport(值)设置
minSupport的值。setParams(self, \*[, 最小支持度, …])新增于版本 2.4.0。
setSequenceCol(值)设置
sequenceCol的值。属性
返回按名称排序的所有参数。
方法文档
-
clear( param : pyspark.ml.param.Param ) → None ¶ -
如果参数已明确设置,则从参数映射中清除该参数。
-
copy( extra : Optional [ ParamMap ] = None ) → JP ¶ -
创建此实例的副本,具有相同的uid和一些额外的参数。此实现首先调用Params.copy,然后使用额外参数复制伴随的Java管道组件。因此,Python包装器和Java管道组件都会被复制。
- Parameters
-
- extra dict, optional
-
复制到新实例的额外参数
- Returns
-
-
JavaParams -
此实例的副本
-
-
explainParam( param : Union [ str , pyspark.ml.param.Param ] ) → str ¶ -
解释单个参数并返回其名称、文档以及可选的默认值和用户提供的值的字符串。
-
explainParams( ) → str ¶ -
返回所有参数的文档,包括它们可选的默认值和用户提供的值。
-
extractParamMap( extra : Optional [ ParamMap ] = None ) → ParamMap ¶ -
提取嵌入的默认参数值和用户提供的值,然后将它们与输入中的额外值合并到一个扁平的参数映射中,如果存在冲突,则使用后者的值,即顺序为:默认参数值 < 用户提供的值 < 额外值。
- Parameters
-
- extra dict, optional
-
额外参数值
- Returns
-
- dict
-
合并的参数映射
-
findFrequentSequentialPatterns( dataset : pyspark.sql.dataframe.DataFrame ) → pyspark.sql.dataframe.DataFrame [source] ¶ -
在输入的项集序列中找到完整的频繁序列模式集。
新增于版本 2.4.0。
- Parameters
-
-
dataset
pyspark.sql.DataFrame -
一个包含序列列的数据框,该列的类型为 ArrayType(ArrayType(T)) ,其中T是输入数据集的项类型。
-
dataset
- Returns
-
-
pyspark.sql.DataFrame -
一个包含序列列和相应频率列的 DataFrame 。其模式将是:
-
sequence: ArrayType(ArrayType(T)) (T 是项类型)
-
freq: Long
-
-
-
getOrDefault( param : Union [ str , pyspark.ml.param.Param [ T ] ] ) → Union [ Any , T ] ¶ -
获取用户提供的参数映射中的参数值或其默认值。如果两者都未设置,则引发错误。
-
getParam( paramName : str ) → pyspark.ml.param.Param ¶ -
根据名称获取参数。
-
hasDefault( param : Union [ str , pyspark.ml.param.Param [ Any ] ] ) → bool ¶ -
检查参数是否具有默认值。
-
hasParam( paramName : str ) → bool ¶ -
测试此实例是否包含具有给定(字符串)名称的参数。
-
isDefined( param : Union [ str , pyspark.ml.param.Param [ Any ] ] ) → bool ¶ -
检查参数是否由用户显式设置或具有默认值。
-
isSet( param : Union [ str , pyspark.ml.param.Param [ Any ] ] ) → bool ¶ -
检查参数是否被用户显式设置。
-
set( param : pyspark.ml.param.Param , value : Any ) → None ¶ -
在嵌入的参数映射中设置一个参数。
-
setMaxLocalProjDBSize( value : int ) → pyspark.ml.fpm.PrefixSpan [source] ¶ -
设置
maxLocalProjDBSize的值。新增于版本 3.0.0。
-
setMaxPatternLength( value : int ) → pyspark.ml.fpm.PrefixSpan [source] ¶ -
设置
maxPatternLength的值。新增于版本 3.0.0。
-
setMinSupport( value : float ) → pyspark.ml.fpm.PrefixSpan [source] ¶ -
设置
minSupport的值。新增于版本 3.0.0。
-
setParams( self , \* , minSupport=0.1 , maxPatternLength=10 , maxLocalProjDBSize=32000000 , sequenceCol="sequence" ) [source] ¶ -
新增于版本 2.4.0。
-
setSequenceCol( value : str ) → pyspark.ml.fpm.PrefixSpan [source] ¶ -
设置
sequenceCol的值。新增于版本 3.0.0。
属性文档
-
maxLocalProjDBSize: pyspark.ml.param.Param[int] = Param(parent='undefined', name='maxLocalProjDBSize', doc='The maximum number of items (including delimiters used in the internal storage format) allowed in a projected database before local processing. If a projected database exceeds this size, another iteration of distributed prefix growth is run. Must be > 0.') ¶
-
maxPatternLength: pyspark.ml.param.Param[int] = Param(parent='undefined', name='maxPatternLength', doc='The maximal length of the sequential pattern. Must be > 0.') ¶
-
minSupport: pyspark.ml.param.Param[float] = Param(parent='undefined', name='minSupport', doc='The minimal support level of the sequential pattern. Sequential pattern that appears more than (minSupport * size-of-the-dataset) times will be output. Must be >= 0.') ¶
-
params¶ -
返回按名称排序的所有参数。默认实现使用
dir()获取所有类型为Param的属性。
-
sequenceCol: pyspark.ml.param.Param[str] = Param(parent='undefined', name='sequenceCol', doc='The name of the sequence column in dataset, rows with nulls in this column are ignored.') ¶
-