给个手机网站就这么难吗,wordpress 百度云图安装,window wordpress,文旅品牌建设# 机器学习中有一种大类叫**集成学习**#xff08;Ensemble Learning#xff09;#xff0c;集成学习的基本思想就是将多个分类器组合#xff0c;从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话#xff1a;
# 三个臭皮匠#xff0c…# 机器学习中有一种大类叫**集成学习**Ensemble Learning集成学习的基本思想就是将多个分类器组合从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话
# 三个臭皮匠赛过诸葛亮。集成算法大致可以分为BaggingBoosting 和 Stacking 三大类型。
# 1每次有放回地从训练集中取出 n 个训练样本组成新的训练集
# 2利用新的训练集训练得到M个子模型
# 3对于分类问题采用投票的方法得票最多子模型的分类类别为最终的类别 # 就是把多个分类器组合起来用 每个分类器都从训练集里面拿一部分有放回的 数据进行训练 最后得到了很多个模型组成的一个集成模型 各个模型拿的数据集可能有重合部分
# # 行和列 都会随机选 数据个数和特征个数 关注点不一样
# 然后 传入一个数据拿去预测 集成模型里面的每个子模型都会给一个结果 然后看结果最多的那个当做数据的结果 # **随机森林**就属于集成学习,是通过构建一个包含多个决策树(通常称为基学习器或弱学习器)的森林每棵树都在不同的数据子集和特征子集上进行训练
# 最终通过投票或平均预测结果来产生更准确和稳健的预测。这种方法不仅提高了预测精度也降低了过拟合风险并且能够处理高维度和大规模数据集 # - 随机: 特征随机训练集随机
# - 样本对于一个总体训练集TT中共有N个样本每次有放回地随机选择n个样本。用这n个样本来训练一个决策树。
# - 特征假设训练集的特征个数为d每次仅选择k(kd)个来构建决策树。
# - 森林: 多个决策树分类器构成的分类器, 因为随机所以可以生成多个决策树
# - 处理具有高维特征的输入样本而且不需要降维
# - 使用平均或者投票来提高预测精度和控制过拟合 # 不需要降维 因为已经特征选择随机了 # API
# class sklearn.ensemble.RandomForestClassifier
# 参数
# n_estimators int, default100
# 森林中树木的数量。(决策树个数) # criterion {“gini”, “entropy”}, default”gini” 决策树属性划分算法选择
# 当criterion取值为“gini”时采用 基尼不纯度Gini impurity算法构造决策树
# 当criterion取值为 “entropy” 时采用信息增益 information gain算法构造决策树. # max_depth int, defaultNone 树的最大深度。 from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.feature_extraction import DictVectorizer
from sklearn.feature_selection import VarianceThreshold
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import pandas as pd
import numpy as np
def random_forest1(): df1pd.read_csv(assets/csv/titanic.csv) df1[age].fillna(df1[age].mode()[0],inplaceTrue) xdf1.drop([embarked,home.dest,room,ticket,boat,survived],axis1) ydf1[survived] yy.to_numpy() # print(x) # print(y) xx.to_dict(orientrecords) # df转字典 字典进行字典的那个处理 vector1DictVectorizer(sparseFalse) xvector1.fit_transform(x) x_train,x_test,y_train,y_testtrain_test_split(x,y,random_state666,train_size0.8) scaler1StandardScaler() x_train_standscaler1.fit_transform(x_train) x_test_standscaler1.transform(x_test) forest1RandomForestClassifier(n_estimators100,criteriongini,max_depth3) model1forest1.fit(x_train_stand,y_train) score1model1.score(x_test_stand,y_test) print(score1) pass if __name____main__: random_forest1() pass