Difference between revisions of "Slamdunkers Proposal"
(4 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
{|style="background-color:#F7A65C; border-top:3px solid #F7A65C; border-bottom:3px solid #F7A65C; color:#000000 padding: 5px 0 0 0;" width="100%" cellspacing="0" cellpadding="0" valign="top" border="0" | | {|style="background-color:#F7A65C; border-top:3px solid #F7A65C; border-bottom:3px solid #F7A65C; color:#000000 padding: 5px 0 0 0;" width="100%" cellspacing="0" cellpadding="0" valign="top" border="0" | | ||
| style="background:none;" width="1%" | | | style="background:none;" width="1%" | | ||
− | + | | style="padding:0.4em; font-size:100%; text-align:center; background-color:#B25500; font-family:font-family: 'Montserrat', sans-serif; " width="25%" | [[Slamdunkers_Proposal|<font color="#ffffff" size=3><b>Proposal</b></font>]] | |
− | |||
− | | style="padding:0.4em; font-size:100%; text-align:center; background-color:#B25500; font-family:font-family: 'Montserrat', sans-serif; " width=" | ||
| style="background:none;" width="1%" | | | style="background:none;" width="1%" | | ||
− | | style="padding:0.4em; font-size:90%; background-color:#F7A65C; font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width=" | + | | style="padding:0.4em; font-size:90%; background-color:#F7A65C; font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width="25%" |[[Slamdunkers_Poster|<font color="#ffffff" size=3><b>Poster</b></font>]] |
| style="background:none;" width="1%" | | | style="background:none;" width="1%" | | ||
− | | style="padding:0.4em; font-size:100%; background-color:#F7A65C; font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width=" | + | | style="padding:0.4em; font-size:100%; background-color:#F7A65C; font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width="25%" |[[Slamdunkers_Application|<font color="#ffffff" size=3><b>Application</b></font>]] |
| style="background:none;" width="1%" | | | style="background:none;" width="1%" | | ||
− | | style="padding:0.4em; font-size:100%; background-color:#F7A65C; font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width=" | + | | style="padding:0.4em; font-size:100%; background-color:#F7A65C; font-family:'Montserrat', sans-serif; text-align:center; color:#E6E87D" width="25%" |[[Slamdunkers_Research|<font color="#ffffff" size=3><b>Research</b></font>]] |
| | | | ||
Line 34: | Line 32: | ||
In attempt to win the championship each season, NBA teams often scout top performing players to join them. These scouts often sit in the games to monitor and evaluate players’ performances, skills and techniques. Putting all these information together, they get an overview of all the players capabilities and their standing against other players. | In attempt to win the championship each season, NBA teams often scout top performing players to join them. These scouts often sit in the games to monitor and evaluate players’ performances, skills and techniques. Putting all these information together, they get an overview of all the players capabilities and their standing against other players. | ||
− | With the rise in data and technology, | + | With the rise in big data and technology, scouts have more means to evaluate players more accurately. In 2013, NBA started installing [http://www.theatlantic.com/entertainment/archive/2015/06/nba-data-analytics/396776/ player-tracking systems] in their arenas. Scouts can leverage on this new data available to get more accurate data on players' performances. For example, the player-tracking system is able to track from what distance a player made his shot from and if the shot was made or missed. Collating all these data, scouts can determine from what distance is a player most comfortable shooting from. These new insights offer scouts more information for their consideration in determining if a player is suitable to join their team. |
<br /><br /> | <br /><br /> | ||
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>OBJECTIVES</font></div> | <div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>OBJECTIVES</font></div> | ||
<br /> | <br /> | ||
− | In this project, we aim to | + | In this project, we aim to create a visualisation to perform the following: |
− | * | + | * Provide an overview of all players' stats |
− | * | + | * Compare player's strengths and weaknesses |
+ | * Analyze player's shooting skill | ||
<br /> | <br /> | ||
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>SELECTED DATASET</font></div> | <div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>SELECTED DATASET</font></div> | ||
<br /> | <br /> | ||
− | Our selected dataset is downloaded from [https://www.kaggle.com/dansbecker/nba-shot-logs/ Kaggle]. The original data is extracted from the [http://www.espn.com/nba/ NBA of ESPN] by using the REST API. The data is based on the NBA | + | Our selected dataset is downloaded from [https://www.kaggle.com/dansbecker/nba-shot-logs/ Kaggle]. The original data is extracted from the [http://www.espn.com/nba/ NBA of ESPN] by using the REST API. The data is based on the NBA 2014-15 season. |
The rationale for the range of data used for our analysis are as follow: | The rationale for the range of data used for our analysis are as follow: | ||
Line 100: | Line 99: | ||
| Player Name || Name of the player who made the shot | | Player Name || Name of the player who made the shot | ||
|} | |} | ||
− | <br /> | + | |
+ | After performing some initial transformation and analysis, we realized that players tend to have different data characteristics. For example, some players only shoot 2-points or 3-points or never attempted any shots at all. We later then learnt that this is because different players have different positions and hence different roles. Their roles would determine their playing style. As such, we decided to mine additional player's position data to combine with our original dataset. This would offer more meaningful data to the users. | ||
+ | <br /><br /> | ||
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>BACKGROUND SURVEY</font></div> | <div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>BACKGROUND SURVEY</font></div> | ||
Line 147: | Line 148: | ||
<br /> | <br /> | ||
Our approach is to first consider the questions that a scout would ask when scouting for players. These questions include: | Our approach is to first consider the questions that a scout would ask when scouting for players. These questions include: | ||
+ | * What are the statistics that I want to see? | ||
* Who are the good shooters? | * Who are the good shooters? | ||
* What is the most comfortable distance player can shoot from and get a goal? (distribution? precision?) | * What is the most comfortable distance player can shoot from and get a goal? (distribution? precision?) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br /> | <br /> | ||
With these questions, we shall perform some data exploration to get some insights to these questions. | With these questions, we shall perform some data exploration to get some insights to these questions. | ||
Line 162: | Line 158: | ||
<div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TECHNICAL CHALLENGES</font></div> | <div style="background: #F7A65C; padding: 5px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #B25500 solid 32px; font-size: 20px"><font color=#ffffff>TECHNICAL CHALLENGES</font></div> | ||
<br /> | <br /> | ||
− | <b> | + | <b>Sourcing for suitable datasets</b> |
− | * Start | + | * Start searching for datasets early |
− | * | + | * Find out how to perform data mining on NBA website |
+ | <br /> | ||
− | <b> | + | <b>Unfamiliar with D3.js libraries</b> |
− | * | + | * Begin exploration early to try and understand the examples |
− | * | + | * Look up online resources and examples to find out how to tweak to our intended graphic |
<br /> | <br /> | ||
Line 186: | Line 183: | ||
* <b>[http://dimplejs.org/ Dimple.js]</b> to run above D3 to give interactive capability | * <b>[http://dimplejs.org/ Dimple.js]</b> to run above D3 to give interactive capability | ||
* <b>[https://angularjs.org/ AngularJS]</b> to support application interaction and parsing data | * <b>[https://angularjs.org/ AngularJS]</b> to support application interaction and parsing data | ||
− | * <b>[http://getbootstrap.com/ Bootstrap UI]</b> for application's theme and | + | * <b>[http://getbootstrap.com/ Bootstrap UI]</b> for application's theme and lookhttps://github.com/limlaiho/VA-SlamDunkers |
+ | * <b>[https://github.com// GitHub]</b> for application development and versioning | ||
<br /> | <br /> | ||
Line 217: | Line 215: | ||
* Data exploration | * Data exploration | ||
* Creating visualization | * Creating visualization | ||
+ | * Do user guide | ||
|- | |- | ||
| LIM Lai Ho <br /> <font size=1>aka SlamDunker 3 </font> | | LIM Lai Ho <br /> <font size=1>aka SlamDunker 3 </font> |
Latest revision as of 16:17, 22 November 2016
PROPOSAL UPDATED
The National Basketball Association (NBA) is the pre-eminent men's professional basketball league in North America, and is widely considered to be the premier men's professional basketball league in the world. It is considered to be one of the four major sports in the United States and Canada. According to an article by Business Insider, NBA is the highest-paying league in the world. Numerous star players such as Kobe Bryant, Lebron James and Kevin Durant are among the world’s highest-paid sportsmen listed by Forbes in 2016.
In attempt to win the championship each season, NBA teams often scout top performing players to join them. These scouts often sit in the games to monitor and evaluate players’ performances, skills and techniques. Putting all these information together, they get an overview of all the players capabilities and their standing against other players.
With the rise in big data and technology, scouts have more means to evaluate players more accurately. In 2013, NBA started installing player-tracking systems in their arenas. Scouts can leverage on this new data available to get more accurate data on players' performances. For example, the player-tracking system is able to track from what distance a player made his shot from and if the shot was made or missed. Collating all these data, scouts can determine from what distance is a player most comfortable shooting from. These new insights offer scouts more information for their consideration in determining if a player is suitable to join their team.
In this project, we aim to create a visualisation to perform the following:
- Provide an overview of all players' stats
- Compare player's strengths and weaknesses
- Analyze player's shooting skill
Our selected dataset is downloaded from Kaggle. The original data is extracted from the NBA of ESPN by using the REST API. The data is based on the NBA 2014-15 season.
The rationale for the range of data used for our analysis are as follow:
- The data contains 128069 records of shots made in the season. With the detailed information, it allows us to carry out more accurate analysis based on each shot.
- The attributes is based on the statistics of the players and games. It enables us to find out how each player performed in different periods of the game.
The table shows the data dictionary of the dataset.
Label | Description |
---|---|
Game ID | Identification number of each game |
Date | Date of game |
Player Team | Player's team |
Opponent Team | Opponent team |
Home/Away | If player's team is on home ground |
Win/Lose | If player's team win or lose |
Game Score Difference | Difference in total game score |
Shot Number | N-th shot made by the player |
Period | Period of the game when the shot was made |
Game Clock | Game time when the shot was made |
Shot Clock | Shot time when the shot was made |
Dribbles | Number of times the player dribbled before the shot was made |
Touch Time | Total time held by the player before the shot was made |
Shot Distance | Distance from the basket when the shot was made |
Point Type | If shot attempt is 2 or 3 points |
Shot Result | Result of the shot |
Closest Defender | Name of the closest opponent defender |
Distance from Closest Defender | Distance between player and the closest opponent defender when the shot was made |
Field Goal Made | If a goal was made |
Points | Points earned by the player's shot |
Player Name | Name of the player who made the shot |
After performing some initial transformation and analysis, we realized that players tend to have different data characteristics. For example, some players only shoot 2-points or 3-points or never attempted any shots at all. We later then learnt that this is because different players have different positions and hence different roles. Their roles would determine their playing style. As such, we decided to mine additional player's position data to combine with our original dataset. This would offer more meaningful data to the users.
Visualization | Description |
---|---|
Viewing player's strengths In our survey, we find that the radar chart is a popular method in plotting the relative strength of a player. An example is shown in the diagram. The more highlighted area a player has, the more “strength” the player has. This would be a useful visualization for our purpose. | |
Player shot accuracy over distance Small multiples method is used to plot the player’s shot accuracy over distance. In this case, the line graph helps to show the trend and highlights the peaks where the player does well. |
Visualization | Description |
---|---|
NBA Player Dashboard In the first dashboard, we aim to have a primary visualization to show the performance of all players. To achieve that, we will have a parallel coordinate graph there to show the different patterns of each player. This is accompanied by the average percentages of the season's performance by the side. | |
Player Analysis In the second dashboard, we have a more in depth analysis of the player's performance. Here, we attempt to use line graphs to display the player's performance. |
Our approach is to first consider the questions that a scout would ask when scouting for players. These questions include:
- What are the statistics that I want to see?
- Who are the good shooters?
- What is the most comfortable distance player can shoot from and get a goal? (distribution? precision?)
With these questions, we shall perform some data exploration to get some insights to these questions.
Sourcing for suitable datasets
- Start searching for datasets early
- Find out how to perform data mining on NBA website
Unfamiliar with D3.js libraries
- Begin exploration early to try and understand the examples
- Look up online resources and examples to find out how to tweak to our intended graphic
- Microsoft Excel for quick data manipulation
- Java coding to read and format data into required form
- D3.js to generate charts
- Dimple.js to run above D3 to give interactive capability
- AngularJS to support application interaction and parsing data
- Bootstrap UI for application's theme and lookhttps://github.com/limlaiho/VA-SlamDunkers
- GitHub for application development and versioning
Motivation
- NBA is the highest-paying league in the world. [1]
- The world’s highest paid athletes [2]
- NBA player salaries [3]
Dataset
Member | Job scope |
---|---|
Alson TAN Yong Kiong aka SlamDunker 1 |
|
Arnold LEE Wai Tong aka SlamDunker 2 |
|
LIM Lai Ho aka SlamDunker 3 |
|
Feedback and comments in this area!