美文网首页
随机森林可解释性

随机森林可解释性

作者: 纵春水东流 | 来源:发表于2022-10-12 20:47 被阅读0次

1、数据下载
https://www.kaggle.com/c/titanic/data?select=train.csv
2、代码


import pandas as pd
import numpy as np


#(1)读取数据
train_path = './titanic/train.csv' #训练数据
df = pd.read_csv(train_path)    #读取训练数据
df.drop(['PassengerId','Name','Ticket','Cabin'], inplace = True, axis = 1)#删除 PassengerId, Name, Ticket and Cabin
print(df.head())

#(2)填充 Age, Cabin和Embarked缺失值
df['Age'].fillna(value=df['Age'].mean(), inplace=True)
df['Embarked'].fillna(value='S',inplace=True)

#(3)将类别数据转化为数值
df = pd.get_dummies(df, columns=['Sex','Embarked'])
# print(df)

#(4)划分训练集和测试集
df_x = df.iloc[:,1:]
df_y = df.iloc[:,:1]

X = df_x.to_numpy()
Y = df_y.iloc[:,0].to_numpy()

x_train, x_val, y_train, y_val = train_test_split(X, Y,test_size = 0.2,random_state = 0)


#(5)训练模型
from sklearn.ensemble import RandomForestClassifier
model =  RandomForestClassifier(n_estimators=200,n_jobs=-1, random_state=0)
model.fit(x_train,y_train)

#(5)模型可解释性
import lime
from lime import lime_tabular
feature_names = list(df_x.columns)#每一列特征名字
explainer = lime_tabular.LimeTabularExplainer(#构建解释器
    training_data=x_train,
    feature_names=feature_names,
    class_names=['diead', 'survived'],
    mode='classification'
)

#对x_val第一个样本进行解释
exp = explainer.explain_instance(
    data_row=x_val[0],
    predict_fn=model.predict_proba
)
print(y_val[0])
exp.show_in_notebook(show_table=True)

3、实验结果


图片.png

https://peaceful0907.medium.com/lime-explain-the-predictions-of-your-machine-learning-models-c089cf25989

相关文章

  • 1 . spark ml 随机森林练习代码讲解

    一,算法简介 随机森林是决策树的集成算法。随机森林包含多个决策树来降低过拟合的风险。随机森林同样具有易解释性、可处...

  • 机器学习可解释性【随机森林规则提取】

    引言 目前,机器学习模型应用于各行各业,数据量够多,那就用深度学习吧,数据量少了,传统机器学习算法也能行。然而机器...

  • 何为决策树和随机森林?

    随机森林 定义:随机森林或随机决策森林是用于分类、回归和其他任务的集成学习方法。 名字由来:随机森林就是使用随机的...

  • 集成学习之Bagging和RF

    一、什么是随机森林 二、随机森林的两个随机 三、随机森林算法过程 四、为什么如此受欢迎 五、随机森林算法的优缺点 ...

  • (十四、)极限森林

    一、极限森林 特征随机参数随机分裂随机因为分裂是随机的,所以就不需要样本是随机的了 随机森林和极限森林不同之处:随...

  • 随机森林

    https://www.cnblogs.com/fionacai/p/5894142.htmlhttps://ww...

  • 随机森林

    先上重点 GBDT和随机森林虽然都是决策树的组合算法,但是两者的训练过程还是很不相同的。 GBDT训练是每次一棵,...

  • 随机森林

    算法过程 N个训练样本,M个特征 选定特征数目m作为每个决策树的特征,m<

  • 随机森林

    1、什么是随机森林? 随机森林就是用随机的方式建立一个森林,在森林里有很多决策树组成,并且每一棵决策树之间是没有关...

  • 随机森林

    随机森林(RandomForest), 可用于分类或者回归, 相比较决策树的算法, 随机森林是由多棵CART(Cl...

网友评论

      本文标题:随机森林可解释性

      本文链接:https://www.haomeiwen.com/subject/yuzfzrtx.html