Python 列车和测试集拟合时出错,列车测试分割法

Python 列车和测试集拟合时出错,列车测试分割法,python,machine-learning,scikit-learn,valueerror,train-test-split,Python,Machine Learning,Scikit Learn,Valueerror,Train Test Split,我正试图用train_test_split评估我的模型。我定义了以下函数,以根据函数中的输入在表(顶列)上创建输出数组: def top_sh(num): ###Get the top(num) in Shanghai data and arrange ####input and output variables accordingly #Add column to be output value, either zero or one #shanghai =

我正试图用train_test_split评估我的模型。我定义了以下函数,以根据函数中的输入在表(顶列)上创建输出数组:

def top_sh(num):
    ###Get the top(num) in Shanghai data and arrange
    ####input and output variables accordingly
    #Add column to be output value, either zero or one

    #shanghai = shanghai_cp.copy()
    if 'top' in shanghai.columns:
        shanghai.drop(columns = shanghai.columns[-1],inplace = True) 

    shanghai['top'] = shanghai['world_rank'].apply(lambda x: 1 if x<= num else 0)
    out = print('*****************'+ '\n' + 'Output array: Top'+ str(num)+ '\n' + 'Disregarding in Analysis: World rank')
    #call = print(shanghai.head(15))

    return out
我运行以下代码:

top_sh(50)
shanghai.head()
X.shape
Y
Y.shape
train_test('shanghai',0.3,7)
```

X.shape = (768, 8)
Y.shape = (768, )

I get the following error on train_test function, specifically on model.fit line:

> ValueError: bad input shape (150, 6)


问题很可能是由于您传递给
fit
的内容引起的。它期望X值作为预测值,Y值作为预测值,因此您在这一行中所做的是不正确的:

model.fit(X_Train,X_Test)
相反,你应该试着通过
Y\u列车

model.fit(X_train,Y_train)

您不想将
X\u列车
Y\u列车
配合使用吗?而不是
model.fit(X_-Train,X_-Test)
。这是否解决了你的问题,请让我知道。是的,它确实解决了我的问题。谢谢你的更正。你能给我一些关于这个部分用于什么的见解吗?ValueError:这个解算器需要数据中至少两个类的样本,但数据只包含一个类:0我在下一步中得到这个错误,我使用KFold来查找精度。我导入了KFold和逻辑回归我使用的数据是sameI将在一分钟内检查,你能用KFold部分编辑你的问题吗?
model.fit(X_train,Y_train)