请有人告诉我如何在我的目标变量集中处理 NaN 吗?
我尝试了各种各样的东西,但没有一个有效。这是我尝试过的:
- 在 Y_test 中输入零 (0)
- 用 Y_test 中的空格替换 NaN
- 清空 Y_test
数据集已经分离为训练集和测试集。当我为此应用我的 logit 分类器或任何其他分类器时,它会不断返回 TypeError。
TypeError:“int”和“str”的实例之间不支持“<”
请帮忙!
请有人告诉我如何在我的目标变量集中处理 NaN 吗?
我尝试了各种各样的东西,但没有一个有效。这是我尝试过的:
数据集已经分离为训练集和测试集。当我为此应用我的 logit 分类器或任何其他分类器时,它会不断返回 TypeError。
TypeError:“int”和“str”的实例之间不支持“<”
请帮忙!
好吧,你不能对未标记的数据进行监督学习。要么您丢弃这些记录,要么您必须采用半监督方式。
“目标变量集”是什么意思?你的问题的其余部分是指Y_test
,这听起来像测试集。从您的问题中不清楚缺失值是出现在标签中还是出现在一个或多个特征中。
正如@Piotr Rarus 所指出的,如果您的标签中有缺失值,那么您必须从测试集中删除这些示例。请记住,测试集的目的是评估模型的准确性,没有标签就无法做到这一点。
如果缺失值出现在某一特征中,您有多种选择:
您可以通过取非缺失值的平均值、中位数或众数来估算缺失值。请注意,您应该使用来自训练集的统计数据进行插补,而不是使用测试集。
您可以从数据集中排除该特征。如果该特征恰好与另一个特征高度相关,这是一个很好的选择。
您可以使用占位符值来表示缺失的数据。占位符的值取决于数据。对于连续的标准化特征,零可能是一个不错的选择。对于分类特征,您需要一个特殊的标记来表示“缺失”。
您可以丢弃缺少数据的记录
当我为此应用我的 logit 分类器或任何其他分类器时,它会不断返回 TypeError。
TypeError: '<' not supported between instances of 'int' and 'str'
scikit-learn的LogisticRegression模型要求所有特征都是数字的。如果您有字符串或其他非数字数据类型,则会出现此错误。
您可以使用One-Hot Encoding将分类特征转换为数字特征。
清空 Y_test
哎呀。这是一个糟糕的解决方案,因为它消除了您评估模型的能力。