Menu iconMenu icon
Héroe del Aprendizaje Automático

Capítulo 2: Python y bibliotecas esenciales para la ciencia de datos

Ejercicios Prácticos: Capítulo 2

Ejercicio 1: Trabajando con Arrays de NumPy

Tarea: Crea un array de NumPy con los valores [10, 20, 30, 40, 50]. Redimensiona el array en un array de 2x3 y calcula la suma de todos los elementos.

Solución:

import numpy as np

# Create a NumPy array
array = np.array([10, 20, 30, 40, 50, 60])

# Reshape the array into 2x3
reshaped_array = array.reshape(2, 3)

# Calculate the sum of all elements
total_sum = np.sum(reshaped_array)

print("Reshaped Array:\\n", reshaped_array)
print("Total Sum:", total_sum)

Ejercicio 2: Manipulación Básica de Datos con Pandas

Tarea: Crea un DataFrame de Pandas con los siguientes datos:

Luego:

  • Selecciona las columnas Nombre y Salario.
  • Filtra las filas donde la Edad sea mayor que 30.

Solución:

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'Salary': [50000, 60000, 70000, 80000]
}
df = pd.DataFrame(data)

# Select Name and Salary columns
selected_columns = df[['Name', 'Salary']]
print("Selected Columns:\\n", selected_columns)

# Filter rows where Age is greater than 30
filtered_df = df[df['Age'] > 30]
print("\\nFiltered DataFrame (Age > 30):\\n", filtered_df)

Ejercicio 3: Visualización de Datos con Matplotlib

Tarea: Traza un gráfico de líneas con los valores de x [1, 2, 3, 4, 5] y los valores de y [10, 20, 25, 40, 50]. Agrega etiquetas al eje x, al eje y y un título al gráfico.

Solución:

import matplotlib.pyplot as plt

# Data
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 40, 50]

# Create a line plot
plt.plot(x, y, marker='o', color='b')

# Add labels and title
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Line Graph Example")

# Show the plot
plt.show()

Ejercicio 4: Visualización de Datos con Seaborn

Tarea: Carga el conjunto de datos Iris utilizando Seaborn y crea un gráfico de pares que muestre las relaciones entre las características. Usa la columna species como el hue para diferenciar entre las especies.

Solución:

import seaborn as sns
import matplotlib.pyplot as plt

# Load the Iris dataset
iris = sns.load_dataset('iris')

# Create a pair plot
sns.pairplot(iris, hue='species')

# Show the plot
plt.show()

Ejercicio 5: Usando Scikit-learn para Clasificación

Tarea: Utiliza el conjunto de datos Iris de Scikit-learn y entrena un modelo de Regresión Logística. Divide el conjunto de datos en conjuntos de entrenamiento y prueba (80% entrenamiento, 20% prueba), entrena el modelo y luego evalúa su precisión en el conjunto de prueba.

Solución:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Load the Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the data into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Train the logistic regression model
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Calculate the accuracy
accuracy = accuracy_score(y_test, y_pred)
print(f"Model Accuracy: {accuracy:.2f}")

Ejercicio 6: Trabajando con Google Colab

Tarea: En Google Colab, crea un nuevo cuaderno y escribe un programa simple en TensorFlow que verifique si hay una GPU disponible. Si se encuentra una GPU, realiza una multiplicación de matrices básica utilizando TensorFlow.

Solución:

import tensorflow as tf

# Check if a GPU is available
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

# Create two matrices and perform matrix multiplication
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[1.0, 0.0], [0.0, 1.0]])

# Multiply the matrices
result = tf.matmul(a, b)

# Print the result
print("Result of matrix multiplication:\\n", result)

Estos ejercicios prácticos consolidan tu comprensión de los conceptos clave discutidos en el Capítulo 2. Desde trabajar con arrays de NumPy y DataFrames de Pandas hasta visualizar datos utilizando Matplotlib y Seaborn, y finalmente entrenar un modelo de machine learning con Scikit-learn—has adquirido experiencia práctica con herramientas esenciales en ciencia de datos. Además, has aprendido a aprovechar Google Colab para utilizar recursos en la nube en experimentos de machine learning.

