Ошибка при выполнении линейной регрессии гребня ядра для набора данных

#python #machine-learning #regression

Вопрос:

Попытка подогнать линейную регрессионную модель хребта ядра к набору данных с 8 объектами.

 import pandas as pd
import urllib.request
url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/concrete/compressive/Concrete_Data.xls'
urllib.request.urlretrieve(url, './Concrete_Data.xls')
data = pd.read_excel('./Concrete_Data.xls')
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

new_col_names = ["Cement", "BlastFurnaceSlag", "FlyAsh", "Water", "Superplasticizer","CoarseAggregate", "FineAggregate", "Age", "CC_Strength"]

curr_col_names = list(data.columns)

mapper = {}
for i,name in enumerate(curr_col_names):
  mapper[name] = new_col_names[i]

data = data.rename(columns=mapper)

X = data.iloc[:,:-1]
y = data.iloc[:,-1]
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=2)

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()

x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
from sklearn.kernel_ridge import KernelRidge

kr = KernelRidge(alpha=1.0)
kr.fit(x_train, y_train)
y_pred_kr = kr.predict(y_test)
 

Когда я пытаюсь запустить код, появляется ошибка, в которой говорится, что ожидаемый массив должен быть 2D, но является 1D массивом. Может ли кто-нибудь сообщить мне, что я, возможно, делаю не так?

Комментарии:

1. Вы дали y_pred_kr = kr.predict(y_test) вместо того, чтобы y_pred_kr = kr.predict(x_test)