- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对我的数据集进行了分类,它有超过 46 列和大约 500,000 行
import numpy as np
import pandas as pd
from sklearn.cross_validation import train_test_split
%matplotlib inline
这里我导入了数据集
df=pd.read_csv('Terror.csv', sep=',')
df.head()
这里我把列分为target和train
column_target=['success']
column_train=['iyear','country','region','latitude','longitude','specificity','vicinity','doubtterr','alternative','attacktype1','multiple','targtype1','natlty1','gname_id']
x=df[column_train]
y=df[column_target]
这里我用NA填充空行
x['latitude']=x['latitude'].fillna(x['latitude'].median())
x['longitude']=x['longitude'].fillna(x['longitude'].median())
x['doubtterr']=x['doubtterr'].fillna(x['doubtterr'].median())
x['alternative']=x['alternative'].fillna(x['alternative'].median())
x['natlty1']=x['natlty1'].fillna(x['natlty1'].median())
x['natlty1']=x['natlty1'].fillna(x['natlty1'].median())
这里我将 x 和 y 分开来进行测试和训练
x_train, x_test, y_train, y_test=train_test_split(x, y, test_size=0.33,
random_state=42)
试图有一个决策 TreeMap
from sklearn import tree
Tree=tree.DecisionTreeClassifier()
Tree=Tree.fit(x_train,y_train)
import pydotplus
from IPython.display import Image
dot_data= tree.export_graphviz(Tree, out_file=None,feature_names=x_train.columns,class_names=y_train.columns,filled=True,rounded=True,special_characters=True,max_depth=10)
graph= pydotplus.graph_from_dot_data(dot_data)
Image(graph.create_png())
但它给了我这个错误
IndexError Traceback (most recent call last)
<ipython-input-42-1ac22988949f> in <module>()
1 import pydotplus
2 from IPython.display import Image
----> 3 dot_data= tree.export_graphviz(Tree, out_file=None,
feature_names=x_train.columns,class_names=y_train.columns,
filled=True,rounded=True,special_characters=True,max_depth=10)
4 graph= pydotplus.graph_from_dot_data(dot_data)
5 Image(graph.create_png())
C:\Users\dell\Anaconda2\lib\site-packages\sklearn\tree\export.pyc in
export_graphviz(decision_tree, out_file, max_depth, feature_names, class_names, label, filled, leaves_parallel, impurity, node_ids, proportion, rotate, rounded, special_characters)
431 recurse(decision_tree, 0, criterion="impurity")
432 else:
--> 433 recurse(decision_tree.tree_, 0, criterion=decision_tree.criterion)
434
435 # If required, draw leaf nodes at same depth as each other
C:\Users\dell\Anaconda2\lib\site-packages\sklearn\tree\export.pyc in
recurse(tree, node_id, criterion, parent, depth)
319 out_file.write('%d [label=%s'
320 % (node_id,
--> 321 node_to_str(tree, node_id, criterion)))
322
323 if filled:
C:\Users\dell\Anaconda2\lib\site-packages\sklearn\tree\export.pyc in
node_to_str(tree, node_id, criterion)
284 node_string += 'class = '
285 if class_names is not True:
--> 286 class_name = class_names[np.argmax(value)]
287 else:
288 class_name = "y%s%s%s" % (characters[1],
C:\Users\dell\Anaconda2\lib\site-packages\pandas\indexes\base.pyc in
__getitem__(self, key)
1421
1422 if is_scalar(key):
-> 1423 return getitem(key)
1424
1425 if isinstance(key, slice):
IndexError: index 1 is out of bounds for axis 0 with size 1
我不知道我的代码有什么问题,它没有给我决策 TreeMap 像
最佳答案
您可以将“class_names=y_train.columns”替换为 class_names = df.columns.values[df 中“success”列的编号]。它应该可以解决您的问题。
关于python - 索引 1 超出轴 0 的范围,决策树分类的大小为 1 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43349040/
我不能解决这个问题。和标题说的差不多…… 如果其他两个范围/列中有“否”,我如何获得范围或列的平均值? 换句话说,我想计算 A 列的平均值,并且我有两列询问是/否问题(B 列和 C 列)。我只希望 B
我知道 python 2to3 将所有 xrange 更改为 range 我没有发现任何问题。我的问题是关于它如何将 range(...) 更改为 list(range(...)) :它是愚蠢的,只是
我有一个 Primefaces JSF 项目,并且我的 Bean 注释有以下内容: @Named("reportTabBean") @SessionScoped public class Report
在 rails3 中,我在模型中制作了相同的范围。例如 class Common ?" , at) } end 我想将公共(public)范围拆分为 lib 中的模块。所以我试试这个。 module
我需要在另一个 View 范围 bean 中使用保存在 View 范围 bean 中的一些数据。 @ManagedBean @ViewScoped public class Attivita impl
为什么下面的代码输出4?谁能给我推荐一篇好文章来深入学习 javascript 范围。 这段代码返回4,但我不明白为什么? (function f(){ return f(); functio
我有一个与此结构类似的脚本 $(function(){ var someVariable; function doSomething(){ //here } $('#som
我刚刚开始学习 Jquery,但这些示例对我帮助不大...... 现在,以下代码发生的情况是,我有 4 个表单,我使用每个表单的链接在它们之间进行切换。但我不知道如何在第一个函数中获取变量“postO
为什么当我这样做时: function Dog(){ this.firstName = 'scrappy'; } Dog.firstName 未定义? 但是我可以这样做: Dog.firstNa
我想打印文本文件 text.txt 的选定部分,其中包含: tickme 1.1(no.3) lesson1-bases lesson2-advancedfurther para:using the
我正在编写一些 JavaScript 代码。我对这个关键字有点困惑。如何在 dataReceivedHandler 函数中访问 logger 变量? MyClass: { logger: nu
我有这个代码: Public Sub test() Dim Tgt As Range Set Tgt = Range("A1") End Sub 我想更改当前为“A1”的 Tgt 的引
我正忙于此工作,以为我会把它放在我们那里。 该数字必须是最多3个单位和最多5个小数位的数字,等等。 有效的 999.99999 99.9 9 0.99999 0 无效的 -0.1 999.123456
覆盖代码时: @Override public void open(ExecutionContext executionContext) { super.open(executio
我想使用 preg_match 来匹配数字 1 - 21。我如何使用 preg_match 来做到这一点?如果数字大于 21,我不想匹配任何东西。 example preg_match('([0-9]
根据docs range函数有四种形式: (range) 0 - 无穷大 (range end) 0 - 结束 (range start end)开始 - 结束 (range start end st
我知道有一个UISlider,但是有人已经制作了RangeSlider(用两个拇指吗?)或者知道如何扩展 uislider? 最佳答案 我认为你不能直接扩展 UISlider,你可能需要扩展 UICo
我正在尝试将范围转换为列表。 nums = [] for x in range (9000, 9004): nums.append(x) print nums 输出 [9000] [9
请注意:此问题是由于在运行我的修饰方法时使用了GraphQL解析器。这意味着this的范围为undefined。但是,该问题的基础知识对于装饰者遇到问题的任何人都是有用的。 这是我想使用的基本装饰器(
我正在尝试创建一个工具来从网页上抓取信息(是的,我有权限)。 到目前为止,我一直在使用 Node.js 结合 requests 和 Cheerio 来拉取页面,然后根据 CSS 选择器查找信息。我已经
我是一名优秀的程序员,十分优秀!