【发布时间】:2018-09-14 22:00:05
【问题描述】:
我正在运行一个从 scikit-learn 官网借来的 sn-p 来绘制learning curve
我的代码很简单,如下所示:
import matplotlib.pyplot as plt
from sklearn.model_selection import learning_curve
from sklearn.model_selection import ShuffleSplit
from sklearn.metrics import r2_score
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from lightgbm import LGBMRegressor
lgb = LGBMRegressor()
std = StandardScaler()
x = std.fit_transform(df[features])
y = df['total_UPDRS']
title = lgb
cv = ShuffleSplit(n_splits=5, test_size=0.4, random_state=0)
plot_learning_curve(lgb, title, x, y, cv=3, ylim=(0.0, 1.01), n_jobs=16)
plt.show()
我在 16 个 vCPU 和 60GB 内存上运行。这个过程飙升了几分钟,然后它就死了,没有可测量的活动,我不知道设置出了什么问题,因为我可以在我的 Macbook Pro 的本地 Anaconda 安装上输出图表。 (运行只需 10-15 分钟。)我做错了什么?
【问题讨论】:
-
您能否恢复任何错误消息(以获取代码崩溃/停止的指示)?由于缺少 df ,因此无法重现您的示例。
title = lgb这一行也很可疑(你真的想将图形的标题设置为 `LGBMRegressors 类型的对象吗?) -
数据集只是来自帕金森遥测系统上的 UCI 数据存储库。这是一个非常小的数据集,大小为 5876 x 20+ 。当我在 Google Colaboratory Note book [colab.research.google.com/drive/….它可以很好地再现标题处回归量的内容。这就是我不明白的地方,因为 Colaboratory 背后有相同的引擎。
-
plot_learning_curve函数是什么?功能defined怎么样? -
该函数只是一个基于scikit-learn的学习曲线类的辅助函数[scikit-learn.org/stable/auto_examples/model_selection/…。特征只是一个典型的 numpy 数组,任何来自 scikit learn 的估计器都可以采用。
标签: python scikit-learn google-compute-engine google-cloud-datalab lightgbm