import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[:, 1:2].values
y = dataset.iloc[:, 2].values
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
sc_y = StandardScaler()
X = sc_X.fit_transform(X)
y = sc_y.fit_transform(y)
Хорошо, вот в чем проблема. как X, так и y - одноэлементные и имеют один столбец. Как видите, X - это матрица. а y - вектор X = dataset.iloc [:, 1: 2] .values y = dataset.iloc [:, 2] .values
Теперь, когда я запускаю y = sc_y.fit_transform(y)
, я получаю сообщение об ошибке, что это одномерный массив. И если я изменю y = dataset.iloc[:, 2:3].values
, сделав его 2D-массивом. Но я хочу, чтобы он оставался 1D-массивом, поскольку он является зависимой переменной, и хочу, чтобы он оставался таким. Также я решил ранее различные примеры, в которых мне приходилось масштабировать аналогичные данные, и это не дало мне такой ошибки. Не знаю, почему это дает мне сейчас. Более того, я смотрю видео во время кодирования, и в видео все то же самое, но он не получает никаких ошибок.