Spaces:
Runtime error
Runtime error
#Import library | |
import pandas as pd | |
import numpy as np | |
import streamlit as st | |
#library for visualization | |
import matplotlib.pyplot as plt | |
import seaborn as sns | |
import plotly.express as px | |
from wordcloud import WordCloud | |
st.set_page_config( | |
page_title="Tweet Sentiment Pilkada 2017 EDA") | |
#function untuk menjalakan streamlit model predictor | |
def run(): | |
# Set title | |
st.title('Tweet Sentiment Pilkada DKI Jakarta 2017 Dataset : Exploratory Data Analysis') | |
#pemisah(garis2) | |
st.markdown('----') | |
#image | |
st.image('https://images.bisnis.com/posts/2017/02/13/628337/foto.jpg') | |
st.text('desc : kertas pemilu kepala daerah DKI Jakarta 2017') | |
st.text('img source : bisnis.com') | |
#load dataset | |
df = pd.read_csv('dataset_tweet_sentiment_pilkada_DKI_2017.csv') | |
#title df | |
st.subheader('Tweet Sentiment Pilkada DKI Jakarta 2017 Dataframe') | |
#show dataframe in streamlit | |
st.dataframe(df.head(20)) | |
st.markdown('----') | |
st.subheader('Exploratory Data Analysis (EDA)') | |
#visualisasi interaktif piechart | |
st.markdown('#### Visualisasi Pie Chart') | |
opsi2 = st.selectbox(' Choose the feature : ', ('Pasangan Calon', 'Sentiment')) | |
fig, ax = plt.subplots(figsize=(8, 8)) | |
df[opsi2].value_counts().plot(kind='pie', autopct='%1.1f%%', ax=ax) | |
ax.set_title(f'{opsi2} Pie Chart') | |
ax.set_ylabel('') | |
st.pyplot(fig) | |
st.text(f'{opsi2} piechart') | |
if opsi2 == 'Pasangan Calon': | |
st.write('Dataset ini memiliki perbandingan jumlah tweet untuk setiap pasangan calon yang seimbang yaitu pada 33.3% untuk calon Ahok-Djarot, Agus-Sylvi, dan Anies-Sandi.') | |
else: | |
st.write('Dataset ini memiliki perbandingan jumlah sentimen positive dan negative yang seimbang yaitu 50% untuk sentimen positive dan negative. Dataset yang seimbang akan berdampak baik pada proses training data karena model akan mempelajari data dengan baik. ') | |
#visualisasi kolom kolom martial_status, education level, dan sex terhadap default status next month | |
# Ambil data teks dari DataFrame (misalnya eda['Text Tweet']) | |
all_tweets_text = ' '.join(df['Text Tweet']) | |
# Membuat WordCloud | |
wordcloud = WordCloud(width=800, height=400, background_color='white', min_font_size=10, max_words=8).generate(all_tweets_text) | |
# Menampilkan WordCloud menggunakan Streamlit | |
st.title("WordCloud of Tweets") | |
st.image(wordcloud.to_array(), use_column_width=True) | |
st.write('Berdasarkan visualisasi wordcloud diatas, berikut adalah 8 kata yang paling banyak muncul pada tweet di dataset ini seperti pilkadadki2017, yang, AHY, AniesSandi, dan, di, AhokDjarot,dan Ahok.') | |
if __name__ == "__main__": | |
run() |