Я работаю над моделью логистической регрессии, и у меня возникают проблемы с пониманием того, как перенести модель, подходящую из моего обучающего набора, к моему набору тестирования. Извините, я новичок в python и ОЧЕНЬ новичок в моделях статистики ..
import pandas as pd
import statsmodels.api as sm
from sklearn import cross_validation
independent_vars = phy_train.columns[3:]
X_train, X_test, y_train, y_test = cross_validation.train_test_split(phy_train[independent_vars], phy_train['target'], test_size=0.3, random_state=0)
X_train = pd.DataFrame(X_train)
X_train.columns = independent_vars
X_test = pd.DataFrame(X_test)
X_test.columns = independent_vars
y_train = pd.DataFrame(y_train)
y_train.columns = ['target']
y_test = pd.DataFrame(y_test)
y_test.columns = ['target']
logit = sm.Logit(y_train,X_train[subset],missing='drop')
result = logit.fit()
print result.summary()
y_pred = logit.predict(X_test[subset])
Из последней строки я получаю такую ошибку:
y_pred = logit.predict (X_test [subset]) Traceback (последний вызов последним): файл «», строка 1, в файле «C: \ Users \ eMachine \ WinPython-64bit-2.7.5.3 \ python-2.7.5. amd64 \ lib \ site-packages \ statsmodels \ diskte \ diskte_model.py ", строка 378, в прогнозируемом возврате self.cdf (np.dot (exog, params)) ValueError: матрицы не выровнены
В моем наборе данных для обучения и тестирования одинаковое количество переменных, поэтому я уверен, что неправильно понимаю, что на самом деле делает logit.predict ().
np.asarray(X_train[subset]).shape
иnp.asarray(X_test[subset]).shape
одинаковое второе значение? - person Josef   schedule 14.04.2014