【发布时间】:2015-04-26 17:05:00
【问题描述】:
我正在尝试使用 scikit-learn 为给定 here 的数据集执行决策树和 SVM。我的目的是比较这两种算法,以便我对这两种算法都使用 KFold 交叉验证方法并显示差异。但是我正在使用的数据集包含实数,例如 0.00057。我得到的准确性可以说没有过度拟合,但我不确定实数是否会影响结果。
给scikit-learn内置分类函数实数有问题吗?如果是,我应该怎么做才能得到更好的结果?
PS:当我在 python 中检查单个数据的类型时,我发现它是 float64。
【问题讨论】:
-
实数是什么意思? float64 的精度比 0.00057 高得多,当您获得结果时,您要么要求对预测类别进行分类,要么要求进行一些其他评估,例如概率似然或置信度,所有这些都将在 float64 中计算
-
我的意思是实数的高精度数字。当我将数据集加载到二维数组中时,python 将数组的类型设置为 float64。我想知道在执行分类拟合或预测函数时使用其他数据类型是否更好。
-
您的数据将被转换为 sklearn 支持的兼容 dtypes,因此除非您的数据的精度高于 float64,否则应该不是问题
-
因此在执行算法时无需担心数据类型。谢谢!
-
我担心你的数字范围。通常,standardize 您的数据会有所帮助,也就是说,使其具有零均值和单位变化。
标签: python machine-learning scikit-learn classification decision-tree