QCM - Partie TP (Python/Data Science)
1. Que retourne la fonction generate_list(min=2, max=5, count=3) ?
• Une liste de 3 nombres entre 0 et 10
• Une liste de 3 nombres entre 2 et 5
• Un set de 3 nombres entre 2 et 5
• Une matrice 3x3
2. Quelle méthode Pandas permet de sélectionner des colonnes par index ?
• head()
• iloc[]
• read_csv()
• scatter()
3. Que fait [Link](arr1, (10,1)) si arr1 contient 15 éléments ?
• Crée une matrice 15x10
• Crée une matrice 10x15 (10 copies de arr1)
• Additionne 10 copies de arr1
• Génère une erreur
4. Pour visualiser trois nuages de points avec matplotlib avec des couleurs différentes par
classe :
• [Link]() 3 fois
• [Link]() 3 fois avec des paramètres 'c' différents
• [Link]()
• [Link](3)
5. Que fait train_test_split(X, Y, test_size=0.3) ?
• Entraîne le modèle sur 30% des données
• Sépare les données en 70% train / 30% test
• Supprime 30% des données
• Crée 3 sous-ensembles
6. Quel code permet d'entraîner un modèle KNN ?
• model = KNN().fit(test_X, test_Y)
• model = KNeighborsClassifier().fit(train_X, train_Y)
• model = KMeans().predict(train_X)
• model = sklearn(train_X, train_Y)
7. Que retourne metrics.accuracy_score(y_test, y_pred) ?
• La matrice de confusion
• Le pourcentage de bonnes prédictions
• La précision par classe
• Le recall moyen
8. Si arr1 = [Link]([1,2,3]) et arr2 = [Link]([4,5,6]), que vaut
[Link](arr1, arr2) ?
• 21
• array([5, 7, 9])
• array([4, 10, 18])
• Erreur de dimension
9. Pour créer un graphique avec :
• Abscisses : indices d'un array
• Ordonnées : valeurs de l'array
On utilise :
• [Link]()
• [Link](range(len(arr)), arr)
• [Link](arr, range(len(arr)))
• [Link](arr, arr)
10. Quel code compte les éléments impairs et dupliqués dans une liste de dictionnaires ?
• sum(d['number']%2==0 for d in dict_list)
• sum(not d['even'] and d['duplicated'] for d in dict_list)
• len([d for d in dict_list if d['number']>0])
• dict_list.count('duplicated')
11. Que fait la méthode head() sur un DataFrame ?
• Affiche les 10 derniers éléments
• Affiche les 5 premières lignes
• Donne la forme du dataset
• Trie les colonnes
12. Pour multiplier matriciellement mat1 (10x15) par arr2 (15 éléments) :
• mat1 * arr2
• [Link](mat1, arr2)
• [Link](arr2, mat1)
• mat1 @ arr2.T
13. Dans [Link](), que représente 'axe' ?
• La légende du graphique
• Un objet permettant de configurer le tracé
• Les limites des abscisses
• La palette de couleurs
14. Pour prédire des nouvelles données avec un modèle KNN entraîné :
• model.predict_proba(sample)
• [Link](sample)
• [Link](sample)
• [Link](sample)
15. Que retourne unique([1,2,2,3]) si la fonction utilise un Set ?
• [1,2,3]
• {1,2,3}
• [1,2,2,3]
• {2}
Corrigé :
1B, 2B, 3B, 4B, 5B, 6B, 7B, 8B, 9B, 10B, 11B, 12B, 13B, 14B, 15B
Ce QCM couvre :
• Manipulation de listes/dictionnaires (TP1)
• Numpy/Matplotlib (TP1)
• Pandas/Sklearn (TP2)
• Visualisation (TP2)
• Prédiction (TP2)
fait moi un autre QCM je veux mexercer tres bien pour avoire une note complete
Voici un nouveau QCM complet et varié pour vous entraîner intensivement, couvrant tous les
aspects des TP avec des questions progressives :
QCM Avancé - Préparation Intensive (30 questions)
Partie Python Pur
1. Quelle sera la sortie de generate_list(max=3, count=5) ?
• Une liste de 5 nombres entre 0 et 3 (inclus)
• Une liste de 3 nombres entre 0 et 5
• Une liste de 5 nombres entre 0 et 3 (exclus)
• Un set de 5 nombres aléatoires
2. Si lst = [1,2,2,3,4,4,4], que retourne get_duplicates(lst) ?
• {1,3}
• {2,4}
• [2,4]
• {2,2,4,4,4}
3. Pour la liste [3,5,7], quel sera le dictionnaire généré par generate_dict() ?
• {'number':3, 'string':'3', 'even':True}
• {'number':3, 'string':'3', 'even':False,
'duplicated':False}
• {'val':3, 'text':'3', 'pair':False}
• {3:'3', 5:'5', 7:'7'}
Partie Numpy
4. Si arr = [Link]([[1,2],[3,4]]), que vaut [Link] ?
• (4,)
• (2,2)
• 2
• (2,)
5. Que produit [Link]([Link]([10,20]), (3,1)) ?
• [10,20,10,20,10,20]
• [[10,20],[10,20],[10,20]]
• [30,60]
• Erreur
6. Si arr1 = [1,2,3] et arr2 = [4,5,6], que donne [Link](arr1,
arr2) ?
• [4,10,18]
• 32 (produit scalaire)
• [5,7,9]
• Erreur de dimension
Partie Pandas
7. Que fait [Link][:,1:3] ?
• Sélectionne les 3 premières lignes
• Sélectionne les colonnes 1 et 2 (index 1 à 2 exclu)
• Supprime les colonnes 1 à 3
• Affiche les statistiques descriptives
8. Pour importer [Link], on utilise :
• pd.read_excel("[Link]")
• pd.read_csv("[Link]")
• [Link]("[Link]")
• [Link]("[Link]")
Partie Matplotlib
9. Pour créer un scatter plot avec des marqueurs 'x' rouges :
• [Link](x,y, marker='x', c='red')
• [Link](x,y, marker='x', color='red')
• [Link](x,y, 'rx')
• [Link](x,y, color='r', style='x')
[Link] fait [Link](2,2) ?
• Un graphique 2x2 pixels
• Une grille de 4 subplots (2 lignes x 2 colonnes)
• Un plot avec axes de -2 à 2
• Une figure de taille 2x2 pouces
Partie Sklearn
[Link] normaliser les données avant un KNN, on utilise :
• KNeighborsClassifier(normalize=True)
• StandardScaler() + fit_transform()
• train_test_split(scale=True)
• [Link](X_train)
[Link] méthode predict_proba() retourne :
• La précision du modèle
• Les probabilités d'appartenance aux classes
• Les vrais/faux positifs
• L'accuracy sur les données de test
Questions Mixtes
[Link] y_true = [0,1,1,0] et y_pred = [0,1,0,0], l'accuracy est :
• 25%
• 50%
• 75%
• 100%
[Link] convertir une liste [1,2,3] en array numpy colonne :
• [Link]([1,2,3])
• [Link]([[1],[2],[3]])
• [Link]([1,2,3])
• [Link]([1,2,3], (3,1))
[Link] code trie un array numpy par ordre croissant ?
• [Link](reverse=True)
• [Link](arr) ou [Link]()
• sorted(arr)
• [Link]()
Corrigé Détaillé
1A, 2B, 3B, 4B, 5B, 6B, 7B, 8B, 9B, 10B, 11B, 12B, 13C, 14B, 15B
Conseils pour la note parfaite :
• Chronométrez-vous (20 min pour 15 questions)
• Relisez les questions techniques 2 fois
• Vérifiez les dimensions des arrays (questions 4,5,6,14)
• Entraînez-vous à recoder les fonctions des TP (generate_dict, accuracy_score, etc.)
Voici un QCM complet et varié pour vous entraîner intensivement, couvrant tous les aspects des TP
avec des questions progressives :
QCM Avancé - Préparation Intensive (30 questions)
Partie Python Pur
1. Quelle sera la sortie de generate_list(max=3, count=5) ?
• ◦ Une liste de 5 nombres entre 0 et 3 (inclus)
• ◦ Une liste de 3 nombres entre 0 et 5
• ◦ Une liste de 5 nombres entre 0 et 3 (exclus)
• ◦ Un set de 5 nombres aléatoires
2. Si lst = [1,2,2,3,4,4,4], que retourne get_duplicates(lst) ?
• ◦ {1,3}
• ◦ {2,4}
• ◦ [2,4]
• ◦ {2,2,4,4,4}
3. Pour la liste [3,5,7], quel sera le dictionnaire généré par generate_dict() ?
• ◦ {'number':3, 'string':'3', 'even':True}
• ◦ {'number':3, 'string':'3', 'even':False,
'duplicated':False}
• ◦ {'val':3, 'text':'3', 'pair':False}
• ◦ {3:'3', 5:'5', 7:'7'}
Partie Numpy
1. Si arr = [Link]([[1,2],[3,4]]), que vaut [Link] ?
• ◦ (4,)
• ◦ (2,2)
• ◦2
• ◦ (2,)
2. Que produit [Link]([Link]([10,20]), (3,1)) ?
• ◦ [10,20,10,20,10,20]
• ◦ [[10,20],[10,20],[10,20]]
• ◦ [30,60]
• ◦ Erreur
3. Si arr1 = [1,2,3] et arr2 = [4,5,6], que donne [Link](arr1,
arr2) ?
• ◦ [4,10,18]
• ◦ 32 (produit scalaire)
• ◦ [5,7,9]
• ◦ Erreur de dimension
Partie Pandas
1. Que fait [Link][:,1:3] ?
• ◦ Sélectionne les 3 premières lignes
• ◦ Sélectionne les colonnes 1 et 2 (index 1 à 2 exclu)
• ◦ Supprime les colonnes 1 à 3
• ◦ Affiche les statistiques descriptives
2. Pour importer [Link], on utilise :
• ◦ pd.read_excel("[Link]")
• ◦ pd.read_csv("[Link]")
• ◦ [Link]("[Link]")
• ◦ [Link]("[Link]")
Partie Matplotlib
1. Pour créer un scatter plot avec des marqueurs 'x' rouges :
• ◦ [Link](x,y, marker='x', c='red')
• ◦ [Link](x,y, marker='x', color='red')
• ◦ [Link](x,y, 'rx')
• ◦ [Link](x,y, color='r', style='x')
2. Que fait [Link](2,2) ?
• ◦ Un graphique 2x2 pixels
• ◦ Une grille de 4 subplots (2 lignes x 2 colonnes)
• ◦ Un plot avec axes de -2 à 2
• ◦ Une figure de taille 2x2 pouces
Partie Sklearn
1. Pour normaliser les données avant un KNN, on utilise :
• ◦ KNeighborsClassifier(normalize=True)
• ◦ StandardScaler() + fit_transform()
• ◦ train_test_split(scale=True)
• ◦ [Link](X_train)
2. La méthode predict_proba() retourne :
• ◦ La précision du modèle
• ◦ Les probabilités d'appartenance aux classes
• ◦ Les vrais/faux positifs
• ◦ L'accuracy sur les données de test
Questions Mixtes
1. Si y_true = [0,1,1,0] et y_pred = [0,1,0,0], l'accuracy est :
• ◦ 25%
• ◦ 50%
• ◦ 75%
• ◦ 100%
2. Pour convertir une liste [1,2,3] en array numpy colonne :
• ◦ [Link]([1,2,3])
• ◦ [Link]([[1],[2],[3]])
• ◦ [Link]([1,2,3])
• ◦ [Link]([1,2,3], (3,1))
3. Quel code trie un array numpy par ordre croissant ?
• ◦ [Link](reverse=True)
• ◦ [Link](arr) ou [Link]()
• ◦ sorted(arr)
• ◦ [Link]()
4.