birleştirilmiş edilemez ve aşağıdaki gibi benim verilere vectorizer uyguladığınız iki 2D diziler birleştirirken:Hata Sıfır boyutlu diziler
count_vect = CountVectorizer(tokenizer=tokens)
X_train_counts = count_vect.fit_transform(docs_train.data)
print X_train_counts.shape
(150, 370)
ve ben istediğim için '0' sınıfından sadece rastgele numune alır (bizim örneğimizde a) ve sınıf ile sınıflandırmak '1', şu did:
x = X_train_counts
y = docs_train.target
a_x,a_y=x[y==0,:],y[y==0]
b_x,b_y=x[y==1,:],y[y==1]
inds=np.random.choice(range(a_x.shape[0]),50)
random_x=a_x[inds,:]
random_y=a_y[inds]
x_merged=np.concatenate((random_x,b_x))
y_merged=np.concatenate((random_y,b_y))
X_train,y_train=shuffle(x_merged, y_merged, random_state=0)
ama her zaman aşağıdaki hatayı alıyorum:
x_merged=np.concatenate((random_x,b_x))
ValueError: zero-dimensional arrays cannot be concatenated
Ben şekil baskı yaparken beni gaves rağmen:
print random_x.shape
print b_x.shape
(50, 370)
(50, 370)
bir fikrin nasıl düzeltilir? Tabii ki etiketlere link olarak dizinleri koruyarak.
Güncelleme: Aşağıdaki komutlar çalıştırıldığında Bu, her Dizilerin içeriği/türde bir baskı geçerli:
print random_x[:5,:].toarray()
print b_x[:5,:].toarray()
print (type(random_x))
print (type(b_x))
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[4 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
<class 'scipy.sparse.csr.csr_matrix'>
<class 'scipy.sparse.csr.csr_matrix'>
Baskı içeride. Tam baskıyı gönderin lütfen. Onun şekli hakkında değil, tür veya boyutlarla ilgili olduğunu düşünüyorum. – armatita
Soruyu, her dizinin içeriği/türü ile güncelleştirdim ... teşekkürler – Ophilia
Bu birleşik işlevle uyumsuz olduğu tür. Sorunu çözmek için resmi bir cevap verdim (iyi .., sanırım). – armatita