applying data mining for wine industry

Post on 13-Apr-2017

225 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CIS 435 Final Project

Francisco E. Figueroa

Abstract

Wine making has been around for thousands of years. It is not only an art but also a science. Wine making is a natural process that requires little human intervention, but each winemaker guides the process through different techniques. In general, there are five basic components of the winemaking process: harvesting, crushing and pressing, fermentation, clarification, and aging and bottling. Wine makers typically follow these five steps but add variations and deviations along the way to make their wine unique. (Myers, 2014) The stages include harvesting, crushing and pressing, fermentation, clarification, and aging and bottling. For the winemaker is important to understand what chemical properties (attributes and values) affect or impact the classification on a wine. This help the wine maker to monitor attributes such as alcohol,malic acid, ash, ash alkalinity, magnesium, total phenols, flavonoids, non flavonoid phenols, proanthocyanidins, color intensity, hue, OD280/OD315 concentration, and proline. This paper presents a study for the prediction of the wine chemical parameters (alcohol,malic acid, ash, ash alkalinity, magnesium, total phenols, flavonoids, non flavanoid phenols, proanthocyanidins, color intensity, hue, OD280/OD315 concentration, proline) to classify the wine into A, B or C. The project used Decision Trees and Artificial Neural Networks to create models for the classification objectives of the Data Mining concepts application. The experiments were conducted using the new the open-source WEKA tool. Accuracies between 88% and 93% were obtained for all datasets provided in the case of Decision Tree J48. This indicate that the use of decision tree of Data Mining models can be used to predict the classification of the wine based on chemical attributes. Accuracies between 90% and 97% were obtained for all datasets provided in the case of ANN - Multi-Layer Perceptron. Introduction

Generally, data mining (sometimes called data or knowledge discovery) is the process of analyzing data from different perspectives and summarizing it into useful information - information that can be used to increase revenue, cuts costs, or both. Technically, data mining is the process of finding correlations or patterns among dozens of fields in large relational databases. Data mining is primarily used today by companies with a strong consumer focus - retail, financial, communication, and marketing organizations. It enables these companies to determine relationships among internal factors such as price, product positioning, or staff skills, and "external" factors such as economic indicators, competition, and customer demographics. There is a lot of evidence that data-driven decision making and big data technologies improve business performance. The fundamental concepts include data mining tasks and the data mining process that involve supervise or unsupervised data mining or a hybrid between the two methods to find patterns from data into a set of well-defined sub-tasks.

For this project the intention is to apply classification data mining models to understand the chemical properties of the wine to predict it to class A, B, or C. The two algorithms to be used are Decision Tree and Artificial Neural Networks.

Decision tree builds classification or regression models in the form of a tree structure. It breaks down a dataset into smaller and smaller subsets while at the same time an associated decision tree is incrementally developed. The final result is a tree with decision nodes and leaf nodes. A decision node (e.g., Outlook) has two or more branches (e.g., Sunny, Overcast and Rainy). Leaf node (e.g., Play) represents a classification or decision. The topmost decision node in a tree which corresponds to the best predictor called root node. Decision trees can handle both categorical and numerical data.

Neural networks have proven themselves to be a valuable tool across a wide range of functional areas affecting most businesses. Neural networks are simple computational tools for examining data and developing models that help to identify interesting patterns or structures in the data of your business. Neural networks can be used to learn to predict future events based on the patterns that have been observed in the historical training data; learn to classify unseen data into pre-defined groups based on characteristics observed in the training data.

The paper is organized as follows: data mining applications, data mining themes associated to the project, an explanation of the Cross Industry Standard Process for Data Mining, the understanding of the data provided, the preparation process of the data to make sure that data is normalized or provided based on certain standards, data mining algorithms used and the chosen one based on performance, an explanation of the experimental process and results, and finally, closing conclusions are drawn. Data Mining Applications

The vinification process is one important stages of the wines production that can influence the achievement of wines quality. Based in a chemical samples this assessment is traditionally realized by wine tasters that analyze some subjective parameters such as colour, foam, flavour and savour. (Ribeiro). In the research titled “Wine Vinification prediction using Data Mining Tools” to predict the organoleptic parameters (colour, foam, flavour and savour) from the chemical parameters in the vinification process, Decision Trees, Artificial Neural Networks and Linear Regression were applied as data mining techniques to create model for the classification and regression objectives of the process.

