Toutes mes réponses sur les forums
-
AuteurMessages
-
10 janvier 2019 à 13h36 en réponse à : [Programmation Python] Détecter des fuites dans son jeu #156490
Mike_modano
Membre4-Rapport des gains en fonction du type de mains
Pour ce rapport, cela se complique un peu.
Les mains apparaissent dans le tableau extrait de HM1 mais pas le type de mains.
J’ai donc créé un fichier avec les 1326 combos et un type de mains correspondant.
J’ai repris la classifications de HM3 à savoir :Types de mains Ranges Suited Aces AJs-A2s Big Ace Hands AK-AQ Pocket Aces AA Low Pairs 66-22 Medium Pairs TT-77 Big Pairs KK-JJ Non Suited Connectors KQo-54o Non Suited One Gapper KJo-64o Non Suited Two Gappers KTo-63o Suited Connectors KQs-54s Suited One Gapper KJs-64s Suited Two Gappers KTs-63s Non Suited Aces AJo-A2o Other Non Suited Hands K9o-32o Other Suited Hands K9s-32s J’ai créé un autre petit programme qui uniformise les mains du tableau puis qui va chercher le type de la mains pour chaque HH (par exemple : Ah2h renvoi « Suited Aces »)
Ce petit programme est beaucoup plus long que les autres, cela prend environ 8 minutes pour 50000 mains.
J’en ai profité pour calculer directement et ajouter une colonne au tableau les gains en EVbb et extraire un nouveau fichier csv pour que le fichier d’origine ne soit pas modifié.
Ce programme est à lancer une fois au début et on peut faire toutes les analyses que l’on veut très rapidement par la suite, on peut ensuite extraire le winrate en fonction du type de mains :Ce qui donne pour mes dernières 50000 mains :
Hand_Type EVbbs_sum EVbbs_count EVbb100 Low Pairs -1140.6 1115 -102.3 Suited Two Gappers -969.4 766 -126.6 Other Suited Hands -340.1 1634 -20.8 Suited Aces -258.4 1456 -17.7 Non Suited Connectors -56.4 1885 -3.0 Non Suited One Gapper 26.3 1273 2.1 Medium Pairs 67.7 887 7.6 Other Non Suited Hands 90.9 1820 5.0 Non Suited Two Gappers 123.4 871 14.2 Suited Connectors 467.7 1213 38.6 Non Suited Aces 696.7 2420 28.8 Big Ace Hands 946.7 1165 81.3 Suited One Gapper 1316.7 1031 127.7 Pocket Aces 2581.5 204 1265.4 Big Pairs 3976.0 660 602.4 10 janvier 2019 à 13h19 en réponse à : [Programmation Python] Détecter des fuites dans son jeu #156489Mike_modano
Membre3-Rapport des gains en fonction de l’action préflop
Ce rapport est également simple et rapide à exécuter : je supprime toutes les mains que l’on a fold puis je regroupe les mains en fonction de l’action réalisée préflop (C = call, RC = raise/call (call 3bet)…).
Je compte également le le winrate en EVbbs, le nombre de mains et le winrate en bb/100.Ce qui donne pour mes dernières 50000 mains :
PF_action EVbbs_sum EVbbs_count EVbb100 C -4283.7 4065 -105.4 RF -2584.0 771 -335.1 RC -814.6 932 -87.4 CF -292.1 93 -314.1 X -143.5 1372 -10.5 RRF -119.0 5 -2380.0 RCF -37.5 3 -1250.0 RCC 13.1 3 436.7 RRR 42.0 1 4200.0 CR 62.9 4 1572.5 RR 102.7 100 102.7 RRC 247.4 5 4948.0 CC 423.8 113 375.0 R 14226.2 9563 148.8 On peut voir que le cold call est assez catastrophique pour mon winrate… :carton2:
10 janvier 2019 à 13h10 en réponse à : [Programmation Python] Détecter des fuites dans son jeu #156488Mike_modano
Membre2- Rapport des gains en fonction de l’action qu’il y a eu avant d’avoir la parole
Ce rapport est encore plus simple : je supprime toutes les mains que l’on a fold puis je regroupe les mains en fonction de l’action qu’il y a eu avant que l’on ait la parole.
Et de la même manière, je compte le winrate en EVbbs, le nombre de mains et le winrate en bb/100.
Je fais un tri du plus petit winrate en bb/100 au plus grand.
Ce qui donne pour mes dernières 50000 mains :Facing_Preflop EVbbs_sum EVbbs_count EVbb100 Raiser + Caller(s) -311.1 1086 -28.6 2+ Raisers 83.5 101 82.7 2+ Limpers 228.9 700 32.7 1 Raiser 473.4 4007 11.8 1 Limper 1914.8 2221 86.2 Unopened 4454.2 8915 50.0 10 janvier 2019 à 13h07 en réponse à : [Programmation Python] Détecter des fuites dans son jeu #156487Mike_modano
Membre[quote quote=285338]Tu pourrais peut être ajouter (je sais pas si c’est possible) une ligne qui nous dit contre quelle position on perd le plus de jetons[/quote]
En fait, je n’ai pas présenté les différentes colonnes mais EVbbs_sum représente le winrate en bb pour la position, je ne sais pas si c’est que tu appelles le nombre de jetons?
EVbbs_count est le nombre de mains, EVbb100 le winrate en bb/100, bb100_diff la différence entre le winrate souhaité et le winrate réel et enfin EVgain_diff ce que représente cette différence en bb vu que le nombre de mains joué est différent en fonction de la position…
Pour les winrates souhaité par position, j’ai pris les valeurs suivantes :
SB : -15.0 bb/100
BB : -20.0 bb/100
EA : 22.0 bb/100
MD : 24.0 bb/100
CO : 25.0 bb/100
BTN : 35.0 bb/100Cela fait un winrate de 10 bb/100 avec mon style de jeu..
6 janvier 2019 à 18h34 en réponse à : [Programmation Python] Détecter des fuites dans son jeu #156353Mike_modano
MembrePour le rapport par position, j’ai intégré dans un sous programme (fonction python) plusieurs actions :
- Regrouper les mains par positions
- Calculer les gains en EVbbs par position
- Calculer le winrate en EVbb/100 par position
- Comparer avec le winrate attendu (winrate attendu – winrate réel) par position
- Calculer la différence en EVbbs par rapport au gain attendu par position
- Trier le tableau par ordre croissant de la différence de gain par rapport au gain attendu par position
Cela permet de voir quelle est la position pour laquelle je perds le plus d’EV…
Voici ce que cela peut donner pour mes 50 000 dernières mains :
Position EVbbs_sum EVbbs_count EVbb100 bb100_diff EVgain_diff BB
-4563.3 9500 -48.0 -28.0 -2663.3
CO 1142.9 9102 12.6 -12.4 -1132.6
MD 939.4 7850 12.0 -12.0 -944.6
EA 1092.2 4476 24.4 2.4 107.5
SB
-1326.7 9586 -13.8 1.2 111.2
BTN 3434.7 9486 36.2 1.2 114.6
Ce code fait 13 lignes et cela prend moins d’une seconde pour extraire le tableau pour un fichier de 50 kH .
Voici le code pour vous donner une idée :
import pandas as pd
hh2=pd.read_csv(‘hh2.csv’,sep=’,’, encoding=’utf-8′)
position_winrate=pd.read_csv(‘position_winrate.csv’,sep=’,’,dtype={‘Winrate’:float}, encoding=’utf-8′)
def Position_Report():
tab = hh2.groupby([‘Position’])[[‘EVbbs’]].agg([‘sum’,’count’])
tab.columns = [‘_’.join(x) for x in tab.columns.values]
tab[‘EVbb100’] = round((tab[‘EVbbs_sum’]/tab[‘EVbbs_count’])*100,1)
tab = tab.reset_index()
for row in tab.itertuples():
tab.loc[row.Index,’bb100_diff’] = row.EVbb100 – EV_Winrate(row.Position)
tab.loc[row.Index,’EVgain_diff’] = round(row.EVbbs_sum -row.EVbbs_count*(EV_Winrate(row.Position)/100),1)
tab = tab.sort_values(by = ‘EVgain_diff’)
return print(tab, ‘\n\n’)Mike_modano
MembreSalut,
Perso, je bet un peu plus cher flop (2/3 pot ou plus), comme tu dis il y a beaucoup de tirages et de combos qui vont te payer… autant value cher. Idem que toi turn et petit bet river (1/3 pot) pour te faire payer par les Kx ou check/call comme tu as fait si tu as des infos sur le fait que vilain peut bluff river…
[quote quote=281547]Par contre si on sait que vilain bluff ces tirages (ce qui a l’air d’être le cas vu le showdown) alors cest un check/raise evident.[/quote]
Pas du tout à mon avis, tu risques de te faire payer que par mieux… il ne faut pas être trop gourmand 😆
Mike_modano
MembreBonjour,
Ci-joint un cas concret… 1500 EVbb de badrun ou un goodrun de 2500 EVbb???

