From 7641748c8ae8c52deb4c2e222c7e4d861d80eda1 Mon Sep 17 00:00:00 2001 From: Crazymax21 <45000832+Crazymax21@users.noreply.github.com> Date: Mon, 17 Oct 2022 10:43:21 +1000 Subject: [PATCH 1/2] Delete Lesson_1_HomeWork.ipynb --- Lesson_1/Lesson_1_HomeWork.ipynb | 262 ------------------------------- 1 file changed, 262 deletions(-) delete mode 100644 Lesson_1/Lesson_1_HomeWork.ipynb diff --git a/Lesson_1/Lesson_1_HomeWork.ipynb b/Lesson_1/Lesson_1_HomeWork.ipynb deleted file mode 100644 index 276d967..0000000 --- a/Lesson_1/Lesson_1_HomeWork.ipynb +++ /dev/null @@ -1,262 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "37eb8dfe", - "metadata": {}, - "source": [ - "### Домашнее задание №1. Вычисления с помощью NumPy" - ] - }, - { - "cell_type": "markdown", - "id": "f85fe171", - "metadata": {}, - "source": [ - "Задание 1. Импортируйте библиотеку Numpy и дайте ей псевдоним np.\n", - "Создайте массив Numpy под названием a размером 5x2, то есть состоящий из 5 строк и 2 столбцов. Первый столбец должен содержать числа 1, 2, 3, 3, 1, а второй - числа 6, 8, 11, 10, 7. Будем считать, что каждый столбец - это признак, а строка - наблюдение. Затем найдите среднее значение по каждому признаку, используя метод mean массива Numpy. Результат запишите в массив mean_a, в нем должно быть 2 элемента." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "c286a328", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "acc56d50", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 1, 6],\n", - " [ 2, 8],\n", - " [ 3, 11],\n", - " [ 3, 10],\n", - " [ 1, 7]])" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a = np.array([[1, 6],\n", - " [2, 8],\n", - " [3, 11],\n", - " [3, 10],\n", - " [1, 7]])\n", - "a" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "77fb7f97", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([2. , 8.4])" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "mean_a = np.mean(a, axis=0)\n", - "mean_a" - ] - }, - { - "cell_type": "markdown", - "id": "f7e16315", - "metadata": {}, - "source": [ - "Задание 2. Вычислите массив a_centered, отняв от значений массива “а” средние значения соответствующих признаков, содержащиеся в массиве mean_a. Вычисление должно производиться в одно действие. Получившийся массив должен иметь размер 5x2.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "644f461a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[-1. , -2.4],\n", - " [ 0. , -0.4],\n", - " [ 1. , 2.6],\n", - " [ 1. , 1.6],\n", - " [-1. , -1.4]])" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a_centered = np.subtract(a, mean_a)\n", - "a_centered" - ] - }, - { - "cell_type": "markdown", - "id": "1878c856", - "metadata": {}, - "source": [ - "Задание 3\n", - "Найдите скалярное произведение столбцов массива a_centered. В результате должна получиться величина a_centered_sp. Затем поделите a_centered_sp на N-1, где N - число наблюдений.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "b87904a0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "8.0" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a_centered_sp = a_centered[0:, 0] @ a_centered[0:, 1]\n", - "a_centered_sp" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "7db0fda4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2.0" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "a_centered_sp = a_centered_sp / (a.shape[0]-1)\n", - "a_centered_sp" - ] - }, - { - "cell_type": "markdown", - "id": "ad1645a3", - "metadata": {}, - "source": [ - "Задание 4**\n", - "Число, которое мы получили в конце задания 3 является ковариацией двух признаков, содержащихся в массиве “а”. В задании 4 мы делили сумму произведений центрированных признаков на N-1, а не на N, поэтому полученная нами величина является несмещенной оценкой ковариации.\n", - "Подробнее узнать о ковариации можно здесь:\n", - "Выборочная ковариация и выборочная дисперсия — Студопедия\n", - "В этом задании проверьте получившееся число, вычислив ковариацию еще одним способом - с помощью функции np.cov. В качестве аргумента m функция np.cov должна принимать транспонированный массив “a”. В получившейся ковариационной матрице (массив Numpy размером 2x2) искомое значение ковариации будет равно элементу в строке с индексом 0 и столбце с индексом 1.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "dc66a844", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1. , 2. ],\n", - " [2. , 4.3]])" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.cov(a.T)" - ] - }, - { - "cell_type": "markdown", - "id": "bce5e767", - "metadata": {}, - "source": [ - "Значение ковариации:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "35c20fe9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2.0" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "np.cov(a.T)[0, 1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b61e565d", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.9.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 03a0d1f9689b84bc270797e667dd7cebee13714c Mon Sep 17 00:00:00 2001 From: Crazymax21 <45000832+Crazymax21@users.noreply.github.com> Date: Mon, 17 Oct 2022 10:44:05 +1000 Subject: [PATCH 2/2] Create Lesson_1_HomeWork.ipynb --- Lesson_1/Lesson_1_HomeWork.ipynb | 262 +++++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 Lesson_1/Lesson_1_HomeWork.ipynb diff --git a/Lesson_1/Lesson_1_HomeWork.ipynb b/Lesson_1/Lesson_1_HomeWork.ipynb new file mode 100644 index 0000000..276d967 --- /dev/null +++ b/Lesson_1/Lesson_1_HomeWork.ipynb @@ -0,0 +1,262 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "37eb8dfe", + "metadata": {}, + "source": [ + "### Домашнее задание №1. Вычисления с помощью NumPy" + ] + }, + { + "cell_type": "markdown", + "id": "f85fe171", + "metadata": {}, + "source": [ + "Задание 1. Импортируйте библиотеку Numpy и дайте ей псевдоним np.\n", + "Создайте массив Numpy под названием a размером 5x2, то есть состоящий из 5 строк и 2 столбцов. Первый столбец должен содержать числа 1, 2, 3, 3, 1, а второй - числа 6, 8, 11, 10, 7. Будем считать, что каждый столбец - это признак, а строка - наблюдение. Затем найдите среднее значение по каждому признаку, используя метод mean массива Numpy. Результат запишите в массив mean_a, в нем должно быть 2 элемента." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c286a328", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "acc56d50", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 6],\n", + " [ 2, 8],\n", + " [ 3, 11],\n", + " [ 3, 10],\n", + " [ 1, 7]])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = np.array([[1, 6],\n", + " [2, 8],\n", + " [3, 11],\n", + " [3, 10],\n", + " [1, 7]])\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "77fb7f97", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([2. , 8.4])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mean_a = np.mean(a, axis=0)\n", + "mean_a" + ] + }, + { + "cell_type": "markdown", + "id": "f7e16315", + "metadata": {}, + "source": [ + "Задание 2. Вычислите массив a_centered, отняв от значений массива “а” средние значения соответствующих признаков, содержащиеся в массиве mean_a. Вычисление должно производиться в одно действие. Получившийся массив должен иметь размер 5x2.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "644f461a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-1. , -2.4],\n", + " [ 0. , -0.4],\n", + " [ 1. , 2.6],\n", + " [ 1. , 1.6],\n", + " [-1. , -1.4]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a_centered = np.subtract(a, mean_a)\n", + "a_centered" + ] + }, + { + "cell_type": "markdown", + "id": "1878c856", + "metadata": {}, + "source": [ + "Задание 3\n", + "Найдите скалярное произведение столбцов массива a_centered. В результате должна получиться величина a_centered_sp. Затем поделите a_centered_sp на N-1, где N - число наблюдений.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "b87904a0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8.0" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a_centered_sp = a_centered[0:, 0] @ a_centered[0:, 1]\n", + "a_centered_sp" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "7db0fda4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.0" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a_centered_sp = a_centered_sp / (a.shape[0]-1)\n", + "a_centered_sp" + ] + }, + { + "cell_type": "markdown", + "id": "ad1645a3", + "metadata": {}, + "source": [ + "Задание 4**\n", + "Число, которое мы получили в конце задания 3 является ковариацией двух признаков, содержащихся в массиве “а”. В задании 4 мы делили сумму произведений центрированных признаков на N-1, а не на N, поэтому полученная нами величина является несмещенной оценкой ковариации.\n", + "Подробнее узнать о ковариации можно здесь:\n", + "Выборочная ковариация и выборочная дисперсия — Студопедия\n", + "В этом задании проверьте получившееся число, вычислив ковариацию еще одним способом - с помощью функции np.cov. В качестве аргумента m функция np.cov должна принимать транспонированный массив “a”. В получившейся ковариационной матрице (массив Numpy размером 2x2) искомое значение ковариации будет равно элементу в строке с индексом 0 и столбце с индексом 1.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "dc66a844", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1. , 2. ],\n", + " [2. , 4.3]])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.cov(a.T)" + ] + }, + { + "cell_type": "markdown", + "id": "bce5e767", + "metadata": {}, + "source": [ + "Значение ковариации:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "35c20fe9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.0" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.cov(a.T)[0, 1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b61e565d", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}