小编mac*_*iek的帖子

R 中的 xgboost 预测在稀疏矩阵和稠密矩阵上是不同的

我使用xgboostR 中的库在稀疏.model.matrix 生成的矩阵上训练了一个简单模型,然后对两个验证数据集进行了预测 - 一个由sparse.model.matrixfrom创建Matrix,第二个由model.matrixfrom创建stats。令我惊讶的是,结果差异很大。稀疏矩阵和稠密矩阵具有相同的维度,所有数据都是数值数据并且不存在缺失值。

这两组的平均预测如下:

  • 密集验证矩阵:0.5009256
  • 稀疏验证矩阵:0.4988821

这是一个功能还是一个错误?

更新:

我注意到,当所有值均为正异或负时,不会发生错误。如果变量x1有定义x1=sample(1:7, 2000, replace=T),则两种情况下的均值预测相同。

R 中的代码:

require(Matrix)
require(xgboost)

valid <- data.frame(y=sample(0:1, 2000, replace=T), x1=sample(-1:5, 2000, replace=T), x2=runif(2000))
train <- data.frame(y=sample(0:1, 10000, replace=T), x1=sample(-1:5, 10000, replace=T), x2=runif(10000))

sparse_train_matrix <- sparse.model.matrix(~ ., data=train[, c("x1", "x2")])
d_sparse_train_matrix <- xgb.DMatrix(sparse_train_matrix, label = train$y)

sparse_valid_matrix <- sparse.model.matrix(~ ., data=valid[, c("x1", "x2")])
d_sparse_valid_matrix <- xgb.DMatrix(sparse_valid_matrix, label = valid$y)

valid_matrix <- model.matrix(~ ., data=valid[, …
Run Code Online (Sandbox Code Playgroud)

r machine-learning sparse-matrix xgboost

5
推荐指数
1
解决办法
2190
查看次数

批量以YYYYMM格式将日期插入MS SQL表中的日期字段

我有一个大文本文件(超过3亿条记录).有一个字段包含YYYYMM格式的日期.目标字段是日期类型,我正在使用MS SQL 2008 R2服务器.由于数据量巨大,我更喜欢使用批量插入.这是我已经做过的事情:

bulk insert Tabela_5
from 'c:\users\...\table5.csv'
with
(
    rowterminator = '\n',
    fieldterminator = ',',
    tablock
)
select * from Tabela_5
Run Code Online (Sandbox Code Playgroud)

201206在文件中原来是2020-12-06在服务器上,而我希望它2012-06-01(我不关心这一天).有没有办法将这种格式的日期批量插入日期类型的字段?

亲切的问候maciej pitucha

t-sql sql-server bulk sql-server-2008-r2 date-formatting

1
推荐指数
2
解决办法
2万
查看次数