测试和训练相同的数据或不同的数据

时间:2016-09-02 18:59:03

标签: machine-learning classification naivebayes

我有两个类的数据集,我用它来分类Naive Bayes分类器。 首先:在我获得的相同数据中训练和测试的分类器:

Accuracy: 71.1262
False negative rate: FN/FN+TP = FN/P= 284/295 = 0.840 
False positive rate:  FP/FP+TN  =  FP/N = 93/886 = 0.104 
Sensitivity: Recall:True positive rate:  TP/TP+FN = TP/P = 0.1593
Specificity: True negative rate: TN/TN+FP = TN/N = 0.8950
Precision :  Positive Predictive Value: TP/TP+FP = 0.3357
Negative Predictive Value: TN/TN+FP = 0.7618

其次:我在样本中训练了分类器,然后在我得到的另一个样本中进行了测试:

Accuracy: 0.7704
False negative rate: FN/FN+TP=FN/P =147/222 = 0.662
False positive rate: FP/FP+TN= FP/N = 73/736=0.099
Sensitivity: Recall:True positive rate: TP/TP+FN=TP/P=75/222= 0.3378
Specificity: True negative rate:TN/FP+FP=TN/N= 663/736 = 0.9008
Precision :  Positive Predictive Value:TP/TP+FP= 0.5068

实际上,当我尝试使用决策树和神经网络时,我得到了几乎相似的结果 这是正常的结果吗?这个数据究竟出现了什么问题?

1 个答案:

答案 0 :(得分:-1)

可能存在多个问题,ML是一个持续的实验和测试过程,并且有一些方法可以“诊断”您的算法。建议执行特征工程并验证数据集中是否存在偏差类,绘制学习曲线,执行交叉验证和模型选择,分析是否需要进行特征缩放和归一化,验证多个正则化参数等等。