import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # Load dataset df = pd.read_csv("data/processed/text_all_clean.csv") # Basic info print("šŸ”¹ Dataset Shape:", df.shape) print("\nšŸ”¹ Columns:", df.columns.tolist()) # Check missing values print("\nšŸ”¹ Missing Values:\n", df.isnull().sum()) # Label distribution print("\nšŸ”¹ Label Distribution:\n", df['label'].value_counts()) # Percentage distribution label_percent = df['label'].value_counts(normalize=True) * 100 print("\nšŸ”¹ Label Percentage:\n", label_percent) # Plot distribution plt.figure() sns.countplot(x='label', data=df) plt.title("Label Distribution") plt.xlabel("Class (0 = Non-suicidal, 1 = Suicidal)") plt.ylabel("Count") plt.show() # Optional: language distribution (if useful) if 'lang' in df.columns: print("\nšŸ”¹ Language Distribution:\n", df['lang'].value_counts()) # Check text length stats df['text_length'] = df['text'].astype(str).apply(len) print("\nšŸ”¹ Text Length Stats:\n", df['text_length'].describe()) plt.figure() sns.histplot(df['text_length'], bins=50) plt.title("Text Length Distribution") plt.show()