# -*- coding: UTF-8 -*-
import pandas as pd
import numpy as np
import re
from bs4 import BeautifulSoupdef review_to_wordlist(review):'''把IMDB的评论转成词序列参考:http://blog.csdn.net/longxinchen_ml/article/details/50629613'''# 去掉HTML标签,拿到内容review_text = BeautifulSoup(review, "html.parser").get_text()# 用正则表达式取出符合规范的部分review_text = re.sub("[^a-zA-Z]"," ", review_text)# 小写化所有的词,并转成词listwords = review_text.lower().split()# 返回wordsreturn words

载入数据集

# 载入数据集
train = pd.read_csv('data/new_train.csv', header=0)
test = pd.read_csv('data/new_test.csv', header=0)
print (train.head())
print (test.head())
   ID  sentiment                                             review
0   1          1                       Jo bhi ap se tou behtar hoon
1   2          0          ya Allah meri sister Affia ki madad farma
2   3          1  Yeh khud chahta a is umar main shadi krna   ha...
3   4          1      Tc   Apky mun xe exe alfax achy nae lgty
4   5          0                                               Goodid                                             review
0   1   Jis ke aiteraf mien inhe behtareen muaawin ac...
1   2                           Thank you   same to you
2   3  ALLAH ki marzi hai Beshak wohi ata karne wala ...
3   4  Asal masla yehi hei k wo iss umar mein bhi sha...
4   5  Chaudhry Rehmat Ali  ne    January      ko  Ab...

预处理数据

# 预处理数据
label = train['sentiment']
train_data = []
for i in range(len(train['review'])):train_data.append(' '.join(review_to_wordlist(train['review'][i])))
test_data = []
for i in range(len(test['review'])):test_data.append(' '.join(review_to_wordlist(test['review'][i])))
# 预览数据
print (train_data[0], '\n')
print (test_data[0])
jo bhi ap se tou behtar hoon jis ke aiteraf mien inhe behtareen muaawin actor ke national film award se nawaza gaya

特征处理

