以下代码生成一个包含10个叶节点的简单分层聚类树形图:
import scipy
import scipy.cluster.hierarchy as sch
import matplotlib.pylab as plt
X = scipy.randn(10,2)
d = sch.distance.pdist(X)
Z= sch.linkage(d,method='complete')
P =sch.dendrogram(Z)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我生成三个扁平簇,如下所示:
T = sch.fcluster(Z, 3, 'maxclust')
# array([3, 1, 1, 2, 2, 2, 2, 2, 1, 2])
Run Code Online (Sandbox Code Playgroud)
但是,我想在树形图上看到簇标记1,2,3.我只用10个叶子节点和3个簇就可以很容易地进行可视化,但是当我有1000个节点和10个簇时,我看不到发生了什么.
如何在树形图上显示簇数?我对其他包裹持开放态度.谢谢.
如何使用javascript获取mongoDB中相邻记录之间的差异?例如,如果我的集合中有以下三个文档:
{
"_id" : ObjectId("50ed90a55502684f440001ac"),
"time" : ISODate("2013-02-13T15:45:41.148Z")
}
{
"_id" : ObjectId("50ed90a55502684f440001ad"),
"time" : ISODate("2013-02-13T15:45:42.148Z")
}
{
"_id" : ObjectId("50ed90a55502684f440001ae"),
"time" : ISODate("2013-02-13T15:45:45.148Z")
}
Run Code Online (Sandbox Code Playgroud)
我想取相邻值之间“时间”字段的差异来获取:
{
"_id" : ObjectId("50ed90a55502684f440001ac"),
"time" : ISODate("2013-02-13T15:45:41.148Z"),
"time_difference" : null
}
{
"_id" : ObjectId("50ed90a55502684f440001ad"),
"time" : ISODate("2013-02-13T15:45:42.148Z"),
"time_difference" : 1
}
{
"_id" : ObjectId("50ed90a55502684f440001ae"),
"time" : ISODate("2013-02-13T15:45:45.148Z"),
"time_difference" : 3
}
Run Code Online (Sandbox Code Playgroud)
关于如何在 javascript/mongoDB 中有效地做到这一点有什么想法吗?谢谢。
我有以下形式的数据:
x y
0 0
0.01 1
0.03 0
0.04 1
0.04 0
Run Code Online (Sandbox Code Playgroud)
x 从0到1是连续的并且不是等间隔的并且y是二进制的.
我想y用R 来平滑x轴,但是找不到合适的包.我发现的内核平滑函数产生的密度估计值x或将在x的末尾给出错误的估计值,因为它们将在小于0且大于1的区域上进行平均.
我也想避免线性平滑器,如Loess givens然后二进制形式y.我所见的移动平均函数假设等间距x值.
您是否知道任何可以平滑且理想情况下具有带宽选择程序的R功能?我可以写一个移动平均函数和交叉验证来确定带宽,但我更愿意找到一个经过审查的现有函数.
我正在尝试使用随机森林对我的数据进行分类,但是当我生成分类器概率时,它总是具有5个数字内的0,0.1,0.2,... 1之类的值.这是统计问题还是软件问题?我在Mac 10.7.5上的Python 2.7.3的scikit-learn ensemble中使用RandomForestClassifier.我的数据看起来像这样:
y x1 x2 x3 x4...
0 23 4 0
1 102 2 0
1 12 17 1
Run Code Online (Sandbox Code Playgroud)
响应变量y是二进制的.有15个功能,都是实数或整数值,其中一些是二进制的.我有大约2000个训练点和500个测试.我将树的数量设置为500,将每个树的特征数量设置为8,并将其他所有内容的默认值设置为使用.训练模型后,我使用"predict_proba"函数生成概率,得到0.90000000000000002或0.10000000000000001等结果
我认为这个问题可能是由一个特定的变量引起的,所以我只用一个变量训练模型,一次重复五个变量.单独每个变量的概率具有正常值,如0.5532.当我一起使用两个变量时,会出现一些0.70000等值.当我使用更多变量时,我得到0.700000类型值的更大部分.
这是统计数据还是软件问题?Numpy通过了测试:numpy.test(),但是scipy.test()和sklearn.test()都失败了.我曾经使用sci-kit学习包,测试失败但没有这个问题.此外,我知道我应该修复软件包,但是我花了20个小时从源代码安装,然后是二进制软件包,然后阅读30多个网页,了解其他人如何安装软件包或者他们有什么错误.当他们说安装很容易时,我看不到他们测试包装.谢谢.