هذا هو حاسبة تصنيف ELO على وجه التحديد تم تعديلها لمباريات كرة القدم.
يمكنه حساب تصنيف فريق معين استنادًا إلى تاريخ من المباريات التي تنتشر على مدار مواسم/بطولات الدوري المختلفة ، ويمنحك احتمال وجود فريق فريق B ، واستيراد وتصدير بيانات JSON ، وتخصيص الخوارزمية ، والعديد من الميزات.
من ويكيبيديا:
يعد نظام تصنيف ELO وسيلة لحساب مستويات المهارات النسبية للاعبين في ألعاب المنافسين مقابل المنافسين مثل الشطرنج. سميت باسم منشئها Arpad Elo ، أستاذ الفيزياء الأمريكية المولودة في المجري.
يحتوي هذا التنفيذ على عدد قليل من التعديلات للتكيف مع مباريات كرة القدم ، وأكثر من ذلك ، إضافة متغير يغير النقاط التي تنتشر في مباراة معينة وفقًا لفرق الهدف.
للحصول على معلومات مفصلة حول الصيغ وأكثر نظرية قليلاً ، يرجى زيارة صفحة ويكيبيديا.
تبلغ قيمة التقييم الأولي 1500 نقطة ، في حين أن الافتراضي k هو 20 نقطة (ولكنه قابل للتغيير بسهولة).
أيضًا ، بعد كل موسم ، يمكنك تراجع نقاط جميع الفرق بمقدار 1/3 إلى الوسط عن طريق تحديد متغير التراجع . هذا مفيد بشكل خاص في البطولات التنافسية حيث يوجد الكثير من عمليات النقل واللاعبين الجدد في كل موسم جديد (الافتراضي صحيح).
ستظل فرق التصنيف العليا تحصل على ميزة ، لكنها ستكون أكثر تنافسية.
EloCalculator calculator = new EloCalculator ();
try {
calculator = new EloCalculator . Builder ()
. setK ( 20 )
. setLeagues ( "C: \ Soccer \ Data.json" )
. setRegressTowardMean ( true )
. build ();
} catch ( IOException ex ) {
Logger . getLogger ( MainClass . class . getName ()). log ( Level . SEVERE , null , ex );
} calculator . calculateRatings ();يمكنك حفظه (وتحميله لاحقًا ، لذلك لا تحتاج إلى إعادة حساب).
try {
calculator . saveTeamsJSONFile ( "C: \ Soccer \ Ratings_Jan_2017.json" );
} catch ( IOException ex ) {
Logger . getLogger ( MainClass . class . getName ()). log ( Level . SEVERE , null , ex );
}أو يمكنك الحصول على بياناتك مباشرة. في هذا المثال ، نحن نطبع التصنيف فقط في ترتيب تنازلي.
System . out . println ( "Ranking: " );
List < Team > teams = calculator . getTeams ( true );
for ( Team t : teams )
System . out . println ((( int ) t . getLastRating (). getRating ()) + " " + t . getName ()); [
{
"champion" : " Palmeiras " ,
"name" : " Campeonato Brasileiro 2016 " ,
"matches" : [
{
"home" : " Vitória " ,
"away" : " Palmeiras " ,
"homeGoals" : 1 ,
"awayGoals" : 2 ,
"date" : " Dec 11, 2016 12:00:00 AM "
},
{
"home" : " Palmeiras " ,
"away" : " Atlético-PR " ,
"homeGoals" : 4 ,
"awayGoals" : 0 ,
"date" : " May 14, 2016 12:00:00 AM "
}
],
"year" : 2016
}
]بعض الأشياء التي أفكر فيها في المستقبل ...
The MIT License (MIT)
Copyright (c) 2016 Victor Santiago
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.