sklearn-随机森林

1.决策树分类过程理解
决策树在进行分类是根据特征数据进行建立树结构模型,也许特征并未使用完全。
2.sklearn中随机森林分类器的参数使用注释,

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_wine
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
import matplotlib.pyplot as plt
data=load_wine()
xtrain,xtest,ytrain,ytest=train_test_split(data.data,data.target,test_size=0.3)
#实例化
dtc=DecisionTreeClassifier(random_state=25)
rfc=RandomForestClassifier(random_state=25)
#训练
dtc=dtc.fit(xtrain,ytrain)
rfc=rfc.fit(xtrain,ytrain)
dtc_score=dtc.score(xtest,ytest)
rfc_score=rfc.score(xtest,ytest)
print("决策树:{}".format(dtc_score),"随机森林:{}".format(rfc_score))

################################
#交叉验证
#实例化
#n_estimators 随机森林中所包含的模型数
dtc_list=[]
rfc_list=[]
for i in range(10):
    dtc=DecisionTreeClassifier()
    rfc=RandomForestClassifier(n_estimators=25)
    #训练
    dtc_list.append(cross_val_score(dtc,data.data,data.target,cv=10).mean())
    rfc_list.append(cross_val_score(rfc,data.data,data.target,cv=10).mean())
plt.plot(range(1,11),dtc_list,color="red",label="sigle model")
plt.plot(range(1,11),rfc_list,color="green",label="forest")
plt.xticks(range(1,11))
plt.legend()
plt.show()

#查看训练后基层树信息
rfc.estimators_
#使用交叉验证中未被抽到的样本作为测试集
#样本整体未被抽到的概率是1-0.63
rfc= RandomForestClassifier(n_estimators=25,random_state=20,oob_score=True)
rfc=rfc.fit(xtrain,ytrain)
rfc_score=rfc.score(xtest,ytest)
#查看oob作为验证集的测试结果
rfc.oob_score_
#查看特征在随机森林中重要性占比
[*zip(data.feature_names,rfc.feature_importances_)]
#查看测试集在决策树分的叶节点顺序
rfc.apply(xtest)
#对测试样本进行预测
rfc.predict(xtest)
#查看样本被分类概率
#基分类器的识别率要高于五十,否则随机森林的识别率会低于基分类器
rfc.predict_proba(xtest)

2.sklearn中随机森林回归器的主要用于连续结果的预测

from sklearn.ensemble import RandomForestRegressor
from sklearn.datasets import load_boston
boston=load_boston()
rfr=RandomForestRegressor(n_estimators=100,random_state=1)
#交叉验证
#默认输出结果R平方
cross_val_score(rfr,boston.data,boston.target,cv=10,scoring="neg_mean_squared_error")
#当不知道交叉验证打分参数选项是可根据以下代码
import sklearn
#查看交叉验证打分参数选项
sorted(sklearn.metrics.SCORERS.keys())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
scikit-learn(sklearn)是一个常用的机器学习库,它提供了丰富的算法和工具来进行数据预处理、特征选择、模型训练和评估等任务。随机森林sklearn中的一个强大的分类算法,可以用于图像分类任务。 要使用sklearn实现随机森林图像分类,首先需要准备好图像数据和对应的标签。然后,按照以下步骤进行操作: 1. 导入所需的库和模块: ```python from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score ``` 2. 加载图像数据和标签,并进行预处理: ```python # 加载图像数据和标签 # ... # 将图像数据转换为一维向量 # ... # 进行特征缩放或其他预处理操作 # ... ``` 3. 划分训练集和测试集: ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` 其中,X_train和y_train是训练集的图像数据和标签,X_test和y_test是测试集的图像数据和标签。 4. 创建随机森林分类器并进行训练: ```python rf_classifier = RandomForestClassifier(n_estimators=100, random_state=42) rf_classifier.fit(X_train, y_train) ``` 其中,n_estimators是指随机森林中决策树的数量,可以根据实际情况进行调整。 5. 进行预测并评估模型性能: ```python y_pred = rf_classifier.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print("Accuracy:", accuracy) ``` 其中,y_pred是模型对测试集的预测结果,accuracy是模型的准确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值