In another case, the main purpose of the study was to predict wine quality based on physicochemical data. This was also conducted to identify outlier or anomaly in sample wine set in order to detect adulteration of wine. Two classification algorithms were applied, Decision tree and Naïve Bayes on the dataset. The result was that Decision tree (ID3) outperformed Naïve Bayesian techniques particularly in red wine, which is the most common type. The study also showed that two attributes, alcohol and volatile-acidity contribute highly to wine quality. White wine is also more sensitive to changes in physicochemistry as opposed to red wine, hence higher level of handling care is necessary. The research concluded that classification approach will give rooms for corrective measure to be taken in effort to increase the quality of wine during production. (Appalasamy, 2012).

Based on the data sets and associated attributes and objects provided, we can define that we want to classify the wine on Class A, B or C according to the following attributes: alcohol, malic_acid, ash, ash_alalinity, magnesium, total_phenols, flavonoids, nonflavanoid_phenols, proanthocyanidins, color intensity, hue, OD280_OD315 and Proline.

Data Mining Themes

There is a lot of evidence that data-driven decision making and big data technologies improve business performance. The fundamental concepts include data mining tasks and the data mining process that involve supervise or unsupervised data mining or a hybrid between the two methods to find patterns from data into a set of well-defined sub-tasks. There are a large number of specific data mining algorithms developed over the years, but there are only a handful of different tasks that these algorithms address.

When finding correlations between a particular variable describing an individual and other variable when viewing classification and regression tasks we can relate the following tasks: a) classification and class probability which attempt to predict, for each individual in a population, which of a small set of classes this individual belongs; b) scoring which represent the probability that the individual belongs to each class; c) regression which attempts to estimate or predict, for each individual, the numerical value of some variable for that individual; d) similarity matching attempts to identify similar individual based on data known about them and support the basis for recommendation systems; e) clustering attempts to group individuals in a population together by their similarity, but not driven by any specific purpose; f) co-occurrence grouping attempts to find associations between entities based on transactions involving them; g) profiling attempts to characterize the typical behaviour of an individual, group or population and mostly use for anomaly detection applications; h) link prediction attempts to predict connection between data items, very common in social networks; i) data reduction to attempt to take a large set of data and replace it with a smaller set of data that contains much of important information in the larger set and the smaller data set it’s easier to manage; and j) casual modeling that attempts to help to understand what events or actions influence others. (Provost, 2013)

Machine learning algorithms uses supervised, unsupervised or semi-supervised learning. Supervised learning is where you have input variables (x) and an output variable (Y) and you use an algorithm to learn the mapping function from the input to the output. Y = f(X). The goal is to approximate the mapping function so well that when you have new input data (x) that you can predict the output variables (Y) for that data. In the supervised tasks, we know the correct answers, the algorithm iteratively makes predictions on the training data and is corrected by the supervisor. Learning stops when the algorithm achieves an acceptable level of performance. Supervised learning problems can be further grouped into regression and classification problems. Some examples of supervised algorithms are: linear regression for regression problems, random forest for classification and regression problems, and support vector machines for classification problems. (Brownlee, 2016)

Unsupervised learning is where you only have input data (X) and no corresponding output variables. The goal for unsupervised learning is to model the underlying structure or distribution in the data in order to learn more about the data. Algorithms are left to their own devises to discover and present the interesting structure in the data. Unsupervised learning problems can be further grouped into clustering and association problems. Some popular examples of unsupervised learning algorithms are k-means for clustering problems and Apriori algorithm for association rule learning problems. (Brownlee, 2016)

Problems where you have a large amount of input data (X) and only some of the data is labeled (Y) are called semi-supervised learning problems. These problems sit in between both supervised and unsupervised learning. Many real world machine learning problems fall into this area. This is because it can be expensive or time-consuming to label data as it may require access to domain experts. Whereas unlabeled data is cheap and easy to collect and store. We can use unsupervised learning techniques to discover and learn the structure in the input variables. We can also use supervised learning techniques to make best guess predictions for the unlabeled data, feed that data back into the supervised learning algorithm as training data and use the model to make predictions on new unseen data. (Brownlee, 2016) CRISP-DM

