我如何以编程方式分析科学图

时间:2017-12-16 06:40:46

标签: bash csv unix

我有一个包含一系列曲线的图表。我想知道哪条曲线最接近原点。

enter image description here

鉴于我有csv文件,我如何以有效的方式处理CSV文件以获得最接近原点的曲线。对于上面AV1的图是预期的输出。

1 个答案:

答案 0 :(得分:0)

它们看起来像y = a * c^x

形式的指数衰减曲线

这意味着对数是线性函数:log y = log a + x * log c

也许在“ssimulacra得分”的对数上使用线性回归模型得到每条线的斜率和截距,并选择截距最小的线?

scikit learn有一个易于使用的线性回归量:

http://scikit-learn.org/stable/modules/linear_model.html

您可以使用pandas轻松阅读csv文件。

pip3 install scikit-learn pandas numpy

蟒:

import pandas as pd
import numpy as np
from sklearn import linear_model
df = pd.read_csv('filename.csv')
X = df['bpp'].values
y = np.log(df['ssimulacra score'].values)
reg = linear_model.LinearRegression()
reg.fit(X, y)
intercept = reg.intercept_

获取每条线的截距并返回截距最小的线。