The goal of this project is to correctly estimate the yearly fantasy football scores of NFL players given their position, past performance, and years of experience in the NFL. This is a task which hundreds of professionals attempt every year, as well as millions of fantasy football players trying to gain an edge on their opponents. Fantasy sports, and especially fantasy football, is a rapidly growing industry, and with the rise of daily fantasy sites, there are more opportunities than ever not only to compete with others but also to make money doing it.
After testing on various machine learning methods, including decision trees, bayes nets, and multilayer perceptrons, we found that k-nearest neighbor gave the best results in its basic form, so we moved forward with that method. We were further able to improve our results by testing on various values of k (the amount of neighbors used) and weighting those neighbors based on distance.
Our data set was comprised of a group of the yardage leaders in three categories (passing, rushing, and receiving) from the past three NFL seasons and included various other statistics for those players as additional attributes, as sourced from pro-football-reference.com. We used data from the 2013 and 2014 seasons to train our model, then tested it on data from the most recent season in 2015. We measured success by classing the instances (players) into groups of 20 total fantasy points (i.e. a player could be placed in the 0-20, 20-40, 40-60, etc. point group, up to 480-500). If a player was placed by the model into the same group he actually finished the season in, that was considered a success.
(Visualization of testing data with different classes in different colors)
In the end, we were able to classify players for the 2015 season with 68.9% accuracy. This was obviously a great improvement over the ZeroR accuracy of just 6.7%, and we believe it could have a meaningful impact on our future fantasy football projections.
You can download a more detailed full report below. Thanks for reading!
Full Report |