joshnavip/ai-code-detection
0
1import pandas as pd2 3DATA_PATH = "dataset/processed/dataset_step2_cleaned.csv"4 5def main():6 df = pd.read_csv(DATA_PATH)7 8 # -------------------------------9 # Handle label column safely10 # -------------------------------11 if "Label" not in df.columns:12 if "Label (0- HUMAN, 1-AI)" in df.columns:13 df = df.rename(columns={"Label (0- HUMAN, 1-AI)": "Label"})14 else:15 raise ValueError("Label column not found in dataset.")16 17 # -------------------------------18 # Column validation19 # -------------------------------20 required_cols = ["Label", "Language"]21 missing = [c for c in required_cols if c not in df.columns]22 if missing:23 raise ValueError(f"Missing required columns: {missing}")24 25 total = len(df)26 27 print("\n๐ OVERALL CLASS BALANCE\n")28 class_counts = df["Label"].value_counts().sort_index()29 30 for label, count in class_counts.items():31 percent = (count / total) * 10032 class_name = "Human" if label == 0 else "AI"33 print(f"{class_name} ({label}): {count} samples ({percent:.2f}%)")34 35 print("\nTotal samples:", total)36 37 # -------------------------------38 # Language-wise breakdown39 # -------------------------------40 print("\n๐ LANGUAGE-WISE CLASS DISTRIBUTION\n")41 42 for lang in df["Language"].unique():43 print(f"Language: {lang}")44 lang_df = df[df["Language"] == lang]45 lang_total = len(lang_df)46 47 lang_counts = lang_df["Label"].value_counts().sort_index()48 for label, count in lang_counts.items():49 percent = (count / lang_total) * 10050 class_name = "Human" if label == 0 else "AI"51 print(f" {class_name} ({label}): {count} samples ({percent:.2f}%)")52 53 print(f" Total {lang} samples: {lang_total}\n")54 55 56if __name__ == "__main__":57 main()58 