Fantasy-GA هي وحدة بيثون وأداة سطر الأوامر التي تستخدم الخوارزمية الوراثية لأتمتة توليد تشكيلة الرياضة الخيالية. المنصات والبطولات المدعومة حاليًا هي كما يلي.
الدوري الاميركي للمحترفين | اتحاد كرة القدم الأميركي | MLB | NHL | |
---|---|---|---|---|
DraftKings | ✅ | ✅ | ✅ | ✅ |
التبعيات: numpy
PIP تثبيت Fantasy-GA
تدعم فئة LineupGenerator
ملفات CSV المصدرة من منصات رياضية Fantasy اليومية لمسابقة معينة.
من Fantasy_GA Import LineupGeneratorFrom Fantasy_Ga.Configs ، موقع الاستيراد ، الدوري ، ModelConfig ، ControlConfigData_Path = "أمثلة/DraftKings/NBA/Dksalaries.csv" export_path = "أمثلة/draftkings/nba/apport.csv NBA) MC = ModelConfig (# السكان الأولي من tankupsn_pop = 1000# عدد التطورات إلى تكاثر التكرار والطفرة forn_gen = 16# عدد تشكيلة الأطفال للاختيار من بين أفضل اثنين من tanupsn_breed = 30# عدد الطفرات العشوائية لكل تطور = 30# عدد تطورات مركب مع طراز TANEUPSN_COMPOUND = 5) = LINEUPGERERATOR (CC ، MC) MODEL.READ_CSV (DATA_PATH) تم فرزه بواسطة scoresmodel.export_csv (export_path ، top_n = 3) ، الدرجات = model.get_top_n_lineups (1) طباعة (f "" " } إجمالي الراتب: {sum ([model.id_to_salary [id] for id in thandups [0]])
numpy.array
لبيانات اللاعب بدلاً من ذلك ، يمكنك توفير numpy.array
حيث تتوافق الأعمدة الثلاثة الأولى مع معرف اللاعب ، والراتب ، ونقاط الخيال (FPTS) ، تليها معلومات الموضع. على سبيل المثال ، تتوافق الأعمدة مع id,salary,fpts,PG,SG,SF,PF,C,G,F,UTIL
for DraftKings Fantasy Basketball.
إذا كنت ترغب في استخدام صفيف numpy مخصص لمصفوفة البيانات بدلاً من ملفات CSV ، فيمكنك القيام بذلك باستخدام طريقة set_matrix()
. على سبيل المثال
cc = controlConfig (site.dk ، leage.nba) mc = modelConfig () # استخدم defaultm = np.array ( [ [0 ، 6600 ، 36.46503 ، 0 ، 0 ، 0 ، 1 ، 1 ، 0 ، 1 ، 1] ، [1 ، 4200 ، 26.760368 ، 0 ، 0 ، 1 ، 1 ، 0 ، 0 ، 1 ، 1] [2 ، 3000 ، 4.38538 ، 1 ، 1 ، 0 ، 0 ، 0 ، 1 ، 0 ، 1] ، [3 ، 5000 ، 27.175564 ، 0 ، 0 ، 0 ، 0 ، 1 ، 0 ، 0 ، 1] ، [4 ، 3400 ، 16.734577 ، 0 ، 1 ، 1 ، 0 ، 0 ، 1 ، 1 ، 1] [5 ، 5900 ، 3.4382372 ، 0 ، 1 ، 1 ، 0 ، 0 ، 1 ، 1 ، 1] [6 ، 3000 ، -0.18490964 ، 1 ، 1 ، 0 ، 0 ، 0 ، 1 ، 0 ، 1] [7 ، 3000 ، 11.075589 ، 0 ، 0 ، 1 ، 1 ، 0 ، 0 ، 1 ، 1] ، [8 ، 3000 ، 6.469783 ، 0 ، 0 ، 0 ، 0 ، 1 ، 0 ، 0 ، 1] ، [9 ، 3000 ، 8.459954 ، 0 ، 0 ، 0 ، 0 ، 1 ، 0 ، 0 ، 1] ، [10 ، 5700 ، 33.98281 ، 0 ، 0 ، 0 ، 1 ، 1 ، 0 ، 1 ، 1] ، ] ) النموذج = LineUpGenerator (CC ، MC) Model.set_matrix (M) Model.Fit ()
تحتوي فئة LineupGenerator
على طريقتان أساسيتان لإعادة تشكيلة محسّنة. تختار Method breed()
أفضل تشكيلين وفقًا لمجموع نقاط الخيال مع مواقف صالحة ومبادلة اللاعبين بشكل عشوائي (إنشاء تشكيلة الأطفال ). mutate()
طريقة تبادل بشكل عشوائي اللاعبين عند الاقتضاء. fit()
طريقة حول هذه الطرق بحيث تتم هذه العمليات لأجيال متعددة مع تشكيلة عشوائية إضافية.
كوحدة بيثون
$ python -m fantasy_ga --data_path=examples/DraftKings/NBA/DKSalaries.csv --export_path=examples/DraftKings/NBA/lineups.csv --site=DraftKings --league=NBA --n_pop=100 --n_gen=5 --n_breed=100 --n_mutate=100 --n_compound=10 --top_n_lineups=3
أو أمر CLI
$ fantasy-ga --data_path=examples/DraftKings/NBA/DKSalaries.csv --export_path=examples/DraftKings/NBA/lineups.csv --site=DraftKings --league=NBA --n_pop=100 --n_gen=5 --n_breed=100 --n_mutate=100 --n_compound=10 --top_n_lineups=3
الذي يولد
Saved top 3 lineups into "examples/DraftKings/NBA/lineups.csv". [Best Lineup] Players: ['Reggie Jackson', 'Max Strus', 'Anthony Edwards', "Royce O'Neale", 'Nikola Jokic', 'Dejounte Murray', 'John Collins', 'Jarrett Allen'] Salary Total: 50000 Expected FPTS: 268.13