接收ValueError:对于x和y值,x和y必须大小相同。任何帮助,将不胜感激

问题描述 投票:-1回答:1

目前正在研究用于预测天气的机器学习问题。然而,当我在Jupyter笔记本中运行我的代码时,我遇到了上述错误,我不确定我哪里出错了,因为我的数据值应该都是2d数组。任何帮助将不胜感激。在我的笔记本中,它特别提到了133行

        axes[row, col]. scatter(df2[feature], df2['meantempm'])

作为问题。如果它有助于我使用https://stackabuse.com/using-machine-learning-to-predict-the-weather-part-2/作为我的痛苦资源

import jupyter
import IPython
from IPython import get_ipython
from datetime import datetime
from datetime import timedelta
import time
from collections import namedtuple
import pandas as pd
import requests
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import statsmodels.api as sm
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, median_absolute_error
from sklearn.metrics import explained_variance_score, \
    mean_absolute_error, \
    median_absolute_error
import tensorflow as tf

df = pd.read_csv('end-part2_df.csv').set_index('date')

df.corr()[['meantempm']].sort_values('meantempm')

predictors = ['meantempm_1',  'meantempm_2',  'meantempm_3',
              'mintempm_1',   'mintempm_2',   'mintempm_2',
              'meandewptm_1', 'meandewptm_2', 'meandewptm_3',
              'maxdewptm_1',  'maxdewptm_2',  'maxdewptm_3',
              'mindewptm_1',  'mindewptm_2',  'mindewptm_3',
              'maxtempm_1',   'maxtempm_2',   'maxtempm_3']

df2 = df[['meantempm'] + predictors]

get_ipython().run_line_magic('matplotlib','inline')

plt.rcParams['figure.figsize'] = [16, 22]

fig, axes = plt.subplots(nrows=6, ncols=3, sharey=True)

arr = np.array(predictors).reshape(6, 3)

for row, col_arr in enumerate(arr):
    for col, feature in enumerate(col_arr):
        axes[row, col]. scatter(df2[feature], df2['meantempm'])
        if col == 0:
            axes[row, col].set(xlabel=feature, ylabel='meantempm')
        else:
            axes[row, col].set(xlabel=feature)
plt.show()
python python-3.x machine-learning scikit-learn linear-regression
1个回答
0
投票

你的df ['mintempm_2']是2D(997,2)。这是因为在您的预测变量数组中,您已经包含了两次“mintempm_2”。

© www.soinside.com 2019 - 2024. All rights reserved.