我对使用 python sklearn 的数据集进行了 10 倍交叉验证,
result = cross_val_score(best_svr, X, y, cv=10, scoring='r2')
print(result.mean())
Run Code Online (Sandbox Code Playgroud)
我已经能够得到 r2 分数的平均值作为最终结果。我想知道是否有办法打印出每个折叠的预测值(在本例中为 10 组值)。
我的目的是编写几个函数,旨在找到两个协方差矩阵之间的整体相似性,方法是将它们与随机向量相乘并关联响应向量,或者通过自举矩阵之一来获得可用于比较的相关系数分布。但在这两种情况下,我都得到了错误的结果。观察到的矩阵间相关性高达 0.93,但分布最多仅达到 0.2。这是函数的代码:
resamplerSimAlt <- function(mat1, mat2, numR, graph = FALSE)
{
statSim <- numeric(numR)
mat1vcv <- cov(mat1)
mat2vcvT <- cov(mat2)
ltM1 <- mat1vcv[col(mat1vcv) <= row(mat1vcv)]
ltM2T <- mat2vcvT[col(mat2vcvT) <= row(mat2vcvT)]
statObs <- cor(ltM1, ltM2T)
indice <- c(1:length(mat2))
resamplesIndices <- lapply(1:numR, function(i) sample(indice, replace = F))
for (i in 1:numR)
{
ss <- mat2[sample(resamplesIndices[[i]])]
ss <- matrix(ss, nrow = dim(mat2)[[1]], ncol = dim(mat2)[[2]])
mat2ss <- cov(ss)
ltM2ss <- mat2ss[col(mat2ss) <= row(mat2ss)]
statSim[i] <- cor(ltM1, ltM2ss)
}
if (graph == TRUE) …
Run Code Online (Sandbox Code Playgroud) 我用来fviz_pca_ind
制作 PCA 图,如下所示。
fviz_pca_ind(res.pca, geom="point", pointsize = 1, habillage=iris$Species, addEllipses=TRUE, ellipse.level=0.95
, palette = c("green", "orange", "grey"))
Run Code Online (Sandbox Code Playgroud)
我想删除质心,但保留我得到的不同颜色和椭圆habillage=iris$Species
。
col.ind
需要一个元素数量等于行数的向量。
library(boot)
set.seed(1)
x=sample(0:1000,1000)
y=function(u,i) sum(x[i])
o=boot(x,y,1000)
theta1=NULL
theta1=cbind(theta1,o$t)
b=theta1[order(theta1)]
bp1=c(b[25], b[975])
ci=boot.ci(o,type="perc")
Run Code Online (Sandbox Code Playgroud)
我使用两种方法来构建引导百分位数置信区间,但我得到了两个不同的答案。
bp1=c(b[25], b[975]) get (480474,517834)
Run Code Online (Sandbox Code Playgroud)
同时ci=boot.ci(o,type="perc")
得到 (480476, 517837 )
boot.ci 如何构建百分位区间?
我正在构建一个 KNN 模型来预测房价。我将检查我的数据和我的模型,然后是我的问题。
数据 -
# A tibble: 81,334 x 4
latitude longitude close_date close_price
<dbl> <dbl> <dttm> <dbl>
1 36.4 -98.7 2014-08-05 06:34:00 147504.
2 36.6 -97.9 2014-08-12 23:48:00 137401.
3 36.6 -97.9 2014-08-09 04:00:40 239105.
Run Code Online (Sandbox Code Playgroud)
模型 -
library(caret)
training.samples <- data$close_price %>%
createDataPartition(p = 0.8, list = FALSE)
train.data <- data[training.samples, ]
test.data <- data[-training.samples, ]
model <- train(
close_price~ ., data = train.data, method = "knn",
trControl = trainControl("cv", number = 10),
preProcess = c("center", "scale"),
tuneLength …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 ,从许多线性模型中输出一些结果,包括置信区间broom::tidy
,但输出似乎只包括第一个模型的置信区间。
线性模型具有相同的预测变量但不同的响应。
考虑以下示例:
library(tidyverse)
library(broom)
# Create toy dataframe.
df <- tibble(
x = sample(100, replace = TRUE),
y1 = runif(100),
y2 = rnorm(100)
)
# Fit linear models, each with x as predictor and y1 and y2 respectively as responses.
my_models <- lm(
cbind(y1, y2) ~ x,
data = df
)
# Output results as a tidy tibble.
tidy(my_models, conf.int = TRUE)
# Check confidence intervals with other function.
confint(my_models)
Run Code Online (Sandbox Code Playgroud)
该函数tidy(my_models, conf.int = TRUE)
返回以下内容: …
使用 XGBoostxgb.importance
可以打印重要性矩阵,显示通过增益、覆盖率和频率测量的分类的可变重要性值。增益是推荐的可变重要性指标。使用脱字符重采样(repeatedcv,数量=10,重复=5)、特定的调整网格和训练method = "xgbTree"
,脱字符varImp()
函数显示从 0-100% 缩放的 k 倍特征重要性估计。
我的问题是插入符varImp(xgbMod)
包装函数是否使用增益或增益、覆盖率和频率的所有组合?
我正在尝试用个人制作一个 PCA 图 - 其中一个分类变量 (A) 将表示为点形状(例如,一组为圆形,第二组为正方形等) - 和第二个分类变量( B)作为点内的颜色这可能吗?您会使用哪个代码?
使用 caret::train() 运行逻辑回归模型时出现问题。
LR = caret::train(Satisfaction ~., data= log_train, method = "glm", preProcess = c("scale"), family="binomial")
不断收到以下错误行:
summary.connection(connection) 中的错误:连接无效
这个错误对我来说似乎很新,因为当我之前运行此代码时,我没有看到任何问题。请帮忙!
我一直在使用 glmnet R 包为一个目标变量 Y(数字)和 762 个协变量构建 LASSO 回归模型。我使用 glmnet() 函数,然后coef(fit, s = 0.056360)
获取该特定 lambda 值的系数值。
我现在需要的是变量选择顺序,即首先选择选定的协变量中的哪一个(首先进入模型),第二个,第三个等等。
使用时,plot(fit, label = TRUE)
理论上我可以通过绘制的路径看到顺序,但是,协变量太多,标签难以辨认。
从图像中可以看到,第一个协变量是 267(绿色路径),然后是 12,但其余的难以辨认。
r ×9
r-caret ×3
factoextra ×2
pca ×2
broom ×1
correlation ×1
glmnet ×1
knn ×1
lm ×1
python ×1
regression ×1
scikit-learn ×1