首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个功能的train_test_split

具有多个功能的train_test_split
EN

Stack Overflow用户
提问于 2018-04-14 15:36:36
回答 1查看 10.5K关注 0票数 8

我目前正在尝试使用决策树分类器训练数据集,但我无法使train_test_split工作。

从下面的代码可以看出,CS是目标输出,EN SN JT FT PW YR LO LA是特征输入。

所有通过OHL的变量都是稀疏矩阵格式,而其他变量是直接从数据帧中获取的数组。

代码语言:javascript
复制
def OHL(x, column): #OneHotEncoder
    le = LabelEncoder()
    enc = OneHotEncoder()
    Labeled = le.fit_transform(x[column].astype(str))
    return enc.fit_transform(Labeled.reshape(-1,1))

###------------------------------------------------------------------------

df = pd.read_csv('h1b_kaggle.csv')
df = df.drop(['Unnamed: 0','WORKSITE'],1)

###------------------------------------------------------------------------

CS = OHL(df, 'CASE_STATUS')
EN = OHL(df, 'EMPLOYER_NAME')
SN = OHL(df, 'SOC_NAME')
JT = OHL(df, 'JOB_TITLE')
FT = OHL(df, 'FULL_TIME_POSITION')
PW = np.array(df['PREVAILING_WAGE'])
YR = OHL(df, 'YEAR')
LO = np.array(df['lon'])
LA = np.array(df['lat'])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-14 19:12:17

如果你看一下sklearn.model_selection.train_test_split,你会发现它需要一个*arrays参数。因此,要拆分前三个参数,您可以使用

代码语言:javascript
复制
CS_tr, CS_te, EN_tr, EN_te, SN_tr, SN_te = train_test_split(CS, EN, SN)

(当然,您可以传递比这更多的数组)。

请注意,当前版本的sklearn在给定稀疏数组时会返回稀疏数组。

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

https://stackoverflow.com/questions/49829023

复制
相关文章

相似问题

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