Loading...
AleksVAnd avatar AleksVAnd 3 Точки

StratifiedKFold

Здравейте,

Имам затруднение с този модул :

Вариант 1 :

Пробвам да задам няколко променливи когато използвам split(). Не става така, както е при train_test_split.

Вариант 2 :

Намерих пример как се създават различни вариабълс чрез for loop. Създавам четири generator object _BaseKFold.split от attributes и labels. И мога да видя съдържанието на всеки обект поотделно чрез list(). Доколкото разбирам съм изпълнил правилно условието на стъпка 4 от лаба.

Но когато се опитвам да ги използвам при GridSearchCV дава грешка, че тези вариабълс не са дефинирани. 

Вариант 3 :

Мога да се опитам да разделя multidimentional array да бъде single dimention. Но как да избера какви сплитове от тях да са?

Какво мислите?

Тагове:
1
Machine Learning 23/10/2019 15:16:40
vladiant avatar vladiant 41 Точки

Може ли малко повече информация + код + съобщения за грешки? И каква по-точно е целта на занятието?

0
g.stoyanov avatar g.stoyanov 776 Точки

Здравей,

Относно 4-та задача си мисля, че след:

skf = StratifiedKFold(n_splits=5, shuffle = False, random_state=None)
k_fold = skf.split(bank_attributes_train, bank_labels_train)

би трябвало да изпълним условието. Ако някой има друго мнение нека да сподели.

 

Иначе за крос валидацийте в следващите задачи ползвам следния подход:

grid_search = GridSearchCV(DecisionTreeClassifier(), params, scoring = make_scorer(f1_score, pos_label = 1), cv = k_fold)
grid_search.fit(bank_attributes_train, bank_labels_train)
tree_classifier = grid_search.best_estimator_

като преди всяка една валидация след Decision Tree е нужно да се извиква отново:

k_fold = skf.split(bank_attributes_train, bank_labels_train)

Надявам се това да е правилния начин :) 

Очаквам препоръки и корекции.

Надявам се информацията да ти е помогнала.

0
AleksVAnd avatar AleksVAnd 3 Точки

Здравей,

Със закъснение видях отговора ти - благодаря все пак.

Аз го направих по малко по- различен начин :

k_fold = list(cv.split(bank_attributes_train, bank_labels_train))

 

Защото като го правих както ти си го направил и после проверявам какъв е резултата :

Out[28]: <generator object _BaseKFold.split at 0x000001B2BBA18B10>

 

И ми даваше грешка, като се опитвах да го използвам в GridSearchCV.

 

Явно към края на курса ще разберем кое е правилно.

 

Успех!

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.