** 67,5% ** seront attribués à partir des questions d'examen dans les quatre bibliothèques NumPy, pandas, Matplotlib et scitit-learn. Je pense que si vous supprimez cela, vous passerez presque certainement, alors j'ai étudié brièvement. J'espère qu'il sera utile à ceux qui le recevront à l'avenir. (Je n'ai pas encore passé l'examen)
NumPy
Numpy occupe ** 15% ** des questions d'examen, et l'opération de base n'est pas difficile, donc si vous l'écrivez plusieurs fois avec le cahier Jupyter, vous vous en souviendrez naturellement.
a1 = np.array([0, 1, 2, 3, 4, 5])
#Convertir en tableau 2x3
a2 = a1.reshape((2, 3))
a2
array([[0, 1, 2],
[3, 4, 5]])
#ValueError si le nombre d'éléments ne correspond pas
a3 = a1.reshape((3, 4))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-23-304b0b5b4ab2> in <module>
----> 1 a3 = a1.reshape((3, 4))
ValueError: cannot reshape array of size 6 into shape (3,4)
rabel, flatten Rabel et flatten recréent la séquence, mais rabel renvoie une ** référence **, tandis que flatten renvoie une ** copie ** S'il s'agit d'une référence, elle s'appelle Shallow Copy, sinon elle s'appelle Deep Copy.
#Connectez les baies
a4 = a2.ravel()
a4
array([0, 1, 2, 3, 4, 5])
a5 = a2.flatten()
a5
array([0, 1, 2, 3, 4, 5])
a4[1] = 10
a4
array([ 0, 10, 2, 3, 4, 5])
a5[2] = 20
a5
array([ 0, 1, 20, 3, 4, 5])
# a4(ravel)La pièce modifiée est également affectée par a2, mais a5 (aplatir)La pièce modifiée en n'affecte pas a2
a2
array([[ 0, 10, 2],
[ 3, 4, 5]])
linspace Créez des données uniformément divisées en spécifiant une plage
np.linspace(0, 1, 5)
array([0. , 0.25, 0.5 , 0.75, 1. ])
#Cet alignement est utilisé lors du dessin d'un graphique de la fonction sin
np.linspace(0, np.pi, 21)
array([0. , 0.15707963, 0.31415927, 0.4712389 , 0.62831853,
0.78539816, 0.9424778 , 1.09955743, 1.25663706, 1.41371669,
1.57079633, 1.72787596, 1.88495559, 2.04203522, 2.19911486,
2.35619449, 2.51327412, 2.67035376, 2.82743339, 2.98451302,
3.14159265])
np.diff Renvoie la différence entre les éléments
d = np.array([10, 5, 3, 3, 10])
np.diff(d)
#Il y a une différence avant et après
array([-5, -2, 0, 7])
concatenate Relier
#Créer deux tableaux
b1 = [1, 3, 5]
b2 = [2, 4, 6]
b3 = np.concatenate([b1, b2])
b3
#Deux séquences sont concaténées
array([1, 3, 5, 2, 4, 6])
#Créer un tableau à deux dimensions
b3 = b3.reshape((2, 3))
b3
array([[1, 3, 5],
[2, 4, 6]])
#Créer un autre tableau à deux dimensions
b4 = np.array([[10], [20]])
b4
array([[10],
[20]])
#Concaténation de tableaux à deux dimensions
b5 = np.concatenate([b3, b4], axis=1)
b5
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
#Même comportement avec hstack
np.hstack([b3, b4])
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
#Créer un nouveau tableau unidimensionnel
b6 = np.array([100, 200, 300, 400])
b6
array([100, 200, 300, 400])
#Concaténation pour augmenter les lignes avec vstack
b7 = np.vstack([b5, b6])
b7
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20],
[100, 200, 300, 400]])
hsplit, vsplit Fractionnement d'un tableau à deux dimensions
#Divisez le tableau b7 utilisé dans la concaténation en deux. Le deuxième argument indique le nombre de colonnes à utiliser.
a1, a2 = nphsplit(b7, [2])
a1
array([[ 1, 3],
[ 2, 4],
[100, 200]])
#Les colonnes restantes du deuxième argument sont a2. Deux rangées ici.
a2
array([[ 5, 10],
[ 6, 20],
[300, 400]])
#vsplit se divise dans le sens de la ligne
a1, a2 = np.vsplit(b7, [2])
a1
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
a2
array([[100, 200, 300, 400]])
T L'échange de lignes et de colonnes s'appelle ** translocation **
#Utilisez a1 utilisé dans la division.(2×4)queue
a1
array([[ 1, 3, 5, 10],
[ 2, 4, 6, 20]])
#Inverser une matrice 4x2
a1.T
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[10, 20]])
meshgrid Génération de données de grille Utilisé pour dessiner des courbes de niveau et des cartes thermiques. À partir des tableaux de coordonnées x et y, les données de coordonnées de tous les points pouvant être combinés sont générées.
e = np.arange(0, 4)
e
array([0, 1, 2, 3])
f = np.arange(4, 7)
f
array([4, 5, 6])
#Générez des données de grille (sur la grille) avec e et f dans les directions de ligne et de colonne.
ee, ff = np.meshgrid(e, f)
ee
array([[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]])
ff
array([[4, 4, 4, 4],
[5, 5, 5, 5],
[6, 6, 6, 6]])
La valeur absolue peut être calculée
#Créer un tableau avec des valeurs négatives
a = np.arange(-3, 3).reshape((2, 3))
a
array([[-3, -2, -1],
[ 0, 1, 2]])
#Trouvez la valeur absolue
np.abs(a)
array([[3, 2, 1],
[0, 1, 2]])
Puisque le sin et le cos sont différentiels et sont utilisés comme une évidence dans l'analyse des poursuites, ils ne peuvent commencer que si la différence est connue. Il est très important de comprendre quand et ce qui est utile.
b = np.linspace(-1, 1, 10)
b
array([-1. , -0.77777778, -0.55555556, -0.33333333, -0.11111111,
0.11111111, 0.33333333, 0.55555556, 0.77777778, 1. ])
#fonction sin
np.sin(b)
array([-0.84147098, -0.70169788, -0.52741539, -0.3271947 , -0.11088263,
0.11088263, 0.3271947 , 0.52741539, 0.70169788, 0.84147098])
#fonction cos
np.cos(b)
array([0.54030231, 0.71247462, 0.84960756, 0.94495695, 0.99383351,
0.99383351, 0.94495695, 0.84960756, 0.71247462, 0.54030231])
c = np.array([0, 1, 2])
c
array([0, 1, 2])
#fonction log Calcule un journal naturel avec la base du nombre de Naipia.-inf signifie moins l'infini.
np.log(c)
array([ -inf, 0. , 0.69314718])
pandas
Ce n'est pas difficile à utiliser et vous pouvez le comprendre à peu près en regardant les matériaux de référence. Il représente ** 17,5% ** des questions d'examen. Le traitement des données est un peu difficile à retenir, mais ce n'est pas difficile.
import pandas as pd
d = pd.DataFrame([[100, "first", True],
[200, "second", False],
[300, "third", True],
[400, "fourth", True],
[500, "fifth", False]])
d
Peut lire et écrire des fichiers ** CSV ** et ** Excel **.
#Ecrire CSV
d.to_csv("write_csv.csv")
Matplotlib
Une bibliothèque pour dessiner des graphiques 2D en python. Il représente ** 15% ** des questions d'examen.
Vous pouvez dessiner en détail des graphiques tels que des graphiques linéaires, des graphiques à barres et des diagrammes de dispersion. Le niveau de difficulté n'est pas du tout élevé.
import matplotlib.pyplot as plt
import matplotlib.style
import numpy as np
matplotlib.style.use('ggplot')
x = [10, 30, 60]
y = [20, 50, 150]
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('test2-style')
fig, ax = plt.subplots()
x = [1, 2, 3, 4]
y = [8, 1, 5, 10]
labels = ['first', 'secound', 'third', 'fourth']
ax.bar(x, y, tick_label=labels)
fig, ax = plt.subplots()
np.random.seed(500)
x = np.random.rand(80)
y = np.random.rand(80)
ax.scatter(x, y)
scikit-learn
** scikit-learn ** est au cœur de cet examen d'analyse de données certifié ingénieur. ** 20% ** des questions d'examen viennent d'ici. Et scikit-learn est une bibliothèque qui effectue le ** processus de prétraitement **, qui est la partie la plus importante de l'analyse des données.
** Classification **, ** Retour **, ** Apprentissage supervisé **, ** Machine vectorielle de support **, ** Arbre de décision **, ** Clustering **, etc. sont des mots familiers pour l'apprentissage automatique. , Le chapitre de scikit-learn dans le matériel de référence semble être un peu plus mémorable pour ceux qui n'ont jamais touché à l'apprentissage automatique. En tant que méthode d'apprentissage, il existe de nombreux articles qui sont plus faciles à comprendre si vous ne comprenez pas après avoir lu les documents de référence une fois, il est donc recommandé de rechercher sur Google cette partie plutôt que de lire le livre plusieurs fois. Il est également recommandé de rechercher du matériel vidéo sur Udemy, etc.
Il n'est pas exagéré de dire que le test d'analyse des données de certification d'ingénieur est un test d'utilisation de la bibliothèque. Il est difficile de se souvenir simplement en lisant un livre, et vous devez le déplacer d'une manière ou d'une autre, mais je ne pense pas que ce soit un test difficile pour quiconque a un peu de machine learning. Si vous n'avez jamais étudié l'apprentissage automatique, la lecture d'un livre rendra le chapitre scikit-learn difficile.
Recommended Posts