擅长:python、mysql、java
<p>FPGrowth使用数组而不是向量。由于<code>VectorAssembler</code>将给您一个矢量作为输出,一个可能的简单解决方案是使用<code>UDF</code>将输出转换为数组。在</p>
<pre><code>to_array = udf(lambda x: x.toArray(), ArrayType(DoubleType()))
df = df.withColumn('features', to_array('features'))
</code></pre>
<hr/>
<p>更好的解决方案是一次完成所有操作,即根本不使用<code>VectorAssembler</code>。这样做的好处是根本不需要<code>UDF</code>,因此速度更快。这将使用pyspark中内置的<code>array</code>函数。在</p>
^{pr2}$