python 贝叶斯分类器sklearn_如何从sklearn朴素贝叶斯分类器得到nbest预测?python

如何从sklearnclassifier.fit()函数中得到nbest结果及其相应的概率?在

我试过了,它只给出了最好的目标标签:from sklearn.naive_bayes import MultinomialNB

from sklearn import datasets

iris = datasets.load_iris()

mnb = MultinomialNB()

y_pred = mnb.fit(iris.data, iris.target).predict(iris.data)

print y_pred

print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()

我试过了:

^{pr2}$

但是它输出的内容看起来像nbest,但是标记的顺序是第一列是0,第二列是1,第三列是2?如果是这样,我的iris.data和iris.target是否需要在装配前进行排序?[[ 0.75203199 0.16090571 0.08706229]

[ 0.68449076 0.19961428 0.11589496]

[ 0.71655395 0.18031248 0.10313357]

[ 0.66789673 0.20853796 0.12356531]

[ 0.75923862 0.15641199 0.08434939]

[ 0.71232842 0.18631933 0.10135225]

[ 0.69283061 0.19413936 0.11303003]

[ 0.72230231 0.1784813 0.09921639]

[ 0.64908034 0.21795677 0.13296289]

[ 0.71016301 0.18515188 0.10468511]

[ 0.7706877 0.15071277 0.07859954]

[ 0.69872772 0.19198923 0.10928305]

[ 0.70928234 0.18501507 0.10570259]

[ 0.73423744 0.16829862 0.09746394]

[ 0.84434639 0.10536809 0.05028552]

[ 0.80368141 0.13133624 0.06498235]

[ 0.76946455 0.15105144 0.07948401]

[ 0.7255851 0.17657409 0.09784082]

[ 0.73970806 0.17070375 0.08958819]

[ 0.74545506 0.16522966 0.08931528]

[ 0.70811072 0.18854972 0.10333956]

[ 0.70648697 0.18818499 0.10532804]

[ 0.7969896 0.13199963 0.07101077]

[ 0.58777843 0.25618981 0.15603175]

[ 0.64951166 0.22132827 0.12916007]

[ 0.65586031 0.21701444 0.12712524]

[ 0.647116 0.22224047 0.13064353]

[ 0.74167829 0.16758828 0.09073344]

[ 0.74468171 0.16548141 0.08983688]

[ 0.66886376 0.20873516 0.12240109]

[ 0.66014838 0.21396507 0.12588655]

[ 0.68161377 0.20339924 0.11498699]

[ 0.82411012 0.11766438 0.0582255 ]

[ 0.83205074 0.11304195 0.05490731]

[ 0.71016301 0.18515188 0.10468511]

[ 0.74308517 0.1652924 0.09162243]

[ 0.77963634 0.14494298 0.07542068]

[ 0.71016301 0.18515188 0.10468511]

[ 0.67897883 0.20084314 0.12017803]

[ 0.72628321 0.17640557 0.09731122]

[ 0.73635517 0.16968093 0.09396391]

[ 0.55384513 0.26927796 0.17687691]

[ 0.70420272 0.18658505 0.10921223]

[ 0.59635556 0.25075085 0.15289358]

[ 0.65439735 0.21981277 0.12578988]

[ 0.64951064 0.21917004 0.13131933]

[ 0.75711005 0.1585194 0.08437054]

[ 0.69691278 0.19168277 0.11140445]

[ 0.76716311 0.15262537 0.08021152]

[ 0.72544435 0.17629024 0.09826541]

[ 0.05616304 0.51141127 0.4324257 ]

[ 0.05045622 0.50190524 0.44763854]

[ 0.03940412 0.50636507 0.4542308 ]

[ 0.04710523 0.48480988 0.46808489]

[ 0.03801645 0.49775392 0.46422963]

[ 0.04556145 0.49250736 0.4619312 ]

[ 0.03966245 0.49873204 0.46160551]

[ 0.10701789 0.47535669 0.41762542]

[ 0.0536651 0.50530072 0.44103419]

[ 0.05251353 0.48336562 0.46412085]

[ 0.07633356 0.47948527 0.44418117]

[ 0.05056292 0.49342004 0.45601704]

[ 0.07291747 0.49453526 0.43254727]

[ 0.03955223 0.49594088 0.46450688]

[ 0.08936249 0.48762276 0.42301475]

[ 0.06195976 0.50612926 0.43191098]

[ 0.03831622 0.48825946 0.47342431]

[ 0.0863508 0.49450781 0.41914139]

[ 0.02709303 0.48373491 0.48917206]

[ 0.07519686 0.49028178 0.43452135]

[ 0.02440995 0.4828392 0.49275084]

[ 0.07042286 0.49642936 0.43314778]

[ 0.02455796 0.48683709 0.48860495]

[ 0.04880578 0.49984347 0.45135075]

[ 0.06389132 0.50205774 0.43405094]

[ 0.05742052 0.50419335 0.43838613]

[ 0.03993759 0.50401099 0.45605142]

[ 0.02528131 0.49378132 0.48093736]

[ 0.03918748 0.49255696 0.46825556]

[ 0.1206129 0.48274379 0.39664332]

[ 0.0748217 0.48808052 0.43709778]

[ 0.09117508 0.48671672 0.4221082 ]

[ 0.07675253 0.49259019 0.43065728]

[ 0.01952175 0.47919808 0.50128017]

[ 0.0367986 0.48532662 0.47787478]

[ 0.04575051 0.49665456 0.45759493]

[ 0.04377224 0.50435344 0.45187432]

[ 0.04137786 0.49450702 0.46411511]

[ 0.06664472 0.49270322 0.44065206]

[ 0.05283801 0.4871102 0.46005178]

[ 0.04794017 0.4900128 0.46204703]

[ 0.04505918 0.49770389 0.45723693]

[ 0.0676616 0.49295412 0.43938428]

[ 0.1033085 0.47658754 0.42010396]

[ 0.05234803 0.49047033 0.45718164]

[ 0.07213391 0.49516342 0.43270267]

[ 0.0598313 0.49357345 0.44659525]

[ 0.06145081 0.49977467 0.43877452]

[ 0.12643795 0.47099626 0.40256579]

[ 0.06070342 0.4924782 0.44681837]

[ 0.0042955 0.43723717 0.55846733]

[ 0.01234151 0.46132786 0.52633063]

[ 0.00804196 0.46804151 0.52391653]

[ 0.01220374 0.4719262 0.51587006]

[ 0.00663872 0.45347587 0.53988541]

[ 0.00526335 0.46448324 0.53025341]

[ 0.01877963 0.45982004 0.52140033]

[ 0.0088868 0.47816164 0.51295156]

[ 0.00897388 0.46607468 0.52495144]

[ 0.00578841 0.45971014 0.53450145]

[ 0.01677457 0.48014283 0.50308259]

[ 0.01204406 0.46873836 0.51921758]

[ 0.01020869 0.46951911 0.5202722 ]

[ 0.0100408 0.45127554 0.53868367]

[ 0.00649696 0.43748008 0.55602296]

[ 0.00930427 0.46015047 0.53054526]

[ 0.01456352 0.47933745 0.50609903]

[ 0.00702627 0.47944937 0.51352435]

[ 0.00253012 0.4388473 0.55862257]

[ 0.01793058 0.47433015 0.50773927]

[ 0.00764407 0.46221754 0.53013839]

[ 0.01270343 0.45832067 0.52897589]

[ 0.00508153 0.46485081 0.53006765]

[ 0.01829021 0.47785801 0.50385178]

[ 0.01030084 0.47164088 0.51805829]

[ 0.01305643 0.48854867 0.4983949 ]

[ 0.02048499 0.47963663 0.49987838]

[ 0.02097735 0.48087632 0.49814633]

[ 0.00771013 0.45561321 0.53667666]

[ 0.01775039 0.49657519 0.48567443]

[ 0.00863886 0.47567646 0.51568469]

[ 0.01213462 0.49867869 0.48918669]

[ 0.00669855 0.45021395 0.5430875 ]

[ 0.02528409 0.49048657 0.48422934]

[ 0.01705235 0.48108164 0.50186601]

[ 0.00592661 0.46457057 0.52950282]

[ 0.00712125 0.45269329 0.54018547]

[ 0.01514248 0.47987549 0.50498204]

[ 0.02213426 0.48045724 0.4974085 ]

[ 0.0119365 0.47535905 0.51270445]

[ 0.00646304 0.45242581 0.54111115]

[ 0.01131574 0.4700604 0.51862386]

[ 0.01234151 0.46132786 0.52633063]

[ 0.00643277 0.45678109 0.53678614]

[ 0.00587581 0.45021579 0.5439084 ]

[ 0.00947358 0.46237113 0.52815529]

[ 0.01310372 0.46704681 0.51984947]

[ 0.01380969 0.47411641 0.5120739 ]

[ 0.00933287 0.45973346 0.53093367]

[ 0.01733739 0.4748122 0.50785041]]

