Machine learning 如何使用Weka分类选择一个特定类别?

Machine learning 如何使用Weka分类选择一个特定类别?,machine-learning,weka,recommendation-engine,Machine Learning,Weka,Recommendation Engine,我遇到了一种情况,我不知道是否可以使用Weka分类 有大量类别分类描述定价计划,如下所示: @attribute 'plan' {'Free', 'Basic', 'Premium', 'Enterprise'} @attribute 'atr01' {TRUE, FALSE} @attribute 'atr02' {TRUE, FALSE} @attribute 'atr03' {TRUE, FALSE} @attribute 'atr04' {TRUE, FALSE} @attribute

我遇到了一种情况,我不知道是否可以使用Weka分类

有大量类别分类描述定价计划,如下所示:

@attribute 'plan' {'Free', 'Basic', 'Premium', 'Enterprise'}
@attribute 'atr01' {TRUE, FALSE}
@attribute 'atr02' {TRUE, FALSE}
@attribute 'atr03' {TRUE, FALSE}
@attribute 'atr04' {TRUE, FALSE}
@attribute 'atr05' {TRUE, FALSE}
...
@attribute 'atr60' {TRUE, FALSE}
'Free',FALSE,TRUE,TRUE,FALSE...[+many trues and falses]...TRUE
'Basic',TRUE,FALSE,FALSE,FALSE...[+many trues and falses]...TRUE
'Premium',FALSE,FALSE,FALSE,FALSE...[+many trues and falses]...FALSE
'Enterprise',FALSE,TRUE,FALSE,FALSE...[+many trues and falses]...FALSE
此属性列表可以在将来增长。。。我们预计有120个属性

我们需要的是提供一个表单,以便用户可以检查每个属性的
true
false
,我们的推荐系统将根据我们的培训集为用户选择最合适的计划

问题是,我们的培训集对于每个计划只包含一行,如下所示:

@attribute 'plan' {'Free', 'Basic', 'Premium', 'Enterprise'}
@attribute 'atr01' {TRUE, FALSE}
@attribute 'atr02' {TRUE, FALSE}
@attribute 'atr03' {TRUE, FALSE}
@attribute 'atr04' {TRUE, FALSE}
@attribute 'atr05' {TRUE, FALSE}
...
@attribute 'atr60' {TRUE, FALSE}
'Free',FALSE,TRUE,TRUE,FALSE...[+many trues and falses]...TRUE
'Basic',TRUE,FALSE,FALSE,FALSE...[+many trues and falses]...TRUE
'Premium',FALSE,FALSE,FALSE,FALSE...[+many trues and falses]...FALSE
'Enterprise',FALSE,TRUE,FALSE,FALSE...[+many trues and falses]...FALSE
此决定应尝试匹配尽可能多的用户选择的选项。我不能使用过滤器,因为过滤器可能导致零结果,我需要至少一个结果

我不知道这是否是一个机器学习的问题,如果Weka可以帮助我们


谢谢。

您没有机器学习问题,因为您没有为每门课培训不同的示例

你想要的可能是一个相似性度量,以便能够对4个计划的适合性进行评分。想到的最流行的相似性度量是欧几里得距离。属性表示欧几里德空间中的向量。给定用户向量,您可以计算到4个平面向量的距离,并显示“最近”平面


这正是我需要的!相似性度量。如果考虑任何枚举属性(非布尔),我可以使用欧几里德距离吗?它取决于枚举值。例如,如果属性为
WANT\u INSURANCE
,值为
NO
NOT\u responsed
YES
,则可以对向量中的值使用0、1和2。通过这种方式,
NO
距离
YES
有两步之遥,
NOT\u response
距离有一步之遥是有意义的。但是,如果您有属性
AIRLINE
的值,如
SWISS
TURKISHAIRLINES
LUFTHANSA
,那么您需要将这些值映射到单个布尔属性。在这种情况下,汉明距离比欧几里德距离更自然(更易于计算,也更易于客户端设计)。,事实上,对于二元向量,它等于欧几里德距离的平方,但它的定义更清晰。