小编Jag*_*gat的帖子

如何从scikit-learn DecisionTreeClassifier获取信息?

我看到DecisionTreeClassifier接受criterion ='entropy',这意味着它必须使用信息增益作为分割决策树的标准.我需要的是在根级别的每个功能即将拆分根节点时的信息增益.

python classification machine-learning scikit-learn

12
推荐指数
1
解决办法
1万
查看次数

如何用scikit-learn做高斯/多项式回归?

scikit-learn是否提供使用高斯或多项式内核进行回归的工具?我查看了API,但我没有看到.有人在scikit之上构建了一个包 - 学习这样做吗?

machine-learning linear-regression scikit-learn

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

什么简单的方法来摆脱Java块?

我只是想知道是否有任何方法可以摆脱Java块.它可以是任何块 - 如果是块,则是块,甚至是简单的{}.这是因为我经常遇到这种情况

{
  retCode = performSomeThing();
  if(retCode == SUCCESS)
  {
    retCode = performSomethingElse();
    if(retCode == SUCCESS)
    {
         . . . 
          . . . 
    }
   }
}
Run Code Online (Sandbox Code Playgroud)

这种多级缩进会使我编写的代码变得混乱.

相反,我需要一些方法来做到这一点

if((retCode = performSomething()) != SUCCESS)
  GET_OUT_OF_BLOCK
if((retCode = performSomethingElse()) != SUCCESS)
  GET_OUT_OF_BLOCK
Run Code Online (Sandbox Code Playgroud)

根据retCode的值,我将在块外执行任何所需的处理.如果它不涉及在try-catch块中编写该块,创建一个新的异常类型,抛出然后捕获它,那将会很好.

java

7
推荐指数
2
解决办法
1790
查看次数

为什么在没有任何参数的情况下调用一个接受Any的方法是合法的?

更不用说为什么它是合法的,为什么这甚至会回归真实

scala> class Bla { 
    def hello(x: Any): Boolean = x.toString.length == 2 
}
defined class Bla

scala> new Bla().hello() 
res0: Boolean = true 
Run Code Online (Sandbox Code Playgroud)

scala

6
推荐指数
1
解决办法
74
查看次数

为什么包含 main 的类不必是公共的?

我宣布了以下课程

class A { //not public
  public static void main(String args[]) {
     System.out.println("done");
 }
Run Code Online (Sandbox Code Playgroud)

当我编译并运行它时,它运行良好并打印输出“完成”。即使我将其声明为“包 a”,行为也相同;

但是,如果 JVM 规范要求 main 方法应该是公共的,因为“否则它看不到 main”,它不应该也适用于类吗?如果 JVM 在 A.main() 未声明为 public 时“看不到”它,它如何能够看到类 A 本身。

除了“因为规范这么说”之外,还有其他解释吗?

java

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

Collections.reverseOrder如何在返回Comparator <T>时知道要使用的类型参数

根据Java API规范,Collections.reverseOrder的签名为

public static <T> Comparator<T> reverseOrder()

方法说明中给出的示例说它需要用作

Arrays.sort(a, Collections.reverseOrder());

当我们调用该方法时,我们在任何地方都没有指定使用哪种类型(T解析为哪种类型)。

在这种情况下,编译器如何解析T?是否可以根据分配给它的对象的类型来解析返回类型(T)?

顺便说一句,我知道重载的reverseOrder(Comparator<T> c)方法。

java

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

为什么java.util.Map.values()允许您从返回的Collection中删除条目

为什么java.util.Map.values()在根据值删除键值对没有意义时,允许您从返回的Collection中删除条目?执行此操作的代码将不知道要删除的值(以及因此的键)是从哪个键映射的.特别是当存在重复值时,在该C​​ollection上调用remove将导致删除意外的键.

java

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

scala上@VisibleForTesting注释的行为

我正在测试我添加到scala类的方法,该构造函数被标记为私有.它可以通过一个单独的对象访问,它可以处理我不想触及的其他许多东西.

class DummyClass private (config: DummyConfig) extends Runnable {

   def refresh() = {
       // Does tons of things
   }

   def updateProperty() = {
      // My method
   }
}

Object DummyClass {
  def apply(config: DummyConfig) = {
     val clss = new DummyClass(config)
     clss.refresh()
     new Thread(clss).start()
     clss
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的JUnit(Specs/Mockito)中,我只想创建该类的对象并测试我添加的单个方法,而不是调用刷新或启动线程.

即使我在类DummyClass上添加guava的注释@VisibleForTesting,我也无法在JUnit测试中使用构造函数.有没有办法实现这一目标?

junit scala mockito guava specs2

0
推荐指数
1
解决办法
1620
查看次数