首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sklearn中进行测试和训练数据拆分错误

在sklearn中进行测试和训练数据拆分错误
EN

Stack Overflow用户
提问于 2017-11-17 04:08:24
回答 1查看 6.8K关注 0票数 4

我正在尝试通过"train_test_split“来划分测试和训练数据。为什么我得到错误“至少需要一个数组作为输入”。

"train_test_split“的输入可以是数组和dataFrame,对吗?

代码语言:javascript
复制
import pandas as pd
import numpy as np 
from rpy2.robjects.packages import importr
import rpy2.robjects as ro
import pandas.rpy.common as rpy_common 
from sklearn.model_selection import  train_test_split

def la():
 ro.r('library(MASS)')
 pydf = rpy_common.load_data(name = 'Boston', package=None, convert=True)
 pddf = pd.DataFrame(pydf)
 targetIndex = pddf.columns.get_loc("medv") 

 # make train and test data
rowNum = pddf.shape[0]  
colNum = pddf.shape[1]
print(type(pddf.as_matrix()))
print(pddf.as_matrix().shape)
m = np.asarray(pddf.as_matrix()).reshape(rowNum,colNum)
print(type(m))
x_train, x_test, y_train, y_test = train_test_split(x = m[:, 0:rowNum-2], \
                                                    y = m[:, -1],\
                                                    test_size = 0.5) 
# error:     raise ValueError("At least one array required as input")
ValueError: At least one array required as input
EN

回答 1

Stack Overflow用户

发布于 2017-11-17 04:13:49

sklearn docs中,使用位置项解包("*args")来处理数组。

您正在使用关键字参数"x=“和"y=",它试图通过查看"x”和"y“是否是特殊关键字选项的名称来处理这些参数。

尝试:

代码语言:javascript
复制
train_test_split(m[:, 0:rowNum-2], m[:, -1], test_size=0.5)

(从数组中删除关键字参数名称)。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47338255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档