RapidMiner 9.7 is Now Available

Lots of amazing new improvements including true version control! Learn more about what's new here.

CLICK HERE TO DOWNLOAD

Fantasy football team using FIFA14 stats

Cluele55Cluele55 Member Posts: 3 Contributor I
edited November 2018 in Help
Hi, so I've come up with a plan to take all English Premier League Fifa 14 player stats and come up with a way to generate the best possible fantasypremierleague.com team

image


Basically from a pool of 600 players who have 1 of 3 positions, Defender, Midfielder, Forward, I have $100m to spend on a team of 5 Defs, 5 Mids, and 3 Fors. I have assigned a price to each player.

I first want to filter out the players with <10 appearances this season and players with no price. Then taking the remainding player stats from Fifa14, generate a total stat number by adding and multiplying the player attributes.

Finally I want to find these 13 players, not exceed my budget, and ensure that I only have a maximum of 3 players from any one team.

Tough job I know, I was just wondering if you could point me in the right direction as to the method using RM.

Cheers
Red

Answers

  • Cluele55Cluele55 Member Posts: 3 Contributor I
    Hope I'm doing this right. So I've performed the following and have narrowed my database down to this. I generated a new attribute called total stats with was based on all the previous attributes and I've filtered them out. I want to cluster the remaining players by position (def, mid and for) and then choose the top (5,5,3) players of each cluster with two conditions.

    1. Total spend (price) <100million
    2. No more than 3 players from any one team

    I would really appreciate any help, even a guess as to my next move

    Cheers

    image
    <?xml version="1.0" encoding="UTF-8"?>

    -<process version="6.0.002">


    -<context>

    <input/>

    <output/>

    <macros/>

    </context>


    -<operator name="Process" expanded="true" compatibility="6.0.002" class="process" activated="true">

    <parameter value="init" key="logverbosity"/>

    <parameter value="2001" key="random_seed"/>

    <parameter value="never" key="send_mail"/>

    <parameter value="" key="notification_email"/>

    <parameter value="30" key="process_duration_for_mail"/>

    <parameter value="SYSTEM" key="encoding"/>


    -<process expanded="true">


    -<operator name="Retrieve FantasyFooter" expanded="true" compatibility="6.0.002" class="retrieve" activated="true" y="30" x="45" width="90" height="60">

    <parameter value="//Local Repository/FantasyFooter" key="repository_entry"/>


    -<operator name="Filter Examples (2)" expanded="true" compatibility="6.0.002" class="filter_examples" activated="true" y="120" x="45" width="90" height="76">

    <parameter value="" key="parameter_expression"/>

    <parameter value="custom_filters" key="condition_class"/>

    <parameter value="false" key="invert_filter"/>


    -<list key="filters_list">

    <parameter value="Fantasy Price.is_not_missing." key="filters_entry_key"/>

    <parameter value="APPEARANCEPercentage.gt.0\.5" key="filters_entry_key"/>

    <parameter value="APPEARANCEPercentage.is_not_missing." key="filters_entry_key"/>

    </list>

    <parameter value="true" key="filters_logic_and"/>

    </operator>


    -<operator name="Generate Attributes (2)" expanded="true" compatibility="6.0.002" class="generate_attributes" activated="true" y="210" x="45" width="90" height="76">


    -<list key="function_descriptions">

    <parameter value="DEFENDING+DRIBBLING+HEADING+PACE+PASSING+RATING+SHOOTING+SKILL+WEAKFOOT*APPEARANCEPercentage" key="Total Stats"/>

    </list>

    <parameter value="true" key="use_standard_constants"/>

    <parameter value="true" key="keep_all"/>

    </operator>


    -<operator name="Select Attributes" expanded="true" compatibility="6.0.002" class="select_attributes" activated="true" y="300" x="45" width="90" height="76">

    <parameter value="subset" key="attribute_filter_type"/>

    <parameter value="" key="attribute"/>

    <parameter value="Club|Fantasy Price|Total Stats|Name" key="attributes"/>

    <parameter value="false" key="use_except_expression"/>

    <parameter value="attribute_value" key="value_type"/>

    <parameter value="false" key="use_value_type_exception"/>

    <parameter value="time" key="except_value_type"/>

    <parameter value="attribute_block" key="block_type"/>

    <parameter value="false" key="use_block_type_exception"/>

    <parameter value="value_matrix_row_start" key="except_block_type"/>

    <parameter value="false" key="invert_selection"/>

    <parameter value="false" key="include_special_attributes"/>

    </operator>

    <connect to_port="example set input" to_op="Filter Examples (2)" from_port="output" from_op="Retrieve whosyodaddy"/>

    <connect to_port="example set input" to_op="Generate Attributes (2)" from_port="example set output" from_op="Filter Examples (2)"/>

    <connect to_port="example set input" to_op="Select Attributes" from_port="example set output" from_op="Generate Attributes (2)"/>

    <connect to_port="result 1" from_port="example set output" from_op="Select Attributes"/>

    <connect to_port="result 2" from_port="original" from_op="Select Attributes"/>

    <portSpacing spacing="0" port="source_input 1"/>

    <portSpacing spacing="0" port="sink_result 1"/>

    <portSpacing spacing="0" port="sink_result 2"/>

    <portSpacing spacing="0" port="sink_result 3"/>

    </process>

    </operator>

    </process>
  • Cluele55Cluele55 Member Posts: 3 Contributor I
    Cheers boys and girls and nerds, managed to find a way to do it. Thanks for all the input. I've never know a forum for nerds to not have any nerds itching to show off the nerdiness.

    Good luck
  • JEdwardJEdward RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 570   Unicorn
    Just visited the forum again after a long period of absence. 

    Sounds like an interesting project, I'd love to hear updates on how it goes through the season. 
    A couple of things to note (depending on how your fantasy football team is played).  With the ones I have you can sub players in through the season / buy & sell & (the most important part) pick a captain each week for double points. 
    Picking the best team at the start of the season only helps for maybe 3 weeks at most, after which the real skill comes from managing the players in the first 11 and captain choices to remain with the highest points each time. 

    Is your model calculating this?  Things to note if it is not are: games due that week (and in the following weeks that month), players recent performance, injuries & recovery times, fluctuating fantasy price. 

    Hope that's of some help. 
Sign In or Register to comment.