### repos initianlization

parent 9ecba006
.gitignore 0 → 100644
 .ipynb_checkpoints/*
This diff is collapsed.
 %% Cell type:markdown id:funny-february tags: This notebook is for testing dependancies with xailib %% Cell type:code id:identical-attraction tags:  python import os os.chdir('/home/nicolas/Documents/xai/xai') import xailib.modeling as mod 
 %% Cell type:markdown id: tags: # Perceptron %% Cell type:markdown id: tags: Nous allons nous intéresser à l'algorithme du perceptron (Rosenblatt, 58) dont le pseudo-code est le suivant: input: Train, eta, m, MaxEp init : w epoque=0 err=1 while epoque<=MaxEp and err!=0 err=0 for i in 1:m prendre le i-ième exemple (x,y) de Train dp <- produit_scalaire(x,w) if (dp <= 0) w <- w + eta*y*x err <- err+1 epoque <- epoque+1 output: w Le but étant de l'appliquer à quelques bases de la collection UCI (http://archive.ics.uci.edu/ml/index.php). En commençant par la base sonar qui constient 208 exemples en dimension 60 séparés par , et la dernière élément correspond à la classe de l'exemple. Pour cela nous allons nous appuyer sur les fonctions suivantes: * La fonction ConstTrainTest qui va télécharger la collection avec la fonction read_table de la librairie pandas (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_table.html), et crée une liste de listes qui contient chacune le vecteur représentatif d'un exemple en ajoutant sa classe en fin de la liste. En sortie, cette fonction retourne deux bases d'apprentissage et de test avec des proportions données: %% Cell type:code id: tags:  python import pandas as pd import random from sklearn.model_selection import train_test_split def ConstTrainTest(filename,perTest): tag_df=pd.read_table(filename,sep=',',header=None) print(len(tag_df)) Dic={'R': -1, 'M': +1} X=[] for e in range(len(tag_df)): x=list(tag_df.loc[e,:]) cls=x.pop() x.insert(len(x),Dic[cls]) X.append(x) random.shuffle(X) x_train ,x_test = train_test_split(X,test_size=perTest) return x_train,x_test  %% Cell type:markdown id: tags: * La fonction dotproduct qui calcule le produit scalaire entre un exemple $\mathbf{x}=(x_1,\ldots,x_d)$ et le vecteur poids $\mathbf{w}=(w_0,w_1,\ldots,w_d)$: $\langle \mathbf{w},\mathbf{x} \rangle=w_0+\sum_{j=1}^d w_j x_j$ %% Cell type:code id: tags:  python def dotproduct(x,w): res=w for i in range(len(x)-1): res+=w[i+1]*x[i] return res  %% Cell type:markdown id: tags: 1. Appelez la fonction la fonction ConstTrainTest pour créer les bases d'apprentissage (Train) et de test (Test) avec une proportion 75% et 25%. %% Cell type:code id: tags:  python  %% Cell type:markdown id: tags: * L'algorithtme du perceptron prend en entrée la base Train, le nombre maximum d'époques et un pas d'apprentissage eta et donne en sortie le vecteur poids et l'erreur commise à la dernière époque: %% Cell type:code id: tags: ` python def perceptron(Train,MaxEpoch,eta): W=[0.0 for i in range(len(Train))] epoch=0 err=1 d=len(Train)-1 while (epoch
rapport deleted 100644 → 0
 test
 ,nicolas,srv-xai,31.03.2021 11:58,file:///home/nicolas/.config/libreoffice/4; \ No newline at end of file