sklearn 번역 노트: KNeighborsClassifier
sklearn 번역 노트: KNeighborsClassifier - 약서
오늘 이룬 코드도 공유해 주세요.
이 코드는python 중국어 텍스트 분류-상국님-CSDN 블로그(상국님)의 코드를 바탕으로 이루어진 것이다
상국님은 베일스 분류로 이루어진 분류 모델입니다. 제 실제 수요로 상국님의 마지막 분류기 모델인 NBAyesPredict.py가 수정되었습니다.sklearn을 사용했습니다.neighbors 이pycharm 자체 모듈의 구체적인 원본 코드는 다음과 같다.
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@version: python3.6
@author: XiangguoSun
@file:Neighbors.py
@time: 2019/6/20 16:12
@software: PyCharm
"""
from sklearn.neighbors import KNeighborsClassifier # k
from sklearn import metrics
from Tools import readbunchobj
import os
#
path = os.getcwd() #
trainpath = os.path.join(path,"train_word_bag/tfdifspace.dat")
train_set = readbunchobj(trainpath)
#
testpath = os.path.join(path,"test_word_bag/testspace.dat")
test_set = readbunchobj(testpath)
# : ,
clf=KNeighborsClassifier(n_neighbors=5,radius=1.0,algorithm='auto',leaf_size=30,
metric='minkowski',p=2,metric_params=None,n_jobs=1).fit(train_set.tdm, train_set.label)
"""
n_neighbors: int, ( 5)
algorithm( ): {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, ( 'auto')
leaf_size( ): int, ( 30)
p: integer, ( 2)
metric( ): string or callable, ‘minkowski’
metric_params( ): dict, ( None)
n_jobs: int, ( 1)
, 。 -1, CPU 。
"""
#
predicted = clf.predict(test_set.tdm)
"""
target_name: list,
label: list, 。
filenames: list, 。
contents: list, ( )
"""
for flabel, file_name, expct_cate in zip(test_set.label, test_set.filenames, predicted):
if flabel != expct_cate:
print(file_name, ": :", flabel, " --> :", expct_cate)
print(" !!!")
# :
def metrics_result(actual, predict):
print(' :{0:.3f}'.format(metrics.precision_score(actual, predict, average='weighted')))
print(' :{0:0.3f}'.format(metrics.recall_score(actual, predict, average='weighted')))
print('f1-score:{0:.3f}'.format(metrics.f1_score(actual, predict, average='weighted')))
metrics_result(test_set.label, predicted)
readbunchobj () 방법은 Tool에 있습니다.py파일, 재현하려면 상국님의 온전한 코드를 다운로드하고 수정하거나 연락 주세요. 수정된 Knn 코드와 훈련집 테스트 집합을 제공할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.