中国高校计算机大数据挑战赛预选赛baseline
中国高校计算机大数据挑战赛预选赛baseline
预选赛:文本情感分类模型
本预选赛要求选手建立文本情感分类模型,选手用训练好的模型对测试集中的文本情感进行预测,判断其情感为「Negative」或者「Positive」。所提交的结果按照指定的评价指标使用在线评测数据进行评测,达到或超过规定的分数线即通过预选赛。
这次比赛可以利用TF-IDE进行建模。
以下是我用一个小时为本赛题建立的的baseline
import sys, os, re, csv, codecs, numpy as np, pandas as pd
from nltk.corpus import stopwords
from nltk.stem import SnowballStemmer
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
from sklearn import svm
#读取文件
train = pd.read_csv( "train.csv" ,lineterminator='\n')
train['label']['Negative'] = 0
#数据处理
train.ix[train['label']=='Positive','label']=1
train.ix[train['label']=='Negative','label']=0
train.info()
train.nunique()
train['label'].value_counts()
train[["review","label"]].values.shape
train["label"].fillna("fillna").values
test = pd.read_csv('20190520_test.csv',lineterminator='\n')
test_id= test["ID"].copy()
#建模过程
vec = TfidfVectorizer(ngram_range=(1,2),min_df=1, max_df=0.65,use_idf=1,smooth_idf=1, sublinear_tf=1)
train_column = "review"
test_column = 'review'
trn_term_doc = vec.fit_transform(train[train_column])
test_term_doc = vec.transform(test[test_column])
fid0=open('baseline.csv','w')
y=(train["label"]).astype(int)
lin_clf = svm.LinearSVC()
lin_clf.fit(trn_term_doc,y)
preds = lin_clf.predict(test_term_doc)
i=1
fid0.write("ID,Pred"+"\n")
for item in preds:
fid0.write(str(i)+","+str(item)+"\n")
i=i+1
fid0.close()
只要对以上代码进行认真的修改,即可通过初赛。
声明:本人不擅长自然语言处理领域,还望大佬们多多指点。
比赛链接为https://www.kesci.com/home/competition/5cb80fd312c371002b12355f/content/1