博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习算法进阶一
阅读量:5080 次
发布时间:2019-06-12

本文共 1922 字,大约阅读时间需要 6 分钟。

- 长文本的智能解析实战

如何从纷繁多变、信息量庞杂的冗长文本中获取关键信息,一直是文本领域难题。随着深度学习的热潮来临,有许多新方法来到了 NLP 领域,给相关任务带来了更多优秀成果,也给大家带来了更多应用和想象的空间。

用传统的监督学习模型对一段文文本进行分类的基本过程:

 

一段原始文本→(数据预处理)→处理后的文本→(特征工程)→Features→(输入)→y=f(x_1,x_2,x_3,...)→(输出)→类别

注:特征工程是整个机器学习过程中最要的部分。特征决定了机器学习的上限,而机器学习算法只是逼近这个上限。

train_set.csv:此数据集用于训练模型,每一行对应一篇文章。文章分别在“字”和“词”的级别上做了脱敏处理。共有四列: 第一列是文章的索引(id),第二列是文章正文在“字”级别上的表示,即字符相隔正文(article);第三列是在“词”级别上的表示,即词语相隔正文(word_seg);第四列是这篇文章的标注(class)。

注:每一个数字对应一个“字”,或“词”,或“标点符号”。“字”的编号与“词”的编号是独立的!

test_set.csv:此数据用于测试。数据格式同train_set.csv,但不包含class。

注:test_set与train_test中文章id的编号是独立的。

 - CountVectorizer() #文本特征提取

 

- 达观杯智能文本处理竞赛代码

1 # -*- coding: utf-8 -*- 2 """ 3 Created on Sat Dec  1 17:14:12 2018 4  5 @author: Administrator 6 """ 7  8  9 print("开始......")10 import pandas as pd11 # pandas用于处理更大的数据集12 from sklearn.linear_model import LogisticRegression13 # 定义逻辑回归函数14 from sklearn.feature_extraction.text import CountVectorizer15 # 定义文本特征提取16 df_train = pd.read_csv('./train_set.csv')17 df_test = pd.read_csv('./test_set.csv')18 df_train.drop(columns=['article','id'], inplace=True)19 # 删除指定列 , inplace可选参数20 df_test.drop(columns=['article'],inplace=True)21 # 测试数据删除指定列article22 vectorizer = CountVectorizer(ngram_range=(1,2),min_df=3,max_df=0.9,max_features=100000)23 vectorizer.fit(df_train['word_seg'])24 x_train = vectorizer.transform(df_train['word_seg'])25 x_test = vectorizer.transform(df_test['word_seg'])26 y_train = df_train['class']-127 # 训练一分类器28 # 知识点定位:统监督学习算法之线性逻辑回归模型AAA29 lg = LogisticRegression(C=4,dual = True)30 #c:正则化系数λ的倒数,float类型,默认为1.0。31 #必须是正浮点型数。像SVM一样,越小的数值表示越强的正则化;32 lg.fit(x_train,y_train)33 '''根据训练好的分类型对测试集的样本进行预测'''34 y_test = lg.predict(x_test)35 """保存预测结果至本地"""36 df_test['class'] = y_test.tolist()#tolist()将数组或者矩阵转换成列表37 df_test['class'] = df_test['class'] + 138 df_result = df_test.loc[:,['id','class']]39 df_result.to_csv('./result.csv',index = False)40 41 print("ok")

 

 

 

 

转载于:https://www.cnblogs.com/lhai000/p/10056326.html

你可能感兴趣的文章
LinkedList源码分析
查看>>
TF-IDF原理
查看>>
用JS制作博客页面背景随滚动渐变的效果
查看>>
JavaScript的迭代函数与迭代函数的实现
查看>>
一步步教你学会browserify
查看>>
Jmeter入门实例
查看>>
亲近用户—回归本质
查看>>
中文脏话识别的解决方案
查看>>
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>