栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

coogle 30ML-NLP

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

coogle 30ML-NLP

import pandas as pd
import gc

import pandas as pd
train_df = pd.read_csv('train_set.csv', sep='t')

test_df=pd.read_csv('test_a.csv', sep='t')

train_df['word'] = train_df['text'].apply(lambda x: len(x.split(' ')))
#train_df['word']=train_df['text'].apply(lambda x:x.count(' ')+1)

train_df['word'].mean()

train_df.groupby('label')['word'].mean()

train_df['label'].value_counts(normalize=True)

label_dict=dict()
for i in range(14):
    tem_dict={}
    tem=train_df.loc[train_df.label==i,'text']
    for sen in tem.values:
        sen_list=sen.split(' ')
        for word in sen_list:
            try:
                tem_dict[word] +=1
            except:
                tem_dict[word] = 1
    sort_list=sorted(tem_dict.items(),key=lambda x:x[1],reverse=True)
    label_dict[i]=[i for i,j in sort_list[:5]]

from sklearn.feature_extraction.text import TfidfVectorizer
import numpy as np

tfidf=TfidfVectorizer(stop_words=['3750','648'],max_df=0.95,min_df=0.05).fit(train_df['text'])
train_f=tfidf.transform(train_df['text'])
test_f=tfidf.transform(test_df['text'])
gc.collect()


from sklearn.linear_model import LogisticRegression

lr = LogisticRegression(random_state=2021,
                        solver='newton-cg',
                        max_iter=1e5,
                        penalty='l2').fit(train_f, train_df['label'])

test_y_pred_lr = lr.predict(test_f)

from xgboost import XGBClassifier

xgb = XGBClassifier(booster='gbtree',
                    n_estimators=10,
                    max_depth=5,
                    learning_rate=0.1126,
                    objective='multi:softmax',
                    subsample=0.9,
                    random_state=2021,
                    #num_classes=14,
                    colsample_bytree=0.8,
                    #early_stopping_rounds=5,
                    #verbose=10,
                    #eval_metric='auc'
                   )
xgb.fit(train_f, train_df['label'])

test_y_pred_xgb = xgb.predict(test_f)

submit=pd.Dataframe()
submit['pred_lr']=test_y_pred_lr
submit['pred_xgb']=test_y_pred_xgb
#submit[(submit['pred_lr']-submit['pred_xgb'])!=0]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/313994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号