如何按單個特征的值過濾張量流資料集?
我花了很多時間來了解如何使用過濾器方法過濾 tensorflow 資料集,不幸的是檔案對我來說不夠清晰https://www.tensorflow.org/api_docs/python/tf/data/Dataset#filter,也許是將對某人有用。
在下面的示例中,目標是:如果特征名稱“狀態”值等于“成功”且特征名稱“成本”值 >0,則選擇樣本。
dataset = tf.data.experimental.make_csv_dataset('file1.csv',....)
dataset = dataset.unbatch().filter(lambda x, y: True if x["Status"] == 'success' else False)
dataset = dataset.filter(lambda x, y: True if x["Cost"] > 0.0 else False)
uj5u.com熱心網友回復:
你可以嘗試這樣的事情:
import tensorflow as tf
import pandas as pd
df = pd.DataFrame(data={'Status': ['Success', 'Failure','Failure', 'Success'], 'Cost': [0.0, 1.0, 1.0, 2.0]})
df.to_csv('data.csv', index=False)
dataset = tf.data.experimental.make_csv_dataset('/content/data.csv', batch_size=2, num_epochs = 1)
dataset = dataset.unbatch().filter(lambda x: x["Status"] == 'Success' and x["Cost"] > 0.0)
for x in dataset:
print(x['Status'], x['Cost'])
tf.Tensor(b'Success', shape=(), dtype=string) tf.Tensor(2.0, shape=(), dtype=float32)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/426828.html
