随机森林进行多元回归预测
返回随机森林进行预测结果 ,并写入excel
前言
在进行随机森林回归预测时,想要返回预测结果,但是网上常用的是返回分类器结果,故在此显示一下返回RandomForestRegressor的结果。
使用步骤
1.引入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import ensemble
from sklearn.model_selection import train_test_split
2.读入数据
按照各自的需求进行数据的读取,本例中数据有特殊的物理含义故提前制作了数据训练集与测试集,不再随机划分。
X_train=pd.read_excel("D:\科研\RandomForest\X_train.xlsx")
X_test=pd.read_excel("D:\科研\RandomForest\X_test.xlsx")
Y_train=pd.read_excel("D:\科研\RandomForest\Y_train.xlsx")
Y_test=pd.read_excel("D:\科研\RandomForest\Y_test.xlsx")
3.随机森林回归
本例中参数不具有任何参考价值,只是为了显示返回随机森林的预测结果。
def test_RandomForestRegressor_num(X_train,X_test,Y_train,Y_test):
regr1=ensemble.RandomForestRegressor(n_estimators=10,max_depth=10)
predictions=regr1.predict(X_test)#得到预测结果
data = pd.DataFrame(predictions)
#写入excel
writer = pd.ExcelWriter("D:\科研\RandomForest\X_test_predict.xlsx")
data.to_excel(writer, 'page_1', float_format='%.5f')
writer.save()
writer.close()
test_RandomForestRegressor_num(X_train,X_test,Y_train,Y_test) #回归