53Devon/Dota_2_Machine_Learning
0
1# Library dokumentasi streamlit
2import streamlit as st
3
4# Library pengolahan data
5import pandas as pd
6
7def run():
8
9 st.title("🎮 Dota 2 Dataset Prediction")
10 st.caption("Developed by Devon, HCK-018")
11
12 st.image("Dota.gif", caption="Dota 2 Collector's Cache 2023")
13
14 st.markdown(
15 '<div style="text-align: justify;; text-indent: 40px;">Proyek ini bertujuan untuk menganalisis dan memprediksi potensi kemenangan suatu tim ketika menggunakan karakter tertentu menggunakan model yang telah dikembangkan berdasarkan dataset tier 1 tournament dota 2 dari tahun 2019 sampai 2022. Dataset yang akan digunakan pada proyek kali ini berasal dari <a href="https://www.kaggle.com/datasets/ridzdd/dota-2-tier-1-matches?resource=download">Kaggle.com</a> dengan penulis data atas nama <b>Ridz</b> dan lisensi sebagai berikut <a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0: Public Domain</a>.</div><br>',
16 unsafe_allow_html=True,
17 )
18
19 expander_1 = st.expander("##### Background", expanded=True)
20 expander_1.markdown(
21 '<div style="text-align: justify;; text-indent: 40px;">Berlatar belakang sebagai seorang Data Analyst pada suatu tim eSports A yang akan masuk ke berbagai tournamen dalam skala internasional, pihak manajemen dan pelatih dari tim eSports A ingin memanfaatkan informasi data tournamen dari tahun 2019 sampai tahun 2022 untuk memprediksi karakter yang akan digunakan dan melihat strategi yang tepat dan efektif sepanjang tahun 2019 sampai tahun 2022. Dengan dapat memprediksi karakter yang optimal digunakan oleh tim lain maka dapat dimungkinkan tim eSports A untuk lebih siap dalam setiap pertandingan dan meningkatkan peluang menang terhadap tim lain. \nDota 2 adalah permainan video multiplayer online battle arena (MOBA) yang dikembangkan oleh Valve Corporation. Diluncurkan pada Juli 2013, Dota 2 menampilkan dua tim beranggotakan lima pemain yang masing-masing mengendalikan karakter yang disebut "hero," dengan tujuan menghancurkan "Ancient" tim lawan di basis mereka. Permainan ini sangat populer secara global, dikenal karena kompleksitas strategi dan gameplay yang mendalam, serta memiliki ekosistem kompetitif dengan turnamen besar seperti The International, yang menawarkan hadiah uang yang sangat besar <a href="https://en.wikipedia.org/wiki/Dota_2">[1]</a></div><br>',
22 unsafe_allow_html=True,
23 )
24 expander_1.image(
25 "https://cdn.escharts.com/media/quick-upload/2023/06/Charts%20Dota_PP-718e9054e37e086eb3681e121a7aab8c.png?width=&height="
26 )
27 expander_1.markdown(
28 '> *<b>Pada Tahun 2021 price pool Dota 2 The International adalah 40 Juta dolar AS atau setara 600 Miliar Rupiah</b>* <a href="https://skor.id/post/prize-pool-dota-2-the-international-menurun-drastis-akan-bubar">[2]</a>.',
29 unsafe_allow_html=True,
30 )
31 expander_1.markdown(
32 '<div style="text-align: justify;; text-indent: 40px;">Di sini, sebagai pemain dan pemerhati skena profesional tentang permainan Dota 2, dengan lebih dari 4000 jam pengalaman bermain dan menikmati game ini, penulis begitu memahami permainan, dinamika tim, dan strategi kompetitif. Pengalaman ini tidak hanya mencakup keterlibatan langsung dalam <i>gameplay</i>, tetapi juga mencakup pengamatan terhadap perkembangan <i>meta</i> dan analisis pertandingan profesional. Penulis menggabungkan kemampuan analisis data dan praktik lapangan untuk memberikan analisis yang komprehensif dan akurat, yang dapat digunakan untuk mendukung keputusan strategis dalam pertandingan kompetitif. Karena latar belakang yang kuat ini, penulis dapat memberikan sudut pandang yang berharga dan dapat dipercaya dalam eSports, terutama game Dota 2.</div><br>',
33 unsafe_allow_html=True,
34 )
35
36 st.markdown("---")
37
38 st.subheader("🔍Data Overview")
39 st.write(
40 "Data ini mencakup informasi nama tournament, nama team, sisi dari tim, skor akhir, hasil dari pertandingan, durasi dari pertandingan, dan komposisi karakter yang dipilih oleh tim tersebut."
41 )
42
43 st.markdown("##### General Information")
44 st.markdown(
45 "- Dataset terdiri dari 17720 data dan 13 kolom.\n - Dataset berasal dari tahun 2019 sampai 2022.\n - Model yang digunakan adalah **Support Vector Machine** (SVM)\n - Hyperparameter yang digunakan adalah gamma sebesar 0.01"
46 )
47 st.markdown("##### Dataset Preview")
48
49 df = pd.read_csv("P1M2_Devon.csv")
50 st.dataframe(df)
51 df["SCORE"] = pd.to_numeric(df["SCORE"], errors="coerce")
52 df["SCORE"] = df["SCORE"].astype("Int64")
53
54 expander_2 = st.expander("##### Deskripsi Kolom", expanded=True)
55 expander_2.markdown(
56 "1. **MATCH_ID**, merupakan _unique identifier_ dari pertandingan yang dilakukan. Setiap pertandingan dapat memiliki lebih dari 1 MAP, dan satu MATCH_ID terdiri dari dua tim yang berada pada sisi yang berbeda.\n 2. **MAP**, merupakan informasi jumlah pertandingan antara dua tim yang telah berlangsung pada MATCH_ID tersebut.\n 3. **TOURNAMENT**, merupakan informasi nama Tournament yang sedang dijalankan oleh kedua belah tim, satu Tournament dapat memiliki berbagai MATCH_ID. \n 4. **TEAM**, merupakan informasi nama tim yang sedang bertanding pada MATCH_ID tersebut. \n 5. **SIDE** merupakan sisi yang dimiliki dari satu tim dalam MATCH_ID, sisi ini terdiri dari dua yakni, dire dan radiant.\n 6. **SCORE**, merupakan angka skor yang dimiliki tim tersebut ketika pertandingan MAP tersebut telah selesai.\n 7. **RESULT**, merupakan hasil dari pertandingan yang melibatkan tim tersebut. RESULT terdiri dari dua yakni, WIN dan LOSE. \n 8. **DURATION**, merupakan durasi dari pertandingan yang telah dilaksanakan pada MAP tersebut. Format dari kolom ini adalah menit : detik.\n 9. **HERO_1**, merupakan nama karakter terakhir yang dipilih \n 10. **HERO_2**, merupakan nama karakter keempat yang dipilih \n 11. **HERO_3**, merupakan nama karakter ketiga yang dipilih \n 12. **HERO_4**, merupakan nama karakter kedua yang dipilih \n 13. **HERO_5**, merupakan nama karakter pertama yang dipilih "
57 )
58
59if __name__ == "__main__":
60 run()
61 