±à¼ÍƼö: |
±¾ÎÄÊ×ÏȽéÉÜÕâÁ½ÖÖ·½·¨µÄÇø±ðºÍÁªÏµ£¬È»ºó¶Ô·ÖÀà·½·¨ÖеÄÂß¼»Ø¹é½øÐнÏÏêϸµÄ˵Ã÷£¨°üÀ¨Æä»ù±¾ÔÀí¼°ÆÀ¹ÀÖ¸±ê£©£¬×îºó½áºÏ°¸Àý½éÉÜÈçºÎÀûÓÃPython½øÐÐÂß¼»Ø¹é·ÖÎö¡£
±¾ÎÄÀ´×ÔÓÚcsdn£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
ǰÑÔ
»Ø¹éºÍ·ÖÀà·½·¨ÊÇ»úÆ÷ѧϰÖо³£Óõ½µÄ·½·¨

Ò»¡¢·ÖÀàÓë»Ø¹é
1.1ʲôÊÇ·ÖÀàºÍ»Ø¹é
Çø·Ö»Ø¹éÎÊÌâºÍ·ÖÀàÎÊÌ⣺
»Ø¹éÎÊÌ⣺ÊäÈë±äÁ¿ºÍÊä³ö±äÁ¿¾ùΪÁ¬Ðø±äÁ¿µÄÎÊÌ⣻
·ÖÀàÎÊÌ⣺Êä³ö±äÁ¿ÎªÓÐÏÞ¸öÀëÉ¢±äÁ¿µÄÎÊÌâ¡£
Òò´Ë·ÖÀ༰»Ø¹é·Ö±ðΪÑо¿ÕâÁ½ÀàÎÊÌâµÄ·½·¨¡£
1.2Á½ÕßÇø±ðÓëÁªÏµ
Çø±ð£º´ÓÈý¸öά¶ÈÀ´¶Ô±È·ÖÀàºÍ»Ø¹é·½·¨£º

ÁªÏµ£º´Óprediction½Ç¶ÈÀ´¿´£¬·ÖÀàÄ£ÐͺͻعéÄ£Ðͱ¾ÖÊÏàͬ£¬·ÖÀàÄ£ÐÍÊǽ«»Ø¹éÄ£Ð͵ÄÊä³öÀëÉ¢»¯£¬±ÈÈ磺
1¡¢Logistic Regression ºÍ Linear Regression
Linear Regression£ºÊä³öÒ»¸ö±êÁ¿wx+b£¬ÊÇÁ¬ÐøÖµ£¬ÓÃÒÔ´¦Àí»Ø¹éÎÊÌ⣻
Logistic Regression£º½«±êÁ¿wx+bͨ¹ýsigmoidº¯ÊýÓ³Éäµ½(0,1)ÉÏ£¬²¢»®·ÖÒ»¸öãÐÖµ£¬´óÓÚãÐÖµµÄ·ÖΪһÀ࣬ÆäËû¹éΪÁíÒ»À࣬¿É´¦Àí¶þ·Ö·ÖÀàÎÊÌ⣻
¶ÔÓÚN·ÖÀàÎÊÌ⣬Ïȵõ½N×éwÖµ²»Í¬µÄwx+b£¬È»ºó¹éÒ»»¯£¬±ÈÈçÓÃsoftmaxº¯Êý£¬×îºó±ä³ÉN¸öÀàÉϵĸÅÂÊ£¬¿É´¦Àí¶à·ÖÀàÎÊÌâ¡£
2¡¢Support Vector Regression ºÍ Support Vector Machine
SVR£ºÊä³öwx+b£¬¼´Ä³¸öÑù±¾µãµ½·ÖÀàÃæµÄ¾àÀ룬ÊÇÁ¬ÐøÖµ£¬ÓÃÒÔ´¦Àí»Ø¹éÎÊÌ⣻
SVM£º½«¸Ã¾àÀëͨ¹ýsign(¡¤)º¯ÊýÓ³É䣬¾àÀëΪÕýµÄÑù±¾µãΪһÀ࣬Ϊ¸ºµÄÊÇÁíÒ»À࣬¹ÊΪ·ÖÀàÎÊÌâ¡£
1.3ÏàÓ¦ÓÐÄÄЩ³£Ó÷½·¨
³£¼ûµÄ·ÖÀà·½·¨£º
Âß¼»Ø¹é¡¢¾ö²ßÊ÷·ÖÀà¡¢KNN(K-½üÁÚ)·ÖÀà¡¢±´Ò¶Ë¹·ÖÀà¡¢È˹¤Éñ¾ÍøÂç¡¢Ö§³ÖÏòÁ¿»ú(SVM)µÈ
³£¼ûµÄ»Ø¹é·½·¨£º
ÏßÐԻع顢¶àÏîʽ»Ø¹é¡¢Ö𲽻عéµÈ
£¨³£¼ûµÄ¾ÛÀà·½·¨£ºK-Means(K¾ùÖµ)¾ÛÀàµÈ£©
¶þ¡¢Âß¼»Ø¹é·ÖÎö
2.1Âß¼»Ø¹é
Logistic»Ø¹éÖ÷Ҫ˼ÏëÊÇ£¬¸ù¾ÝÏÖÓÐÊý¾Ý¶Ô¾ö²ß±ß½ç½¨Á¢»Ø¹é·½³Ì£¬È»ºó½«»Ø¹é·½³ÌÓ³Éäµ½·ÖÀຯÊýÉÏʵÏÖ·ÖÀà¡£
2.2ÔÀí½éÉÜ
Logistic»Ø¹éµÄÔÀí¿ÉÒÔÀí½âΪÒÔÏÂËIJ½£º
1¡¢ÀûÓûع鷽³Ì±íʾ¾ö²ß±ß½ç
·ÖÀàÎÊÌâµÄÄ¿µÄÊÇÕÒµ½¾ö²ß±ß½ç£¬Òò´ËÎÒÃÇÐèÒªÕÒµ½Ò»¸ö»Ø¹é·½³ÌÀ´±íʾÕâ¸ö¾ö²ß±ß½ç£º g(W,X)=W^X
£¬ÆäÖÐ W ´ú±íÈ¨ÖØÏòÁ¿¡£

