Test d'analyse des données de certification d'ingénieur Python3

Aperçu

Il s'agit d'un ensemble de questions que j'ai posées moi-même dans le cadre du test d'analyse des données de certification d'ingénieur Python3 que j'ai passé en novembre 2020. J'espère que cela aidera ceux qui vont passer l'examen.

Le rapport d'expérience est résumé dans cet article ↓ https://qiita.com/pon_maeda/items/a6c008fb3d993278fccb

point important

――Cette collection de questions est créée sous la forme de questions telles que répondre à chaque question et remplir les espaces vides afin que vous puissiez facilement le résoudre dans l'intervalle de temps.

Des livres d'exercices

1. Rôle de l'ingénieur en analyse de données

L'apprentissage automatique est à peu près divisé en trois. Il existe trois types: () apprentissage, () apprentissage et () apprentissage.

Réponse
--Apprentissage avec un enseignant --Apprendre sans professeur - Renforcer l'apprentissage

La variable (), également appelée étiquette correcte, n'est utilisée que pour l'apprentissage ().

Réponse
--Variable objective --Apprentissage avec un enseignant

La méthode utilisée lorsque cette étiquette correcte est une valeur continue est (), et la méthode utilisée lorsqu'il s'agit d'une autre valeur est ().

Réponse
Valeur continue: régression Autres valeurs: Classification

Quelles sont les deux principales méthodes d'apprentissage non supervisé?

Réponse
- Clustering - Réduction de la dimension

2. Python et environnement

venv est un outil qui vous permet d'utiliser différentes versions de Python. (Oui Non)

Réponse
No Puisque venv est intégré sous Python, le contrôle de version de Python lui-même n'est pas possible.

Une fonction qui vous permet de spécifier le nom du fichier avec des caractères génériques en Python.

Réponse
fonction glob

3. Bases des mathématiques

Lecture japonaise du péché, du cos et du bronzage.

Réponse
péché: sinus con: Cosinus tan: connexion directe

Combien de napiers y a-t-il?

Réponse
2.7182…

Quel est le logarithme de 1?

Réponse
0

Le premier étage est.

Réponse
1

Supposons que si vous lancez un dé hexaédrique une fois, on vous dit que vous avez un nombre impair, bien que le nombre de lancers soit inconnu. La probabilité dans ce cas est appelée probabilité (), qui est la base du théorème ().

Réponse
--Probabilite conditionnelle - Théorème de Bayes

4. Pratique de l'analyse par bibliothèque

4.1. NumPy

4.1.1. Présentation de NumPy

NumPy a un type pour les tableaux () et un type pour les matrices ().

Réponse
Pour les tableaux: ndarray Pour matrice: matrice * Dans le test d'analyse des données, ndarray joue un rôle de premier plan

L'une des fonctionnalités de ↑ est que vous pouvez utiliser plusieurs types ou créer un type.

Réponse
Doit être un type. C'est la différence avec DataFrame.

4.1.2. Gestion des données avec NumPy

Fonction pour vérifier la taille dans un tableau

Réponse
fonction de forme

La fonction ravel renvoie (), tandis que la fonction aplatir renvoie ().

Réponse
fonction ravel: renvoie une référence (ou une copie superficielle) fonction d'aplatissement: renvoie une copie (profonde)

Fonction pour vérifier le type de tableau

Réponse
fonction dtype

Fonction pour convertir le type d'un tableau

Réponse
fonction astype

Une fonction qui génère un nombre aléatoire uniforme d'entiers

Réponse
Fonction np.random.randint * Généré dans la plage de {{premier argument}} ou plus et moins de {{second argument}} * Si vous passez un taple comme troisième argument, il sera généré avec cette taille de matrice.

Une fonction qui génère un nombre aléatoire uniforme de fractions

Réponse
Fonction np.random.uniform * Les arguments sont les mêmes que la fonction np.random.randint

Une fonction qui crée un nombre aléatoire à partir d'une distribution normale standard d'entiers

