1. 程式人生 > >python 利用sklearn自帶的模組 快速簡單實現文章的 tfidf向量空間的表示

python 利用sklearn自帶的模組 快速簡單實現文章的 tfidf向量空間的表示

主要是利用 sklearn的  TfidfVectorizer(fromsklearn.feature_extraction.textimportTfidfVectorizer)對文章進行 詞典的提取,並對文章根據提取的詞典利用tfidf原理,對文章進行向量空間的表示
'''
min_df:的含義
min_df is used for removing terms that appear too infrequently. For example:
•min_df = 0.01 means "ignore terms that appear in less than 1% of the documents".
•min_df = 5 means "ignore terms that appear in less than 5 documents". The default min_df is 1, which means "ignore terms that appear in less than 1 document".Thus, the default setting does not ignore any terms. max_df:的含義 max_df is used for removing terms that appear too frequently, also known as "corpus-specific stop words". For example:
•max_df = 0.50 means "ignore terms that appear in more than 50% of the documents". •max_df = 25 means "ignore terms that appear in more than 25 documents". The default max_df is 1.0, which means "ignore terms that appear in more than 100% of the documents". Thus, the default setting does not ignore any terms.
'''

# coding=utf-8
mydoclist = [u'溫馨 提示 : 家庭 暢享 套餐 介紹 、 主卡 新增 / 取消 副 卡 簡訊 辦理 方式 , 可 點選 文件 左上方  簡訊  圖示 即可 將 簡訊 指令 傳送給 客戶',
u'客戶 申請 i 我家 , 家庭 暢享 計劃  後 , 可 選擇 設定 1 - 6 個 同一 歸屬 地 的 中國移動 網 內 號碼 作為 親情 號碼 , 組建 一個 家庭 親情 網  家庭 內 ',
u'所有 成員 可 享受 本地 互打 免費 優惠 , 家庭 主卡 號碼 還 可 享受 省內 / 國內 漫遊 接聽 免費 的 優惠']
from sklearn.feature_extraction.text import CountVectorizer

# count_vectorizer = CountVectorizer(min_df=1)
# term_freq_matrix = count_vectorizer.fit_transform(mydoclist)
# print "Vocabulary:", count_vectorizer.vocabulary_
#
# from sklearn.feature_extraction.text import TfidfTransformer
#
# tfidf = TfidfTransformer(norm="l2")
# tfidf.fit(term_freq_matrix)
#
# tf_idf_matrix = tfidf.transform(term_freq_matrix)
# print tf_idf_matrix.todense()
# from __future__ import print_function


from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vectorizer = TfidfVectorizer(min_df = 1)
tfidf_matrix = tfidf_vectorizer.fit_transform(mydoclist)
str=''
for i in tfidf_vectorizer.vocabulary_:
    str+=' '+i
print str
print tfidf_matrix.todense()
new_docs = [u'一個 客戶 號碼 只能 辦理 一種 家庭 暢享 計劃 套餐 , 且 只能 加入 一個 家庭網']
new_term_freq_matrix = tfidf_vectorizer.transform(new_docs)
print tfidf_vectorizer.vocabulary_,type(tfidf_vectorizer.vocabulary_)
str=''
for i,j in sorted(tfidf_vectorizer.vocabulary_.items(), key=lambda d: d[1]):
    str+=' '+i
print str
print [ v for v in sorted(tfidf_vectorizer.vocabulary_.values())]
print sorted(tfidf_vectorizer.vocabulary_.items(), key=lambda d: d[1])


print new_term_freq_matrix.todense()

 

相關推薦

python 利用sklearn模組 快速簡單實現文章tfidf向量空間表示

主要是利用 sklearn的  TfidfVectorizer(fromsklearn.feature_extraction.textimportTfidfVectorizer)對文章進行 詞

利用Java的SimpleDateFormat類實現簡單的日期校驗功能原始碼

      package com.wk import java.awt.EventQueue; import java.awt.Font; import java.awt.GridLayout; import java.awt.ev

TF之CNN:利用sklearn(手寫圖片識別資料集)使用dropout解決學習中overfitting的問題+Tensorboard顯示變化曲線

import tensorflow as tf from sklearn.datasets import load_digits #from sklearn.cross_validation import train_test_split from sklearn.model_selection import

利用linux的郵箱服務實現郵件轉發

user rom 密碼 proc word 登陸 mail -s 分享 修改配置 修改配置文件修改/etc/mail.rc,增加以下幾行,指定外部的smtp服務器地址、帳號密碼等。 vi /etc/mail.rc set [email protected] set

python匯入模組定義模組

模組就是已經開發好的程式碼功能,自己直接匯入進來,直接使用。匯入分為python 或selenium 自帶的模組和自己寫的自定義模組,下面根據這兩個方向寫一下分別匯入的方法。 1.匯入自帶模組import sys #匯入sys模組,呼叫此模組時的方法 print sys.argvfrom sys impor

