什么时候应该将 Age 列转换为 float 或 int?

Posted

技术标签:

【中文标题】什么时候应该将 Age 列转换为 float 或 int?【英文标题】:When should you convert Age column in float or int? 【发布时间】:2021-07-23 12:19:52 【问题描述】:

我有这个疑问,通常数据集的 Age 列值是 int 或 float 数据类型(例如 Titanic)。 因此,假设该列具有所有浮点值,您应该将它们全部转换为 int 还是让它在将其提供给 ML 模型时就像那样, 对预测结果有什么危害或不利影响吗?正确的做法是什么?

【问题讨论】:

【参考方案1】:

最好将 age 列转换为 int。如果出现一些垃圾值,则会影响模型。我们都非常清楚年龄是一个整数。

如果数据质量优越,并且您确定年龄不会浮动,那么您也可以继续进行而不进行转换。

【讨论】:

【参考方案2】:

age是一个连续变量,即人一直在变老,并不是一年只变一次,所以最能反映衰老过程的数据类型应该是@ 987654322@ 而不是integer但是使用floatinteger 取决于用例,例如:

您是否使用age 作为描述人们年龄的特征?更好地使用浮子(例如,59.9 岁的人比 59.1 岁的人年长,可能更容易出现某些疾病,或者身体健康状况较差,在沉船事件中生存的可能性较小) 您是否在报告age 群组?可能最好舍入到最接近的整数(例如 39.9 -> 40、34.2 -> 34)并可能合并(例如 25-34、35-45) 您是否正在开展一个评估未成年人饮酒的项目(从法律角度)?那么你应该使用向下取整的int 值(例如,如果法定年龄是 16 岁,而一个人是 15.9 岁,那么他们法定年龄是 15 岁,因此未成年饮酒) 等等……

一般来说,您经常会发现处理数据没有单一的"right way",这完全取决于用例。

【讨论】:

以上是关于什么时候应该将 Age 列转换为 float 或 int?的主要内容,如果未能解决你的问题,请参考以下文章

Python,确定字符串是否应转换为Int或Float

无法将Pandas Dataframe列转换为float

阻止 Pandas 将 int 转换为 float

将设备端复杂 * 转换为 double * 或 float * 用于 cublas

将 float 转换为 int,还是将 int 转换为 float?

通过 cast 或 Convert.ToSingle() 将 double 转换为 float?