python实现简单随机森林

学习篇Python:sklearn

python实现简单的决策树

'''
自助聚合:随机从N个样本中抽取M个样本,构建一棵决策树,重复此过程,共形成B棵树,构成每棵树的样本不同且随机,以此来削弱少数强势样本对模型预测结果的影响。
sklearn.datasets:标准数据集
sklearn.utils:辅助工具
sklearn.tree:决策树(单个)
model = st.DecisionTreeRegressor(max_depth = 4)
max_depth:最大树的高度
model.fit(train_x, train_y)
pred_test_y = model.predict(test_x)
sklearn.ensemble:算法集合
sklearn.metrics:模型评价(0-1)
sm.r2_score(test_y, pred_test_y)
随机森林:在自助聚合的基础上,每次不但随机选择部分样本(行),而且还要随机选择部分特征(列),构建组成决策树林的每个决策树。
model = se.RandomForestRegressor(max_depth = 10, n_estimators = 1000, min_samples_split = 2)
min_samples_split:每棵树的最小样本数
正向激励:开始先为样本空间中的每个样本随机分配初始权重,形成一棵决策树,用该树预测训练集中的样本,将预测错误的样本权重予以提升,再构建一棵决策树,如此重复共构建B棵带有不同权重分布的决策树。
model = se.AbaBoostRegressor(st.DecisionTreeRegressor(max_depth = 4), n_estimators = 400, random_state = 7)
n_estimators:正向激励树的数量
random_state:样本和特征随机提取

特征重要性:(仅决策树包含)
model.feature_importances_(学习参数下划线:学习过程中拿到)
特征重要性除了与模型算法有关还与数据采集的时间粒度有关
'''

import csv
import numpy as np
import sklearn.utils as su
import sklearn.ensemble as se
import sklearn.metrics as sm
import matplotlib.pyplot as mp

#提取数据day
with open("bike_day.csv", "r") as f:
    reader = csv.reader(f)
    x, y = [], []
#逐行读取
    for row in reader:
        x.append(row[2:13])
        y.append(row[-1])

fn_day = np.array(x[0])
#列表变numpy数组,转化为浮点型数据
x = np.array(x[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值