Data Science with R in 4 Weeks - Week 3 - Day2

Regression Analysis

回归分析是非常有用的分析方法,而线性回归又是回归分析中常用的方法。有一个著名的说法,90% 的问题可以用regression analysis解决。

这一节介绍regression analysis,并通过一个例子来说明现行回归分析在实际业务中的应用。

我们使用 http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/

的dataset作为演示的例子。

pima <- read.table(file="pima-indians-diabetes.data", header=F, sep=",")

Data Science with R in 4 Weeks - Week 3 - Day2_第1张图片


Data Science with R in 4 Weeks - Week 3 - Day2_第2张图片

glucose,bmi, insulin的最小值都是0。这有些异常。bmi不太可能是0。这里的0有可能是缺失的数据,NA。我们需要对这样的数据重新编码,因为0 会被当做一个数值,从而影响最后的结果。

对缺失的数据进行编码

> pima$glucose[pima$glucose==0] <- NA

> pima$bp[pima$bp==0] <- NA

> pima$triceps[pima$triceps==0] <- NA

> pima$insulin[pima$insulin==0] <- NA

> pima$bmi[pima$bmi==0] <- NA

同样的,class应该表示类别,而不是简单的一个数值。我们让class作为categorical data。

pima$class <- factor(pima$class)

重新再检查一下数据

Data Science with R in 4 Weeks - Week 3 - Day2_第3张图片

可以做一个简单的linear model :

> test.lm <- lm(bmi ~ triceps, data = pima)


Data Science with R in 4 Weeks - Week 3 - Day2_第4张图片

multiple regression


Data Science with R in 4 Weeks - Week 3 - Day2_第5张图片

结果显示,npreg,age 与bmi没有显著的线性关系。R square 只有 45.7%。model fit的并不好。

你可能感兴趣的:(Data Science with R in 4 Weeks - Week 3 - Day2)