【发布时间】:2017-12-16 06:40:45
【问题描述】:
【问题讨论】:
-
目标是您添加一些自己的代码,以至少展示您为解决这个问题所做的研究工作。
-
@Cyrus 我的方法似乎太复杂了。最初我虽然可以按升序对大小(bpp)进行排序。然后我检查每个编解码器的模拟分数。分数最低的编解码器是离原点更近
【问题讨论】:
这些看起来像指数衰减曲线,形式为y = a * c^x
这意味着对数是一个线性函数:log y = log a + x * log c
也许使用“ssimulacra score”的对数线性回归模型来得到每条线的斜率和截距,并选择截距最小的线?
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_
获取每行的截距并返回截距最小的行。
【讨论】: