“意外的关键字参数'axis'”tunning SckitLearn在使用Pandas'cut函数后的train_test_split函数

2024-10-01 00:16:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在操作数据集时遇到了这个问题。我的数据集采用CSV格式,结构如下:

ID,FieldOne,FieldTwo,FieldThree,FieldFour,FieldThree,FieldFour,FieldFive,ToPredict 
1,337,118,4,4.5,4.5,9.65,1,0.92
2,324,107,4,4,4.5,8.87,1,0.76
3,316,104,3,3,3.5,8,1,0.72

“ToPredictField”是一个概率,它告诉我为某个进程选择每一行的可能性。这是我的类专栏,我想把它分为5类:非常不可能(<;=0.5)、不太可能(介于0.5和0.7之间)、中等(介于0.7和0.8之间)、可能(介于0.8和0.9之间)、非常相似(>;0.9)。我是这样使用Pandascut函数来实现的:

^{pr2}$

现在,我尝试运行train_test_split将数据集分成67%的train/33%:

data_X = dataset[['ID','FieldOne','FieldTwo','FieldThree','FieldFour','FieldThree','FieldFour','FieldFive']].values
data_Y = dataset['Chance of Admit '].values

train_X, test_X, train_Y, test_Y = train_test_split(data_X, data_Y, test_size=0.33, random_state=10)

但是,我得到一个错误:

/usr/local/lib/python3.6/dist-packages/sklearn/utils/__init__.py in safe_indexing(X, indices)
    214                                    indices.dtype.kind == 'i'):
    215             # This is often substantially faster than X[indices]
--> 216             return X.take(indices, axis=0)
    217         else:
    218             return X[indices]

TypeError: take_nd() got an unexpected keyword argument 'axis'

你知道它是什么吗?在

谢谢。在


Tags: 数据testiddatareturntraindatasetsplit
1条回答
网友
1楼 · 发布于 2024-10-01 00:16:04

我确认了熊猫0.24.2的问题。为了避免这种情况,改变

 data_Y = dataset.ToPredictField.cat.codes

这将为您提供类别的数字代码,这无疑对sklearn起到了很好的作用。或者你可以简单地做

^{pr2}$

但我不确定它与sklearn有什么关系。在

相关问题 更多 >