我花了很多时间试图从scipy.spatial.Voronoi图中获取边缘无济于事.以下是主要文档:http: //docs.scipy.org/doc/scipy-dev/reference/generated/scipy.spatial.Voronoi.html
如果你像这样创建一个Voronoi图:
points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2],
[2, 0], [2, 1], [2, 2]]) //Or feel free to use any set of points
Run Code Online (Sandbox Code Playgroud)
然后您可以访问以下对象属性:
vor.regions
vor.max_bound
vor.ndim
vor.ridge_dict
vor.ridge_points
vor.ridge_vertices
vor.npoints
vor.point_region
vor.points
Run Code Online (Sandbox Code Playgroud)
但目前还不清楚如何组合这些以获得2d voronoi图形式(point1,point2)的边缘?我知道边缘存在是因为您可以绘制voronoi图及其edgres和顶点,因为您可以执行以下操作:
voronoi_plot_2d(vor)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这清楚地描绘了voronoi edgres - 如何获得它们的列表及其起点和终点?没关系,如果我只获得坚实的边缘(不是虚线的那些无限制的情节)
给出Google BigQuery中的表格:
User Timestamp
A TIMESTAMP(12/05/2015 12:05:01.8023)
B TIMESTAMP(9/29/2015 12:15:01.0323)
B TIMESTAMP(9/29/2015 13:05:01.0233)
A TIMESTAMP(9/29/2015 14:05:01.0432)
C TIMESTAMP(8/15/2015 5:05:01.0000)
B TIMESTAMP(9/29/2015 14:06:01.0233)
A TIMESTAMP(9/29/2015 14:06:01.0432)
Run Code Online (Sandbox Code Playgroud)
有一种简单的计算方法:
User Maximum_Number_of_Events_this_User_Had_in_One_Hour
A 2
B 3
C 1
Run Code Online (Sandbox Code Playgroud)
一小时的时间窗口是一个参数?
我试着通过构建LAG和分区函数来解决这两个问题:
用于28天滑动窗口聚合的BigQuery SQL(无需编写28行SQL)
但是发现那些帖子太不相似,因为我没有找到每个时间窗口的人数,而是在一个时间窗口内找到每个人的最大事件数.
我在Python中阅读以下关于Pipelines和GridSearchCV的示例:http://www.davidsbatista.net/blog/2017/04/01/document_classification/
Logistic回归:
pipeline = Pipeline([
('tfidf', TfidfVectorizer(stop_words=stop_words)),
('clf', OneVsRestClassifier(LogisticRegression(solver='sag')),
])
parameters = {
'tfidf__max_df': (0.25, 0.5, 0.75),
'tfidf__ngram_range': [(1, 1), (1, 2), (1, 3)],
"clf__estimator__C": [0.01, 0.1, 1],
"clf__estimator__class_weight": ['balanced', None],
}
Run Code Online (Sandbox Code Playgroud)
SVM:
pipeline = Pipeline([
('tfidf', TfidfVectorizer(stop_words=stop_words)),
('clf', OneVsRestClassifier(LinearSVC()),
])
parameters = {
'tfidf__max_df': (0.25, 0.5, 0.75),
'tfidf__ngram_range': [(1, 1), (1, 2), (1, 3)],
"clf__estimator__C": [0.01, 0.1, 1],
"clf__estimator__class_weight": ['balanced', None],
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以将Logistic回归和SVM组合成一个管道?比方说,我有一个TfidfVectorizer,喜欢测试多个分类器,然后每个分类器输出最好的模型/参数.
我有一个由句子和相应的多标签组成的数据集(例如,一个句子可以属于多个标签)。在语言模型 (Word2Vec) 上使用卷积神经网络和循环神经网络的组合,我能够达到很好的准确性。然而,它 /too/ 擅长对输出进行建模,因为很多标签可以说是错误的,因此输出也是错误的。这意味着评估(即使有正则化和辍学)给人的印象是错误的,因为我没有基本事实。清理标签的费用会高得令人望而却步。所以我不得不以某种方式探索“去噪”标签。我看过诸如“从大量噪声标记数据中学习用于图像分类”之类的东西,但是他们假设在输出上学习某种噪声协方差矩阵,我不确定在 Keras 中如何做。
有没有人处理过多标签文本分类设置中的嘈杂标签问题(最好使用 Keras 或类似工具),并且对如何学习带有噪声标签的鲁棒模型有很好的想法?
给定一个带有col_1 .... col_m的Google BigQuery数据集,如何使用Google BigQuery SQL返回没有重复项的数据集... [col1,col3,col7],这样当有重复的行时[col1,col3,col7],然后返回这些重复项中的第一行,并删除那些列中具有重复字段的其余行?
示例:removeDuplicates([col1,col3])
col1 col2 col3
---- ---- ----
r1: 20 25 30
r2: 20 70 30
r3: 40 70 30
Run Code Online (Sandbox Code Playgroud)
回报
col1 col2 col3
---- ---- ----
r1: 20 25 30
r3: 40 70 30
Run Code Online (Sandbox Code Playgroud)
要使用python pandas这样做很容易.对于数据帧(即矩阵),可以调用pandas函数removedDuplicates([field1, field2, ...]).但是,未在Google Big Query SQL的上下文中指定removeDuplicates.
我最好猜测如何在Google Big Query中使用该rank()功能:
https://cloud.google.com/bigquery/query-reference#rank
我正在寻找一个简洁的解决方案,如果存在的话.
是否有任何方法可以为textarea导出/保存任何浏览器的本机撤消/重做堆栈?我希望能够在事后撤消/重做所有在textarea中输入的内容.
我还想使用javascript调用本机undo/redo堆栈,这可以通过以下方式轻松完成:
$('#textarea_im_using').focus();
document.execCommand('undo', false, null);
Run Code Online (Sandbox Code Playgroud)
但是,这导致控制台中出现NS_ERROR_FAILURE:Failure错误消息.有什么想法吗?
总之,我有两个问题:
我目前正在使用Mozilla Firefox(最新版本).我很乐意尝试任何可用的浏览器(Safari除外).
假设您在BigQuery中有以下表格:
A = user1 | 0 0 |
user2 | 0 3 |
user3 | 4 0 |
Run Code Online (Sandbox Code Playgroud)
交叉加入后,你有
dist = |user1 user2 0 0 , 0 3 | #comma is just showing user val seperation
|user1 user3 0 0 , 4 0 |
|user2 user3 0 3 , 4 0 |
Run Code Online (Sandbox Code Playgroud)
如何在BigQuery中执行行聚合以计算跨行的成对聚合.作为典型用例,您可以计算两个用户之间的欧氏距离.我想在两个用户之间计算以下指标:
sum(min(user1_row[i], user2_row[i]) / abs(user1_row[i] - user2_row[i]))
Run Code Online (Sandbox Code Playgroud)
为每对用户总结了所有i.
例如,在Python中,您只需:
for i in np.arange(row_length/2)]):
dist.append([user1, user2, np.sum(min(r1[i], r2[i]) / abs(r1[i] - r2[i]))])
Run Code Online (Sandbox Code Playgroud) python ×3
sql ×3
aggregation ×1
analytics ×1
browser ×1
cross-join ×1
firefox ×1
grid-search ×1
html ×1
javascript ×1
keras ×1
matplotlib ×1
pandas ×1
pipeline ×1
scikit-learn ×1
scipy ×1
spatial ×1
undo ×1
voronoi ×1