-3

です。このエラーが発生しました。解決するための提案をしてください。私のcode.iはtrain.csvからデータを取り込み、別のファイルtest.csvからデータをテストしています。私は機械学習に新しいので、私は問題が何かを理解できませんでした。私には何か提案があります。モデルのフィーチャの数が入力と一致する必要があります。モデルn_featuresは40で、入力されたn_featuresは38

import quandl,math  
import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt 
from matplotlib import style 
import datetime 
from sklearn.ensemble import RandomForestClassifier 
from sklearn.preprocessing import LabelEncoder 
from sklearn.feature_extraction.text import CountVectorizer 
from sklearn import metrics 
train = pd.read_csv("train.csv", index_col=None) 
test = pd.read_csv("test.csv", index_col=None) 
vectorizer = CountVectorizer(min_df=1) 
X1 = vectorizer.fit_transform(train['question']) 
Y1 = vectorizer.fit_transform(test['testing']) 
X=X1.toarray() 
Y=Y1.toarray() 
#print(Y.shape) 
number=LabelEncoder() 
train['answer']=number.fit_transform(train['answer'].astype('str')) 
features = ['question','answer'] 
y = train['answer'] 
clf=RandomForestClassifier(n_estimators=100) 
clf.fit(X[:25],y) 
predicted_result=clf.predict(Y[17]) 
p_result=number.inverse_transform(predicted_result) 
f = open('output.txt', 'w') 
t=str(p_result) 
f.write(t) 
print(p_result) 

答えて

0

コードに複数の問題があります。 しかし、この質問に関連するのは、列車とテストデータの両方にCountVectorizer(vectorizer)をフィッティングしていることです。そのため、さまざまな機能が使用されています。あなたは何をすべき

は次のとおりです。

X1 = vectorizer.fit_transform(train['question']) 

# The following line is changed 
Y1 = vectorizer.transform(test['testing']) 
+0

それが答えを受け入れて検討し、助けた場合屋がその作業 – Shiv

+0

@KapilSenをdude.thanks。 –

+0

はい!ありがとう – Shiv

関連する問題