У меня много данных, и я могу перебрать их, используя tf.data api, теперь я хочу вычислить вероятность каждого класса меток, каков наиболее эффективный способ реализовать это? Я достиг бинарного класса и просто не знаю, что делать с несколькими классами.
Вот небольшой пример с двоичным классом, описание данных можно найти здесь (https://www.tensorflow.org/tutorials/structured_data/feature_columns) :
import pandas as pd
import tensorflow as tf
URL = 'https://storage.googleapis.com/applied-dl/heart.csv'
dataframe = pd.read_csv(URL)
labels = dataframe.pop('target')
total_positive = 0
total = 0
for features, labels in tf.data.Dataset.from_tensor_slices((dict(dataframe), labels)).batch(16):
total_positive += tf.math.count_nonzero(labels)
total += tf.size(labels, out_type=tf.dtypes.int64)
positive_rate = tf.cast(total_positive / total, tf.float32)
negative_rate = 1 - positive_rate
print(positive_rate, negative_rate)
Если нам нужно посчитать распределение значений feature['CP']
, которое имеет пять классов, каков наиболее эффективный способ сделать это? Я считаю, unique_label, unique_idx, unique_count = tf.unique_with_counts(features['CP'])
может помочь в достижении этого. У кого-нибудь есть хорошая идея?