如何对数据集进行分类?

时间:2016-07-26 13:44:05

标签: machine-learning classification

如何使用下面的训练数据将新数据集分类到A类和B类?

            1.0  0.9  0.8  0.7  0.6  0.5  0.4  0.3  0.2  0.1  class
Dataset 1   42   13   22   324  270  96   107  93   80   228    A
Dataset 2   45   23   14   596  445  135  153  124  132  331    A
Dataset 3   42   22   16   479  407  130  150  121  128  342    A

Dataset 4   37   63   10   481  397  155  143  159  172  394    B
Dataset 5   46   18   10   387  356  127  118  129  136  359    B
Dataset 6   23   34   9    550  436  147  166  164  208  467    B

如果存在可以划分数据集的等式,那将是非常理想的。

例如,如果1.0 +#的0.9高于55,那么它就是A类。(这可能是错的,但是这样的话)

2 个答案:

答案 0 :(得分:1)

如果您熟悉分类任务,那么几乎每个分类算法都可以完成任务,如SVM,NN,C4.5,ID3,随机森林和..

但是对于公式来看看Logistic回归:https://en.wikipedia.org/wiki/Logistic_regression。它将数据集分类为2(例如正,负)类

对于实现,请看一下python scikit线性模型,逻辑回归: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html和此处:http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression

X = [[...]] #your datasets list of lists(matrix)
y = [...] #your labels list
from sklearn.liner_mode import LogisticRegression
clf = LogisticRegresion()
clf.fit(X,y)

这个例子也很好:http://scikit-learn.org/stable/auto_examples/linear_model/plot_iris_logistic.html

答案 1 :(得分:0)

你也可以使用朴素贝叶来预测数据集的类别,通过使用朴素贝叶斯你得到每个类的概率,所以为了举例说明,你会得到A类的数据集1概率为70%,B类为30%

根据您的示例,您需要使用class列作为标签列和0.1& 0.9为特色列

使用您的数据轻松运行A == 1&此次运行B == 2 enter image description here