N'hésitez pas à échanger les uns avec les autres !
Si vous avez une question concernant le fonctionnement du cours (accès aux exercices, envoi des exercices, inscription au cours…), contactez directement OpenClassrooms : http://oc.cm/contact
Bon courage et à bientôt !
- Edité par OsitoLoco1 22 septembre 2022 à 18:31:22
Malheureusement, il n'y a pas de version R à l'heure actuelle.
En R, les fonctions sont déjà toutes faites et il y a beaucoup moins de code. Si vous avez compris le principe, c'est déjà très bien. Pour le code en question, je vous invite à regarder ces ressources (qui se répètent un peu entre elles) :
Factominer est un package phare en R spécialisé dans l’analyse exploratoire multivariée (ACP, CAH, etc.) Retrouvez un exemple d’ACP avec Factominer à cette adresse.
Tout d'abord merci pour vos cours! Ils sont très clairs et facile à appliquer!
J'ai plusieurs questions...
Je débute en Python et j'aurais aimé savoir faire le fameux "zoom" dans la slide "TP: Réalisez une ACP" sur le cercle des corrélations et la projection des individus dans l'acp. Pourriez-vous m'aider sur ce point?
Aussi, je m'intéresse à l'ACM (Analyse des correspondances multiples pour les variables qualitatives) et l'AFDM (Analyse Factorielle de Données mixtes pour variables qualitatives et quantitatives). Les pages Wikipédia et les cours théoriques de François Husson sur Youtube sont de bonnes bases à mon sens, mais je n'ai pas trouvé de documentations pratiques françaises "claires" faisant lien avec Python.
#J'ai installé avec grande difficulté le module mca pour l'ACM mais je suis incapable de l'utiliser au vue de mon niveau de connaissance Python... https://pypi.org/project/mca/#description
Est-ce que vous auriez 2 exemples de code python "tout fait" pour ces 2 cas respectivement ACM et AFDM avec les types de tableaux en entrée si possible... (par exemple, je crois savoir que pour l'ACM, il faut convertir les variables quantitatives en modalités binaires (1 ou 0) avec l'aide de FactoMiner sous R, c'est peut être la même chose sous Python)?
Au chapitre "Téléchargez les jeux de données analysés dans ce cours" le script n'a pas pu être exécuté comme le dashboard d'Open Classrooms ne contient plus de colonne "Score" pour chaque cours depuis un mois ou deux.
J'ai le message d'erreur suivant à l'exécution du script : "Error: La colonne 'Score' n'a pas été trouvée dans la page html. Êtes-vous bien sur votre page d'accueil ? ..."
Serait il possible de faire une mise à jour du script ? Ou qu'Open Classrooms remette la colonne manquante ?
J'ai le même soucis que huynguyen2. Problème avec la colonne Score.
Une solution est de supprimer cette colonne dans le code javascript (supprimer la ligne 10) mais il manquera certainement une variable dans le dataset.
Dans le chapitre " Comprenez l'enjeu de l'Analyse en Composantes Principales", je n'ai pas compris comment sont calculés les coefficients des combinaisons linéaires entre les variables et l'axe principal d'inertie.
Même requête que huynguyen2 et umogo concernant la possibilité de télécharger les datas de notre dashnoard personnel. Je connais pas assez le JS pour pouvoir faire la modif' moi-même.
Il est plus intéressant de faire ce cours avec son propre jeu de données car cela nous permet de mieux comprendre et déjà de "pratiquer" un peu et d'avoir des résultats un peu différents de l'exemple.
Je vous adresse ce message pour vous alerter - comme certain l'ont déjà fait - de l'impossibilité de travailler sur des données de son propre dashboard, la variable Score ayant disparu suite aux MAJ du site.
Bien à vous et merci malgré tout pour cette formation de qualité,
Pour l'activité finale sur la détection de slides, quand j'execute ton code pour charger la video et effectuer la première ACP, au moment de convertir les nombres entiers en nombres décimaux, il me renvoit une MemoryError :
Traceback (most recent call last):
File "C:\..\activite.py", line 25, in <module>
X = X.astype(np.float64) # conversion des nombres entiers en nombres décimaux (float) : necessaire pour le StandardScaler
MemoryError
Pouvez-vous m'éclairer sur comment résoudre le problème ? (j'ai windows 64bits avec 4Go de RAM installée et il me semble que c'est une version 32bits de Python que j'ai)
En étudiant le cours ACP en parallèle dans un autre manuel, une question me turlupine et que j aimerai avoir un éclaircissement si possible
Je résume et cela concerne la détermination des coordonnées d'une variable dans un plan factoriel.
2 formules pour cela:
La première: les p variables auront pour coordonnées dans l'axe F1 : X'v1= racine(µ)u1
Avec X' transposée de la matrice des données centrés réduites xij ( i = 1..n pour les individus, j=1..p pour variables)
v1 vecteur propre (nx1) ( espace variables) associé à la valeur propre µ
u1vecteur propre (px1) (espace individus) associé à la valeur propre µ porteur de l'axe factoriel F1
La seconde, et qui me pose problème, repose sur le coefficient de corrélation entre les données initiales (centrées réduites) de la variable j (donc un vecteur nx1) et le vecteur propre v1 (nx1) : corr (Vj,v1)= coordonnée de la variable j sur l axe factoriel F1,
Une démonstration faite en partant du cercle de corrélation et en en partant de l'idée que tout point de l'hypersphere de rayon 1 peut etre considéré comme une variable et en particulier les points de contact de l'hypersphere et les axes principaux.
Pour simplifier, l'auteur se place en dimension 2
Ainsi utilisant le fait d'une variable artificielle v1 (et donc si j'ai bien compris le vecteur propre v1) avec moyenne nulle et écart type = 1 d 'un côté
et de l'autre et la variable Vj, en faisant le produit scalaire Vj.v1= corr (Vj,v1)= coordonnées de la variable j sur l'axe F1
(j'insere en photo les donn'es de changements de variables en photo)
Merci pour l'aide et désolé pour la longueur du texte
Je m'interroge sur ce qu'on veut au final représenter avec cette figure.
Le "centroids_after_kmeans[0]" représente les coordonnées en 60 dimensions du centre du premier cluster et le "centroids_after_kmeans[1]" représente les coordonnées du centre du deuxième cluster.
Quel est l'intérêt de représenter les coordonnées du centre du 2ème cluster en fonction de celles du 1er centre ?
Je souhaiterai réutiliser le code python mis en place pour la récupération de la vidéo et la segmentation de celle-ci en images dans l'activité réalisée.
Au cas où quelqu'un (e) réussirait, je suis preneur...
Dans la partie du cours : .../4525281-realisez-une-analyse-exploratoire-de-donnees/5254143-recherchez-une-bonne-partition
La formule de l'inertie interclasse me parait bizarre avec le 1/n ..., ce ne serait pas plutôt : 1/k...étant donné qu'ici on considère k points correspondants aux centres de gravité des différents clusters et non pas les n individus du dataset?
Bonjour, SVP à quel jeux de donnée devrons nous appliquer l'AFC ET l'AFM, puisque l'ACP est utiliser pour des variables quantitatives et l'ACM pour des variables qualitatives
Il me semble qu'une erreur s'est glissée dans la représentation du cercle des corrélations.
Il est tracé avec les valeurs de components_ qui sont les vecteurs propres. Mais pour obtenir la corrélation, et donc avoir une représentation graphique correcte, ne faut-il pas multiplier leur valeur par la racine carrée des valeurs propres ?
Je suis un débutant en langage python pour l'analyse des données.
Au niveau du TP : Réalisez une ACP,
j'aimerais savoir comment récupérer les outils dans le module "functions.py",
je l'ai enregistré dans mon dossier mais lorsque je tente d'importer les outils pour le TP, notamment "from functions import *", on me met "invalid syntax,
Dans le TP : Réalisez une ACP, lorsque j'exécute le code, on me dit que le module Functions n'est pas trouvée alors que j'ai bel et bien executé le code du fichier functions.py au préalable.
Pour la projection des centres de classes sur le premier plan factoriel, comment attribuer une couleur par centre avec une légende permettant d'identifier clairement chaque cluster ?
Je suis un débutant en langage python pour l'analyse des données.
Au niveau du TP : Réalisez une ACP,
j'aimerais savoir comment récupérer les outils dans le module "functions.py",
je l'ai enregistré dans mon dossier mais lorsque je tente d'importer les outils pour le TP, notamment "from functions import *", on me met "invalid syntax,
Merci de m'orientez svp
Est-ce que tu es dans le même repertoire que ton projet? Sinon utilise le bon chemin du fichier functions.py.
- Edité par salioudiogo 1 septembre 2020 à 17:51:22
Je rencontre quelques problèmes parfois à l'exécution du code sur vscode mais tout se passe bien via jupyter notebook.
Par exemple pour la création du dendogram aucun problème mais message d'erreur sous vscode
Voici le code du cours :
import pandas as pd
from functions import plot_dendrogram
from scipy.cluster.hierarchy import linkage, fcluster
from sklearn import preprocessing
# import de l'échantillon et des informations relatives aux cours
data = pd.read_csv('bag_of_words.csv', index_col = 0)
courses_info = pd.read_csv('courses_info.csv',index_col = 0)
# Theme du ou des parcours auxquels appartient le cours (data, developpement, marketing, etc.)
theme = [courses_info.loc[course_id, "theme"] for course_id in data.index]
# préparation des données pour le clustering
X = data.values
names = data.index
# Centrage et Réduction
std_scale = preprocessing.StandardScaler().fit(X)
X_scaled = std_scale.transform(X)
# Clustering hiérarchique
Z = linkage(X_scaled, 'ward')
# Affichage du dendrogramme
plot_dendrogram(Z, names)
Et voici le message d'erreur :
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-10-9ff203f8e1b3> in <module>
23
24 # Affichage du dendrogramme
---> 25 plot_dendrogram(Z, names)
d:\Bureau\Data Scientist\VS Code\analyse_exploratoire\functions.py in plot_dendrogram(Z, names)
111 Z,
112 labels = names,
--> 113 orientation = "left",
114 )
115 plt.show()
~\anaconda3\envs\myenv\lib\site-packages\scipy\cluster\hierarchy.py in dendrogram(Z, p, truncate_mode, color_threshold, get_leaves, orientation, labels, count_sort, distance_sort, show_leaf_counts, no_plot, no_labels, leaf_font_size, leaf_rotation, leaf_label_func, show_contracted, link_color_func, ax, above_threshold_color)
3275 "'bottom', or 'right'")
3276
-> 3277 if labels and Z.shape[0] + 1 != len(labels):
3278 raise ValueError("Dimensions of Z and labels must be consistent.")
3279
~\anaconda3\envs\myenv\lib\site-packages\pandas\core\indexes\base.py in __nonzero__(self)
2148 def __nonzero__(self):
2149 raise ValueError(
-> 2150 f"The truth value of a {type(self).__name__} is ambiguous. "
2151 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
2152 )
ValueError: The truth value of a Index is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Pour le TP de l'ACP, j'ai enregistrer le fichier functions.py au même endroit que mon notebook Jupyter, mais avec 'from functions import *, ça m'affiche :
File "functions.py", line 8 for d1, d2 in axis_ranks: # On affiche les 3 premiers plans factoriels, donc les 6 premières composantes ^ SyntaxError: Non-ASCII character '\xc3' in file functions.py on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Que faire ? Merci.
###############
Bon au final, je n'ai plus ce pb, j'ai refait un copier-coller, mais je ne sais toujours pas quel était le pb initial.
Par contre toutes les fonctions ne marchent pas : par exemple celle pour tracer le cercle ne marche pas, alors que celui pour l'éboulis marche.
Avez-vous eu des pb aussi ?
- Edité par Pierre12345678910%% 16 novembre 2020 à 19:16:02
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Diogo DIALLO