Code Monkey home page Code Monkey logo

clusteringnbaplayers's Introduction

Uncovering new types of Players in the Modern NBA ๐Ÿ€

Understanding the player's roles in modern NBA - Article

K-Means and Hierarchical Clustering to make the divisions.

K-Means

For K-Means, it was first used the Eblow Method to try to define the optimal number of clusters, but the elbow only starts to appear after a high number of K's like 20. And that is not the best option for our problem.

In order to do that, it was applied the Silhouette score to understand the "information gain" from o K to another. In the picture below, we are able to see that from clusters 8 to 9 there is a higher gain of information than any other K. The best score was 0.43.

Silhouette

This is how we calculated the gain to make sure 9 was an interesting number of clusters.

Gain = Silhouette_score_2-Silhouette_score_1
Rverse Gain = Silhouette_Score3-Silhouette_score2
Final Metric = Score_absolute_value(Reverse Gain)
Percentual = Sihlouette_score3/(Silhouette_score_2-1)

TSNE was also picked to make the dimensionality reduction because it is an algorithm that is better for clustering visualizations in 2D.

Hierarchical Clustering

Then, Hierarchical Clustering was implemented to check if 9 was indeed a good cluster to segment the players.

Hierarchical_Clustering
Player's Dendogram

When the highest vertical line is found, we then cross a horizontal line. This line will cut through every other vertical line 9 times. This means that 9 clusters could albo be interesting for this algorithm. Later, the score was 0.45.

Post Modeling

Here are some players in their respective clusters.

Division
Groups
Clustering_Analysis
Performance by Cluster and Position in the 2022-23 NBA Season

The "6th Man" cluster is composed of players with more playmaking and mid-range shot attempts. They usually have fewer minutes on the court than starters, but more minutes than an average reserve player.

The "Reserves" and "Bench Warmers" were two really similar clusters. The first one has a little more time on the court and a slight point-per-game advantage. The second has basically no time on the court, but they are often called when the game is already done.

The "Role Players" usually start every game and if they do not, they are the first option off the bench. They are able to put up some numbers every night, but they are mostly there to help to stretch the play and help the others get good shots and adapt to necessary roles.

The "Defensive Big Men" group is composed of players that are able to protect the rim and pressure their opponents. They also have interesting points and rebounds per game. This cluster has more Centers than any other position.

The "Key Player" is a cluster filled with players who can call plays. They are great at finding their teammates while also being able to find good shots for themselves. This cluster has many shooting and point guards. Usually, if they are not on court, the performance of the team falls. They are fundamental.

The "Rising Stars" are the players who are on the way to becoming good threats in the NBA. Usually, their primary role is to support the stars of the team, but when needed they are able to take the lead and get some good stats that make them start every game.

The "Offensive Big Men"are the players who dominate the interior of the opponent's court. They take more shots from mid-range than long-range, but that does not mean that they are not efficient in the last one. They are the number one rebounders and can also provide good assists to their teammates.

Last but not least, the "Do it All". As the title says, this is a group of players who can do everything and they do everything amazingly. They have the highest points and assists per game. To be a part of this group, players need a 22+ PPG. We have all of the NBA positions in this cluster, and the teams who have these kinds of players rely on them to achieve good performances.

Applying the Model for players between the 1980-2022 NBA season

Understanding where old Players would fit in the modern redefined NBA positions proposed in this project. Make sure to check the dashboard below and pick the players of your liking to see how they were clustered and where they would fit based on 2022-23 season.

Dashboard to check Player's role evolution

Dashboard 1
Example of some player's evolution during their NBA years

*Note: still working on the Bench Warmercluster.

clusteringnbaplayers's People

Contributors

anabeatrizmacedo241 avatar

Stargazers

 avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.