达观杯文本智能处理挑战赛

版权声明:Geek Song创造,版权所有 https://blog.csdn.net/Geeksongs/article/details/83183360

笔者尝试了一下达观杯的比赛,代码如下图所示:

import pandas as pd

import imp

from sklearn.linear_model import LogisticRegression

from sklearn.feature_extraction.text import CountVectorizer


 

df_test = pd.read_csv(r'testset.csv')

df_train = pd.read_csv(r'trainset.csv')

df_train.drop(columns=['article','id'],inplace=True)

df_test.drop(columns=['article'],inplace=True)

vectorizer = CountVectorizer(ngram_range=(1, 2),min_df=3,max_df=0.9,max_features=10000)

vectorizer.fit(df_train['word_seg'])

x_train =vectorizer.transform(df_train['word_seg'])

x_test =vectorizer.transform(df_test['word_seg'])

y_train =df_train['class']-1

lg = LogisticRegression(C=4,dual=True)

lg.fit(x_train,y_train)

y_test = lg.predict(x_test)

df_test['class'] = y_test.tolist()

df_test['class'] = df_test['class'] + 1

df_result =df_test.loc[:,['id','class']]

df_result.to_csv('./result.csv',index=False)

print("完成")

运行结果是:

pandas.errors.ParserError: Error tokenizing data. C error: out of memory

这是因为我的电脑内存太小,导致了内存溢出,因此换一台电脑就可以得到最终得分为72分的答案了。笔者最终排名位于全国前300名,算是一个个人感觉还不错的成绩了。
--------------------- 
 

猜你喜欢

转载自blog.csdn.net/Geeksongs/article/details/83183360