Data mining is the application of science and technology. There is a useful codification of the data mining process that is given by the Cross Industry Standard Process for Data Mining. To use and apply data mining correctly is is important to use a standard process such as The Cross Industry Standard Process for Data Mining (CRISP-DM). This process provides a framework to structure the thinking about data analytics and problems. CRISP-DM provides a useful codification of the data mining process. The current process model for data mining provides an overview of the life cycle of a data mining project. It contains the phases of a project, their respective tasks, and the relationships between these tasks. At this description level, it is not possible to identify all relationships. Relationships could exist between any data mining tasks depending on the goals, the background, and the interest of the user–and most importantly–on the data.

The CRISP-DM process includes business understanding, data understanding, data preparation, modeling, evaluation, and deployment. Business Understanding - This initial phase focuses on understanding the project objectives and requirements from a business perspective, then converting this knowledge into a data mining problem definition and a preliminary plan designed to achieve the objectives. Data understanding - the data understanding phase starts with initial data collection and proceeds with activities that enable you to become familiar with the data, identify data quality problems, discover first insights into the data, and/or detect interesting subsets to form hypotheses regarding hidden information. Data preparation - the data preparation phase covers all activities needed to construct the final dataset from the initial raw data. Data preparation tasks are likely to be performed multiple times and not in any prescribed order. Tasks include table, record, and attribute selection, as well as transformation and cleaning of data for modeling tools. Modeling - various modeling techniques are selected and applied, and their parameters are calibrated to optimal values. Some techniques have specific requirements on the form of data. Evaluation - at this stage in the project, we have built a model (or models) that appears to have high quality from a data analysis perspective. Before proceeding to final deployment of the model, it is important to thoroughly evaluate it and review the steps executed to create it, to be certain the model properly achieves the business objectives. A key objective is to determine if there is some important business issue that has not been sufficiently considered. At the end of this phase, a decision on the use of the data mining results should be reached. Deployment - creation of the model is generally not the end of the project. Even if the purpose of the model is to increase knowledge of the data, the knowledge gained will need to be organized and presented in a way that the customer can use it. Depending on the requirements, the deployment phase can be as simple as generating a report or as complex as implementing a

repeatable data mining process across the enterprise. In many cases, it is the customer, not the data analyst, who carries out the deployment steps. However, even if the analyst will carry out the deployment effort, it is important for the customer to understand up front what actions need to be carried out in order to actually make use of the created models. (Chapman, 2000) Data Understanding

For this project we obtained the following files: WineAllData.arff, WinCorre.arff, and WineNoCorre.arff. For each file the number of objects are 178. For WineAllData.arff, the total amount of objects is 178, with 14 attributes which thirteen (13) of them are numerical values and one (1) is nominal. In the case of WinCorre.arff, were 178 objects with six (6) attributes, which five (5) of them are numerical values and one (1) nominal value. Only correlated attributes (Alcohol,Total_Phenols , Flavanoids,OD280_OD315, Proline, Type). WineNoCorre.arff, were 178 objects with eight (8) attributes, which seven (7) numerical values and one (1) nominal. This data set is without correlated attributes. The only nominal attribute has the following labels: A, B, C to classify or predict the wines based on the numerical values patterns. This nominal value will be defined as the class. All the attributes are continuous. No missing attributes. The nominal attribute objects are distributed as follows: Label A, 59 has object's , Label B has 71 object's, Label C has 48 object’s. Data Source Name: WinAllData.arff

Attribute Name Data Type

Alcohol Numerical

Malic_Acid Numerical

Ash Numerical

Ash_Alcalinity Numerical

Magnesium Numerical

Total_Phenols Numerical

Flavanoids Numerical

Nonflavanoid_Phenols Numerical

Proanthocyanins Numerical

Color Intensity Numerical

Hue Numerical

OD280_OD315 Numerical

Proline Numerical

Type Nominal

DataSource: WineCorre.arff

Attribute Name Data Type

Alcohol Numerical

Total_Phenols Numerical

Flavanoids Numerical

OD280_OD315 Numerical

Proline Numerical

Type Nominal

DataSource: WineNoCorre.arff

Attribute Name Data Type

Malic_Acid Numerical

Ash Numerical

Ash_Alcalinity Numerical

Magnesium Numerical

Nonflavanoid_Phenols Numerical

Color Intensity Numerical

Hue Numerical

