python-3.x - 来自 sklearn 的机器学习

标签 python-3.x scikit-learn

我正在学习 sklearn 模块以及如何拆分数据。

我按照说明代码做了

 categories = ['alt.atheism', 'talk.religion.misc', 'comp.graphics', 
 'sci.space']
  newsgroups_train = fetch_20newsgroups(subset='train',
                                  remove=('headers', 'footers', 
 'quotes'),
                                  categories=categories)
newsgroups_test = fetch_20newsgroups(subset='test',
                                 remove=('headers', 'footers', 
'quotes'),
                                 categories=categories)

num_test = len(newsgroups_test.target)
test_data, test_labels = int(newsgroups_test.data[num_test/2:]), 
int(newsgroups_test.target[num_test/2:])
dev_data, dev_labels = int(newsgroups_test.data[:num_test/2]), 
int(newsgroups_test.target[:num_test/2])
train_data, train_labels = int(newsgroups_train.data),
int(newsgroups_train.target)
print('training label shape:', train_labels.shape)
print( 'test label shape:', test_labels.shape)
print( 'dev label shape:', dev_labels.shape)
print('labels names:', newsgroups_train.target_names)

但是我得到了这样的错误

TypeError Traceback(最后一次调用) 在 () 8个 9 num_test = len(newsgroups_test.target) ---> 10 test_data, test_labels = int(newsgroups_test.data[num_test/2:]), int(newsgroups_test.target[num_test/2:]) 11 dev_data,dev_labels = int(newsgroups_test.data[:num_test/2]),int(newsgroups_test.target[:num_test/2]) 12 train_data,train_labels = int(newsgroups_train.data),int(newsgroups_train.target)

TypeError: slice indices must be integers or None or have an index 方法

不知道哪里出了问题。

谢谢大家

最佳答案

虽然我对 scikits 数据加载器不是很熟悉,但如果您使用的是 python3,您的错误可能与此无关。您应该进行整数除法,因为 [] 运算符需要一个整数值。尝试使用除法运算符 //,如果两个参数都是整数,它确保返回的值是一个整数,这基本上是 math.floor(a/b)。在 python3 中,除法运算符 / 返回 float 而不是整数,无论​​ 2 个参数是否都是整数。

努力改变

num_test/2

num_test//2

例子:

newsgroups_test.target[num_test//2:]

运算符//在一些python2版本中也可用。

关于python-3.x - 来自 sklearn 的机器学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919096/

相关文章:

python - 从类定义中的列表理解访问类变量

python-3.x - 如何拆分列表中的字符串?

scikit-learn - CountVectorizer : "I" not showing up in vectorized text

scikit-learn - 如何将 RandomForest 折叠成等效的决策树?

python - LabelBinarizer 在多类示例中产生不同的结果

python - 将 GridSearchCV 结果传递到 Imbalanced-Learn 的 Pipeline 对象

python - 如何在python中远程连接SQLite3数据库

python - 访问导入到 __init__ 的模块而不直接引用它们

python-3.x - python脚本无法显示 “missing parenthesis in call to ' print'”

scikit-learn - 如何在MLPClassifier中设置初始权重?