2¡¢ÀûÓà Sigmoid º¯Êý¶Ô»Ø¹é¹ØÏµ½øÐÐÓ³Éä
ÔÚÃæ¶Ô¶þ·Ö·ÖÀàÎÊÌâʱ£¬¿ÉÒÔÓÃ1ºÍ0·Ö±ð´ú±íÒ»ÖÖÇé¿ö£¬´ËʱÀûÓà Sigmoid
º¯Êý:

½«»Ø¹é·½³ÌµÄ½á¹ûÓ³Éäµ½·ÖÀຯÊýÉÏ£¬¼´Óà Sigmoid º¯Êý±íʾÄâºÏº¯Êý£¬ÕâÖÖº¯ÊýÊÇ S Ð͵ķÇÏßÐÔº¯Êý¡£

3¡¢Ôڵõ½ÄâºÏº¯Êýºó£¬ÀûÓÃËðʧº¯ÊýÀ´ÆÀ¼ÛÄ£ÐÍÓëʵ¼ÊÖµÖ®¼äµÄ²îÒì´óС
Ëðʧº¯Êý£º

ÆäÖÐ x{i} ´ú±íÊý¾ÝÊôÐÔÖµ£¬ y{i} ´ú±íÊý¾Ýʵ¼ÊµÄ·ÖÀà½á¹û£¬ h{W}(x{i}) ´ú±íÀûÓÃÄâºÏº¯ÊýµÃµ½µÄÔ¤²âÖµ£¬¿ÉÒÔÓÃÏÂͼ±íʾ£º

Ëðʧº¯ÊýÓ¦Âú×ãÈý¸öÌØµã£¬ÒÔy{i}=1 ʱΪÀý£º
µÝ¼õ£º h{W}(x{i}) ԽС£¬Ôò³Í·£Á¦¶ÈÓ¦Ô½´ó£»
µ¼Êý¾ø¶ÔÖµµÝ¼õ£ºh{W}(x{i}) Ô½Ç÷½üÓÚÁ㣬¸ÃµÝ¼õº¯ÊýµÄµÝ¼õ·ù¶ÈÒ²Ó¦¸ÃԽС£»
¶¨ÒåÓòÔÚ[0,1]ÄÚʱ£¬±ä»¯·ù¶ÈÓ¦½Ï´ó¡£

