rsparseでFM
library(rsparse); library(mlbench); library(caret); library(tidyverse)
data(BostonHousing)
trainIndex <- createDataPartition(BostonHousing$medv,
p = 0.7,
list = FALSE)
train_set <- BostonHousing[trainIndex,]
test_set <- BostonHousing[-trainIndex,]
y_train <- train_set$medv
y_test <- test_set$medv
x_train <- as.matrix(train_set %>% select(-medv))
x_test <- as.matrix(test_set %>% select(-medv))
FM <- FactorizationMachine$new(rank = 4, task = "regression", intercept = TRUE)
FM$fit(x_train, y_train)
p1 <- FM$predict(x_train)
p2 <- FM$predict(x_test)
plot(p1,
y_train,
pch = 16,
col = 6,
xlim = c(-220000000, 400000000),
ylim = c(0, 50),
ann = F)
par(new = T)
plot(p2,
y_test,
pch = 21,
col = 1,
xlim = c(-220000000, 400000000),
ylim = c(0, 50)
)
予測値なんでこうなるんや。 これでいいのかわからんが今日はここまで。
rsparseでFM