随机森林划分训练集与测试集(随机划分、自定义划分)-Python实现

本文介绍了如何使用Python实现随机森林中训练集与测试集的随机划分,通过train_test_split()函数进行操作,并展示了部分原始数据和运行结果。尽管示例数据导致的准确率较低,但文章旨在展示划分过程。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

首先看一下部分原始数据,第一类代表图像编号,每张图像提取了10个特征,最后一列是图像的真实类别,本例是二分类问题,多分类算法同二分类。
另外,我用的是anaconda实现。
在这里插入图片描述
实际运行过程中可以提前将number列也就是图像编号列给删去,这里为了方便大家理解,就不删除啦~~

1.随机划分训练集与测试集

重要用到的就是train_test_split()函数对训练集和测试集进行随机划分。代码如下,注释比较清楚地写在了代码了,这里不再阐述。

import pandas as pd
import numpy as np
data=pd.read_csv('data.csv')
#y是图像的类别
y=np.array(data['actual'])    
#x是图像的特征
x=data.drop('actual',axis=1)    
x=np.array(x)
#该运行结果表明数据集中共收集了100张图像,每张图像收集了10个特征。
print(x.shape)

该部分代码运行结果:
在这里插入图片描述

from sklearn.model_selection import train_test_split
#随机划分训练集和测试集。
#test_size表明测试集占整体样本的比例;random_state是随机数种子,当为0时,每次生成的随机数即随机顺序是不相同的,当为固定的数值时,可以在多次运行时获得相同的随机数。
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=40)
from sklearn.ensemble import RandomForestClassifier
#构建随机森林,其中n_estimators表示决策树的棵树。
rf=RandomForestClassifier(n_estimators=100,random_state=40)  
#对训练集的特征及正确分类结果进行训练
rf.fit(x_train,y_train)     
#根据测试集的特征对分类结果进行预测
predictions=rf.predict(x_test) 
#输出测试集的预测结果以及原本的正确分类结果。
for prediction,test_label in zip(predictions,y_test):
    [print(prediction,test_label)]

该部分代码运行结果如下:
在这里插入图片描述

#获得预测准确率
score=rf.score(x_test,y_test)
print('accuracy is\n ',score)

该部分代码运行结果:
在这里插入图片描述
为演示随机森林算法,本例中的原始数据是我前期随意找的,因此准确率有点低啊~~

根据需求人为设定训练集和测试集请见下一篇博客~~

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值