#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Apr 11 11:12:06 2019 @author: valerie """ import numpy as np import matplotlib.pyplot as plt from urllib.request import urlopen url="https://perso.univ-rennes1.fr/bernard.delyon/data/poterie.dat" pot=np.loadtxt(urlopen(url),skiprows=1,usecols=range(0,10)) # Extraction de la colonne four four=pot[:,9] # Elimination de cette colonne pot=pot[:,np.arange(0,9)] # Recuperation des noms de variable potn=np.genfromtxt(urlopen(url),max_rows=1,dtype='str',usecols=range(0,9)) # Routine de standardisation def stdise(X): mk=np.mean(X,axis=0) # Calcul de l'écart-type avec max pour éviter une division par 0 sk=np.maximum(np.std(X,axis=0),10*np.finfo(float).eps) Xs=np.add(X,-mk) Xs=np.multiply(Xs,1/sk) return Xs # SVD. Axes Composantes # Après standardisation les colonnes sont de norme "nb de ligne" et non 1, # on corrige cela. Ps=stdise(pot)/np.sqrt(np.shape(pot)[0]) """ Kmeans """ """ Gaussian mixture """