什么时候应该将 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
。 但是使用float
或integer
取决于用例,例如:
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?的主要内容,如果未能解决你的问题,请参考以下文章
将设备端复杂 * 转换为 double * 或 float * 用于 cublas