- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
决决策策树树实实现现⽂⽂本本分分类类
如何使⽤决策树实现⽂本分类 :
1.分词模块 :
a.⼈⼯整理词库。
b.使⽤ ⾃⼰编 的词库和分词代码 (添加词库的同时,删除影响词库的词)进⾏分词。
2.进⾏one-hot编码 :
在进⾏one-hot编码的同时,使⽤同义词对one-hot进⾏合并,同义词使⽤相同的id.
3.使⽤sklearn⾥⾯的决策树进⾏计算,并且使⽤sklearn⾥⾯的⾃动化调参进⾏调参。
代码如下 :
# !/usr/bin/env python
# coding=utf-8
import numpy as np
from sklearn import tree
from sklearn.cross_validation import train_test_split
import pandas as pd
import jieba
import pydot
from sklearn.e ternals.si import StringIO
import re
# jieba.add_word(导诊台)
# jieba.del_word(机能)
# jieba.add_word( ⾃助机)
# jieba.add_word(胶⽚袋)
# jieba.add_word(巡诊室)
# jieba.del_word(⽚东院)
# jieba.add_word(东院)
class node:
def __ init__ (self,key=None,value=None,condition=None,left_ id=None, right_ id=None) :
self.key=key
self.condition=condition
self.value=value
self.left_ id= left_ id
self.right_ id = right_ id
def segment() :
分词⽅法
:return:
typedict = {0: str}
# result_file=open(segment_ result.t t,w,encoding=utf8)
train_data = pd.read_csv(E:/协和问答系统/SenLiu/voice.csv, dtype=typedict)
jieba.load_ userdict(E:/协和问答系统/SenLiu/words.t t)
for row in train_data.inde :
datas = train_data.loc[row].values[0]
words = list(jieba.cut(datas))
del_set = []
words_file = open(E:/协和问答系统/SenLiu/words.t t, r, encoding=utf8)
if type(datas) != float :
for word in words_file:
if word.strip() != :
allmacth = re.finditer(word.strip(), datas)
for match in allmacth:
del_set.append(match.span()[0])
del_set.append(match.span()[1])
words_file.close()
words_file.close()
begin = 0
end = len(words[0])
lenght = len(words)
for i in range(lenght) :
for inde in del_set :
if begin inde and end inde :
jieba.del_word(words[i])
if i != lenght -
文档评论(0)