小编Elr*_*ond的帖子

熊猫.rolling指定时间窗口和win_type

我想在使用熊猫的不规则时间序列上使用时间窗口来计算移动平均值。理想情况下,应使用pandas.DataFrame.ewm对窗口进行指数加权,但参数(例如span)不接受基于时间的窗口。如果尝试使用pandas.DataFrame.rolling则会意识到我们无法将基于时间的窗口与win_type结合使用。

dft = pd.DataFrame({'B': [0, 1, 2, 3, 4]},
                   index = pd.Index([pd.Timestamp('20130101 09:00:00'),
                                     pd.Timestamp('20130101 09:00:02'),
                                     pd.Timestamp('20130101 09:00:03'),
                                     pd.Timestamp('20130101 09:00:05'),
                                     pd.Timestamp('20130101 09:00:06')],
                                    name='foo'))
dft.rolling('2s', win_types='triang').sum()
>>> ValueError: Invalid window 2s
Run Code Online (Sandbox Code Playgroud)

如何计算不规则时间序列上基于时间的加权移动平均数不相等?

预期输出dft.ewm(alpha=0.9, adjust=False).sum()与一个窗口相关联'2s'[0*1, 1*1, 2*1+1*0.9, 3*1, 4*1+3*0.9]

python time-series moving-average pandas

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

如何调整R中h2o.grid中的hidden_​​dropout_ratios

我想在R中使用h2o调整神经网络.这里我提供了一个可重现的虹膜数据集示例.我正在避免调整etaepsiplon(即ADADELTA超参数),其唯一目的是使计算更快.

require(h2o)
h2o.init()
data(iris)
iris = iris[sample(1:nrow(iris)), ]
irisTrain = as.h2o(iris[1:90, ])
irisValid = as.h2o(iris[91:120, ])
irisTest = as.h2o(iris[121:150, ])
hyper_params <- list(
    input_dropout_ratio = list(0, 0.15, 0.3),
    hidden_dropout_ratios = list(0, 0.15, 0.3, c(0,0), c(0.15,0.15),c(0.3,0.3)),
    hidden = list(64, c(32,32)))
grid = h2o.grid("deeplearning", x=colnames(iris)[1:4], y=colnames(iris)[5],
                training_frame = irisTrain, validation_frame = irisValid,
                hyper_params = hyper_params, adaptive_rate = TRUE,
                variable_importances = TRUE, epochs = 50, stopping_rounds=5,
                stopping_tolerance=0.01, activation=c("RectifierWithDropout"),
                seed=1, reproducible=TRUE)
Run Code Online (Sandbox Code Playgroud)

输出是:

Details: ERRR on field: _hidden_dropout_ratios: Must have 1 …
Run Code Online (Sandbox Code Playgroud)

r neural-network deep-learning h2o

4
推荐指数
1
解决办法
1285
查看次数

如何在没有大容量复制程序(BCP)的情况下批量插入到Azure SQL数据库?

我希望在可能不超过 10 分钟左右的时间内将大小不超过 50MB 的 .csv 文件批量插入 Azure SQL 数据库中。

但是,批量插入不适用于云。正如另一个线程中指出的,BCP 是一个可行的解决方案,但它需要将数据批量插入本地数据库。然而,这在 PaaS 基础设施中不是一个选项,因为在操作系统级别没有控制,并且无法创建和管理数据库。

目前,使用标准 S3:100 DTU、250 GB Azure SQL 数据库逐个上传 131KB 的 .csv 需要 10 分钟以上。如何将上传速度提升至少一个数量级?

import pandas as pd
import sqlalchemy
table = pd.Dataframe(<your_data_here>)
sql_driver = <driver>
sql_server = <server>
sql_user = <user>
sql_pass = <password>
sql_db = <database_name>
sql_conn = sqlalchemy.create_engine(
    'mssql+pyodbc://'+sql_user+':'+sql_pass+'@'+sql_server+'/'+sql_db+'?driver='+sql_driver)
table.to_sql('table_name', con=sql_conn)
Run Code Online (Sandbox Code Playgroud)

python bulkinsert sqlalchemy azure-sql-database

0
推荐指数
1
解决办法
1550
查看次数