以下是使用贝叶斯优化调参的RF分类器Python代码示例: ```python from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score from bayes_opt import BayesianOptimization # 定义优化函数 def rf_cv(n_estimators, max_depth, min_samples_split, min_samples_leaf, max_features, data, targets): estimator = RandomForestClassifier( n_estimators=n_estimators, max_depth=max_depth, min_samples_split=min_samples_split, min_samples_leaf=min_samples_leaf, max_features=max_features, random_state=2, n_jobs=-1 ) cval = cross_val_score(estimator, data, targets, scoring='roc_auc', cv=5) return cval.mean() # 定义超参数的搜索范围 rf_bo = BayesianOptimization( rf_cv, { 'n_estimators': (10, 250), 'max_depth': (5, 15), 'min_samples_split': (2, 25), 'min_samples_leaf': (1, 25), 'max_features': (1, 10) }, random_state=2 ) # 进行贝叶斯优化,寻求最优超参数 rf_bo.maximize(n_iter=10, init_points=5) # 使用最优超参数构建RF分类器并进行预测 best_params = rf_bo.max['params'] rf_clf = RandomForestClassifier( n_estimators=int(best_params['n_estimators']), max_depth=int(best_params['max_depth']), min_samples_split=int(best_params['min_samples_split']), min_samples_leaf=int(best_params['min_samples_leaf']), max_features=int(best_params['max_features']), random_state=2, n_jobs=-1 ) rf_clf.fit(X_train, y_train) y_pred = rf_clf.predict(X_test) auc_score = roc_auc_score(y_test, y_pred) print('AUC score:', auc_score) ``` 请注意,这个示例中的超参数搜索范围是手动选择的,并且不一定适用于您的数据集。您可能需要根据您的数据集调整搜索范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值