1. 程式人生 > >利用sklearn計算詞頻

利用sklearn計算詞頻

python機器學習庫sklearn提供了文字資料處理的函式,其中可以藉助計算tfidf的函式計算詞頻,具體程式碼如下

# encoding=utf-8
# python 3.5
# 計算詞頻示例
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer

corpus = ["我 來到 北京 清華大學",
        "他 來到 了 網易 杭研 大廈",
        "小明 碩士 畢業 與 中國 科學院",
        "我 愛 北京 天安門"]

# token_pattern指定統計詞頻的模式, 不指定, 預設如英文, 不統計單字
vectorizer = CountVectorizer(token_pattern='\\b\\w+\\b')
# norm=None對詞頻結果不歸一化
# use_idf=False, 因為使用的是計算tfidf的函式, 所以要忽略idf的計算
transformer = TfidfTransformer(norm=None, use_idf=False)
tf = transformer.fit_transform(vectorizer.fit_transform(corpus))
word = vectorizer.get_feature_names()
weight = tf.toarray()

for i in range(len(weight)):
    for j in range(len(word)):
        print(word[j], ':', weight[i][j], end=' ', sep='')

    print()
結果如圖



相關推薦

利用sklearn計算詞頻

python機器學習庫sklearn提供了文字資料處理的函式,其中可以藉助計算tfidf的函式計算詞頻,具體程式碼如下 # encoding=utf-8 # python 3.5 # 計算詞頻示例 from sklearn.feature_extraction.text i

利用sklearn計算決定系數R2

src wid average multi idt img 技術 imp png from sklearn.metrics import r2_score y_true = y_true = [3, -0.5, 2, 7] y_pred = [

利用sklearn的LabelEncoder對標簽進行數字化編碼

spa att sed read guide example log cat lib from sklearn.preprocessing import LabelEncoder def gen_label_encoder(): labels =

2.利用計算

ida urn mat reg turn span stat strong bool 判斷是否是數字 static bool isNumeric(string input){ bool flag =true; string pattern

python 利用jieba庫詞頻統計

clu eve color items text true eba word lambda 1 #統計《三國誌》裏人物的出現次數 2 3 import jieba 4 text = open(‘threekingdoms.txt‘,‘r‘,encoding=‘u

利用sklearn獲取手寫數字數據集,並進行可視化

字數 size pre code http text 添加 col sha %matplotlib inline from sklearn import datasets from matplotlib import pyplot as plt #獲取數據集 digits

利用sklearn 樸素貝葉斯進行評論短語的分類

功能: 對評論短語,比如一個文章下的評論短語進行分類通過或者刪除,也就是是垃圾 、不是垃圾。 工具: Spyder,jieba分詞,numpy,joblib,sklearn 程式: # -*- coding: utf-8 -*- """ Created on Mon May 14 10

利用sklearn 中的線性迴歸模型訓練資料 使用到的庫有numpy pandas matplotlib

** 利用sklearn 中的線性迴歸模型訓練資料 使用到的庫有numpy pandas matplotlib ** import pandas as pd import matplotlib.pyplot as plt filename='ENB2012_data.xl

利用pandas計算DataFrame兩列日期相差秒數

import pandas as pd #先利用to_datetime轉換為時間格式,tm列的資料形式為'yyyy-MM-dd HH:mm:ss' df['tm_1'] = pd.to_datetime(df['tm_1']) df['tm_2'] = pd.to_datetime(df[

python利用交集計算詞類標籤的分類

在詞分類中經常有以下標籤:'ab','ba','','13','1','3','bc3','ab24'那麼,如何將這些標籤歸入各標籤的子類中呢? mystr=['ab','ba','','13','1','3','bc3','ab24'] myl=dict() for k1 in mystr: fo

python利用交集計算詞類標簽的分類

() 標簽 pri 交集 pen 計算 def pre python 在詞分類中經常有以下標簽:‘ab‘,‘ba‘,‘‘,‘13‘,‘1‘,‘3‘,‘bc3‘,‘ab24‘那麽,如何將這些標簽歸入各標簽的子類中呢? mystr=[‘ab‘,‘ba‘,‘‘,‘13‘,‘1‘,

利用 sklearn SVM 分類器對 IRIS 資料集分類

利用 sklearn SVM 分類器對 IRIS 資料集分類 支援向量機(SVM)是一種最大化分類間隔的線性分類器(如果不考慮核函式)。通過使用核函式可以用於非線性分類。SVM 是一種判別模型,既適用於分類也適用於迴歸問題,標準的 SVM 是二分類器,可以採用 “one vs one”

利用Vue計算資料屬性實現簡單的表單校驗

        計算資料屬性(官網稱呼),又叫動態資料繫結(相對於靜態資料繫結而言).可以在dom渲染之前修改資料.按照官網的解釋,計算資料屬性是為了簡化模板的運算邏輯.從而利於維護.把複雜的邏輯繫結在computed裡.當然,利用它也可以做很多事情.比如單選,全選的實現.今

Python3——文字標題關鍵字提取_jieba分詞+sklearn計算tf-idf詞語權重

功能: 實現文字標題關鍵字的提取 由於jieba自身的jieba.analyse.set_idf_path方法依賴於idf.txt.big的逆文件率語料庫,因此本例採用sklearn轉換詞向量的方法,依靠包含的文件來計算TF-IDF的值。 Step1: 匯入相關工具包

利用matlab計算在任一資料上的密度函式值

clear; u=random(‘Normal’,0,1,1,1000)’;%原始資料 e1=u; quant=0.1; [f2,x2] = ksdensity(e1); qqq=quantile(e1,quant); [xx,index]=sort(abs(x

利用sklearn.preprocessing.PolynomialFeatures生成交叉特徵

當我們使用一次多項式擬合一組資料時,可能不太理想,如下圖: 如果用直線來進行擬合的話: 如果用三次函式來擬合的話: 如何用python的sklearn庫來做呢? import numpy as np import pandas as pd import m

MATLAB利用parfor計算多重for迴圈

 當MATLAB程式中出現多個for迴圈時,為提高執行效率,可用如下方式實現迴圈變數索引。 clear; clc; M = 2; N = 3; R = 4; parfor i = 1 : M *

利用Python3做詞頻統計和詞雲圖

起源: 因看到一篇滿眼是字的文章,故希望能夠快速的檢索出關鍵字,所以嘗試用Python3來實現。 程式碼 import jieba import numpy import codecs import pandas import matplotlib.py

C++上機報告 利用公式計算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括號中最後一項的絕對值小於0.000001為止。

上機內容:       利用公式計算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括號中最後一項的絕對值小於0.000001為止。 上機目的:鍛鍊思維能力。 我的程式: /* * 程式的版權和版本宣告部分: * Copyright (c)

利用公式計算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括號中最後一項的絕對值小於0.000001為止

#include<iostream> #include<cmath> using namespace std; int main( ) {int a=1;  double b=1,c=1,pi=0;  while(fabs(c)>=0.0000