小编tke*_*win的帖子

序数分类包和算法

我正在尝试制作一个为项目i选择评级(1-5)的分类器.对于每个项目i,我有一个向量x,包含大约40个与i有关的不同数量.我对每件商品都有金标准等级.根据x的某些功能,我想训练一个分类器给我一个与金标准非常接近的等级1-5.

我在分类器上看到的大部分信息只涉及二元决策,而我有一个评级决定.是否有常见的技术或代码库来处理这类问题?

classification machine-learning

12
推荐指数
2
解决办法
6918
查看次数

Cython回调适用于函数,但不适用于绑定方法

我正在实现一个基于cython的C++库接口.我实现了一个与普通函数一起工作的回调系统,但在传入绑定方法时却奇怪地失败了.这是我的cython代码的一部分:

cdef extern from "VolumeHapticTool.h":
    cdef cppclass HDButtonEvent:
        bool isPressed()
        unsigned int getButtonId()
        Vec3[float] getPosition()

    ctypedef void (*HDButtonCallback)(HDButtonEvent, void *)

cdef extern from "Scene.h":
    cdef cppclass Scene:
        Scene()
        void setDrillButtonCallback( HDButtonCallback, void*)

cdef void pyHDButtonCallback(HDButtonEvent e, void *user_data):
    print <object>user_data
    (<object>user_data)( (e.isPressed(), e.getButtonId(), topy_vec3f(e.getPosition())) )

cdef class pyScene:
    cdef Scene * m_scene
    def __init__(self):
        self.m_scene = new Scene()

    def __del__(self):
        del self.m_scene

    def setDrillButtonCallback(self, func):
        print func
        self.m_scene.setDrillButtonCallback(pyHDButtonCallback, <void*>func)
Run Code Online (Sandbox Code Playgroud)

以下是我试图称之为:

class RenderCanvas(GLCanvas):
    def __init__(self, parent):
        self.scene = cybraincase.pyScene()
        self.scene.setDrillButtonCallback(self.OnDrillButtonPress)

    def …
Run Code Online (Sandbox Code Playgroud)

python callback cython

8
推荐指数
1
解决办法
1324
查看次数

在函数中按名称传递data.table列

我想将列名传递给函数并使用列索引和setorder函数:

require(data.table)
data(iris)

top3 = function(t, n) {
  setorder(t, n, order=-1)
  return ( t[1:3, .(Species, n)])
}

DT = data.table(iris)
top3(DT, Petal.Width)
Run Code Online (Sandbox Code Playgroud)

但是,这会返回错误:

Error in setorderv(x, cols, order, na.last) : some columns are not in the data.table: n,1

我想我误解了如何在R中传递裸列名称.我有什么选择?

r data.table

5
推荐指数
1
解决办法
294
查看次数

使用高字体大小时 ggplot2 分面标签的边距太大

当增加字体大小以补偿 rmarkdown 中的高 dpi 渲染时,构面包裹 ggplot 图像的标签具有异常大的边距。在下面的示例中,“D”、“E”等上方的垂直空间是我试图降低的。我尝试更改element_text边距以及panel.spacing主题参数。将这些设置为零并不会改变太多事情。

代码

---
title: "PNG facet wrap test"
output:
  word_document: default
  html_document: default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, message =FALSE,fig.height=4)
knitr::opts_chunk$set(fig.showtext=TRUE)
knitr::opts_chunk$set(fig.width=6.5, fig.height = 4, out.width = 6.5, out.height = 4)
knitr::opts_chunk$set(dev="png", dev.args=list(type="cairo", pointsize=36), dpi=300)

require(ggplot2)
require(dplyr)
```

## Example image

```{r highdpi}
dia = ggplot2::diamonds %>% filter(cut=="Ideal", clarity=="SI2", color!="J")
ggplot(dia, aes(x=carat, y=price)) + facet_wrap(~color) + geom_point() + theme_light(36)
```
Run Code Online (Sandbox Code Playgroud)

输出

输出

r ggplot2 knitr r-markdown

5
推荐指数
1
解决办法
3949
查看次数

查找r中数据框架的平均值和中位数

我有几个数据框,a b c d每个都有相同的列名.我想找到这些数据帧的均值和中位数.换言之,构造新的meanmedian是相同尺寸的数据帧a,b等等.

我可以使用几个for循环,但我敢打赌,使用R内置函数可以更快地执行此操作.

functional-programming r

4
推荐指数
1
解决办法
3472
查看次数

表中每列的值的频率

使用多列获得独立频率计数的好方法是什么dplyr?我想从一个价值表中走出来:

# A tibble: 7 x 4
      a     b     c     d
  <int> <int> <int> <int>
1     1     2     1     3
2     1     2     1     3
3     2     2     5     3
4     3     2     4     3
5     3     3     2     3
6     5     3     4     3
7     5     4     2     1
Run Code Online (Sandbox Code Playgroud)

到这样的频率表:

# A tibble: 5 x 5
      x   a_n   b_n   c_n   d_n
  <int> <int> <int> <int> <int>
1     1     2     0     2     1
2     2     1     4     2 …
Run Code Online (Sandbox Code Playgroud)

r frequency dataframe dplyr

3
推荐指数
3
解决办法
2101
查看次数