如果您对如何给sns.clustermap一个预先计算的距离矩阵?和距离矩阵tsp代码感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何给sns.clustermap一个预先计算的距离矩阵?的
如果您对如何给sns.clustermap一个预先计算的距离矩阵?和距离矩阵tsp代码感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解如何给sns.clustermap一个预先计算的距离矩阵?的各种细节,并对距离矩阵tsp代码进行深入的分析,此外还有关于ADClusterMapView、android – 使用ClusterManager时如何在Map上更新标记、ElasticSearch + Kibana-使用预先计算的哈希值进行唯一计数、Google Maps ClusterManager Cluster 在应用程序启动时不显示的实用技巧。
本文目录一览:- 如何给sns.clustermap一个预先计算的距离矩阵?(距离矩阵tsp代码)
- ADClusterMapView
- android – 使用ClusterManager时如何在Map上更新标记
- ElasticSearch + Kibana-使用预先计算的哈希值进行唯一计数
- Google Maps ClusterManager Cluster 在应用程序启动时不显示
如何给sns.clustermap一个预先计算的距离矩阵?(距离矩阵tsp代码)
通常当我做树状图和热图时,我使用距离矩阵并做很多SciPy
事情。我想尝试一下,Seaborn
但是Seaborn
想要我的数据是矩形的(行=样本,cols
=属性,而不是距离矩阵)?
我本质上想seaborn
用作后端来计算我的树状图并将其附加到我的热图上。这可能吗?如果没有,将来是否可以提供此功能。
也许我可以调整一些参数,以便可以使用距离矩阵而不是矩形矩阵?
这是用法:
seaborn.clustermap¶
seaborn.clustermap(data,pivot_kws=None,method='average',metric='euclidean',z_score=None,standard_scale=None,figsize=None,cbar_kws=None,row_cluster=True,col_cluster=True,row_linkage=None,col_linkage=None,row_colors=None,col_colors=None,mask=None,**kwargs)
我的代码如下:
from sklearn.datasets import load_iris
iris = load_iris()
X,y = iris.data,iris.target
DF = pd.DataFrame(X,index = ["iris_%d" % (i) for i in range(X.shape[0])],columns = iris.feature_names)
我认为下面的方法不正确,因为我给了它一个预先计算的距离矩阵,而不是它要求的矩形数据矩阵。没有关于如何使用相关性/距离矩阵的示例,clustermap
但是有https://stanford.edu/~mwaskom/software/seaborn/examples/network_correlations.html的示例,但是排序不是与普通sns.heatmap
函数一起进行的。
DF_corr = DF.T.corr()
DF_dism = 1 - DF_corr
sns.clustermap(DF_dism)
ADClusterMapView
ADClusterMapView 介绍
ADClusterMapView 是 MKMapView 的子类,用来显示地图注解,当你在一个地图上有多个注解要显示的时候很有用。
ADClusterMapView 官网
https://github.com/applidium/ADClusterMapView
android – 使用ClusterManager时如何在Map上更新标记
我有broadcastReceiver,当有新数据时它会获得意图.我正在尝试这样的事情:(但它在“… getMarkers().clear();”上给了我UnsupportedOperationException.“
private broadcastReceiver myRefrestMapbroadcastReceiver = new broadcastReceiver() { @Override public void onReceive(Context context,Intent intent) { Log.d(TAG,"onReceive"); mClusterManager.clearItems(); mClusterManager.getMarkerCollection().getMarkers().clear(); mClusterManager.getClusterMarkerCollection().getMarkers().clear(); mClusterManager.addItems(LocationGetter.getReports()); } };
我添加的数据仅用于此功能.
java.util.Collection<Marker> userCollection = mClusterManager.getMarkerCollection().getMarkers(); ArrayList<Marker> userList = new ArrayList<Marker>(userCollection); // Now is userList empty for(Marker marker: userList){ marker.remove(); } java.util.Collection<Marker> userCollection2 = mClusterManager.getClusterMarkerCollection().getMarkers(); ArrayList<Marker> userList2 = new ArrayList<Marker>(userCollection2); // Now is userList2 empty for(Marker marker: userList2){ marker.remove(); } mClusterManager.addItems(LocationGetter.getReports());
解决方法
This method Force a re-cluster. You may want to call this after adding new item(s).
ElasticSearch + Kibana-使用预先计算的哈希值进行唯一计数
更新 :已添加
我想对我的ElasticSearch集群执行唯一计数。该集群包含约5000万条记录。
我尝试了以下方法:
第一种方法
在本节中提到:
预计算哈希通常仅在非常大和/或高基数的字段上有用,因为它可以节省CPU和内存。
第二种方法
在本节中提到:
除非您将Elasticsearch配置为使用doc_values作为字段数据格式,否则使用聚合和构面对堆空间的要求 非常 高。
我的属性映射
"my_prop": { "index": "not_analyzed", "fielddata": { "format": "doc_values" }, "doc_values": true, "type": "string", "fields": { "hash": { "type": "murmur3" } }}
问题
当我在Kibana的my_prop.hash上使用唯一计数时,收到以下错误:
Data too large, data for [my_prop.hash] would be larger than limit
ElasticSearch的堆大小为2g。对于具有400万条记录的单个索引,上述操作也将失败。
我的问题
- 我的配置中缺少什么吗?
- 我应该增加我的机器吗?这似乎不是可扩展的解决方案。
ElasticSearch查询
由Kibana产生:http://pastebin.com/hf1yNLhE
ElasticSearch堆栈跟踪
http://pastebin.com/BFTYUsVg
答案1
小编典典该错误表明您没有足够的内存(更具体地,用于的内存fielddata
)来存储来自中的所有值hash
,因此您需要从堆中取出它们并将它们放在磁盘上,这意味着使用doc_values
。
既然你已经在使用doc_values
了my_prop
,我建议做同样的my_prop.hash
(而且,不,从主字段中的设置不是由子域继承)"hash":{ "type": "murmur3", "index" : "no", "doc_values" : true }
。
Google Maps ClusterManager Cluster 在应用程序启动时不显示
一个建议是设置一个侦听器,在加载所有集群项目/标记时调用该侦听器,然后稍微更改地图缩放级别。反过来,所有集群项目将显示在地图上。
zoom = googleMap.getCameraPosition().zoom;
latLng = googleMap.getCameraPosition().target;
newZoom = zoom + 0.0001f;
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,newZoom));
有效!
关于如何给sns.clustermap一个预先计算的距离矩阵?和距离矩阵tsp代码的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于ADClusterMapView、android – 使用ClusterManager时如何在Map上更新标记、ElasticSearch + Kibana-使用预先计算的哈希值进行唯一计数、Google Maps ClusterManager Cluster 在应用程序启动时不显示的相关知识,请在本站寻找。
本文标签: