Parametro %*s

di il
3 risposte

Parametro %*s

Ciao a tutti.
Ho un dubbio in un esercizio. Questo è il testo dell'esame:
//
Un algoritmo di classificazione è un algoritmo di machine learning in grado di assegnare un’etichetta a un
oggetto sulla base della conoscenza di come sono fatti altri oggetti simili. Si scriva un programma C in grado di
implementare l’algoritmo di classificazione 1-NN.
Il programma riceve in ingresso due file <train> e <test> i cui nomi sono passati come argomento sulla
linea di comando:
<train> - è un file contenente un insieme di N oggetti (uno per riga) con la relativa etichetta. Questo file è
utilizzato per insegnare al classificatore a riconoscere gli oggetti ignoti. Ogni riga del file contiene il nome
dell’oggetto rappresentato come una stringa lunga al massimo 5 caratteri, un insieme di M numeri reali F1..Fm
seguiti da un numero intero L. Il carattere spazio è usato per separare i vari elementi. Gli M numeri reali
sono la rappresentazione di un oggetto mentre il numero intero L rappresenta l’etichetta dell’oggetto.
<test> - è un file contenente un insieme di oggetti da classificare. Il formato è analogo a quello del file
<train> ma il numero di righe NON E’ NOTO A PRIORI.
Si assuma che i valori di M ed N siano noti a priori e definiti nel codice del programma tramite una direttiva
define.
Il programma deve predire l’etichetta di ogni oggetto O contenuto nel file <test> utilizzando il seguente
criterio:
?
Calcolare la distanza euclidea tra O e ogni oggetto T contenuto nel file <train>.
?
L’etichetta assegnata a O è l’etichetta dell’oggetto in T più vicino a O.

Per ogni classificazione effettuata il programma deve stampare sullo schermo un messaggio che indichi il
nome dell’oggetto, l’etichetta predetta per l’oggetto e la relativa etichetta corretta (così come riportata nel file
<test>).
Infine il programma deve stampare su schermo l’accuratezza del classificatore calcolata come il rapporto tra il
numero di etichette predette correttamente diviso per il numero di oggetti classificati. //

Nelle soluzioni dopo aver aperto il file <train>, apre un for e la prima istruzione è: fscanf(trainfile,"%*s"). Non capisco a cosa serva l'istruzione. Sapete aiutarmi??

3 Risposte

  • Re: Parametro %*s

    Non sai a cosa serve la fscanf ?
  • Re: Parametro %*s

    oregon ha scritto:


    Non sai a cosa serve la fscanf ?
    No quello lo so. Non capisco come si comporti nel caso in cui abbia come parametro %*s, e perché ci sia il bisogno di mettere quel parametro.
  • Re: Parametro %*s

    %*s

    indica che viene letta una stringa dal file ma questo dato viene ignorato e non salvato nella variabile (insomma, viene "saltato").

    Trovi tutto nella documentazione.
Devi accedere o registrarti per scrivere nel forum
3 risposte