Òò´ËÀûÓÃÂú×ã´ËÌõ¼þµÄÂß¼º¯Êý×÷ΪÄâºÏº¯Êý¡£
4¡¢Çó³öËðʧº¯ÊýÈ¡µÃ¼«Ð¡ÖµÊ±¶ÔÓ¦µÄW £¬´Ó¶øµÃµ½ÄâºÏº¯Êý
Ëðʧº¯ÊýÇó¼«ÖµÀûÓÃÌݶÈϽµ·¨£¬±¾ÎIJ»×ö½éÉÜ¡£
2.3ÆÀ¼ÛÖ¸±ê
³£¼ûµÄ·ÖÀàÄ£ÐÍÐÔÄÜÖ¸±êÓÐ׼ȷÂÊ(precision)¡¢ÕÙ»ØÂÊ(recall)¡¢ROCÇúÏߵȡ£
1¡¢»ìÏý¾ØÕó(confusion matrix)
°üÀ¨·ÖÀàÆ÷Ô¤²â½á¹û£ºÕæÕýTP(true positive)¡¢Õ渺TN(true negative)¡¢¼ÙÕýFP(false
positive)¡¢¼Ù¸ºFN(false negative)µÄÊýÁ¿£¬ÆäÖÐÕæÕýºÍ¼Ù¸º¾ùΪÕýÈ··ÖÀàµÄ½á¹û¡£

