Машинное обучение (семинары, ВМК МГУ)/2014-2015 год, осень/Лабораторная работа 2
Материал из MachineLearning.
(Различия между версиями)
(Новая: Лабораторная работа посвящена освоению работы с решающими деревьями. '''Формат отчета''': iPython Notebook (.ipyn...) |
(→Задание) |
||
Строка 42: | Строка 42: | ||
# Обучите решающее дерево с параметрами по умолчанию. Какую точность дает данное дерево на контроле? Визуализируйте разделяющую поверхность. | # Обучите решающее дерево с параметрами по умолчанию. Какую точность дает данное дерево на контроле? Визуализируйте разделяющую поверхность. | ||
#: ''Полезные функции: sklearn.tree.DecisionTreeClassifier, sklearn.metrics.accuracy_score'' | #: ''Полезные функции: sklearn.tree.DecisionTreeClassifier, sklearn.metrics.accuracy_score'' | ||
- | # Выполните предыдущий пункт для разных значений глубины дерева и минимального числа | + | # Выполните предыдущий пункт для разных значений глубины дерева и минимального числа объектов в листе (параметры max_depth и min_samples_leaf). Как эти параметры влияют на вид разделяющей поверхности? |
# Реализуйте бинарное кодирование категориальных признаков. Если у признака N возможных значений, то ему в соответствие ставится N бинарных признаков, каждый из которых соответствует одному значению исходного признака. На каждом объекте единице должен равняться строго один из них. Примените такое кодирование к столбцам Pclass, Sex, Cabin и Embarked, добавьте результат к признакам. Удается ли с помощью новых признаков повысить качество классификации? | # Реализуйте бинарное кодирование категориальных признаков. Если у признака N возможных значений, то ему в соответствие ставится N бинарных признаков, каждый из которых соответствует одному значению исходного признака. На каждом объекте единице должен равняться строго один из них. Примените такое кодирование к столбцам Pclass, Sex, Cabin и Embarked, добавьте результат к признакам. Удается ли с помощью новых признаков повысить качество классификации? |
Текущая версия
Лабораторная работа посвящена освоению работы с решающими деревьями.
Формат отчета: iPython Notebook (.ipynb файл)
Срок сдачи: 14 декабря 2014, 23:59.
Штрафы: за каждый день просрочки из оценки вычитается 0.2 балла.
Данные
В задании мы будем работать с данными о пассажирах Титаника.
В столбце Survived записано, выжил пассажир или нет. Описание остальных признаков:
pclass: Passenger Class (1 = 1st; 2 = 2nd; 3 = 3rd)
name: Name
sex: Sex
age: Age
sibsp: Number of Siblings/Spouses Aboard
parch: Number of Parents/Children Aboard
ticket: Ticket Number
fare: Passenger Fare
cabin: Cabin
embarked: Port of Embarkation (C = Cherbourg; Q = Queenstown; S = Southampton)
Задание
- Скачайте файл с данными: файл. Прочитайте его в python с помощью пакета pandas.
- Полезные функции: pandas.read_csv
- Возьмите в качестве целевой переменной столбец Survived, в качестве признаков - столбцы Age и Fare.
- Примеры конструкций: target = train['Survived'].values; features = train[ ['Age', 'Fare'] ].as_matrix()
- Сколько среди признаков отсутствующих значений (NaN)? Замените отсутствующие значения на средние величины этих признаков.
- Полезные функции: numpy.isnan, numpy.nanmean
- Разбейте выборку на обучение и контроль в соотношении 70:30.
- Обучите решающее дерево с параметрами по умолчанию. Какую точность дает данное дерево на контроле? Визуализируйте разделяющую поверхность.
- Полезные функции: sklearn.tree.DecisionTreeClassifier, sklearn.metrics.accuracy_score
- Выполните предыдущий пункт для разных значений глубины дерева и минимального числа объектов в листе (параметры max_depth и min_samples_leaf). Как эти параметры влияют на вид разделяющей поверхности?
- Реализуйте бинарное кодирование категориальных признаков. Если у признака N возможных значений, то ему в соответствие ставится N бинарных признаков, каждый из которых соответствует одному значению исходного признака. На каждом объекте единице должен равняться строго один из них. Примените такое кодирование к столбцам Pclass, Sex, Cabin и Embarked, добавьте результат к признакам. Удается ли с помощью новых признаков повысить качество классификации?