Формы Python не выровнены - PullRequest
0 голосов
/ 08 марта 2019

Я искал в Google справку по этой ошибке и пытался использовать манекены, но пока ничего не помогло. Мой код:

df_movies_train_reg = df_movies[df_movies['Release Year'] < 2014]
df_movies_test_reg = df_movies[df_movies['Release Year'] > 2013]

df_train = pd.DataFrame()
df_test = pd.DataFrame()

df_train['x'] = df_movies_train_reg['Theaters in First Week'].copy()
df_train['y'] = df_movies_train_reg['Worldwide Gross'].copy()

df_test['x'] = df_movies_test_reg['Theaters in First Week'].copy()
df_test['y'] = df_movies_test_reg['Worldwide Gross'].copy()

df_train['x^2'] = df_train['x'] * df_train['x']

X_reg = df_train[['x', 'x^2']]
y_reg = df_train[['y']]

reg = LinearRegression()

model = reg.fit(X_reg, y_reg)

score = model.score(df_test[['x']], df_test[['y']])

Набор данных представляет собой список из 2328 строк, обучающий набор, оставленный после фильтра по годам, составляет всего 2037 строк, тогда тестовый набор - это 291 ряд.

ValueError                                Traceback (most recent call last)
<ipython-input-116-aee4ec5bd647> in <module>
     50 model = reg.fit(X_reg, y_reg)
     51 
---> 52 score = model.score(df_test[['x']], df_test[['y']])
     53 
     54 

~\Anaconda3\lib\site-packages\sklearn\base.py in score(self, X, y, sample_weight)
    326 
    327         from .metrics import r2_score
--> 328         return r2_score(y, self.predict(X), sample_weight=sample_weight,
    329                         multioutput='variance_weighted')
    330 

~\Anaconda3\lib\site-packages\sklearn\linear_model\base.py in predict(self, X)
    211             Returns predicted values.
    212         """
--> 213         return self._decision_function(X)
    214 
    215     _preprocess_data = staticmethod(_preprocess_data)

~\Anaconda3\lib\site-packages\sklearn\linear_model\base.py in _decision_function(self, X)
    196         X = check_array(X, accept_sparse=['csr', 'csc', 'coo'])
    197         return safe_sparse_dot(X, self.coef_.T,
--> 198                                dense_output=True) + self.intercept_
    199 
    200     def predict(self, X):

~\Anaconda3\lib\site-packages\sklearn\utils\extmath.py in safe_sparse_dot(a, b, dense_output)
    171         return ret
    172     else:
--> 173         return np.dot(a, b)
    174 
    175 

ValueError: shapes (291,1) and (2,1) not aligned: 1 (dim 1) != 2 (dim 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...