Как посчитать распределение меток в TensorFlow? - PullRequest
0 голосов
/ 04 апреля 2020

У меня много данных, и я могу перебрать их, используя 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']) может помочь в достижении этого. У кого-нибудь есть хорошая идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...