我有一个data.frame
看起来像这样的.
x a 1
x b 2
x c 3
y a 3
y b 3
y c 2
Run Code Online (Sandbox Code Playgroud)
我想以矩阵形式这样做,所以我可以将它送到热图以制作情节.结果应该类似于:
a b c
x 1 2 3
y 3 3 2
Run Code Online (Sandbox Code Playgroud)
我已尝试cast
从reshape包中尝试编写手动函数来执行此操作,但我似乎无法正确执行此操作.
使用scikit-learn 0.10
为什么以下简单的代码片段:
from sklearn.naive_bayes import *
import sklearn
from sklearn.naive_bayes import *
print sklearn.__version__
X = np.array([ [1, 1, 1, 1, 1],
[0, 0, 0, 0, 0] ])
print "X: ", X
Y = np.array([ 1, 2 ])
print "Y: ", Y
clf = BernoulliNB()
clf.fit(X, Y)
print "Prediction:", clf.predict( [0, 0, 0, 0, 0] )
Run Code Online (Sandbox Code Playgroud)
打印出"1"的答案?在[0,0,0,0,0] => 2训练模型后,我期待"2"作为答案.
为什么用Y替换Y.
Y = np.array([ 3, 2 ])
Run Code Online (Sandbox Code Playgroud)
给一个不同的类"2"作为答案(正确的)?这不仅仅是一个类标签吗?
有人可以对此有所了解吗?
python artificial-intelligence machine-learning scikit-learn
您好,在SO,
我想对你们尊敬和尊敬的一些人提出一些想法/意见.
我有100M记录需要处理.我有5个节点(在岩石群中)来做这件事.数据非常有条理,并且很好地适用于关系数据模型.我希望并行处理,因为我的处理需要一些时间.
我看到它有两个主要选择:
在每个节点上安装mysql,并在每个节点上放置20M记录.使用头节点将查询委派给节点并聚合结果. 查询功能++,但是当我选择分区策略等时,我可能会冒一些头痛的风险.(问:这就是他们所谓的mysql/postgres集群吗?).真正糟糕的是,记录的处理现在由我来处理(如何跨机器分发等)...
或者安装Hadoop,Hive和HBase(请注意,这可能不是存储数据的最有效方法,因为HBase是面向列的)并且只是定义节点.我们在MapReduce范例中写下了所有内容,而且,从此以后,我们幸福地生活着.这里的问题是我们失去了"实时"查询功能(我知道你可以使用Hive,但这不建议用于实时查询 - 我需要) - 因为我还有一些正常的sql查询有时执行" select*from wine where color ='brown'".
请注意,理论上 - 如果我有100M机器,我可以立即完成所有事情,因为对于每个记录,处理是独立于另一个.另外 - 我的数据是只读的.我没有想到会发生任何更新.我不需要/想要一个节点上的100M记录.我不希望有冗余数据(因为它有很多)所以保持它在两个mysql/postgres和Hadoop/HBase/HDFS.不是一个真正的选择.
非常感谢
你好,周六欢乐之夜,
我在python中四处走动,我很享受它.
假设我有一个python数组:
x = [1, 0, 0, 1, 3]
Run Code Online (Sandbox Code Playgroud)
计算列表中所有非零元素的最快方法是什么(ans:3)?如果可能的话,我也想在没有 for循环的情况下这样做- 最简单和简洁的方式可能,说概念上像
[counter += 1 for y in x if y > 0]
Run Code Online (Sandbox Code Playgroud)
现在 - 我真正的问题是我有一个多维数组,我真正想要避免的是执行以下操作:
for p in range(BINS):
for q in range(BINS):
for r in range(BINS):
if (mat3D[p][q][r] > 0): some_feature_set_count += 1
Run Code Online (Sandbox Code Playgroud)
从我看到的小蟒蛇,我的直觉是,有一种非常干净的语法(和有效)的方式如何做到这一点.
想法,有人吗?
我有一个文件,其中包含我已放置在my_app.ini
属性文件中的应用程序特定属性(例如超时等),我使用它读取parse_ini_file()
.
我应该如何/在哪里使这个代码对我的所有用户请求运行一次(我不希望我的应用程序.ini
在每个请求上读取文件)?
我虽然把配置文件读取的代码在一个单独的PHP和包括本与include_once
/ require_once
在需要访问配置变量的所有页面.但:
require_once('config_setup.php')
)?require_once
/ include_once
在所有用户请求只执行一次?我有兴趣听到其他(更好)的方法如何做到这一点.
假设我有浮点数12345.6789并且我想在python(v.2.6)中使用位操作得到六个最低有效位(即45.6789)作为int(即456789).
我怎么做?
谢谢
PS我不想使用字符串操作,即使它很容易:对于任何浮点数f:
int(str(int(f * 1000))[-10:])
Run Code Online (Sandbox Code Playgroud)
编辑:这个原始问题毫无意义,如内部评论所示.许多道歉...而不是使用字符串获取最低有效数字的方法如下所示(使用整数和模数)
我下载并安装了Aptana 3.0.6 eclipse插件(在Ubuntu 11.10上) - 如何摆脱eclipse(最终)启动时出现的起始页面?我查看了Windows-> Preferences下的所有选项,但找不到任何相关内容.我清楚地记得以前的一些版本.
非常感谢,周日快乐.