Introducció

L'anàlisi i modelatge de dades són components essencials en l'analítica de negocis. Aquest procés implica l'extracció d'informació significativa de les dades i la construcció de models que poden ajudar a predir futurs comportaments i resultats. En aquesta secció, explorarem les tècniques i metodologies clau per a l'anàlisi i el modelatge de dades.

Objectius d'Aprenentatge

Al final d'aquest tema, hauràs de ser capaç de:

  1. Comprendre els conceptes bàsics de l'anàlisi de dades.
  2. Identificar i aplicar diferents tècniques de modelatge de dades.
  3. Utilitzar eines per a la construcció i validació de models predictius.
  4. Interpretar els resultats dels models per a la presa de decisions.

  1. Conceptes Bàsics d'Anàlisi de Dades

1.1. Definició

L'anàlisi de dades és el procés d'examinar, netejar, transformar i modelar dades amb l'objectiu de descobrir informació útil, arribar a conclusions i suportar la presa de decisions.

1.2. Tipus d'Anàlisi

  • Anàlisi Descriptiva: Resumir les dades per entendre què ha passat.
  • Anàlisi Predictiva: Utilitzar models estadístics i algorismes per predir futurs resultats.
  • Anàlisi Prescriptiva: Proporcionar recomanacions sobre accions a prendre basant-se en els resultats de l'anàlisi predictiva.

  1. Tècniques de Modelatge de Dades

2.1. Regresió Lineal

La regressió lineal és una tècnica estadística que modela la relació entre una variable dependent i una o més variables independents utilitzant una línia recta.

Exemple de Codi en Python

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Carregar les dades
data = pd.read_csv('data.csv')
X = data[['feature1', 'feature2']]
y = data['target']

# Dividir les dades en entrenament i prova
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear el model de regressió lineal
model = LinearRegression()
model.fit(X_train, y_train)

# Predir els resultats
y_pred = model.predict(X_test)

# Avaluar el model
mse = mean_squared_error(y_test, y_pred)
print(f'Error quadràtic mitjà: {mse}')

2.2. Regresió Logística

La regressió logística és utilitzada per modelar resultats binaris (per exemple, sí/no, èxit/fallida).

Exemple de Codi en Python

from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Crear el model de regressió logística
log_model = LogisticRegression()
log_model.fit(X_train, y_train)

# Predir els resultats
y_pred_log = log_model.predict(X_test)

# Avaluar el model
accuracy = accuracy_score(y_test, y_pred_log)
print(f'Precisió: {accuracy}')

2.3. Arbres de Decisió

Els arbres de decisió són models predictius que utilitzen un conjunt d'arbres de decisions per arribar a una conclusió sobre el valor d'una variable objectiu.

Exemple de Codi en Python

from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report

# Crear el model d'arbre de decisió
tree_model = DecisionTreeClassifier()
tree_model.fit(X_train, y_train)

# Predir els resultats
y_pred_tree = tree_model.predict(X_test)

# Avaluar el model
report = classification_report(y_test, y_pred_tree)
print(report)

2.4. Random Forest

El Random Forest és una tècnica d'aprenentatge automàtic que utilitza múltiples arbres de decisió per millorar la precisió i evitar el sobreajustament.

Exemple de Codi en Python

from sklearn.ensemble import RandomForestClassifier

# Crear el model de Random Forest
rf_model = RandomForestClassifier(n_estimators=100)
rf_model.fit(X_train, y_train)

# Predir els resultats
y_pred_rf = rf_model.predict(X_test)

# Avaluar el model
accuracy_rf = accuracy_score(y_test, y_pred_rf)
print(f'Precisió del Random Forest: {accuracy_rf}')

  1. Validació de Models

3.1. Divisió de Dades

Dividir les dades en conjunts d'entrenament i prova és essencial per avaluar la capacitat predictiva del model.

3.2. Cross-Validation

La validació creuada és una tècnica per avaluar la robustesa del model utilitzant múltiples divisions de les dades.

Exemple de Codi en Python

from sklearn.model_selection import cross_val_score

# Validació creuada
scores = cross_val_score(model, X, y, cv=5)
print(f'Precisió mitjana: {scores.mean()}')

  1. Interpretació dels Resultats

4.1. Mètriques de Rendiment

  • Precisió: Percentatge de prediccions correctes.
  • Error Quadràtic Mitjà (MSE): Mesura de la diferència mitjana quadrada entre els valors predits i els valors reals.
  • Informe de Classificació: Inclou precisió, record i F1-score per a cada classe.

4.2. Visualització de Resultats

Utilitzar gràfics per visualitzar els resultats dels models pot ajudar a comprendre millor el seu rendiment.

Exemple de Codi en Python

import matplotlib.pyplot as plt

# Gràfic de prediccions vs valors reals
plt.scatter(y_test, y_pred)
plt.xlabel('Valors Reals')
plt.ylabel('Prediccions')
plt.title('Prediccions vs Valors Reals')
plt.show()

Exercici Pràctic

Exercici: Construcció i Validació d'un Model de Regressió Lineal

  1. Carrega un conjunt de dades de vendes.
  2. Divideix les dades en conjunts d'entrenament i prova.
  3. Construeix un model de regressió lineal per predir les vendes.
  4. Avalua el model utilitzant l'error quadràtic mitjà.
  5. Visualitza els resultats utilitzant un gràfic de prediccions vs valors reals.

Solució

# Pas 1: Carregar les dades
data = pd.read_csv('sales_data.csv')
X = data[['feature1', 'feature2']]
y = data['sales']

# Pas 2: Dividir les dades
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Pas 3: Construir el model
model = LinearRegression()
model.fit(X_train, y_train)

# Pas 4: Avaluar el model
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f'Error quadràtic mitjà: {mse}')

# Pas 5: Visualitzar els resultats
plt.scatter(y_test, y_pred)
plt.xlabel('Valors Reals')
plt.ylabel('Prediccions')
plt.title('Prediccions vs Valors Reals')
plt.show()

Conclusió

En aquesta secció, hem explorat les tècniques clau per a l'anàlisi i el modelatge de dades, incloent la regressió lineal, la regressió logística, els arbres de decisió i el Random Forest. També hem après a validar i interpretar els resultats dels models. Aquestes habilitats són fonamentals per a qualsevol professional que vulgui utilitzar l'analítica de dades per a la presa de decisions informades.

© Copyright 2024. Tots els drets reservats