dsckgec / cs-go-professionals Goto Github PK
View Code? Open in Web Editor NEWScraping, Cleaning and Exploring a Dataset about CSGO Athletes from hltv.org .
License: MIT License
Scraping, Cleaning and Exploring a Dataset about CSGO Athletes from hltv.org .
License: MIT License
Performing Exploratory data analysis to extract out the top 10 players based on their K/D Ratio and HLTV Rating and then plotting the data on a graph which would help to visualize the data and give a better understanding
I am using this web site
https://www.playerauctions.com/csgo-stats/ranking/
To find further details I will visit each player link
https://www.playerauctions.com//csgo-stats/76561198390156480/
We can find details about KDR ,headshots Total hours,Kills ,Accuracy ,Name, Time,Total Kills,Total Wins
We can also go for additional level of details with total money earned etc
From K/D ratio and K-D difference, try to come up with separate columns from Kills and Deaths.
There are typically five roles on a CS:GO team: Entry Fragger, Support, In-Game Leader, Lurk and AWPer. These roles help players focus on a specific aspect of the game to help their team win most efficiently. The parts are flexible, and players will often switch between them based on the unique situations presented.
Here is a brief breakdown of each role:
Entry Fragger
The entry fragger in CS:GO is the first person into each bombsite or objective when attacking. Their role is to initiate a push onto a site by either getting an entry kill or providing enough support for the rest of the team to make a play. The entry fragger will clear spots where enemies usually sit and will call out information on enemy positions.
Entry fraggers must have a quick reaction time and a definite aim to be effective. This role is high-risk and will often result in the player dying. Attacking players are usually at a disadvantage when pushing sites, so entry fraggers must be able to adapt to these situations.
If an entry fragger achieves at least one pick when pushing a site, they were successful in their role and helped their team. The player will likely be towards the bottom of the leaderboard, but winning the match is more important than individual stats.
Support
Support players push with the entry fragger and provide cover using the utility. The support player will trade kills if the entry fragger dies and cover other site lines. They also offer support by using a utility to aid the push or to assist the entry fragger.
Grenades are a significant part of executing a bomb site or position. Players will often use flash grenades to blind the enemy before pushing. They can also throw smoke grenades to cover viewpoints or hide their team's advancement. The support player's job is to perform these actions as it lets the entry fragger focus on getting onto the site and opening a path for the team.
A support player must be well-versed in the different utility items and the various trajectories of grenades. Every map has several spots that can be used to throw grenades to a specific location on the map consistently. Players in the support role should have most of these memorized to be effective. A support player must have solid teamwork and game awareness to excel in their role. Easy trades and correct use of utilities can make or break a team.
In-Game Leader
Every CS:GO team needs someone calling the shots to function correctly. The in-game leader keeps the entire team on the same page and organizes the flow of gameplay. An in-game leader can fill almost any other position, such as entry fragger or support. However, the role is still considered a vital component of any team.
The in-game leader will decide what to buy each round, when to push a site, rotate, and almost every critical decision in a game. They must be able to adjust to any scenario they encounter and adapt effectively.
An in-game leader must possess strong leadership qualities and strong game awareness to lead their team to victory. They must also be able to bounce back from tough rounds to maintain their team's morale.
Lurk
Lurkers are players who focus on stealth and outmanoeuvring the enemy team. Players who lurk constantly try to surprise the enemy and achieve easy kills on isolated players. Lurkers will often sit on the opposite bomb site that their team is executing and eliminate rotating players. Lurkers are often layers that quickly rotate between locations as needed on the CT side.
A lurk player must have extensive map knowledge and understand the best times to reveal themselves. Trigger discipline is essential, as letting one enemy walk back to ambush the entire team is possible.
AWPer
Almost every CS: GO team has a player who is the designated AWPer. This player can use the expensive weapon to hold long angles and secure vital picks. Groups often build their economy around providing this player with an AWP because the weapon is quite pricey.
AWPers must be skilled with powerful weapons, or the investment will be wasted. AWPers must also be able to use rifles because an AWP is only sometimes available.
(Article is taken from https://www.hotspawn.com/csgo/guides/understanding-roles-in-csgo)
Other than these, there are secondary roles in each category, but we will only consider the primary ones here.
Here, we will try to categorize the players into their most probable/appropriate roles based on their stats.
Player Clustering:
Player clustering involves grouping players with similar characteristics together to identify patterns in their performance and behaviour.
To cluster players based on their attributes, we can use clustering algorithms like: K-means, DBSCAN, Hierarchical clustering, Spectral clustering etc.
This can help teams to replace a player with another with similar type of playing patterns/characteristics.
The datasets only have stats which are available on the mainpage of player stats. But, there are many more stats, some of which are vital, are available on the individual player profiles, like:
Real Name, Age, Total Kills, Headshot %, Total Deaths, Damage / Round, Greande Damage / Round, Kills / Round, Assists / Round, Deaths / Round, Saved by Teammates / Round, Saved Teammates / Round.
Also, all the ratings on the main page is Rating 1.0. But, for quite some time now, the improved rating system, Rating 2.0 has been introduced, and the 'Statistics' table in the individual player profiles also features Rating 2.0 for many players.
Hence, the dataset needs to be updated.
Therefore, I'm planning to scrape data from individual player profiles and add the new stats to the dataset as new columns, and also, update the rating to the one featured in the 'Statistics' table of each player profile.
Create two different csv files in the EDA and Feature Engineering directory containing the top 10 of the following:
Check how they correlate and try to derive conclusions. What can be some reasons that these two lists are not the same if they aren't?
Steps:
The url from hltv.org lists all of the csgo players, even from tier 3-4 + which aren't quite relevant when compared to higher tier professionals.
It'd be better if a ranking filter is added to prune the dataset somewhat.
We can create a Website called prostats.gg using all the artifacts from different EDAs.
It will be an interactive read-only website where users can see stats about different players and related graphs and images.
Create Dashboard Elements with some stats regarding the numbers the two players have put up and derive a conclusion about who is the better player. Save all files in a sub-directory under the EDA and Feature Engineering Directory.
we can create a dashboard that compares the performance of many players at a time in the form of graph by considering K/D ratio , HLTV rating etc.
Perform EDA to find the top 10 best players according to:
Create different .csv files for the tasks and save them inside EDA and Feature Engineering Directory
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.