main
FloBab73 2026-10-01 10:56:31 +02:00
parent c5aac1a2b8
commit 162cf7cae0
11 changed files with 9418 additions and 3 deletions

3
.gitignore vendored
View File

@ -158,7 +158,7 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
.idea/
# ---> JupyterNotebooks
# gitignore template for Jupyter Notebooks
@ -174,3 +174,4 @@ ipython_config.py
# Remove previous ipynb_checkpoints
# git rm -r .ipynb_checkpoints/
/262_10968_92-pycharm-support-libs/

1
.python-version 100644
View File

@ -0,0 +1 @@
3.13

View File

@ -1,2 +0,0 @@
# NNW

17
pyproject.toml 100644
View File

@ -0,0 +1,17 @@
[project]
name = "nnw"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"matplotlib>=3.11.2",
"numpy>=2.5.3",
"pandas>=3.0.6",
"plotly>=7.1.0",
]
[dependency-groups]
dev = [
"ipykernel>=7.3.0",
]

1048
uv.lock 100644

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,436 @@
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "Arbeiten mit Numpy",
"id": "84c8fcc4449f4558"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:17.312457Z",
"start_time": "2026-10-01T08:52:17.229560500Z"
}
},
"cell_type": "code",
"source": "import numpy as np",
"id": "3ddc7142f957cc6e",
"outputs": [],
"execution_count": 1
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:17.340402300Z",
"start_time": "2026-10-01T08:52:17.316467500Z"
}
},
"cell_type": "code",
"source": "W=np.array([[1.,2,3],[3,4,5]])",
"id": "fab9f0c4b4cd7331",
"outputs": [],
"execution_count": 2
},
{
"cell_type": "code",
"id": "2df00a69-4739-4e71-bcbf-ae975fde0a8d",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:17.381458300Z",
"start_time": "2026-10-01T08:52:17.345404100Z"
}
},
"source": [
"W.shape"
],
"outputs": [
{
"data": {
"text/plain": [
"(2, 3)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 3
},
{
"cell_type": "code",
"id": "94f15aa1-4624-4886-b51f-69728e5855b2",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:17.506190700Z",
"start_time": "2026-10-01T08:52:17.403470Z"
}
},
"source": [
"W.T"
],
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 3.],\n",
" [2., 4.],\n",
" [3., 5.]])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 4
},
{
"cell_type": "code",
"id": "c1d473a4-3631-4250-b355-c342a6dc6004",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:20.674079500Z",
"start_time": "2026-10-01T08:52:20.501489Z"
}
},
"source": [
"W.T.shape"
],
"outputs": [
{
"data": {
"text/plain": [
"(3, 2)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 5
},
{
"cell_type": "code",
"id": "2ceb80d0-266d-4fa3-b5fe-1ffe2f86ae6b",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:20.944026200Z",
"start_time": "2026-10-01T08:52:20.734889400Z"
}
},
"source": [
"type(W)"
],
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 6
},
{
"cell_type": "code",
"id": "401331e9-66d2-4c37-baae-8e99ec803629",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:21.078828700Z",
"start_time": "2026-10-01T08:52:20.976024400Z"
}
},
"source": [
"type(W.shape)"
],
"outputs": [
{
"data": {
"text/plain": [
"tuple"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 7
},
{
"cell_type": "code",
"id": "8393499e-40c7-4e6b-a9b1-2ed9853ac7c7",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:21.269115200Z",
"start_time": "2026-10-01T08:52:21.111708200Z"
}
},
"source": [
"r=np.arange(10)\n",
"print(r)\n",
"r.shape"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0 1 2 3 4 5 6 7 8 9]\n"
]
},
{
"data": {
"text/plain": [
"(10,)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 8
},
{
"cell_type": "code",
"id": "fcafe345-887f-40c4-9165-d0852fa98252",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:21.441516Z",
"start_time": "2026-10-01T08:52:21.322059300Z"
}
},
"source": [
"M=np.arange(12).reshape(3,4)\n",
"M"
],
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0, 1, 2, 3],\n",
" [ 4, 5, 6, 7],\n",
" [ 8, 9, 10, 11]])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 9
},
{
"cell_type": "code",
"id": "ce0d72f5-9b39-43d3-9fc8-c3d76e1d6144",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:21.737503900Z",
"start_time": "2026-10-01T08:52:21.573841400Z"
}
},
"source": [
"M.shape"
],
"outputs": [
{
"data": {
"text/plain": [
"(3, 4)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 10
},
{
"cell_type": "code",
"id": "e3215687-903d-418b-83b6-82e09dda7ca9",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:22.191928Z",
"start_time": "2026-10-01T08:52:21.848416800Z"
}
},
"source": [
"M[:,[3,0,1,1]]"
],
"outputs": [
{
"data": {
"text/plain": [
"array([[ 3, 0, 1, 1],\n",
" [ 7, 4, 5, 5],\n",
" [11, 8, 9, 9]])"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 11
},
{
"cell_type": "code",
"id": "1760b7a5-9055-4949-ba09-8384d204b922",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:22.577686800Z",
"start_time": "2026-10-01T08:52:22.348557300Z"
}
},
"source": [
"M>4"
],
"outputs": [
{
"data": {
"text/plain": [
"array([[False, False, False, False],\n",
" [False, True, True, True],\n",
" [ True, True, True, True]])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 12
},
{
"cell_type": "code",
"id": "f3a1572b-eebb-41ad-b0bb-642d72db09ae",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:23.209483200Z",
"start_time": "2026-10-01T08:52:22.974117800Z"
}
},
"source": [
"M[M>4]"
],
"outputs": [
{
"data": {
"text/plain": [
"array([ 5, 6, 7, 8, 9, 10, 11])"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 13
},
{
"cell_type": "code",
"id": "c645218a-4bed-4c23-b270-32d0086ef976",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:23.731561500Z",
"start_time": "2026-10-01T08:52:23.428312900Z"
}
},
"source": [
"M[M>4]=-17"
],
"outputs": [],
"execution_count": 14
},
{
"cell_type": "code",
"id": "610e3957-c241-4b95-848b-7933677d8b37",
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:52:23.897784900Z",
"start_time": "2026-10-01T08:52:23.744562Z"
}
},
"source": [
"M"
],
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0, 1, 2, 3],\n",
" [ 4, -17, -17, -17],\n",
" [-17, -17, -17, -17]])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 15
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-10-01T08:53:23.533249600Z",
"start_time": "2026-10-01T08:53:23.386263100Z"
}
},
"cell_type": "code",
"source": [
"s=0\n",
"for i in range(M.shape[0]):\n",
" for j in range(M.shape[1]):\n",
" s+=M[i,j]\n",
" print(s,sep=',',end='🐝') # Parameter sep und end über Namen setzen\n",
"print(s)\n",
"\n",
"def func(x):\n",
" print(x*x)\n",
" return x"
],
"id": "8218e5eb4a464967",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0🐝1🐝3🐝6🐝10🐝-7🐝-24🐝-41🐝-58🐝-75🐝-92🐝-109🐝-109\n"
]
}
],
"execution_count": 19
}
],
"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.13.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -0,0 +1,151 @@
5.1,3.5,1.4,0.2,0
4.9,3.0,1.4,0.2,0
4.7,3.2,1.3,0.2,0
4.6,3.1,1.5,0.2,0
5.0,3.6,1.4,0.2,0
5.4,3.9,1.7,0.4,0
4.6,3.4,1.4,0.3,0
5.0,3.4,1.5,0.2,0
4.4,2.9,1.4,0.2,0
4.9,3.1,1.5,0.1,0
5.4,3.7,1.5,0.2,0
4.8,3.4,1.6,0.2,0
4.8,3.0,1.4,0.1,0
4.3,3.0,1.1,0.1,0
5.8,4.0,1.2,0.2,0
5.7,4.4,1.5,0.4,0
5.4,3.9,1.3,0.4,0
5.1,3.5,1.4,0.3,0
5.7,3.8,1.7,0.3,0
5.1,3.8,1.5,0.3,0
5.4,3.4,1.7,0.2,0
5.1,3.7,1.5,0.4,0
4.6,3.6,1.0,0.2,0
5.1,3.3,1.7,0.5,0
4.8,3.4,1.9,0.2,0
5.0,3.0,1.6,0.2,0
5.0,3.4,1.6,0.4,0
5.2,3.5,1.5,0.2,0
5.2,3.4,1.4,0.2,0
4.7,3.2,1.6,0.2,0
4.8,3.1,1.6,0.2,0
5.4,3.4,1.5,0.4,0
5.2,4.1,1.5,0.1,0
5.5,4.2,1.4,0.2,0
4.9,3.1,1.5,0.1,0
5.0,3.2,1.2,0.2,0
5.5,3.5,1.3,0.2,0
4.9,3.1,1.5,0.1,0
4.4,3.0,1.3,0.2,0
5.1,3.4,1.5,0.2,0
5.0,3.5,1.3,0.3,0
4.5,2.3,1.3,0.3,0
4.4,3.2,1.3,0.2,0
5.0,3.5,1.6,0.6,0
5.1,3.8,1.9,0.4,0
4.8,3.0,1.4,0.3,0
5.1,3.8,1.6,0.2,0
4.6,3.2,1.4,0.2,0
5.3,3.7,1.5,0.2,0
5.0,3.3,1.4,0.2,0
7.0,3.2,4.7,1.4,1
6.4,3.2,4.5,1.5,1
6.9,3.1,4.9,1.5,1
5.5,2.3,4.0,1.3,1
6.5,2.8,4.6,1.5,1
5.7,2.8,4.5,1.3,1
6.3,3.3,4.7,1.6,1
4.9,2.4,3.3,1.0,1
6.6,2.9,4.6,1.3,1
5.2,2.7,3.9,1.4,1
5.0,2.0,3.5,1.0,1
5.9,3.0,4.2,1.5,1
6.0,2.2,4.0,1.0,1
6.1,2.9,4.7,1.4,1
5.6,2.9,3.6,1.3,1
6.7,3.1,4.4,1.4,1
5.6,3.0,4.5,1.5,1
5.8,2.7,4.1,1.0,1
6.2,2.2,4.5,1.5,1
5.6,2.5,3.9,1.1,1
5.9,3.2,4.8,1.8,1
6.1,2.8,4.0,1.3,1
6.3,2.5,4.9,1.5,1
6.1,2.8,4.7,1.2,1
6.4,2.9,4.3,1.3,1
6.6,3.0,4.4,1.4,1
6.8,2.8,4.8,1.4,1
6.7,3.0,5.0,1.7,1
6.0,2.9,4.5,1.5,1
5.7,2.6,3.5,1.0,1
5.5,2.4,3.8,1.1,1
5.5,2.4,3.7,1.0,1
5.8,2.7,3.9,1.2,1
6.0,2.7,5.1,1.6,1
5.4,3.0,4.5,1.5,1
6.0,3.4,4.5,1.6,1
6.7,3.1,4.7,1.5,1
6.3,2.3,4.4,1.3,1
5.6,3.0,4.1,1.3,1
5.5,2.5,4.0,1.3,1
5.5,2.6,4.4,1.2,1
6.1,3.0,4.6,1.4,1
5.8,2.6,4.0,1.2,1
5.0,2.3,3.3,1.0,1
5.6,2.7,4.2,1.3,1
5.7,3.0,4.2,1.2,1
5.7,2.9,4.2,1.3,1
6.2,2.9,4.3,1.3,1
5.1,2.5,3.0,1.1,1
5.7,2.8,4.1,1.3,1
6.3,3.3,6.0,2.5,2
5.8,2.7,5.1,1.9,2
7.1,3.0,5.9,2.1,2
6.3,2.9,5.6,1.8,2
6.5,3.0,5.8,2.2,2
7.6,3.0,6.6,2.1,2
4.9,2.5,4.5,1.7,2
7.3,2.9,6.3,1.8,2
6.7,2.5,5.8,1.8,2
7.2,3.6,6.1,2.5,2
6.5,3.2,5.1,2.0,2
6.4,2.7,5.3,1.9,2
6.8,3.0,5.5,2.1,2
5.7,2.5,5.0,2.0,2
5.8,2.8,5.1,2.4,2
6.4,3.2,5.3,2.3,2
6.5,3.0,5.5,1.8,2
7.7,3.8,6.7,2.2,2
7.7,2.6,6.9,2.3,2
6.0,2.2,5.0,1.5,2
6.9,3.2,5.7,2.3,2
5.6,2.8,4.9,2.0,2
7.7,2.8,6.7,2.0,2
6.3,2.7,4.9,1.8,2
6.7,3.3,5.7,2.1,2
7.2,3.2,6.0,1.8,2
6.2,2.8,4.8,1.8,2
6.1,3.0,4.9,1.8,2
6.4,2.8,5.6,2.1,2
7.2,3.0,5.8,1.6,2
7.4,2.8,6.1,1.9,2
7.9,3.8,6.4,2.0,2
6.4,2.8,5.6,2.2,2
6.3,2.8,5.1,1.5,2
6.1,2.6,5.6,1.4,2
7.7,3.0,6.1,2.3,2
6.3,3.4,5.6,2.4,2
6.4,3.1,5.5,1.8,2
6.0,3.0,4.8,1.8,2
6.9,3.1,5.4,2.1,2
6.7,3.1,5.6,2.4,2
6.9,3.1,5.1,2.3,2
5.8,2.7,5.1,1.9,2
6.8,3.2,5.9,2.3,2
6.7,3.3,5.7,2.5,2
6.7,3.0,5.2,2.3,2
6.3,2.5,5.0,1.9,2
6.5,3.0,5.2,2.0,2
6.2,3.4,5.4,2.3,2
5.9,3.0,5.1,1.8,2
1 5.1 3.5 1.4 0.2 0
2 4.9 3.0 1.4 0.2 0
3 4.7 3.2 1.3 0.2 0
4 4.6 3.1 1.5 0.2 0
5 5.0 3.6 1.4 0.2 0
6 5.4 3.9 1.7 0.4 0
7 4.6 3.4 1.4 0.3 0
8 5.0 3.4 1.5 0.2 0
9 4.4 2.9 1.4 0.2 0
10 4.9 3.1 1.5 0.1 0
11 5.4 3.7 1.5 0.2 0
12 4.8 3.4 1.6 0.2 0
13 4.8 3.0 1.4 0.1 0
14 4.3 3.0 1.1 0.1 0
15 5.8 4.0 1.2 0.2 0
16 5.7 4.4 1.5 0.4 0
17 5.4 3.9 1.3 0.4 0
18 5.1 3.5 1.4 0.3 0
19 5.7 3.8 1.7 0.3 0
20 5.1 3.8 1.5 0.3 0
21 5.4 3.4 1.7 0.2 0
22 5.1 3.7 1.5 0.4 0
23 4.6 3.6 1.0 0.2 0
24 5.1 3.3 1.7 0.5 0
25 4.8 3.4 1.9 0.2 0
26 5.0 3.0 1.6 0.2 0
27 5.0 3.4 1.6 0.4 0
28 5.2 3.5 1.5 0.2 0
29 5.2 3.4 1.4 0.2 0
30 4.7 3.2 1.6 0.2 0
31 4.8 3.1 1.6 0.2 0
32 5.4 3.4 1.5 0.4 0
33 5.2 4.1 1.5 0.1 0
34 5.5 4.2 1.4 0.2 0
35 4.9 3.1 1.5 0.1 0
36 5.0 3.2 1.2 0.2 0
37 5.5 3.5 1.3 0.2 0
38 4.9 3.1 1.5 0.1 0
39 4.4 3.0 1.3 0.2 0
40 5.1 3.4 1.5 0.2 0
41 5.0 3.5 1.3 0.3 0
42 4.5 2.3 1.3 0.3 0
43 4.4 3.2 1.3 0.2 0
44 5.0 3.5 1.6 0.6 0
45 5.1 3.8 1.9 0.4 0
46 4.8 3.0 1.4 0.3 0
47 5.1 3.8 1.6 0.2 0
48 4.6 3.2 1.4 0.2 0
49 5.3 3.7 1.5 0.2 0
50 5.0 3.3 1.4 0.2 0
51 7.0 3.2 4.7 1.4 1
52 6.4 3.2 4.5 1.5 1
53 6.9 3.1 4.9 1.5 1
54 5.5 2.3 4.0 1.3 1
55 6.5 2.8 4.6 1.5 1
56 5.7 2.8 4.5 1.3 1
57 6.3 3.3 4.7 1.6 1
58 4.9 2.4 3.3 1.0 1
59 6.6 2.9 4.6 1.3 1
60 5.2 2.7 3.9 1.4 1
61 5.0 2.0 3.5 1.0 1
62 5.9 3.0 4.2 1.5 1
63 6.0 2.2 4.0 1.0 1
64 6.1 2.9 4.7 1.4 1
65 5.6 2.9 3.6 1.3 1
66 6.7 3.1 4.4 1.4 1
67 5.6 3.0 4.5 1.5 1
68 5.8 2.7 4.1 1.0 1
69 6.2 2.2 4.5 1.5 1
70 5.6 2.5 3.9 1.1 1
71 5.9 3.2 4.8 1.8 1
72 6.1 2.8 4.0 1.3 1
73 6.3 2.5 4.9 1.5 1
74 6.1 2.8 4.7 1.2 1
75 6.4 2.9 4.3 1.3 1
76 6.6 3.0 4.4 1.4 1
77 6.8 2.8 4.8 1.4 1
78 6.7 3.0 5.0 1.7 1
79 6.0 2.9 4.5 1.5 1
80 5.7 2.6 3.5 1.0 1
81 5.5 2.4 3.8 1.1 1
82 5.5 2.4 3.7 1.0 1
83 5.8 2.7 3.9 1.2 1
84 6.0 2.7 5.1 1.6 1
85 5.4 3.0 4.5 1.5 1
86 6.0 3.4 4.5 1.6 1
87 6.7 3.1 4.7 1.5 1
88 6.3 2.3 4.4 1.3 1
89 5.6 3.0 4.1 1.3 1
90 5.5 2.5 4.0 1.3 1
91 5.5 2.6 4.4 1.2 1
92 6.1 3.0 4.6 1.4 1
93 5.8 2.6 4.0 1.2 1
94 5.0 2.3 3.3 1.0 1
95 5.6 2.7 4.2 1.3 1
96 5.7 3.0 4.2 1.2 1
97 5.7 2.9 4.2 1.3 1
98 6.2 2.9 4.3 1.3 1
99 5.1 2.5 3.0 1.1 1
100 5.7 2.8 4.1 1.3 1
101 6.3 3.3 6.0 2.5 2
102 5.8 2.7 5.1 1.9 2
103 7.1 3.0 5.9 2.1 2
104 6.3 2.9 5.6 1.8 2
105 6.5 3.0 5.8 2.2 2
106 7.6 3.0 6.6 2.1 2
107 4.9 2.5 4.5 1.7 2
108 7.3 2.9 6.3 1.8 2
109 6.7 2.5 5.8 1.8 2
110 7.2 3.6 6.1 2.5 2
111 6.5 3.2 5.1 2.0 2
112 6.4 2.7 5.3 1.9 2
113 6.8 3.0 5.5 2.1 2
114 5.7 2.5 5.0 2.0 2
115 5.8 2.8 5.1 2.4 2
116 6.4 3.2 5.3 2.3 2
117 6.5 3.0 5.5 1.8 2
118 7.7 3.8 6.7 2.2 2
119 7.7 2.6 6.9 2.3 2
120 6.0 2.2 5.0 1.5 2
121 6.9 3.2 5.7 2.3 2
122 5.6 2.8 4.9 2.0 2
123 7.7 2.8 6.7 2.0 2
124 6.3 2.7 4.9 1.8 2
125 6.7 3.3 5.7 2.1 2
126 7.2 3.2 6.0 1.8 2
127 6.2 2.8 4.8 1.8 2
128 6.1 3.0 4.9 1.8 2
129 6.4 2.8 5.6 2.1 2
130 7.2 3.0 5.8 1.6 2
131 7.4 2.8 6.1 1.9 2
132 7.9 3.8 6.4 2.0 2
133 6.4 2.8 5.6 2.2 2
134 6.3 2.8 5.1 1.5 2
135 6.1 2.6 5.6 1.4 2
136 7.7 3.0 6.1 2.3 2
137 6.3 3.4 5.6 2.4 2
138 6.4 3.1 5.5 1.8 2
139 6.0 3.0 4.8 1.8 2
140 6.9 3.1 5.4 2.1 2
141 6.7 3.1 5.6 2.4 2
142 6.9 3.1 5.1 2.3 2
143 5.8 2.7 5.1 1.9 2
144 6.8 3.2 5.9 2.3 2
145 6.7 3.3 5.7 2.5 2
146 6.7 3.0 5.2 2.3 2
147 6.3 2.5 5.0 1.9 2
148 6.5 3.0 5.2 2.0 2
149 6.2 3.4 5.4 2.3 2
150 5.9 3.0 5.1 1.8 2

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,49 @@
# based on: https://github.com/eakbas/tf-svm/blob/master/plot_boundary_on_data.py
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import colors
def plotTwoFeatures(X,T,pred_func):
if X.ndim!=2:
raise ValueError('X be a matrix (2 dimensional array).')
tp=False
if X.shape[0]!=2 and X.shape[1]==2:
X=X.T
tp=True
if X.shape[0]!=2:
raise ValueError('X must contain exactly 2 features.')
# determine canvas borders
mins = np.amin(X,1);
mins = mins - 0.1*np.abs(mins);
maxs = np.amax(X,1);
maxs = maxs + 0.1*maxs;
## generate dense grid
xs,ys = np.meshgrid(np.linspace(mins[0],maxs[0],300),
np.linspace(mins[1], maxs[1], 300));
# evaluate model on the dense grid
try:
Z = pred_func(np.c_[xs.flatten(), ys.flatten()].T);
except:
Z = pred_func(np.c_[xs.flatten(), ys.flatten()]);
if tp:
Z=Z.T
T=T.T
if Z.ndim>1 and Z.shape[0]>1: # onehot? -> convert
Z=Z.argmax(0)
Z = Z.reshape(xs.shape)
if T.ndim>1 and T.shape[0]>1: # onehot? -> convert
T=T.argmax(0)
# Plot the contour and training examples
plt.contourf(xs, ys, Z, cmap=plt.cm.Spectral)
plt.scatter(X[0,:], X[1,:], c=T, s=50,
cmap=colors.ListedColormap(['orange', 'blue', 'green']))
plt.show()