List of Topics:
Location Research Breakthrough Possible @S-Logix pro@slogix.in

Office Address

Social List

How to Find Wine Quality from a Data Set Using Linear Regression in Weka?

Wine Quality Prediction Using Linear Regression

Condition for Finding Wine Quality Using Linear Regression in Weka

  • Description: The code uses Weka’s LinearRegression model to predict wine quality based on various features from an ARFF dataset. It applies 10-fold cross-validation to evaluate the model’s performance and predicts wine quality for new input data. The results, including model evaluation metrics and predictions, are displayed to assess the model's accuracy.
Sample Source Code
  • # WineQualityPrediction.java
    package JavaSamples2;

    import java.util.Random;
    import weka.classifiers.Evaluation;
    import weka.classifiers.functions.LinearRegression; // Use LinearRegression for numeric target
    import weka.core.DenseInstance;
    import weka.core.Instance;
    import weka.core.Instances;
    import weka.core.converters.ConverterUtils.DataSource;

    public class WineQualityPrediction {
    public static void main(String[] args) {
    try {

    DataSource source = new DataSource("/home/soft20/NetBeansProjects/SLogixUpdates/winequality-dataset.arff");
    Instances dataset = source.getDataSet();

    dataset.setClassIndex(dataset.numAttributes() - 1); // Assuming the target is the last attribute

    LinearRegression model = new LinearRegression();
    model.buildClassifier(dataset);

    int numFolds = Math.min(10, dataset.numInstances());
    Evaluation evaluation = new Evaluation(dataset);
    evaluation.crossValidateModel(model, dataset, numFolds, new Random(1));

    System.out.println(evaluation.toSummaryString());

    double[] newInstanceValues = new double[dataset.numAttributes()];
    newInstanceValues[0] = 7.4; // Example feature value
    newInstanceValues[1] = 0.7; // Example feature value

    newInstanceValues[dataset.classIndex()] = 0; // Placeholder for target
    Instance instance = new DenseInstance(1.0, newInstanceValues);
    instance.setDataset(dataset);

    double predictedQuality = model.classifyInstance(instance);
    System.out.println("Predicted Wine Quality: " + predictedQuality);

    } catch (Exception e) {
    System.out.println(e.getMessage());
    }
    }
    }
Screenshots
  • Data set (winequality-dataset.arff):
  • Data Set: winequality-dataset.arff

  • Step 1: The wine quality prediction results are displayed in the output window.
  • Wine Quality Prediction Output

Related Links