在一段时间内,我已经将一些包装到我一直在使用的Anaconda中.现在我无法跟踪它.我们如何获得Anaconda(windows10)中加载的所有包的列表?命令是什么?
我试图解释下面的 ARIMA 输出,但不清楚sigma2。文件说它是“残差的方差”。这个输出/重要性背后的假设是什么?
请提供答案或详细介绍的链接。
import statsmodels.api as sm
mod = sm.tsa.statespace.SARIMAX(df.Sales, order=(0, 1, 1),
seasonal_order=(0, 1, 1, 12), enforce_stationarity=False,
enforce_invertibility=False)
results = mod.fit()
print(results.summary().tables[1])
==============================================================================
coef std err z P>|z| [0.025 0.975]
------------------------------------------------------------------------------
ma.L1 -0.9317 0.055 -16.989 0.000 -1.039 -0.824
ma.S.L12 -0.0851 0.143 -0.594 0.553 -0.366 0.196
sigma2 1.185e+09 2.13e-11 5.56e+19 0.000 1.19e+09 1.19e+09
==============================================================================
Run Code Online (Sandbox Code Playgroud) 此查询指的是将试验用作 fmin 中的参数。
trials = Trials()
best = fmin(objective, space=hp.uniform('x', -10, 10), algo=tpe.suggest,
max_evals=100, trials=trials)
Run Code Online (Sandbox Code Playgroud)
文档 ( https://github.com/hyperopt/hyperopt/wiki/FMin ) 指出,试验对象获得了诸如trial.trials、trial.results、trial.losses()和trial.statuses() 之类的列表。
但是,我看到了文档中没有提到的trials.best_trial和trial.trial_attachments等用法。
现在我想知道如何获得试验对象的所有内容的列表?对象类型是hyperopt.base.Trials。
我正在尝试使用贝叶斯优化(Hyperopt)来获得 SVM 算法的最佳参数。但是,我发现每次运行时最佳参数都在变化。
下面提供的是一个简单的可重现案例。你能对此有所了解吗?
import numpy as np
from hyperopt import fmin, tpe, hp, STATUS_OK, Trials
from sklearn.svm import SVC
from sklearn import svm, datasets
from sklearn.metrics import accuracy_score
from sklearn.model_selection import GridSearchCV, cross_val_score
from sklearn.model_selection import StratifiedShuffleSplit
iris = datasets.load_iris()
X = iris.data[:, :2]
y = iris.target
def hyperopt_train_test(params):
clf = svm.SVC(**params)
return cross_val_score(clf, X, y).mean()
space4svm = {
'C': hp.loguniform('C', -3, 3),
'gamma': hp.loguniform('gamma', -3, 3),
}
def f(params):
acc = hyperopt_train_test(params)
return {'loss': -acc, 'status': STATUS_OK}
trials …
Run Code Online (Sandbox Code Playgroud) 我喜欢通过选择不同列中包含的列名称来选择要处理的单元格。为了清楚起见,下面给出了输入和输出。列“a”包含用于将每行的值设置为 None 的列名称。我尝试编写如下代码,但不断出现错误。
df1 = pd.DataFrame({'a': ['a1', 'a2', 'a4', 'a1'],
'a1': [1, 3, 1, 0],
'a2': ['9', '3', '1', '4'],
'a3': ['8', '5', '4', '6'],
'a4': ['8', '5', '3', '3']})
df2 = df1.apply(lambda x: x['a']=None, axis=1)
Run Code Online (Sandbox Code Playgroud)
输入
a a1 a2 a3 a4
0 a1 1 9 8 8
1 a2 3 3 5 5
2 a3 1 1 4 3
3 a1 0 4 6 3
Run Code Online (Sandbox Code Playgroud)
输出
a a1 a2 a3 a4
0 a1 None 9 4 9
1 a2 …
Run Code Online (Sandbox Code Playgroud) python-3.x ×3
hyperopt ×2
python ×2
anaconda ×1
arima ×1
dynamic ×1
pandas ×1
parameters ×1
scikit-learn ×1
svm ×1