[英]Use grid search to create a matrix with dimension n * 3 in Python
我想要一個像下面這樣的矩陣,3 列,n 行。 每行總和為一。
[[0, 0, 1], [0, 0.1, 0.9], [0.1, 0.1, 0.8], [0.1, 0.2, 0.7] ...]
有圖書館可以這樣做嗎?
您可以使用itertools.combinations_with_replacement
從 0.0 和 1.0 之間的 11 個插槽中選擇 2 個分區:
from itertools import combinations_with_replacement
[[n / 10 for n in (a, b - a, 10 - b)] for a, b in combinations_with_replacement(range(11), 2)]
這將返回:
[[0.0, 0.0, 1.0],
[0.0, 0.1, 0.9],
[0.0, 0.2, 0.8],
[0.0, 0.3, 0.7],
[0.0, 0.4, 0.6],
[0.0, 0.5, 0.5],
[0.0, 0.6, 0.4],
[0.0, 0.7, 0.3],
[0.0, 0.8, 0.2],
[0.0, 0.9, 0.1],
[0.0, 1.0, 0.0],
[0.1, 0.0, 0.9],
[0.1, 0.1, 0.8],
[0.1, 0.2, 0.7],
[0.1, 0.3, 0.6],
[0.1, 0.4, 0.5],
[0.1, 0.5, 0.4],
[0.1, 0.6, 0.3],
[0.1, 0.7, 0.2],
[0.1, 0.8, 0.1],
[0.1, 0.9, 0.0],
[0.2, 0.0, 0.8],
[0.2, 0.1, 0.7],
[0.2, 0.2, 0.6],
[0.2, 0.3, 0.5],
[0.2, 0.4, 0.4],
[0.2, 0.5, 0.3],
[0.2, 0.6, 0.2],
[0.2, 0.7, 0.1],
[0.2, 0.8, 0.0],
[0.3, 0.0, 0.7],
[0.3, 0.1, 0.6],
[0.3, 0.2, 0.5],
[0.3, 0.3, 0.4],
[0.3, 0.4, 0.3],
[0.3, 0.5, 0.2],
[0.3, 0.6, 0.1],
[0.3, 0.7, 0.0],
[0.4, 0.0, 0.6],
[0.4, 0.1, 0.5],
[0.4, 0.2, 0.4],
[0.4, 0.3, 0.3],
[0.4, 0.4, 0.2],
[0.4, 0.5, 0.1],
[0.4, 0.6, 0.0],
[0.5, 0.0, 0.5],
[0.5, 0.1, 0.4],
[0.5, 0.2, 0.3],
[0.5, 0.3, 0.2],
[0.5, 0.4, 0.1],
[0.5, 0.5, 0.0],
[0.6, 0.0, 0.4],
[0.6, 0.1, 0.3],
[0.6, 0.2, 0.2],
[0.6, 0.3, 0.1],
[0.6, 0.4, 0.0],
[0.7, 0.0, 0.3],
[0.7, 0.1, 0.2],
[0.7, 0.2, 0.1],
[0.7, 0.3, 0.0],
[0.8, 0.0, 0.2],
[0.8, 0.1, 0.1],
[0.8, 0.2, 0.0],
[0.9, 0.0, 0.1],
[0.9, 0.1, 0.0],
[1.0, 0.0, 0.0]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.