Я пытаюсь увеличить размерность моего начального массива:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.preprocessing import PolynomialFeatures
x = 10*rng.rand(50)
y = np.sin(x) + 0.1*rng.rand(50)
poly = PolynomialFeatures(7, include_bias=False)
poly.fit_transform(x[:,np.newaxis])
Во-первых, я знаю, что np.newaxis создает дополнительный столбец. Зачем это нужно?
Теперь я буду тренировать обновленные данные x (поли) с линейной регрессией
test_x = np.linspace(0,10,1000)
from sklearn.linear_model import LinearRegression
model = LinearRegression()
# train with increased dimension(x=poly) with its target
model.fit(poly,y)
# testing
test_y = model.predict(x_test)
Когда я запускаю это, оно дает мне: ValueError: Ожидаемый 2D-массив, вместо этого получен скалярный массив: в строке model.fit (poly, y). Я уже добавил измерение в поли, что происходит?
Кроме того, в чем разница между x [:, np.newaxis] и Vs. х [:, None]
?