from sklearn.model_selection import train_test_split, RandomizedSearchCV, cross_val_score
from sklearn.naive_bayes import GaussianNB, MultinomialNB, BernoulliNB
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier, ExtraTreesClassifier, AdaBoostClassifier, GradientBoostingClassifier
from sklearn.metrics import classification_report, accuracy_score, confusion_matrix
import numpy as np
import warnings
warnings.filterwarnings('ignore')
from sklearn.datasets import load_iris
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data,
iris.target,
test_size=0.2,
random_state=0)
gauss_clf = GaussianNB()
multi_clf = MultinomialNB()
bernl_clf = BernoulliNB()
gauss_clf.fit(X_train, y_train)
multi_clf.fit(X_train, y_train)
bernl_clf.fit(X_train, y_train)
BernoulliNB()
y_pred_gauss = gauss_clf.predict(X_test)
y_pred_multi = multi_clf.predict(X_test)
y_pred_bernl = bernl_clf.predict(X_test)
print(classification_report(y_test, y_pred_gauss))
print(classification_report(y_test, y_pred_multi))
print(classification_report(y_test, y_pred_bernl))
precision recall f1-score support 0 1.00 1.00 1.00 11 1 0.93 1.00 0.96 13 2 1.00 0.83 0.91 6 accuracy 0.97 30 macro avg 0.98 0.94 0.96 30 weighted avg 0.97 0.97 0.97 30 precision recall f1-score support 0 1.00 1.00 1.00 11 1 0.00 0.00 0.00 13 2 0.32 1.00 0.48 6 accuracy 0.57 30 macro avg 0.44 0.67 0.49 30 weighted avg 0.43 0.57 0.46 30 precision recall f1-score support 0 0.00 0.00 0.00 11 1 0.00 0.00 0.00 13 2 0.20 1.00 0.33 6 accuracy 0.20 30 macro avg 0.07 0.33 0.11 30 weighted avg 0.04 0.20 0.07 30
from sklearn.datasets import load_svmlight_file
svc = SVC(kernel='rbf', random_state=101)
X_train, y_train = load_svmlight_file('data_set/ijcnn1.bz2')
%%time
scores = cross_val_score(svc,
X_train,
y_train,
cv=5,
scoring='accuracy',
n_jobs=-1)
print(
'SVC with rbf kernel -> cross validation accuracy: mean = {:.4f}, std = {:.4f}'
.format(np.mean(scores), np.std(scores)))
SVC with rbf kernel -> cross validation accuracy: mean = 0.9625, std = 0.0185 Wall time: 31.3 s
%%time
svc_new = SVC(kernel='rbf', random_state=101)
search_dict = {
'C': [0.01, 0.1, 1, 10, 100],
'gamma': [0.1, 0.01, 0.001, 0.0001]
}
search_func = RandomizedSearchCV(estimator=svc_new,
param_distributions=search_dict,
n_iter=10,
scoring='accuracy',
n_jobs=-1,
iid=True,
refit=True,
cv=5,
random_state=101)
search_func.fit(X_train, y_train)
print('Best parameters {}'.format(search_func.best_params_))
print('Cross validation accuracy: mean= {:.4f}'.format(search_func.best_score_))
Best parameters {'gamma': 0.1, 'C': 100} Cross validation accuracy: mean= 0.9625 Wall time: 9min 7s
%%time
svc_best = SVC(C=100, gamma=0.1, kernel='rbf', random_state=101)
svc_best.fit(X_train, y_train)
print(
'SVC with rbf kernel -> cross validation accuracy: mean = {:.4f}, std = {:.4f}'
.format(np.mean(scores), np.std(scores)))
SVC with rbf kernel -> cross validation accuracy: mean = 0.9625, std = 0.0185 Wall time: 41 s
from sklearn.datasets import fetch_covtype
covertype = fetch_covtype()
covertype.data.shape
(581012, 54)
covertype_x = covertype.data
covertype_y = covertype.target
covertype_x_train, covertype_x_test_val, covertype_y_train, covertype_y_test_val = train_test_split(
covertype_x, covertype_y, test_size=0.4, random_state=42)
covertype_x_test, covertype_x_val, covertype_y_test, covertype_y_val = train_test_split(
covertype_x_test_val, covertype_y_test_val, test_size=0.5, random_state=42)
covertypes = [
'Spruce/Fir', 'Lodgepole Pine', 'Ponderosa Pine', 'Cottonwood/Willow',
'Aspen', 'Douglas-fir', 'Krummholz'
]
print(covertype_x_train.shape)
print(covertype_x_val.shape)
print(covertype_x_test.shape)
(348607, 54) (116203, 54) (116202, 54)
%%time
rfc = RandomForestClassifier(n_estimators=100, random_state=101)
scores = cross_val_score(rfc,
covertype_x_train,
covertype_y_train,
cv=5,
scoring='accuracy',
n_jobs=-1)
print(
'RandomForestClassifier -> cross validation accurary: mean = {:.4f}, std = {:.4f}'
.format(np.mean(scores), np.std(scores)))
RandomForestClassifier -> cross validation accurary: mean = 0.9431, std = 0.0007 Wall time: 2min 41s
scores
array([0.94251456, 0.94254324, 0.94264282, 0.94429225, 0.94356076])
%%time
etc = ExtraTreesClassifier(n_estimators=100, random_state=101)
scores = cross_val_score(etc,
covertype_x_train,
covertype_y_train,
cv=5,
scoring='accuracy',
n_jobs=-1)
print(
'ExtraTreesClassifier -> cross validation accurary: mean = {:.4f}, std = {:.4f}'
.format(np.mean(scores), np.std(scores)))
ExtraTreesClassifier -> cross validation accurary: mean = 0.9426, std = 0.0008 Wall time: 2min 49s
scores
array([0.94211296, 0.94245719, 0.94202608, 0.94426356, 0.94219819])
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.calibration import CalibratedClassifierCV
from sklearn.calibration import calibration_curve
rfc = RandomForestClassifier(n_estimators=100, random_state=101)
calibration = CalibratedClassifierCV(rfc, method='sigmoid', cv=5)
rfc.fit(covertype_x_train, covertype_y_train)
calibration.fit(covertype_x_train, covertype_y_train)
prob_raw = rfc.predict_proba(covertype_x_test)
prob_cal = calibration.predict_proba(covertype_x_test)
%matplotlib inline
tree_kind = covertypes.index('Ponderosa Pine')
probs = pd.DataFrame(list(zip(prob_raw[:, tree_kind], prob_cal[:, tree_kind])),
columns=['raw', 'calibrated'])
probs
raw | calibrated | |
---|---|---|
0 | 0.00 | 0.001132 |
1 | 0.42 | 0.356083 |
2 | 0.00 | 0.001131 |
3 | 0.00 | 0.001130 |
4 | 0.00 | 0.001130 |
... | ... | ... |
116197 | 0.00 | 0.001131 |
116198 | 0.00 | 0.001128 |
116199 | 0.32 | 0.079379 |
116200 | 0.00 | 0.001134 |
116201 | 0.00 | 0.001130 |
116202 rows × 2 columns
plot = probs.plot(kind='scatter', x=0, y=1, s=64, c='blue', edgecolors='white')
%%time
adbc = AdaBoostClassifier(n_estimators=300, random_state=101)
scores = cross_val_score(adbc,
covertype_x_train,
covertype_y_train,
cv=5,
scoring='accuracy',
n_jobs=-1)
print(
'Adaboost -> cross validation accurary: mean = {:.4f}, std = {:.4f}'.format(
np.mean(scores), np.std(scores)))
Adaboost -> cross validation accurary: mean = 0.4493, std = 0.0587 Wall time: 6min 1s
scores
array([0.38596139, 0.40148016, 0.42959797, 0.48293914, 0.54637771])
%%time
gbc = GradientBoostingClassifier(max_depth=5, n_estimators=50, random_state=101)
gbc.fit(covertype_x_train, covertype_y_train)
Wall time: 19min 18s
GradientBoostingClassifier(max_depth=5, n_estimators=50, random_state=101)
accuracy_score(covertype_y_val, rfc.predict(covertype_x_val))
0.948254347994458
accuracy_score(covertype_y_test, rfc.predict(covertype_x_test))
0.9477547718627907
import xgboost as xgb
xgb_model = xgb.XGBClassifier(object='multi:softprob',
max_depth=24,
gamma=0.1,
subsample=0.9,
learning_rate=0.01,
n_estimators=500,
nthread=-1)
%%time
xgb_model.fit(covertype_x_train,
covertype_y_train,
eval_set=[(covertype_x_val, covertype_y_val)],
eval_metric='merror',
early_stopping_rounds=25,
verbose=True)
[20:01:03] WARNING: C:\Users\Administrator\workspace\xgboost-win64_release_1.1.0\src\learner.cc:480: Parameters: { object } might not be used. This may not be accurate due to some parameters are only used in language bindings but passed down to XGBoost core. Or some parameters are not used but slip through this verification. Please open an issue if you find above cases. [0] validation_0-merror:0.07679 Will train until validation_0-merror hasn't improved in 25 rounds. [1] validation_0-merror:0.06606 [2] validation_0-merror:0.06125 [3] validation_0-merror:0.05930 [4] validation_0-merror:0.05846 [5] validation_0-merror:0.05813 [6] validation_0-merror:0.05737 [7] validation_0-merror:0.05706 [8] validation_0-merror:0.05647 [9] validation_0-merror:0.05622 [10] validation_0-merror:0.05571 [11] validation_0-merror:0.05525 [12] validation_0-merror:0.05520 [13] validation_0-merror:0.05461 [14] validation_0-merror:0.05428 [15] validation_0-merror:0.05423 [16] validation_0-merror:0.05384 [17] validation_0-merror:0.05371 [18] validation_0-merror:0.05373 [19] validation_0-merror:0.05355 [20] validation_0-merror:0.05331 [21] validation_0-merror:0.05326 [22] validation_0-merror:0.05323 [23] validation_0-merror:0.05309 [24] validation_0-merror:0.05298 [25] validation_0-merror:0.05294 [26] validation_0-merror:0.05270 [27] validation_0-merror:0.05259 [28] validation_0-merror:0.05238 [29] validation_0-merror:0.05220 [30] validation_0-merror:0.05217 [31] validation_0-merror:0.05187 [32] validation_0-merror:0.05174 [33] validation_0-merror:0.05150 [34] validation_0-merror:0.05134 [35] validation_0-merror:0.05123 [36] validation_0-merror:0.05101 [37] validation_0-merror:0.05097 [38] validation_0-merror:0.05085 [39] validation_0-merror:0.05071 [40] validation_0-merror:0.05063 [41] validation_0-merror:0.05036 [42] validation_0-merror:0.05034 [43] validation_0-merror:0.05027 [44] validation_0-merror:0.05007 [45] validation_0-merror:0.05005 [46] validation_0-merror:0.04995 [47] validation_0-merror:0.04983 [48] validation_0-merror:0.04978 [49] validation_0-merror:0.04973 [50] validation_0-merror:0.04947 [51] validation_0-merror:0.04936 [52] validation_0-merror:0.04921 [53] validation_0-merror:0.04908 [54] validation_0-merror:0.04894 [55] validation_0-merror:0.04877 [56] validation_0-merror:0.04866 [57] validation_0-merror:0.04861 [58] validation_0-merror:0.04847 [59] validation_0-merror:0.04835 [60] validation_0-merror:0.04824 [61] validation_0-merror:0.04821 [62] validation_0-merror:0.04808 [63] validation_0-merror:0.04806 [64] validation_0-merror:0.04791 [65] validation_0-merror:0.04780 [66] validation_0-merror:0.04784 [67] validation_0-merror:0.04778 [68] validation_0-merror:0.04767 [69] validation_0-merror:0.04750 [70] validation_0-merror:0.04750 [71] validation_0-merror:0.04736 [72] validation_0-merror:0.04727 [73] validation_0-merror:0.04718 [74] validation_0-merror:0.04713 [75] validation_0-merror:0.04707 [76] validation_0-merror:0.04705 [77] validation_0-merror:0.04698 [78] validation_0-merror:0.04694 [79] validation_0-merror:0.04675 [80] validation_0-merror:0.04668 [81] validation_0-merror:0.04660 [82] validation_0-merror:0.04650 [83] validation_0-merror:0.04640 [84] validation_0-merror:0.04630 [85] validation_0-merror:0.04623 [86] validation_0-merror:0.04613 [87] validation_0-merror:0.04598 [88] validation_0-merror:0.04586 [89] validation_0-merror:0.04583 [90] validation_0-merror:0.04583 [91] validation_0-merror:0.04573 [92] validation_0-merror:0.04557 [93] validation_0-merror:0.04546 [94] validation_0-merror:0.04540 [95] validation_0-merror:0.04529 [96] validation_0-merror:0.04527 [97] validation_0-merror:0.04522 [98] validation_0-merror:0.04521 [99] validation_0-merror:0.04514 [100] validation_0-merror:0.04515 [101] validation_0-merror:0.04514 [102] validation_0-merror:0.04503 [103] validation_0-merror:0.04501 [104] validation_0-merror:0.04490 [105] validation_0-merror:0.04480 [106] validation_0-merror:0.04476 [107] validation_0-merror:0.04468 [108] validation_0-merror:0.04463 [109] validation_0-merror:0.04452 [110] validation_0-merror:0.04430 [111] validation_0-merror:0.04428 [112] validation_0-merror:0.04422 [113] validation_0-merror:0.04419 [114] validation_0-merror:0.04416 [115] validation_0-merror:0.04403 [116] validation_0-merror:0.04398 [117] validation_0-merror:0.04397 [118] validation_0-merror:0.04387 [119] validation_0-merror:0.04374 [120] validation_0-merror:0.04375 [121] validation_0-merror:0.04372 [122] validation_0-merror:0.04356 [123] validation_0-merror:0.04346 [124] validation_0-merror:0.04340 [125] validation_0-merror:0.04333 [126] validation_0-merror:0.04335 [127] validation_0-merror:0.04322 [128] validation_0-merror:0.04318 [129] validation_0-merror:0.04313 [130] validation_0-merror:0.04304 [131] validation_0-merror:0.04290 [132] validation_0-merror:0.04284 [133] validation_0-merror:0.04269 [134] validation_0-merror:0.04258 [135] validation_0-merror:0.04260 [136] validation_0-merror:0.04252 [137] validation_0-merror:0.04240 [138] validation_0-merror:0.04240 [139] validation_0-merror:0.04234 [140] validation_0-merror:0.04216 [141] validation_0-merror:0.04208 [142] validation_0-merror:0.04197 [143] validation_0-merror:0.04184 [144] validation_0-merror:0.04183 [145] validation_0-merror:0.04177 [146] validation_0-merror:0.04169 [147] validation_0-merror:0.04163 [148] validation_0-merror:0.04149 [149] validation_0-merror:0.04148 [150] validation_0-merror:0.04144 [151] validation_0-merror:0.04137 [152] validation_0-merror:0.04125 [153] validation_0-merror:0.04120 [154] validation_0-merror:0.04112 [155] validation_0-merror:0.04102 [156] validation_0-merror:0.04100 [157] validation_0-merror:0.04089 [158] validation_0-merror:0.04083 [159] validation_0-merror:0.04078 [160] validation_0-merror:0.04074 [161] validation_0-merror:0.04073 [162] validation_0-merror:0.04069 [163] validation_0-merror:0.04061 [164] validation_0-merror:0.04054 [165] validation_0-merror:0.04049 [166] validation_0-merror:0.04044 [167] validation_0-merror:0.04032 [168] validation_0-merror:0.04027 [169] validation_0-merror:0.04026 [170] validation_0-merror:0.04015 [171] validation_0-merror:0.04009 [172] validation_0-merror:0.04001 [173] validation_0-merror:0.03998 [174] validation_0-merror:0.03983 [175] validation_0-merror:0.03989 [176] validation_0-merror:0.03986 [177] validation_0-merror:0.03977 [178] validation_0-merror:0.03973 [179] validation_0-merror:0.03963 [180] validation_0-merror:0.03957 [181] validation_0-merror:0.03956 [182] validation_0-merror:0.03947 [183] validation_0-merror:0.03944 [184] validation_0-merror:0.03938 [185] validation_0-merror:0.03930 [186] validation_0-merror:0.03932 [187] validation_0-merror:0.03920 [188] validation_0-merror:0.03916 [189] validation_0-merror:0.03904 [190] validation_0-merror:0.03896 [191] validation_0-merror:0.03890 [192] validation_0-merror:0.03888 [193] validation_0-merror:0.03885 [194] validation_0-merror:0.03883 [195] validation_0-merror:0.03882 [196] validation_0-merror:0.03875 [197] validation_0-merror:0.03870 [198] validation_0-merror:0.03864 [199] validation_0-merror:0.03861 [200] validation_0-merror:0.03856 [201] validation_0-merror:0.03855 [202] validation_0-merror:0.03852 [203] validation_0-merror:0.03842 [204] validation_0-merror:0.03839 [205] validation_0-merror:0.03831 [206] validation_0-merror:0.03825 [207] validation_0-merror:0.03816 [208] validation_0-merror:0.03816 [209] validation_0-merror:0.03816 [210] validation_0-merror:0.03816 [211] validation_0-merror:0.03806 [212] validation_0-merror:0.03811 [213] validation_0-merror:0.03808 [214] validation_0-merror:0.03794 [215] validation_0-merror:0.03791 [216] validation_0-merror:0.03783 [217] validation_0-merror:0.03783 [218] validation_0-merror:0.03781 [219] validation_0-merror:0.03776 [220] validation_0-merror:0.03773 [221] validation_0-merror:0.03761 [222] validation_0-merror:0.03759 [223] validation_0-merror:0.03754 [224] validation_0-merror:0.03744 [225] validation_0-merror:0.03743 [226] validation_0-merror:0.03747 [227] validation_0-merror:0.03742 [228] validation_0-merror:0.03737 [229] validation_0-merror:0.03734 [230] validation_0-merror:0.03736 [231] validation_0-merror:0.03735 [232] validation_0-merror:0.03730 [233] validation_0-merror:0.03724 [234] validation_0-merror:0.03719 [235] validation_0-merror:0.03719 [236] validation_0-merror:0.03712 [237] validation_0-merror:0.03712 [238] validation_0-merror:0.03705 [239] validation_0-merror:0.03698 [240] validation_0-merror:0.03694 [241] validation_0-merror:0.03690 [242] validation_0-merror:0.03692 [243] validation_0-merror:0.03694 [244] validation_0-merror:0.03694 [245] validation_0-merror:0.03689 [246] validation_0-merror:0.03687 [247] validation_0-merror:0.03686 [248] validation_0-merror:0.03681 [249] validation_0-merror:0.03677 [250] validation_0-merror:0.03669 [251] validation_0-merror:0.03668 [252] validation_0-merror:0.03668 [253] validation_0-merror:0.03663 [254] validation_0-merror:0.03663 [255] validation_0-merror:0.03661 [256] validation_0-merror:0.03652 [257] validation_0-merror:0.03650 [258] validation_0-merror:0.03644 [259] validation_0-merror:0.03639 [260] validation_0-merror:0.03639 [261] validation_0-merror:0.03635 [262] validation_0-merror:0.03631 [263] validation_0-merror:0.03625 [264] validation_0-merror:0.03619 [265] validation_0-merror:0.03613 [266] validation_0-merror:0.03615 [267] validation_0-merror:0.03608 [268] validation_0-merror:0.03601 [269] validation_0-merror:0.03605 [270] validation_0-merror:0.03601 [271] validation_0-merror:0.03600 [272] validation_0-merror:0.03594 [273] validation_0-merror:0.03590 [274] validation_0-merror:0.03586 [275] validation_0-merror:0.03586 [276] validation_0-merror:0.03584 [277] validation_0-merror:0.03583 [278] validation_0-merror:0.03582 [279] validation_0-merror:0.03579 [280] validation_0-merror:0.03573 [281] validation_0-merror:0.03574 [282] validation_0-merror:0.03569 [283] validation_0-merror:0.03570 [284] validation_0-merror:0.03567 [285] validation_0-merror:0.03569 [286] validation_0-merror:0.03562 [287] validation_0-merror:0.03554 [288] validation_0-merror:0.03552 [289] validation_0-merror:0.03542 [290] validation_0-merror:0.03546 [291] validation_0-merror:0.03541 [292] validation_0-merror:0.03535 [293] validation_0-merror:0.03537 [294] validation_0-merror:0.03535 [295] validation_0-merror:0.03527 [296] validation_0-merror:0.03524 [297] validation_0-merror:0.03527 [298] validation_0-merror:0.03526 [299] validation_0-merror:0.03527 [300] validation_0-merror:0.03525 [301] validation_0-merror:0.03524 [302] validation_0-merror:0.03524 [303] validation_0-merror:0.03522 [304] validation_0-merror:0.03514 [305] validation_0-merror:0.03511 [306] validation_0-merror:0.03508 [307] validation_0-merror:0.03506 [308] validation_0-merror:0.03505 [309] validation_0-merror:0.03506 [310] validation_0-merror:0.03499 [311] validation_0-merror:0.03496 [312] validation_0-merror:0.03492 [313] validation_0-merror:0.03490 [314] validation_0-merror:0.03487 [315] validation_0-merror:0.03487 [316] validation_0-merror:0.03482 [317] validation_0-merror:0.03484 [318] validation_0-merror:0.03482 [319] validation_0-merror:0.03479 [320] validation_0-merror:0.03474 [321] validation_0-merror:0.03471 [322] validation_0-merror:0.03473 [323] validation_0-merror:0.03474 [324] validation_0-merror:0.03473 [325] validation_0-merror:0.03472 [326] validation_0-merror:0.03470 [327] validation_0-merror:0.03466 [328] validation_0-merror:0.03461 [329] validation_0-merror:0.03458 [330] validation_0-merror:0.03458 [331] validation_0-merror:0.03452 [332] validation_0-merror:0.03447 [333] validation_0-merror:0.03439 [334] validation_0-merror:0.03435 [335] validation_0-merror:0.03429 [336] validation_0-merror:0.03432 [337] validation_0-merror:0.03428 [338] validation_0-merror:0.03427 [339] validation_0-merror:0.03429 [340] validation_0-merror:0.03429 [341] validation_0-merror:0.03425 [342] validation_0-merror:0.03427 [343] validation_0-merror:0.03423 [344] validation_0-merror:0.03420 [345] validation_0-merror:0.03418 [346] validation_0-merror:0.03416 [347] validation_0-merror:0.03411 [348] validation_0-merror:0.03412 [349] validation_0-merror:0.03410 [350] validation_0-merror:0.03408 [351] validation_0-merror:0.03408 [352] validation_0-merror:0.03406 [353] validation_0-merror:0.03404 [354] validation_0-merror:0.03401 [355] validation_0-merror:0.03396 [356] validation_0-merror:0.03395 [357] validation_0-merror:0.03393 [358] validation_0-merror:0.03391 [359] validation_0-merror:0.03388 [360] validation_0-merror:0.03389 [361] validation_0-merror:0.03387 [362] validation_0-merror:0.03386 [363] validation_0-merror:0.03382 [364] validation_0-merror:0.03379 [365] validation_0-merror:0.03373 [366] validation_0-merror:0.03371 [367] validation_0-merror:0.03371 [368] validation_0-merror:0.03368 [369] validation_0-merror:0.03364 [370] validation_0-merror:0.03365 [371] validation_0-merror:0.03363 [372] validation_0-merror:0.03367 [373] validation_0-merror:0.03358 [374] validation_0-merror:0.03356 [375] validation_0-merror:0.03357 [376] validation_0-merror:0.03359 [377] validation_0-merror:0.03350 [378] validation_0-merror:0.03350 [379] validation_0-merror:0.03351 [380] validation_0-merror:0.03348 [381] validation_0-merror:0.03345 [382] validation_0-merror:0.03347 [383] validation_0-merror:0.03346 [384] validation_0-merror:0.03343 [385] validation_0-merror:0.03344 [386] validation_0-merror:0.03342 [387] validation_0-merror:0.03337 [388] validation_0-merror:0.03335 [389] validation_0-merror:0.03337 [390] validation_0-merror:0.03338 [391] validation_0-merror:0.03335 [392] validation_0-merror:0.03333 [393] validation_0-merror:0.03330 [394] validation_0-merror:0.03327 [395] validation_0-merror:0.03326 [396] validation_0-merror:0.03326 [397] validation_0-merror:0.03326 [398] validation_0-merror:0.03322 [399] validation_0-merror:0.03327 [400] validation_0-merror:0.03325 [401] validation_0-merror:0.03322 [402] validation_0-merror:0.03320 [403] validation_0-merror:0.03318 [404] validation_0-merror:0.03319 [405] validation_0-merror:0.03313 [406] validation_0-merror:0.03309 [407] validation_0-merror:0.03310 [408] validation_0-merror:0.03308 [409] validation_0-merror:0.03303 [410] validation_0-merror:0.03302 [411] validation_0-merror:0.03304 [412] validation_0-merror:0.03303 [413] validation_0-merror:0.03304 [414] validation_0-merror:0.03299 [415] validation_0-merror:0.03297 [416] validation_0-merror:0.03293 [417] validation_0-merror:0.03293 [418] validation_0-merror:0.03291 [419] validation_0-merror:0.03292 [420] validation_0-merror:0.03289 [421] validation_0-merror:0.03291 [422] validation_0-merror:0.03292 [423] validation_0-merror:0.03293 [424] validation_0-merror:0.03292 [425] validation_0-merror:0.03289 [426] validation_0-merror:0.03288 [427] validation_0-merror:0.03290 [428] validation_0-merror:0.03286 [429] validation_0-merror:0.03283 [430] validation_0-merror:0.03282 [431] validation_0-merror:0.03281 [432] validation_0-merror:0.03278 [433] validation_0-merror:0.03279 [434] validation_0-merror:0.03275 [435] validation_0-merror:0.03276 [436] validation_0-merror:0.03275 [437] validation_0-merror:0.03271 [438] validation_0-merror:0.03270 [439] validation_0-merror:0.03270 [440] validation_0-merror:0.03268 [441] validation_0-merror:0.03267 [442] validation_0-merror:0.03266 [443] validation_0-merror:0.03265 [444] validation_0-merror:0.03263 [445] validation_0-merror:0.03265 [446] validation_0-merror:0.03261 [447] validation_0-merror:0.03261 [448] validation_0-merror:0.03261 [449] validation_0-merror:0.03261 [450] validation_0-merror:0.03258 [451] validation_0-merror:0.03257 [452] validation_0-merror:0.03256 [453] validation_0-merror:0.03254 [454] validation_0-merror:0.03254 [455] validation_0-merror:0.03255 [456] validation_0-merror:0.03251 [457] validation_0-merror:0.03248 [458] validation_0-merror:0.03247 [459] validation_0-merror:0.03247 [460] validation_0-merror:0.03244 [461] validation_0-merror:0.03241 [462] validation_0-merror:0.03237 [463] validation_0-merror:0.03236 [464] validation_0-merror:0.03237 [465] validation_0-merror:0.03237 [466] validation_0-merror:0.03237 [467] validation_0-merror:0.03231 [468] validation_0-merror:0.03234 [469] validation_0-merror:0.03234 [470] validation_0-merror:0.03231 [471] validation_0-merror:0.03230 [472] validation_0-merror:0.03227 [473] validation_0-merror:0.03223 [474] validation_0-merror:0.03223 [475] validation_0-merror:0.03219 [476] validation_0-merror:0.03220 [477] validation_0-merror:0.03220 [478] validation_0-merror:0.03222 [479] validation_0-merror:0.03224 [480] validation_0-merror:0.03224 [481] validation_0-merror:0.03223 [482] validation_0-merror:0.03219 [483] validation_0-merror:0.03218 [484] validation_0-merror:0.03216 [485] validation_0-merror:0.03216 [486] validation_0-merror:0.03219 [487] validation_0-merror:0.03219 [488] validation_0-merror:0.03216 [489] validation_0-merror:0.03216 [490] validation_0-merror:0.03215 [491] validation_0-merror:0.03215 [492] validation_0-merror:0.03219 [493] validation_0-merror:0.03211 [494] validation_0-merror:0.03213 [495] validation_0-merror:0.03213 [496] validation_0-merror:0.03210 [497] validation_0-merror:0.03208 [498] validation_0-merror:0.03207 [499] validation_0-merror:0.03205 Wall time: 1h 37min 25s
XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1, colsample_bynode=1, colsample_bytree=1, gamma=0.1, gpu_id=-1, importance_type='gain', interaction_constraints='', learning_rate=0.01, max_delta_step=0, max_depth=24, min_child_weight=1, missing=nan, monotone_constraints='()', n_estimators=500, n_jobs=-1, nthread=-1, num_parallel_tree=1, object='multi:softprob', objective='multi:softprob', random_state=0, reg_alpha=0, reg_lambda=1, scale_pos_weight=None, subsample=0.9, tree_method='exact', validate_parameters=1, verbosity=None)
accuracy_score(covertype_y_test, xgb_model.predict(covertype_x_test))
0.9671606340682605
confusion_matrix(covertype_y_test, xgb_model.predict(covertype_x_test))
array([[40838, 1494, 0, 0, 17, 2, 64], [ 1025, 55248, 67, 0, 90, 43, 22], [ 0, 69, 6980, 35, 6, 104, 0], [ 0, 0, 54, 463, 0, 12, 0], [ 21, 276, 31, 0, 1637, 8, 0], [ 3, 85, 141, 10, 3, 3304, 0], [ 117, 17, 0, 0, 0, 0, 3916]], dtype=int64)
print(
classification_report(covertype_y_test,
xgb_model.predict(covertype_x_test)))
precision recall f1-score support 1 0.97 0.96 0.97 42415 2 0.97 0.98 0.97 56495 3 0.96 0.97 0.96 7194 4 0.91 0.88 0.89 529 5 0.93 0.83 0.88 1973 6 0.95 0.93 0.94 3546 7 0.98 0.97 0.97 4050 accuracy 0.97 116202 macro avg 0.95 0.93 0.94 116202 weighted avg 0.97 0.97 0.97 116202
import xgboost as xgb
xgb_cpu = xgb.XGBClassifier(object='multi:softprob',
max_depth=8,
gamma=0.1,
subsample=0.9,
learning_rate=0.01,
n_estimators=200,
nthread=-1)
%%time
xgb_cpu.fit(covertype_x_train,
covertype_y_train,
eval_set=[(covertype_x_val, covertype_y_val)],
eval_metric='merror',
early_stopping_rounds=25,
verbose=True)
[09:34:19] WARNING: D:\Projects\other_projects\xgboost\src\learner.cc:529: Parameters: { object } might not be used. This may not be accurate due to some parameters are only used in language bindings but passed down to XGBoost core. Or some parameters are not used but slip through this verification. Please open an issue if you find above cases. [0] validation_0-merror:0.21399 [1] validation_0-merror:0.21641 [2] validation_0-merror:0.21486 [3] validation_0-merror:0.21350 [4] validation_0-merror:0.21427 [5] validation_0-merror:0.21401 [6] validation_0-merror:0.21372 [7] validation_0-merror:0.21296 [8] validation_0-merror:0.21235 [9] validation_0-merror:0.21210 [10] validation_0-merror:0.21214 [11] validation_0-merror:0.21132 [12] validation_0-merror:0.21171 [13] validation_0-merror:0.21129 [14] validation_0-merror:0.21112 [15] validation_0-merror:0.21057 [16] validation_0-merror:0.21017 [17] validation_0-merror:0.21022 [18] validation_0-merror:0.20971 [19] validation_0-merror:0.20983 [20] validation_0-merror:0.20920 [21] validation_0-merror:0.20917 [22] validation_0-merror:0.20898 [23] validation_0-merror:0.20936 [24] validation_0-merror:0.20937 [25] validation_0-merror:0.20906 [26] validation_0-merror:0.20910 [27] validation_0-merror:0.20829 [28] validation_0-merror:0.20810 [29] validation_0-merror:0.20779 [30] validation_0-merror:0.20757 [31] validation_0-merror:0.20763 [32] validation_0-merror:0.20725 [33] validation_0-merror:0.20682 [34] validation_0-merror:0.20703 [35] validation_0-merror:0.20676 [36] validation_0-merror:0.20666 [37] validation_0-merror:0.20687 [38] validation_0-merror:0.20660 [39] validation_0-merror:0.20631 [40] validation_0-merror:0.20617 [41] validation_0-merror:0.20582 [42] validation_0-merror:0.20579 [43] validation_0-merror:0.20574 [44] validation_0-merror:0.20528 [45] validation_0-merror:0.20444 [46] validation_0-merror:0.20448 [47] validation_0-merror:0.20433 [48] validation_0-merror:0.20384 [49] validation_0-merror:0.20346 [50] validation_0-merror:0.20321 [51] validation_0-merror:0.20327 [52] validation_0-merror:0.20314 [53] validation_0-merror:0.20298 [54] validation_0-merror:0.20292 [55] validation_0-merror:0.20249 [56] validation_0-merror:0.20237 [57] validation_0-merror:0.20232 [58] validation_0-merror:0.20205 [59] validation_0-merror:0.20184 [60] validation_0-merror:0.20129 [61] validation_0-merror:0.20129 [62] validation_0-merror:0.20108 [63] validation_0-merror:0.20096 [64] validation_0-merror:0.20069 [65] validation_0-merror:0.20050 [66] validation_0-merror:0.20006 [67] validation_0-merror:0.19992 [68] validation_0-merror:0.19953 [69] validation_0-merror:0.19928 [70] validation_0-merror:0.19912 [71] validation_0-merror:0.19871 [72] validation_0-merror:0.19857 [73] validation_0-merror:0.19834 [74] validation_0-merror:0.19804 [75] validation_0-merror:0.19808 [76] validation_0-merror:0.19775 [77] validation_0-merror:0.19771 [78] validation_0-merror:0.19753 [79] validation_0-merror:0.19729 [80] validation_0-merror:0.19698 [81] validation_0-merror:0.19696 [82] validation_0-merror:0.19702 [83] validation_0-merror:0.19699 [84] validation_0-merror:0.19676 [85] validation_0-merror:0.19669 [86] validation_0-merror:0.19663 [87] validation_0-merror:0.19641 [88] validation_0-merror:0.19632 [89] validation_0-merror:0.19628 [90] validation_0-merror:0.19611 [91] validation_0-merror:0.19601 [92] validation_0-merror:0.19586 [93] validation_0-merror:0.19556 [94] validation_0-merror:0.19542 [95] validation_0-merror:0.19538 [96] validation_0-merror:0.19531 [97] validation_0-merror:0.19514 [98] validation_0-merror:0.19508 [99] validation_0-merror:0.19492 [100] validation_0-merror:0.19481 [101] validation_0-merror:0.19459 [102] validation_0-merror:0.19458 [103] validation_0-merror:0.19434 [104] validation_0-merror:0.19416 [105] validation_0-merror:0.19407 [106] validation_0-merror:0.19396 [107] validation_0-merror:0.19375 [108] validation_0-merror:0.19356 [109] validation_0-merror:0.19359 [110] validation_0-merror:0.19341 [111] validation_0-merror:0.19324 [112] validation_0-merror:0.19301 [113] validation_0-merror:0.19291 [114] validation_0-merror:0.19277 [115] validation_0-merror:0.19271 [116] validation_0-merror:0.19252 [117] validation_0-merror:0.19237 [118] validation_0-merror:0.19230 [119] validation_0-merror:0.19205 [120] validation_0-merror:0.19196 [121] validation_0-merror:0.19179 [122] validation_0-merror:0.19176 [123] validation_0-merror:0.19184 [124] validation_0-merror:0.19169 [125] validation_0-merror:0.19149 [126] validation_0-merror:0.19147 [127] validation_0-merror:0.19129 [128] validation_0-merror:0.19123 [129] validation_0-merror:0.19119 [130] validation_0-merror:0.19105 [131] validation_0-merror:0.19097 [132] validation_0-merror:0.19077 [133] validation_0-merror:0.19065 [134] validation_0-merror:0.19045 [135] validation_0-merror:0.19024 [136] validation_0-merror:0.19006 [137] validation_0-merror:0.18999 [138] validation_0-merror:0.18980 [139] validation_0-merror:0.18968 [140] validation_0-merror:0.18956 [141] validation_0-merror:0.18958 [142] validation_0-merror:0.18947 [143] validation_0-merror:0.18946 [144] validation_0-merror:0.18924 [145] validation_0-merror:0.18918 [146] validation_0-merror:0.18908 [147] validation_0-merror:0.18894 [148] validation_0-merror:0.18882 [149] validation_0-merror:0.18889 [150] validation_0-merror:0.18862 [151] validation_0-merror:0.18839 [152] validation_0-merror:0.18836 [153] validation_0-merror:0.18822 [154] validation_0-merror:0.18802 [155] validation_0-merror:0.18798 [156] validation_0-merror:0.18796 [157] validation_0-merror:0.18782 [158] validation_0-merror:0.18760 [159] validation_0-merror:0.18759 [160] validation_0-merror:0.18752 [161] validation_0-merror:0.18735 [162] validation_0-merror:0.18725 [163] validation_0-merror:0.18716 [164] validation_0-merror:0.18705 [165] validation_0-merror:0.18693 [166] validation_0-merror:0.18681 [167] validation_0-merror:0.18673 [168] validation_0-merror:0.18655 [169] validation_0-merror:0.18649 [170] validation_0-merror:0.18648 [171] validation_0-merror:0.18633 [172] validation_0-merror:0.18628 [173] validation_0-merror:0.18609 [174] validation_0-merror:0.18612 [175] validation_0-merror:0.18604 [176] validation_0-merror:0.18596 [177] validation_0-merror:0.18591 [178] validation_0-merror:0.18593 [179] validation_0-merror:0.18590 [180] validation_0-merror:0.18576 [181] validation_0-merror:0.18574 [182] validation_0-merror:0.18563 [183] validation_0-merror:0.18566 [184] validation_0-merror:0.18562 [185] validation_0-merror:0.18563 [186] validation_0-merror:0.18561 [187] validation_0-merror:0.18560 [188] validation_0-merror:0.18557 [189] validation_0-merror:0.18543 [190] validation_0-merror:0.18529 [191] validation_0-merror:0.18518 [192] validation_0-merror:0.18505 [193] validation_0-merror:0.18487 [194] validation_0-merror:0.18469 [195] validation_0-merror:0.18459 [196] validation_0-merror:0.18444 [197] validation_0-merror:0.18430 [198] validation_0-merror:0.18425 [199] validation_0-merror:0.18417 Wall time: 12min 30s
XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1, colsample_bynode=1, colsample_bytree=1, gamma=0.1, gpu_id=-1, importance_type='gain', interaction_constraints='', learning_rate=0.01, max_delta_step=0, max_depth=8, min_child_weight=1, missing=nan, monotone_constraints='()', n_estimators=200, n_jobs=-1, nthread=-1, num_parallel_tree=1, object='multi:softprob', objective='multi:softprob', random_state=0, reg_alpha=0, reg_lambda=1, scale_pos_weight=None, subsample=0.9, tree_method='exact', validate_parameters=1, verbosity=None)
xgb_gpu = xgb.XGBClassifier(object='multi:softprob',
max_depth=8,
gamma=0.1,
subsample=0.9,
learning_rate=0.01,
n_estimators=200,
nthread=-1,
tree_method='gpu_hist',
gpu_id=0)
%%time
xgb_gpu.fit(covertype_x_train,
covertype_y_train,
eval_set=[(covertype_x_val, covertype_y_val)],
eval_metric='merror',
early_stopping_rounds=25,
verbose=True)
[10:01:00] WARNING: D:\Projects\other_projects\xgboost\src\learner.cc:529: Parameters: { object } might not be used. This may not be accurate due to some parameters are only used in language bindings but passed down to XGBoost core. Or some parameters are not used but slip through this verification. Please open an issue if you find above cases. [0] validation_0-merror:0.21819 [1] validation_0-merror:0.21678 [2] validation_0-merror:0.21659 [3] validation_0-merror:0.21447 [4] validation_0-merror:0.21370 [5] validation_0-merror:0.21469 [6] validation_0-merror:0.21351 [7] validation_0-merror:0.21265 [8] validation_0-merror:0.21252 [9] validation_0-merror:0.21265 [10] validation_0-merror:0.21286 [11] validation_0-merror:0.21154 [12] validation_0-merror:0.21166 [13] validation_0-merror:0.21123 [14] validation_0-merror:0.21070 [15] validation_0-merror:0.21067 [16] validation_0-merror:0.21046 [17] validation_0-merror:0.21040 [18] validation_0-merror:0.21009 [19] validation_0-merror:0.20922 [20] validation_0-merror:0.20916 [21] validation_0-merror:0.20910 [22] validation_0-merror:0.20902 [23] validation_0-merror:0.20827 [24] validation_0-merror:0.20802 [25] validation_0-merror:0.20764 [26] validation_0-merror:0.20784 [27] validation_0-merror:0.20749 [28] validation_0-merror:0.20775 [29] validation_0-merror:0.20767 [30] validation_0-merror:0.20751 [31] validation_0-merror:0.20745 [32] validation_0-merror:0.20728 [33] validation_0-merror:0.20687 [34] validation_0-merror:0.20703 [35] validation_0-merror:0.20666 [36] validation_0-merror:0.20648 [37] validation_0-merror:0.20643 [38] validation_0-merror:0.20605 [39] validation_0-merror:0.20585 [40] validation_0-merror:0.20589 [41] validation_0-merror:0.20584 [42] validation_0-merror:0.20589 [43] validation_0-merror:0.20549 [44] validation_0-merror:0.20519 [45] validation_0-merror:0.20531 [46] validation_0-merror:0.20495 [47] validation_0-merror:0.20471 [48] validation_0-merror:0.20454 [49] validation_0-merror:0.20448 [50] validation_0-merror:0.20423 [51] validation_0-merror:0.20401 [52] validation_0-merror:0.20385 [53] validation_0-merror:0.20358 [54] validation_0-merror:0.20333 [55] validation_0-merror:0.20316 [56] validation_0-merror:0.20291 [57] validation_0-merror:0.20253 [58] validation_0-merror:0.20228 [59] validation_0-merror:0.20187 [60] validation_0-merror:0.20142 [61] validation_0-merror:0.20136 [62] validation_0-merror:0.20111 [63] validation_0-merror:0.20089 [64] validation_0-merror:0.20067 [65] validation_0-merror:0.20047 [66] validation_0-merror:0.20017 [67] validation_0-merror:0.19994 [68] validation_0-merror:0.19975 [69] validation_0-merror:0.19975 [70] validation_0-merror:0.19958 [71] validation_0-merror:0.19926 [72] validation_0-merror:0.19913 [73] validation_0-merror:0.19890 [74] validation_0-merror:0.19879 [75] validation_0-merror:0.19861 [76] validation_0-merror:0.19858 [77] validation_0-merror:0.19837 [78] validation_0-merror:0.19821 [79] validation_0-merror:0.19818 [80] validation_0-merror:0.19795 [81] validation_0-merror:0.19770 [82] validation_0-merror:0.19742 [83] validation_0-merror:0.19751 [84] validation_0-merror:0.19728 [85] validation_0-merror:0.19732 [86] validation_0-merror:0.19709 [87] validation_0-merror:0.19709 [88] validation_0-merror:0.19709 [89] validation_0-merror:0.19672 [90] validation_0-merror:0.19663 [91] validation_0-merror:0.19663 [92] validation_0-merror:0.19652 [93] validation_0-merror:0.19638 [94] validation_0-merror:0.19605 [95] validation_0-merror:0.19586 [96] validation_0-merror:0.19579 [97] validation_0-merror:0.19562 [98] validation_0-merror:0.19545 [99] validation_0-merror:0.19536 [100] validation_0-merror:0.19508 [101] validation_0-merror:0.19495 [102] validation_0-merror:0.19479 [103] validation_0-merror:0.19463 [104] validation_0-merror:0.19450 [105] validation_0-merror:0.19431 [106] validation_0-merror:0.19416 [107] validation_0-merror:0.19395 [108] validation_0-merror:0.19381 [109] validation_0-merror:0.19361 [110] validation_0-merror:0.19346 [111] validation_0-merror:0.19323 [112] validation_0-merror:0.19314 [113] validation_0-merror:0.19298 [114] validation_0-merror:0.19273 [115] validation_0-merror:0.19260 [116] validation_0-merror:0.19255 [117] validation_0-merror:0.19234 [118] validation_0-merror:0.19215 [119] validation_0-merror:0.19194 [120] validation_0-merror:0.19187 [121] validation_0-merror:0.19175 [122] validation_0-merror:0.19167 [123] validation_0-merror:0.19154 [124] validation_0-merror:0.19145 [125] validation_0-merror:0.19131 [126] validation_0-merror:0.19121 [127] validation_0-merror:0.19118 [128] validation_0-merror:0.19099 [129] validation_0-merror:0.19107 [130] validation_0-merror:0.19086 [131] validation_0-merror:0.19081 [132] validation_0-merror:0.19071 [133] validation_0-merror:0.19055 [134] validation_0-merror:0.19039 [135] validation_0-merror:0.19022 [136] validation_0-merror:0.18998 [137] validation_0-merror:0.18983 [138] validation_0-merror:0.18975 [139] validation_0-merror:0.18975 [140] validation_0-merror:0.18959 [141] validation_0-merror:0.18951 [142] validation_0-merror:0.18946 [143] validation_0-merror:0.18926 [144] validation_0-merror:0.18914 [145] validation_0-merror:0.18906 [146] validation_0-merror:0.18895 [147] validation_0-merror:0.18879 [148] validation_0-merror:0.18876 [149] validation_0-merror:0.18872 [150] validation_0-merror:0.18855 [151] validation_0-merror:0.18843 [152] validation_0-merror:0.18826 [153] validation_0-merror:0.18827 [154] validation_0-merror:0.18821 [155] validation_0-merror:0.18802 [156] validation_0-merror:0.18796 [157] validation_0-merror:0.18780 [158] validation_0-merror:0.18777 [159] validation_0-merror:0.18762 [160] validation_0-merror:0.18740 [161] validation_0-merror:0.18740 [162] validation_0-merror:0.18740 [163] validation_0-merror:0.18730 [164] validation_0-merror:0.18717 [165] validation_0-merror:0.18697 [166] validation_0-merror:0.18678 [167] validation_0-merror:0.18668 [168] validation_0-merror:0.18648 [169] validation_0-merror:0.18648 [170] validation_0-merror:0.18658 [171] validation_0-merror:0.18648 [172] validation_0-merror:0.18636 [173] validation_0-merror:0.18634 [174] validation_0-merror:0.18631 [175] validation_0-merror:0.18632 [176] validation_0-merror:0.18632 [177] validation_0-merror:0.18617 [178] validation_0-merror:0.18617 [179] validation_0-merror:0.18617 [180] validation_0-merror:0.18617 [181] validation_0-merror:0.18605 [182] validation_0-merror:0.18593 [183] validation_0-merror:0.18597 [184] validation_0-merror:0.18588 [185] validation_0-merror:0.18580 [186] validation_0-merror:0.18582 [187] validation_0-merror:0.18574 [188] validation_0-merror:0.18555 [189] validation_0-merror:0.18548 [190] validation_0-merror:0.18537 [191] validation_0-merror:0.18524 [192] validation_0-merror:0.18519 [193] validation_0-merror:0.18520 [194] validation_0-merror:0.18508 [195] validation_0-merror:0.18502 [196] validation_0-merror:0.18502 [197] validation_0-merror:0.18483 [198] validation_0-merror:0.18473 [199] validation_0-merror:0.18468 Wall time: 1min 54s
XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1, colsample_bynode=1, colsample_bytree=1, gamma=0.1, gpu_id=0, importance_type='gain', interaction_constraints='', learning_rate=0.01, max_delta_step=0, max_depth=8, min_child_weight=1, missing=nan, monotone_constraints='()', n_estimators=200, n_jobs=-1, nthread=-1, num_parallel_tree=1, object='multi:softprob', objective='multi:softprob', random_state=0, reg_alpha=0, reg_lambda=1, scale_pos_weight=None, subsample=0.9, tree_method='gpu_hist', validate_parameters=1, verbosity=None)
covertype_y_train_1 = covertype_y_train - 1
covertype_y_val_1 = covertype_y_val - 1
covertype_y_test_1 = covertype_y_test - 1
import lightgbm as lgb
params = {
'task': 'train',
'boosting_type': 'gbdt',
'objective': 'multiclass',
'num_class': len(np.unique(covertype_y)),
'metric': 'multi_logloss',
'learning_rate': 0.01,
'max_depth': 128,
'num_leaves': 256,
'feature_fraction': 0.9,
'bagging_fraction': 0.9,
'bagging_freq': 10,
'device': 'cpu'
}
train_data = lgb.Dataset(data=covertype_x_train, label=covertype_y_train_1)
val_data = lgb.Dataset(data=covertype_x_val, label=covertype_y_val_1)
bst = lgb.train(params,
train_data,
num_boost_round=2500,
valid_sets=val_data,
verbose_eval=500,
early_stopping_rounds=25)
Training until validation scores don't improve for 25 rounds [500] valid_0's multi_logloss: 0.258546 [1000] valid_0's multi_logloss: 0.188758 [1500] valid_0's multi_logloss: 0.159213 [2000] valid_0's multi_logloss: 0.140833 [2500] valid_0's multi_logloss: 0.127889 Did not meet early stopping. Best iteration is: [2500] valid_0's multi_logloss: 0.127889
lgb_cv = lgb.cv(params,
train_data,
num_boost_round=2500,
nfold=3,
shuffle=True,
verbose_eval=250,
early_stopping_rounds=25)
[250] cv_agg's multi_logloss: 0.383821 + 0.000454662 [500] cv_agg's multi_logloss: 0.265271 + 0.000599288 [750] cv_agg's multi_logloss: 0.220832 + 0.000458877 [1000] cv_agg's multi_logloss: 0.196948 + 0.000144783 [1250] cv_agg's multi_logloss: 0.180572 + 0.000345486 [1500] cv_agg's multi_logloss: 0.167917 + 0.000484253 [1750] cv_agg's multi_logloss: 0.157947 + 0.000538372 [2000] cv_agg's multi_logloss: 0.150243 + 0.000658097 [2250] cv_agg's multi_logloss: 0.143914 + 0.000544808 [2500] cv_agg's multi_logloss: 0.139016 + 0.000600344
nround = lgb_cv['multi_logloss-mean'].index(np.min(
lgb_cv['multi_logloss-mean']))
nround
2499
y_probs = bst.predict(covertype_x_test, num_iteration=bst.best_iteration)
y_preds = np.argmax(y_probs, axis=1)
print(accuracy_score(covertype_y_test_1, y_preds))
print(confusion_matrix(covertype_y_test_1, y_preds))
0.9591917522934201 [[40188 2142 0 0 14 0 71] [ 1442 54835 68 0 84 45 21] [ 2 61 7011 23 5 92 0] [ 0 0 58 455 0 16 0] [ 20 231 27 0 1689 6 0] [ 2 70 110 10 3 3351 0] [ 107 12 0 0 0 0 3931]]
print(classification_report(covertype_y_test_1, y_preds))
precision recall f1-score support 0 0.96 0.95 0.95 42415 1 0.96 0.97 0.96 56495 2 0.96 0.97 0.97 7194 3 0.93 0.86 0.89 529 4 0.94 0.86 0.90 1973 5 0.95 0.95 0.95 3546 6 0.98 0.97 0.97 4050 accuracy 0.96 116202 macro avg 0.96 0.93 0.94 116202 weighted avg 0.96 0.96 0.96 116202
import lightgbm as lgb
params_cpu = {
'task': 'train',
'boosting_type': 'gbdt',
'objective': 'multiclass',
'num_class': len(np.unique(covertype_y)),
'metric': 'multi_logloss',
'learning_rate': 0.01,
'max_depth': 128,
'num_leaves': 256,
'feature_fraction': 0.9,
'bagging_fraction': 0.9,
'bagging_freq': 10,
"n_jobs": 8,
'device': 'cpu',
'n_jobs': -1,
}
%%time
bst_cpu = lgb.train(params_cpu,
train_data,
num_boost_round=500,
valid_sets=val_data,
verbose_eval=100,
early_stopping_rounds=25)
[LightGBM] [Warning] Auto-choosing col-wise multi-threading, the overhead of testing was 0.030191 seconds. You can set `force_col_wise=true` to remove the overhead. [LightGBM] [Info] Total Bins 2266 [LightGBM] [Info] Number of data points in the train set: 348607, number of used features: 53 [LightGBM] [Info] Start training from score -1.008130 [LightGBM] [Info] Start training from score -0.718670 [LightGBM] [Info] Start training from score -2.786590 [LightGBM] [Info] Start training from score -5.333962 [LightGBM] [Info] Start training from score -4.133503 [LightGBM] [Info] Start training from score -3.514835 [LightGBM] [Info] Start training from score -3.339237 [LightGBM] [Warning] No further splits with positive gain, best gain: -inf Training until validation scores don't improve for 25 rounds [100] valid_0's multi_logloss: 0.46432 [200] valid_0's multi_logloss: 0.316533 [300] valid_0's multi_logloss: 0.254985 [400] valid_0's multi_logloss: 0.222611 [500] valid_0's multi_logloss: 0.201845 Did not meet early stopping. Best iteration is: [500] valid_0's multi_logloss: 0.201845 Wall time: 2min 39s
params_gpu = {
'task': 'train',
'boosting_type': 'gbdt',
'objective': 'multiclass',
'num_class': len(np.unique(covertype_y)),
'metric': 'multi_logloss',
'learning_rate': 0.01,
'max_depth': 128,
'num_leaves': 256,
'feature_fraction': 0.9,
'bagging_fraction': 0.9,
'bagging_freq': 10,
"n_jobs": 8,
'device': 'gpu',
'gpu_platform_id': 2,
'gpu_device_id': 1,
}
%%time
bst_gpu = lgb.train(params_gpu,
train_data,
num_boost_round=500,
valid_sets=val_data,
verbose_eval=100,
early_stopping_rounds=25)
[LightGBM] [Info] This is the GPU trainer!! [LightGBM] [Info] Total Bins 2266 [LightGBM] [Info] Number of data points in the train set: 348607, number of used features: 53 [LightGBM] [Info] Using GPU Device: GeForce GTX 1060, Vendor: NVIDIA Corporation [LightGBM] [Info] Compiling OpenCL Kernel with 256 bins... [LightGBM] [Info] GPU programs have been built [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.99 MB) transferred to GPU in 0.008094 secs. 0 sparse feature groups [LightGBM] [Info] Start training from score -1.008130 [LightGBM] [Info] Start training from score -0.718670 [LightGBM] [Info] Start training from score -2.786590 [LightGBM] [Info] Start training from score -5.333962 [LightGBM] [Info] Start training from score -4.133503 [LightGBM] [Info] Start training from score -3.514835 [LightGBM] [Info] Start training from score -3.339237 [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008006 secs. 0 sparse feature groups Training until validation scores don't improve for 25 rounds [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007137 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007045 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007813 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007583 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007343 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007228 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007928 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007948 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008081 secs. 0 sparse feature groups [100] valid_0's multi_logloss: 0.464445 [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007430 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008532 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008299 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008420 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008844 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007474 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.009012 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008419 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007661 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007852 secs. 0 sparse feature groups [200] valid_0's multi_logloss: 0.316437 [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008884 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008355 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007115 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.006948 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007195 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007332 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007107 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007296 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007101 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007279 secs. 0 sparse feature groups [300] valid_0's multi_logloss: 0.255073 [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.006899 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007245 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.006943 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008147 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007125 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008344 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007181 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.009159 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007620 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007047 secs. 0 sparse feature groups [400] valid_0's multi_logloss: 0.223112 [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007003 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007112 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008128 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.58 MB) transferred to GPU in 0.007451 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007739 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007358 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007277 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007078 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.007241 secs. 0 sparse feature groups [LightGBM] [Info] Size of histogram bin entry: 8 [LightGBM] [Info] 12 dense feature groups (3.59 MB) transferred to GPU in 0.008423 secs. 0 sparse feature groups [500] valid_0's multi_logloss: 0.202542 Did not meet early stopping. Best iteration is: [500] valid_0's multi_logloss: 0.202542 Wall time: 5min 7s
from catboost import CatBoostClassifier, Pool
covertype_dataset = fetch_covtype(random_state=101, shuffle=True)
label = covertype_dataset.target.astype(int) - 1
wilderness_area = np.argmax(covertype_dataset.data[:, 10:(10 + 4)], axis=1)
soil_type = np.argmax(covertype_dataset.data[:, (10 + 4):(10 + 4 + 40)], axis=1)
data = (covertype_dataset.data[:, :10], wilderness_area.reshape(-1,
1).astype(str),
soil_type.reshape(-1, 1).astype(str))
data = np.hstack(data)
covertype_train = Pool(data=data[:15000, :],
label=label[:15000],
cat_features=[10, 11])
covertype_val = Pool(data[15000:20000, :], label[15000:20000], [10, 11])
covertype_test_x = Pool(data[20000:25000, :], None, [10, 11])
covertype_test_y = label[20000:25000]
cbc_cpu = CatBoostClassifier(iterations=2500,
learning_rate=0.05,
depth=8,
custom_loss='Accuracy',
eval_metric='Accuracy',
use_best_model=True,
loss_function='MultiClass',
task_type='CPU',
thread_count=-1)
cbc_cpu.fit(covertype_train, eval_set=covertype_val, verbose=500, plot=False)
0: learn: 0.6639333 test: 0.6690000 best: 0.6690000 (0) total: 133ms remaining: 5m 32s 500: learn: 0.8766000 test: 0.8084000 best: 0.8090000 (493) total: 2m 14s remaining: 8m 58s 1000: learn: 0.9358000 test: 0.8276000 best: 0.8284000 (987) total: 4m 45s remaining: 7m 6s 1500: learn: 0.9673333 test: 0.8316000 best: 0.8318000 (1477) total: 7m 17s remaining: 4m 50s 2000: learn: 0.9844667 test: 0.8344000 best: 0.8344000 (1996) total: 9m 39s remaining: 2m 24s 2499: learn: 0.9928667 test: 0.8368000 best: 0.8368000 (2499) total: 12m 14s remaining: 0us bestTest = 0.8368 bestIteration = 2499
<catboost.core.CatBoostClassifier at 0x17880a91248>
preds_class_cpu = cbc_cpu.predict(covertype_test_x)
preds_proba_cpu = cbc_cpu.predict_proba(covertype_test_x)
print(accuracy_score(covertype_test_y, preds_class_cpu))
print(confusion_matrix(covertype_test_y, preds_class_cpu))
0.8392 [[1483 321 0 0 0 0 16] [ 237 2172 14 0 9 14 2] [ 0 11 269 4 0 17 0] [ 0 0 4 19 0 4 0] [ 1 47 7 0 22 0 0] [ 0 16 42 1 0 85 0] [ 36 1 0 0 0 0 146]]
print(classification_report(covertype_test_y, preds_class_cpu))
precision recall f1-score support 0 0.84 0.81 0.83 1820 1 0.85 0.89 0.87 2448 2 0.80 0.89 0.84 301 3 0.79 0.70 0.75 27 4 0.71 0.29 0.41 77 5 0.71 0.59 0.64 144 6 0.89 0.80 0.84 183 accuracy 0.84 5000 macro avg 0.80 0.71 0.74 5000 weighted avg 0.84 0.84 0.84 5000
cbc_gpu = CatBoostClassifier(iterations=2500,
learning_rate=0.05,
depth=8,
custom_loss='Accuracy',
eval_metric='Accuracy',
use_best_model=True,
loss_function='MultiClass',
task_type='GPU',
thread_count=-1)
cbc_gpu.fit(covertype_train, eval_set=covertype_val, verbose=500, plot=False)
0: learn: 0.6304000 test: 0.6248000 best: 0.6248000 (0) total: 36.5ms remaining: 1m 31s 500: learn: 0.8871333 test: 0.8076000 best: 0.8076000 (497) total: 16.7s remaining: 1m 6s 1000: learn: 0.9448667 test: 0.8272000 best: 0.8282000 (992) total: 37s remaining: 55.5s 1500: learn: 0.9734667 test: 0.8336000 best: 0.8358000 (1443) total: 54.9s remaining: 36.5s 2000: learn: 0.9886667 test: 0.8380000 best: 0.8396000 (1950) total: 1m 14s remaining: 18.6s 2499: learn: 0.9950000 test: 0.8394000 best: 0.8414000 (2348) total: 1m 35s remaining: 0us bestTest = 0.8414 bestIteration = 2348 Shrink model to first 2349 iterations.
<catboost.core.CatBoostClassifier at 0x17880c6f248>
preds_class_gpu = cbc_gpu.predict(covertype_test_x)
preds_proba_gpu = cbc_gpu.predict_proba(covertype_test_x)
print(accuracy_score(covertype_test_y, preds_class_gpu))
print(confusion_matrix(covertype_test_y, preds_class_gpu))
0.84 [[1477 327 0 0 0 0 16] [ 231 2181 11 0 9 13 3] [ 0 15 265 4 0 17 0] [ 0 0 6 18 0 3 0] [ 1 44 6 0 26 0 0] [ 0 15 43 1 0 85 0] [ 34 1 0 0 0 0 148]]
print(classification_report(covertype_test_y, preds_class_gpu))
precision recall f1-score support 0 0.85 0.81 0.83 1820 1 0.84 0.89 0.87 2448 2 0.80 0.88 0.84 301 3 0.78 0.67 0.72 27 4 0.74 0.34 0.46 77 5 0.72 0.59 0.65 144 6 0.89 0.81 0.85 183 accuracy 0.84 5000 macro avg 0.80 0.71 0.74 5000 weighted avg 0.84 0.84 0.84 5000
import thundersvm
--------------------------------------------------------------------------- OSError Traceback (most recent call last) <ipython-input-11-7835f13aee79> in <module> ----> 1 import thundersvm D:\Programing\Anaconda3\lib\site-packages\thundersvm\__init__.py in <module> 10 """ 11 name = "thundersvm" ---> 12 from .thundersvmScikit import * D:\Programing\Anaconda3\lib\site-packages\thundersvm\thundersvmScikit.py in <module> 39 40 if path.exists(lib_path): ---> 41 thundersvm = CDLL(lib_path) 42 else: 43 raise FileNotFoundError("Please build the library first!") D:\Programing\Anaconda3\lib\ctypes\__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error) 362 363 if handle is None: --> 364 self._handle = _dlopen(self._name, mode) 365 else: 366 self._handle = handle OSError: [WinError 126] 找不到指定的模块。
clf?
Object `clf` not found.
!pip list
Package Version ---------------------------------- ------------------- aiohttp 3.6.3 alabaster 0.7.12 altgraph 0.17 anaconda-client 1.7.2 anaconda-navigator 1.9.12 anaconda-project 0.8.3 argh 0.26.2 argon2-cffi 20.1.0 asn1crypto 1.4.0 astroid 2.4.2 astropy 4.0.1.post1 async-timeout 3.0.1 atomicwrites 1.4.0 attrs 20.1.0 autopep8 1.5.4 Babel 2.8.0 backcall 0.2.0 backports.functools-lru-cache 1.6.1 backports.shutil-get-terminal-size 1.0.0 backports.tempfile 1.0 backports.weakref 1.0.post1 bcrypt 3.2.0 beautifulsoup4 4.9.1 bitarray 1.5.3 bkcharts 0.2 bleach 3.1.5 blis 0.4.1 bokeh 2.2.1 boto 2.49.0 boto3 1.9.66 botocore 1.12.67 Bottleneck 1.3.2 branca 0.4.1 brotlipy 0.7.0 cachetools 4.1.1 catalogue 1.0.0 catboost 0.24 certifi 2020.6.20 cffi 1.14.2 chardet 3.0.4 click 7.1.2 cloudpickle 1.6.0 clyent 1.2.2 colorama 0.4.3 comtypes 1.1.7 conda 4.8.5 conda-build 3.20.2 conda-pack 0.5.0 conda-package-handling 1.7.0 conda-verify 3.4.2 confuse 1.3.0 contextlib2 0.6.0.post1 convertdate 2.2.1 cryptography 3.1 cssselect 1.1.0 cupy 6.0.0 cutecharts 1.2.0 cycler 0.10.0 cymem 2.0.3 Cython 0.29.21 cytoolz 0.10.1 dash 1.16.1 dash-core-components 1.3.1 dash-html-components 1.0.1 dash-renderer 1.1.2 dash-table 4.4.1 dask 2.25.0 decorator 4.4.2 defusedxml 0.6.0 diff-match-patch 20200713 distributed 2.25.0 docutils 0.16 en-core-web-lg 2.3.1 en-core-web-sm 2.3.1 entropy-based-binning 0.0.1 entrypoints 0.3 ephem 3.7.7.0 et-xmlfile 1.0.1 fastcache 1.1.0 fastrlock 0.4 fbprophet 0.6 ffn 0.3.4 filelock 3.0.12 flake8 3.8.3 Flask 1.1.2 Flask-Compress 1.5.0 folium 0.11.0 fsspec 0.8.0 future 0.18.2 fuzzywuzzy 0.17.0 gensim 3.8.0 gevent 20.6.2 glob2 0.7 gmpy2 2.0.8 google-api-core 1.22.2 google-auth 1.22.1 google-cloud-core 1.4.3 google-cloud-storage 1.31.0 google-crc32c 1.0.0 google-resumable-media 1.1.0 googleapis-common-protos 1.52.0 greenlet 0.4.16 h5py 2.10.0 HeapDict 1.0.1 holidays 0.10.3 html5lib 1.1 htmlmin 0.1.12 idna 2.10 ImageHash 4.1.0 imageio 2.9.0 imagesize 1.2.0 imbalanced-learn 0.7.0 importlib-metadata 1.7.0 inflection 0.5.1 iniconfig 0.0.0 intervaltree 3.1.0 ipykernel 5.3.4 ipympl 0.5.7 ipython 7.18.1 ipython-genutils 0.2.0 ipywidgets 7.5.1 isort 5.4.2 itsdangerous 1.1.0 jdcal 1.4.1 jedi 0.14.1 jieba 0.42.1 Jinja2 2.11.2 jmespath 0.10.0 joblib 0.16.0 json5 0.9.5 jsonschema 3.0.2 jupyter 1.0.0 jupyter-bokeh 2.0.3 jupyter-client 6.1.6 jupyter-console 6.2.0 jupyter-contrib-core 0.3.3 jupyter-core 4.6.3 jupyter-kite 1.0.0 jupyter-nbextensions-configurator 0.4.1 jupyterlab 2.2.6 jupyterlab-code-formatter 1.3.6 jupyterlab-server 1.2.0 keyring 21.4.0 kiwisolver 1.2.0 korean-lunar-calendar 0.2.1 lazy-object-proxy 1.4.3 libarchive-c 2.9 lightgbm 3.0.0.99 llvmlite 0.33.0+1.g022ab0f locket 0.2.0 LunarCalendar 0.0.9 lxml 4.5.2 macholib 1.14 MarkupSafe 1.1.1 matplotlib 3.3.1 mccabe 0.6.1 mdlp-discretization 0.3.3 menuinst 1.4.16 missingno 0.4.2 mistune 0.8.4 mkl-fft 1.1.0 mkl-random 1.1.1 mkl-service 2.3.0 ml-metrics 0.1.4 mlxtend 0.17.3 mock 4.0.2 more-itertools 8.5.0 MouseInfo 0.1.3 mpl-finance 0.10.1 mpmath 1.1.0 msgpack 1.0.0 multidict 4.7.6 multipledispatch 0.6.0 murmurhash 1.0.2 mysql-connector 2.2.9 mysql-connector-python 8.0.18 navigator-updater 0.2.1 nb-conda-kernels 2.2.4 nbconvert 5.6.1 nbformat 5.0.7 nbresuse 0.3.6 networkx 2.5 nltk 3.5 nose 1.3.7 notebook 6.1.1 numba 0.50.1 numexpr 2.7.1 numpy 1.19.1 numpydoc 1.1.0 oauthlib 3.1.0 olefile 0.46 opencv-python 3.4.11.41 openpyxl 3.0.5 packaging 20.4 pandas 1.1.1 pandas-datareader 0.9.0 pandas-profiling 2.9.0 pandocfilters 1.4.2 paramiko 2.7.2 parsel 1.6.0 parso 0.5.2 partd 1.1.0 path 15.0.0 pathlib2 2.3.5 pathtools 0.1.2 patsy 0.5.1 peewee 3.13.3 pefile 2019.4.18 pep8 1.7.1 pexpect 4.8.0 phik 0.10.0 pickleshare 0.7.5 Pillow 7.2.0 pip 20.2.3 pkginfo 1.5.0.1 pkuseg 0.0.25 plac 0.9.6 plotly 4.10.0 pluggy 0.13.1 ply 3.11 preshed 3.0.2 prettytable 0.7.2 prometheus-client 0.8.0 prompt-toolkit 3.0.7 protobuf 3.6.0 psutil 5.7.2 py 1.9.0 pyasn1 0.4.8 pyasn1-modules 0.2.8 PyAutoGUI 0.9.50 pycodestyle 2.6.0 pycosat 0.6.3 pycparser 2.20 pycrypto 2.6.1 pycryptodome 3.9.8 pycurl 7.43.0.5 pydocstyle 5.1.1 pyecharts 1.8.1 pyflakes 2.2.0 pyftpdlib 1.5.6 PyGetWindow 0.0.8 Pygments 2.6.1 PyInstaller 3.6 pylint 2.6.0 PyMeeus 0.3.7 pymemcache 3.3.0 pymongo 3.11.0 PyMsgBox 1.0.8 PyMySQL 0.9.3 PyNaCl 1.4.0 pyodbc 4.0.0-unsupported pyOpenSSL 19.1.0 pyparsing 2.4.7 pyperclip 1.8.0 pyreadline 2.1 PyRect 0.1.4 pyrsistent 0.16.0 PyScreeze 0.1.26 PySocks 1.7.1 pystan 2.19.0.0 pytest 6.0.1 python-bidi 0.4.2 python-dateutil 2.8.1 python-docx 0.8.10 python-jsonrpc-server 0.3.4 python-language-server 0.31.7 python-Levenshtein 0.12.0 PyTweening 1.0.3 pytz 2020.1 PyWavelets 1.1.1 pywin32 227 pywin32-ctypes 0.2.0 pywinpty 0.5.7 PyYAML 5.3.1 pyzmq 19.0.1 QDarkStyle 2.8.1 QtAwesome 0.7.2 qtconsole 4.7.6 QtPy 1.9.0 Quandl 3.5.2 redis 3.5.3 regex 2020.7.14 requestium 0.1.9 requests 2.24.0 requests-file 1.5.1 retrying 1.3.3 rope 0.17.0 rsa 4.6 Rtree 0.9.4 ruamel-yaml 0.15.87 s3transfer 0.1.13 scikit-image 0.16.2 scikit-learn 0.23.2 scikit-surprise 1.1.1 scipy 1.5.2 seaborn 0.11.0 selenium 3.14.1 Send2Trash 1.5.0 setuptools 49.6.0.post20200814 simplegeneric 0.8.1 simplejson 3.17.2 singledispatch 3.4.0.3 six 1.15.0 smart-open 3.0.0 snowballstemmer 2.0.0 sortedcollections 1.2.1 sortedcontainers 2.2.2 soupsieve 2.0.1 spacy 2.3.1 spacy-lookups-data 0.3.0 Sphinx 3.2.1 sphinxcontrib-applehelp 1.0.2 sphinxcontrib-devhelp 1.0.2 sphinxcontrib-htmlhelp 1.0.3 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.3 sphinxcontrib-serializinghtml 1.1.4 sphinxcontrib-websupport 1.2.4 spyder 4.0.1 spyder-kernels 1.8.1 SQLAlchemy 1.3.19 srsly 1.0.2 statsmodels 0.11.1 sympy 1.6.2 tables 3.6.1 tabulate 0.8.7 tangled-up-in-unicode 0.0.6 tblib 1.7.0 terminado 0.8.3 testpath 0.4.4 thinc 7.4.1 threadpoolctl 2.1.0 thundersvm 0.3.4 tldextract 2.2.3 toml 0.10.1 toolz 0.10.0 tornado 6.0.4 tqdm 4.48.2 traitlets 4.3.3 tsfresh 0.16.0 typed-ast 1.4.1 typing-extensions 3.7.4.3 ujson 1.35 unicodecsv 0.14.1 urllib3 1.24.3 visions 0.5.0 w3lib 1.22.0 wasabi 0.8.0 watchdog 0.10.3 wcwidth 0.2.5 webencodings 0.5.1 Werkzeug 1.0.1 wheel 0.35.1 widgetsnbextension 3.5.1 win-inet-pton 1.1.0 win-unicode-console 0.5 wincertstore 0.2 wolframclient 1.1.4 wordcloud 1.8.0 wrapt 1.11.2 xgboost 1.3.0-SNAPSHOT xlrd 1.2.0 XlsxWriter 1.3.3 xlwings 0.20.5 xlwt 1.3.0 xmltodict 0.12.0 xx-ent-wiki-sm 2.3.0 yapf 0.30.0 yarl 1.6.2 zh-core-web-lg 2.3.1 zh-core-web-sm 2.3.1 zhon 1.1.5 zict 2.0.0 zipp 3.1.0 zope.event 4.4 zope.interface 5.1.0