Type Nominal

Data Preparation Data preprocessing and data preparation is a broad area and consists of a number of

different strategies and techniques that are interrelated in complex ways. For data pre-processing there are several techniques that can be used such as aggregation, sampling, dimensionality reduction, feature subset selection, feature creation, discretization and binarization, and variable transformation. Aggregation is the combination of two or more objects into a single object. The motivations for aggregation are that smaller data sets requires less memory and processing time, provide high-level view of the data, and the behaviour of groups of objects or attributes is often more stable. Sampling is a commonly used approach for selecting a subset of the data objects to be analyzed. The motivations for sampling is to use a sample that will work almost as well as using the entire data set if the sample is representative. When applying a sampling technique it is important to guarantees high probability of getting a representative sample. Dimensionality reduction works when having a data sets that have large number of features. There are a variety of benefits to dimensionality reduction. A key benefit is that many data mining algorithm work better if the dimensionality (the number of attributes in the data) is lower. This is because dimensionality reduction can eliminate irrelevant features and reduce noise and the curse of dimensionality. And the amount of time and memory required by the data mining algorithm is reduced with a reduction in dimensionality. The curse of dimensionality refers to the phenomenon that many type of data analysis become significantly harder as the dimensionality of the data increases. Another way to reduce the dimensionality is to use only a subset of the features. For example, irrelevant features contain almost no useful information for the data mining task at hand. Feature creation is built from the original attributes and create a new set of attributes that captures that important information in a data set much more effectively. Three related methodologies for creating new attributes are the following: feature extraction, mapping the data to a new space and feature construction. In the case of discretization and binarization, support the data analyst to transform a continuous attribute into a categorical attribute (discretization) and both continuous and discrete attribute many need to be transformed into one or more binary attribute (binarization). And variable transformation refers to a transformation applied to all the values of a variable.

In terms of data preparation, we analyzed the three data sets we obtained for the project: WineAllData.arff, WinCorre.arff, and WineNoCorre.arff. To understand the data we used Weka. Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. (Weka, 2016). As part of the process, we uploaded the data into Weka. WEKA’s native data storage method is ARFF format. The bulk of an ARFF file consists of a list of the instances, and the attribute values for each instance are separated by commas. For each file the number of objects are 178. WineAllData.arff has all 14 attributes discussed in the data understanding section. The WinCorre.arff has six (6) attributes, which five (5) of them are numerical values and one (1) nominal value, which will be defined as the class. And the WineNoCorre.arff, has eight (8) attributes, which seven (7) numerical values and one (1) nominal, which will be defined as the class. No missing values were found. In addition, the histogram for each attribute is verified

with the data type. For example all numeric attributes, the information presented its minimum and maximum values, mean, and standard deviation. Data Mining Algorithm

Classification is the most commonly applied data mining technique, which employs a set of pre-classified examples to develop a model that can classify the population of records at large. The data classification process involves learning and classification. In learning the training data are analyzed by classification algorithm. In classification test data are used to estimate the accuracy of the classification rules. If the accuracy is acceptable the rules can be applied to the new data tuples. The classifier-training algorithm uses these pre-classified examples to determine the set of parameters required for proper discrimination. The algorithm then encodes these parameters into a model called a classifier. (Kumar, 2015)

A classification model is useful for the following purposes. Descriptive modeling, which serve as as an explanatory tool to distinguish between objects of different classes. Predictive modeling can also be used to predict the class label of unknown records. Classification techniques are most suited for predicting or describing data sets with binary or nominal categories. A general approach to solving classification problem (or classifier) is a systematic approach to building classification models from an input data set. Examples include decision tree classifiers, rule-based classifiers, neural networks, support vector machines, and naive Bayes classifiers. (Tan, 2005)

Each technique employs a learning to identify a model that best fits the relationship between the attribute set and class label of the input data. The key objective of the learning algorithm is to build models with good generalization capability. The process of solving classification problems involves a training set that consist of records whose class labels are known and must be provided. The training set is used to build a classification model, which is subsequently applied to the test set, which consists of records with unknown class labels. For the purpose of this projects, all the data sets provided we know all the records.

It is important to evaluate the performance of the classification model. The evaluation of the performance is based on the counts of test records correctly and incorrectly predicted by the model. These counts are tabulated in a table known as a confusion matrix. The confusion matrix provides the information needed to determine how well a classification model performs by summarizing the information with a single number that would make it more convenient to compare the performance of different models.

