La ciència de dades és un camp interdisciplinari que utilitza mètodes, processos, algorismes i sistemes científics per extreure coneixement i informació de dades estructurades i no estructurades. En aquesta secció, aprendrem els conceptes bàsics de la ciència de dades i com Python es pot utilitzar per abordar problemes de dades.
Objectius del Mòdul
- Comprendre què és la ciència de dades i la seva importància.
- Familiaritzar-se amb les eines i biblioteques de Python per a la ciència de dades.
- Aprendre el flux de treball típic d'un projecte de ciència de dades.
Què és la Ciència de Dades?
La ciència de dades implica diverses disciplines, incloent estadística, informàtica, matemàtiques i coneixement específic del domini. Els científics de dades utilitzen aquestes disciplines per:
- Recollir dades de diverses fonts.
- Netejar i processar les dades.
- Analitzar les dades per trobar patrons i tendències.
- Construir models predictius.
- Visualitzar i comunicar els resultats.
Importància de la Ciència de Dades
La ciència de dades és crucial en molts camps, com ara:
- Negocis: Per a la presa de decisions basada en dades.
- Salut: Per a la predicció de malalties i la personalització de tractaments.
- Enginyeria: Per a l'optimització de processos i la predicció de fallades.
- Ciències Socials: Per a l'anàlisi de comportaments i tendències.
Eines i Biblioteques de Python per a la Ciència de Dades
Python és una de les llengües de programació més populars per a la ciència de dades gràcies a la seva simplicitat i la gran quantitat de biblioteques disponibles. Algunes de les biblioteques més utilitzades són:
Biblioteca | Descripció |
---|---|
NumPy | Suport per a arrays i operacions matemàtiques. |
Pandas | Eines per a la manipulació i anàlisi de dades. |
Matplotlib | Biblioteca per a la visualització de dades. |
scikit-learn | Eines per a l'aprenentatge automàtic. |
Seaborn | Visualització de dades basada en Matplotlib amb una interfície més amigable. |
Flux de Treball d'un Projecte de Ciència de Dades
Un projecte típic de ciència de dades segueix aquests passos:
-
Recollida de Dades:
- Fonts de dades: bases de dades, APIs, fitxers CSV, etc.
- Exemple:
import pandas as pd data = pd.read_csv('data.csv')
-
Neteja de Dades:
- Tractament de valors nuls, duplicats, errors de format, etc.
- Exemple:
data.dropna(inplace=True)
-
Exploració de Dades:
- Anàlisi descriptiva, visualització de dades, identificació de patrons.
- Exemple:
import matplotlib.pyplot as plt data['column'].hist() plt.show()
-
Modelatge:
- Construcció i entrenament de models predictius.
- Exemple:
from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression X = data[['feature1', 'feature2']] y = data['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) model = LinearRegression() model.fit(X_train, y_train)
-
Avaluació:
- Avaluació del rendiment del model utilitzant mètriques adequades.
- Exemple:
from sklearn.metrics import mean_squared_error predictions = model.predict(X_test) mse = mean_squared_error(y_test, predictions) print(f'Mean Squared Error: {mse}')
-
Visualització i Comunicació:
- Presentació dels resultats de manera clara i comprensible.
- Exemple:
plt.scatter(y_test, predictions) plt.xlabel('Actual') plt.ylabel('Predicted') plt.show()
Exercicis Pràctics
Exercici 1: Importació i Exploració de Dades
- Importa un conjunt de dades utilitzant Pandas.
- Mostra les primeres 5 files del conjunt de dades.
- Calcula les estadístiques descriptives del conjunt de dades.
Solució:
import pandas as pd # Importar dades data = pd.read_csv('data.csv') # Mostrar les primeres 5 files print(data.head()) # Estadístiques descriptives print(data.describe())
Exercici 2: Neteja de Dades
- Elimina les files amb valors nuls.
- Elimina les files duplicades.
Solució:
# Eliminar files amb valors nuls data.dropna(inplace=True) # Eliminar files duplicades data.drop_duplicates(inplace=True)
Exercici 3: Visualització de Dades
- Crea un histograma d'una columna específica.
- Crea un gràfic de dispersió entre dues columnes.
Solució:
import matplotlib.pyplot as plt # Histograma data['column'].hist() plt.show() # Gràfic de dispersió plt.scatter(data['feature1'], data['feature2']) plt.xlabel('Feature 1') plt.ylabel('Feature 2') plt.show()
Resum
En aquesta secció, hem introduït els conceptes bàsics de la ciència de dades i hem vist com Python i les seves biblioteques poden ser utilitzades per abordar problemes de dades. Hem après el flux de treball típic d'un projecte de ciència de dades i hem realitzat alguns exercicis pràctics per reforçar els conceptes apresos. En els pròxims mòduls, aprofundirem en l'ús de biblioteques específiques com NumPy, Pandas i Matplotlib per a la manipulació i visualització de dades.
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn