X_train1
은 실제로 스크린 샷의 형식에 따라 팬더 데이터 프레임입니다. 문제는 Description
이 (아마도 길이가 다른) 단어 목록의 열입니다. 이런 식으로 뭔가 :
X = np.array([['alpha','beta'],['theta','theta','gamma'],['delta','delta']])
X_train1 = pd.DataFrame(X, columns=["Description"])
X_train1
Description
0 [alpha, beta]
1 [theta, theta, gamma]
2 [delta, delta]
X_train1.shape # (3,1)
그래서 당신은 단어의 목록 만 개 행이 (모양
(nrow, 1)
).
CountVectorizer
(사용자가
sklearn
클래스를 사용한다고 가정)은 문서 배열을 사용합니다. (가)
documentation에서 :
CountVectorizer : 토큰의 매트릭스에 텍스트 문서의 컬렉션을 변환이 구체적으로
를 계산
fit()
에 인수 정의를 고려해
raw_documents을 : str, unicode 또는 파일 객체 중 하나를 산출하는 iterable.
그냥 시도하고 X_train1
에 전달하면
, 당신은 예상 입력을 제공하지 않는 - 당신은 문자열 목록 객체를 포함하는 열을 포함하는 데이터 프레임을 전달하고 있습니다. 당신은 이상한 결과물을 얻길 기대해야합니다.
X_train1
의 각 행은 문서를 표시한다고 가정하고 CountVectorizer
패스, 각 행에있는 단어 목록에 가입하려고 :
X = X_train1.Description.apply(lambda row: ' '.join(row))
ctvec = CountVectorizer()
ctvec.fit_transform(X) # combine fit(X) and transform(X)
출력 :
<3x5 sparse matrix of type '<class 'numpy.int64'>'
with 5 stored elements in Compressed Sparse Row format>
이 출력 라인에 더 의도 한 입력.
'X_train1'에서 몇 줄을 보여주십시오. –
질문을 편집하고 X_train1 @andrew_reece 샘플을 추가했습니다. – Chhitij
'X_train1'은'Description' 열이있는 판다 데이터 프레임입니다. 그 맞습니까? –