Compare commits
1 Commits
f4f2ab8c03
...
task1-vali
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
91a814d56d |
52
cross_validation/emd.py
Normal file
52
cross_validation/emd.py
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
CARD_BITS = 6
|
||||||
|
RANKS = "23456789TJQKA"
|
||||||
|
SUITS = "shdc"
|
||||||
|
|
||||||
|
|
||||||
|
def load_np(filename):
|
||||||
|
return np.load((Path(__file__).parent.parent / "ehs-data" / filename).resolve())
|
||||||
|
|
||||||
|
|
||||||
|
np_river = load_np("sd_river_ehs.np")
|
||||||
|
np_turn = load_np("sd_turn_hist.np")
|
||||||
|
np_flop = load_np("sd_flop_hist.np")
|
||||||
|
|
||||||
|
|
||||||
|
def to_card(i):
|
||||||
|
return f"{RANKS[math.floor(i / 4)]}{SUITS[i % 4]}"
|
||||||
|
|
||||||
|
|
||||||
|
def to_cards(value, n):
|
||||||
|
return [to_card((value >> (i * CARD_BITS)) & 0x3F) for i in range(n)]
|
||||||
|
|
||||||
|
|
||||||
|
N_ROWS = 1
|
||||||
|
|
||||||
|
print("\nflop data: # bins 465")
|
||||||
|
for row in np_flop[0:N_ROWS]:
|
||||||
|
print("-----")
|
||||||
|
print(row)
|
||||||
|
print(f"board: {to_cards(row['board'], 3)}")
|
||||||
|
print(f"player: {to_cards(row['player'], 2)}")
|
||||||
|
print(f"bins: {row['bins']}")
|
||||||
|
|
||||||
|
print("\nturn data: # bins 30")
|
||||||
|
for row in np_turn[0:N_ROWS]:
|
||||||
|
print("-----")
|
||||||
|
print(row)
|
||||||
|
print(f"board: {to_cards(row['board'], 3)}")
|
||||||
|
print(f"player: {to_cards(row['player'], 2)}")
|
||||||
|
print(f"bins: {row['bins']}")
|
||||||
|
|
||||||
|
print("\nriver data: 0-29 (winrate: (ehs+1) * 1/30)")
|
||||||
|
for row in np_river[0:N_ROWS]:
|
||||||
|
print("-----")
|
||||||
|
print(row)
|
||||||
|
print(f"board: {to_cards(row['board'], 3)}")
|
||||||
|
print(f"player: {to_cards(row['player'], 2)}")
|
||||||
|
print(f"wins: {row['ehs']}")
|
||||||
Reference in New Issue
Block a user