为 train_test_split 设置 kwargs
Setting kwargs for train_test_split
我有一个笔记本,它迭代了同一个模型,增加了功能。我只想用相关参数的字典填写 train_test_split()
,而不是每次都填写。例如,对于我的随机森林模型,我创建了一个超参数字典:
rf_params = {
'class_weight':'balanced',
'max_depth':2,
'n_estimators':1000,
'n_jobs':-1,
'random_state':42
}
我将用每个随机森林分类器解压它:rf_clf = RandomForestClassifier(**rf_params)
。我想对 train_test_split()
做同样的事情,它的参数总是 X, y, test_size=0.3, random_state=42
,但在检查文档时,似乎 X
和 y
的标准调用不是 kwarg,而是基于 *arrays
。我如何在字典中设置它以解压?
类似于
split_args = {
'*arrays':['X','y'],
'test_size':0.3,
'random_state':42
}
train_test_split(**split_args)
您可以使用 *args
:
split_args = [X, y]
split_kwargs = {
'test_size':0.3,
'random_state':42
}
train_test_split(*split_args, **split_kwargs)
由于 *arrays
只是位置信息,因此需要将其作为可迭代对象而不是字典传递。
参见:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html
我有一个笔记本,它迭代了同一个模型,增加了功能。我只想用相关参数的字典填写 train_test_split()
,而不是每次都填写。例如,对于我的随机森林模型,我创建了一个超参数字典:
rf_params = {
'class_weight':'balanced',
'max_depth':2,
'n_estimators':1000,
'n_jobs':-1,
'random_state':42
}
我将用每个随机森林分类器解压它:rf_clf = RandomForestClassifier(**rf_params)
。我想对 train_test_split()
做同样的事情,它的参数总是 X, y, test_size=0.3, random_state=42
,但在检查文档时,似乎 X
和 y
的标准调用不是 kwarg,而是基于 *arrays
。我如何在字典中设置它以解压?
类似于
split_args = {
'*arrays':['X','y'],
'test_size':0.3,
'random_state':42
}
train_test_split(**split_args)
您可以使用 *args
:
split_args = [X, y]
split_kwargs = {
'test_size':0.3,
'random_state':42
}
train_test_split(*split_args, **split_kwargs)
由于 *arrays
只是位置信息,因此需要将其作为可迭代对象而不是字典传递。
参见:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html