{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Задача: классификация стекла\n", "Часто на месте преступления остаются осколки разных видов стекол, которые можно использовать как улики, если определить тип стекла и от каких оно объектов. [Выборка](https://archive.ics.uci.edu/ml/machine-learning-databases/glass/) состоит из 9 признаков - химических параметров образцов и 214 объектов. Необходимо каждому образцу сопоставить один из 6 классов (например: стекло автомобиля, осколок посуды, окно здания) и сравнить качество работы решающего дерева и алгоритма решающего дерева и алгоритма k-ближайших соседей. В качестве функции ошибки использовать долю неправильных ответов классификатора. Дает ли масштабирование признаков значительное улучшение в качестве классификации? " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Домашнее задание 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Первое знакомство с данными" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import sklearn as sc\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn import tree, model_selection, metrics\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.preprocessing import StandardScaler\n", "plt.rcParams['font.family'] = 'serif'\n", "plt.rcParams['font.serif'] = 'FreeSerif'\n", "plt.rcParams['lines.linewidth'] = 2\n", "plt.rcParams['lines.markersize'] = 12\n", "plt.rcParams['xtick.labelsize'] = 24\n", "plt.rcParams['ytick.labelsize'] = 24\n", "plt.rcParams['legend.fontsize'] = 24\n", "plt.rcParams['axes.titlesize'] = 26\n", "plt.rcParams['axes.labelsize'] = 24" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "columnNames = ['Id','RI', 'Na', 'Mg', 'Al', 'Si', 'K', 'Ca', 'Ba', 'Fe', 'Type of glass'] \n", "data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/glass/glass.data', \n", " names = columnNames, header=None)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | RI | \n", "Na | \n", "Mg | \n", "Al | \n", "Si | \n", "K | \n", "Ca | \n", "Ba | \n", "Fe | \n", "Type of glass | \n", "
---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1.52101 | \n", "13.64 | \n", "4.49 | \n", "1.10 | \n", "71.78 | \n", "0.06 | \n", "8.75 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "
1 | \n", "1.51761 | \n", "13.89 | \n", "3.60 | \n", "1.36 | \n", "72.73 | \n", "0.48 | \n", "7.83 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "
2 | \n", "1.51618 | \n", "13.53 | \n", "3.55 | \n", "1.54 | \n", "72.99 | \n", "0.39 | \n", "7.78 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "
3 | \n", "1.51766 | \n", "13.21 | \n", "3.69 | \n", "1.29 | \n", "72.61 | \n", "0.57 | \n", "8.22 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "
4 | \n", "1.51742 | \n", "13.27 | \n", "3.62 | \n", "1.24 | \n", "73.08 | \n", "0.55 | \n", "8.07 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "