Day 19 随机森林

今天我们要介绍的是随机森林,所谓的随机森林就是指将多个决策树组合而成并且加入随机的分配去训练资料,而所有的决策树都是独立的,简单来说每个决策树最後的结果都会是互相独立的,而随机森林就像是多数决,也就是多颗决策树的答案会是随机森林的答案。

随机森林

我们将用iris的资料集去做简单的分析。

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import seaborn as sns 
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, confusion_matrix

首先我们先将需要用到的套件载入。

pip3 install 套件名称

如果有缺少的套件则可以在终端机上下载缺少的套件。

data = datasets.load_iris()
x = pd.DataFrame(data['data'],columns = data["feature_names"])
print(x)
y = pd.DataFrame(data["target"],columns = ["tar"])
print(y)
data_iris = pd.concat([x,y], axis = 1)
print(data_iris)
data_iris = data_iris[["sepal length (cm)","petal length (cm)","tar"]]
print(data_iris)
data_iris = data_iris[data_iris['tar'].isin([0,1])]
print(data_iris)

接下来我们将iris资料集载入,并将资料合并。

X_train, X_test, Y_train, Y_test = train_test_split(data_iris[["sepal length (cm)","petal length (cm)"]],data_iris["tar"],test_size=0.3, random_state=0)

接下来我们将资料分成测试与训练集。

t = 5
tra = RandomForestClassifier(max_depth = 2, n_estimators = t,max_features = 1)
tra.fit(X_train , Y_train) 
predict = tra.predict(X_test)

接下来我们训练随机森林的模型。

print(confusion_matrix(Y_test,predict))
print(classification_report(Y_test,predict))

接下来我们将用模型预测结果。

以上就是简易的随机森林做法。


<<:  Day 19 To Do List - 加入逻辑 2

>>:  管制与自我管理

18. STM32-CAN-BUS (上)

前几篇有介绍过CANBus~透过MCP2515模块去完成通讯。 这篇会使用STM32当中的CAN-B...

D14 - 「类比×电压×输入」:类比功能

先从 Firmata 找到类比相关功能。 类比输入(Analog Input) 在 Supporte...

韩乡韩国料理 #韩式小菜吃到饱

这是我第一次去韩乡,也是唯一的一次。 上图是「韩式起司辣鸡」。韩乡的料理还不错,价位介於200元上下...

[Day 22] 筹码策略

第九章更新 由於之前写第9天的时候还是股市小白,筹码资料直接照搬了, 今天由於要处理筹码资料所以乾脆...

PHP Switch 细节:Loose Comparison

tags: 工作後才知道的後端30件小事 可以先思考一下以下的输出的什麽? <?php $ar...