0
sckit-learn을 사용하여 텍스트 데이터에 대한 전처리를 수행합니다. 내 목표는 벡터 데이터 표현 (피쳐 및 라벨)을 얻는 것입니다. 내가 한 일은 tfidf를 사용하여 데이터 집합 크기를 사용하여 벡터화하는 것입니다. double 크기로 변경하면 X.ravel()이 사용됩니다. 이전sckitlearn을 사용하는 텍스트 벡터 화기
X (30,376, 2)
X 후 (60752, 41331)
내 문제는 내가 X 벡터에 두 가지 기능을 가진, 그리고 난 어떻게 제대로 벡터 표현을 취득 할 때 내가 train_test_split을 사용하고 때 경우 그 경우를
df = pd.read_csv('Dataset.csv',encoding='latin1')
df = df.dropna()
X = np.array(df.drop(['Type'], 1))
y = np.array(df['Type'])
#print(X)
print("Extracting features from the training data using a sparse vectorizer")
vectorizer= TfidfVectorizer(sublinear_tf=True, max_df=0.5,
stop_words='english')
X = vectorizer.fit_transform(X.ravel().astype('U'))
imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
X = imp.fit_transform(X)
X.shape
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
및 작업을 수행 할 수 있습니다 내가 얻을이 오류가 나는
참조 이해하지 않는다 617,451,515,TypeError: Singleton array array(TfidfVectorizer(analyzer='word', binary=False, decode_error='strict',
dtype=<class 'numpy.int64'>, encoding='utf-8', input='content',
lowercase=True, max_df=0.5, max_features=None, min_df=1,
ngram_range=(1, 1), norm='l2', preprocessor=None, smooth_idf=True,
stop_words='english', strip_accents=None, sublinear_tf=True,
token_pattern='(?u)\\b\\w\\w+\\b', tokenizer=None, use_idf=True,
vocabulary=None), dtype=object) cannot be considered a valid collection.
어떤 제안 감사
문제는 여기 X는 두 가지 기능을 가지고 있지만 TfidfVectorizer이 X 전에 두 배 크기의 하나 개의 배열로 두 가지 기능을 결합 할 것으로 보인다이다 (30376, 2) X (60752, 41331) –
@ahmedosama 이후, 한 가지 질문에서 너무 많은 질문을하지 마십시오. 내가 원래의 질문을 올바르게 이해했다면 - "나는 '...'이라는 오류가 무엇을 의미하는지 이해하지 못한다. 나는 그 질문에 대답했다. 다른/새로운 질문이있는 경우 새로운 질문을 열고 (질문하고) 관련 코드를 지정하고 작은 재현 가능한 데이터 세트를 제공하여 SO 커뮤니티의 사람들이 쉽게 재현하여 해결책을 찾을 수 있도록 – MaxU
죄송합니다. 주 질문을 편집했습니다. 아직도 막연한 일인지 알려주세요. –