使用Python代码求解简单的sigma-Algebra(也就是概率中的Borel域)
Using Python code to solve simple sigma-Algebra (also known as Borel field in probability)
我正在阅读一篇关于在概率中使用 sigma 代数的博客 post。作者给出了一个简单的例子,后面是一些 Python 代码展示了他将如何解决 Python 中的问题。但是,当我使用 Google Colab 测试他的 Python 代码时,当我 运行 它时,我得到了错误消息(类型错误:'function' 对象不可迭代)。
我不是一个 Python 用户,所以我从来没有用它来解决数学问题,但我正在阅读博客 post 因为我想学习如何用它来解决这样的数据科学问题。我搜索了 Google,但找不到任何其他关于使用 Python 求解 sigma-algebra 的文章,所以我想我会 post 这个问题,以防其他人尝试 运行学习Python的代码,发现同样的错误。我在大学学的是 Matlab 和 R,而不是 Python。
这里是博客 URL post:https://towardsdatascience.com/foundations-of-probability-7a792e7eea5
这是他提供的代码:
from itertools import combinations, chain
powerset = ((),)
def powerset(input_set):
size = len(input_set)
combs = (combinations(input_set, k) for k in range(1, size+1))
return chain(empty_powerset, *combs)
print(tuple(powerset({10, 20, 30})))
解决方案应显示8组;其中一个是空集(),然后剩下的七个是{10},{20}等等直到{10,20,30}。您将如何更正这段代码?谢谢!
网站上发布的代码至少有两个错误。这是正确的代码:
import pandas as pd
from itertools import combinations, chain
empty_powerset = ((),)
def powerset(input_set):
size = len(input_set)
combs = (combinations(input_set, k) for k in range(1, size + 1))
return chain(empty_powerset, *combs)
print(tuple(powerset({10, 20, 30})))
首先,它是 empty_powerset
,其次,缺少 size = ...
之前的缩进。
我得到的结果是
((), (10,), (20,), (30,), (10, 20), (10, 30), (20, 30), (10, 20, 30))
我正在阅读一篇关于在概率中使用 sigma 代数的博客 post。作者给出了一个简单的例子,后面是一些 Python 代码展示了他将如何解决 Python 中的问题。但是,当我使用 Google Colab 测试他的 Python 代码时,当我 运行 它时,我得到了错误消息(类型错误:'function' 对象不可迭代)。
我不是一个 Python 用户,所以我从来没有用它来解决数学问题,但我正在阅读博客 post 因为我想学习如何用它来解决这样的数据科学问题。我搜索了 Google,但找不到任何其他关于使用 Python 求解 sigma-algebra 的文章,所以我想我会 post 这个问题,以防其他人尝试 运行学习Python的代码,发现同样的错误。我在大学学的是 Matlab 和 R,而不是 Python。
这里是博客 URL post:https://towardsdatascience.com/foundations-of-probability-7a792e7eea5
这是他提供的代码:
from itertools import combinations, chain
powerset = ((),)
def powerset(input_set):
size = len(input_set)
combs = (combinations(input_set, k) for k in range(1, size+1))
return chain(empty_powerset, *combs)
print(tuple(powerset({10, 20, 30})))
解决方案应显示8组;其中一个是空集(),然后剩下的七个是{10},{20}等等直到{10,20,30}。您将如何更正这段代码?谢谢!
网站上发布的代码至少有两个错误。这是正确的代码:
import pandas as pd
from itertools import combinations, chain
empty_powerset = ((),)
def powerset(input_set):
size = len(input_set)
combs = (combinations(input_set, k) for k in range(1, size + 1))
return chain(empty_powerset, *combs)
print(tuple(powerset({10, 20, 30})))
首先,它是 empty_powerset
,其次,缺少 size = ...
之前的缩进。
我得到的结果是
((), (10,), (20,), (30,), (10, 20), (10, 30), (20, 30), (10, 20, 30))