fit()上述两种方法之间的区别是非常明显的。fit存在于 sklearn 的所有类中,并根据类拟合对象的内部变量,无论是训练模型类还是预处理器类。
transform()然而,和之间的区别predict()似乎有点模糊。我看到的一个普遍规则是 -predict()属于监督学习类并且transform()属于无监督学习类。
尽管如此,我还是发现了这条一般规则的一些例外情况。K-Means(一种无监督算法)和 PLSRegression(一种监督算法)是同时具有这两种方法的两个类。我浏览了 K-Means 文档,并且了解了两种不同方法返回的内容;但这两个接口的实现在文档中似乎没有非常具体地定义。
就像fit(),transform()根据上下文可以表示不同的意思。例如,对于预处理类,fit()计算数据集的平均值并transform应用它。对于培训课程,fit()采取不同的行为并训练模型。
predict()仍然是非常不言自明的,我只将其包含在问题中,因为 的不同用法transform()似乎只能作为predict()比较点来解释。
在浏览了许多问题、部分文档(包括开发手册、术语表和《机器学习实践手册》的一小部分)之后,这就是我得出的结论 - 似乎这些接口并不是故意的有一个明确的定义,并且对于所编写的每个类都应该灵活。
这是正确的还是我错过了什么?
大家.我在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,所有这些浏览器都显示了一个网页,其默认的白色背景页面对鼠标移动没有反应.
有没有办法在不使用动态内存分配的情况下做到这一点?
#include <stdio.h>
int main() {
char* str = NULL;
scanf("%s", str);
printf("%s\n", str);
}
Run Code Online (Sandbox Code Playgroud) 我尝试在这里放置冒泡排序计数器 -
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等,但在所有情况下,数组的带有冒泡排序的交换数与插入排序的单个移位数相同.有人可以解释一下吗?我的中心困惑在于交换的数量与移位的数量是一样的,因为它们是阵列中移动元素的完全不同的机制.
algorithm ×1
arrays ×1
c ×1
css ×1
html ×1
javascript ×1
jquery ×1
scanf ×1
scikit-learn ×1
sorting ×1