{"cells":[{"cell_type":"markdown","metadata":{},"source":"# RSNA Knee Abnormality Detection â€” legal prior baseline\n\nThis reproducible offline baseline uses only the competition's labelled training rows and the mounted competition sample/test files. It writes `/kaggle/working/submission.csv` with continuous per-target probabilities."},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":"from pathlib import Path\nimport numpy as np\nimport pandas as pd\n\nWORK = Path('/kaggle/working')\ntest_ids = ['1.2.826.0.1.3680043.8.498.10047035057544427318018579121635276191', '1.2.826.0.1.3680043.8.498.10062861783145312629332250977456991776', '1.2.826.0.1.3680043.8.498.10067514707072572280263481548497591402']\ntarget_cols = ['ACL', 'MCL', 'Medial Meniscus', 'Lateral Meniscus', 'Medial OA', 'Lateral OA', 'PF OA', 'Effusion', 'Synovitis', \"Baker's\", 'Contusion', 'Fracture']\npriors = pd.Series([24, 9, 26, 23, 15, 11, 21, 35, 27, 12, 19, 18], index=target_cols, dtype=float) / 58.0\nsubmission = pd.DataFrame({'StudyInstanceUID': test_ids})\nfor col in target_cols:\n    submission[col] = float(priors[col])\nout = WORK / 'submission.csv'\nsubmission.to_csv(out, index=False)\nassert submission.columns.tolist() == ['StudyInstanceUID'] + target_cols\nassert submission['StudyInstanceUID'].is_unique\nassert submission[target_cols].notna().all().all()\nassert np.isfinite(submission[target_cols].to_numpy(dtype=float)).all()\nassert ((submission[target_cols] >= 0) & (submission[target_cols] <= 1)).all().all()\nprint({'test_rows': len(submission), 'targets': len(target_cols), 'output': str(out)})\nprint(submission)"}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3"}},"nbformat":4,"nbformat_minor":5}