Réponse
Fonction np.random.randn

La distribution normale standard est-elle la distribution de la moyenne () et de la variance ()?

Réponse
Distribution de la moyenne 0, variance 1

Quelle est la fonction pour générer un nombre aléatoire de distribution normale en spécifiant la moyenne et l'écart type?

Réponse
Fonction np.random.normal

Une fonction qui crée une matrice unitaire avec les éléments diagonaux spécifiés

Réponse
Fonction np.eye Avec np.eye (3), vous pouvez faire quelque chose comme ça array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])

Une fonction qui crée un tableau de valeurs spécifiées pour tous les éléments

Réponse
Fonction np.full Exemple: np.full ((2, 4), np.pi)

Une fonction qui crée un tableau uniformément divisé dans une plage spécifiée

Réponse
Fonction np.linspace Exemple: np.linespace (0, 1, 5) // → array ([0., 0.25, 0.5, 0.75, 1.0])

Une fonction qui vous permet de voir les différences entre les éléments d'un tableau

Réponse
Fonction np.diff
a = [1, 2, 3]
b = [4, 5, 6]
np.concatnate([a, b])

Alors, laquelle des propositions suivantes est possible?

  1. [1, 2, 3, 4, 5, 6]
  2. [[1, 2, 3],[4, 5, 6]]
  3. [1, 2, 3, [4, 5, 6]]
Réponse
1. `[1, 2, 3, 4, 5, 6]`

La fonction np.concatnate est une concaténation directionnelle (ligne ou colonne) dans le cas d'une concaténation entre des tableaux unidimensionnels.

Réponse
Connecté dans le sens de la colonne. (Même comportement que la fonction hstack)

La fonction np.concatnate est concaténée dans la direction (ligne ou colonne) par défaut lors de la concaténation de tableaux à deux dimensions.

Réponse
Concaténé dans le sens de la ligne. (Même comportement que la fonction vstack)

Si l'argument axis = 1 est spécifié pour cette fonction, il sera concaténé dans la direction ().

Réponse
Connecté dans le sens de la colonne. (Même comportement que la fonction hstack)

Une fonction qui divise un tableau à deux dimensions dans la direction de la colonne.

Réponse
Fonction np.hsplit Exemple) first, second = np.hsplit (hoge_array, [2]) # → Split dans la troisième colonne

Une fonction qui divise un tableau à deux dimensions dans le sens des lignes

Réponse
Fonction np.vsplit Exemple) first, second = np.vsplit (hoge_array, [2]) # → Split à la 3e ligne

Que signifie la transposition d'un tableau bidimensionnel?

Réponse
Permuter les lignes et les colonnes

S'il existe un tableau à deux dimensions appelé a, comment le transposez-vous?

Réponse
a.T

Quelle est la fonction qui augmente la dimension d'un tableau unidimensionnel sans spécifier le nombre d'éléments?

Réponse
Fonction np.newaxis * Si vous pouvez spécifier le nombre d'éléments, vous pouvez également utiliser la fonction de remodelage.
a = np.array([1, 5, 4])
# array([[1, 5, 4]])

Comment puis-je utiliser la fonction ci-dessus pour augmenter la dimension comme décrit ci-dessus?

Réponse
a[np.newaxis, :]
a = np.array([1, 5, 4])
# array([[1],
         [5],
         [4]])

Comment puis-je utiliser la fonction ci-dessus pour augmenter la dimension comme décrit ci-dessus?

Réponse
a[:, np.newaxis]

Quelle est la fonction qui génère les données de la grille?

Réponse
Fonction np.meshgrid
np.arange(1, 10, 3)

Qu'arrivera-t-il à ce résultat?

Réponse
array([1, 4, 7]) 1 ou plus et moins de 10 (c'est-à-dire jusqu'à 9) sont divisés en 3 parties égales.

4.1.3. Chaque fonction de NumPy Quel est le groupe de fonctions pratique de NumPy qui convertit des éléments de tableau tels que sin () et log () à la fois?

