首页 > 其他 > 详细

Datawhale-新闻文本分类-task3-机器学习分类

时间:2020-07-26 10:41:40      阅读:97      评论:0      收藏:0      [点我收藏+]
import pandas as pd
train = pd.read_csv(r‘./train_set.csv‘, sep=‘\t‘)
test_a = pd.read_csv(r‘./test_a.csv‘, sep=‘\t‘)

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import RidgeClassifier
def do_nothing_tfidf(train_data):
    import time
    start = time.time()
    from sklearn.feature_extraction.text import TfidfVectorizer
    tfidf = TfidfVectorizer()
    X = tfidf.fit_transform(train[‘text‘])
    y = train[‘label‘]
    x_train, x_valid, y_train, y_valid = train_test_split(X, y, test_size=0.3, random_state=seed)
    clf = RidgeClassifier()
    clf.fit(x_train, y_train)
    print(clf.score(x_train,  y_train))
    y_pre = clf.predict(x_valid)
    print(f1_score(y_valid, y_pre, average=‘macro‘))
    print(‘spent 【%d】s‘%(int(time.time() - start)))

def set_ngram_tfidf(train_data):
    import time
    start = time.time()
    from sklearn.feature_extraction.text import TfidfVectorizer
    tfidf = TfidfVectorizer(ngram_range=(1,3))
    X = tfidf.fit_transform(train[‘text‘])
    y = train[‘label‘]
    x_train, x_valid, y_train, y_valid = train_test_split(X, y, test_size=0.3, random_state=seed)
    clf = RidgeClassifier()
    clf.fit(x_train, y_train)
    print(clf.score(x_train,  y_train))
    y_pre = clf.predict(x_valid)
    print(f1_score(y_valid, y_pre, average=‘macro‘))
    print(‘spent 【%d】s‘%(int(time.time() - start)))

def set_ngram_max_feature_tfidf(train_data):
    import time
    start = time.time()
    from sklearn.feature_extraction.text import TfidfVectorizer
    tfidf = TfidfVectorizer(ngram_range=(1,3), max_features=5000)
    X = tfidf.fit_transform(train[‘text‘])
    y = train[‘label‘]
    x_train, x_valid, y_train, y_valid = train_test_split(X, y, test_size=0.3, random_state=seed)
    clf = RidgeClassifier()
    clf.fit(x_train, y_train)
    print(clf.score(x_train,  y_train))
    y_pre = clf.predict(x_valid)
    print(f1_score(y_valid, y_pre, average=‘macro‘))
    print(‘spent 【%d】s‘%(int(time.time() - start)))
    
print(‘=============do nothing tfidf……================‘)
do_nothing_tfidf(train)
print(‘=============just do ngram tfidf……=============‘)
set_ngram_tfidf(train)
print(‘=============both do ngram and max_feature……============‘)
set_ngram_max_feature_tfidf(train)

![技术分享图片
]

Datawhale-新闻文本分类-task3-机器学习分类

原文:https://www.cnblogs.com/Alexisbusyblog/p/13378863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!