:haha: :haha:
Mike_modano
MembreSalut,
ça donne pas trop envie de regarder avec les 12 tables… trop d’actions!
Tu peux pas enregistrer qu’une partie de ton écran, 4/6 tables par exemple?
Quel intérêt tu trouves à jouer autant de table?
Je pense que ton winrate doit prendre un sacré coup!!
Mike_modano
Membre[quote quote=278077]Je parle de pôle value qui est bien sûr compensé par un pôle bluff. Regardes dans ta database et viens nous dire ce que cela à donner lorsque que tu as 3b utg avec QQ, je suis curieux. GL[/quote]Le joueur en question open 19% UTG, on est clairement en value avec QQ mais il fold +75% au 3bet et donc ça range de call+4bet ressemble à peu près à TT+, AQs+, AQo+…Avec QQ, on est encore devant.Par contre, je pense que face au 4 bet on est loin derrière! Et c’est probablement très EV- de call ou shove!ça m’a permis de regarder le spot d’un peu plus près :biere:Sinon, pour le spot de 3bet BU vs UTG sur les 50 dernières kH : je suis à +1000 bb/100 sur 33 occurrences :plusun:J’espère que le filtre est bon pour ceux qui ont HM3, le voici : PositionAsInt = 4 and FirstRaiserPositionType = 1 and FirstThreebetPositionType = 4 and LastHands=50000Mike_modano
MembreBonjour,
Je ne vais pas fold, je vais parfois call son open ou 3bet/call et abandonner sur cbet sur flop sans Q…
Mais avec ton 5bet AI tu es pratiquement sûr d’être derrière car il fold également beaucoup au 3bet (>80%).
Cela ne me dérange pas de call même un 4bet surtout contre un joueur passif comme lui qui ne va cbet pratiquement que ses over sur un petit flop.
Tu as la possibilité si tu touches une Q de le déstacker très souvent…
Mike_modano
Membre[quote quote=277759]Il a tout de même un taux de 4Bet élevé. Je pense qu’il call AK aussi. Peut être!!!!!!!!![/quote]
Salut,
Ton sample n’est pas assez important pour définir une range précise, par exemple, contre moi il a 4bet 1 fois sur 41 avec KK…
J’avais lu que pour avoir une valeur précise (+/-10%) du taux de 3bet il fallait environ 1500 occurrences soit plus de 4kH…
Alors pour le 4bet ça doit être à peu près le même nombre d’occurrences mais le sample est beaucoup plus gros…
Mike_modano
Membre[quote quote=277313]Je joue peu être trop de mains dans les blindes ?[/quote]
J’aurais plutôt dit l’inverse, tu dois être à 80% de fold to steal et contre ces profils j’ouvre any 2…
Si tu es à l’aise post-flop il faut à mon avis défendre beaucoup plus ou travailler le post-flop.
Autre chose, c’est ta courbe de EV avec showdown qui doit monter beaucoup plus pour être gagnant car il est difficile de ne pas être trop perdant sans showdown à cette limite… 10 kH ce n’est vraiment pas suffisant pour en tirer quoi que ce soit de définitif mais c’est peut-être que tu manques des spots de value ou tu joues trop fit or fold?
Tes stats de WTSD% confirment car il me semble qu’idéalement elle doit être proche de 30%…
Mike_modano
Membre[quote quote=273605]mon sample est trop petit pour comparer les résultats avec KQo.[/quote]
A partir de combien de mains tu considère que le sample est suffisant pour juger du winrate d’une main?
Quand j’essaie de faire cela, vu mon petit volume (10 kH/mois) j’ai pas l’impression que ce soit pertinent ou alors il faut que je remonte sur 3 ans (pas la même limite, mon jeu à changé, etc..)
Si non, tu regardes un type de combos? style broadway off?
Mike_modano
Membre[quote quote=273555]Ça sent tellement le post result oriented ça…[/quote]
Probablement, mais c’est plus le coté tight de villain (PFR à 14 et AF à 1,7) que la situation en elle même qui font que je m’interroge…
Même si le check minraise flop + check raise AI turn ça ne sent jamais très bon!
Contre d’autres joueurs je n’aurais jamais hésité…
Et oui, j’ai call et il avait 42s…
[quote quote=273577]Si un pique était tombé turn, tu aurais bet quand même ?[/quote]
Oui, s’il check sur un pique, je pense que je bet/fold…
Mike_modano
MembreOk donc on est d’accord qu’il peut avoir des sets, je ne comprenais pas pourquoi tu limitais ses mains aux over…
-
AuteurMessages