Accuracy is defined as follows: (number of correct prediction/total number of predictions) and the error rate is defined as follows: (number of wrong predictions/total number of predictions).

Decision tree builds classification or regression models in the form of a tree structure. It breaks down a dataset into smaller and smaller subsets while at the same time an associated decision tree is incrementally developed. The final result is a tree with decision nodes and leaf nodes. A decision node (e.g., Outlook) has two or more branches (e.g., Sunny, Overcast and Rainy). Leaf node (e.g., Play) represents a classification or decision. The topmost decision node in a tree which corresponds to the best predictor called root node. Decision trees can handle both categorical and numerical data.

Neural networks have proven themselves to be a valuable tool across a wide range of functional areas affecting most businesses. Neural networks are simple computational tools for examining data and developing models that help to identify interesting patterns or structures in the data of your business. Neural networks can be used to learn to predict future events based on the patterns that have been observed in the historical training data; learn to classify unseen data into pre-defined groups based on characteristics observed in the training data; and learn to cluster the training data into natural groups based on the similarity of characteristics in the training data. We can use this technique for business problems in the areas of marketing and sales, risk assessment and account, finance, management and strategy, and manufacturing. (Gupta)

ANN - Multi-layer Perceptron is more accurate than Decision Tree J48 for this type of project in classifying the wine based on data provided. The following table shows a comparison between algorithm, data set and correctly classified and wrongly classified.

Data Mining Algorithm Data Set Correctly Classified Wrongly Classified

Decision Tree J48 Wine All Data 93.8302% 6.1798%

ANN Multi-Layer Perceptron Wine All Data 97.1910% 2.8090%

Decision Tree J48 WineCorre 88.7640 % 11.2360%

ANN Multi-Layer Perceptron WineCorre 93.8202% 6.1798%

Decision Tree J48 WineNoCorre 88.7640% 11.2360%

ANN Multi-Layer Perceptron WineNoCorre 90.4494% 9.5506%

In this case, because the values are continuous is better to use ANN Multi-layer

perceptron in all the datasets. Other important point is that the WinAllData dataset have more attributes that help to build a more accurate model. In the case of WinceCorre and WineNoCorre datasets the accuracy is lower. Experimental results and Analysis For this project we used Weka. Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own

Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. As part of the analysis to choose the algorithm for classification modeling, I started with decision tree to analyze areas such as the amount of leaves, tree size, confusion matrix, correctly classified instances, incorrectly classified instances for the following data sets: WineAllData.arff, WinCorre.arff, and WineNoCorre.arff. For the WinAllData data set we obtained the following results using cross-validation Folds 10:

Number of Leaves: 5; Size of the tree: 9; Correctly Classified Instances: 93.8302 %; Incorrectly Classified Instances: 6.1798%

Confusion Matrix

A B C Classified As

58 1 0 a=A

3 67 1 b=B

0 5 42 c=C

For the WinCorre data set we obtained the following results using cross-validation Folds 10:

Number of Leaves: 8 ; Size of the tree: 15; Correctly Classified Instances: 89.3258 %; Incorrectly Classified Instances: 10.6742 %

Confusion Matrix

A B C Classified As

55 4 0 a=A

4 64 3 b=B

1 7 40 c=C

For the WinNoCorre data set we obtained the following results using cross-validation Folds 10:

Number of Leaves : 8; Size of the tree : 15; Correctly Classified Instances: 88.764 %; Incorrectly Classified Instances: 11.236 %

Confusion Matrix

A B C Classified As

51 6 2 a=A

4 63 4 b=B

3 1 44 c=C

In the case of decision tree, when applied each one of the data sets with different

attributes, the dataset that performed better was WineAllData. It is important to see that the performance of each dataset when applied the decision tree is very different due to the amount of relevant data in each dataset. When you are lacking of some relevant data the decision tree becomes more complex and the probability of classifying wrongly some records increased, like in the case of the WinNoCorre dataset.

