gpt4 book ai didi

python - 按百分比随机划分并存储 SQL 表

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:22 25 4
gpt4 key购买 nike

我正在尝试拆分 Microsoft SSMS (SQL Server) 中的数据库,以便在机器学习应用程序中使用数据。

我想以 80/20 的比例将数据分成训练表和测试表。不幸的是,我知道这样做的唯一方法是将表中前 20% 的数据作为测试集,然后将其余数据设置为训练集(从...中选择前 20%)。

我不想这样做,因为那时我的测试和训练集完全基于它们在 SQL 中的组织方式,而不是基于一些随机种子。

我的最终目标是实现 80/20 的训练/测试拆分,以便在 SQL Server 中的 Python 存储过程中使用。

最佳答案

要生成随机分布,您可以按 newid() 排序:

select top 20 percent * from mytable order by newid()

您可能还想查看自 SQL Server 2015 起可用的 tablesample 子句。它有一个名为 repeatable 的选项,可让查询返回相同的随机数每次运行它时都会记录集(只要给定的种子保持不变并且表未修改)。这对您的用例来说可能很方便:

select top 20 percent * from mytable order by tablesample(20 percent) repeatable(10)

关于python - 按百分比随机划分并存储 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58550065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com