Как добавить массив nd, который содержит разреженную матрицу в sklearn - PullRequest
0 голосов
/ 29 марта 2019

Во-первых, я применяю TfidfVectorization к своим текстовым столбцам из моего информационного кадра. После этого я объединяю их, используя hsatck

train_gene_var_tfidf = 
hstack((train_gene_feature_tfidf,train_variation_feature_tfidf))
test_gene_var_tfidf = 
hstack((test_gene_feature_tfidf,test_variation_feature_tfidf))
cv_gene_var_tfidf = 
hstack((cv_gene_feature_tfidf,cv_variation_feature_tfidf))

# Adding the train_text feature
train_x_tfidf = hstack((train_gene_var_tfidf, train_text))
train_x_tfidf = hstack((train_x_tfidf, train_text_feature_tfidf))
train_y = np.array(list(train_df['Class']))

И в результате я получил клочковатый ndarray, который содержит разреженную матрицу, в которую я хочу вписать свою функциюsklearn .fit (), как показано ниже

clf = SGDClassifier(class_weight='balanced',alpha=i,penalty='l2', loss='log', random_state=42)
clf.fit(train_x_tfidf, train_y)

формы следующие:

print(train_x_tfidf.shape)
print(train_y.shape)
>>>(4,)
>>>(2124,)
print(train_x_tfidf)
>>>[<2124x227 sparse matrix of type '<class 'numpy.float64'>'
with 2124 stored elements in Compressed Sparse Row format>
<2124x1000 sparse matrix of type '<class 'numpy.float64'>'
with 1259 stored elements in Compressed Sparse Row format>
<2124x1000 sparse matrix of type '<class 'numpy.float64'>'
with 31088 stored elements in Compressed Sparse Row format>
<2124x1000 sparse matrix of type '<class 'numpy.float64'>'
with 1129081 stored elements in Compressed Sparse Column format>]

Ошибка, которую я получаю при попытке подгонки, составляет

ValueError: установка элемента массива с последовательностью.

Как встроить этот ndarray в функцию подбора sklearn?

...