Réponse
Fonction universelle

Une fonction qui renvoie la valeur absolue d'un élément de tableau

Réponse
Fonction np.abs
a = np.array([0, 1, 2])
b = np.array([[-3, -2, -1],
              [0, 1, 2]])
a + b

Comme mentionné ci-dessus, quelle est la somme du tableau bidimensionnel et du tableau unidimensionnel?

Réponse
array([[-3, -1, 1], [0, 2, 4]]) Il est ajouté à b comme si a devenait deux lignes.

Que signifie être capable de calculer des scalaires sur un tableau?

Réponse
diffuser

Que signifie l'opérateur @?

Réponse
Opérateur neutre pour la multiplication matricielle
A_matrix @ B_matrix

D'une autre façon.

Réponse
np.dot(A_matrix, B_matrix) Ou A_matrix.dot (B_matrix)

Une fonction qui calcule le nombre de True dans un tableau vrai / faux.

Réponse
Fonction np.count_nonzero Ou la fonction np.sum

Méthode --np.count_nonzero --Une fonction qui génère le nombre d'éléments non nuls.

  • Puisque False est traité comme 0 en Python, il compte le nombre de True. Fonction --np.sum --Une fonction qui ajoute des éléments
  • En Python, True est traité comme 1, donc le nombre de True est calculé en conséquence.

Une fonction qui trouve si True est inclus dans un tableau vrai / faux.

Réponse
np.any fonction

Une fonction qui trouve si tous les éléments sont True dans un tableau vrai / faux.

Réponse
Fonction np.all

4.2. pandas

4.2.1. Aperçu des pandas

Avec df.head () et df.tail (), affichez uniquement la ligne () au début et à la fin du DataFrame.

Réponse
5 lignes

Fonction pour connaître la taille de df

Réponse
df.shape

Comment obtenir deux informations de df, colonne A et colonne B

Réponse
`df[“A“, “B“]` Ou `df.loc [:, [“ A ”,“ B ”]]` etc.

4.2.2. Lecture / écriture de données

4.2.3. Mise en forme des données

Comment extraire uniquement les enregistrements de 10000 pas ou plus, en supposant qu'il existe un df qui est une base de données de pas et de calories consommées

Réponse
`df [df [“ nombre de pas ”]> = 10000]`

Ou df [df.loc [:,“ étapes ”]> = 10000] df.query ('étapes> = 10000') etc.

Comment trier par ordre décroissant des étapes, en supposant qu'il y ait df qui est un DataFrame d'étapes et de calories ingérées

Réponse
df.sort_values (par = "pas", croissant = False)

L'encodage à chaud est effectué en ajoutant «exercice» au préfixe de la colonne d'index d'exercice contenant les trois valeurs High, Mid et Low.

Réponse
df.get_dummies (df.loc [:, "index d'exercice"], prefix = "exercice")

4.2.4. Données de séries chronologiques

Comment créer un tableau de dates du 2020-01-01 au 2020-10-01.

Réponse
pd.date_range(start=”2020-01-01”, end=”2020-10-01”)

Créez un tableau de dates pour 100 jours à partir du 01/01/2020.

Réponse
pd.date_range(start=”2020-01-01”, period=100)

Créez un tableau uniquement pour le samedi parmi les dates du 2020-01-01 au 2020-10-01.

Réponse
pd.date_range(start=”2020-01-01”, end=”2020-10-01”, freq=”W-SAT”)

Regroupez les données chronologiques df en données mensuelles et utilisez la valeur moyenne.

Réponse
`df.groupby(pd.Grouper(freq='M')).mean()`

Ou df.resample ('M'), mean () etc.

4.2.5. Traitement des valeurs manquantes

Argument utilisé lorsque vous souhaitez remplir Nan avec la valeur précédente dans la fonction fillna.

Réponse
`df.fillna(method='ffill')`

