`ValueError:y中填充最少的类只有1个成员,这在PyCaret中太少了

2024-04-28 21:54:15 发布

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

我有个问题,和PyCaret一起工作。以前我没有任何问题

但是当我使用pandasthis question对数据进行过采样并保存数据时,它就开始了

该文件是here

然后我在一个单独的笔记本上读了这个文件

import pycaret
from pycaret.utils import version
from pycaret.regression import *
from pycaret.classification import *

# Read clean data
starbucks_days = pd.read_csv('days_smote.csv')

# Drop a column
starbucks_days = starbucks_days.drop(['Unnamed: 0'], axis = 1)
starbucks_days = starbucks_days.drop(['transaction', 'offer_viewed', 'offer_received', 'offer_completed'], axis = 1)
starbucks_days = starbucks_days.drop(['label'], axis = 1)

我开始使用PyCaret

# Initialize Setup
starbucks_days1 = setup(starbucks_days, target = 'time_completed_viewed', session_id = 123, log_experiment = True, experiment_name = 'days1')

但是我犯了一个错误

ValueError:y中填充最少的类只有1个成员,这太少了。任何类别的最小组数不得少于2。

This GitHub issue gives some hints

我检查一些参数

type(starbucks_days)
pandas.core.frame.DataFrame

starbucks_days['time_completed_viewed'].value_counts()
6.000000      1682
12.000000     1503
18.000000     1318
24.000000     1212
174.000000    1068
          ... 
444.107530       1
226.213225       1
411.947513       1
236.001744       1
394.722944       1
Name: time_completed_viewed, Length: 3572, dtype: int64

有什么提示吗?我遗漏了什么?正如我所说,PyCaret可以很好地处理简单的csv文件,这些文件没有过采样


Tags: 文件csvfromimportpandastimedaysdrop
1条回答
网友
1楼 · 发布于 2024-04-28 21:54:15

在导入中,您在导入regression后导入了classification,该regression已覆盖环境中的模块

这似乎是一个回归问题(连续值)。您不需要导入classification

从代码中删除这一行,它应该可以正常工作:

from pycaret.classification import *

相关问题 更多 >