我在Python中创建了一个xgboost分类器:
train是一个熊猫数据框,具有10万行和50列特征。目标是熊猫系列
xgb_classifier = xgb.XGBClassifier(nthread=-1, max_depth=3, silent=0,
objective='reg:linear', n_estimators=100)
xgb_classifier = xgb_classifier.fit(train, target)
predictions = xgb_classifier.predict(test)
Run Code Online (Sandbox Code Playgroud)
但是,经过训练后,当我使用此分类器预测值时,整个结果数组将是相同的数字。知道为什么会这样吗?
数据澄清:带有数字目标的〜50个数字特征
我还使用相同的数据尝试了sklearn的RandomForest回归,它确实给出了真实的预测。也许是xgboost实现中的合法错误?
我正在将 Pycharm IDE 用于 Ipython 并且非常喜欢它。但是,最近我在使用 matplotlib pyplot imshow 函数时遇到了问题。有时它可以正常工作并显示图像,但有时它只是挂起(单元格没有执行,它用星号标记)。您可以在此之后执行额外的单元格,而不会显示图像。我在 OS X Mavericks 上,使用 pycharm 5,最新的 ipython 和 matplotlib 版本,考虑 canopy python 2.7 .. 任何遇到类似问题并找到解决方案的人?
如果我尝试用dask并行化for循环,它的执行速度将比常规版本慢。基本上,我只是按照dask教程中的介绍性示例进行操作,但是由于某种原因,它最终还是失败了。我究竟做错了什么?
In [1]: import numpy as np
...: from dask import delayed, compute
...: import dask.multiprocessing
In [2]: a10e4 = np.random.rand(10000, 11).astype(np.float16)
...: b10e4 = np.random.rand(10000, 11).astype(np.float16)
In [3]: def subtract(a, b):
...: return a - b
In [4]: %%timeit
...: results = [subtract(a10e4, b10e4[index]) for index in range(len(b10e4))]
1 loop, best of 3: 10.6 s per loop
In [5]: %%timeit
...: values = [delayed(subtract)(a10e4, b10e4[index]) for index in range(len(b10e4)) ]
...: resultsDask = compute(*values, get=dask.multiprocessing.get)
1 loop, best of …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中实现了自动续订。根据文档,此功能应每隔几分钟自动更新,每天最多更新六次。但是对于我的应用程序来说,这没有发生。
我在应用收据中寻找订阅的到期日期,这在第一次即可使用,但此后将无法使用。应用收据是否在沙盒环境中不会自动更新?我的理解是应该的。
我想移动MKMapView指南针.我希望通过以下方式获得它的参考:
let compassView = mapView.subviews.filter {$0 is NSClassFromString("MKCompassView")}
Run Code Online (Sandbox Code Playgroud)
然而,编译器抱怨"使用未声明的类型'NSClassFromString'".我该如何修复此代码?