利用JDK工具構建一個簡單的Java SOAP Web Service

這兩天由於工作的某些原因,需要了解一些關於Web Service的知識,然後在網上看到了這麼一篇簡單的有點略微過時但是對於初次接觸Web Service的同學來說又很有必要了解的文章,於是自己嘗試著將文章翻譯過來。 A. 構造Web服務 1. 構造一個簡單的hello

利用unity3d的CharacterController包製作第一人稱控制模型的簡單Demo

1、首先開啟unity3d建立一個新的專案。在新專案中建立Plane和Directional light平行光,Plane作為地面。   2、在專案中匯入CharacterController包。把3rd Person Controller模型放到Plane上。   

DL之NN:(sklearn資料集為1797個樣本*64個特徵)利用NN之sklearn、NeuralNetwor.py實現手寫數字圖片識別95%準確率

先檢視sklearn自帶digits手寫資料集(1797*64)import numpy as np from sklearn.datasets import load_digits from skl

Windows下用Python 3.4+的venv模組建立虛擬環境

Python 3.4+自帶了venv模組,用於建立虛擬環境,每個虛擬環境都可以安裝一套獨立的第三方模組。 本文在Windows 10上操作。  原文:http://www.cnblogs.com/animalize/p/5868763.html 1、建立一個虛擬環境: D:\>mkdir test_

利用checkbox屬性indeterminate構建含部分選中狀態的樹狀結構

urn true 監聽 tps 多說 con ont 框架 tree 本來上個月就像發的,但是一直忙啊忙的也沒時間整理,所以拖到了現在。 好吧上面這句就是廢話,我就是感概下。下面是正文。 前段時間在弄一個輕量級的web項目,要構建一個樹狀結構目錄,同時希望能把部分選中的狀態

利用Unity的合圖切割功能將合圖切割成子圖

int 方便 無法 object idt http eal data- 像素 轉載的,牛人無處不在,我還太渺小 雖然目前網上具有切割合圖功能的工具不少,但大部分都是自動切割或者根據plist之類的合圖文件切割的, 這種切割往往不可自己微調或者很難維調,導致效果不理想。

忘記Ghost!利用Win10功能,玩轉系統備份&恢復 -- 關於恢復的深度思考

如果 mage 不能啟動 技術 硬盤 blog 引導 系統版本 bsp 上一篇文章講了,系統可以正常啟動,如何從D盤恢復系統到C盤的情況。 如果系統不能啟動,要怎麽去恢復系統,恢復後會是什麽結果? 先說明系統結構: 系統版本:Windows 10 (1709) 硬盤1(

C#利用Windowsgdi32.dll實現抓取屏幕功能實例

like lba work 函數 dll img 模板 seh release 本文實例講述了C#利用Windows自帶gdi32.dll實現抓取屏幕功能,是C#應用程序設計中一個非常實用的功能,現分享給大家供大家參考借鑒。 具體功能代碼如下:internal stati

java利用myeclipse三大框架搭建三大框架(Hibernate+Struts2+Spring)過程詳解

sun 過程 9.png att alt 分享圖片 struts apach sch 搭建過程因人而異,我的搭建過程大致是這樣的:   1.創建一個javaweb項目;   2.導入Spring框架,上圖:     2.1:     2.2:     2.3:   3.

利用JDK的keytool生成SSL證書然後導入到SpringBoot

生成 密鑰 clas alias 自帶 就會 輸入 http -type 一:生成命令如下(這一步生成的暫不知道幹嘛用的) E:\Desktop\Documents\證書>keytool -genkey -alias tomcat -keypass 123456

小小知識點(一)——利用電腦的BitLocker對磁盤加密

IT ID margin nbsp 磁盤加密 com 管理員 盤符 family 1.利用電腦自帶的BitLocker可以對固定的或移動的磁盤加密 網上有很多的使用方法步驟,可參考百度經驗:https://jingyan.baidu.com/article/636f38bb

C# 利用VS的WSDL工具生成WebService服務類

web 路徑 引用 src cnblogs logs png program 菜單 WebService有兩種使用方式,一種是直接通過添加服務引用,另一種則是通過WSDL生成。 添加服務引用大家基本都用過,這裏就不講解了。 那麽,既然有直接引用的方式,為什麽還要通過WSDL

python---django中分頁類使用

1.基礎使用: 後臺資料獲取: from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage#錯誤判斷 List_info = [] for i in range(1000): List_info.

利用Java的MD5加密

package test.md5; import java.security.MessageDigest; public class MD5Util { public final static String MD5(String s) { char hexDigits[]

利用java工具jconsole監控虛擬機器

  首先編輯tomcat/bin/catalina.sh 加入以下配置 (在 cygwin=false 上面加入) CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote  -Djava.rmi.server.