SciKit Data
Conda package current release info
About SciKit Data
The propose of this library is to allow the data analysis process more easy and automatic.
The data analysis process is composed of following steps:
- The statement of problem
- Collecting your data
- Cleaning the data
- Normalizing the data
- Transforming the data
- Exploratory statistics
- Exploratory visualization
- Predictive modeling
- Validating your model
- Visualizing and interpreting your results
- Deploying your solution
(Cuesta, Hector and Kumar, Sampath; 2016)
This project contemplates the follow features:
- Data Preparation
- Data Exploration
- Prepare data to Predictive modeling
- Visualizing results
- Reproducible data analysis
Data Preparation
Data preparation is about how to obtain, clean, normalize, and transform the data into an optimal dataset, trying to avoid any possible data quality issues such as invalid, ambiguous, out-of-range, or missing values.
(...)
Scrubbing data, also called data cleansing, is the process of correcting or removing data in a dataset that is incorrect, inaccurate, incomplete, improperly formatted, or duplicated.
(...)
In order to avoid dirty data, our dataset should possess the following characteristics:
- Correct
- Completeness
- Accuracy
- Consistency
- Uniformity
(...)
Data transformation
Data transformation is usually related to databases and data warehouses where values from a source format are extract, transform, and load in a destination format.
Extract, Transform, and Load (ETL) obtains data from various data sources, performs some transformation functions depending on our data model, and loads the resulting data into the destination.
(...)
Some important transformations:
- Text facet and Clustering
- Numeric fact
- Replace
Data reduction methods
Data reduction is the transformation of numerical or alphabetical digital information derived empirically or experimentally into a corrected, ordered, and simplified form. Reduced data size is very small in volume and comparatively original, hence, the storage efficiency will increase and at the same time we can minimize the data handling costs and will minimize the analysis time also.
We can use several types of data reduction methods, which are listed as follows:
- Filtering and sampling
- Binned algorithm
- Dimensionality reduction
(Cuesta, Hector and Kumar, Sampath; 2016)
Data exploration
Data exploration is essentially looking at the processed data in a graphical or statistical form and trying to find patterns, connections, and relations in the data. Visualization is used to provide overviews in which meaningful patterns may be found.
(...)
The goals of exploratory data analysis (EDA) are as follows:
- Detection of data errors
- Checking of assumptions
- Finding hidden patters (like tendency)
- Preliminary selection of appropriate models
- Determining relationships between the variables
(...)
The four types of EDA are univariate nongraphical, multivariate nongraphical, univariate graphical, and multivariate graphical. The nongraphical methods refer to the calculation of summary statistics or the outlier detection. In this book, we will focus on the univariate and
(Cuesta, Hector and Kumar, Sampath; 2016)
Outlier Detection
Two outlier detection method should be used, initially, for SkData are:
- IQR;
- Chauvenet.
Another methods should be implemented soon [1].
Prepare data to Predictive modeling
From the galaxy of information we have to extract usable hidden patterns and trends using relevant algorithms. To extract the future behavior of these hidden patterns, we can use predictive modeling. Predictive modeling is a statistical technique to predict future behavior by analyzing existing information, that is, historical data. We have to use proper statistical models that best forecast the hidden patterns of the data or information (Cuesta, Hector and Kumar, Sampath; 2016).
SkData, should allow you to format your data to send it to some predictive library as scikit-learn.
Visualizing results
In an explanatory data analysis process, simple visualization techniques are very useful for discovering patterns, since the human eye plays an important role. Sometimes, we have to generate a three-dimensional plot for finding the visual pattern. But, for getting better visual patterns, we can also use a scatter plot matrix, instead of a three-dimensional plot. In practice, the hypothesis of the study, dimensionality of the feature space, and data all play important roles in ensuring a good visualization technique (Cuesta, Hector and Kumar, Sampath; 2016).
Quantitative and Qualitative data analysis
Quantitative data are numerical measurements expressed in terms of numbers.
Qualitative data are categorical measurements expressed in terms of natural language descriptions.
Quantitative analytics involves analysis of numerical data. The type of the analysis will depend on the level of measurement. There are four kinds of measurements:
- Nominal data has no logical order and is used as classification data.
- Ordinal data has a logical order and differences between values are not constant.
- Interval data is continuous and depends on logical order. The data has standardized differences between values, but do not include zero.
- Ratio data is continuous with logical order as well as regular intervals differences between values and may include zero.
Qualitative analysis can explore the complexity and meaning of social phenomena. Data for qualitative study may include written texts (for example, documents or e-mail) and/or audible and visual data (digital images or sounds).
(Cuesta, Hector and Kumar, Sampath; 2016)
Reproducibility for Data Analysis
A good way to promote reproducibility for data analysis is store the operation history. This history can be used to prepare another dataset with the same steps (operations).
Books used as reference to guide this project:
- https://www.packtpub.com/big-data-and-business-intelligence/clean-data
- https://www.packtpub.com/big-data-and-business-intelligence/python-data-analysis
- https://www.packtpub.com/big-data-and-business-intelligence/mastering-machine-learning-scikit-learn
- https://www.packtpub.com/big-data-and-business-intelligence/practical-data-analysis-second-edition
Some other materials used as reference:
- https://github.com/rsouza/MMD/blob/master/notebooks/3.1_Kaggle_Titanic.ipynb
- https://github.com/agconti/kaggle-titanic/blob/master/Titanic.ipynb
- https://github.com/donnemartin/data-science-ipython-notebooks/blob/master/kaggle/titanic.ipynb
Installing scikit-data
Using conda
Installing scikit-data from the conda-forge channel can be achieved by adding conda-forge to your channels with:
$ conda config --add channels conda-forge
Once the conda-forge channel has been enabled, scikit-data can be installed with:
$ conda install scikit-data
It is possible to list all of the versions of scikit-data available on your platform with:
$ conda search scikit-data --channel conda-forge
Using pip
To install scikit-data, run this command in your terminal:
$ pip install skdata
If you don't have pip installed, this Python installation guide can guide you through the process.
More Information
- License: MIT
- Documentation: https://skdata.readthedocs.io
References
- CUESTA, Hector; KUMAR, Sampath. Practical Data Analysis. Packt Publishing Ltd, 2016.
Electronic materials