Test

发布于 2024-01-05  5850 次阅读


plt.figure(figsize=(12, 6))
# Plot for "年龄" (Age)
plt.subplot(1, 2, 1)
sns.boxplot(y=data['age'])
plt.title('Age Distribution')
plt.ylabel('Age')

plt.subplot(1, 2, 2)
sns.boxplot(y=data['力竭心率'])
plt.title('Max Heart Rate Distribution')
plt.ylabel('Max Heart Rate')

plt.tight_layout()
plt.show()

plt.figure(figsize=(12, 6))

plt.subplot(1, 2, 1)
sns.histplot(data['age'], kde=True)
plt.title('Age Distribution')
plt.xlabel('Age')

plt.subplot(1, 2, 2)
sns.histplot(data['力竭心率'], kde=True)
plt.title('Max Heart Rate Distribution')
plt.xlabel('Max Heart Rate')

plt.tight_layout()
plt.show()

1

plt.figure(figsize=(8, 6))
sns.scatterplot(x=data['age'], y=data['Max Heart'])
plt.title('Relationship Between Max Heart Rate and Age')
plt.xlabel('Age')
plt.ylabel('Max Heart Rate')
plt.show()

plt.figure(figsize=(10, 6))
sns.swarmplot(x=data['age'], y=data['Max Heart'])
plt.title('Relationship Between Max Heart Rate and Age with Swarm Plot')
plt.xlabel('Age')
plt.ylabel('Max Heart Rate')
plt.show()

2

# 导入线性回归模型
from sklearn.linear_model import LinearRegression

# 准备数据
# 将'年龄'列转换为2D数组,因为sklearn要求X是二维的
X = data['age'].values.reshape(-1, 1)  # 预测变量
y = data['Max Heart'].values  # 响应变量

# 创建线性回归模型
model = LinearRegression()
model.fit(X, y)  # 拟合模型

# 获取斜率(系数)和截距
slope = model.coef_[0]
intercept = model.intercept_

slope, intercept

3

r_squared = model.score(X, y)
r_squared
from scipy import stats

slope, intercept, r_value, p_value, std_err = stats.linregress(data['age'], data['Max Heart'])

slope, intercept, r_value, r_value**2, p_value, std_err

科技数码互联网,代码改变生活