数据科学

数据科学专业人员,机器学习专家以及有兴趣了解该领域的人员的问答


4
聚类之前是否有必要对数据进行标准化?
在集群之前是否有必要对数据进行标准化?在从例如scikit learn约DBSCAN,在这里他们这样做的线: X = StandardScaler().fit_transform(X) 但我不明白为什么有必要。归根结底,聚类不假定任何特定的数据分布-它是一种无监督的学习方法,因此其目的是探索数据。 为什么需要转换数据?

3
K-表示用Elbow方法,BIC,方差解释和轮廓选择K的非相干行为
我正在尝试使用K均值对具有90个特征的向量进行聚类。由于此算法询问我簇的数量,因此我想用一些不错的数学方法来验证我的选择。我希望有8到10个集群。功能按Z分数缩放。 肘法和方差解释 from scipy.spatial.distance import cdist, pdist from sklearn.cluster import KMeans K = range(1,50) KM = [KMeans(n_clusters=k).fit(dt_trans) for k in K] centroids = [k.cluster_centers_ for k in KM] D_k = [cdist(dt_trans, cent, 'euclidean') for cent in centroids] cIdx = [np.argmin(D,axis=1) for D in D_k] dist = [np.min(D,axis=1) for D in …

7
可视化高维数据的目的?
有很多可视化高维数据集的技术,例如T-SNE,isomap,PCA,监督PCA等。我们经历了将数据投影到2D或3D空间的动作,因此我们拥有“漂亮的图片”。这里介绍了其中一些嵌入(流形学习)方法。 但这“漂亮的图画”实际上有意义吗?通过可视化此嵌入式空间,某人可以获取哪些可能的见解? 我问,因为投射到这个嵌入式空间通常是没有意义的。例如,如果将数据投影到由PCA生成的主要成分,则这些主要成分(特征向量)不对应于数据集中的要素。他们是他们自己的特征空间。 同样,t-SNE将您的数据向下投影到一个空间,如果这些空间可以最大程度地减少KL差异,则它们彼此靠近。这不再是原始功能空间。(如果我做错了,请纠正我,但我什至不认为ML社区使用t-SNE来帮助分类的工作量很大;但这与数据可视化是一个不同的问题。) 我只是非常困惑,为什么人们对其中的一些可视化做出如此大的贡献。


6
将诸如月份和小时之类的功能编码为分类或数字?
在机器学习模型中将诸如月份和小时之类的特征编码为因子或数字更好吗? 一方面,我认为数字编码可能是合理的,因为时间是向前发展的过程(第五个月紧随其后的是第六个月),但另一方面,我认为由于周期性的原因,分类编码可能更合理年和天(第12个月后跟着第一个月)。 是否有通用的解决方案或约定?

4
XGBoost是否自己处理多重共线性?
我目前在具有21个功能(从大约150个功能的列表中选择)的数据集上使用XGBoost,然后对其进行一次热编码以获得〜98个功能。这98个功能中的一些功能有些多余,例如:变量(功能)也显示为B一种一种A和C乙一种乙一种\frac{B}{A}。C一种C一种\frac{C}{A} 我的问题是: 增强决策树如何(如果?)处理多重共线性? 如果不处理,多重共线性的存在将如何影响预测? 据我了解,该模型正在学习一棵以上的树,而最终预测是基于诸如单个预测的“加权总和”之类的。因此,如果这是正确的,那么增强决策树应该能够处理变量之间的相互依赖性。 另外,在相关说明中-XGBoost中的可变重要性对象如何工作?

2
如何使用GridSearch的输出?
我目前正在使用Python和Scikit进行学习,以进行分类,并围绕GridSearch进行了一些阅读,我认为这是优化估算器参数以获得最佳结果的好方法。 我的方法是这样的: 将我的数据分为训练/测试。 结合使用GridSearch和5Fold Cross验证来训练和测试我的估算器(Random Forest,Gradient Boost,SVC等),以获得具有最佳超参数组合的最佳估算器。 然后,使用测试集预测分类并将其与实际的类别标签进行比较,然后根据我的每个估计量(例如Precision,Recall,FMeasure和Matthews Correlation Coefficient)计算度量。 正是在这个阶段,我看到了奇怪的行为,并且不确定如何进行。我是否从GridSearch中获取.best_estimator_并将其用作网格搜索中的“最佳”输出,并使用此估计器执行预测?如果这样做,我发现第3阶段的指标通常比仅对所有训练数据进行训练并对测试集进行测试的情况要低得多。还是仅将输出GridSearchCV对象作为新的估算器?如果这样做,我的第3阶段指标会获得更好的分数,但是使用GridSearchCV对象而不是预期的分类器(例如随机森林)似乎很奇怪... 编辑: 所以我的问题是返回的GridSearchCV对象和.best_estimator_属性之间的区别是什么?我应该使用其中哪一个来计算其他指标?我可以像常规分类器一样使用此输出(例如使用预测),还是应该使用它?


3
变压器模型中的位置编码是什么?
我是ML的新手,这是我在这里的第一个问题,对不起,如果您的问题很傻,对不起。 我正在尝试阅读和理解本文注意,您所需要的只是其中的一幅图片: 我不知道什么是位置编码。通过听一些youtube视频,我发现它是一个嵌入词,在其中具有单词的含义和位置,并且与sin(x)sin(x)sin(x)或cos(x)cos(x)cos(x) 但我不知道它到底是什么以及它到底在做什么。所以我在这里寻求帮助。提前致谢。

3
输入数据的特征转换
我正在阅读有关OTTO Kaggle挑战的解决方案,并且第一位的解决方案似乎对输入数据X使用了多种转换,例如Log(X + 1),sqrt(X + 3/8)等。关于何时对各种分类器应用哪种类型的转换的一般指南? 我确实了解均值-均值和最小-最大归一化的概念。但是,对于上述转换,我的猜测是使用Log和Sqrt来压缩数据的动态范围。x轴偏移只是为了更新数据。但是,当输入不同的分类器时,作者选择对同一输入X使用不同的归一化方法。有任何想法吗?

6
在团队中共享Jupyter笔记本
我想设置一个服务器,该服务器可以通过以下方式支持数据科学团队:作为存储,版本控制,共享以及可能执行Jupyter笔记本的中心点。 一些所需的属性: 不同的用户可以访问服务器并打开和执行由他们或其他团队成员存储的笔记本。这里有趣的问题是,会是什么行为,如果用户X执行细胞在笔记本上创作的用户Y.我猜笔记本应该不被改变: 解决方案应该是自托管的。 笔记本应存储在服务器或Google驱动器上,或存储在owncloud的自托管实例中。 (奖金)笔记本将受到git版本控制(git可以是自托管的。不能绑定到GitHub或类似的东西)。 我调查了JupyterHub和Binder。对于前者,我不了解如何允许跨用户访问。后者似乎仅支持GitHub作为笔记本的存储。 您是否有使用任何一种解决方案的经验?


5
用Python计算KL发散
我对此很陌生,不能说我对背后的理论概念有完整的了解。我正在尝试计算Python中几个点列表之间的KL散度。我正在使用http://scikit-learn.org/stable/modules/generation/sklearn.metrics.mutual_info_score.html尝试执行此操作。我遇到的问题是,任何两个数字列表(其1.3862943611611198906)返回的值都是相同的。我有一种感觉,我在这里犯了某种理论上的错误,但无法发现。 values1 = [1.346112,1.337432,1.246655] values2 = [1.033836,1.082015,1.117323] metrics.mutual_info_score(values1,values2) 这是我正在运行的示例-只是我对任何2个输入都得到相同的输出。任何建议/帮助将不胜感激!

4
数据科学与数据挖掘一样吗?
我敢肯定,本论坛将要讨论的数据科学具有几个同义词,或者至少是相关领域,用于分析大数据。 我的特定问题是关于数据挖掘的。几年前,我参加了数据挖掘的研究生班。数据科学与数据挖掘之间有什么区别,尤其是我需要进一步了解才能精通数据挖掘?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.