Ejercicios Prácticos: Capítulo 2

Ejercicio 1: Trabajando con Arrays de NumPy

Tarea: Crea un array de NumPy con los valores [10, 20, 30, 40, 50]. Redimensiona el array en un array de 2x3 y calcula la suma de todos los elementos.

Solución:

import numpy as np

# Create a NumPy array
array = np.array([10, 20, 30, 40, 50, 60])

# Reshape the array into 2x3
reshaped_array = array.reshape(2, 3)

# Calculate the sum of all elements
total_sum = np.sum(reshaped_array)

print("Reshaped Array:\\n", reshaped_array)
print("Total Sum:", total_sum)

Ejercicio 2: Manipulación Básica de Datos con Pandas

Tarea: Crea un DataFrame de Pandas con los siguientes datos:

Luego:

  • Selecciona las columnas Nombre y Salario.
  • Filtra las filas donde la Edad sea mayor que 30.

Solución:

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'Salary': [50000, 60000, 70000, 80000]
}
df = pd.DataFrame(data)

# Select Name and Salary columns
selected_columns = df[['Name', 'Salary']]
print("Selected Columns:\\n", selected_columns)

# Filter rows where Age is greater than 30
filtered_df = df[df['Age'] > 30]
print("\\nFiltered DataFrame (Age > 30):\\n", filtered_df)

Ejercicio 3: Visualización de Datos con Matplotlib

Tarea: Traza un gráfico de líneas con los valores de x [1, 2, 3, 4, 5] y los valores de y [10, 20, 25, 40, 50]. Agrega etiquetas al eje x, al eje y y un título al gráfico.

Solución:

import matplotlib.pyplot as plt

# Data
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 40, 50]

# Create a line plot
plt.plot(x, y, marker='o', color='b')

# Add labels and title
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Line Graph Example")

# Show the plot
plt.show()

Ejercicio 4: Visualización de Datos con Seaborn

Tarea: Carga el conjunto de datos Iris utilizando Seaborn y crea un gráfico de pares que muestre las relaciones entre las características. Usa la columna species como el hue para diferenciar entre las especies.

Solución:

import seaborn as sns
import matplotlib.pyplot as plt

# Load the Iris dataset
iris = sns.load_dataset('iris')

# Create a pair plot
sns.pairplot(iris, hue='species')

# Show the plot
plt.show()

Ejercicio 5: Usando Scikit-learn para Clasificación

Tarea: Utiliza el conjunto de datos Iris de Scikit-learn y entrena un modelo de Regresión Logística. Divide el conjunto de datos en conjuntos de entrenamiento y prueba (80% entrenamiento, 20% prueba), entrena el modelo y luego evalúa su precisión en el conjunto de prueba.

Solución:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Load the Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the data into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Train the logistic regression model
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Calculate the accuracy
accuracy = accuracy_score(y_test, y_pred)
print(f"Model Accuracy: {accuracy:.2f}")

Ejercicio 6: Trabajando con Google Colab

Tarea: En Google Colab, crea un nuevo cuaderno y escribe un programa simple en TensorFlow que verifique si hay una GPU disponible. Si se encuentra una GPU, realiza una multiplicación de matrices básica utilizando TensorFlow.

Solución:

import tensorflow as tf

# Check if a GPU is available
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

# Create two matrices and perform matrix multiplication
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[1.0, 0.0], [0.0, 1.0]])

# Multiply the matrices
result = tf.matmul(a, b)

# Print the result
print("Result of matrix multiplication:\\n", result)

Estos ejercicios prácticos consolidan tu comprensión de los conceptos clave discutidos en el Capítulo 2. Desde trabajar con arrays de NumPy y DataFrames de Pandas hasta visualizar datos utilizando Matplotlib y Seaborn, y finalmente entrenar un modelo de machine learning con Scikit-learn—has adquirido experiencia práctica con herramientas esenciales en ciencia de datos. Además, has aprendido a aprovechar Google Colab para utilizar recursos en la nube en experimentos de machine learning.

