我在大约6个月前使用名为Predixion的软件运行了k-means聚类算法。我写了一个R脚本,希望从Predixion中重现相同的结果。但是,结果非常不同。我相信结果是不同的,因为我们对数据进行了不同的标准化。我需要能够为每列使用不同的规范化方法。
account = c("A","B","C", "D","E")
var_num1= c(67,69,71,33,19)
var_num2= c(7175,12018, 6075, 3128, 4002)
var_percent= c(.22,.57,.33,.87,.62)
df = data.frame(account, var_num1,var_num2, var_percent)
我想在列' var_num1'上使用日志规范化。我想对列' var_num2'使用最小/最大标准化。和' var_percent'。
感谢您的帮助。
答案 0 :(得分:0)
你试过了吗?
df$var_num1 <- scale(df$var_num1)
这将获取一列的值并对其进行缩放。使用其他列和不同的缩放方法也可以完成同样的事情。
编辑:
最小/最大标准化的一种可能性:
df$var_num1_minmax <- lapply(df$var_num1, function(x) (x-min(df$var_num1))/(max(df$var_num1)-min(df$var_num1)))