gpt4 book ai didi

python - KNN - 我如何加速?

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:25 28 4
gpt4 key购买 nike

我有约 65 个特征、450k 个观察值和不平衡的分类响应变量 Y(约 5% 真实,2 个状态)的 df。这已通过 train_test_split 分为 {Xtrain, ytrain} (10%) 和 {Xtest, ytest} (90%)。

我正在尝试调整分类器 KNN 的 N_neighbors 超参数。我将 gridsearchCV 与 StratifiedKfoldCV 结合使用,但放弃了尝试,因为循环时间太长(超过 12 小时,对于 25 个 N_Neighbors 值,3 倍 CV)。

我已将原因隔离到predict_proba 方法。以下是我正在运行的当前代码的摘录,其中突出显示了已识别的代码:

[In]
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import roc_curve, auc, roc_auc_score, confusion_matrix

clf = KNeighborsClassifier(n_neighbors = 5)
Xtrain_Scaled = preprocessing.StandardScaler().fit_transform(Xtrain)
Xtest_Scaled = preprocessing.StandardScaler().fit_transform(Xtest)

clf.fit(Xtrain_Scaled, ytrain)
...

**y_probas_KNN = clf.predict_proba(Xtest_Scaled)[:,1]**

目前,该笔记本已在该线路上运行了 2 个多小时(现已隔离在单独的单元中)。这并不直观,因为其他分类器(逻辑回归、DecisionTreeClassifier)的 Predict_proba 方法不会花费接近这个时间长度的时间。

2015 年 8 月 11 日更新 -显然有一些奇怪的锣响:

在 Xtest 中对 100k 个观测值运行 Predict_proba(例如,Xtest[;1000,] 比在 Xtrain 上运行 Predict_predict proba(45k 个观测值)花费更长的时间。

任何帮助表示赞赏!

最佳答案

对于在 Scikit-learn 中训练预测模型来说,45 万行通常有点大。如果您对非响应者进行欠采样(保留所有响应者)以使数据集低于 100K 行,您可能仍然会获得良好的结果。

关于python - KNN - 我如何加速?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31928691/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com