MATLAB马氏距离判别法classify报错

作业题目: 银行的贷款部门需要判别每个客户的信用好坏(是否未履行还贷责任),以决定是否给予贷款。可以根据贷款申请人的年龄(X1)、受教育程度(X2)、现在所从事工作的年数(X3)、未变更住址的年数(X4)、收入(X5)、负债收入比例(X6)、信用卡债务(X7)、其它债务(X8)等来判断其信用情况。下表是从某银行的客户资料中抽取的部分数据,和某客户的如上情况资料为(53,1,9,18,50,11.20,2.02,3.58),根据样本资料分别用马氏距离判别法、线性判别法、二次判别法对其进行信用好坏的判别。

1 使用线性判别法
MATLAB判别分析报错:The covariance matrix of each group in TRAINING must be positive definite.
正常运行,没有毛病。
2 使用马氏距离判别法
MATLAB判别分析报错:The covariance matrix of each group in TRAINING must be positive definite.
报错,显示:每组的协方差矩阵训练必须正定。
从网上找了很久,没有找到有效的解决方案,然后就各种尝试

3 在classify里面的281-283的if注释掉,保存,运行
MATLAB判别分析报错:The covariance matrix of each group in TRAINING must be positive definite.
运行成功,但是有警告,也不确定结果是否有问题。

最后

上数学建模课的一个作业,首次接触,不了解程序报错是因为马氏距离判别法对training有什么特定要求,而给定的数据问题恰好不满足,还是程序的问题导致运行失败。
教材上“鸢尾花的分类问题”这么写没有毛病,我把作业题变量改为四个也没有问题,特此记录,如果各位大神们有好的解决方案,请赐教。

相关文章:

  • 2022-12-23
  • 2021-10-18
  • 2021-05-07
  • 2022-12-23
  • 2021-04-14
  • 2021-07-30
  • 2022-12-23
猜你喜欢
  • 2021-07-22
  • 2021-09-06
  • 2021-09-06
  • 2021-06-11
  • 2022-12-23
  • 2021-10-13
相关资源
相似解决方案