每个 ID 有一个记录,包含开始日期和结束日期
id age state start_date end_date
123 18 CA 2/17/2019 5/4/2019
223 24 AZ 1/17/2019 3/4/2019
Run Code Online (Sandbox Code Playgroud)
我想为开始日和结束日之间的每一天创建一条记录,以便将日常活动数据加入其中。目标输出看起来像这样
id age state start_date
123 18 CA 2/17/2019
123 18 CA 2/18/2019
123 18 CA 2/19/2019
123 18 CA 2/20/2019
123 18 CA 2/21/2019
…
123 18 CA 5/2/2019
123 18 CA 5/3/2019
123 18 CA 5/4/2019
Run Code Online (Sandbox Code Playgroud)
当然,对数据集中的所有 id 及其各自的开始日期执行此操作。非常感谢任何帮助 - 谢谢!
我习惯于在 jupyter 中按 R 键将其更改为原始 NbConvert 类型,从而停用它,但我在 vscode 的快捷方式中没有看到该选项。有没有办法在 vscode 中将单元格更改为原始 nbconvert,或者防止单元格意外运行的某种等效方法?raw 格式是完美的,因为它很容易辨别
我对我的 Sagemaker 模型感到非常困惑,它给了我奇怪的预测,有很多数字重复(20% 的预测是相同的)。为了排除故障,我决定在本地下载模型并进行测试,它返回了我所期望的结果。
所以我现在处于一种奇怪的情况,模型在 Sagemaker 中给出的预测与在本地的预测不同。
以下是我重现错误所采取的步骤(完整代码如下):
Run Code Online (Sandbox Code Playgroud)Booster object prediction: 0.9954053 Classifier object prediction: 0.9954053 Sagemaker endpoint prediction 0.693799495697
我将助推器对象转换为分类器只是为了确保不会影响任何东西。
怎么会发生这种事?它使用完全相同的模型工件和数据,我是否遗漏了有关加载模型如何工作的信息?根据我的理解,除了模型工件和输入数据之外,没有其他任何东西可以定义端点,它们在这里都是相同的......
import pandas as pd
import time
import boto3, sagemaker
import numpy as np
from sagemaker.predictor import csv_serializer
import xgboost as xgb
import tarfile
import os
import pickle
sess = sagemaker.Session()
sm_client = boto3.client('sagemaker')
endpoint_config_name = 'week-2-endpoint-config-prod' # using an existing endpoint config for demo
endpoint_name = 'week2-temp'
# Set up endpoint
#create_endpoint_response = sm_client.create_endpoint(
#EndpointName=endpoint_name, …
Run Code Online (Sandbox Code Playgroud) amazon-web-services scikit-learn boto3 xgboost amazon-sagemaker
按照此处(和其他地方)找到的说明,我将 '%USERPROFILE%\AppData\Roaming\Python\Python37\Scripts\aws' 添加到 Path (最后尝试使用和不使用 \aws )
我在所有地方都单击了“确定”并重新启动 CLI,但仍然收到“‘aws’ 未被识别为内部或外部命令、可操作程序或批处理文件”的信息。在命令提示符下输入 aws 时(我在路径更新后重新启动了它)。有什么想法我可能会错过吗?
我通常使用以下方法来表达特征重要性
regr = XGBClassifier()
regr.fit(X, y)
regr.feature_importances_
Run Code Online (Sandbox Code Playgroud)
其中 type(regr) 是 。
但是,我有一个腌制的 mXGBoost 模型,解压后返回一个类型的对象。这与我运行 regr.get_booster() 的对象相同。
我找到了一些从助推器对象获取可变重要性的解决方案,但是有没有办法从助推器对象获取分类器对象,以便我可以应用相同的 feature_importances_ 命令?这似乎是最直接的解决方案,或者似乎我必须编写一个模仿 feature_importances_ 输出的函数,以便它适合我记录的特征重要性......
所以理想情况下我会有类似的东西
xbg_booster = pickle.load(open("xgboost-model", "rb"))
assert str(type(xgb_booster)) == "<class 'xgboost.core.Booster'>", 'wrong class'
xgb_classifier = xgb_booster.get_classifier()
xgb_classifier.feature_importances_
Run Code Online (Sandbox Code Playgroud)
在查找分类器方面,使用增强对象可以完成的操作是否有任何限制?我想有一些保存/加载/转储的组合可以让我得到我需要的东西,但我现在陷入困境......
另外,就上下文而言,pickled 模型是 AWS sagemaker 的输出,因此我只是将其解压以进行进一步的评估
我看到它被引用,但从未解释它是什么。
https://docs.spyder-ide.org/editor.html
谷歌搜索没有成功。
https://docs.spyder-ide.org/editor.html “在分隔符右侧提供描述将在大纲资源管理器中为该单元格提供自己的名称。” 听起来像导航单元格的东西?我在哪里可以找到它?是否有导航您创建的单元格的快捷方式?
谢谢!
我一直在关注 Databricks,因为它与 Kinesis 等 AWS 服务集成,但在我看来,SageMaker 是 Databricks 的直接竞争对手?我们大量使用 AWS,是否有任何理由将 DataBricks 添加到堆栈中或 odes SageMaker 充当相同的角色?
它工作得很好,直到它不起作用,并且不知道我做错了什么。我已将其简化为一个非常简单的数据集 t:
1 2 3 4 5 6 7 8
0 3 16 3 2 17 2 3 2
1 3 16 3 2 19 4 3 2
2 3 16 3 2 9 2 3 2
3 3 16 3 2 19 1 3 2
4 3 16 3 2 17 2 3 1
5 3 16 3 2 17 1 17 1
6 3 16 3 2 19 1 17 2
7 3 16 3 2 19 4 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取度量的总和、平均值和计数
df.groupby(['id', 'pushid']).agg({"sess_length": [ np.sum, np.mean, np.count]})
Run Code Online (Sandbox Code Playgroud)
但是我得到“模块'numpy'没有属性'count'”,并且我尝试了不同的方式来表达计数功能,但无法让它工作。我如何将汇总记录数与其他指标一起汇总?
我希望重新创建一个本地构建的随机森林模型,并通过 sagemaker 部署它。该模型非常基础,但为了进行比较,我想在 sagemaker 中使用相同的模型。我在 sagemaker 的内置算法中没有看到 randomforest(这看起来很奇怪) - 是我唯一选择去部署我自己的自定义模型的方法吗?仍在学习容器,对于在本地只是一个简单的 randomforestclassifier() 调用的东西,似乎需要做很多工作。我只想针对开箱即用的随机森林模型进行基准测试,并证明它在通过 AWS sagemaker 部署时的工作方式相同。
containers amazon-web-services random-forest docker amazon-sagemaker
我正在关注有关启动时在 Linux 实例上运行命令 - Amazon Elastic Compute Cloud 的教程。
我有一个 EC2 实例,并且我已确认正在运行
python run.py
Run Code Online (Sandbox Code Playgroud)
当我通过命令行运行它时,它完全按照我想要的方式(将文件写入 s3)。所以在网络用户界面中我添加了
#!/bin/bash
python run.py
Run Code Online (Sandbox Code Playgroud)
进入用户数据字段。但是当我重新启动时什么也没有发生。我一定是忽略了某些东西,但不确定它是什么。
令我惊讶的一件事是,当我启动实例备份时,所有 python 包和脚本仍然存在,我以为所有内容都会被擦除,并且每次启动后我都必须从 s3 复制脚本。但我想这只是存储?就像我说的,我对此很陌生,所以任何帮助将不胜感激!
pandas ×3
python ×3
scikit-learn ×2
xgboost ×2
aggregate ×1
amazon-ec2 ×1
apache-spark ×1
boto3 ×1
cell ×1
containers ×1
correlation ×1
databricks ×1
date ×1
docker ×1
group-by ×1
heatmap ×1
jupyter ×1
pyspark ×1
seaborn ×1
spyder ×1
time-series ×1
windows ×1