【发布时间】:2018-11-06 14:35:00
【问题描述】:
我需要创建一个模型,该模型可以根据变量对记录进行准确分类。例如,如果一条记录具有预测值 A 或 B,我希望它被归类为具有预测值 X。实际数据是这样的形式:
Predicted Predictor
X A
X B
Y D
X A
对于我的解决方案,我执行了以下操作:
1. 使用LabelEncoder 为Predicted 列创建数值
2. 预测变量有多个类别,我使用get_dummies 将其解析为单独的列。
这是数据框的一个子部分,其中包含 (dummy)Predictor 和几个预测器类别(请原谅未对齐):
Predicted Predictor_A Predictor_B
9056 30 0 0
2482 74 1 0
3407 56 1 0
12882 15 0 0
7988 30 0 0
13032 12 0 0
9738 28 0 0
6739 40 0 0
373 131 0 0
3030 62 0 0
8964 30 0 0
691 125 0 0
6214 41 0 0
6438 41 1 0
5060 42 0 0
3703 49 0 0
12461 16 0 0
2235 75 0 0
5107 42 0 0
4464 46 0 0
7075 39 1 0
11891 16 0 0
9190 30 0 0
8312 30 0 0
10328 24 0 0
1602 97 0 0
8804 30 0 0
8286 30 0 0
6821 40 0 0
3953 46 1
如上所示将数据重塑为 datframe 后,我尝试使用来自sklearn 的MultinomialNB。这样做时,我遇到的错误是:
ValueError: Found input variables with inconsistent numbers of samples: [1, 8158]
我在尝试使用只有 2 列的数据框时遇到了错误 -> Predicted 和 Predictor_A
我的问题是:
- 我需要做什么来解决这个错误?
- 我的方法正确吗?
【问题讨论】:
-
对我来说你的问题发生了什么并不明显,更不用说问题是什么了。请阅读minimal reproducible example 并相应地考虑edit您的问题。这对社区更好,更容易回答您的问题。
-
感谢您的反馈。我已经编辑了这个问题,希望它更容易理解。
-
@kurious 您使用哪些列进行模型拟合?
标签: pandas machine-learning scikit-learn sklearn-pandas