Python 3.x valueerror-setting-an-array-element-with-a-sequence在尝试交叉验证时出错

Python 3.x valueerror-setting-an-array-element-with-a-sequence在尝试交叉验证时出错,python-3.x,scikit-learn,cross-validation,numpy-ndarray,Python 3.x,Scikit Learn,Cross Validation,Numpy Ndarray,我正在尝试使用以下内容进行交叉验证: cv = RepeatedStratifiedKFold(n_splits=10,n_repeats=3,random_state=1) rndm_forest1 = RandomForestClassifier(n_estimators=10) scores_rf1 = cross_val_score(rndm_forest1,rnd_for_temp,rnd_for_op,scoring='roc_auc', cv=cv, n_jobs=-1) 所有必

我正在尝试使用以下内容进行交叉验证:

cv = RepeatedStratifiedKFold(n_splits=10,n_repeats=3,random_state=1)
rndm_forest1 = RandomForestClassifier(n_estimators=10)
scores_rf1 = cross_val_score(rndm_forest1,rnd_for_temp,rnd_for_op,scoring='roc_auc', cv=cv, n_jobs=-1)
所有必需的软件包都已导入

完整的回溯如下所示:

Traceback (most recent call last):
  File "<ipython-input-1-0c4a3e59c0fe>", line 162, in <module>
    scores_rf1 = cross_val_score(rndm_forest1,rnd_for_temp,rnd_for_op,scoring='roc_auc', cv=cv, n_jobs=-1)
  File "C:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 402, in cross_val_score
    error_score=error_score)
  File "C:\ProgramData\Anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 240, in cross_validate
    for train, test in cv.split(X, y, groups))
  File "C:\ProgramData\Anaconda3\lib\site-packages\sklearn\externals\joblib\parallel.py", line 930, in __call__
    self.retrieve()
  File "C:\ProgramData\Anaconda3\lib\site-packages\sklearn\externals\joblib\parallel.py", line 833, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "C:\ProgramData\Anaconda3\lib\site-packages\sklearn\externals\joblib\_parallel_backends.py", line 521, in wrap_future_result
    return future.result(timeout=timeout)
  File "C:\ProgramData\Anaconda3\lib\concurrent\futures\_base.py", line 432, in result
    return self.__get_result()
  File "C:\ProgramData\Anaconda3\lib\concurrent\futures\_base.py", line 384, in __get_result
    raise self._exception
ValueError: setting an array element with a sequence.
回溯(最近一次呼叫最后一次):
文件“”,第162行,在
分数\u rf1=交叉值\u分数(rndm\u forest1,rnd\u表示临时,rnd\u表示操作,分数='roc\u auc',cv=cv,n\u作业=-1)
文件“C:\ProgramData\Anaconda3\lib\site packages\sklearn\model\u selection\\u validation.py”,第402行,在cross\u val\u score中
错误分数=错误分数)
文件“C:\ProgramData\Anaconda3\lib\site packages\sklearn\model\u selection\\u validation.py”,第240行,交叉验证
对于列车,在等速分段(X、y、组)中进行试验
文件“C:\ProgramData\Anaconda3\lib\site packages\sklearn\externals\joblib\parallel.py”,第930行,在调用中__
self.retrieve()
文件“C:\ProgramData\Anaconda3\lib\site packages\sklearn\externals\joblib\parallel.py”,检索中第833行
self.\u output.extend(job.get(timeout=self.timeout))
文件“C:\ProgramData\Anaconda3\lib\site packages\sklearn\externals\joblib\\u parallel\u backends.py”,第521行,在wrap\u future\u result中
返回future.result(超时=超时)
结果中第432行的文件“C:\ProgramData\Anaconda3\lib\concurrent\futures\\u base.py”
返回self.\u获取\u结果()
文件“C:\ProgramData\Anaconda3\lib\concurrent\futures\\u base.py”,第384行,在“获取结果”中
提出自己的意见
ValueError:使用序列设置数组元素。
_temp的输入rnd_是一个数据帧,而_op的输入rnd_是一个单列数据帧

我还尝试将rnd_传递给临时值,将rnd_传递给操作值。第一个给出了与数据帧维度一致的数组,第二个给出了1-d数组,我认为这是目标变量的正确要求。在这种情况下,我仍然收到相同的错误消息

有没有关于如何克服这一问题的建议