双重机器学习的python代码
时间: 2023-11-12 17:09:31 浏览: 357
Python机器学习代码
双重机器学习(Double Machine Learning)是一种处理因果推断问题的方法,它结合了回归和分类算法。下面是一个使用 Python 实现的双重机器学习代码示例:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
# 生成随机数据
np.random.seed(42)
X = np.random.normal(size=(1000, 5))
y = X[:, 0] + np.random.normal(size=1000)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 第一阶段,使用随机森林回归进行预测
rf = RandomForestRegressor(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)
y_pred_rf = rf.predict(X_test)
# 第二阶段,使用线性回归进行修正
lr = LinearRegression()
lr.fit(X_test, y_test - y_pred_rf)
y_pred_lr = rf.predict(X_test) + lr.predict(X_test)
# 输出模型的 R2 得分
print("R2 score: ", lr.score(X_test, y_test - y_pred_rf))
```
在这个例子中,我们首先使用随机森林回归模型进行预测,然后使用线性回归模型对预测结果进行修正。最终输出模型的 R2 得分。这个例子只是双重机器学习方法的一个简单示例,实际应用中可能需要更复杂的模型和数据处理方法。
阅读全文