简单理解随机森林回归(附Python实现)

简单理解随机森林回归(附Python实现)我们知道 每个决策树都有很高的方差 但是当我们将所有决策树并行组合在一起时 由于每个决策树都在特定样本数据上得到了完美的训练 因此集成结果方差很低 输出不依赖于一个决策树 而是多个决策树 在分类问题的情况下 最终输出是通过使用多数表决分类器

大家好,欢迎来到IT知识分享网。

我们知道,每个决策树都有很高的方差,但是当我们将所有决策树并行组合在一起时,由于每个决策树都在特定样本数据上得到了完美的训练,因此集成结果方差很低,输出不依赖于一个决策树,而是多个决策树。在分类问题的情况下,最终输出是通过使用多数表决分类器获得的。在回归问题的情况下,最终输出是所有输出的平均值。这部分称为bagging

简单理解随机森林回归(附Python实现)

简单理解

随机森林是一种集成技术,能够通过使用多个决策树和一种称为bagging方法来执行回归和分类任务。这背后的基本思想是结合多个决策树来确定最终输出,而不是依赖于单个决策树。
随机森林有多个决策树作为基础学习模型。我们从数据集中随机执行行采样和特征采样,形成每个模型的样本数据集。下面是随机森林回归的分步展示实现。

代码实现

第 1 步: 导入所需的库。

# Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd 

第 2 步: 导入并打印数据集

data = pd.read_csv('Salaries.csv') print(data) 
简单理解随机森林回归(附Python实现)

第 3 步: 选择数据集中的所有行和列 1 到 x,所有行和列 2 作为 y

x= df.iloc [:, : -1] # “ : ”表示它将选择所有行,“: -1 ”表示它将忽略最后一列 y= df.iloc [:, -1 :] # ” : ”表示它将选择所有行,“-1 :”表示它将忽略除最后一列之外的所有列 # “iloc()”函数使我们能够选择数据集的特定单元格,也就是说,它帮助我们从数据框或数据集的一组值中选择属于特定行或列的值。
简单理解随机森林回归(附Python实现)

简单理解随机森林回归(附Python实现)

第 4 步: 将随机森林回归器拟合到数据集

# Fitting Random Forest Regression to the dataset # import the regressor from sklearn.ensemble import RandomForestRegressor # create regressor object regressor = RandomForestRegressor(n_estimators = 100, random_state = 0) # fit the regressor with x and y data regressor.fit(x, y) 
简单理解随机森林回归(附Python实现)

第 5 步: 预测新结果

Y_pred = regressor.predict(np.array([6.5]).reshape(1, 1)) # test the output by changing values

第 6 步: 可视化结果

# Visualising the Random Forest Regression results # arrange for creating a range of values # from min value of x to max # value of x with a difference of 0.01 # between two consecutive values X_grid = np.arrange(min(x), max(x), 0.01) # reshape for reshaping the data into a len(X_grid)*1 array, # i.e. to make a column out of the X_grid value X_grid = X_grid.reshape((len(X_grid), 1)) # Scatter plot for original data plt.scatter(x, y, color = 'blue') # plot predicted data plt.plot(X_grid, regressor.predict(X_grid), color = 'green') plt.title('Random Forest Regression') plt.xlabel('Position level') plt.ylabel('Salary') plt.show() 
简单理解随机森林回归(附Python实现)

RandomForest 中的OOB分数

Out of Bag 分数或 OOB 分数是一种验证技术,主要用于装袋算法以验证装袋算法。这里一小部分验证数据是从主流数据中提取的,对特定验证数据进行预测并与其他结果进行比较。

OOB 分数提供的主要优点是,这里的验证数据并不会被 bagging 算法观测到,这就是为什么 OOB 分数的结果是表明 bagging 算法实际性能的真实结果。

如果要获得特定随机森林算法的 OOB 分数,可以在算法中的 OOB_Score 参数设置值“True”。

from sklearn.trees import RandomForestClassifier RandomeForest = RandomForestClassifier(oob_score=True) RandomForest.fit(X_train,y_train) print(RandomForest.oob_score_)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/172569.html

(0)
上一篇 2025-03-05 07:26
下一篇 2025-03-05 07:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信