“达观杯”文本智能处理挑战赛代码示例
达观杯介绍:
类似kaggle的数据科学比赛,任何人可以参加
网址:http://www.dcjingsai.com/
可以用支付宝实名注册
项目名称:
“达观杯”文本智能处理挑战赛
安装Python,运行如下代码。可以得到一个分数
项目代码:
'''
作者:公众号:湾区人工智能
场景:达观杯 文本智能竞赛 http://www.pkbigdata.com/common/cmpt/%E2%80%9C%E8%BE%BE%E8%A7%82%E6%9D%AF%E2%80%9D%E6%96%87%E6%9C%AC%E6%99%BA%E8%83%BD%E5%A4%84%E7%90%86%E6%8C%91%E6%88%98%E8%B5%9B_%E7%AB%9E%E8%B5%9B%E4%BF%A1%E6%81%AF.html
时间:#2018-12-01 563610 December Saturday the 48 week, the 335 day SZ'''print('start')
import pandas as pd
from sklearn.linear_model import LogisticRegression #导入线性回归库
from sklearn.feature_extraction.text import CountVectorizer #导入特征提取库#读取文件,并且删除无关东西
df_train = pd.read_csv('/Users/apple/Documents/ST/python/competition/DataCastel/text_intelligence/new_data/train_set.csv')
df_test = pd.read_csv('/Users/apple/Documents/ST/python/competition/DataCastel/text_intelligence/new_data/test_set.csv')
df_train.drop(columns =['article', 'id'], inplace = True ) #问题1: 为什么要删除这两个列,id列没有意义,不需要用article,直接删除
df_test.drop(columns =['article'], inplace = True ) #获取特征向量
vectorizer = CountVectorizer(ngram_range = (1,2), min_df = 3, max_df = 0.9, max_features = 100000) #提取特征
vectorizer.fit(df_train['word_seg']) #问题2:为啥要训练这一列内容,要先学习整个数据集的词的DF(文档词频)
x_train = vectorizer.transform(df_train['word_seg']) #特征转为特征向量
x_test = vectorizer.transform(df_test['word_seg'])
y_train = df_train['class'] - 1 #问题3:这里为啥要给所有的类别都减去1,减一是代码习惯问题,让class从0计数lg = LogisticRegression(C = 4, dual = True) #逻辑回归初始化
lg.fit(x_train, y_train) #进行训练,模型保存在lg里面y_test = lg.predict(x_test) #用模型进行测试df_test['class'] = y_test.tolist() #测试结果转为列表,并且放入测试文档的类别里面。问题5:测试文档没有类别这个列。这行代码会自动给测试文档添加一个类别列。
df_test['class'] = df_test['class'] + 1 #问题4:为啥又要给所有类别分别加1
df_result = df_test.loc[:, ['id', 'class']] #从测试集里面拿到'id', 'class']]列的内容
df_result.to_csv('/Users/apple/Documents/ST/python/competition/DataCastel/text_intelligence/new_data/result.csv', index = False) #测试结果转为提交的CSV格式print('end')'''
train_set.csv 1.5G, 普通电脑打开很吃力,随意阅读也吃力,谨慎打开;
第一行有:ID,article, Word_seg, class;
id:文章数量编号102277个文本; article:文章内容,是一些数字; Word_seg:也是一些数字; class:文本对应的类别从1到20test_set.csv 1.38Gb,
第一行有:ID,article, Word_sequence,内容和训练集一样,只是没有了类别标签result.csv 865 KB,
第一行有ID, class;也就是预测每一个文档的类别提交说明1) 以csv格式提交,编码为UTF-8,第一行为表头;
2) 内含两列,一列为id,另一列为class;
3) id对应测试集中样本的id,class为参赛者的模型预测的文本标签。y_train = df_train['class'] - 1 内容:import imp
0 13
1 2
2 11
3 12
4 11
5 12
102274 11
102275 3
102276 10
Name: class, Length: 102277, dtype: int64
[Finished in 25.6s]y_train = df_train['class']内容:import imp
0 14
1 3
2 12
102274 12
102275 4
102276 11
Name: class, Length: 102277, dtype: int64
[Finished in 24.3s]区别就是给每个类的类型都减去1;
''''''
得分:0.73拿高分的方法:
数据预处理:这里的数据比较完整,不用担心特征工程
这里技巧很足,需要不断的积累机器学习算法
不同算法都有对应的任务类型。
lightboard微软开发的工具,适合大部分的情况,属于西瓜书第八章的内容。数据增强:
给了1万条数据,变成10万条数据。输出内容:
start
/usr/local/lib/python3.7/site-packages/sklearn/externals/joblib/externals/cloudpickle/cloudpickle.py:47: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative usesimport imp
/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.FutureWarning)
/usr/local/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:459: FutureWarning: Default multi_class will be changed to 'auto' in 0.22. Specify the multi_class option to silence this warning."this warning.", FutureWarning)
/usr/local/lib/python3.7/site-packages/sklearn/svm/base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations."the number of iterations.", ConvergenceWarning)
end
[Finished in 1315.7s]'''
“达观杯”文本智能处理挑战赛代码示例相关推荐
- 【数据竞赛】“达观杯”文本智能处理挑战赛1
一.数据竞赛简介 "达观杯"文本智能处理挑战赛 1.任务 建立模型通过长文本数据正文(article),预测文本对应的类别(class) 2.数据 传送门:链接: https:// ...
- 达观杯”文本智能处理挑战赛
竞赛信息 1.网址 http://www.dcjingsai.com/common/cmpt/"达观杯"文本智能处理挑战赛_竞赛信息.html 2.任务 建立模型通过长文本数据正文 ...
- “达观杯”文本智能处理挑战赛,季军带你飞
来自AI小白入门 前段时间和朋友何从庆(AI算法之心)等队友一起组队参加了这个比赛,本来以为小比赛人少,没想到参加的人会有几千人.最后我们队伍取得季军(4st/3131),虽有些许遗憾,但是也很荣幸认 ...
- “达观杯”文本智能处理挑战赛
(本内容转载自公众号"科技与Python") 2018年人工智能的发展在运算智能和感知智能已经取得了很大的突破和优于人类的表现.而在以理解人类语言为入口的认知智能上,目前 ...
- 【数据竞赛】“达观杯”文本智能处理挑战赛2
文章目录 一.TF_IDF原理 1.TF(item frequency) 2.逆向文件频率IDF(inverse document frequency) 3.TF-IDF 二.TF-IDF算法实现 1 ...
- 【数据竞赛】“达观杯”文本智能处理挑战赛6——模型优化
文章目录 一.超参数 1.网格搜索 2.随机搜索 3.贝叶斯优化 二.Stacking 1.核心图解 (1)构建新的训练集 (2)构建新的测试集 (3)最终的训练与预测 2.示例 (1)构建新的训练集 ...
- 【数据竞赛】“达观杯”文本智能处理挑战赛4
一.逻辑回归 逻辑回归(Logistic Regression, LR)是一种常用的处理两类分类问题的线性模型. 1.概率估计 LR 模型计算输入特征的加权和(加上偏差项),之后将中间结果输入 log ...
- 【数据竞赛】“达观杯”文本智能处理挑战赛3
一.语言模型 在统计自然语言处理中,语言模型指的是计算一个句子的概率模型. 传统的语言模型 词的表示是原始的.面向字符串的. 向量角度:更高维.更稀疏的向量.若词汇表大小为 NNN,每个字符串形式的词 ...
- 【数据竞赛】“达观杯”文本智能处理挑战赛5
一.LightGBM模型 1.XGBoost缺点 每轮迭代时,都需要遍历整个训练数据多次.如果把整个训练数据装进内存则会限制训练数据的大小:如果不装进内存,反复地读写训练数据又会消耗非常大的时间. 预 ...
最新文章
- W3C HTML 工作组联合主席Paul Cotton谈HTML5发展愿景
- css3实现宽度渐变
- Python实现九九乘法表
- [mybatis]typeHandlers日期类型的处理
- Taro+react开发(41)封装组件2
- QT5_PYQT导入自己的图片
- 常规RPC通讯过程【转载】
- php mysql调用crontab_PHP中如何实现crontab代码
- GitHub通过Git上传文件(夹)
- [转载] python中bool啥意思_Python中的bool类型
- MyEclipse代码提示快捷键和常用设置
- 【渝粤教育】 国家开放大学2020年春季 2774畜产品加工技术 参考试题
- 分清cols和rows,x与y,以及width和height的关系
- python xlrd 错误:xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF reco
- 深读 | 《人人都是产品经理2.0》中篇
- Centos8安装报错Error setting up base repository
- DIV背景半透明 样式
- (模电笔记四 By Multisim)典型运算放大电路案例分析(同相反相差分)
- bibtex 格式文件如何导入 Endnote
- c语言和Python整除符号,互联网常识:python除法运算符有哪些