2¡¢×¼È·ÂÊ¡¢ÕæÕýÂʼ°¼ÙÕýÂÊ
Ô¤²âÎó²î(error,ERR)ºÍ׼ȷÂÊ(accuracy,ACC)¶¼¿ÉÒÔ±íʾÎó·ÖÀàÑù±¾ÊýÁ¿µÄÏà¹ØÐÅÏ¢£¬
ACC=1-ERR=TN+TP}/{TN+TP+FN+FP} ¡£
ÕæÕýÂÊ(TPR)ºÍ¼ÙÕýÂÊ(FPR)Ò²ÊǺÜÓвο¼¼ÛÖµµÄÐÔÄÜÖ¸±ê£¬ TPR={TP}/{AP} ±íʾԤ²âÓëʵ¼Ê¾ùΪÕýÀà±ðÑù±¾ÊýÁ¿
Óë ʵ¼ÊÕýÑù±¾ÊýÁ¿µÄ±ÈÖµ£¬ FPR={FP}/{AN} ±íʾԤ²âΪÕýÀà±ðʵ¼ÊΪ¸ºÀà±ðÑù±¾ÊýÁ¿ Óë ʵ¼Ê¸ºÑù±¾ÊýÁ¿µÄ±ÈÖµ¡£
3¡¢ROCÇúÏß(receiver operator characteristic)
ROCÇúÏßÓɱäÁ¿1-SpecificityºÍSensitivity»æÖÆ£¬ÆäÖкáÖá1-Specificity=¼ÙÕýÂÊ(FPR)¡¢×ÝÖáSensitivity=ÕæÕýÂÊ(TPR)£¬ROCÇúÏߵĶԽÇÏß±íÊ¾Ëæ»ú²Â²â£¬ÈôROCÇúÏßÔÚ¶Ô½ÇÏßϱíʾ·ÖÀàÆ÷ÐÔÄܱÈËæ»ú²Â²â»¹²î£¬ROCÇúÏßϵÄÇøÓòÃæ»ý(area
under the curve,AUC)±íʾ·ÖÀàÄ£Ð͵ÄÐÔÄÜ£¬·´Ó³ÁËÄ£Ðͽ«ÕýÀýÅÅÔÚ·´ÀýǰµÄ±ÈÀý£¨µ±AUC=1ʱ£¬ËµÃ÷½«ËùÓÐÕýÀý¾ùÅÅÔÚ·´Àý֮ǰ£©¡£
ÔÀí£º
¸ø¶¨ m^{+} ¸öÕýÀýºÍ n^{-} ¸ö·´Àý£¬¸ù¾ÝѧϰÆ÷Ô¤²â½á¹û¶ÔÑùÀý½øÐÐÅÅÐò£¬È»ºó½«·ÖÀàãÐÖµÉèÖÃΪ×î´ó£¬¼´ËùÓÐÑùÀý¾ùÔ¤²âΪ·´Àý£¬´ËÊ±ÕæÕýÀýÂʺͼÙÕýÀýÂʾùΪ0£¬¼´ÔÚ×ø±ê£¨0,0£©´¦±ê¼ÇÒ»¸öµã¡£
È»ºó£¬½«·ÖÀàãÐÖµÒÀ´ÎÉèΪÿ¸öÑùÀýµÄÔ¤²âÖµ£¬¼´ÒÀ´Î½«Ã¿¸öÑùÀý»®·ÖΪÕýÀý¡£
Éèǰһ¸ö±ê¼Çµã×ø±êΪ (x,y) £¬µ±Ç°ÈôÎªÕæÕýÀý£¬Ôò¶ÔÓ¦±ê¼Çµã×ø±êΪ 
Èôµ±Ç°Îª¼ÙÕýÀý£¬Ôò¶ÔÓ¦±ê¼Çµã×ø±êΪ 
È»ºóÓÃÏß¶ÎÁ¬½ÓÏàÁڵ㼴µÃ¡£
ÒâÒ壺
ÓÐÖúÓÚÑ¡Ôñ×î¼ÑãÐÖµ£ºROCÇúÏßÔ½¿¿½ü×óÉϽǣ¬Ä£ÐͲéÈ«ÂÊÔ½¸ß£¬×î¿¿½ü×óÉϽǵÄROCÇúÏßÉϵĵãÊÇ·ÖÀà´íÎó×îÉÙµÄ×îºÃãÐÖµ£¬Æä¼ÙÕýÀýºÍ¼Ù·´Àý×ÜÊý×îÉÙ¡£
¿ÉÒԱȽϲ»Í¬Ñ§Ï°Æ÷µÄÐÔÄÜ£º½«¸÷¸öѧϰÆ÷µÄROCÇúÏß»æÖÆÔÚÍ¬Ò»×ø±êÖУ¬Ö±¹Û±È½Ï£¬Ô½¿¿½ü×óÉϽǵÄROCÇúÏß´ú±íµÄѧϰÆ÷׼ȷÐÔÔ½¸ß¡£
AUCͬʱ¿¼ÂÇÁËѧϰÆ÷¶ÔÓÚÕýÀýºÍ¸ºÀýµÄ·ÖÀàÄÜÁ¦£¬ÔÚÑù±¾²»Æ½ºâµÄÇé¿öÏ£¬ÒÀÈ»ÄܶԷÖÀàÆ÷×ö³öºÏÀíÆÀ¼Û£¨Èç°©Ö¢Ô¤²â£©¡£ 
Èý¡¢Âß¼»Ø¹éµÄPythonʵÏÖ
ÀûÓÃPythonÖÐsklearn°ü½øÐÐÂß¼»Ø¹é·ÖÎö¡£
3.1Ìá³öÎÊÌâ
¸ù¾ÝÒÑÓÐÊý¾Ý̽¾¿¡°Ñ§Ï°Ê±³¤¡±Óë¡°ÊÇ·ñͨ¹ý¿¼ÊÔ¡±Ö®¼ä¹ØÏµ£¬²¢½¨Á¢Ô¤²âÄ£ÐÍ¡£
3.2Àí½âÊý¾Ý
1¡¢µ¼Èë°üºÍÊý¾Ý
#1.µ¼Èë°ü
import warnings
import pandas as pd
import numpy as np
from collections import OrderedDict
import matplotlib.pyplot as plt
warnings.filterwarnings('ignore')
#2.´´½¨Êý¾Ý£¨Ñ§Ï°Ê±¼äÓëÊÇ·ñͨ¹ý¿¼ÊÔ£©
dataDict={'ѧϰʱ¼ä':list(np.arange(0.50,5.50,0.25)),
'¿¼ÊԳɼ¨':[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1]}
dataOrDict=OrderedDict(dataDict)
dataDf=pd.DataFrame(dataOrDict)
dataDf.head()
>>>
ѧϰʱ¼ä ¿¼ÊԳɼ¨
0 0.50 0
1 0.75 0
2 1.00 0
3 1.25 0
4 1.50 0 |
2¡¢²é¿´Êý¾Ý
#²é¿´Êý¾Ý¾ßÌåÐÎʽ
dataDf.head()
#²é¿´Êý¾ÝÀàÐͼ°È±Ê§Çé¿ö
dataDf.info()
>>>
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20 entries, 0 to 19
Data columns (total 2 columns):
ѧϰʱ¼ä 20 non-null float64
¿¼ÊԳɼ¨ 20 non-null int64
dtypes: float64(1), int64(1)
memory usage: 400.0 bytes
#²é¿´ÃèÊöÐÔͳ¼ÆÐÅÏ¢
dataDf.describe()
>>>
ѧϰʱ¼ä ¿¼ÊԳɼ¨
count 20.00000 20.000000
mean 2.87500 0.500000
std 1.47902 0.512989
min 0.50000 0.000000
25% 1.68750 0.000000
50% 2.87500 0.500000
75% 4.06250 1.000000
max 5.25000 1.000000
|
3¡¢»æÖÆÉ¢µãͼ²é¿´Êý¾Ý·Ö²¼Çé¿ö
#ÌáÈ¡ÌØÕ÷ºÍ±êÇ©
exam_X=dataDf['ѧϰʱ¼ä']
exam_y=dataDf['¿¼ÊԳɼ¨']
#»æÖÆÉ¢µãͼ
plt.scatter(exam_X,exam_y,color='b',label='¿¼ÊÔÊý¾Ý')
plt.legend(loc=2)
plt.xlabel('ѧϰʱ¼ä')
plt.ylabel('¿¼ÊԳɼ¨')
plt.show() |

