0

我正在尝试使用 sklearn 线性回归绘制一个简单的线拟合。不幸的是,由于某种原因,没有绘制线拟合本身。

import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

def main():
    #loading file
    arr = np.genfromtxt("data.csv", dtype=float, delimiter=";", names=True)

    #voltage
    X = np.array([[i[0] for i in arr]])
    print("Voltage")
    print(X)

    #left wheel
    LEFT_Y = np.array([[i[1] for i in arr]])
    print("Left wheel")
    print(LEFT_Y)

    #right wheel
    RIGHT_Y = np.array([[i[2] for i in arr]])
    print("Right wheel")
    print(RIGHT_Y)

    model = LinearRegression()
    model.fit(X, LEFT_Y)

    plt.scatter(X, LEFT_Y, color='blue')
    plt.plot(X, model.predict(X), color='red')
    plt.show()

if __name__ == "__main__":
    main()
4

1 回答 1

0

我的问题是创建不正确的 NumPy 数组。它们必须以这种方式创建:

X = np.array([i[0] for i in arr]) #no second braket

其他数组也一样。

于 2021-11-04T23:10:46.700 回答