Due to the nature of the wine chemical properties and classification models, artificial neural networks can be a good fit to classify wine based on the datasets provided. Artificial neural networks (ANN) was inspired by attempts to simulate biological neural systems. ANN is composed on an interconnected assembly of nodes and directed links. Neural networks can be used to learn to predict future events based on the patterns that have been observed in the historical training data; learn to classify unseen data into pre-defined groups based on characteristics observed in the training data like the datasets provided (WineAllData, WineCorre, and WineNoCorre). For the purpose of this project and the data provided, Multi-layer Perceptron will be used as the algorithm. For the WineAllData dataset we obtain the following results when applying Multi-layer Perceptron Cross-Validation 10:

Correctly Classified Instances : 97.191%; Incorrectly Classified Instances :2.809%.

Confusion Matrix

A B C Classified As

59 0 0 a=A

2 67 2 b=B

0 1 47 c=C

For the WineCorre dataset we obtain the following results when applying Multi-layer Perceptron Cross-Validation 10:

Correctly Classified Instances : 93.8202%; Incorrectly Classified Instances : 6.1798%.

Confusion Matrix

A B C Classified As

58 1 0 a=A

5 63 3 b=B

0 2 46 c=C

For the WineNoCorre dataset we obtain the following results when applying Multi-layer Perceptron Cross-Validation 10:

Correctly Classified Instances : 90.4494%; Incorrectly Classified Instances : 9.5506%.

Confusion Matrix

A B C Classified As

54 5 0 a=A

6 62 3 b=B

2 1 45 c=C

Conclusion and Future Work This paper presents a study for the prediction of the wine chemical parameters (alcohol,malic acid, ash, ash alkalinity, magnesium, total phenols, flavonoids, non flavanoid phenols, proanthocyanidins, color intensity, hue, OD280/OD315 concentration, proline) to classify the wine into A, B or C. We use the Decision Trees and Artificial Neural Networks to create models for the classification objectives of the Data Mining concepts application. The experiments were conducted using the new the open-source WEKA tool. Accuracies between 88% and 93% were obtained for all datasets provided in the case of Decision Tree J48. This indicate that the use of decision tree of Data Mining models can be used to predict the classification of the wine based on chemical attributes. Accuracies between 90% and 97% were obtained for all datasets provided in the case of ANN - Multi-Layer Perceptron. This indicate that the use of ANN is better than Decision tree as Data Mining models to used to predict the classification of the wine based on chemical attributes. With this work we present the advantages of the usage of Data

Mining tools to support the understanding what attributes and value affect the classification of a wine based on chemical properties. In the future these attributes can be tie with consumer buying decision making based not only on the classification of the wine but on the additional chemical properties such as sugar level, among other new ones. References: Ajay Kumar Mishra , Dr.Subhendu Kumar Pani , Dr. Bikram Keshari Ratha. DECISION TREE ANALYSIS ON J48 AND RANDOM FOREST ALGORITHM FOR DATA MINING USING BREAST CANCER MICROARRAY DATASET. 2015. Retrieved from http://www.ijates.com/images/short_pdf/1449290510_239D.pdf Appalasamy, P., Mustapha, A., Rizal, N.D., Johari, F., Mansor, A.F. Classification-based Data Mining Approach for Quality Control in Wine Production. Retrieved from http://scialert.net/fulltext/?doi=jas.2012.598.601&org=11 Brownlee, J. Supervised and Unsupervised Machine Learning Algorithms. March 16, 2016. Retrieved from http://machinelearningmastery.com/supervised-and-unsupervised-machine-learning-algorithms/ Chapman, P., Clinton, J., Kerber, R., Khabaza, T., Reinartz, T., Shearer, C., Wirth, R. CRISP-DM 1.0. 2000 Gupta, J. J. Neural Networks in Business: Techniques and Applications. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.466.8377&rep=rep1&type=pdf Myers, K. 5 Stages of the Wine Making Process. Laurel Gray. November 14, 2014. Retreived from http://laurelgray.com/5-stages-wine-making-process/ Provost, F., Fawcett, T. Data Science for Business. O’Reilly. 2013. Ribeiro, K., Neve, J., Sanchez, J., Delgado, M., Machado, J., Novais, P. Wine Vinification prediction using Data Mining Tools. Retrieved from https://www.researchgate.net/publication/229011001_Wine_vinification_prediction_using_data_mining_tools Tan, P., Steinbach, M., & Kumar, V. Introduction to Data Mining , (2005). Addison-Wesley, ISBN

top related