python - partial_dependence() 为 python 广义加法模型得到了一个意外的关键字参数“特征”。我如何解决它?
问题描述
我正在尝试为一些海洋数据建立一个广义的加法模型。我的代码如下:
from pygam import LinearGAM
from pygam import LogisticGAM
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
pdf = pd.read_csv("phytoplankton-ratio-project.csv")
feature =['year','month','Dinoflagellate','Diatom','sea_water_temp_WOA_clim','nitrate_WOA_clim','phosphate_WOA_clim','silicate_WOA_clim']
df= pd.DataFrame()
df= pdf[feature]
df.head(5)
df.loc[:,'total'] = df['Dinoflagellate'] + df['Diatom'] ##
df.loc[:,'percentdia'] = df['Diatom']/df['total']
df.loc[:,'percentdino'] = df['Dinoflagellate']/df['total']
df = df.drop('total', axis=1)
df = df.dropna()
dat2016 = df[df.year == 2016]
dat2016 = dat2016.drop('year', axis=1)
dat2015 = df[df.year == 2015]
dat2015 = dat2015.drop('year', axis=1)
dat16dia = dat2016.drop('percentdino', axis=1)
dat16dino = dat2016.drop('percentdia', axis=1)
X_train = dat2016.drop(['percentdia', 'percentdino'], axis = 1)
#X_train.to_numpy()
y_traindino = dat2016['percentdino']
y_traindia = dat2016['percentdia']
X_test = dat2015.drop(['percentdia', 'percentdino'], axis = 1)
#X_test.to_numpy()
y_testdino = dat2015['percentdino']
y_testdia = dat2015['percentdia']
#5,7
gam = LinearGAM(n_splines=25).gridsearch(X_train.values, y_traindia.values)
gamdino = LinearGAM(n_splines=25).gridsearch(X_train.values, y_traindino.values)
XX = gam.generate_X_grid(term=0)
fig, axs = plt.subplots(1,6, figsize=(20,4))
titles = feature[1:]
for i, ax in enumerate(axs):
pdep, confi = gam.partial_dependence(XX, feature=i, width=.95)
ax.plot(XX[:, i], pdep)
ax.plot(XX[:, i], *confi, c='r', ls='--')
ax.set_title(titles[i])
但是,当我运行它时,我收到以下错误:
File "C:\Users\A\Documents\PythonRepository\StatsProject\Part2gam.py", line 69, in <module>
pdep, confi = gam.partial_dependence(XX, feature=i, width=.95)
TypeError: partial_dependence() got an unexpected keyword argument 'feature'
有人知道如何解决这个问题吗?
解决方案
我认为您没有使用正确的参数,因为错误告诉您您传递了一个意外的参数。我猜你想使用 feature=i 你应该使用 term=i 。
如果您在 文档中看到此处,您可以看到 partial_dependence 作为输入的参数列表。
这是一个关于他们如何使用它的示例Pygam 回归文档
推荐阅读
- corda - 一个 Corda 状态可以处理多个合同吗?
- ios - SceneKit:文本节点字体未应用
- json - SimpleJSON 在处理来自 Postmen 的呼叫时返回 null
- java - 在intellij idea中找不到插件
- c# - 将圆弧转换为折线
- node.js - 无法在 Azure Web 应用程序中托管节点 js 应用程序
- python - python 应用程序来操作数据并将其显示在网络上
- python - Django:检查 Django-admin 表单中的数据
- powerbuilder - 如何一次同时滚动两个数据窗口?
- php - xdebug 扩展不随 php:5.6-apache 一起安装