我正在运行一个脚本,以使用scikit-learn执行线性回归。在jupyter笔记本中,它运行良好,但现在转换为.py文件后,出现了错误。有问题的代码行是:
self.reg = linear_model.LinearRegression().fit(self.train_data, self.train_target)
已检查输入是否正确-形状正确的数组和数据类型正确。
错误是:
Segmentation fault: 11
偶尔还有以下内容:
XXX lineno: 459, opcode: 32
Traceback (most recent call last):
File "learn.py", line 175, in <module>
run_learn(42,0.3)
File "learn.py", line 171, in run_learn
learn_object.assess_performance()
File "learn.py", line 108, in assess_performance
self.score = self.reg.score(self.train_data, self.train_target)
File "/Users/[usr]/environments/tf_env/lib/python3.8/site-packages/sklearn/base.py", line 408, in score
y_pred = self.predict(X)
File "/Users/[usr]/environments/tf_env/lib/python3.8/site-packages/sklearn/linear_model/base.py", line 221, in
predict
return self._decision_function(X)
File "/Users/[usr]/environments/tf_env/lib/python3.8/site-packages/sklearn/linear_model/base.py", line 204, in
_decision_function
X = check_array(X, accept_sparse=['csr', 'csc', 'coo'])
File "/Users/[usr]/environments/tf_env/lib/python3.8/site-packages/sklearn/utils/validation.py", line 459, in
check_array
if isinstance(dtype, (list, tuple)):
SystemError: unknown opcode
我想不出为什么在jupyter笔记本中某些东西可以正常运行,而在python中却不能。
**在被问及检查Python版本时,两种用法都在运行Python 3.6的虚拟环境中发生(出于与其他模块的兼容性)