//Cristian Ronzoni 3Ain #include #include #include using namespace std; // Funzione per eseguire la One-Hot Encoding vector> oneHotEncoding(const vector& categorie, const vector& etichette) { vector> matriceOneHot; // Per ogni etichetta, troviamo la sua posizione e creiamo un vettore one-hot for (const string& etichetta : etichette) { vector oneHot(categorie.size(), 0); // Inizializza un vettore di zeri for (int i = 0; i < categorie.size(); ++i) { if (categorie[i] == etichetta) { oneHot[i] = 1; // Imposta la posizione corrispondente a "1" break; } } matriceOneHot.push_back(oneHot); // Aggiunge il vettore one-hot alla matrice } return matriceOneHot; } // Funzione per stampare una matrice void stampaMatrice(const vector>& matrice) { for (const auto& riga : matrice) { for (int valore : riga) { cout << valore << " "; } cout << endl; } } int main() { // Definiamo le categorie possibili vector categorie = {"Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"}; // Definiamo alcune etichette da codificare vector etichette = {"Lunedì", "Mercoledì", "Domenica", "Venerdì", "Martedì"}; // Otteniamo la matrice one-hot encoding vector> matriceOneHot = oneHotEncoding(categorie, etichette); // Stampiamo la matrice risultante cout << "Matrice One-Hot Encoding:" << endl; stampaMatrice(matriceOneHot); return 0; }