data = pd.read_csv('/home/w123/Documents/fatigue_detecting-master/TXT-data/5.14/2/Eye aspect ratio.txt') y = data.iloc[:, :-1].values.reshape(-1, 1) X = data.iloc[:, -1].values.reshape(-1, 1) regressor = LinearRegression() regressor.fit(X, y) y_pred = regressor.predict(X) print("Regression Function: y = {:.2f} + {:.2f}x".format(regressor.intercept_[0], regressor.coef_[0][0])) plt.scatter(X, y, color='blue') plt.plot(X, y_pred, color='red') plt.title('Linear Regression') plt.xlabel('Independent Variable') plt.ylabel('Dependent Variable') plt.legend(['Regression Line', 'Observations']) plt.show()改成x,y,z数据分析
时间: 2023-06-18 21:07:53 浏览: 92
假设你有一个名为data的Pandas DataFrame,其中包含三列数据,分别是x,y和z。那么你可以使用以下代码进行线性回归分析:
```
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('/path/to/data.csv')
# 将数据分成x、y、z三个变量
x = data['x'].values.reshape(-1, 1)
y = data['y'].values.reshape(-1, 1)
z = data['z'].values.reshape(-1, 1)
# 创建线性回归模型
regressor = LinearRegression()
# 训练模型
regressor.fit(np.hstack((x, y)), z)
# 预测z值
z_pred = regressor.predict(np.hstack((x, y)))
# 打印回归方程
print("Regression Function: z = {:.2f} + {:.2f}x + {:.2f}y".format(
regressor.intercept_[0], regressor.coef_[0][0], regressor.coef_[0][1]))
# 绘制散点图和回归线
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c='blue', marker='o')
ax.plot_surface(x, y, z_pred.reshape(x.shape), color='red', alpha=0.5)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.show()
```
这段代码将数据分成了x、y、z三个变量,然后使用`np.hstack`将x和y合并为一个2D数组,作为线性回归模型的输入。然后训练模型,并使用`np.hstack`将x和y合并为一个2D数组,作为预测z值的输入。最后,绘制了3D散点图和回归平面。
阅读全文