Javatpoint Logo
Javatpoint Logo

Orange Data Mining

Orange is a C++ core object and routines library that incorporates a huge variety of standard and non-standard machine learning and data mining algorithms. It is an open-source data visualization, data mining, and machine learning tool. Orange is a scriptable environment for quick prototyping of the latest algorithms and testing patterns. It is a group of python-based modules that exist in the core library. It implements some functionalities for which execution time is not essential, and that is done in Python.

Orange Data Mining

It incorporates a variety of tasks such as pretty-print of decision trees, bagging and boosting, attribute subset, and many more. Orange is a set of graphical widgets that utilizes strategies from the core library and orange modules and gives a decent user interface. The widget supports digital-based communication and can be gathered together into an application by a visual programming tool called an orange canvas.

All these together make an orange an exclusive component-based algorithm for data mining and machine learning. Orange is proposed for both experienced users and analysts in data mining and machine learning who want to create and test their own algorithms while reusing as much of the code as possible, and for those simply entering the field who can either write short python contents for data analysis.

The objective of Orange is to provide a platform for experiment-based selection, predictive modeling, and recommendation system. It primarily used in bioinformatics, genomic research, biomedicine, and teaching. In education, it is used for providing better teaching methods for data mining and machine learning to students of biology, biomedicine, and informatics.

Orange Data Mining:

Orange supports a flexible domain for developers, analysts, and data mining specialists. Python, a new generation scripting language and programming environment, where our data mining scripts may be easy but powerful. Orange employs a component-based approach for fast prototyping. We can implement our analysis technique simply like putting the LEGO bricks, or even utilize an existing algorithm. What are Orange components for scripting Orange widgets for visual programming?. Widgets utilize a specially designed communication mechanism for passing objects like classifiers, regressors, attribute lists, and data sets permitting to build easily rather complex data mining schemes that use modern approaches and techniques.

Orange core objects and Python modules incorporate numerous data mining tasks that are far from data preprocessing for evaluation and modeling. The operating principle of Orange is cover techniques and perspective in data mining and machine learning. For example, Orange's top-down induction of decision tree is a technique build of numerous components of which anyone can be prototyped in python and used in place of the original one. Orange widgets are not simply graphical objects that give a graphical interface for a specific strategy in Orange, but it includes an adaptable signaling mechanism that is for communication and exchange of objects like data sets, classification models, learners, objects that store the results of the assessment. All these ideas are significant and together recognize Orange from other data mining structures.

Orange Widgets:

Orange widgets give us a graphical user interface to orange's data mining and machine learning techniques. They incorporate widgets for data entry and preprocessing, classification, regression, association rules and clustering a set of widgets for model assessment and visualization of assessment results, and widgets for exporting the models into PMML.

Orange Data Mining 1

Widgets convey the data by tokens that are passed from the sender to the receiver widget. For example, a file widget outputs the data objects, that can be received by a widget classification tree learner widget. The classification tree builds a classification model that sends the data to the widget that graphically shows the tree. An evaluation widget may get a data set from the file widget and objects.

Orange scripting:

If we want to access Orange objects, then we need to write our components and design our test schemes and machine learning applications through the script. Orange interfaces to Python, a model simple to use a scripting language with clear and powerful syntax and a broad set of additional libraries. Same as any scripting language, Python can be used to test a few ideas mutually or to develop more detailed scripts and programs.

We can see how it uses Python and Orange with an example, consider an easy script that reads the data set and prints the number of attributes used. We will utilize a classification data set called "voting" from UCI Machine Learning Repository that records sixteen key votes of each of the Parliament of India MP (Member of Parliament), and labels each MP with a party membership:

import orange

data1 = orange.ExampleTable('')

print('Instance:', len(data1))

print(Attributes:', 1len(data.domain.attributes))

Here, we can see that the script first loads in the orange library, reads the data file, and prints out what we were concerned about. If we store this script in and run it by shell command "python" ensure that the data file is in the same directory then we get

Instances: 543

Attributes: 16

Let us proceed with our script that uses the same data created by a na´ve Bayesian classifier and print the classification of the first five instances:

model = orange.BayesLearner(data1)

for i in range(5):


It is easy to produce the classification model; we have called Orange?s object (Bayes Learner) and gave it the data set. It returned another object (na´ve Bayesian classifier) when given an instance returns the label of the possible class. Here we can see the output of this part of the script:






Here, we need to discover what the correct classifications were; we can print the original labels of our five instances:

for i in range(5):

print(model(data1[i])), 'originally' , data[i].getclass()

What we cover is that na´ve Bayesian classifier has misclassified the third instance:

inc originally inc

inc originally inc

inc originally bjp

bjp originally bjp

bjp originally bjp

All classifiers implemented in Orange are probabilistic. For example, they assume the class probabilities. So in the na´ve Bayesian classifier, and we may be concerned about how much we have missed in the third case:

n = model(data1[2], orange.GetProbabilities)

print data,domain.classVar.values[0], ':', n[0]

Here we recognize that Python's indices initiate with 0, and that classification model returns a probability vector when a classifier is called with argument orange.-Getprobabilities. Our model was estimating a very high probability for an inc:

Inc : 0.878529638542

Help Others, Please Share

facebook twitter google plus pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA