1
Um Tensorflow zu verwenden, brauche ich einen einzigen heißen Vektor für meine Klassen.Python Broadcasting: Wie entfaltet NumPy Geschwindigkeit beim Ausfüllen eines One-Hot-Vektor?
Ich habe den folgenden Code, um einen One-Hot-Vektor zu erstellen, aber es scheint, wie es für numpy Broadcasting reif sein sollte.
def classVector2oneHot(classVector):
uniques = np.asarray(list(set(classVector)))
one_hot_array = np.zeros(shape=(classVector.shape[0],uniques.shape[0]),dtype=np.float32)
starting_index = np.min(uniques)
# where broadcasting seems like it should be possible, somehow...
for i in range(len(one_hot_array)):
one_hot_array[i,classVector[i]-starting_index] = 1
return one_hot_array