{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "CvmiakWDcuyf"
},
"source": [
"# Лабораторная работа №2\n",
"## по предмету \"Системы искусственного интеллекта\"\n",
"\n",
"В данной лабораторной работе вы будете работать с набором данных, который содержит информацию о технических характеристиках ноутбуков и их цену.\n",
"Целью работы является изучение теоретических основ методов машинного обучения.\n",
"\n",
"В наборе данных для лабораторной работы содержится абор характеристик мобильных телефонов, включая мощность аккумулятора, характеристики камеры, поддержку сети, память, размеры экрана и другие атрибуты. Столбец «price_range» классифицирует телефоны по ценовым диапазонам (этот столбец необходимо предсказать)."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "YEZ0T1uwj34v"
},
"source": [
"### Задание 1\n",
"\n",
"Выгрузите данные из датасета. Изучите колонки, проверьте наличие пропусков. Постройте матрицу корреляции между признаками и целевой переменной. Сделайте выводы, что показывает эта матрица."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"id": "91NHysjQj26f"
},
"outputs": [
{
"data": {
"text/html": [
"
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
\n",
"
\n",
" \n",
" Parameters\n",
"
\n",
" \n",
" \n",
"
\n",
"
\n",
"
n_neighbors
\n",
"
16
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
weights
\n",
"
'uniform'
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
algorithm
\n",
"
'auto'
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
leaf_size
\n",
"
30
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
p
\n",
"
2
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
metric
\n",
"
'minkowski'
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
metric_params
\n",
"
None
\n",
"
\n",
" \n",
"\n",
"
\n",
"
\n",
"
n_jobs
\n",
"
None
\n",
"
\n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
"KNeighborsClassifier(n_neighbors=16)"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.neighbors import KNeighborsClassifier\n",
"\n",
"knn = KNeighborsClassifier(n_neighbors=16)\n",
"knn.fit(X_train_scaled, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.56\n",
"[[72 28 0 0]\n",
" [31 44 25 0]\n",
" [ 5 27 47 21]\n",
" [ 0 5 34 61]]\n"
]
}
],
"source": [
"y_pred = knn.predict(X_test_scaled)\n",
"\n",
"print(\"Accuracy:\", accuracy_score(y_test, y_pred))\n",
"print(confusion_matrix(y_test, y_pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "ssFzfn1Pl4AI"
},
"source": [
"### Задание 5\n",
"\n",
"Сделайте выводы о результатах обучения."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Логистическая регрессия хорошо подходит для линейно разделимых данных, что, вероятно, имело место в данном случае. Наивный Байес хуже справился с задачей из-за нарушения предположения о независимости признаков. Например, такие параметры, как оперативная память и размер экрана, могут быть коррелированы, что снижает качество прогноза. Метод KNN, вероятно, не подходит для данной задачи из-за большой разности в корреляции цены в зависимости от параметра."
]
}
],
"metadata": {
"colab": {
"provenance": []
},
"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.12.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}