【问题标题】:Creating a Matrix of Floats to do Polynomial Regression创建一个浮点矩阵来进行多项式回归
【发布时间】:2015-05-03 03:16:28
【问题描述】:

我正在尝试对我拥有的 csv 文件(或任何其他 csv 文件)进行多项式回归。我不确定如何构建包含我拥有的数据集的矩阵。这是我当前的代码。

from matplotlib.pyplot import *
import numpy as np
import csv
from math import *

f=open("data_setshort.csv", "r")
csv_f = csv.reader(f)
xval = []
yval = []
polyreg = []

for row in csv_f:
    xval.append(row[0])
    yval.append(row[1])

f.close()

x = np.array(xval)
y = np.array(yval)
xlist = [float(i) for i in x]
ylist = [float(i) for i in y]

print xlist
print ylist

def poly_fit(x,y):
    for i in range(1, len(x)):
        M = np.matrix(x[i],y[i])
    return M

Matrix = poly_fit(xlist,ylist)

print Matrix

poly_fit(x,y) 是我尝试构建的用于执行多项式回归的函数。

【问题讨论】:

  • 这取决于输入的数据。 csv文件怎么样?

标签: python matrix regression polynomial-math


【解决方案1】:

也许我完全误解了你想要做什么,但如果它从连续的 x 和 y 值拟合多项式,那么就可以了:

import numpy as np


xi = np.random.uniform(-3, 3, 30)
ni = np.random.uniform(0, .4, 30)

coefficients = np.polyfit(xi, ni, 3)
print coefficients

然后,在给定新 x 值的情况下使用它生成 y 值:

new_x = 2.5
polynomial = np.poly1d(coefficients)
new_y = polynomial(new_x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-18
    • 2022-07-06
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多