#TF-IDF
from sklearn.feature_extraction.text import TfidfVectorizer as TFIDF
# 参考:http://blog.csdn.net/longxinchen_ml/article/details/50629613
tfidf = TFIDF(min_df=2, # 最小支持度为2max_features=None,strip_accents='unicode',analyzer='word',token_pattern=r'\w{1,}',ngram_range=(1, 3),  # 二元文法模型use_idf=1,smooth_idf=1,sublinear_tf=1,stop_words = 'english') # 去掉英文停用词# 合并训练和测试集以便进行TFIDF向量化操作
data_all = train_data + test_data
len_train = len(train_data)tfidf.fit(data_all)
data_all = tfidf.transform(data_all)
# 恢复成训练集和测试集部分
train_x = data_all[:len_train]
test_x = data_all[len_train:]
print ('TF-IDF处理结束.')
TF-IDF处理结束.D:\anaconda\lib\site-packages\sklearn\feature_extraction\text.py:1059: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.if hasattr(X, 'dtype') and np.issubdtype(X.dtype, np.float):

朴素贝叶斯训练

from sklearn.naive_bayes import MultinomialNB as MNBmodel_NB = MNB()
model_NB.fit(train_x, label)
MNB(alpha=1.0, class_prior=None, fit_prior=True)from sklearn.cross_validation import cross_val_score
import numpy as npprint ("多项式贝叶斯分类器10折交叉验证得分: ", np.mean(cross_val_score(model_NB, train_x, label, cv=10, scoring='roc_auc')))
多项式贝叶斯分类器10折交叉验证得分:  0.8631634970590059
test_predicted = np.array(model_NB.predict_proba(test_x))
# print ('保存结果...')
# nb_output = pd.DataFrame(data=test_predicted, columns=['sentiment'])
# nb_output['id'] = test['id']
# nb_output = nb_output[['id', 'sentiment']]
# nb_output.to_csv('nb_output.csv', index=False)
# print ('结束.')
test_predicted
array([[0.88318156, 0.11681844],[0.87972973, 0.12027027],[0.68929881, 0.31070119],...,[0.5871227 , 0.4128773 ],[0.38977763, 0.61022237],[0.46662657, 0.53337343]])

【预选赛】2019中国高校计算机大赛——大数据挑战赛相关推荐

  1. 【Kesci】【预选赛】2019中国高校计算机大赛——大数据挑战赛(基于FastText的文本情感分类)

    比赛链接:https://www.kesci.com/home/competition/5cb80fd312c371002b12355f 预选赛题--文本情感分类模型 本预选赛要求选手建立文本情感分类 ...

  2. 【Kesci】【正式赛】2019中国高校计算机大赛——大数据挑战赛(基于FastText的新闻点击率预测qauc=0.558)

    比赛连接 https://www.kesci.com/home/competition/5cc51043f71088002c5b8840 正式赛题--文本点击率预估(5月26日开赛) 搜索中一个重要的 ...

  3. 2016中国高校计算机大赛——大数据挑战赛极客奖:COM团队

    摘要:2016中国高校计算机大赛--大数据挑战赛是由教育部和全国高等学校计算机教育研究会联合主办,清华大学和阿里云联合承办,在"天池大数据众智平台"上开展的高端算法竞赛.本次赛题是 ...

  4. 2018中国高校计算机大赛—大数据挑战赛(top2解题方案)

    比赛链接:https://www.kesci.com/home/competition/5ab8c36a8643e33f5138cba4/leaderboard/1 相关链接:https://mp.w ...

  5. 中南大学计算机学院竞赛,中南大学AIMADS团队获2019中国高校计算机大赛-人工智能创意赛特等奖...

    本网讯 11月23日,2019中国高校计算机大赛-人工智能创意赛(C4-AI)全国总决赛在浙江德清举行.由我校自动化学院谢斌副教授指导,19级博士生何小宇.18级硕士生丘文杰.19级硕士生孙铭蔚三位同 ...

  6. 全球最大的AI创意梦工厂!2019中国高校计算机大赛-人工智能创意赛开始报名啦!...

    寻找"最创意"的 AI 新锐! 做"最技术"的创意发现! 提供"最豪华"的资源支持! 争夺"最丰厚"的竞赛奖励! 每一个 ...

  7. 2019年计算机网络管理员大赛,【重磅】信息工程学院代表队入围2019年中国高校计算机大赛网络技术挑战赛晋级赛...

    在7月22日结束的2019年中国高校计算机大赛网络技术挑战赛选拔赛中,由信息工程学院物联网应用工程实验室李浩教授指导的2支代表队经过激烈角逐,在参赛的1317支队伍中脱颖而出,2支代表队分别荣获一等奖 ...

  8. 2020中国高校计算机大赛网络技术挑战赛,中国高校计算机大赛-网络技术挑战赛的新跨越...

    原标题:中国高校计算机大赛-网络技术挑战赛的新跨越 导语 摩课云竞赛平台助力中国高校计算机大赛-网络技术挑战赛,实现高校竞赛新跨越. 中国高校计算机大赛-网络技术挑战赛 9月15日,2019" ...

  9. 中国高校计算机大赛--网络技术挑战赛(C4-Network Technology Challenge)参加分享

    文章目录 前言 大赛过程 比赛难点 大赛收获 总结 前言 "中国高校计算机大赛-网络技术挑战赛"简称"C4-网络技术挑战赛",以"适应新变.激励创新. ...

最新文章

  1. 160921、React入门教程第一课--从零开始构建项目
  2. 基于java SSM图书管理系统简单版设计和实现
  3. 【2016年第5期】生态经营论
  4. 理解题意优于一切(记洛谷P1426题WA的经历,Java语言描述)
  5. ArcGIS JavaScript在线编辑
  6. python打开excel指定的sheet_pandds指定一个或多个sheet读取excel(sheet_name参数)
  7. php 连接redis服务器
  8. HDOJ--2000--ASCII码排序(java实现)
  9. centos tomcat部署
  10. 车牌识别easypr的详细介绍
  11. 由西云数据运营的中国第二个AWS区域正式向客户提供服务
  12. 实现sqrt()平方根函数
  13. Revel框架搭建的后台管理系统脚手架
  14. Mac终端远程连接历史记录怎么清除
  15. 学习 React.js 需要了解的一些概念
  16. jmeter里看java的log,jmeter中java协议请求
  17. 实验记录 | 8/7 阶段性结果整理(一)
  18. 斯坦福的《机器学习》课程上线了
  19. C语言:习题2-5 求平方根序列前N项和.2021-08-02
  20. 计算机在生物学中的应用课程,计算机技术在生物教学中的作用与应用

热门文章

  1. AD19画pcb板开孔开槽,适用嘉立创
  2. 如何使用M33D1一体式在线氨氮传感器
  3. 开口式霍尔电流传感器(安科瑞-卓宋兰)
  4. 【Python 基础】网络编程 - Python写一个简单的HTTP服务端和客户端,实现Client/Server交互
  5. 802.11 Association Status, 802.11 Deauth Reason codes
  6. h5调用手机相机和录音机_奥林巴斯结束相机业务!专注医疗领域
  7. 码农小汪-设计模式之-Builder模式
  8. first season eighth episode,nana dies twice?Chandler is a gay???
  9. 中国量子计算机无花果,2019年中国无花果市场供需现状及进出口情况分析 [图]...
  10. 文本框:边框变色——百度-登录界面