【问题标题】:Output of "rowsimilarity" is different for each run每次运行的“行相似性”输出都不同
【发布时间】:2016-01-20 13:38:34
【问题描述】:

Mahout:在每次运行以下提到的步骤时,行相似性过程的输出都是不同的(保持所有运行的所有输入相同)

Step1:seq2sparse(从文本创建向量) Step2:rowid(生成tfidf向量) Step3:rowsimilarity(计算向量之间的相似度) Step4:seqdumper(二进制向量转文本)

更新:

感谢 Pferrel 的回复,
请建议我们如何指定“种子值”

我使用的命令是: ${MAHOUT_HOME}/bin/mahout seq2sparse -i ${DATA}/seq-data -o ${DATA}/vectors -n 2 -wt tfidf -ng 3 -nv -ow -md 100 -s 10

${MAHOUT_HOME}/bin/mahout rowid -i ${DATA}/vectors/tfidf-vectors/part-r-00000 -o ${DATA}/matrix

${MAHOUT_HOME}/bin/mahout rowsimilarity -i ${DATA}/matrix/matrix -o ${DATA}/similarity --similarityClassname SIMILARITY_COSINE -m 100 -ess -ow

【问题讨论】:

    标签: mahout


    【解决方案1】:

    数据是随机下采样的,因此如果您需要可重复性,请将种子设置为固定值。您也可以将下采样设置为在大量项目上启动以禁用它,但请注意,这会使其运行速度变慢,速度将接近 O(n^2)。

    【讨论】:

    • 您好 pferrel 感谢您的回答,请找到我有问题的更新并建议如何设置“种子值”(我们使用的是 Mahout 0.9 版本)
    • 种子用作随机抽样的“种子”,仅在您想要完全可重复的结果时使用。否则,基于随机抽样的结果会有一些细微的变化。项目相似性仅用于协同过滤的原因并对数据进行下采样以将计算保持在 O(n) 并且在某个点之后数据产生的收益递减。顺便说一句,这里有一个新的 Spark 版本,在 Mahout 0.11.x 中运行速度提高了 10 倍 mahout.apache.org/users/algorithms/…
    • 对于协同过滤,在我尝试过的每种情况下,对数似然比 (LLR) 都比余弦效果更好。
    猜你喜欢
    • 2015-11-10
    • 2016-01-24
    • 2022-08-04
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多