Ejercicios Prácticos: Capítulo 2

Ejercicio 1: Trabajando con Arrays de NumPy

Tarea: Crea un array de NumPy con los valores [10, 20, 30, 40, 50]. Redimensiona el array en un array de 2x3 y calcula la suma de todos los elementos.

Solución:

import numpy as np

# Create a NumPy array
array = np.array([10, 20, 30, 40, 50, 60])

# Reshape the array into 2x3
reshaped_array = array.reshape(2, 3)

# Calculate the sum of all elements
total_sum = np.sum(reshaped_array)

print("Reshaped Array:\\n", reshaped_array)
print("Total Sum:", total_sum)

Ejercicio 2: Manipulación Básica de Datos con Pandas

Tarea: Crea un DataFrame de Pandas con los siguientes datos:

Luego:

  • Selecciona las columnas Nombre y Salario.
  • Filtra las filas donde la Edad sea mayor que 30.

Solución:

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'Salary': [50000, 60000, 70000, 80000]
}
df = pd.DataFrame(data)

# Select Name and Salary columns
selected_columns = df[['Name', 'Salary']]
print("Selected Columns:\\n", selected_columns)

# Filter rows where Age is greater than 30
filtered_df = df[df['Age'] > 30]
print("\\nFiltered DataFrame (Age > 30):\\n", filtered_df)

Ejercicio 3: Visualización de Datos con Matplotlib

Tarea: Traza un gráfico de líneas con los valores de x [1, 2, 3, 4, 5] y los valores de y [10, 20, 25, 40, 50]. Agrega etiquetas al eje x, al eje y y un título al gráfico.

Solución:

import matplotlib.pyplot as plt

# Data
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 40, 50]

# Create a line plot
plt.plot(x, y, marker='o', color='b')

# Add labels and title
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Line Graph Example")

# Show the plot
plt.show()

Ejercicio 4: Visualización de Datos con Seaborn

Tarea: Carga el conjunto de datos Iris utilizando Seaborn y crea un gráfico de pares que muestre las relaciones entre las características. Usa la columna species como el hue para diferenciar entre las especies.

Solución:

import seaborn as sns
import matplotlib.pyplot as plt

# Load the Iris dataset
iris = sns.load_dataset('iris')

# Create a pair plot
sns.pairplot(iris, hue='species')

# Show the plot
plt.show()

Ejercicio 5: Usando Scikit-learn para Clasificación

Tarea: Utiliza el conjunto de datos Iris de Scikit-learn y entrena un modelo de Regresión Logística. Divide el conjunto de datos en conjuntos de entrenamiento y prueba (80% entrenamiento, 20% prueba), entrena el modelo y luego evalúa su precisión en el conjunto de prueba.

Solución:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Load the Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the data into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Train the logistic regression model
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Calculate the accuracy
accuracy = accuracy_score(y_test, y_pred)
print(f"Model Accuracy: {accuracy:.2f}")

Ejercicio 6: Trabajando con Google Colab

Tarea: En Google Colab, crea un nuevo cuaderno y escribe un programa simple en TensorFlow que verifique si hay una GPU disponible. Si se encuentra una GPU, realiza una multiplicación de matrices básica utilizando TensorFlow.

Solución:

import tensorflow as tf

# Check if a GPU is available
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

# Create two matrices and perform matrix multiplication
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[1.0, 0.0], [0.0, 1.0]])

# Multiply the matrices
result = tf.matmul(a, b)

# Print the result
print("Result of matrix multiplication:\\n", result)

Estos ejercicios prácticos consolidan tu comprensión de los conceptos clave discutidos en el Capítulo 2. Desde trabajar con arrays de NumPy y DataFrames de Pandas hasta visualizar datos utilizando Matplotlib y Seaborn, y finalmente entrenar un modelo de machine learning con Scikit-learn—has adquirido experiencia práctica con herramientas esenciales en ciencia de datos. Además, has aprendido a aprovechar Google Colab para utilizar recursos en la nube en experimentos de machine learning.

Ejercicios Prácticos: Capítulo 2

