小编NCL*_*NCL的帖子

Scikit-learn 上的嵌套交叉验证示例

我正在努力研究 Sklearn中嵌套与非嵌套 CV的示例。我检查了多个答案,但我仍然对这个例子感到困惑。据我所知,嵌套 CV 旨在使用不同的数据子集来选择分类器的最佳参数(例如 SVM 中的 C)并验证其性能。因此,从数据集 X 中,外部10 倍 CV(为简单起见,n=10)创建了 10 个训练集和 10 个测试集:

(Tr0, Te0),..., (Tr0, Te9)
Run Code Online (Sandbox Code Playgroud)

然后,内部10-CV 将每个外部训练集拆分为 10 个训练集和 10 个测试集:

From Tr0: (Tr0_0,Te_0_0), ... , (Tr0_9,Te0_9)
From Tr9: (Tr9_0,Te_9_0), ... , (Tr9_9,Te9_9)
Run Code Online (Sandbox Code Playgroud)

现在,使用内部 CV,我们可以找到每个外部训练集的最佳C值。这是通过使用内部 CV测试C 的所有可能值来完成的。为该特定外部训练集选择提供最高性能(例如准确度)的值。最后,发现每个外部训练集的最佳C值后,我们可以使用外部测试集计算无偏精度。通过这个过程,用于识别最佳参数(即C)的样本不用于计算分类器的性能,因此我们有一个完全无偏的验证。

Sklearn 页面中提供的示例是:

inner_cv = KFold(n_splits=4, shuffle=True, random_state=i)
outer_cv = KFold(n_splits=4, shuffle=True, random_state=i)

# Non_nested parameter search and scoring
clf = GridSearchCV(estimator=svm, …
Run Code Online (Sandbox Code Playgroud)

python nested scikit-learn cross-validation grid-search

10
推荐指数
0
解决办法
7734
查看次数

在另一个脚本终止后运行 python 脚本

我有一个需要几个小时才能完成的 python 脚本。我通常将其运行为:

python myscript.py arg1 arg2 ... argN 2> log.err > log.out &
Run Code Online (Sandbox Code Playgroud)

我想要一个 shell 脚本,它可以多次运行相同的 python 脚本(具有不同的参数)。仅当第一个脚本终止时,此脚本才必须启动第二个 python 脚本,依此类推。我认为我应该使用进程的 PID,并在一些 while 循环中迭代检查使用 sleep 的情况。有什么建议么?这些脚本是在远程计算机中执行的,因此我必须将它们放在后台,以保证即使在我注销时它们也能继续执行。

python iteration shell sleep pid

3
推荐指数
1
解决办法
1万
查看次数

pandas数据框的条件过滤

我有一个关于足球结果的熊猫数据框。数据帧的每一行代表一场足球比赛。每场比赛信息如下:

Day | WinningTeamID | LosingTeamID | WinningPoints | LosingPoints | WinningFouls | ... | 
1          13             1              45                5               3  
1          12             4              21                12              4              
Run Code Online (Sandbox Code Playgroud)

即,根据游戏结果来划分信息:赢或输。我想检索特定球队(例如 12 支)每场比赛的数据。

Day | Points | Fouls | ... | 
1       21       4     ...
2       32       6     ...
Run Code Online (Sandbox Code Playgroud)

最简单的方法是扫描整个数据帧,检查特定的 teamID 是否在WinningIDLosingID上,然后基于此检索“ Losing-columns ”或“ Winning-columns ”。有没有更“优雅”的方式来切片 pandas 数据框?这将简单地给出 12 队参与的比赛子集。

df[df[WinningTeamID == 12] | [LosingTeamID == 12]]
Run Code Online (Sandbox Code Playgroud)

如何过滤这些数据并创建所需的数据框?

python filter slice pandas

3
推荐指数
1
解决办法
3万
查看次数

大写到小写与 Sed 和字符类

我想将字符串从大写转换为小写。我知道有不同的方法可以解决这个问题,但我想了解为什么这个命令不起作用:

echo "aa" | sed 's/'[:upper:]'/'[:lower:]'/g'
Run Code Online (Sandbox Code Playgroud)

使用字符类是一种错误的方式吗?

replace class sed character

2
推荐指数
1
解决办法
1596
查看次数