循环集群并将它们存储在Repository中

弗洛弗洛 成员职位:9贡献我
2018年12月编辑 帮助

大家好,

我的数据集包含4000个示例、4个特殊属性(ID、集群、文本和离群值)以及来自文本处理的570个常规属性。到目前为止,我对这些数据所做的只是将它们聚类。现在我有37个集群,我想在存储库中为每个集群存储1个示例集。

这就是我的问题所在:我认为应该可以使用宏,“循环集群”-和“存储”-操作符,但我不知道如何设置正确的参数。

我从数据中附加了一个片段。

到目前为止,我的过程的XML:

< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.2.000”>
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文

<过程扩展= " true " >


< /操作符>



< /操作符>



<列出关键= " set_additional_roles " / >
< /操作符>

<过程扩展= " true " >

<列出关键= " filters_list " >

< / >列表
< /操作符>


< /操作符>







> < /过程
< /操作符>

<列出关键= "宏" >

< / >列表
< /操作符>







> < /过程
< /操作符>
> < /过程

我的目标是在每个主题数= 1的集群上应用“从文档中提取主题(LDA)”操作符,这样我就可以看到每个集群的热门单词。

提前感谢大家

弗洛

最好的答案

  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3362年RM数据科学家
    解决方案接受

    你好,

    “分组到集合”和“工具箱中的循环集合”执行此操作。

    如果你需要LDA的帮助就告诉我。有点像我的孩子。

    BR,

    马丁

    编辑:我猜你不想使用LDA,而是简单的过程文档之类的。

    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
    sgenzer 弗洛
  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3362年RM数据科学家
    解决方案接受

    @flo

    请看附件的流程。是应该做你想做的吗?

    BR,

    马丁

    < ?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.2.001”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >


    < /操作符>



    < /操作符>





    <列出关键= " specify_weights " / >
    <过程扩展= " true " >










    > < /过程
    < /操作符>



    < /操作符>

    <过程扩展= " true " >





    <列出关键= " additional_macros " / >
    < /操作符>





    < /操作符>



    <列出关键= " aggregation_attributes " / >
    < /操作符>




    < /操作符>



    排名第五
    < /操作符>






    < /操作符>



    <列出关键= " rename_additional_attributes " / >
    < /操作符>

    <列出关键= " function_descriptions " >

    < / >列表
    < /操作符>













    > < /过程
    < /操作符>









    任务:计算每个聚类出现频率最高的前5个单词
    > < /过程
    < /操作符>
    > < /过程

    编辑:也可以看看这篇博客文章:https://medium.com/@mSchmitz_/understanding-clustering-cf0117148ef4

    我觉得这更接近你真正想要的。

    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
    sgenzer websiteguy