S'il s'agit d'un DataFrame, remplissez-le avec la valeur une ligne au-dessus. Si c'est bfill, il sera rempli avec la valeur une ligne ci-dessous.

Que faire si vous voulez donner une valeur médiane aux arguments de la fonction fillna?

Réponse
`df.fillna(df.median())` * Notez qu'il ne s'agit pas de `method = 'median'`

4.2.6. Consolidation des données

Créez df_merge en concaténant df_1 et df_2 dans le sens de la colonne.

Réponse
df_merge = pd.concat([df_1, df_2], axis=1)

4.2.7. Traitement des données statistiques

Fonction pour vérifier la valeur la plus fréquente

Réponse
fonction de mode

Fonction qui donne la valeur médiane

Réponse
fonction médiane

Une fonction qui produit l'écart type (écart type de l'échantillon)

Réponse
fonction std

Fonctions et arguments donnant l'écart type (population)

Réponse
Passez l'argument ddof = 0 à la fonction std

4.3. Matplotlib

Où est placé le graphique circulaire?

Réponse
Placé d'en haut

Le graphique circulaire est organisé autour (dans le sens horaire ou antihoraire).

Réponse
sens horaire

Pour implémenter dans le sens des aiguilles d'une montre dans un graphique circulaire, passez l'argument () à la méthode ().

Réponse
Dans la `méthode pie`, passez` counterclock = False`. D'une manière ou d'une autre, je l'écris sur le site Web du monde à l'envers. Pourquoi. Lol La valeur par défaut est counterclock = True

Pour spécifier où commencer à dessiner le graphique dans un graphique circulaire, transmettez l'argument () à la méthode ().

Réponse
`startangle = {{angle dont vous voulez démarrer la sortie}}` La valeur par défaut est Aucun, qui est dessinée à partir de la position 3 heures. Ce sera à partir de 12h00 avec une désignation à 90 degrés.

4.4. scikit-learn

4.4.1. Prétraitement

Valeur manquante

Quelle classe est utilisée pour compléter les données s'il y a des valeurs manquantes?

Réponse
Classe imputer

À propos de la valeur transmise à l'argument de stratégie dans la classe ci-dessus.

mean = ①、median = ②、most_frequent = ③

Réponse
1. Moyenne 2. Médiane 3. Valeur la plus fréquente
Codage des variables de catégorie

Quelle est la classe qui code les variables catégorielles?

Réponse
Classe LabelEncoder

Quel est l'attribut qui confirme la valeur d'origine après l'encodage?

Réponse
Attribut .classes_

Quelle est la principale méthode de traitement avec le codage des variables catégorielles?

Réponse
«Encodage à chaud» Si vous avez 4 groupes sanguins, ajoutez 4 colonnes et utilisez-les comme indicateur.

Une autre façon d'appeler cet encodage.

Réponse
Variable muette

Comment appelez-vous une matrice avec de nombreux composants 0 et une matrice avec de nombreux composants non nuls?

Réponse
Matrices clairsemées et denses
Normalisation des fonctionnalités

La normalisation distribuée est le processus de conversion des quantités d'entités de sorte que la quantité d'entités moyenne soit () et l'écart type est ().

Réponse
La quantité de caractéristiques a une «moyenne de 0» et un écart type de 1 ».

Quelle est la classe qui effectue la normalisation distribuée?

Réponse
Classe StanderdScaler

La normalisation minimale / maximale est le processus de conversion de la quantité d'entités de sorte que la valeur minimale de la quantité d'entités soit () et la valeur maximale ().

Réponse
La «valeur minimale de la quantité de caractéristiques est 0» et la «valeur maximale est 1».

Quelle est la classe qui effectue la normalisation minimale / maximale?

Réponse
Classe MinMaxScaler

4.4.2. Classification

La classification est une tâche typique de l'apprentissage des enseignants ().

Réponse
Apprendre avec un enseignant La classification utilise des données connues en tant qu'enseignant et apprend un modèle qui distribue chaque donnée aux classes.

