Para resolver un problema de clasificación con machine learning, como identificar el tipo de automóvil (por ejemplo: fósil, eléctrico o híbrido), necesitas tener claro dos cosas fundamentales:
✅ 1. Conocer el problema a resolver
Esto implica entender:
- Qué queremos predecir → En este caso, el tipo de automóvil.
- Qué tipo de problema es → Es un problema de clasificación multiclase.
- Qué datos tenemos disponibles para predecir → Variables como peso, potencia, tipo de motor, consumo, emisiones, etc.
✅ 2. Conocer y preparar el dataset
Esto incluye:
a. Variable objetivo (target)
Es la que vamos a predecir, en este caso:
'y_tipo' → ['fósil', 'eléctrico', 'híbrido']
Esta variable debe ser convertida a valores numéricos, por ejemplo usando LabelEncoder:
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df['tipo_auto'] = le.fit_transform(df['tipo_auto'])
Esto puede traducir:
- fósil → 0
- eléctrico → 1
- híbrido → 2
b. Variables predictoras (features)
Estas son las columnas que usará el modelo para aprender. Por ejemplo:
X = df[['peso', 'potencia', 'consumo', 'emisiones']]
y = df['tipo_auto'] # variable objetivo codificada
✅ 3. División del dataset
Siempre se divide el dataset en datos de entrenamiento y prueba:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
✅ 4. Entrenamiento del modelo
Por ejemplo, con un árbol de decisión:
from sklearn.tree import DecisionTreeClassifier
modelo = DecisionTreeClassifier()
modelo.fit(X_train, y_train)
✅ 5. Evaluación
Evaluamos qué tan bien predice:
from sklearn.metrics import accuracy_score
y_pred = modelo.predict(X_test)
print("Precisión:", accuracy_score(y_test, y_pred))