我使用的数据集类似于:
X_值(X,y,z坐标列表):
[
[(32.0, 22.0, -2.0), (32.0, 22.0, -2.0), (28.0, 50.0, 6.0), (28.0, 14.0, 56.0), (-26.0, 56.0, 6.0), (-18.0, 50.0, 4.0), (14.0, -36.0, 50.0), (-16.0, -70.0, -6.0), (-14.0, -6.0, 4.0), (18.0, -46.0, -28.0), (28.0, 12.0, 54.0), (28.0, 12.0, 54.0), (-26.0, 62.0, 12.0), (-28.0, 55.0, 5.0), (46.0, -76.0, 6.0), (-30.0, -88.0, 28.0), (-8.0, -70.0, -4.0), (50.0, -58.0, -16.0), (-30.0, -88.0, 28.0), (14.0, -40.0, 50.0), (40.0, -76.0, -2.0), (-64.0, -54.0, -4.0), (10.0, -16.0, 44.0), (14.0, 0.0, 6.0), (14.0, 0.0, 6.0), (-12.0, -4.0, 0.0), (14.0, 0.0, 6.0), (30.0, 22.0, -6.0), (30.0, 22.0, -6.0), (-30.0, 60.0, 12.0), (-26.0, 58.0, 4.0)]
...
]
Y\ U值(描述符列表):
[
['Aged', 'Aged, 80 and over', 'Cognition', 'Dopamine', 'Female', 'Humans', 'Image Processing, Computer-Assisted', 'Magnetic Resonance Imaging', 'Male', 'Memory, Short-Term', 'Middle Aged', 'Neostriatum', 'Neuropsychological Tests', 'Positron-Emission Tomography', 'Psychomotor Performance', 'Radiopharmaceuticals', 'Tyrosine']
...
]
X\u值中的每个列表对应于Y\u值对应索引处的列表。我正试图基于这些术语(反之亦然)为xu valyes创建一个分类器,但我无法分离单个坐标和单个术语之间的关系。我尝试用Sci工具包运行K琰U最近邻分类器学习:
knn.fit(train_points, train_descriptors)
但我相信错误源于不匹配的列。有没有更好的分类算法,我可以应用到这个数据集基于这些参数?你知道吗
这个任务可能适合一个决策树分类器,可以详细查看使用here。但这很简单,就像这样:
其中X\u值和Y\u值是您描述的数组。你知道吗
你也可以尝试使用一个热编码来将标签转换成0和1的数组,然后用均方损失函数或分类损失熵来训练神经网络,但它可能需要大量的数据来避免过度拟合。MLP和一个热编码都在sklearn上实现。选中this和this。你知道吗
我认为建立问题模型的最佳方法是分离坐标并将它们视为多个特征。让我用线性回归来解释它有什么帮助。你知道吗
假设您的特性是
X
、Y
、Z
,那么您将有第一个训练示例(32.0、22.0、-2.0),我将学习参数(权重)theta
称为以下假设:h(x) = theta_1 * X + theta_2 * Y + theta_3 * Z + bias_term
这将表示第一组参数的假设,但如果您可以对其进行概括,则可以将训练示例(输入)转换为具有向量列的矩阵:
X' = [ X Y Z]
现在,似乎您正试图将其建模为一个有监督的学习问题,因为您的数据有标签。对于一个问题,你会有这样的东西
相关问题 更多 >
编程相关推荐