gpt4 book ai didi

python - 如何才能恢复对应的功能呢?

转载 作者:行者123 更新时间:2023-11-30 09:37:08 24 4
gpt4 key购买 nike

我将 pandas 数据帧的两列转换为 numpy 数组,用作机器学习问题的特征和标签。

代码:

train_index, test_index = next(iter(ShuffleSplit(len(labels), train_size=0.2, test_size=0.80, random_state=42)))

features_train, features_test, = X[train_index], X[test_index]
labels_train, labels_test = labels[train_index], labels[test_index]

clf = DecisionTreeClassifier()
clf.fit(features_train, labels_train)
pred = clf.predict(features)
print pred

Features 目前是一个频率计数数组(我之前使用了 CountVectorizer 来拟合和转换我的原始 pandas 数据帧列)。我将完整的标签列表存储为 pred,但我希望每个标签具有相应的功能,以便我可以将标签列表返回到我的 pandas 数据帧。

最佳答案

预测的顺序与传递的数据相同(正如@Ulf指出的那样 - 您在这里错误地使用了术语“特征”,特征是矩阵的一列,是您使用 countvectorizer 计数的特定对象;行是观察值、样本、数据点 - 这就是您当前所说的特征)。因此,为了查看样本标签对,您只需将它们压缩在一起即可:

pred = clf.predict(features)
for sample, label in zip(features, pred):
print sample, label

如果您确实想恢复每列的含义,那么您的 CountVectorizer 就是您的最佳选择。您在代码中的某个位置创建了它

vectorizer = CountVectorizer( ... )

后来用了

... = vectorizer.fit_transform( ... ) 

现在您可以使用它来将样本转换回来

pred = clf.predict(features)
for sample, label in zip(features, pred):
print vectorizer.inverse_transform(np.array([sample])), label

关于python - 如何才能恢复对应的功能呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com