Ejercicio 1: Trabajando con Arrays de NumPy

Tarea: Crea un array de NumPy con los valores [10, 20, 30, 40, 50]. Redimensiona el array en un array de 2x3 y calcula la suma de todos los elementos.

Solución:

import numpy as np

# Create a NumPy array
array = np.array([10, 20, 30, 40, 50, 60])

# Reshape the array into 2x3
reshaped_array = array.reshape(2, 3)

# Calculate the sum of all elements
total_sum = np.sum(reshaped_array)

print("Reshaped Array:\\n", reshaped_array)
print("Total Sum:", total_sum)

Ejercicio 2: Manipulación Básica de Datos con Pandas

Tarea: Crea un DataFrame de Pandas con los siguientes datos:

Luego:

  • Selecciona las columnas Nombre y Salario.
  • Filtra las filas donde la Edad sea mayor que 30.

Solución:

import pandas as pd

# Create a DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],
    'Age': [25, 30, 35, 40],
    'Salary': [50000, 60000, 70000, 80000]
}
df = pd.DataFrame(data)

# Select Name and Salary columns
selected_columns = df[['Name', 'Salary']]
print("Selected Columns:\\n", selected_columns)

# Filter rows where Age is greater than 30
filtered_df = df[df['Age'] > 30]
print("\\nFiltered DataFrame (Age > 30):\\n", filtered_df)

Ejercicio 3: Visualización de Datos con Matplotlib

Tarea: Traza un gráfico de líneas con los valores de x [1, 2, 3, 4, 5] y los valores de y [10, 20, 25, 40, 50]. Agrega etiquetas al eje x, al eje y y un título al gráfico.

Solución:

import matplotlib.pyplot as plt

# Data
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 40, 50]

# Create a line plot
plt.plot(x, y, marker='o', color='b')

# Add labels and title
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Line Graph Example")

# Show the plot
plt.show()

Ejercicio 4: Visualización de Datos con Seaborn

Tarea: Carga el conjunto de datos Iris utilizando Seaborn y crea un gráfico de pares que muestre las relaciones entre las características. Usa la columna species como el hue para diferenciar entre las especies.

Solución:

import seaborn as sns
import matplotlib.pyplot as plt

# Load the Iris dataset
iris = sns.load_dataset('iris')

# Create a pair plot
sns.pairplot(iris, hue='species')

# Show the plot
plt.show()

Ejercicio 5: Usando Scikit-learn para Clasificación

Tarea: Utiliza el conjunto de datos Iris de Scikit-learn y entrena un modelo de Regresión Logística. Divide el conjunto de datos en conjuntos de entrenamiento y prueba (80% entrenamiento, 20% prueba), entrena el modelo y luego evalúa su precisión en el conjunto de prueba.

Solución:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Load the Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the data into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Train the logistic regression model
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# Make predictions on the test set
y_pred = model.predict(X_test)

# Calculate the accuracy
accuracy = accuracy_score(y_test, y_pred)
print(f"Model Accuracy: {accuracy:.2f}")

Ejercicio 6: Trabajando con Google Colab

Tarea: En Google Colab, crea un nuevo cuaderno y escribe un programa simple en TensorFlow que verifique si hay una GPU disponible. Si se encuentra una GPU, realiza una multiplicación de matrices básica utilizando TensorFlow.

Solución:

import tensorflow as tf

# Check if a GPU is available
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

# Create two matrices and perform matrix multiplication
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[1.0, 0.0], [0.0, 1.0]])

# Multiply the matrices
result = tf.matmul(a, b)

# Print the result
print("Result of matrix multiplication:\\n", result)

Estos ejercicios prácticos consolidan tu comprensión de los conceptos clave discutidos en el Capítulo 2. Desde trabajar con arrays de NumPy y DataFrames de Pandas hasta visualizar datos utilizando Matplotlib y Seaborn, y finalmente entrenar un modelo de machine learning con Scikit-learn—has adquirido experiencia práctica con herramientas esenciales en ciencia de datos. Además, has aprendido a aprovechar Google Colab para utilizar recursos en la nube en experimentos de machine learning.