Python 错误:X.shape[1]=1应等于9,即训练时的特征数

Python 错误:X.shape[1]=1应等于9,即训练时的特征数,python,pandas,numpy,machine-learning,Python,Pandas,Numpy,Machine Learning,我在一个数据集上尝试不同的ml算法来预测足球运动员的市场价格。我在使用SVR时卡住了。数据集的维度为:461行*9列。代码如下: import numpy as np import matplotlib.pyplot as plt import pandas as pd # Importing the dataset dataset = pd.read_csv('1603428153-5e748a2d5fc288e9f69c5f86.csv') dataset.columns X = data

我在一个数据集上尝试不同的ml算法来预测足球运动员的市场价格。我在使用SVR时卡住了。数据集的维度为:461行*9列。代码如下:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Importing the dataset
dataset = pd.read_csv('1603428153-5e748a2d5fc288e9f69c5f86.csv')
dataset.columns
X = dataset.drop(['name','club','nationality','position','age_cat','new_signing','new_foreign','big_club'],axis=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 = 0)

# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
sc_y = StandardScaler()
X1 = sc_X.fit_transform(X1)
y = y.reshape(-1,1)
y = sc_y.fit_transform(y)

# Fitting SVR to the dataset
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf',epsilon=1.0)
regressor.fit(X1, y)

pred=regressor.predict(X_test)
print(regressor.score(X_test,y_test))
print(r2_score(y_test,pred))

在这行“pred=regressor.predict(X_测试)”中,它抛出错误:X.shape[1]=9应该等于1,即培训时的功能数量。请帮助我,我还没有在本地运行此操作,但看起来您可能在
fit_transform
步骤中调用了
X1
。我想您应该调用
X

# X1 = sc_X.fit_transform(X1)
X1 = sc_X.fit_transform(X)

您是否偶然使用了jupyter笔记本,因为正如发布的那样,您的代码在定义之前调用了
X1
。如果您在有状态的环境中工作,这种问题会频繁出现解决…谢谢:)