
INTRODUCTION TO DATA SCIENCE:
What is Data Science?
Who is Data Scientist?
Who can be Data Scientist?
Data Science Process
Modern Data Scientist
Data Science Workflow
Technologies used in Data Science
What is DATA SCIENCE :
Data science is a "concept to statistics, data analysis, machine learning and their related methods" in order to "understand and analyze” with data.
Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from data in various forms, both structured and unstructured, similar to data mining.
Data Science is also called as "The Sexiest Job of the 21st Century".
DATA ANALYSIS:
Data analysis is the process of extracting information from data. It involves multiple stages including establishing a data set, preparing the data for processing, applying models, identifying key findings and creating reports.
The goal of data analysis is to find actionable insights that can inform decision making.
Data analysis can involve data mining, descriptive and predictive analysis, statistical analysis, business analytics and big data analytics.
Who is Data Scientist:
Statistician + Software Engineer
A person who is better at statistics than any software engineer or a person who is better at software engineering than any statistician is a data scientist.
Who can be Data Scientist:
Computing Skills + Mathematics, Probability & Statistical Knowledge + Domain Expertise can be a data scientist
Data Science Process:
Real World -> Raw data collected -> Data is processed -> Clean Data set -> Exploratory Data Analysis -> Models & Algorithms -> Communicate visual report (Making Decisions) -> Data Product -> Real World
Modern Data Scientist:
Math & Statistics
Programming & Database
Domain Knowledge & Soft Skills
Communication & Visualization
Data Science Workflow:
Problem definition
Data Collection & Preparing
Model Development
Model Deployment
Performance Improvement
Technologies used in Data Science:
R
Python
Weka etc.......
Machine Learning:
It is similar like Human Learning
Machine learning is the sub-field of computer science that, according to Arthur Samuel, gives "computers the ability to learn without being explicitly programmed."
Samuel, an American pioneer in the field of computer gaming and artificial intelligence, coined the term "machine learning" in 1959 while at IBM.
Machine learning is a field of computer science that uses statistical techniques to give computer systems the ability to "learn" (e.g., progressively improve performance on a specific task) with data, without being explicitly programmed.
Traditional Programming vs Machine Learning:
In traditional programming, if we give inputs + programs to the computer, then computer gives the output.
In machine learning, if we give inputs + outputs to the computer, then computer gives the program (Predictive Model).
Example 1: Here "a" and "b" are inputs and "c" is output
a b c
1 2 3
2 3 5
3 4 7
4 5 9
9 10 ?
What is the output of c ?
Example 2: Here "x" is input and "y" is output
x y
1 10
2 20
3 30
4 40
5 ?
500 ?
y ~ x : y = 10x
Example 3: Here "x" is input and "y" is output
x y
1 14
2 18
3 22
4 26
5 ?
500 ?
here we can observe linear regression
y ~ x : y = mx+c here m is slope and c is constant
y = 4x+10
Machine Learning Engineer:
Convert the business data into statistical model
Make the machine to develop (train) the model
Evaluate the performance of the model
Actual vs Predicted (% accuracy, % error)
Techniques to improve the performance.
(Classification, Regression, Clustering)
Technologies used in Machine Learning:
R
Python
Weka
Amazon Machine Learning
Java etc.....
R:
R is a programming language
Free software
Statistical computing, graphical representation and reporting.
Designed by: Ross Ihaka, Robert Gentleman, Developed at University of Aukland
Derived from S and S-plus language (commercial product)
Typing discipline: Dynamic
Stable release: 3.5.1 ("Feather Spray") / July 2, 2018; 55 days ago
First appeared: August 1993; 25 years ago
License: GNU GPL
Functional based language
Interpreted programming language
Distributed by CRAN (Comprehensive R Archive Network)
Open source product (R-Community)
Functions are available as a package
Default packages are already attached to the R-console eg base, utils, stats, graphics etc
Attach the package to the R-application
Install Add-on packages from CRAN Mirrors.
Write a program to print HELLO WORLD in C language:
#include<stdio.h>
#include<conio.h>
void main()
{
printf("HELLO WORLD");
getch();
}
Write a program to print HELLO WORLD in Java:
class Hello
{
public static void main(String args[])
{
System.out.println("HELLO WORLD");
}
}
Write a program to print HELLO WORLD in R:
print("HELLO WORLD")
NOTE: R programming language is very simple to learn when compare to traditional programming languages (C, C++, C#, Java).
How to Download & Install R:
Once goto official website of R i.e., www.r-project.org
(or)
Search "R" in Google and click on first link (The R Project for Statistical Computing).
Click on "Download R".
Click on any one of the CRAN Mirror. Eg: https//cloud.r-project.org
Click on Download R for Windows.
Click on Install R for the first time.
Finally click on Download R 3.5.1 for Windows (32/64 bit).
Setting R Environment:
R come with a lot of packages.
By default only some packages will be attached to the R environment.
search()
displays the currently attached packages
installed.packages()
displays the installed packages in the machine
library(package name) / require(package name)
attaches the packages to the R application
install.packages("package name")
installs the add-on packages from CRAN
detach(package:package name)
detaches the packages from the R environment
Package - Help
library(help="package name")
Function - Help
help(function name)
or
?function name
Variables in R:
A valid variable name consists of letters, numbers and the dot or underline characters. The variable name starts with a letter or the dot not followed by a number.
Variable Name Validity
a_2. Valid
.a Valid
a.b Valid
a% Invalid
1a Invalid
.1a Invalid
_a Invalid
Operators in R:
An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.
We have the following types of operators in R Programming:
Relational operator
==,<,>,<=,>=,!=
Logical operators
& (AND), | (OR), ! (NOT)
Mathematical operators
+,-,*,/,%% (Module), ^/** (Exp), %/% (Integer division)
Assignment operators
Assign the values:
=
<-
->
assign("var_name",value)
Data/Object types in R:
R is called as a Dynamic typed language, which means that we can change a variable's data type of the same variable again and again when using it in a program.
Dynamic typed language (No Declaration)
Logical - TRUE,FALSE,T,F
Double - 10,20.30,45,-45
Integer - 10L,35.34L,-55L
Character - "Data", "Hills", "7"
Complex - 3+6i,2+10i
typeof(var_name/value):
Returns the internal storage data type.
a <- 10
typeof(a)
double
a <- "DataHills"
typeof(a)
character
to test the data type:
is.datatype(var_name/value)
is.logical(TRUE)
convert the data type:
as.datatype(var_name/value)
as.integer(a)
Comments in R:
==============
--> Single comment is written using # in the beginning of the statement.
# Comments are like helping text in your R Program
--> Multi-line comments is written using if()
if(FALSE) {
"We put such comments inside, either
single or double quote" }
Variable Assignment:
===================
1. print()
2. cat()
print():
-------
--> print() function is used to print the value stored in variable
Ex:
a <- 10
print(a)
cat():
-----
--> cat() function is used to combines multiples items into a continuous print output.
Ex:
a <- "DataHills"
cat("Welcome to ", a)
Datatype of a Variable:
=======================
1. typeof()
2. class()
3. mode()
1. typeof(var_name/value)
-------------------------
--> typeof determines the (R internal) type or storage mode of any object
Ex:
typeof(a)
typeof(10)
2.class(var_name/value)
-----------------------
--> R possesses a simple generic function mechanism which can be used for an object-oriented style of programming.
--> Method dispatch takes place based on the class of the first argument to the generic function.
Ex:
class(a)
class(10)
3. mode(var_name/value)
-----------------------
--> Get or set the type or storage mode of an object.
Ex:
mode(a)
mode(10)
Displaying & Deleting Variables in R:
=====================================
1. ls()
2. rm()
1. ls():
--------
--> ls() function is used to display all the variables currently availabe in the R environment.
Ex:
ls()
--> ls() function is also used to display patterns to match the variables names by using pattern.
Ex:
# Display the variables starting with the pattern "a"
ls(pattern="a")
--> ls() function is also used to display hidden variables i.e, the variable starting with dot(.) by using all.names=TRUE.
Ex: Display the variables which are hidden
ls(all.names=TRUE)
--> rm() function is used to delete the variable.
Ex:
rm(a)
--> rm() function is also used to delete all the variables by using rm() and ls() function together.
Ex: Remove all the variables at a time
rm(list=ls())
Structures/Objects in R:
========================
1. Vectors
2. Lists
3. Matrices
4. Data Frames
5. Arrays
6. Factors
Vectors:
========
--> Single dimensional object with homogenous data types.
--> To create a vector use fucntion c()
--> Here "c" means combine
# if i try like this
a <- 10,20,30,40
it gives an error.
# then combine all these values by using c()
a <- c(10,20,30,40)
# to check the internal storage of a
typeof(a)
# to check the internal storage of each value in a
lapply(a,FUN=typeof)
sapply(a,FUN=typeof)
or
lapply(a,typeof) # list of values
sapply(a,typeof) # vector of values
--> Vectors are the most basic R structures/objects
--> The types of atomic vectors are in
1. logical
2. integer
3. double
4. complex
5. character
Vector Creation:
================
--> We can create vectors with single element and multiple elements.
--> They are
1. Single Element Vector
2. Multiple Elements Vector
Single Element Vector:
======================
--> When we assign a single value into variable, it becomes a vector of length 1 and belongs to one of the above vector types.
Ex:
a <- 10
b <- 20L
c <- "DataHills"
d <- TRUE
e <- 2+3i
Multiple Elements Vector:
=========================
--> When we assign multiple value into a variable, it becomes a vector of length n
and belongs to one of the above vector types.
Ex:
a <- c(10,20,30,40,50)
b <- c(20L,40L,60L,80L)
c <- c("Srinivas","DataHills","DataScience","MachineLearning")
d <- c(T,FALSE,TRUE,F,T,F)
e <- c(2+3i,4+4i,5+6i)
# Heterogeneous data type values are converted into homogeneous data type values:
a <- c(10,20,30,40,"DataHills")
Output:
"10" "20" "30" "40" "DataHills"
# The double and character values are converted into characters.
Observer with some examples:-
a <- c(10L,20)
a <- c(T,5)
a <- c(2+3i,"DataHills")
a <- c(9L,30,4+5i)
Here data types having some priority, based on that they are converting.
i.e, Lower data types to higher data types
1. CHARACTER
2. COMPLEX
3. DOUBLE
4. INTEGER
5. LOGICAL
a <- c(TRUE,30,20L,2+3i,"DataHills")
a <- c(TRUE,30,20L,2+3i)
a <- c(TRUE,30,20L)
a <- c(TRUE,20L)
To generate a sequence of numeric values
<Start_Value>:<End_Value>
1:10
10:1
3.5:10.5
10.5:3.5
# by using seq() function
Syntax: seq(from=VALUE,to=VALUE,by=VALUE)
Ex: seq(from=1,to=10,by=1)
seq(to=10,by=1,from=1)
seq(by=10,to=100,from=10)
seq(1,10,by=2)
seq(from=1,10,2)
seq(1,to=10,2)
seq(1,10,1)
seq(2,20,2)
seq(10,1,1) # Error
seq(10,1,-1)
seq(1,10,pi)
seq(10)
seq(-10)
seq(1:10)
Explore how to use constants in R to manipulate vectors, subset data, generate sequences, and index by position, names, or logical vectors, including letters and months.
Install and set up RStudio, and navigate its code editor, console, and environment pane. Explore vectors, atomic vectors, and lists, and learn to create and manipulate these structures inside R.
Explore how lists in R combine heterogeneous data types, contrast with atomic vectors, and learn to create, name, and access nested lists using index, names, and dollar syntax.
Explore list to vector conversions with unlist, access by name or position, and basic manipulation before forming matrices, highlighting homogeneous vs heterogeneous data types.
Explore matrix construction and access in depth, including creating matrices, assigning row and column names, managing dimensions, and indexing by rows, columns, names, and logical indices.
Master matrix manipulation by creating and reshaping matrices, applying the repeat function for replication, and accessing or updating elements, then build and inspect data frames.
Explore how to create and manipulate data frames, including setting strings as factors, inspecting structure, summarizing statistics, and accessing rows and columns via [, [[, and $.}
Learn to merge data frames by binding rows and columns with cbind and rbind, and to merge two frames by a common column using by, by.x, and by.y.
Learn string manipulation in R with the stringi package, covering splitting by boundaries, text transformation, and date and time handling including system time, system date, and standard formats.
Extract data from csv files by loading into R, setting the working directory, and reading csvs with read.csv, then explore data frames through head, tail, and subsetting.
Master data extraction from excel files in R by reading and writing csv and Excel formats, managing working directories, subsetting data, and handling sheet names, headers, and row names.
Explore subqueries and select techniques, including any and exists, with inner and outer queries. Learn data manipulation and constraints, including primary key, unique key, not null, and foreign key constraints.
Learn to manipulate the air quality dataset with dplyr: use distinct, select, rename, filter, mutate, summarize, group_by, and the pipe operator to analyze variables and create new metrics.
Explore tidyr functions for reshaping data, including gather, spread, and melt, to convert between long and wide formats, with practical examples from tidy data workflows.
Master data visualization with pie charts, 3D pie charts, and bar charts, and learn to add labels, colors, legends, and basic statistical context for clear business insights.
Explore histograms and line graphs in data analysis using R, and learn to create bar charts and box plots with axis labels, colors, borders, and data distributions.
Explore bar plots and density plots, learn to create and customize multiple plots in a single graph, and apply these techniques to real-time credit and grades data.
Learn to create and arrange scatter plots, box plots, histograms, and pie charts in R, using matrix layouts and functions like mfrow to compare multiple plots.
Set the seed to ensure reproducible randomization, then prepare data for plotting by converting to long format with reshape2 melt and gather, and visualize with ddplot.
Explore Q plot and violin plot visualizations, apply correlation analysis, and learn core statistical methods for data analysis, including box plots and variance.
Learn how machine learning uses supervised and unsupervised learning, including classification, regression, clustering, and association rules, to train and evaluate models and solve real-time problems.
K-nearest neighbor classification uses euclidean distance to assign labels, splits data into training and testing sets, and iteratively improve model performance in supervised learning.
Explore naive bayes classification for sms spam detection using text mining: build and clean a corpus, remove stop words, numbers, punctuation, and whitespace, then analyze ham vs spam texts.
Prepare a corpus from raw data and clean text to create a document-term matrix. Generate a word cloud and analyze ham versus spam using train-test splits.
Learn to distinguish regression from classification, build simple and multiple linear regression and logistic regression models using predictors and a continuous target, and evaluate predictions with training, testing, and plots.
Explore generalized linear regression, non linear regression, and logistic regression using R, covering linear and multiple regression fundamentals, model syntax with GLM and PLM, and prediction workflows.
Learn how association rules reveal item relationships in market basket analysis, using support, confidence, and lift to discover frequent item sets from unsupervised data.
Explore the WEKA machine learning toolkit to perform data preprocessing, classification, regression, clustering, and association rules on real datasets like Iris, with supervised and unsupervised learning.
Explore Python libraries for data science, including datasets, data frames and series, for analysis, prediction, and visualization with matplotlib, plus stats models for supervised and unsupervised learning.
DATA SCIENCE with MACHINE LEARNING and DATA ANALYTICS using R Programming, PYTHON Programming, WEKA Tool Kit and SQL.
This course is designed for any graduates as well as Software Professionals who are willing to learn data science in simple and easy steps using R programming, Python Programming, WEKA tool kit and SQL.
Data is the new Oil. This statement shows how every modern IT system is driven by capturing, storing and analysing data for various needs. Be it about making decision for business, forecasting weather, studying protein structures in biology or designing a marketing campaign. All of these scenarios involve a multidisciplinary approach of using mathematical models, statistics, graphs, databases and of course the business or scientific logic behind the data analysis. So we need a programming language which can cater to all these diverse needs of data science. R and Python shines bright as one such language as it has numerous libraries and built in features which makes it easy to tackle the needs of Data science.
In this course we will cover these the various techniques used in data science using the R programming, Python Programming, WEKA tool kit and SQL.
The most comprehensive Data Science course in the market, covering the complete Data Science life cycle concepts from Data Collection, Data Extraction, Data Cleansing, Data Exploration, Data Transformation, Feature Engineering, Data Integration, Data Mining, building Prediction models, Data Visualization and deploying the solution to the customer. Skills and tools ranging from Statistical Analysis, Text Mining, Regression Modelling, Hypothesis Testing, Predictive Analytics, Machine Learning, Deep Learning, Neural Networks, Natural Language Processing, Predictive Modelling, R Studio, programming languages like R programming, Python are covered extensively as part of this Data Science training.