У меня большой фрейм данных, содержащий около миллиона записей и 19 функций (+1 целевая переменная). Так как я не смог обучить свой RF-классификатор из-за ошибки памяти (это многоклассовая классификация с приблизительно 750 классами), поэтому я прибегнул к пакетному обучению. Модель обучена отлично, но когда я запускаю команду model.predict
, она дает мне следующее ValueError :
ValueError: operands could not be broadcast together with shapes (231106,628) (231106,620) (231106,628).
Мой код следующий:
#Splitting into Dependent and Independent Variables
X= df.iloc[:,1:]
y= df.iloc[:,0]
#Train-test Split
train_X, test_X, train_y, test_y = train_test_split(X,y,test_size=0.25,random_state=1234)
data_splits= zip(np.array_split(train_X,6),np.array_split(train_y,6))
rf_clf= RandomForestClassifier(warm_start=True, n_estimators=1,criterion='entropy',random_state=1234)
for i in range(10): #10 passes through the data
for X,y in data_splits:
rf_clf.fit(X,y)
rf_clf.n_estimators +=1 # increment by one, so next will add 1 tree
y_preds= rf_clf.predict(test_X)
Буду очень признателен за любую помощь. Любые другие предложения также приветствуются.