# Data pre-processing with Orange

This blog is regarding the data preprocessing using the Orange tool. In this blog we will know how you can use the Orange library in python and perform various data preprocessing tasks like Randomization, Normalization, Discretization and Continuization on data with help of various Orange functions.

**Discretization**

Data discretization refers to a method of converting a huge number of data values into smaller ones so that the evaluation and management of data become easy. In other words, data discretization is a method of converting attributes values of continuous data into a finite set of intervals with minimum data loss. In this example I have taken the built in dataset provided by Orange namely **iris **which classifies the people based on their characteristics. For performing discretization **Discretize **function is used.

Here we can see the original dataset before performing discretization and discretized dataset after performing discretization.

As we can see in the above image instead of the continuous value in the original dataset, after discretization the dataset has values into finite set of intervals.

**Continuization**

Given a data table, return a new table in which the discretize attributes are replaced with continuous or removed.

- binary variables are transformed into 0.0/1.0 or -1.0/1.0 indicator variables, depending upon the argument
`zero_based`

. - multinomial variables are treated according to the argument
`multinomial_treatment`

. - discrete attribute with only one possible value are removed.

**Continuize_Indicators**

The variable is replaced by indicator variables, each corresponding to one value of the original variable. For each value of the original attribute, only the corresponding new attribute will have a value of one and others will be zero. This is the default behaviour.

For example as shown in the below code snippet, dataset “titanic” has feature “status” with values “crew”, “first”, “second” and “third”, in that order. Its value for the 5th row is “first”. Continuization replaces the variable with variables “status=crew”, “status=first”, “status=second” and “status=third”.

For the 5th row, the variable “status=first” has value 1 and the values of the other three variables are 0:

**Normalization**

**Normalization **is used to scale the data of an attribute so that it falls in a smaller range, such as -1.0 to 1.0 or 0.0 to 1.0. Normalization is generally required when we are dealing with attributes on a different scale, otherwise, it may lead to a dilution in effectiveness of an important equally important attribute(on lower scale) because of other attribute having values on larger scale. We use the **Normalize **function to perform normalization.

All values between range 0 and 1 after normalization

**Randomization**

With randomization, given a data table, preprocessor returns a new table in which the data is shuffled. **Randomize **function is used from the Orange library to perform randomization.

Preprocessor returns a new table in which the data is shuffled.

So this was data preprocessing in Orange by using python.