关于使用pyspark的tf-idf的一个概念性问题
在pyspark的官方文件中,他们有一个tf idf的例子关于使用pyspark的tf-idf的一个概念性问题,pyspark,tf-idf,Pyspark,Tf Idf,在pyspark的官方文件中,他们有一个tf idf的例子 hashingTF = HashingTF() tf = hashingTF.transform(documents) tf.cache() idf = IDF().fit(tf) tfidf = idf.transform(tf) 我也准备在其他源代码类似的。问题是:为什么数据帧的名称是tfidf?结果是等于tf*idf还是只存储idf?如果是,如何计算tf*idf?如中所述,HashingTF是一种采用令牌集并生成术语频率向量的方
hashingTF = HashingTF()
tf = hashingTF.transform(documents)
tf.cache()
idf = IDF().fit(tf)
tfidf = idf.transform(tf)
我也准备在其他源代码类似的。问题是:为什么数据帧的名称是tfidf?结果是等于tf*idf还是只存储idf?如果是,如何计算tf*idf?如中所述,HashingTF
是一种采用令牌集并生成术语频率向量的方法。TF包含在该步骤中hashingTF = HashingTF(inputCol="words", outputCol="rawFeatures", numFeatures=20)
featurizedData = hashingTF.transform(wordsData)
下一步-IDF
是一个适合于数据集并生成IDFModel
的模型。IDF作为经常出现的IDFModel
权重降低代币纳入该步骤idf = IDF(inputCol="rawFeatures", outputCol="features")
idf
估计器必须适合生产变压器。因此,最后的步骤是:
idfModel = idf.fit(featurizedData)
rescaledData = idfModel.transform(featurizedData)
嗨,维塞希尼·雷迪!谢谢你的回答,不过我还是不明白。重缩放数据将存储具有某些值的稀疏向量,对吗?我的问题是,这些值是否是idf的结果,因此我应该以某种方式乘以FeatureizedData以获得tf*idf,或者,这些值是否已经是真实的tfidf?如果我不清楚,我很抱歉。我不是英语母语。
rescaledData
存储TF-IDF结果。上述管道首先计算TF,然后计算IDF,然后使用IDF.fit(FeatureizedData)