小编Raj*_*was的帖子

sklearn的transform()和predict()方法有什么区别?

fit()上述两种方法之间的区别是非常明显的。fit存在于 sklearn 的所有类中,并根据类拟合对象的内部变量,无论是训练模型类还是预处理器类。

transform()然而,和之间的区别predict()似乎有点模糊。我看到的一个普遍规则是 -predict()属于监督学习类并且transform()属于无监督学习类。

尽管如此,我还是发现了这条一般规则的一些例外情况。K-Means(一种无监督算法)和 PLSRegression(一种监督算法)是同时具有这两种方法的两个类。我浏览了 K-Means 文档,并且了解了两种不同方法返回的内容;但这两个接口的实现在文档中似乎没有非常具体地定义。

就像fit(),transform()根据上下文可以表示不同的意思。例如,对于预处理类,fit()计算数据集的平均值并transform应用它。对于培训课程,fit()采取不同的行为并训练模型。

predict()仍然是非常不言自明的,我只将其包含在问题中,因为 的不同用法transform()似乎只能作为predict()比较点来解释。

在浏览了许多问题、部分文档(包括开发手册、术语表和《机器学习实践手册》的一小部分)之后,这就是我得出的结论 - 似乎这些接口并不是故意的有一个明确的定义,并且对于所编写的每个类都应该灵活。

这是正确的还是我错过了什么?

scikit-learn

10
推荐指数
1
解决办法
2214
查看次数

解释为什么这个HTML只适用于Firefox,而不适用于任何其他浏览器?

大家.我在HTML/CSS/Javascript中大约一周大的初学者.我为一个页面编写了这个代码,该页面用于在鼠标在页面上移动时根据"随机"RGB值(始终为alpha值固定为1)更改颜色.

<!DOCTYPE html>
<head>
  <script src='https://code.jquery.com/jquery-1.10.2.js'></script>
</head>
<body>
  <script>
    $('*').mousemove(function() {
      var red = Math.floor(Math.random() * 255);
      var green = Math.floor(Math.random() * 255);
      var blue = Math.floor(Math.random() * 255);

      var rgba = 'rgba(' + red + ',' + blue + ',' + green + ')';
      $('*').css('background', rgba);
    });
  </script>
</body>
Run Code Online (Sandbox Code Playgroud)

我尝试过Chrome,Chromium,Vivaldi,Opera甚至是Internet Explorer,所有这些浏览器都显示了一个网页,其默认的白色背景页面对鼠标移动没有反应.

html javascript css jquery

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

如何使用字符指针并在其中输入字符串?

有没有办法在使用动态内存分配的情况下做到这一点?

#include <stdio.h>

int main() {
    char* str = NULL;
    scanf("%s", str);
    printf("%s\n", str);
}
Run Code Online (Sandbox Code Playgroud)

c scanf

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

具有数组冒泡排序的交换数与具有插入排序的单个移位数相同

我尝试在这里放置冒泡排序计数器 -

for (i = 0; i < n-1; i++)         
   for (j = 0; j < n-i-1; j++)  
       if (arr[j] > arr[j+1]) {
          swap(&arr[j], &arr[j+1]); 
          printf("%d of %d\n", i, n);
          count++; // here
       }
Run Code Online (Sandbox Code Playgroud)

并在这里插入排序 -

for (i = 1; i < n; i++) { 
    key = arr[i]; 
    j = i-1; 
    while (j >= 0 && arr[j] > key) { 
        arr[j+1] = arr[j]; 
        j = j-1; 
        count++;
    } 
    arr[j+1] = key;
}
Run Code Online (Sandbox Code Playgroud)

并尝试了各种大小的输入数组,范围分别为10,20,50,1000等,但在所有情况下,数组的带有冒泡排序的交换数与插入排序的单个移位数相同.有人可以解释一下吗?我的中心困惑在于交换的数量与移位的数量是一样的,因为它们是阵列中移动元素的完全不同的机制.

arrays sorting algorithm

-1
推荐指数
1
解决办法
185
查看次数

标签 统计

algorithm ×1

arrays ×1

c ×1

css ×1

html ×1

javascript ×1

jquery ×1

scanf ×1

scikit-learn ×1

sorting ×1