Manual de ciencia de datos de Python

Mar 31 2023
.
  1. IPython: más allá de Python normal
  2. Introducción a NumPy
  3. Manipulación de datos con Pandas
  4. Visualización con Matplotlib
  1. Primeros pasos con el aprendizaje automático
  2. Aprendiendo de los datos
  3. Regresión lineal
  4. bayesiana ingenua
  5. k-vecinos más cercanos
  6. Introducción al aprendizaje automático con Scikit-Learn
  7. Aprendizaje automático en la práctica
  8. La compensación de sesgo-varianza
  9. Estimación de la densidad del kernel
  10. Análisis de componentes principales
  11. Aprendizaje múltiple
  12. Agrupación
  13. Árboles de decisión y bosques aleatorios
  14. Optimización basada en gradientes
  15. Agrupación de K-Means
  16. En profundidad: Clasificación Naive Bayes
  17. En profundidad: regresión lineal
  18. En profundidad: máquinas de vectores de soporte
  19. En profundidad: árboles de decisión y bosques aleatorios
  20. En profundidad: análisis de componentes principales
  21. En profundidad: aprendizaje múltiple
  22. En profundidad: agrupamiento de k-medias
  1. Un recorrido vertiginoso por Python
  2. Fundamentos del lenguaje Python
  3. IPython: más allá de Python normal
  4. NumPy
  5. Más sobre el shell del sistema IPython
  6. matplotlib
  7. SciPy
  8. Scikit-Aprender
  9. Aprendizaje automático con Scikit-Learn
  10. Más recursos de aprendizaje automático
  11. Aprendizaje automático práctico: un ejemplo simple
  12. Bibliografía

import numpy as np

# create a 1D array
a = np.array([0, 1, 2, 3, 4])
print(a)

import pandas as pd

# create a Pandas DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 32, 18, 47],
        'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data)
print(df)

# filter rows based on a condition
df_filtered = df[df['age'] > 30]
print(df_filtered)

# group data by a column and compute statistics
grouped_data = df.groupby('gender')['age'].mean()
print(grouped_data)

import matplotlib.pyplot as plt
import numpy as np

# create some data to plot
x = np.linspace(0, 10, 100)
y = np.sin(x)

# create a line plot
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

# create a scatter plot
x = np.random.randn(100)
y = np.random.randn(100)
plt.scatter(x, y)
plt.title('Random Data')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

# load the iris dataset
iris = load_iris()

# split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(iris['data'], iris['target'], random_state=0)

# create a K-Nearest Neighbors classifier
knn = KNeighborsClassifier(n_neighbors=1)

# fit the classifier to the training data
knn.fit(X_train, y_train)

# predict the classes of the test data
y_pred = knn.predict(X_test)

# compute the accuracy of the classifier
accuracy = knn.score(X_test, y_test)
print('Accuracy:', accuracy)