Skip to content
This repository was archived by the owner on Apr 24, 2025. It is now read-only.

Commit a790681

Browse files
committed
finding mean
1 parent e1121c2 commit a790681

File tree

1 file changed

+237
-0
lines changed
  • projects/ML-Notebooks_Beginners/notebooks/maths

1 file changed

+237
-0
lines changed
Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"## Mean [WIP]\n",
8+
"\n",
9+
"Mean also referred to as the arithmetic mean is a measure of the central tendency of a set of numbers. You can calculate the mean of a set of numbers as follows:\n",
10+
"\n",
11+
"\n",
12+
"$$\n",
13+
"m=\\frac{\\text { sum of the terms }}{\\text { number of terms }}\n",
14+
"$$\n",
15+
"\n",
16+
"or\n",
17+
"\n",
18+
"more formally:\n",
19+
"\n",
20+
"$$\n",
21+
"\\bar{x}=\\frac{1}{n}\\left(\\sum_{i=1}^{n} x_{i}\\right)=\\frac{x_{1}+x_{2}+\\cdots+x_{n}}{n}\n",
22+
"$$\n"
23+
]
24+
},
25+
{
26+
"cell_type": "code",
27+
"execution_count": 4,
28+
"metadata": {},
29+
"outputs": [
30+
{
31+
"name": "stdout",
32+
"output_type": "stream",
33+
"text": [
34+
"Collecting torch\n",
35+
" Downloading torch-2.3.0-cp38-cp38-manylinux1_x86_64.whl.metadata (26 kB)\n",
36+
"Collecting filelock (from torch)\n",
37+
" Downloading filelock-3.14.0-py3-none-any.whl.metadata (2.8 kB)\n",
38+
"Collecting typing-extensions>=4.8.0 (from torch)\n",
39+
" Downloading typing_extensions-4.12.0-py3-none-any.whl.metadata (3.0 kB)\n",
40+
"Collecting sympy (from torch)\n",
41+
" Downloading sympy-1.12-py3-none-any.whl.metadata (12 kB)\n",
42+
"Collecting networkx (from torch)\n",
43+
" Downloading networkx-3.1-py3-none-any.whl.metadata (5.3 kB)\n",
44+
"Collecting jinja2 (from torch)\n",
45+
" Downloading jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)\n",
46+
"Collecting fsspec (from torch)\n",
47+
" Downloading fsspec-2024.5.0-py3-none-any.whl.metadata (11 kB)\n",
48+
"Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch)\n",
49+
" Downloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
50+
"Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch)\n",
51+
" Downloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
52+
"Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch)\n",
53+
" Downloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
54+
"Collecting nvidia-cudnn-cu12==8.9.2.26 (from torch)\n",
55+
" Downloading nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
56+
"Collecting nvidia-cublas-cu12==12.1.3.1 (from torch)\n",
57+
" Downloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
58+
"Collecting nvidia-cufft-cu12==11.0.2.54 (from torch)\n",
59+
" Downloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
60+
"Collecting nvidia-curand-cu12==10.3.2.106 (from torch)\n",
61+
" Downloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
62+
"Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch)\n",
63+
" Downloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
64+
"Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch)\n",
65+
" Downloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
66+
"Collecting nvidia-nccl-cu12==2.20.5 (from torch)\n",
67+
" Downloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n",
68+
"Collecting nvidia-nvtx-cu12==12.1.105 (from torch)\n",
69+
" Downloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n",
70+
"Collecting triton==2.3.0 (from torch)\n",
71+
" Downloading triton-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.4 kB)\n",
72+
"Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch)\n",
73+
" Downloading nvidia_nvjitlink_cu12-12.5.40-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
74+
"Requirement already satisfied: MarkupSafe>=2.0 in /home/ibra/Workspace/pull-push/.venv/lib/python3.8/site-packages (from jinja2->torch) (2.1.5)\n",
75+
"Collecting mpmath>=0.19 (from sympy->torch)\n",
76+
" Downloading mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n",
77+
"Downloading torch-2.3.0-cp38-cp38-manylinux1_x86_64.whl (779.1 MB)\n",
78+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m779.1/779.1 MB\u001b[0m \u001b[31m884.9 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m0:01\u001b[0m00:14\u001b[0mm\n",
79+
"\u001b[?25hDownloading nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n",
80+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m410.6/410.6 MB\u001b[0m \u001b[31m1.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:08\u001b[0m\n",
81+
"\u001b[?25hDownloading nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n",
82+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14.1/14.1 MB\u001b[0m \u001b[31m1.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
83+
"\u001b[?25hDownloading nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n",
84+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m23.7/23.7 MB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
85+
"\u001b[?25hDownloading nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n",
86+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m823.6/823.6 kB\u001b[0m \u001b[31m1.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
87+
"\u001b[?25hDownloading nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl (731.7 MB)\n",
88+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m731.7/731.7 MB\u001b[0m \u001b[31m928.8 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m0:01\u001b[0m00:12\u001b[0mm\n",
89+
"\u001b[?25hDownloading nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n",
90+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m121.6/121.6 MB\u001b[0m \u001b[31m1.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:02\u001b[0m\n",
91+
"\u001b[?25hDownloading nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n",
92+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.5/56.5 MB\u001b[0m \u001b[31m1.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
93+
"\u001b[?25hDownloading nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n",
94+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m124.2/124.2 MB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:02\u001b[0m\n",
95+
"\u001b[?25hDownloading nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n",
96+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m196.0/196.0 MB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:03\u001b[0m\n",
97+
"\u001b[?25hDownloading nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n",
98+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m176.2/176.2 MB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:03\u001b[0m\n",
99+
"\u001b[?25hDownloading nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n",
100+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m99.1/99.1 kB\u001b[0m \u001b[31m1.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
101+
"\u001b[?25hDownloading triton-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (168.0 MB)\n",
102+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m168.0/168.0 MB\u001b[0m \u001b[31m1.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:03\u001b[0m\n",
103+
"\u001b[?25hDownloading typing_extensions-4.12.0-py3-none-any.whl (37 kB)\n",
104+
"Downloading filelock-3.14.0-py3-none-any.whl (12 kB)\n",
105+
"Downloading fsspec-2024.5.0-py3-none-any.whl (316 kB)\n",
106+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m316.1/316.1 kB\u001b[0m \u001b[31m1.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
107+
"\u001b[?25hDownloading jinja2-3.1.4-py3-none-any.whl (133 kB)\n",
108+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m133.3/133.3 kB\u001b[0m \u001b[31m940.4 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\u001b[36m0:00:01\u001b[0m\n",
109+
"\u001b[?25hDownloading networkx-3.1-py3-none-any.whl (2.1 MB)\n",
110+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m1.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
111+
"\u001b[?25hDownloading sympy-1.12-py3-none-any.whl (5.7 MB)\n",
112+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.7/5.7 MB\u001b[0m \u001b[31m1.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
113+
"\u001b[?25hDownloading mpmath-1.3.0-py3-none-any.whl (536 kB)\n",
114+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m536.2/536.2 kB\u001b[0m \u001b[31m1.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
115+
"\u001b[?25hDownloading nvidia_nvjitlink_cu12-12.5.40-py3-none-manylinux2014_x86_64.whl (21.3 MB)\n",
116+
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.3/21.3 MB\u001b[0m \u001b[31m1.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
117+
"\u001b[?25hInstalling collected packages: mpmath, typing-extensions, sympy, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, jinja2, fsspec, filelock, triton, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, torch\n",
118+
" Attempting uninstall: typing-extensions\n",
119+
" Found existing installation: typing_extensions 4.5.0\n",
120+
" Uninstalling typing_extensions-4.5.0:\n",
121+
" Successfully uninstalled typing_extensions-4.5.0\n",
122+
"\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
123+
"tensorflow 2.13.1 requires keras<2.14,>=2.13.1, but you have keras 2.15.0 which is incompatible.\n",
124+
"tensorflow 2.13.1 requires typing-extensions<4.6.0,>=3.6.6, but you have typing-extensions 4.12.0 which is incompatible.\u001b[0m\u001b[31m\n",
125+
"\u001b[0mSuccessfully installed filelock-3.14.0 fsspec-2024.5.0 jinja2-3.1.4 mpmath-1.3.0 networkx-3.1 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-8.9.2.26 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.5.40 nvidia-nvtx-cu12-12.1.105 sympy-1.12 torch-2.3.0 triton-2.3.0 typing-extensions-4.12.0\n",
126+
"Note: you may need to restart the kernel to use updated packages.\n"
127+
]
128+
}
129+
],
130+
"source": [
131+
"#Uncomment to install pytorch library on python environment:\n",
132+
"# pip install torch\n"
133+
]
134+
},
135+
{
136+
"cell_type": "code",
137+
"execution_count": 5,
138+
"metadata": {},
139+
"outputs": [
140+
{
141+
"name": "stdout",
142+
"output_type": "stream",
143+
"text": [
144+
"tensor([[-1.2116, 1.0368, -0.4845],\n",
145+
" [-0.4369, -1.0795, 1.1041],\n",
146+
" [-1.2888, 0.3706, 0.2939],\n",
147+
" [-1.2139, -1.5166, 0.7118],\n",
148+
" [ 0.1386, 0.0818, -1.5839]])\n"
149+
]
150+
},
151+
{
152+
"data": {
153+
"text/plain": [
154+
"tensor([[-0.2198],\n",
155+
" [-0.1374],\n",
156+
" [-0.2081],\n",
157+
" [-0.6729],\n",
158+
" [-0.4545]])"
159+
]
160+
},
161+
"execution_count": 5,
162+
"metadata": {},
163+
"output_type": "execute_result"
164+
}
165+
],
166+
"source": [
167+
"import torch\n",
168+
"x = torch.randn(5, 3)\n",
169+
"print(x)\n",
170+
"\n",
171+
"# use keepdim=True to preserve dimension\n",
172+
"x.mean(-1, keepdim=True)"
173+
]
174+
},
175+
{
176+
"cell_type": "code",
177+
"execution_count": 6,
178+
"metadata": {},
179+
"outputs": [
180+
{
181+
"name": "stdout",
182+
"output_type": "stream",
183+
"text": [
184+
"tensor(42.)\n",
185+
"tensor(42.)\n"
186+
]
187+
}
188+
],
189+
"source": [
190+
"# Example 2:\n",
191+
"import torch\n",
192+
"\n",
193+
"x = torch.Tensor([4, 36, 45, 50, 75])\n",
194+
"\n",
195+
"print(torch.sum(x) / 5) # using sum and manual division\n",
196+
"print(torch.mean(x)) # using mean function"
197+
]
198+
},
199+
{
200+
"cell_type": "markdown",
201+
"metadata": {},
202+
"source": [
203+
"### References\n",
204+
"\n",
205+
"- [Wikipedia](https://en.wikipedia.org/wiki/Mean)\n",
206+
"- [Basics of Statistics for ML Engineer](https://medium.com/technology-nineleaps/basics-of-statistics-for-machine-learning-engineers-bf2887ac716c)"
207+
]
208+
}
209+
],
210+
"metadata": {
211+
"kernelspec": {
212+
"display_name": "Python 3.9.12 ('base')",
213+
"language": "python",
214+
"name": "python3"
215+
},
216+
"language_info": {
217+
"codemirror_mode": {
218+
"name": "ipython",
219+
"version": 3
220+
},
221+
"file_extension": ".py",
222+
"mimetype": "text/x-python",
223+
"name": "python",
224+
"nbconvert_exporter": "python",
225+
"pygments_lexer": "ipython3",
226+
"version": "3.8.5"
227+
},
228+
"orig_nbformat": 4,
229+
"vscode": {
230+
"interpreter": {
231+
"hash": "d4d1e4263499bec80672ea0156c357c1ee493ec2b1c70f0acce89fc37c4a6abe"
232+
}
233+
}
234+
},
235+
"nbformat": 4,
236+
"nbformat_minor": 2
237+
}

0 commit comments

Comments
 (0)