मैं विज्ञानकिट से TfidfVectorizer का उपयोग कर रहा हूं- टेक्स्ट डेटा से कुछ फीचर निष्कर्षण सीखना सीखता हूं। मेरे पास एक स्कोर के साथ एक CSV फ़ाइल है (+1 या -1 हो सकती है) और एक समीक्षा (टेक्स्ट)। मैंने इस डेटा को डेटाफ्रेम में खींच लिया ताकि मैं वेक्टरोरिज़र चला सकूं।विज्ञान में सीखने के लिए TfidfVectorizer: ValueError: np.nan एक अमान्य दस्तावेज़
Traceback (most recent call last):
File "/home/PycharmProjects/Review/src/feature_extraction.py", line 16, in <module>
x = v.fit_transform(df['Review'])
File "/home/b/hw1/local/lib/python2.7/site- packages/sklearn/feature_extraction/text.py", line 1305, in fit_transform
X = super(TfidfVectorizer, self).fit_transform(raw_documents)
File "/home/b/work/local/lib/python2.7/site-packages/sklearn/feature_extraction/text.py", line 817, in fit_transform
self.fixed_vocabulary_)
File "/home/b/work/local/lib/python2.7/site- packages/sklearn/feature_extraction/text.py", line 752, in _count_vocab
for feature in analyze(doc):
File "/home/b/work/local/lib/python2.7/site-packages/sklearn/feature_extraction/text.py", line 238, in <lambda>
tokenize(preprocess(self.decode(doc))), stop_words)
File "/home/b/work/local/lib/python2.7/site-packages/sklearn/feature_extraction/text.py", line 118, in decode
raise ValueError("np.nan is an invalid document, expected byte or "
ValueError: np.nan is an invalid document, expected byte or unicode string.
मैं कुछ भी करने के लिए CSV फ़ाइल और DataFrame जाँच की है कि के रूप में NaN लेकिन मैं कर सकते हैं पढ़ा जा रहा है:
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
df = pd.read_csv("train_new.csv",
names = ['Score', 'Review'], sep=',')
# x = df['Review'] == np.nan
#
# print x.to_csv(path='FindNaN.csv', sep=',', na_rep = 'string', index=True)
#
# print df.isnull().values.any()
v = TfidfVectorizer(decode_error='replace', encoding='utf-8')
x = v.fit_transform(df['Review'])
यह त्रुटि मैं के लिए ट्रैस है:
यह मेरा कोड है कुछ भी नहीं मिला। 18000 पंक्तियां हैं, जिनमें से कोई भी isnan
को सही के रूप में वापस नहीं करता है।
यह वही है df['Review'].head()
लग रहा है की तरह है:
0 This book is such a life saver. It has been s...
1 I bought this a few times for my older son and...
2 This is great for basics, but I wish the space...
3 This book is perfect! I'm a first time new mo...
4 During your postpartum stay at the hospital th...
Name: Review, dtype: object
आप 'df [ 'समीक्षा']' के सिर को प्रदर्शित कर सके मुझे अपने dataframe अंदर पाठ की एन्कोडिंग से संबंधित है के रूप में यह लग रहा है:
TFIDF vectorizer के डॉक्टर पृष्ठ सेसभी से ज्यादा? –
ज़रूर। मैंने अभी अपनी पोस्ट संपादित की है। – boltthrower
और 'टाइप (डीएफ [' समीक्षा ']। Iloc [0]) '? –