Пытаясь иметь мои данные обучения и тестирования, чтобы иметь форму п,1

X_train, X_test, Y_train, Y_test =\
    train_test_split(shuffled_df.sentence_clean,shuffled_df.pol,test_size = 0.30,random_state=42)

tfidf1 = TfidfVectorizer(min_df=0.008, max_df=0.1)
#using tfidf to extract features as 
x_traincv = tfidf1.fit_transform(X_train)
x_testcv = tfidf1.fit_transform(X_test)

#Setting the polarities as integers
Y_train = Y_train.astype('int')
Y_test = Y_test.astype('int')

c = tree.DecisionTreeClassifier()

#Training the data
c.fit(x_traincv,Y_train)

# Проблема возникает здесь. Я отчаянно пытаюсь вычислить точность модели. В выборке и вне выборки ошибка.

training_accuracy = np.sum(c.predict(x_traincv) == Y_train)/float(Y_train.size)
testing_accuracy = np.sum(c.predict(x_testcv) == Y_test)/float(Y_test.size)

# Ошибка, которую я получаю: количество элементов модели должно соответствовать входным данным. Модель n_features - 251, а входные n_features - 248.

# Пожалуйста, дайте мне знать, если есть лучший способ сделать это.

0 ответов

Другие вопросы по тегам