首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fit包中的__init__文件出错

fit包中的__init__文件出错
EN

Stack Overflow用户
提问于 2022-07-18 12:23:31
回答 1查看 29关注 0票数 0

我正在尝试运行我在GitHub上找到的代码,以实现分段线性表示。问题是,fit包的init文件中似乎出现了错误。下面是代码:

代码语言:javascript
复制
from matplotlib.pylab import gca, figure, plot, subplot, title, xlabel, ylabel, xlim,show
from matplotlib.lines import Line2D
import segment
import fit

Pull = pandas.read_csv('pull_kpi.csv', parse_dates=['pull_date'])
data = Pull[['pull_date', 'qty_late']]

from matplotlib.pylab import gca, figure, plot, subplot, title, xlabel, ylabel, xlim,show
from matplotlib.lines import Line2D
import segment
import fit

def draw_plot(data,plot_title):
    plot(range(len(data)),data,alpha=0.8,color='red')
    title(plot_title)
    xlabel("Samples")
    ylabel("Signal")
    xlim((0,len(data)-1))

def draw_segments(segments):
    ax = gca()
    for segment in segments:
        line = Line2D((segment[0],segment[2]),(segment[1],segment[3]))
        ax.add_line(line)

with open("example_data/16265-normalecg.txt") as f:
    file_lines = f.readlines()

data = [float(x.split("\t")[2].strip()) for x in file_lines[100:320]]

max_error = 0.005

#sliding window with regression
figure()
segments = segment.slidingwindowsegment(data, fit.regression, fit.sumsquared_error, max_error)
draw_plot(data,"Sliding window with regression")
draw_segments(segments)

#bottom-up with regression
figure()
segments = segment.bottomupsegment(data, fit.regression, fit.sumsquared_error, max_error)
draw_plot(data,"Bottom-up with regression")
draw_segments(segments)

#top-down with regression
figure()
segments = segment.topdownsegment(data, fit.regression, fit.sumsquared_error, max_error)
draw_plot(data,"Top-down with regression")
draw_segments(segments)



#sliding window with simple interpolation
figure()
segments = segment.slidingwindowsegment(data, fit.interpolate, fit.sumsquared_error, max_error)
draw_plot(data,"Sliding window with simple interpolation")
draw_segments(segments)

#bottom-up with  simple interpolation
figure()
segments = segment.bottomupsegment(data, fit.interpolate, fit.sumsquared_error, max_error)
draw_plot(data,"Bottom-up with simple interpolation")
draw_segments(segments)

#top-down with  simple interpolation
figure()
segments = segment.topdownsegment(data, fit.interpolate, fit.sumsquared_error, max_error)
draw_plot(data,"Top-down with simple interpolation")
draw_segments(segments)


show()

这个错误似乎是一个无效的语法,Python发生在行"raise exc_type,exc_val,exc_tb“中。

下面是init文件中创建bug的部分:

代码语言:javascript
复制
    # File I/O methods

    def __enter__(self):
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        if not exc_val:
            return self.close()

        raise exc_type, exc_val, exc_tb

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-18 12:37:08

问题是,您安装的来自PyPI的包裹 (GitHub)与Python3不兼容(实际上,上一次更新是在8年前)。(其他人在Python 3上也有同样的问题。)

然而, --这不是您想要的包--它甚至不导出像sumsquared_error这样的东西。

这些导出可以在fit.py中找到,该存储库可能是您调整代码的地方。

换言之:

  • pip uninstall fit -你要找的不是机器人
  • fit.pywrappers.py从该存储库复制到项目的目录
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73022261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档