我对机器学习和python非常陌生,我正试图建立一个模型来预测病人(N=200)和对照组(N=200)形成的结构神经成像数据。在最初的预处理之后,我将神经成像数据重组成一个2D阵列,我建立了以下模型:
from sklearn.svm import SVC
svc = SVC(C=1.0, kernel='linear')
from sklearn.grid_search import GridSearchCV
from numpy import range
k_range = np.arange(0.1,10,0.1)
param_grid=dict(C=k_range)
grid=GridSearchCV(svc, param_grid, cv=10, scoring='accuracy')
grid.fit(img,labels)
grid.grid_scores_
print grid.best_score_
print grid.best_params_
这给了我一个不错的结果,但我想控制这样一个事实:用不同的扫描仪获取不同的图像(例如,受试者1至150人用扫描仪1扫描,101至300人用扫描仪2扫描,301至400人用扫描仪3扫描)。是否可以将此添加到上面的模型中?
我读到,做一个以前的功能选择可能会有帮助。但是,当这些特征可能与扫描仪相关时,我不想简单地提取有意义的特性。事实上,我想对病人和对照组进行分类,而不是基于扫描仪(也就是对扫描仪的控制)。
如对此有任何意见,将不胜感激
发布于 2016-05-19 14:53:59
对于诊断,您可以查看数据是如何在每个扫描器中分布的,以确定您所追求的这个方向是否有希望。规范化(例如,每个扫描仪的mean+variance )可以是一种选择,就像有人已经建议的那样。另一个选项是在您的功能集中添加3个额外的维度,作为所使用的扫描器的一个热编码(即,对于每个示例,在适当的扫描器的位置上有一个1,对于其他的扫描器是0)。
发布于 2018-10-24 12:15:11
要将它添加到您的模型中,您可以将每个扫描器的规范化参数作为一个功能,并将其包含在模型中。
https://stackoverflow.com/questions/37277647
复制相似问题