Machine learning 如何将无人驾驶AI上的数字列更改为分类数据

Machine learning 如何将无人驾驶AI上的数字列更改为分类数据,machine-learning,artificial-intelligence,driverless-ai,Machine Learning,Artificial Intelligence,Driverless Ai,我尝试使用docker版本的无人驾驶AI。当我尝试导入数据时,我在识别哪些数据是真正的数字和分类变量方面遇到了问题 如何解决此问题?DAI文档常见问题解答中描述了分类和用户控制的处理。为了您的方便,我将在此转寄: 无人驾驶AI如何处理分类变量?如果一个整数列真的应该被视为分类列怎么办? 如果列具有字符串值,则无人驾驶AI将其视为分类功能。对于无人驾驶AI如何将分类变量转换为数字变量,有多种方法。这些措施包括: 一个热编码:为每个值创建虚拟变量 频率编码:将类别替换为在数据中显示的频率 目标编码

我尝试使用docker版本的无人驾驶AI。当我尝试导入数据时,我在识别哪些数据是真正的数字和分类变量方面遇到了问题


如何解决此问题?

DAI文档常见问题解答中描述了分类和用户控制的处理。为了您的方便,我将在此转寄:

无人驾驶AI如何处理分类变量?如果一个整数列真的应该被视为分类列怎么办?

如果列具有字符串值,则无人驾驶AI将其视为分类功能。对于无人驾驶AI如何将分类变量转换为数字变量,有多种方法。这些措施包括:

  • 一个热编码:为每个值创建虚拟变量
  • 频率编码:将类别替换为在数据中显示的频率
  • 目标编码:用平均目标值替换类别(包括防止过度拟合的附加步骤)
  • 证据权重:计算每个类别的证据权重() 无人驾驶AI将尝试多种方法来表示列,并确定哪种表示最好
如果该列包含整数,无人驾驶AI将尝试将该列视为分类列和数字列。如果唯一值的数目小于50,它将把任何整数列视为分类列和数字列

这可以在config.toml文件中配置:

# Whether to treat some numerical features as categorical
# For instance, sometimes an integer column may not represent a numerical feature but
# represent different numerical codes instead.
num_as_cat = true

# Max number of unique values for integer/real columns to be treated as categoricals (test applies to first statistical_threshold_data_size_small rows only)
max_int_as_cat_uniques = 50
(注:无人驾驶AI还将使用本福德定律检查任何数值列的分布是否与典型数值数据的分布有显著差异。如果列分布不符合本福德定律,即使存在50个以上的唯一值,我们也将尝试将其视为分类。)