python 医学多元线性回归
时间: 2024-08-28 16:04:04 浏览: 60
Python 中的医学多元线性回归通常用于研究多个自变量(也称为预测变量或输入变量)如何共同影响一个因变量(目标变量),在医学研究中,这可以用来分析多种因素对疾病发生、治疗效果或健康指标的影响。Python提供了许多统计库,如`statsmodels` 和 `scikit-learn`,来进行这样的分析。
`statsmodels.formula.api`模块下的`ols()`函数可用于普通最小二乘法估计,而`sklearn.linear_model.LinearRegression`则是常用的数据驱动机器学习工具。在进行多元线性回归时,需要准备数据集,包含因变量和多个自变量,然后使用模型.fit()方法拟合数据,并通过model.predict()进行预测。
以下是一个简单的例子:
```python
import pandas as pd
from statsmodels.formula.api import ols
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
# 假设data是包含患者信息的数据框,'target'是因变量,'features1', 'features2', ...是自变量
data = pd.read_csv('medical_data.csv')
# 定义公式,例如'y ~ feature1 + feature2 + feature3'
model_formula = 'target ~ features1 + features2 + features3'
# 划分训练集和测试集
X = data[['features1', 'features2', 'features3']]
y = data['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 使用statsmodels做多元线性回归
ols_model = ols(model_formula, data=data).fit()
print(ols_model.summary())
# 或者使用sklearn
regressor = LinearRegression()
regressor.fit(X_train, y_train)
predictions = regressor.predict(X_test)
```
阅读全文