可视化由python中编码的边连接的节点序列.
寻找一个python库来可视化这样的图形数据.
用python或python绑定编写的库都可以
(我知道Visustin,但寻找替代方案)
正如您期望的DSL用于数据分析,R很好地处理丢失/不完整的数据,例如:
许多R函数都有一个na.rm标志,当设置为TRUE时,删除NA:
>>> v = mean( c(5, NA, 6, 12, NA, 87, 9, NA, 43, 67), na.rm=T)
>>> v
(5, 6, 12, 87, 9, 43, 67)
Run Code Online (Sandbox Code Playgroud)
但是如果你想在函数调用之前处理NA ,你需要做这样的事情:
从矢量中删除每个'NA':
vx = vx[!is.na(a)]
Run Code Online (Sandbox Code Playgroud)
从矢量中删除每个'NA'并将其替换为'0':
ifelse(is.na(vx), 0, vx)
Run Code Online (Sandbox Code Playgroud)
从数据框中删除包含"NA"的整个行:
dfx = dfx[complete.cases(dfx),]
Run Code Online (Sandbox Code Playgroud)
所有这些功能都会永久删除 "NA"或其中带有"NA"的行.
有时候这并不是你想要的 - 在工作流程的下一步可能需要为数据帧的"NA"删除副本,但在后续步骤中,你经常需要这些行(例如,计算一个由于先前调用"完整案例"而导致缺少行的列的列式统计信息,但该列中没有"NA"值.
尽可能清楚我正在寻找的东西:python/numpy有一个类,蒙面数组,有一个掩码方法,它允许你在函数调用期间隐藏 -但不删除 - NA.R中是否有类似的功能?
在特定的应用程序中,我需要机器学习(我知道我在本科课程中学到的东西).我使用支持向量机并解决了问题.它的工作正常.
现在我需要改进系统.这里的问题是
我每周都会获得额外的培训示例.现在,系统开始使用更新的示例(旧示例+新示例)进行新的培训.我想让它增量学习.使用以前的知识(而不是前面的例子)和新的例子来获得新的模型(知识)
我的训练样例有3个班级.因此,每个训练样例都适合这三个类中的一个.我想要"未知"类的功能.任何不适合这3个类的东西都必须标记为"未知".但我不能将"未知"视为一个新类,并为此提供示例.
假设,实现了"未知"类.当类是"未知"时,应用程序的用户输入他认为该类可能的内容.现在,我需要将用户输入合并到学习中.我也不知道怎么做.如果用户输入一个新类(即一个尚未在训练集中的类),它会有什么不同吗?
我是否需要选择新算法或支持向量机可以执行此操作?
PS:我正在使用libsvm实现SVM.
从我的研究中,我了解有三种方法可以将svg文件放在HTML中:
使用嵌入:
<embed src="plot1.svg" width="500" height="320" type="image/svg+xml" />
Run Code Online (Sandbox Code Playgroud)
使用对象:
<object data="plot1.svg" width="500" height="320" type="image/svg+xml" />
Run Code Online (Sandbox Code Playgroud)
使用iframe:
<iframe src="plot1.svg" width="500" height="320"> </iframe>
Run Code Online (Sandbox Code Playgroud)
我在测试装备(django内置开发服务器,在Firefox 3.6中渲染页面)中尝试了所有这三个.在这个明显无菌的环境下,我没有注意到三个w/r/t性能或分辨率之间的任何差异.
我的问题是,其中一个是否优于其他两个,如果是,哪一个.答案当然可能取决于事实,我试图限制相关的事实:
我们经常在我们的网站上显示数据(例如,时间序列),通常是根据某些用户操作创建的; 基于该用户动作,对数据库进行调用,返回的数据被压缩并发送到绘图引擎,该绘图引擎呈现静态图像,然后将其嵌入页面中 - 非常标准的东西.
这工作正常,但我想为这些图表添加一些交互式功能(例如,工具提示,超链接轴标签,突出显示图中的一组点).一些图表相当复杂(例如,多面板调节),我还没有找到包含这些功能的javascript图表库.我最终决定使用相同的绘图库(Lattice in R),但在svg中渲染每个图表,然后在后处理步骤中添加用户交互功能,后者主要包含直接操作XML的javascript函数.
我正在使用2D形状阵列来存储经度+纬度对.有一次,我必须合并其中两个2D数组,然后删除任何重复的条目.我一直在寻找类似于numpy.unique的功能,但我没有运气.我一直在考虑的任何实现都看起来非常"未经优化".例如,我正在尝试将数组转换为元组列表,删除带有set的重复项,然后再次转换为数组:
coordskeys = np.array(list(set([tuple(x) for x in coordskeys])))
Run Code Online (Sandbox Code Playgroud)
有没有现成的解决方案,所以我不重新发明轮子?
为了说清楚,我正在寻找:
>>> a = np.array([[1, 1], [2, 3], [1, 1], [5, 4], [2, 3]])
>>> unique_rows(a)
array([[1, 1], [2, 3],[5, 4]])
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我想只使用一个元组列表,但是这些列表非常大,以至于它们消耗了我的4Gb RAM + 4Gb交换(numpy数组更节省内存).
让我们想象一下,我有两个由同一个人写的英语文本.是否有可能应用一些马尔可夫链算法来分析每个:基于统计数据创建某种指纹,并比较从不同文本得到的指纹?比方说,我们有一个包含100个文本的库.有人写了第1号文字和其他一些文字,我们需要通过分析他/她的写作风格来猜测哪一个.有没有已知的算法呢?可以在这里应用马尔可夫链吗?
我在几个背景下看到过这种情况,例如,
按顺序拆包:
_, x = L.pop() # e.g., L is a list of tuples
Run Code Online (Sandbox Code Playgroud)
初始化容器:
X = _
Run Code Online (Sandbox Code Playgroud)
所以很明显这不是正式python语法的一个元素,而是我所知道的用途似乎是自由裁量的.
所以我很好奇它使用的可能原因是什么,一般有什么优势(如果有的话)?
注意:我的问题涉及在脚本,模块等中使用"_",而不是在交互式提示符下使用它.在 IDLE中,使用python打包的交互式解释器以及 ipython中的"_"用作最近返回结果的占位符.
我正在使用MySQLdb和Python.我有一些基本的查询,例如:
c=db.cursor()
c.execute("SELECT id, rating from video")
results = c.fetchall()
Run Code Online (Sandbox Code Playgroud)
我需要"结果"作为NumPy数组,而且我希望我的内存消耗更经济.似乎逐行复制数据会非常低效(需要双倍的内存).有没有更好的方法将MySQLdb查询结果转换为NumPy数组格式?
我想要使用NumPy数组格式的原因是因为我希望能够轻松地对数据进行切片和切块,并且在这方面看起来python对于多维数组似乎并不友好.
e.g. b = a[a[:,2]==1]
Run Code Online (Sandbox Code Playgroud)
谢谢!
为了让这些项目协同工作,我还能做些什么呢?我应该把所有东西都移到Windows 7上(我不喜欢,但如果它是唯一可靠的方式.)
好的,所以这就是发生的事情:我想把numpy/scipy安装到我的mac上,运行10.7.不幸的是numpy ver1.6只支持python 2.6.我去安装python 2.6,但python 2.6不起作用; app-icon弹出并自动退出.(回想起来这很奇怪,因为我听说python 2.7和numpy有mac的船;但是当我尝试使用numpy网站上的示例代码时,它失败了.)
现在真正的绑定,所以我最终发现了这个:http: //stronginference.com/scipy-superpack/以某种方式安装numpy 2.0,Scipy(0.11),Matplotlib(1.2),iPython(0.12),Pandas(0.5.1) )以及PyMC(2.2 alpha).
看起来它有用,Numpy确实使用了他们在python 2.7上提供的一些示例代码.但是当我正在研究练习问题时,我发现matplotlib根本不再工作了.python启动器(我认为......它是python启动器应用程序图标,但只是说"python"的名称)在应用程序托盘中反弹并最终冻结.我担心这可能是因为我之前安装了matplotlib 1.1,所以我按照说明清理卸载matplotlib,然后使用scipy-superpack进行安装.
仍然以前的方式失败.现在我已经完成了matplotlib 1.1的干净安装,希望它能正常工作.当我"导入pylab"时,它会抛出大量错误消息.
任何建议将不胜感激.