- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 DataBricks 上尝试了标准的 spark HashingTF 示例。
import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer}
val sentenceData = spark.createDataFrame(Seq(
(0, "Hi I heard about Spark"),
(0, "I wish Java could use case classes"),
(1, "Logistic regression models are neat")
)).toDF("label", "sentence")
val tokenizer = new Tokenizer().setInputCol("sentence").setOutputCol("words")
val wordsData = tokenizer.transform(sentenceData)
val hashingTF = new HashingTF()
.setInputCol("words").setOutputCol("rawFeatures").setNumFeatures(20)
val featurizedData = hashingTF.transform(wordsData)
display(featurizedData)
[0,20,[0,5,9,17],[1,1,1,2]]
[0,20,[2,7,9,13,15],[1,1,3,1,1]]
[0,20,[4,6,13,15,18],[1,1,1,1,1]]
最佳答案
正如 mcelikkaya 所指出的,输出频率不是您所期望的。这是由于少数特征(在本例中为 20)的哈希冲突造成的。我在输入数据中添加了一些单词(用于说明目的)并将特征增加到 20,000,然后产生正确的频率:
+-----+---------------------------------------------------------+-------------------------------------------------------------------------+--------------------------------------------------------------------------------------+
|label|sentence |words |rawFeatures |
+-----+---------------------------------------------------------+-------------------------------------------------------------------------+--------------------------------------------------------------------------------------+
|0 |Hi hi hi hi I i i i i heard heard heard about Spark Spark|[hi, hi, hi, hi, i, i, i, i, i, heard, heard, heard, about, spark, spark]|(20000,[3105,9357,11777,11960,15329],[2.0,3.0,1.0,4.0,5.0]) |
|0 |I i wish Java could use case classes spark |[i, i, wish, java, could, use, case, classes, spark] |(20000,[495,3105,3967,4489,15329,16213,16342,19809],[1.0,1.0,1.0,1.0,2.0,1.0,1.0,1.0])|
|1 |Logistic regression models are neat |[logistic, regression, models, are, neat] |(20000,[286,1193,9604,13138,18695],[1.0,1.0,1.0,1.0,1.0]) |
+-----+---------------------------------------------------------+-------------------------------------------------------------------------+------------------------------------------------------------
关于scala - Spark HashingTF 结果说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153131/
我正在使用 eclipse Mars、java 8 和 Spark Spark-Assembly-1.6.1-hadoop2.4.0.jar 实现潜在语义分析 LSA我将文档作为 token 传递,然
我在 DataBricks 上尝试了标准的 spark HashingTF 示例。 import org.apache.spark.ml.feature.{HashingTF, IDF, Tokeni
我是 Spark 2 的新手。 我试过 Spark tfidf 示例 sentenceData = spark.createDataFrame([ (0.0, "Hi I heard abou
Spark MLLIb 有一个 HashingTF() 函数,可根据每个术语的哈希值计算文档术语频率。 1)它使用什么函数来进行散列? 2) 如何从 Python 获得相同的哈希值? 3)如果我想计算
基于 1.4 ( https://spark.apache.org/docs/1.4.0/mllib-feature-extraction.html ) 的 Spark 文档,我正在编写一个 TF-I
尝试在 Spark 中进行文档分类。我不确定哈希在 HashingTF 中做了什么;它会牺牲任何准确性吗?我怀疑,但我不知道。 spark文档说它使用了“散列技巧”......只是工程师使用的非常糟糕
Spark MLlib中HashingTF中的numFeatures与文档(句子)中的实际术语数之间有什么关系吗? List data = Arrays.asList( RowFactory.cr
我是一名优秀的程序员,十分优秀!