поразить настройку гиперпараметров вместе с кросс-балльной оценкой данных обучения, как применить лучшую модель к данным тестирования (требуется код) - PullRequest
0 голосов
/ 08 апреля 2020

Здравствуйте, я выполнил настройку параметров smote (k, стратегия выборки) и взял roc_au c в качестве оценки для тренировочных данных, но как наряду с кросс-балльной оценкой моя модель оценивается по данным тестирования (в идеале это не должно быть какой удар должен применяться) можете ли вы помочь мне с тем, как применить лучшую модель для тестирования данных (требуется код)

Xtrain1=Xtrain.copy()
ytrain1=ytrain.copy()
k_val=[i for i in range(2,9)]
p_proportion=[i for i in np.arange(0.2,0.5,0.1)]
k_n=[]
proportion=[]
score_m=[]
score_var=[]
modell=[]
for k in k_val:
  for p in p_proportion:
     oversample=SMOTE(sampling_strategy=p,k_neighbors=k,random_state=1)
     Xtrain1,ytrain1=oversample.fit_resample(Xtrain,ytrain)
     model=DecisionTreeClassifier()
     cv=RepeatedStratifiedKFold(n_splits=10,n_repeats=3,random_state=1)


    scores=cross_val_score(model,X1,y1,scoring=’roc_auc’,cv=cv,n_jobs=-1)
         k_n.append(k)
         proportion.append(p)
         score_m.append(np.mean(scores))
         score_var.append(np.var(scores))
         modell.append(‘DecisionTreeClassifier’)
   scorer=pd.DataFrame({‘model’:modell,’k’:k_n,’proportion’:proportion,’scores’:score_m,’score_var’:score_var})
    print(scorer)
    models.append(model)
    models_score.append(scorer[scorer[‘scores’]==max(scorer[‘scores’])].values[0])
models_var.append(scorer[scorer[‘score_var’]==min(scorer[‘score_var’])].values[0])
...