Torchで欠損値を処理する方法は何ですか?
Torchで欠損値を処理する場合、通常は欠損値を特定の値(0やNaNなど)に置き換えてから、該当するデータ処理操作を行う必要があります。
torch.masked_fill_()関数を使用する一般的な処理方法は、指定されたマスク条件に基づいてデータ中の特定の値を置換することです。たとえば、欠損値を-1で表す場合、欠損値を0に置き換えるには以下のコードを使用できます:
import torch
# 创建一个包含缺失值的张量
x = torch.tensor([1, 2, -1, 4, -1])
# 创建一个掩码,标记缺失值的位置
mask = x == -1
# 替换缺失值为0
x.masked_fill_(mask, 0)
print(x)
torch.where()関数を使用するという一般的な処理方法もあります。この関数は指定した条件に基づいて、2つのテンソルの間で対応する位置の値を選択することができます。例えば、以下のコードを使用して欠損値を0に置き換えることができます:
import torch
# 创建一个包含缺失值的张量
x = torch.tensor([1, 2, -1, 4, -1])
# 创建一个掩码,标记缺失值的位置
mask = x == -1
# 替换缺失值为0
x = torch.where(mask, torch.tensor(0), x)
print(x)
欠損値を処理するための一般的な方法はこれら2つありますが、状況に応じて適切な方法を選択してください。