使用scikit-learn处理分类特征

夏洛克85

我在做什么?

我正在使用随机森林解决分类问题。我有一组固定长度(长10个字符)的字符串,它们代表DNA序列。DNA字母组成4个字母,分别是ACGT

这是我的原始数据的示例:

ATGCTACTGA
ACGTACTGAT
AGCTATTGTA
CGTGACTAGT
TGACTATGAT

每个DNA序列都带有描述真实生物学反应的实验数据;该分子被认为引发了生物反应(1)或没有(0)。

问题:

训练集包括分类(标称)特征和数字特征。它具有以下结构:

training_set = [
  {'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
   'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
   'mass':370.2, 'temp':70.0},
  {'p1':'A', 'p2':'C', 'p3':'G', 'p4':'T', 'p5':'A', 
   'p6':'C', 'p7':'T', 'p8':'G', 'p9':'A', 'p10':'T', 
   'mass':400.3, 'temp':67.2},
]

target = [1, 0]

我使用DictVectorizer成功创建了分类器,以对名义特征进行编码,但是在对测试数据进行预测时遇到了问题。

下面是到目前为止完成的代码的简化版本:

from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction import DictVectorizer

training_set = [
  {'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
   'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
   'mass':370.2, 'temp':70.0},
  {'p1':'A', 'p2':'C', 'p3':'G', 'p4':'T', 'p5':'A', 
   'p6':'C', 'p7':'T', 'p8':'G', 'p9':'A', 'p10':'T', 
   'mass':400.3, 'temp':67.2},
]

target = [1, 0]

vec = DictVectorizer()
train = vec.fit_transform(training_set).toarray()

clf = RandomForestClassifier(n_estimators=1000)
clf = clf.fit(train, target)


# The following part fails.
test_set =   {
  'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
  'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
  'mass':370.2, 'temp':70.0}
vec = DictVectorizer()
test = vec.fit_transform(test_set).toarray()
print clf.predict_proba(test)

结果,我得到一个错误:

ValueError: Number of features of the model must  match the input. 
Model n_features is 20 and  input n_features is 12
亨利

您应该使用相同DictVectorizer从而创立了列车数据集对象transformtest_set

from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction import DictVectorizer

training_set = [
  {'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
   'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
   'mass':370.2, 'temp':70.0},
  {'p1':'A', 'p2':'C', 'p3':'G', 'p4':'T', 'p5':'A', 
   'p6':'C', 'p7':'T', 'p8':'G', 'p9':'A', 'p10':'T', 
   'mass':400.3, 'temp':67.2},
]

target = [1, 0]

vec = DictVectorizer()
train = vec.fit_transform(training_set).toarray()

clf = RandomForestClassifier(n_estimators=1000)
clf = clf.fit(train, target)


# The following part fails.
test_set =   {
  'p1':'A', 'p2':'T', 'p3':'G', 'p4':'C', 'p5':'T', 
  'p6':'A', 'p7':'C', 'p8':'T', 'p9':'G', 'p10':'A', 
  'mass':370.2, 'temp':70.0}

test = vec.transform(test_set).toarray()
print clf.predict_proba(test)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用scikit-learn处理分类特征

来自分类Dev

如何预处理新实例进行分类,以使特征编码与使用Scikit-learn的模型相同?

来自分类Dev

使用scikit-learn处理太多分类功能

来自分类Dev

处理 scikit-learn MLPClassifier 的分类标签

来自分类Dev

在scikit-learn中使用OneHotEncoder为分类准备序数和名义特征

来自分类Dev

如何在python / Scikit中使用许多唯一值处理分类特征

来自分类Dev

scikit-learn中处理nan / null的分类器

来自分类Dev

使用 Scikit-Learn 使用分类数据制作回归模型

来自分类Dev

使用scikit-learn消除随机森林上的递归特征

来自分类Dev

使用scikit-learn删除低方差的特征

来自分类Dev

使用scikit-learn消除随机森林上的递归特征

来自分类Dev

使用scikit-learn进行二次采样+分类

来自分类Dev

在Scikit-Learn中使用近似最近邻进行分类

来自分类Dev

使用scikit-learn生成困难分类数据集

来自分类Dev

如何处理 Scikit.learn 管道中不平衡的 xgboost 多类分类?

来自分类Dev

如何使用scikit-learn加载和处理.txt文件?

来自分类Dev

如何使用scikit-learn执行集成(多分类器)分类?

来自分类Dev

分类和数值特征-分类目标-Scikit学习-Python

来自分类Dev

使用scikit学习KNN进行多维特征分类(输入维度错误)

来自分类Dev

如何使用scikit-learn使用标签对文本进行分类?

来自分类Dev

使用scikit-learn进行递归特征消除和网格搜索

来自分类Dev

使用scikit对文本进行分类

来自分类Dev

使用 SciKit 对句子进行分类

来自分类Dev

Scikit-Learn中的分类数据转换

来自分类Dev

使用NLTK,scikit-learn和OneVsRestClassifier启用多标签分类

来自分类Dev

在Android中使用经过训练的Scikit-learn svm分类器

来自分类Dev

使用Scikit-Learn的SVR,您如何结合分类和连续功能来预测目标?

来自分类Dev

使用特定列在scikit-learn中估算分类缺失值

来自分类Dev

在 scikit-learn 中使用图像数据拟合支持向量分类器会产生错误

Related 相关文章

  1. 1

    使用scikit-learn处理分类特征

  2. 2

    如何预处理新实例进行分类,以使特征编码与使用Scikit-learn的模型相同?

  3. 3

    使用scikit-learn处理太多分类功能

  4. 4

    处理 scikit-learn MLPClassifier 的分类标签

  5. 5

    在scikit-learn中使用OneHotEncoder为分类准备序数和名义特征

  6. 6

    如何在python / Scikit中使用许多唯一值处理分类特征

  7. 7

    scikit-learn中处理nan / null的分类器

  8. 8

    使用 Scikit-Learn 使用分类数据制作回归模型

  9. 9

    使用scikit-learn消除随机森林上的递归特征

  10. 10

    使用scikit-learn删除低方差的特征

  11. 11

    使用scikit-learn消除随机森林上的递归特征

  12. 12

    使用scikit-learn进行二次采样+分类

  13. 13

    在Scikit-Learn中使用近似最近邻进行分类

  14. 14

    使用scikit-learn生成困难分类数据集

  15. 15

    如何处理 Scikit.learn 管道中不平衡的 xgboost 多类分类?

  16. 16

    如何使用scikit-learn加载和处理.txt文件?

  17. 17

    如何使用scikit-learn执行集成(多分类器)分类?

  18. 18

    分类和数值特征-分类目标-Scikit学习-Python

  19. 19

    使用scikit学习KNN进行多维特征分类(输入维度错误)

  20. 20

    如何使用scikit-learn使用标签对文本进行分类?

  21. 21

    使用scikit-learn进行递归特征消除和网格搜索

  22. 22

    使用scikit对文本进行分类

  23. 23

    使用 SciKit 对句子进行分类

  24. 24

    Scikit-Learn中的分类数据转换

  25. 25

    使用NLTK,scikit-learn和OneVsRestClassifier启用多标签分类

  26. 26

    在Android中使用经过训练的Scikit-learn svm分类器

  27. 27

    使用Scikit-Learn的SVR,您如何结合分类和连续功能来预测目标?

  28. 28

    使用特定列在scikit-learn中估算分类缺失值

  29. 29

    在 scikit-learn 中使用图像数据拟合支持向量分类器会产生错误

热门标签

归档