Skip to content

Instantly share code, notes, and snippets.

@darioappsilon
darioappsilon / scatterplots.R
Created December 17, 2020 10:43
011_scatter_plots
ggplot(mtcars, aes(x = mpg, y = hp)) +
geom_point(color = "#0099f9", size = 5) +
geom_point(aes(size = qsec, color = cyl)) +
labs(
x = "Miles per Gallon",
y = "Horse power"
) +
theme(
axis.title.x = element_text(color = "#0099f9", size = 16, face = "bold"),
axis.title.y = element_text(color = "#0099f9", size = 16, face = "italic")
@darioappsilon
darioappsilon / scatterplots.R
Created December 17, 2020 10:44
012_scatter_plots
ggplot(mtcars, aes(x = mpg, y = hp)) +
geom_point(aes(size = qsec, color = cyl)) +
theme(legend.position = "top")
@darioappsilon
darioappsilon / scatterplots.R
Created December 17, 2020 10:44
013_scatter_plots
ggplot(mtcars, aes(x = mpg, y = hp)) +
geom_point(size = 5, color = "#0099f9") +
geom_rug()
@darioappsilon
darioappsilon / linear_regression.R
Last active December 22, 2020 09:31
001_linear_regression
library(ggplot2)
# Generate synthetic data with a clear linear relationship
x <- seq(from = 1, to = 300)
y <- rnorm(n = 300, mean = x + 2, sd = 25)
# Convert to dataframe
simple_lr_data <- data.frame(x, y)
# Visualize as scatter plot
@darioappsilon
darioappsilon / linear_regression.R
Created December 22, 2020 09:24
002_linear_regression
# Calculate coefficients
b1 <- (sum((x - mean(x)) * (y - mean(y)))) / (sum((x - mean(x))^2))
b0 <- mean(y) - b1 * mean(x)
# Define function for generating predictions
simple_lr_predict <- function(x) {
return(b0 + b1 * x)
}
# Apply simple_lr_predict() to input data
@darioappsilon
darioappsilon / linear_regression.R
Last active December 22, 2020 09:30
003_linear_regression
library(reshape)
# Load in th dataset
df <- read.csv("Fish.csv")
# Remove target variable
temp_df <- subset(df, select = -c(Weight))
melt_df <- melt(temp_df)
# Draw boxplot
@darioappsilon
darioappsilon / linear_regression.R
Created December 22, 2020 09:25
004_linear_regression
library(caTools)
set.seed(42)
# Train/Test split in 70:30 ratio
sample_split <- sample.split(Y = df$Weight, SplitRatio = 0.7)
train_set <- subset(x = df, sample_split == TRUE)
test_set <- subset(x = df, sample_split == FALSE)
# Fit the model and obtain summary
model <- lm(Weight ~ ., data = train_set)
@darioappsilon
darioappsilon / linear_regression.R
Created December 22, 2020 09:26
005_linear_regression
# Get residuals
lm_residuals <- as.data.frame(residuals(model))
# Visualize residuals
ggplot(lm_residuals, aes(residuals(model))) +
geom_histogram(fill = "#0099f9", color = "black") +
theme_classic() +
labs(title = "Residuals plot")
@darioappsilon
darioappsilon / linear_regression.R
Created December 22, 2020 09:28
006_linear_regression
# Make predictions on the test set
predictions <- predict(model, test_set)
# Convert to dataframe
eval <- cbind(test_set$Weight, predictions)
colnames(eval) <- c("Y", "Yhat")
eval <- as.data.frame(eval)
head(eval)
@darioappsilon
darioappsilon / linear_regression.R
Created December 22, 2020 09:28
007_linear_regression
# Evaluate model
mse <- mean((eval$Y - eval$Yhat)^2)
rmse <- sqrt(mse)