我有这 2 个{ndarray}有 3 个正值、负值和中性分数的值。
>>>y1
array([82, 80, 63])
>>>y2
array([122, 73, 30])
Run Code Online (Sandbox Code Playgroud)
对于相同的 I 需要y1[0]并y2[0]绘制在一起,因为它们对应为正值,每个数组中的其他 2 个值也是如此。
我试过这个:
import matplotlib.pyplot as plt
import numpy as np
def biplt(groundTruth, predictedValues, plt_name='<name>'):
gt = groundTruth
pr = predictedValues
x = np.arange(2)
y1, y2 = gt.values, pr.values
fig, axes = plt.subplots(ncols=1, nrows=1)
width = 0.20
plt.title('%s\n Accuracy Score' % plt_name)
plt.xlabel('Parameters')
plt.ylabel('Score')
axes.bar(x, y1, width, label="Algorithm 1")
axes.bar(x + width, y2, width, color=list(plt.rcParams['axes.prop_cycle'])[2]['color'], label="Algorithm 2")
axes.set_xticks(x …Run Code Online (Sandbox Code Playgroud) 我创建了一个自动编码器,尽管它是针对电影用户的评分矩阵。我正在尝试使用协作过滤(CF)重新创建预测时的输出。
下面的数据集是输入的方式。我在这里将其转换为Pivot矩阵:我们将其称为 A_set
MovieId 1 2 3 4 5 6 7 ...
UserId
0 5.0 0.0 0.0 0.0 2.0 0.0 0.0 ...
1 0.0 0.0 0.0 2.0 2.0 0.0 0.0 ...
2 5.0 0.0 1.0 0.0 0.0 0.0 0.0 ...
3 1.0 0.0 0.0 0.0 3.0 0.0 3.0 ...
Run Code Online (Sandbox Code Playgroud)
还创建了它的转置MovieIds,在行和UserIds列中。我们称这个为B_set。
对此,我有以下查询:
Y = Theta(转置)输入(X)+ C
B_set对CF公正。我尝试提供A_set …
我正在对电影镜头数据集执行聚类,我有两种格式的数据集:
旧格式:
uid iid rat
941 1 5
941 7 4
941 15 4
941 117 5
941 124 5
941 147 4
941 181 5
941 222 2
941 257 4
941 258 4
941 273 3
941 294 4
Run Code Online (Sandbox Code Playgroud)
新格式:
uid 1 2 3 4
1 5 3 4 3
2 4 3.6185548023 3.646073985 3.9238342172
3 2.8978348799 2.6692556753 2.7693015618 2.8973463681
4 4.3320762062 4.3407749532 4.3111995162 4.3411425423
940 3.7996234581 3.4979386925 3.5707888503 2
941 5 NaN NaN NaN
942 4.5762594612 …Run Code Online (Sandbox Code Playgroud) 这不是一个重复的问题,或者至少我不这么认为.
当我尝试运行这两行代码片段时:
import pandas as pd
mydates = pd.date_range('2010-01-22', '2010-01-26')
Run Code Online (Sandbox Code Playgroud)
在尝试foll时:
In [16]:import pandas as pd
In [17]:mydates = pd.date_range('2010-01-22', '2010-01-26')
Traceback (most recent call last):
Run Code Online (Sandbox Code Playgroud)
尝试2.7和3.6后我得到以下错误
File "<ipython-input-17-ef49b611e028>", line 1, in <module>
mydates = pd.date_range('2010-01-22', '2010-01-26')
TypeError: 'list' object is not callable
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
请注意,我是在函数中执行此操作的,并且我已经提到了一个非常好的线程。
这是python函数,传递的参数是从用户那里获取的
def recommend(uid):
ds = pd.read_csv("pred_matrix-full_ubcf.csv")
records = ds.loc[ds['uid'] == uid]
for recom in records:
print recom
Run Code Online (Sandbox Code Playgroud)
数据格式:
uid iid rat
344 1189 5
344 1500 5
344 814 5
736 217 3.3242361285
736 405 3.3238380154
736 866 3.323500531
331 1680 2
331 1665 2
331 36 1.999918585
Run Code Online (Sandbox Code Playgroud)
无法找到我出错的地方,我正在关注this1线程,但无法得到它。
我正在尝试逐项查看表,这样如果某个项目已经存在,那么我应该能够更新它,如果不存在,那么我应该能够插入它。
但是,我了解到更新的工作方式也类似于 upsert(update/insert) 。我的情况也不适合这个。
item表中是否存在并存储flag(布尔值)flag为0(项目不可用),然后插入该项目并将当前时间戳添加到列中Inserted_dttmflag为1(项目可用),然后更新项目并将当前时间戳添加到列中Updated_dttm(而不是 Inserted_dttm)我一直在寻找query()是一个不错的选择get_item(),但是您的解决方案都受到欢迎。
def lambda_handler(event, context):
x = TrainDataProcess()
file_name = 'Training_data/' + event['file_name']
s3.Object(bucket_name, file_name).download_file('/tmp/temp.xlsx')
table_name = 'training_data'
x.load_excel(name='/tmp/temp.xlsx')
x.load_headers(skiprows=0)
x.data_picking()
table = dynamoDB_client.Table(table_name)
load = x.return_records_json()
try:
with table.batch_writer() as batch:
for record in load:
flag = table.query(TableName=table_name, )
if flag == 0:
record['inserted_dttm'] = get_dttm()
batch.put_item(Item=record)
elif flag == …Run Code Online (Sandbox Code Playgroud) python ×6
pandas ×3
aws-lambda ×1
boto3 ×1
dataframe ×1
datetime ×1
dbscan ×1
keras ×1
list ×1
matplotlib ×1
numpy ×1
python-2.7 ×1
tensorflow ×1