from IPython.core.display import HTML styles = open("Style.css").read() HTML(styles) import pandas as pd import numpy as np import rpy2.robjects as robjects pi = robjects.r('pi') pi[0] %load_ext rmagic %%R -o error set.seed(10) y<-c(1:1000) x1<-c(1:1000)*runif(1000,min=0,max=2) x2<-(c(1:1000)*runif(1000,min=0,max=2))^2 x3<-log(c(1:1000)*runif(1000,min=0,max=2)) all_data<-data.frame(y,x1,x2,x3) positions <- sample(nrow(all_data),size=floor((nrow(all_data)/4)*3)) training<- all_data[positions,] testing<- all_data[-positions,] lm_fit<-lm(y~x1+x2+x3,data=training) print(summary(lm_fit)) predictions<-predict(lm_fit,newdata=testing) error<-sqrt((sum((testing$y-predictions)^2))/nrow(testing)) print error %%R -o training,testing set.seed(10) y<-c(1:1000) x1<-c(1:1000)*runif(1000,min=0,max=2) x2<-(c(1:1000)*runif(1000,min=0,max=2))^2 x3<-log(c(1:1000)*runif(1000,min=0,max=2)) all_data<-data.frame(y,x1,x2,x3) positions <- sample(nrow(all_data),size=floor((nrow(all_data)/4)*3)) training<- all_data[positions,] testing<- all_data[-positions,] tr = pd.DataFrame(dict(zip(['y', 'x1', 'x2', 'x3'], training))) te = pd.DataFrame(dict(zip(['y', 'x1', 'x2', 'x3'], testing))) tr.head() from statsmodels.formula.api import ols lm = ols('y ~ x1 + x2 + x3', tr).fit() lm.summary() pred = lm.predict(te) error = sqrt((sum((te.y - pred)**2)) / len(te)) error X = np.array([0,1,2,3,4]) Y = np.array([3,5,4,6,7]) %%R -i X,Y -o XYcoef XYlm = lm(Y~X) XYcoef = coef(XYlm) print(summary(XYlm)) par(mfrow=c(2,2)) plot(XYlm) XYcoef