一、报名
http://www.dcjingsai.com/static_page/cmpList.html
寻找到“达观杯”文本智能处理挑战赛
二、下载
下载数据集
下载使用Anaconda的spyder或者Pycharm
三、编写代码
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.feature_extraction.text import CountVectorizer
""
# 数据预处理
# 从硬盘上读取已经下载好的数据,并进行简单处理
""
df_train = pd.read_csv('./train_set.csv')
df_test = pd.read_csv('./test_set.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=100000)
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)
编辑运行,差不多20分钟就可以看到结果
Bug调试过程:
因为训练数据1.28G,在在pycharm里运行demo时一直报错Process finished with exit code -1073740940 (0xC0000374)
,解决办法:
- pandas包更新到最新版(一般这个就能解决,刚开始我因为更新了Anaconda中的root默认环境的pandas导致错误没有解决,然后郁闷了半天,更新tensorflow环境中的pandas就好了)
- pycharm中后缀为vmoptions的配置文件里
Xms
、Xmx
的值调大
四、提交结果