Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
OUTPUT DEL PROGRAMMA E RISULTATI
Un esempio di output del programma è il seguente (Ripetuto per ogni dataset binario):
Esempio Dataset binario 1:
@attribute 5.1 numeric @attribute 3.5 numeric @attribute 1.4 numeric @attribute 0.2 numeric @attribute Class
@data
4.9,3,1.4,0.2,14.6,3.1,1.5,0.2,15,3.6,1.4,0.2,15.4,3.9,1.7,0.4,15,3.4,1.5,0.2,14.4,2.9,1.4,0.2,14.8,3.4,1.6,0.2,14.8,3,1.4,0.1,14.3,3,1.1,0.1,15.7,4.4,1.5,0.4,15.4,3.9,1.3,0.4,15.1,3.5,1.4,0.3,15.4,3.4,1.7,0.2,15.1,3.7,1.5,0.4,14.6,3.6,1,0.2,15.1,3.3,1.7,0.5,14.8,3.4,1.9,0.2,15,3,1.6,0.2,15,3.4,1.6,0.4,15.2,3.5,1.5,0.2,15.2,3.4,1.4,0.2,14.7,3.2,1.6,0.2,14.8,3.1,1.6,0.2,15.4,3.4,1.5,0.4,15.2,4.1,1.5,0.1,15.5,4.2,1.4,0.2,15,3.2,1.2,0.2,15.5,3.5,1.3,0.2,15.1,3.4,1.5,0.2,15,3.5,1.3,0.3,14.5,2.3,1.3,0.3,15.1,3.8,1.9,0.4,14.8,3,1.4,0.3,14.6,3.2,1.4,0.2,15.3,3.7,1.5,0.2,15,3.3,1.4,0.2,14.7,3.2,1.3,0.2,15.8,4,1.2,0.2,14.4,3.2,1.3,0.2,14.6,3.4,1.4,0.3,15.4,3.7,1.5,0.2,15.7,3.8,1.7,0.3,15.1,3.8,1.5,0.3,14.9,3.1,1.5,0.1,14.9,3.1,1.5,0.1,14.4,3,1.3,0.2,15.1,3.8,1.6,0.2,14.9,3.1,1.5,0.1,15,3.5,1.6,0.6,16.4,3.2,4.5,1.5,06.9,3.1,4.9,1.5,05.5,2.3,4,1.3,06.3,3.3,4.7,1.6,04.9,2.4,3.3,1,06,2.2,4,1,06.1,2.9,4.7,1.4,05.6,2.9,3.6,1.3,06.7,3.1,4.4,1.4,05.6,3,4.5,1.5,05.8,2.7,4.1,1,06.2,2.2,4.5,1.5,05.6,2.5,3.9,1.1,05.9,3.2,4.8,1.8,06.1,2.8,4,1.3,06.3,2.5,4.9,1.5,06.1,2.8,4.7,1.2,06.4,2.9,4.3,1.3,06.6,3,4.4,1.4,06.7,3,5,1.7,05.7,2.6,3.5,1,05.5,2.4,3.7,1,05.8,2.7,3.9,1.2,06,2.7,5.1,1.6,05.4,3,4.5,1.5,06.7,3.1,4.7,1.5,06.3,2.3,4.4,1.3,05.5,2.6,4.4,1.2,06.1,3,4.6,1.4,05.8,2.6,4,1.2,05,2.3,3.3,1,05.6,2.7,4.2,1.3,05.7,3,4.2,1.2,05.7,2.9,4.2,1.3,06.2,2.9,4.3,1.3,06.6,2.9,4.6,1.3,06.8,2.8,4.8,1.4,06,2.9,4.5,1.5,06,3.4,4.5,1.6,05.7,2.8,4.5,1.3,05.2,2.7,3.9,1.4,05,2,3.5,1,05.9,3,4.2,1.5,05.5,2.4,3.8,1.1,05.6,3,4.1,1.3,05.5,2.5,4,1.3,05.1,2.5,3,1.1,05.7,2.8,4.1,1.3,06.5,2.8,4.6,1.5,05.8,2.7,5.1,1.9,07.1,3,5.9,2.1,06.5,3,5.8,2.2,07.6,3,6.6,2.1,04.9,2.5,4.5,1.7,07.3,2.9,6.3,1.8,06.7,2.5,5.8,1.8,06.5,3.2,5.1,2,06.4,2.7,5.3,1.9,06.8,3,5.5,2.1,05.8,2.8,5.1,2.4,06.4,3.2,5.3,2.3,07.7,3.8,6.7,2.2,05.6,2.8,4.9,2,07.7,2.8,6.7,2,06.3,2.7,4.9,1.8,06.7,3.3,5.7,2.1,07.2,3.2,6,1.8,06.1,3,4.9,1.8,06.4,2.8,5.6,2.1,06.4,2.8,5.6,2.2,06.3,2.8,5.1,1.5,06.1,2.6,5.6,1.4,07.7,3,6.1,2.3,06.3,3.4,5.6,2.4,06.4,3.1,5.5,1.8,06,3,4.8,1.8,06.9,3.1,5.4,2.1,06.7,3.1,5.6,2.4,06.9,3.1,5.1,2.3,06.8,3.2,5.9,2.3,06.7,3.3,5.7,2.5,06.5,3,5.2,2,06.2,3.4,5.4,2.3,05.9,3,5.1,1.8,06.5,3,5.5,1.8,06,2.2,5,1.5,06.9,3.2,5.7,2.3,06.2,2.8,4.8,1.8,06.3,2.9,5.6,1.8,07.2,3.6,6.1,2.5,05.7,2.5,5,2,07.2,3,5.8,1.6,07.4,2.8,6.1,1.9,07.9,3.8,6.4,2,05.8,2.7,5.1,1.9,06.7,3,5.2,2.3,06.3,2.5,5,1.9,07.7,2.6,6.9,2.3
Multiclasse:
- @attribute 5.1 numeric
- @attribute 3.5 numeric
- @attribute 1.4 numeric
- @attribute 0.2 numeric
- @attribute Class
{0,1,2}@data4.9,3,1.4,0.2,04.6,3.1,1.5,0.2,05,3.6,1.4,0.2,05.4,3.9,1.7,0.4,05,3.4,1.5,0.2,04.4,2.9,1.4,0.2,04.8,3.4,1.6,0.2,04.8,3,1.4,0.1,04.3,3,1.1,0.1,05.7,4.4,1.5,0.4,05.4,3.9,1.3,0.4,05.1,3.5,1.4,0.3,05.4,3.4,1.7,0.2,05.1,3.7,1.5,0.4,04.6,3.6,1,0.2,05.1,3.3,1.7,0.5,04.8,3.4,1.9,0.2,05,3,1.6,0.2,05,3.4,1.6,0.4,05.2,3.5,1.5,0.2,05.2,3.4,1.4,0.2,04.7,3.2,1.6,0.2,04.8,3.1,1.6,0.2,05.4,3.4,1.5,0.4,05.2,4.1,1.5,0.1,05.5,4.2,1.4,0.2,05,3.2,1.2,0.2,05.5,3.5,1.3,0.2,05.1,3.4,1.5,0.2,05,3.5,1.3,0.3,04.5,2.3,1.3,0.3,05.1,3.8,1.9,0.4,04.8,3,1.4,0.3,04.6,3.2,1.4,0.2,05.3,3.7,1.5,0.2,05,3.3,1.4,0.2,04.7,3.2,1.3,0.2,05.8,4,1.2,0.2,04.4,3.2,1.3,0.2,04.6,3.4,1.4,0.3,05.4,3.7,1.5,0.2,05.7,3.8,1.7,0.3,05.1,3.8,1.5,0.3,04.9,3.1,1.5,0.1,04.9,3.1,1.5,0.1,04.4,3,1.3,0.2,05.1,3.8,1.6,0.2,04.9,3.1,1.5,0.1,05,3.5,1.6,0.6,06.4,3.2,4.5,1.5,16.9,3.1,4.9,1.5,15.5,2.3,4,1.3,16.3,3.3,4.7,1.6,14.9,2.4,3.3,1,16,2.2,4,1,16.1,2.9,4.7,1.4,15.6,2.9,3.6,1.3,16.7,3.1,4.4,1.4,15.6,3,4.5,1.5,15.8,2.7,4.1,1,16.2,2.2,4.5,1.5,15.6,2.5,3.9,1.1,15.9,3.2,4.8,1.8,16.1,2.8,4,1.3,16.3,2.5,4.9,1.5,16.1,2.8,4.7,1.2,16.4,2.9,4.3,1.3,16.6,3,4.4,1.4,16.7,3,5,1.7,15.7,2.6,3.5,1,15.5,2.4,3.7,1,15.8,2.7,3.9,1.2,16,2.7,5.1,1.6,15.4,3,4.5,1.5,16.7,3.1,4.7,1.5,16.3,2.3,4.4,1.3,15.5,2.6,4.4,1.2,16.1,3,4.6,1.4,15.8,2.6,4,1.2,15,2.3,3.3,1,15.6,2.7,4.2,1.3,15.7,3,4.2,1.2,15.7,2.9,4.2,1.3,16.2,2.9,4.3,1.3,16.6,2.9,4.6,1.3,16.8,2.8,4.8,1.4,16,2.9,4.5,1.5,16,3.4,4.5,1.6,15.7,2.8,4.5,1.3,15.2,2.7,3.9,1.4,15,2,3.5,1,15.9,3,4.2,1.5,15.5,2.4,3.8,1.1,15.6,3,4.1,1.3,15.5,2.5,4,1.3,15.1,2.5,3,1.1,15.7,2.8,4.1,1.3,16.5,2.8,4.6,1.5,15.8,2.7,5.1,1.9,27.1,3,5.9,2.1,26.5,3,5.8,2.2,27.6,3,6.6,2.1,24.9,2.5,4.5,1.7,27.3,2.9,6.3,1.8,26.7,2.5,5.8,1.8,26.5,3.2,5.1,2,26.4,2.7,5.3,1.9,26.8,3,5.5,2.1,25.8,2.8,5.1,2.4,26.4,3.2,5.3,2.3,27.7,3.8,6.7,2.2,25.6,2.8,4.9,2,27.7,2.8,6.7,2,26.3,2.7,4.9,1.8,26.7,3.3,5.7,2.1,27.2,3.2,6,1.8,26.1,3,4.9,1.8,26.4,2.8,5.6,2.1,26.4,2.8,5.6,2.2,26.3,2.8,5.1,1.5,26.1,2.6,5.6,1.4,27.7,3,6.1,2.3,26.3,3.4,5.6,2.4,26.4,3.1,5.5,1.8,26,3,4.8,1.8,26.9,3.1,5.4,2.1,26.7,3.1,5.6,2.4,26.9,3.1,5.1,2.3,26.8,3.2,5.9,2.3,26.7,3.3,5.7,2.5,26.5,3,5.2,2,26.2,3.4,5.4,2.3,25.9,3,5.1,1.8,26.5,3,5.5,1.8,26,2.2,5,1.5,26.9,3.2,5.7,2.3,26.2,2.8,4.8,1.8,26.3,2.9,5.6,1.8,27.2,3.6,6.1,2.5,25.7,2.5,5,2,27.2,3,5.8,1.6,27.4,2.8,6.1,1.9,27.9,3.8,6.4,2,25.8,2.7,5.1,1.9,26.7,3,5.2,2.3,26.3,2.5,5,1.9,27.7,2.6,6.9,2.3,2La
La precisione (precisione) e il recall (sensibilità) sono due indicatori usati nel machine learning per valutare la qualità di un modello decisionale o di un modello predittivo.
Gli indici di maggior rilevanza sono la Precision e la Recall:
- La precisione è il rapporto tra il numero delle previsioni corrette di un evento (classe) sul totale delle volte che il modello lo prevede. PPV = TP/(TP + FP)
- Il richiamo (recall) misura la sensibilità del modello. È il rapporto tra le previsioni corrette per una classe sul totale dei casi in cui si verifica effettivamente. R = TP/(TP + FN)
La ROC area/curva ROC mette a confronto il TP rate (asse delle ordinate) e FP rate (asse delle ascisse); il calcolo della sua sotto area è utile per valutare l'abilità del classificatore nel separare le istanze positive da quelle negative. Nel caso in questione siamo vicini al valore 1 (il test risulta accurato).
CODICE JAVA
Di seguito il codice java delle...
```html
<classi>
<WekaUtils>
package weka.api;
import weka.attributeSelection.BestFirst;
import weka.attributeSelection.CfsSubsetEval;
import weka.attributeSelection.InfoGainAttributeEval;
import weka.attributeSelection.Ranker;
import weka.classifiers.Evaluation;
import weka.classifiers.meta.AttributeSelectedClassifier;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffSaver;
import weka.core.converters.CSVLoader;
import weka.filters.Filter;
import weka.filters.supervised.instance.SMOTE;
import weka.filters.unsupervised.attribute.Add;
import weka.filters.unsupervised.attribute.Remove;
import java.io.File;
public class WekaUtils {
public static Instances[] elaboraNuoviDataset() throws Exception {
Instances[] listOfInstances0 = new Instances[4];
Instances[] listOfInstances1 = new Instances[4];
Instances[] listOfInstances2 = new Instances[4];
for(int i=1; i<=3; i++) {
CSVLoader loader = new CSVLoader();
String inputPath =
``````html
"C://Users//MYPC//Desktop//ClassificazioneBinaria//input//" + i + ".csv"; loader.setSource(new File(inputPath)); Instances data = loader.getDataSet(); if (data.classIndex() == -1) data.setClassIndex(data.numAttributes() - 1); Instances filteredData = applicaFiltroRimuovi(data); filteredData = aggiungiAttributo(filteredData, "last", "0,1", "Class"); filteredData = setValues(filteredData, 0); filteredData.setClassIndex(filteredData.numAttributes() - 1); listOfInstances0[i] = new Instances(filteredData); filteredData = setValues(filteredData, 1); filteredData.setClassIndex(filteredData.numAttributes() - 1); listOfInstances1[i] = new Instances(filteredData); filteredData = applicaFiltroRimuovi(filteredData); filteredData = aggiungiAttributo(filteredData, "last", "0,1,2", "Class"); for (int j = 0; j < filteredData.numInstances(); j++) { filteredData.instance(j).setValue(filteredData.numAttributes() - 1,```
i-1); } filteredData.setClassIndex(filteredData.numAttributes() - 1); listOfInstances2[i] = new Instances(filteredData); } Instances[] newListOfInstances = new Instances[4]; newListOfInstances[0] = new Instances(listOfInstances2[1]); newListOfInstances[1] = new Instances(listOfInstances1[1]); newListOfInstances[2] = new Instances(listOfInstances1[2]); newListOfInstances[3] = new Instances(listOfInstances1[3]); newListOfInstances[0].addAll(listOfInstances2[2]); newListOfInstances[0].addAll(listOfInstances2[3]); newListOfInstances[1].addAll(listOfInstances0[2]); newListOfInstances[1].addAll(listOfInstances0[3]); newListOfInstances[2].addAll(listOfInstances0[1]); newListOfInstances[2].addAll(listOfInstances0[3]); newListOfInstances[3].addAll(listOfInstances0[1]); newListOfInstances[3].addAll(listOfInstances0[2]); salvaInFileArff(newListOfInstances); return newListOfInstances; } public static void salvaInFileArff(Instances[] listOfIstances) throws Exception { for(int i=0; i<listOfIstances.length; i++)Il testo formattato con i tag HTML sarebbe il seguente: ```html
{String pathName = i == 0 ? "Multiclasse" : "C"+i;String outputPath ="C://Users//MYPC//Desktop//ClassificazioneBinaria//output//&
```