Skip to content

Instantly share code, notes, and snippets.

@eteresh
Created October 26, 2018 12:21
Show Gist options
  • Select an option

  • Save eteresh/2fab59c9272ccdb02034aa3cdcdb637b to your computer and use it in GitHub Desktop.

Select an option

Save eteresh/2fab59c9272ccdb02034aa3cdcdb637b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Импортируйте все необходимые библиотеки"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import <lib1>\n",
"import <lib2>\n",
"\n",
"import <libN>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Загрузите датасет breast_cancer \n",
"Нужны факторы X и целевая переменная y. Используйте функцию load_breast_cancer из scikit-learn"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X, y = <your code>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"assert(X.shape[0] == 569)\n",
"assert(y.shape[0] == 569)\n",
"assert(X.shape[1] == 30)\n",
"print('success!')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Разделите данные на обучение и тест\n",
"\n",
"В итоге должно получится две выборки: обучающая (X_tr, y_tr) и тестовая (X_te, y_te)\n",
"\n",
"Используйте функцию train_test_split из scikit-learn"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"X_tr, X_te, y_tr, y_te = <your code>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"assert(X_tr.shape[1] == 30)\n",
"assert(X_te.shape[1] == 30)\n",
"\n",
"assert(X_tr.shape[0] == y_tr.shape[0])\n",
"assert(X_te.shape[0] == y_te.shape[0])\n",
"print('success!')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Обучите логистическую регрессию\n",
"используйте класс LogisticRegression из scikit-learn"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"<create model>\n",
"<fit model>\n",
"<predict probabilities>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Измерьте качество обученной модели\n",
"Вычислите две метрики, ROC-AUC и logarithmic loss, на обучающей и на тестовой выборке"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"<your code>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Обучите лес случайных деревьев\n",
"используйте класс RandomForestClassifier из scikit-learn\n",
"сравните результаты на тестовой выборке с результатами логистической регрессии по метрикам ROC-AUC и logarithmic loss"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"<your code>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Обучите градиентный бустинг деревьев\n",
"используйте класс XGBClassifier из xgboost\n",
"\n",
"сравните результаты на тестовой выборке с предыдущими моделями\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"<your code>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ДЗ\n",
"\n",
"1. Сгенерировать или найти в интернете выборку для бинарной классификации, в которой около 100 тысяч точек и несколько десятков факторов.\n",
"\n",
"2. Разделить на обучающую и тестовую подвыборки\n",
"\n",
"3. Подобрать гиперпараметры для обучения XGBoost-классификатора. Ознакомится со статьями по подбору гиперпараметров.\n",
"\n",
"4. Написать отчет: текстовый рассказ, либо jupyter notebook с подробными комментариями. Нужно, чтобы при обучении отображались две метрики: logarithmic loss и ROC-AUC. Также обязательно использование техники ранней остановки."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment