【问题标题】:Which Machine Learning technique is most valid in this scenario?在这种情况下,哪种机器学习技术最有效?
【发布时间】:2016-02-24 11:47:18
【问题描述】:

我是机器学习的新手,最近一直在研究一个新的分类问题,我在下面给出了链接。由于我对汽车感兴趣,我决定使用一个数据集来处理基于多个属性的汽车分类。

http://archive.ics.uci.edu/ml/datasets/Car+Evaluation

现在,我知道可能有多种方法可以处理这种特殊情况,但这里真正的问题是 - 哪种特定算法可能最有效?

我正在考虑回归、SVM、KNN 和隐马尔可夫模型。任何建议都将不胜感激。

【问题讨论】:

  • 我做了-1,因为这个问题没有意义。这就像在问如何致富。
  • 我很抱歉含糊其辞。但是,就像我说的,我正在加强我的基础,只是寻求指导。
  • 首先,您需要告诉我们您要分类的内容和输入变量。这应该是您第一次尝试这样做。
  • 是的,你是对的。我想根据以下参数对数据集中的各种汽车进行分类: 1. 购买 (v-high, high, med, low) 2. maint (v-high, high, med, low) 3. 门 (2, 3, 4, 5-more) 4. 人 (2, 4, more) 5. lug_boot (small, med, big) 6. safety (low, med, high)

标签: machine-learning svm linear-regression logistic-regression hidden-markov-models


【解决方案1】:

您有一个包含 1728 个样本的多类分类问题。这些功能分为 6 组:

buying       v-high, high, med, low
maint        v-high, high, med, low
doors        2, 3, 4, 5-more
persons      2, 4, more
lug_boot     small, med, big
safety       low, med, high

您需要为功能做的就是创建这样的功能:

buying_v-high, buying-high, buying-med, buying-low, maint-v-high, ...

最后你会得到

4+4+4+3+3+3 = 21

功能。输出类是:

class      N          N[%]
-----------------------------
unacc     1210     (70.023 %) 
acc        384     (22.222 %) 
good        69     ( 3.993 %) 
v-good      65     ( 3.762 %)  

您需要尝试几种分类算法,看看哪一种效果更好。对于评估,您可以使用交叉验证,或者您可以将 728 或样本放在一边并对其进行评估。

对于分类模型,您可以迭代机器学习库中提供的 10 多种不同的分类模型,然后检查哪个更好。为简单起见,我建议使用 scikit-learn。

您可以在 this script 中找到一个针对多个分类器的简单迭代器。

请记住,您需要为每个模型调整一些参数,并且您不应该在测试集上调整它们。所以最好把你的样本分成1000个(训练集)、350个(开发集)、378个(测试集)。使用开发集调整您的参数并选择性能最佳的模型,然后使用测试集评估该模型对未知数据的影响。

【讨论】:

  • 这当然有帮助。但是,我对库及其用法也不是很熟悉。我想我应该从一开始就以艰难的方式学习它们,以便更清楚地理解其中的细微差别。这个想法是一次使用一种算法并观察不同算法之间的差异。
  • 我认为您需要查看的主要模型组是:KNN(非参数)、NaiveBayes(生成)和 SGDClassifier(判别性,例如 LogisticRegression 或 SVM)。我将从 LogisticRegression(具有日志丢失和正则化的 SGDClassifier)开始。
  • 是的,因为这是一个多类问题,我认为这些将是我们的选择。虽然我赌的是 SVM,但我也想测试其他的。
猜你喜欢
  • 2013-02-06
  • 1970-01-01
  • 2018-09-22
  • 2012-12-06
  • 2015-06-29
  • 2011-07-23
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
相关资源
最近更新 更多