擅长:python、mysql、java
<p>您可以使用<a href="http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html" rel="noreferrer">^{<cd1>}</a>。它允许你不适合截距(也就是说,直线穿过原点,或者,用一些诡计,你选择的点)。它还处理加权数据。在</p>
<p>(大多是无耻地从@Hiho的回答中偷来的)</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
import sklearn.linear_model
y = np.array([1.0, 3.3, 2.2, 4.25, 4.8, 5.1, 6.3, 7.5])
x = np.arange(y.shape[0]).reshape((-1,1))
w = np.linspace(1,5,y.shape[0])
model = sklearn.linear_model.LinearRegression(fit_intercept=False)
model.fit(x, y, sample_weight=w)
line_x = np.linspace(min(x), max(x), 100).reshape((-1,1))
pred = model.predict(line_x)
plt.scatter(x, y)
plt.plot(line_x, pred)
plt.show()
</code></pre>