Я новичок в машинном обучении. Я пытаюсь сделать некоторую классификацию текста. «CleanDesc» имеет текстовое предложение. И «выход» имеет соответствующий выход. Сначала я попытался использовать один входной параметр, который представляет собой строку текстов (newMerged.cleanDesc) и один выходной параметр (newMerged.output)
finaldata = newMerged[['id','CleanDesc','type','output']]
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(newMerged.CleanDesc)
tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)
clf = MultinomialNB().fit(X_train_tfidf, newMerged.output)
testdata = newMerged.ix[1:200]
X_test_counts = count_vect.transform(testdata.CleanDesc)
X_test_tfidf = tfidf_transformer.transform(X_test_counts)
predicted = clf.predict(X_new_tfidf)
Это отлично работает. Но точность очень низкая. Я хотел включить еще один параметр (newMerged.type) в качестве входных данных вместе с текстом, чтобы попытаться улучшить его. Могу ли я сделать это? Как мне это сделать. newMerged.type не является текстом. Это просто строка из двух символов, как "HT". Я попытался сделать это следующим образом, но это не удалось,
finaldata = newMerged[['id','CleanDesc','type','output']]
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(newMerged.CleanDesc)
tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)
clf = MultinomialNB().fit([[X_train_tfidf,newMerged.type]],
newMerged.output)
testdata = newMerged.ix[1:200]
X_test_counts = count_vect.transform(testdata.CleanDesc)
X_test_tfidf = tfidf_transformer.transform(X_test_counts)
predicted = clf.predict([[X_new_tfidf, testdata.type]])