y应该是一个1d数组,而得到了一个形状为{}的数组.我该怎么办


%matplotlib inline
from google.colab import files
import numpy as np
import xgboost as xgb
import pandas as pd
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from xgboost import plot_importance

train = pd.read_csv("train.csv", index_col=0)
test = pd.read_csv("test.csv", index_col=0)
submission = pd.read_csv("sample_submission.csv")
X = train.iloc[:,:9]
Y = train.iloc[:,9:]
X

seed = 5
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)

model = xgb.XGBClassifier()
model.fit( X_train, y_train)

test.csv测试

train.csv列车


ValueError Traceback(上次调用(在((2.3型号=xgb。XGB分类器((---->4模型拟合(X_train,y_train(

2帧/在column_or_1d(y,warn(中的usr/local/lib/python3.7/dist-packages/skrearn/utils/validation.py10231024提升值错误(->1025";y应该是一个1d数组,而得到了一个形状为{}的数组&";。格式(形状(1026(1027

ValueError:y应该是1d数组,而得到的却是形状为(3210,0(的数组。

请帮帮我。。我该怎么办。。?

我认为您的错误来自于您为y值使用的数据类型:它是一个数据帧,因为您使用了这种语法Y = train.iloc[:,9:]。你应该试试Pandas系列:Y = train.iloc[:,9](去掉末尾的冒号(

最新更新