Софтуерно Инженерство
Loading...
+ Нов въпрос
JadeBlue avatar JadeBlue 3 Точки

DS Project Architecture Lab - Problem 7 and 8

Здравейте колеги,

Имам един въпрос относно изречението Add the columns:

["Class", "Sex", "Embarked"]

to the dataframe в задача 7. Защо изобщо са ни необходими отново тези колони след като вече сме извикали 

pd.get_dummies(titanic_data)

и сме генерирали от тях новите категории? Първо, колоната "Class" си е числова и си остава същата без да се разделя. След това, за да могат да се използват добавените колони "Sex" и "Embarked" трябва да се превърнат в числови за да минат при моделирането - още при нормализацията. За целта замених стойностите в колоните използвайки следните речници и така успях да премина през теста за очакван брой колони и да си изтренирам модела -

emb_num_dict = {'Southampton':0, 'Cherbourg':1, 'Queenstown':2}

sex_num_dict = {'male':0, 'female':1}

Според мен тези колони са излишни за моделирането и не доставят някаква нова информация и така броя features спокойно може да е 9 вместо 11 и броя колони да е 10 вместо 12, но тестовете така го изискват. Или е възможно и аз да съм объркал някъде при почистването на данните и да не получавам верен брой колони?

Тагове:
0
Data Science
mysho avatar mysho 28 Точки

Здрасти,

И аз имам подобен проблем с тези задачи. Според мен има някаква грешка, въпросът е да я открием къде е :)

Мисля си (без да съм сигурен разбира се), че това, което е очаквал Данчо е, колоната Class също да бъде разделенa на 3 нови колони - по една за всеки Class:

["Class_1", "Class_2", "Class_3"]

И във всяка колонка от тези да имаме 1 или 0 в зависимост дали пътникът е от тази класа или не.

Така че аз избрах друг подход, конвертирах си колонката Class към object и после пуснах pd.get_dummies:

titanic_data_for_modelling = titanic_data
titanic_data_for_modelling.Class = titanic_data.Class.astype("object")
titanic_data_for_modelling = pd.get_dummies(titanic_data)

Така Class изчезна и се появиха 3 нови колони Class_1, Class_2, Class_3

След това не съм добавял отново текстовите колонки, а само drop-нах Sex_female и си продължих с този dataset докрая. Score накрая ми е около 80.22%

0
JadeBlue avatar JadeBlue 3 Точки

Моят score e 79.44%. Иначе си прав да, твоето решение изглежда по-добро понеже не добавяш излишни колони като мен.

0
21/07/2018 13:41:21