答案

  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽

    @mschmitz

    这个话题激发了我对你的(可爱的)宝宝马丁的两个问题:

    实际上,我执行了这个操作符的教程。回想一下,在本教程中,我们创建并分析了5个完全相同的文档:

    ——当主题数= 5,所有文档的主题相同:

    Text_Mining_LDA.png

    ——当主题数= 10,文件有不同的主题:

    Text_Mining_LDA_2.png

    我的第一个问题是,为什么在最后一种情况下,对于类似的文档,我们没有相同的主题(就像在第一个情况下一样)?

    我的第二个问题是我们应该如何解释重量单词的权重越高,这个词就越具有主题的“特征”/越能“解释”主题。

    谢谢你!

    问候,

    莱昂内尔

  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3362年RM数据科学家

    @lionelderkrikor

    这完全是人为的,因为数据是相同的。优化在开始时使用了一些随机性。它把一个词赋给一个话题等等。因此有了不同的名字。如果里面有东西,这就会改变。我觉得你只是把前科拿出来。

    我在猫途鹰评论上找到了一个话题摘录。我想我在博客上发表了一篇关于它的文章-但是我找不到它?@sgenzer我是不是没发?

    BR,

    马丁

    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
    lionelderkrikor
  • 弗洛弗洛 成员职位:9贡献我

    你好,

    谢谢你!@mschmitz那些操作员正是我要找的人。

    因为我在一个集合中有每个集群,所以我认为我可以在这些集合上使用“从文档中提取主题”(主题数量:1)来查看每个集群的TOP单词....

    但我现在一直在想:

    我所做的是首先通过k means聚类我的文本数据,然后我做了LDA“从文档中提取主题”,所以我的问题是:

    这不是差不多的吗?我的意思是,这两种操作符都将文本分成“集群”或“主题”,除了LDA可以为每个主题提供TOP x单词。

    致以最亲切的问候

    弗洛

  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3362年RM数据科学家

    @flo

    完全正确。LDA有点像聚类。它还将文档分成k组。最大的区别在于,LDA是一个潜在模型。

    这意味着:

    • 一个主题有许多相关的单词。一个单词可以是一个或多个主题的一部分。
    • 每个文档可以是一个或多个主题的一部分。

    这使得它不同于一般的聚类。我认为你想要的只是每个集群上的过程文档,并使用WordList to Data来获得频率概述。

    最好的

    马丁

    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
    弗洛
  • 弗洛弗洛 成员职位:9贡献我

    @mschmitz感谢您的快速回复。

    …哈哈,你比我更清楚我想要什么

    在每个集群上处理文档,将最频繁的单词作为WordList,这是我认为我可以用LDA实现的。

    不管怎样,非常感谢。:)

    致以最亲切的问候

    弗洛

    MartinLiebig
  • m_keshavarz_comm_keshavarz_com 成员职位:28贡献我

    你好






    打扰一下
    亲爱的朋友@flo
    你有没有在任何集群上执行LDA算法?
    谢谢你告诉我
    关于





  • 弗洛弗洛 成员职位:9贡献我

    你好@m_keshavarz_com

    我尝试在集群上执行LDA,但它没有工作(log 0.0000)。但我要做的是从每个聚类中得到一个词表,然后把它们从上往下排序。这应该会给LDA带来类似的结果。

    对不起,我不能帮助更多....

    最好的

    弗洛

  • 弗洛弗洛 成员职位:9贡献我

    @mschmitz写道:
    […]

    这使得它不同于一般的聚类。我认为你想要的只是每个集群上的过程文档,并使用WordList to Data来获得频率概述。

    最好的

    马丁


    @mschmitz

    我希望我没有打扰你。

    到目前为止,感谢您的输入—每个集群的流程文档(矢量创建:术语出现)提供了一个很好的概述。

    我最后得到的是下面的表格:Unbenannt.PNG

    我的问题是,现在是否有一种方法可以通过一些我还不知道的神奇ETL来只显示每个集群的前5个单词(没有出现),或者除了调换这个表并手动按递减顺序对每个集群进行排序之外,没有其他选择?

    致以最亲切的问候

    弗洛

  • 弗洛弗洛 成员职位:9贡献我

    @mschmitz

    是的,那正是我想做的。我稍微修改了一下这个过程,以便它在一个示例集中显示每个集群的前5个单词,大致如下:

    ClusterID TOP1 TOP2 TOP3 TOP4 TOP5

    Cluster_1

    Cluster_2

    Cluster_3

    非常感谢。

    致以最亲切的问候

    弗洛

  • student_computestudent_compute 成员职位:73因素二世

    你好,亲爱的朋友和论坛教授,对不起.....我也想在每个聚类和每个聚类的中心找到重复的单词但是我不知道怎么做有人告诉我吗?

    我来自@mschmitz
    我用过。但是对于8个聚类,只有聚类词是0、1、2、5、6、7
    这些单词没有给出群集4和群集5
    怎么了?

    谢谢你的帮助

  • m_keshavarz_comm_keshavarz_com 成员职位:28贡献我

    嗨,亲爱的朋友@flo

    非常感谢你的帮助
    对我来说,lda在集群上的结果似然值也为0
    我听不懂你说的话
    你能多解释一下吗?以及如何?
    “但我将尝试从每个聚类中获得一个单词列表,并将它们按顺序排序。这有望给LDA带来类似的结果。”
    非常感谢

  • 弗洛弗洛 成员职位:9贡献我

    @m_keshavarz_com@student_compute

    如果你正在寻找每个聚类中最常见的单词,下面的方法可能会对你有所帮助:

    < ?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.2.001”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >


    < /操作符>




    <列出关键= " sample_size_per_class " / >
    <列出关键= " sample_ratio_per_class " / >
    <列出关键= " sample_probability_per_class " / >
    < /操作符>



    < /操作符>



    <列出关键= " set_additional_roles " >

    < / >列表
    < /操作符>


    < /操作符>




    <列出关键= " specify_weights " / >
    <过程扩展= " true " >














    > < /过程
    < /操作符>


    < /操作符>


    < /操作符>



    <过程扩展= " true " >





    <列出关键= " additional_macros " / >
    < /操作符>


    < /操作符>



    <列出关键= " aggregation_attributes " / >
    < /操作符>




    < /操作符>



    < /操作符>





    < /操作符>





    < /操作符>



    <列出关键= " rename_additional_attributes " >

    < / >列表
    < /操作符>


    <列出关键= " set_additional_roles " >

    < / >列表
    < /操作符>


    <列出关键= " function_descriptions " >

    < / >列表
    < /操作符>



    <列出关键= " set_additional_roles " >

    < / >列表
    < /操作符>

    <列出关键= " filters_list " >

    < / >列表
    < /操作符>



    <列出关键= " rename_additional_attributes " >






    < / >列表
    < /操作符>




    < /操作符>




















    选择TOP字数
    > < /过程
    < /操作符>














    > < /过程
    < /操作符>
    > < /过程

    当然要感谢@mschmitz在大部分的过程中。

    最好的

    弗洛

    websiteguy
  • student_computestudent_compute 成员职位:73因素二世

    你好。非常感谢你亲爱的朋友:smileyhappy:
    但是我想知道如何找到每个簇的重复词和每个簇的中心?
    非常感谢你的好意

登录注册置评。