Ce qui précède utilise l'étiquette correcte, qui est appelée la variable ().

Réponse
Variable objective

Trois algorithmes de classification typiques

Réponse
- Machine de vecteur de soutien --Arbre de décision (Ketegi) --Forêt aléatoire
Flux de construction du modèle de classification

Pour créer le modèle de classification, () les données disponibles.

Réponse
Divisez en un ensemble de données d'entraînement et un ensemble de données de test.

«Apprendre» dans la classification fait référence à la construction d'un modèle de classification à l'aide d'ensembles de données ().

Réponse
Ensemble de données de formation

Quelle est la capacité de répondre à des données inconnues calculées à partir de prédictions pour l'ensemble de données de test du modèle construit?

Réponse
Capacité de généralisation

Quelle est la fonction qui sépare chaque ensemble de données?

Réponse
model_selection.train_test_split, fonction
scikit-learn utilise la fonction () pour l'apprentissage et la fonction () pour la prédiction.
Réponse
Apprentissage: fonction d'ajustement Prédiction: fonction de prédiction
Machine de vecteur de soutien

Support Vector Machine est un algorithme qui peut être utilisé non seulement pour la classification et la régression, mais aussi pour ().

Réponse
Détection des valeurs aberrantes

Lorsqu'on considère des données bidimensionnelles appartenant à deux classes, quelles sont les données les plus proches de la limite parmi les données de chaque classe?

Réponse
Vecteur de soutien

Lorsque vous considérez des données bidimensionnelles appartenant à deux classes, tracez une ligne droite entre () de sorte que la distance entre les vecteurs de support soit la plus grande ().

Réponse
--Grand (loin) - Limite de décision

La distance entre cette droite et le vecteur de support est appelée ().

Réponse
marge
Forêt aléatoire

Quelles sont les données d'échantillons sélectionnés au hasard et de caractéristiques (variables explicatives) utilisées dans la forêt aléatoire?

Réponse
Données bootstrap

La forêt aléatoire est un ensemble d'arbres de décision, et qu'est-ce que l'apprentissage en utilisant plusieurs machines d'apprentissage de cette manière?

Réponse
Apprentissage d'ensemble

4.4.3. Retour

La régression consiste à expliquer les variables () avec des variables () représentées par des entités.

Réponse
--Variable objective --Variable explicative

Dans la régression linéaire, lorsque la variable explicative est une variable, elle est appelée (), et lorsqu'elle est composée de deux variables ou plus, elle est appelée ().

Réponse
--Régression simple --Régression multiple

4.4.4. Réduction dimensionnelle

La tâche de () données sans endommager les informations que les données ont.

Réponse
compression
Analyse des composants principaux

Dans scikit-learn, quelle classe de quel module est utilisée pour l'analyse des composants principaux.

Réponse
decomposition.PCS classe

4.4.5. Évaluation du modèle

Précision de la classification des catégories

Quatre indicateurs qui quantifient la quantité de catégories de données attribuées.

() Taux, () Taux, () Taux, () Valeur

Réponse
--Taux de conformité - Rappel --F valeur - Taux de réponse correct

De plus, ces indicateurs sont calculés à partir de la matrice ().

Réponse
Matrice confuse

Il y a un compromis entre le taux () et le taux ().

Réponse
--Taux de conformité - Rappel
Précision de la probabilité de prédiction

La courbe () et () calculées à partir de celle-ci sont utilisées comme indicateurs pour quantifier la précision de la probabilité de prédiction pour les données.

Réponse
--Courbe ROC - AUC

4.4.6. Optimisation des hyper paramètres

Les hyperparamètres ont des valeurs (déterminées ou indéterminées) pendant l'entraînement.

Réponse
Pas décidé. Outre l'apprentissage, l'utilisateur doit spécifier la valeur.

Deux méthodes typiques d'optimisation des hyperparamètres.

