随机森林算法实现遇到的问题

在学习随机森林和k-means算法时,本文探讨了random_state参数和fit()函数的作用。random_state用于设置随机数种子,确保可重复性,特别是在分割数据集或进行交叉验证时。而fit()函数是训练模型的通用方法,根据是否提供标签Y,分别应用于无监督和监督学习算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随机森林 具体参考https://blog.youkuaiyun.com/y0367/article/details/51501780

https://baijiahao.baidu.com/s?id=1612329431904493042&wfr=spider&for=pc

学习随机森林和k-means算法代码时遇到了random_state参数,fit()函数,不懂是用来干什么的,有什么作用

1、random_state

学习k-means算法时查看代码发现有random_state参数代码如下,不知道其代表什么,

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs

X, y = make_blobs(n_samples=1500,n_features=2,centers=3,cluster_std=0.5,random_state =0)#X为样本特征,Y为样本簇类别, 共1500个样本,每个样本2个特征,三个簇,簇方差为0.5

plt.scatter(X[:, 0],X[:, 1],marker='o')
plt.show()

查阅该博主文章终于懂了https://blog.youkuaiyun.com/Tony_Stark_Wang/article/details/80407923

很多人都把random_state解释为随机数种子。是不是很懵逼?什么是随机数种子?

我也不知道什么是随机数种子。但是,随机数种子是为了保证每次随机的结果都是一样的

Example:sklarn可以随机分割训练集和测试集(交叉验证),只需要在代码中引入model_selection.train_test_split就可以了

代码:

  1. from sklearn import model_selection

  2. x_train, x_test, y_train, y_test = model_selection.train_test_split(x, y, test_size=0.2, random_state=0)

这里的random_state就是为了保证程序每次运行都分割一样的训练集合测试集。否则,同样的算法模型在不同的训练集和测试集上的效果不一样。

当你用sklearn分割完测试集和训练集,确定模型和促初始参数以后,你会发现程序每运行一次,都会得到不同的准确率,无法调参。这个时候就是因为没有加random_state。加上以后就可以调参了。

 

2、clt.fit()

fit()可以说是调用的通用方法。fit(X),表示用数据X来训练某种模型。 函数返回值一般为调用fit方法的对象本身。fit(X,y=None)为无监督学习算法,fit(X,Y)为监督学习算法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值