我对机器学习相当新,并且最近一直在研究一个新的分类问题,我将在下面给出链接。由于汽车让我感兴趣,我决定使用一个基于几个属性来处理汽车分类的数据集。
http://archive.ics.uci.edu/ml/datasets/Car+Evaluation
现在,我知道可能有很多方法可以解决这个特殊情况,但这里真正的问题是 - 哪种特定算法可能最有效?
我正在考虑回归,SVM,KNN和隐马尔可夫模型。任何建议都将非常感谢。
答案 0 :(得分:-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(测试集)。使用开发集来调整参数并选择性能最佳的模型,然后使用测试集来评估该模型而不是看不见的数据。