2017-10-07 1 views
0

i cette classe qui construisent les caractéristiques de classification, en faisant la moyenne des mots vecteurs pour tous les vecteurs dans le texteImprimer une sortie de classe en utilisant un tableau python numpy?

class MeanEmbeddingVectorizer(object): 
    def __init__(self, word2vec): 
     self.word2vec = word2vec 
     self.dim = len(word2vec.itervalues().next()) 

    def fit(self, X, y): 
     return self 

    def transform(self, X): 
     return np.array([ 
      np.mean([self.word2vec[w] for w in words if w in self.word2vec] 
        or [np.zeros(self.dim)], axis=0) 
      for words in X 
     ]) 

donc ma question comment imprimer la sortie de cette classe à l'écran ou l'enregistrer dans un fichier Merci

Répondre

1

vous pouvez ajouter une déclaration print à la fin, mais vous avez encore besoin de créer l'attribut word2vec

import numpy as np 

class MeanEmbeddingVectorizer(object): 
    def __init__(self, word2vec): 
     self.word2vec = word2vec 
     self.dim = len(word2vec.itervalues().next()) 

    def fit(self, X, y): 
     return self 

    def transform(self, X): 
     return np.array([ 
      np.mean([self.word2vec[w] for w in words if w in self.word2vec] 
        or [np.zeros(self.dim)], axis=0) 
      for words in X 
     ]) 
print(MeanEmbeddingVectorizer.fit("X", "Y", "Z")) 

vous donnera la sortie

X 
None 

mais si vous exécutez

print(MeanEmbeddingVectorizer.transform("X", "Y")) 

vous obtenez

AttributeError: 'str' object has no attribute 'word2vec'