´ÓͼÖпÉÒÔ¿´³öµ±Ñ§Ï°Ê±¼ä¸ßÓÚijһãÐֵʱ£¬Ò»°ã¶¼Äܹ»Í¨¹ý¿¼ÊÔ£¬Òò´ËÎÒÃÇÀûÓÃÂß¼»Ø¹é·½·¨½¨Á¢Ä£ÐÍ¡£
3.3¹¹½¨Ä£ÐÍ
1¡¢²ð·ÖѵÁ·¼¯²¢ÀûÓÃÉ¢µãͼ¹Û²ì
#1.²ð·ÖѵÁ·¼¯ºÍ²âÊÔ¼¯
from sklearn.cross_validation import train_test_split
exam_X =exam_X.values.reshape(-1,1)
exam_y =exam_y.values.reshape(-1,1)
train_X,test_X,train_y,test_y =train_test_split (exam_X,exam_y,train_size=0.8)
print ('ѵÁ·¼¯Êý¾Ý´óСΪ', train_X.size,train_y.size)
print ('²âÊÔ¼¯Êý¾Ý´óСΪ', test_X.size,test_y.size)
>>>
ѵÁ·¼¯Êý¾Ý´óСΪ 16 16
²âÊÔ¼¯Êý¾Ý´óСΪ 4 4
#2.É¢µãͼ¹Û²ì
plt.scatter (train_X,train_y, color='b', label='train
data')
plt.scatter (test_X,test_y, color='r', label='test
data')
#plt.plot (test_X,pred_y,color='r')
plt.legend(loc=2)
plt.xlabel('Hours')
plt.ylabel('Scores')
plt.show() |

2¡¢µ¼ÈëÄ£ÐÍ
#3.µ¼ÈëÄ£ÐÍ
from sklearn.linear_model import LogisticRegression
modelLR=LogisticRegression()
|
3¡¢ÑµÁ·Ä£ÐÍ
#4.ѵÁ·Ä£ÐÍ
modelLR.fit(train_X,train_y) |
3.4Ä£ÐÍÆÀ¹À
1¡¢Ä£ÐÍÆÀ·Ö£¨¼´×¼È·ÂÊ£©
modelLR.score(test_X,test_y)
>>>
0.75 |
2¡¢Ö¸¶¨Ä³¸öµãµÄÔ¤²âÇé¿ö
#ѧϰʱ¼äÈ·¶¨Ê±£¬Ô¤²âΪ0ºÍ1µÄ¸ÅÂÊ·Ö±ðΪ¶àÉÙ£¿
#ѧϰʱ¼äÈ·¶¨Ê±£¬Ô¤²âΪ0ºÍ1µÄ¸ÅÂÊ·Ö±ðΪ¶àÉÙ£¿
modelLR.predict_proba(3)
>>>
array([[0.36720478, 0.63279522]])
#ѧϰʱ¼äÈ·¶¨Ê±£¬Ô¤²âÄÜ·ñͨ¹ý¿¼ÊÔ£¿
modelLR.predict(3)
>>>
array([1]) |
3¡¢Çó³öÂß¼»Ø¹éº¯Êý²¢»æÖÆÇúÏß
Âß¼»Ø¹éº¯Êý
#ÏÈÇó³ö»Ø¹éº¯Êýy=a+bx£¬ÔÙ´úÈëÂß¼º¯ÊýÖÐpred_y=1/(1+np.exp(-y))
b=modelLR.coef_
a=modelLR.intercept_
print('¸ÃÄ£ÐͶÔÓ¦µÄ»Ø¹éº¯ÊýΪ:1/(1+exp-(%f+%f*x))'%(a,b))
>>>
¸ÃÄ£ÐͶÔÓ¦µÄ»Ø¹éº¯ÊýΪ:1/(1+exp-(-1.527106+0.690444*x))
|
Âß¼»Ø¹éÇúÏß
#»³öÏàÓ¦µÄÂß¼»Ø¹éÇúÏß
plt.scatter (train_X,train_y,color='b', label='train
data')
plt.scatter (test_X,test_y,color='r', label='test
data')
plt.plot (test_X,1/ (1+np.exp(-(a+b*test_X))),color='r')
plt.plot (exam_X,1/ (1+np.exp(-(a+b*exam_X))),color='y')
plt.legend(loc=2)
plt.xlabel('Hours')
plt.ylabel('Scores')
plt.show() |

4¡¢µÃµ½Ä£ÐÍ»ìÏý¾ØÕó
from sklearn.metrics
import confusion_matrix
#ÊýÖµ´¦Àí
pred_y=1/(1+np.exp(-(a+b*test_X)))
pred_y=pd.DataFrame(pred_y)
pred_y=round(pred_y,0).astype(int)
#»ìÏý¾ØÕó
confusion_matrix(test_y.astype(str),pred_y.astype(str))
>>>
array([[1, 1],
[0, 2]]) |
´Ó»ìÏý¾ØÕó¿ÉÒÔ¿´³ö£º
¸ÃÄ£Ð͵Ä׼ȷÂÊACCΪ0.75£»
ÕæÕýÂÊTPRºÍ¼ÙÕýÂÊFPR·Ö±ðΪ0.50ºÍ0.00£¬ËµÃ÷¸ÃÄ£ÐͶԸºÀýµÄÕç±ðÄÜÁ¦¸üÇ¿£¨Èç¹ûÊý¾ÝÁ¿¸ü¶à£¬¸ÃÖ¸±ê¸üÓÐ˵·þÐÔ£¬¶ø±¾°¸ÀýÖÐÊý¾Ý½ÏÉÙ£¬Òò´ËÊÜËæ»úÓ°Ïì½Ï´ó£©¡£
5¡¢»æÖÆÄ£ÐÍROCÇúÏß
from sklearn.metrics
import roc_curve, auc ###¼ÆËãrocºÍauc
# Compute ROC curve and ROC area for each class
fpr,tpr,threshold = roc_curve(test_y, pred_y)
###¼ÆËãÕæÕýÂʺͼÙÕýÂÊ
roc_auc = auc(fpr,tpr) ###¼ÆËãaucµÄÖµ
plt.figure()
lw = 2
plt.figure(figsize=(10,10))
plt.plot(fpr, tpr, color='r',
lw=lw, label='ROC curve (area = %0.2f)' % roc_auc)
###¼ÙÕýÂÊΪºá×ø±ê£¬ÕæÕýÂÊΪ×Ý×ø±ê×öÇúÏß
plt.plot([0, 1], [0, 1], color='navy', lw=lw,
linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.xlabel ('False Positive Rate')
plt.ylabel ('True Positive Rate')
plt.title('Receiver operating characteristic
example')
plt.legend (loc="lower right")
plt.show() |

ºìÏßÒÔϲ¿·ÖÃæ»ýµÈÓÚ0.75£¬ÓëÄ£ÐÍ׼ȷÂÊÒ»ÖÂ
ºìÏßÒÔϲ¿·ÖÃæ»ýµÈÓÚ0.75£¬¼´Îó½«Ò»¸ö·´Àý»®·ÖΪÕýÀý¡£
ËÄ¡¢×ܽá
Àí½â»Ø¹éÓë·ÖÀàµÄ¹ØÏµ£ºÁ½Õß¼ÈÓÐÇø±ð£¨Èý¸öά¶ÈÀí½â£©£¬ÓÖÓÐÁªÏµ£¨½«»Ø¹é·½³ÌÓ³Éäµ½·ÖÀຯÊý£©£»
Âß¼»Ø¹éµÄ²ÎÊý¼°Æäº¬Ò壺׼ȷÂÊ£¨ACC£ºÄ£ÐÍÔ¤²â׼ȷ¶È£©¡¢ÕæÕýÂÊ£¨TPR£ºÄ£Ðͽ«ÕýÀý·ÖÀàÕýÈ·µÄÄÜÁ¦£©¡¢¼ÙÕýÂÊ£¨FPR£ºÄ£Ðͽ«¸ºÀý·ÖÀàÕýÈ·µÄÄÜÁ¦£©¡¢ROCÇúÏߣ¨¿ÉÒÔ·´Ó³Ä£ÐÍÕýȷʶ±ðÕý/¸ºÀýµÄÄÜÁ¦£¬Ò²¿ÉÀûÓÃAUC·´Ó³Ä£ÐÍ׼ȷ¶È£© |