[docs]defrun_agreement_eval(verbose=False):# ======================# 1. Load datasets# ======================df_geriatrics=pd.read_csv("./skeval/datasets/geriatria-controle-alzheimerLabel.csv")df_neurology=pd.read_csv("./skeval/datasets/neurologia-controle-alzheimerLabel.csv")# ======================# 2. Separate features and target# ======================X1,y1=df_geriatrics.drop(columns=["Alzheimer"]),df_geriatrics["Alzheimer"]X2,y2=df_neurology.drop(columns=["Alzheimer"]),df_neurology["Alzheimer"]# ======================# 3. Define model pipelines# ======================model=make_pipeline(KNNImputer(n_neighbors=10),RandomForestClassifier(n_estimators=50,random_state=42),)# model = RandomForestClassifier(n_estimators=50, random_state=42)sec_model=make_pipeline(KNNImputer(n_neighbors=10),RandomForestClassifier(n_estimators=100,random_state=42),)# sec_model = RandomForestClassifier(n_estimators=100, random_state=42)# ======================# 4. Define scorers and evaluator# ======================scorers={"accuracy":accuracy_score,"f1_macro":lambday,p:f1_score(y,p,average="macro"),}evaluator=AgreementEvaluator(model=model,sec_model=sec_model,scorer=scorers,verbose=False)# ======================# 5. Fit evaluator and estimate agreement# ======================evaluator.fit(X1,y1)estimated_scores=evaluator.estimate(X2)# ======================# 6. Cross-Validation and Real Performance# ======================train_data=X1,y1test_data=X2,y2scores_dict=get_cv_and_real_scores(model=model,scorers=scorers,train_data=train_data,test_data=test_data)cv_scores=scores_dict["cv_scores"]real_scores=scores_dict["real_scores"]ifverbose:print_comparison(scorers,cv_scores,estimated_scores,real_scores)return{"cv":cv_scores,"estimated":estimated_scores,"real":real_scores}