| 1) Type Le typage est dynamique, autrement dit, une variable peut. type(5) → <class 'int'> |
2) Opération s='abcd' |
3) Boucle s=0 while i>0: for i in [2,3,5,7] continue # Passe une itération |
4) Fonction
def f(x,y): f=lambda x,y: x**y |
| 4) Condition
if not x<5 : x=5 if y==3 else 6 # x est égale à 5 ou 6 selon |
5) Map
[x*x for x in range(1,5)] → [1,4,9,16] D={'key1':1,'key2':2,'key3':3} X=[2,3,4,5] |
||
| 6) Reduce from functools import reduce reduce(lambda x,y: x*y, [1,2,3,4]) → 24 # Egale à ((1*2)*3)*4 X=[2,4,3,1,5] # Valeurs # somme pondérée |
|
||
La surcharge les opérateurs +, -, *, //, /, %, ** ce fait en programmant les méthodes privées qui ont des nom de la forme __xxxx__, Voir : Émuler les types numériques
Opérateur |
Méthode privée |
Déscription |
+ |
__add__ |
Addition |
- |
__sub__ |
Soustraction |
* |
__mul__ |
Multiplication |
/ |
__floordiv__ |
Division |
% |
__mod__ |
Modulo |
** |
__pow__ |
Puissance |
| .1) Numpy import numpy as np v=np.array([1,2,3]) M= np.matrix([[1,2,3], |
2) Matplotlib
import matplotlib.pyplot as plt X=[rd()-0.5 for i in range(0,20)]
|
On se propose de programmer en python l'algorithme d'optimisation des paramètres d'une fonction polynomial de degrès `d` de prédiction de la variable `y` en fonction des variables `vec x= x_1,x_2,x_2,...,x_n`, et que l'on nomme `f`, en utilisant la méthode de la descente de gradient
On définit l'indice k qui quitte le nombre de composante dans un monôme. `k "∈" {1,2,...,d}`
On définit les indices `j_1,j_2,j_3,...,j_k,...,j_d` qui désigne le numéro de la variable d'entrée compris entre `0` et `n`, sachant que la variable d'entrée numéro zéro est la constante `x_0=1`.
La fonction `f(vecx)` est une combinaison linéaire des monômes suivants :
`AAk "∈" {1,2,...,d}, j_k "∈" {0,1,2,...,n}`
`f(vecx) = sum_( j_1<=j_2<=...<=j_d) a_( j_1,j_2,...,j_d)(x_(j_1)x_(j_2)...x_(j_d))`
Le nombre de paramètres est égale au coefficient binomial :
`((n"+"d),(d))= ((n"+"d)!)/(n!d!)`
Pour que cette fonction de prédiction est une signification statistique, il faut un nombre d'observations beaucoup plus grand. On peut utiliser la règle empirique d'au moins 36 mesures pour mesurer empririquement une valeurs statistique. Et donc qu'il faudrait au moins 36 fois plus d'observations que de paramètres à optimiser.
.