我正在使用类似于以下内容的数据集:
X_values(x,y,z坐标列表):
c
Y_values(描述符列表):
[
[(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)]
...
]
X_values中的每个列表对应于Y_values的相应索引处的列表。我试图根据术语为X_valyes创建一个分类器(反之亦然),但我无法隔离单个坐标和单个术语之间的关系。我试图用Sci-kit learn运行K_nearest邻居分类器:
[
['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']
...
]
但我相信错误源于不匹配的列。是否有更好的分类算法可以根据这些参数应用于此数据集?
答案 0 :(得分:0)
我认为模拟问题的最佳方法是分离坐标并将它们视为多个要素。让我用线性回归来解释它如何帮助。
假设您的功能为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]
现在,您似乎正在尝试将其建模为监督学习问题,因为您有数据标签。对于KMeans问题,你会有类似的东西
X = np.array([[32.0, 22.0, -2.0],[...],[...]])
knn = NearestNeighbors(n_neighbors= NUM_CLUSTERS, algorithm='ball_tree').fit(X)
答案 1 :(得分:0)