我试图在R中绘制一个5维图.我目前正在使用rgl包在4维中绘制我的数据,使用3个变量作为x,y,z,坐标,另一个变量作为颜色.我想知道是否可以使用此包添加第五个变量,例如空间中点的大小或形状.这是我的数据和我当前代码的示例:
set.seed(1)
df <- data.frame(replicate(4,sample(1:200,1000,rep=TRUE)))
addme <- data.frame(replicate(1,sample(0:1,1000,rep=TRUE)))
df <- cbind(df,addme)
colnames(df) <- c("var1","var2","var3","var4","var5")
require(rgl)
plot3d(df$var1, df$var2, df$var3, col=as.numeric(df$var4), size=0.5, type='s',xlab="var1",ylab="var2",zlab="var3")
Run Code Online (Sandbox Code Playgroud)
我希望有可能做到第五维度.非常感谢,
我正在sci-kit学习中构建线性回归模型,并将输入扩展为sci-kit学习管道中的预处理步骤.有什么办法可以避免缩放二进制列吗?发生的事情是这些列与其他列一起缩放,导致值以0为中心,而不是0或1,所以我得到的值如[-0.6,0.3],这会导致输入值为0影响我的线性模型中的预测.
基本代码说明:
>>> import numpy as np
>>> from sklearn.pipeline import Pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.linear_model import Ridge
>>> X = np.hstack( (np.random.random((1000, 2)),
np.random.randint(2, size=(1000, 2))) )
>>> X
array([[ 0.30314072, 0.22981496, 1. , 1. ],
[ 0.08373292, 0.66170678, 1. , 0. ],
[ 0.76279599, 0.36658793, 1. , 0. ],
...,
[ 0.81517519, 0.40227095, 0. , 0. ],
[ 0.21244587, 0.34141014, 0. , 0. ],
[ 0.2328417 , 0.14119217, 0. , 0. ]])
>>> scaler …Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何Principal Coordinate Analysis使用各种距离指标来实现.我在这两个偶然skbio和sklearn与实现. 我不明白为什么sklearn每次实现都是不同skbio的同时呢?是否有一定程度的随机性Multidimensional Scaling,特别是Principal Coordinate Analysis?我看到所有的集群都非常相似,但为什么它们不同?我是否正确实施了这个?
Principal Coordinate Analysis使用Scikit-bio(ie Skbio)运行总是给出相同的结果:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn import decomposition
import seaborn as sns; sns.set_style("whitegrid", {'axes.grid' : False})
import skbio
from scipy.spatial import distance
%matplotlib inline
np.random.seed(0)
# Iris dataset
DF_data = pd.DataFrame(load_iris().data,
index = ["iris_%d" …Run Code Online (Sandbox Code Playgroud) machine-learning linear-algebra multi-dimensional-scaling scikit-learn skbio
我有一个相异矩阵,我想使用sklearn.manifold.MDS函数执行多维缩放(MDS)。此矩阵中某些元素之间的差异没有意义,因此我想知道是否有一种方法可以在稀疏矩阵或缺少值的矩阵上运行MDS?根据这个问题,与0的相异性被认为是缺失值,但是我在官方文档中找不到此声明。值0的差异是否被解释为彼此非常接近的点?
任何有关基于稀疏相异矩阵获取我的高维数据集的低维表示的建议都将受到欢迎。谢谢!
python sparse-matrix missing-data multi-dimensional-scaling scikit-learn
想象一下,你给出了3个维度中n个点的集合S. 任意2点之间的距离是简单的欧几里德距离.您希望从该集合中选择k个点的子集Q,使得它们彼此相距最远.换句话说,不存在k个点的其他子集Q',使得Q中的所有成对距离的min小于Q'中的min.
如果n约为1600万,k约为300,我们如何有效地做到这一点?
我猜这个NP难,所以我们可能只想关注近似.我能想到的一个想法是使用多维缩放对一行中的这些点进行排序,然后使用二进制搜索的版本来获得该行上最远的点.
python algorithm computational-geometry multi-dimensional-scaling dimensionality-reduction
我有几个问题:
1.isoMDS和cmdscale有什么区别?
我可以使用不对称矩阵吗?
3.有没有办法确定最佳维数(结果)?
我希望这是发布的正确位置 - 如果没有,我愿意改为SO.
无论如何,我使用MDS来帮助我找到数据集的二维表示.基本上,这些是多年蛋白质数据中氨基酸残基的pKa值 - 其核心是相同比例的十进制数.有很多位置(~600行),有很多年(~12列).
我的问题是:MDS是数据矩阵(年份与职位)的正确输入,还是我可以加入相关矩阵(年与年)?我问,因为API文档与书面描述冲突.
API文档说数据矩阵:http://scikit-learn.org/stable/modules/generated/sklearn.manifold.MDS.html#sklearn.manifold.MDS(即n_samples,n_features).
书面描述说"输入相似度矩阵":http://scikit-learn.org/stable/modules/manifold.html