用SciKit学习在长度不匹配的数据集上训练分类器

2024-06-16 10:20:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的数据集类似于:

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) 

但我相信错误源于不匹配的列。有没有更好的分类算法,我可以应用到这个数据集基于这些参数?你知道吗


Tags: and数据image列表分类器trainfemale描述符
2条回答

这个任务可能适合一个决策树分类器,可以详细查看使用here。但这很简单,就像这样:

from sklearn import tree
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X_values , Y_values )

其中X\u值和Y\u值是您描述的数组。你知道吗

你也可以尝试使用一个热编码来将标签转换成0和1的数组,然后用均方损失函数或分类损失熵来训练神经网络,但它可能需要大量的数据来避免过度拟合。MLP和一个热编码都在sklearn上实现。选中thisthis。你知道吗

我认为建立问题模型的最佳方法是分离坐标并将它们视为多个特征。让我用线性回归来解释它有什么帮助。你知道吗

假设您的特性是XYZ,那么您将有第一个训练示例(32.0、22.0、-2.0),我将学习参数(权重)theta称为以下假设:

h(x) = theta_1 * X + theta_2 * Y + theta_3 * Z + bias_term

这将表示第一组参数的假设,但如果您可以对其进行概括,则可以将训练示例(输入)转换为具有向量列的矩阵:

X' = [ X Y Z]

现在,似乎您正试图将其建模为一个有监督的学习问题,因为您的数据有标签。对于一个问题,你会有这样的东西

X = np.array([[32.0, 22.0, -2.0],[...],[...]])
knn = NearestNeighbors(n_neighbors= NUM_CLUSTERS, algorithm='ball_tree').fit(X)

相关问题 更多 >