色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

AllYouNeedis42算法原理的什么?

呂致盈2年前14瀏覽0評論

算法原理

k近鄰(k-NearestNeighbor,kNN),應該是最簡單的傳統(tǒng)機器學習模型,給定一個訓練數(shù)據(jù)集,對新的輸入實例,在訓練數(shù)據(jù)集中找到與該實例最鄰近的k個實例,這k個實例中的大多數(shù)屬于哪個類別,就把該輸入實例劃分到這個類別。

k近鄰算法沒有顯示的訓練過程,在“訓練階段”僅僅是把樣本保存起來,訓練時間開銷為零,待收到測試樣本后在進行計算處理。

這個k實際上是一個超參數(shù),k值的選擇會對k近鄰法的結(jié)果產(chǎn)生重大影響。如果選擇較小的k值,意味著只有與輸入實例較近的(相似的)訓練實例才會對預測結(jié)果起作用,預測結(jié)果會對近鄰的實例點非常敏感,如果近鄰的實例點恰巧是噪聲點,預測就會出錯;如果選擇較大的k值,就意味著與輸入實例較遠的(不相似的)訓練實例也會對預測起作用,這樣預測也會出錯。在實際應用中,k值一般取一個比較小的數(shù)值,并且通常采用交叉驗證法來選取最優(yōu)的k值。如上圖的k=5。

模型訓練代碼地址:https://github.com/qianshuang/ml-exp

deftrain():

print("starttraining...")

#處理訓練數(shù)據(jù)

train_feature,train_target=process_file(train_dir,word_to_id,cat_to_id)

#模型訓練

model.fit(train_feature,train_target)

deftest():

print("starttesting...")

#處理測試數(shù)據(jù)

test_feature,test_target=process_file(test_dir,word_to_id,cat_to_id)

#test_predict=model.predict(test_feature)#返回預測類別

test_predict_proba=model.predict_proba(test_feature)#返回屬于各個類別的概率

test_predict=np.argmax(test_predict_proba,1)#返回概率最大的類別標簽

#accuracy

true_false=(test_predict==test_target)

accuracy=np.count_nonzero(true_false)/float(len(test_target))

print()

print("accuracyis%f"%accuracy)

#precisionrecallf1-score

print()

print(metrics.classification_report(test_target,test_predict,target_names=categories))

#混淆矩陣

print("ConfusionMatrix...")

print(metrics.confusion_matrix(test_target,test_predict))

ifnotos.path.exists(vocab_dir):

#構(gòu)建詞典表

build_vocab(train_dir,vocab_dir)

categories,cat_to_id=read_category()

words,word_to_id=read_vocab(vocab_dir)

#kNN

model=neighbors.KNeighborsClassifier()

train()

test()運行結(jié)果:

read_category...

read_vocab...

starttraining...

starttesting...

accuracyis0.820000

precisionrecallf1-scoresupport

時政0.650.850.7494

財經(jīng)0.810.940.87115

科技0.960.970.9694

游戲0.990.740.85104

娛樂0.990.750.8589

時尚0.880.670.7691

家居0.440.780.5689

房產(chǎn)0.930.820.87104

體育1.000.980.99116

教育0.960.650.78104

avg/total0.870.820.831000

ConfusionMatrix...

[[80400006301]

[110800006000]

[00910003000]

[401770318001]

[430167410000]

[000016129000]

[95200069301]

[93000078500]

[200000001140]

[14101001100068]]

社群:

公眾號:

了解更多干貨文章,可以關(guān)注小程序八斗問答

---------------------

作者:gaoyan0335

來源:CSDN

原文:https://blog.csdn.net/gaoyan0335/article/details/86299367

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!