Réponse
- Recherche Grille - Recherche aléatoire

enfin

C'est un mauvais problème, mais j'espère que cela aide quelqu'un. Si vous faites des erreurs, je vous serais reconnaissant de bien vouloir les commenter. Merci jusqu'à la fin.

Recommended Posts

Test d'analyse des données de certification d'ingénieur Python3
Formation préalable à l'examen d'analyse des données de certification d'ingénieur Python 3
Avoir réussi l'examen d'analyse des données de certification d'ingénieur Python
Préparation à l'examen d'analyse de données certifié Python 3 Engineer
[Test d'analyse des données de certification d'ingénieur Python3] Examen / expérience de réussite
Analyse de données python
Passez l'examen de base de la certification d'ingénieur Python3
(Peut-être) Test d'analyse des données de certification d'ingénieur Python 3 que vous pouvez passer par lui-même
Analyse de données avec python 2
Présentation de l'analyse de données python
Enregistrement de l'examen de base de la certification d'ingénieur Python3 pour débutant en programmation
Modèle d'analyse de données Python
Analyse de données avec Python
[Pour les débutants] Comment étudier le test d'analyse de données Python3
L'examen de base de la certification d'ingénieur Python 3 est-il vraiment facile?
Impressions de passer l'examen de base de la certification d'ingénieur Python 3
Mon conteneur d'analyse de données python
Python pour l'analyse des données Chapitre 4
[Python] Notes sur l'analyse des données
Notes d'apprentissage sur l'analyse des données Python
Python pour l'analyse des données Chapitre 2
Analyse de données à l'aide de pandas python
Python pour l'analyse des données Chapitre 3
Comment étudier le test d'analyse des données de certification d'ingénieur Python 3 par un débutant Python (passé en septembre 2020)
Modèle de prétraitement pour l'analyse des données (Python)
Analyse de données à partir de python (visualisation de données 1)
Analyse de régression logistique Self-made avec python
Analyse de données à partir de python (visualisation de données 2)
J'ai étudié 4 bibliothèques de test d'analyse de données de certification d'ingénieur Python 3
Comment réussir et étudier l'examen de base de la certification d'ingénieur Python 3
J'ai réussi l'examen de certification d'ingénieur python, j'ai donc publié la méthode d'étude
Examen de base de la certification d'ingénieur Python3 - J'ai essayé de résoudre l'examen simulé
Un mémorandum concernant l'acquisition de l'examen de base de certification d'ingénieur Python3
Outil de visualisation Python pour le travail d'analyse de données
[Python] Première analyse de données / apprentissage automatique (Kaggle)
Analyse de données à partir de python (pré-traitement des données-apprentissage automatique)
J'ai suivi une formation à l'analyse de données Python à distance
Comment étudier l'examen de base de la certification d'ingénieur Python 3 par un débutant Python (passé en août 2020)
Une histoire sur un amateur de programmation d'arts libéraux qui obtient un examen de base de certification d'ingénieur Python3
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: chargement des données
Examen de base de la certification Python3 Engineer - Notes et tendances des problèmes
[Python] Analyse de données, pratique du machine learning (Kaggle) -Prétraitement des données-
Analyse de données en Python: une note sur line_profiler
[Python] Flux du scraping Web à l'analyse des données
Environnement enregistré pour l'analyse des données avec Python
Analyse des données Titanic 1
Comment un "banquier amateur" a réussi l'examen de base de la certification d'ingénieur Python 3 en une semaine
Analyse des données Titanic 3
[python] Lecture de données
[Python] [Word] [python-docx] Analyse simple des données de diff en utilisant python
Note de lecture: Introduction à l'analyse de données avec Python
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Défiez l'analyse des composants principaux des données textuelles avec Python
Liste du code Python utilisé dans l'analyse de Big Data
[CovsirPhy] Package Python COVID-19 pour l'analyse de données: modèle SIR-F
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: analyse des tendances S-R
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: modèle SIR
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: estimation des paramètres