日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文本处理常用操作

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文本处理常用操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里介紹一下文本預處理中常用的操作:

1.英文統一小寫

text = text.lower()

?

2.分詞

def cut(text):# return list(jieba.cut(text))return [item for item in jieba.cut(text.lower())] if text != "" else []

?

3.去噪

兩種方式

(1)去停用詞

包括中英文標點符號、以及噪音詞,參考附錄[1]

stopwords = set([line.strip() for line in codecs.open("data/stopwords.txt", "r")])def cut_and_remove_stopwords(text):return [item for item in jieba.cut(text.lower()) if item not in Utils.stopwords] if text != "" else []

?

(2)只保留指定詞典中的詞

這個詞典與任務強相關,通常是當前任務重點關注的特征詞

def cut_and_in_vocabulary(text):return [item for item in jieba.cut(text.lower()) if item in Utils.vocabulary] if text != "" else []

其中,為了保證分詞的結果是我們想要的,通常需要調整jieba詞典

file_vocabulary = "data/vocabulary.txt"jieba.load_userdict(file_vocabulary)vocabulary = set([line.strip() for line in codecs.open(file_vocabulary, "r")])file_jieba_delete_dict = "data/jieba_delete_dict.txt"for wd in [line.strip() for line in codecs.open(file_jieba_delete_dict, "r")]: jieba.del_word(wd)

詳細說明參考:fxsjy/jieba: 結巴中文分詞

??

附錄[1]:停用詞表(其中有兩行分別是中英文的空格)

, . ? !, 。 ? ! 不好意思 抱歉 謝謝 這邊 那邊 那個 這個 那樣 這種 那種 我想 這兒 這樣 還 也 額 呃 嗯 噢 那 哎 先 后 啊 哦 吧 呀 啦 哈 誒 咯 恩 阿 呢 嗎 的 了 常見停用詞

?

Pandas數據處理常用操作:https://www.cnblogs.com/bymo/p/7154476.html

?

Sklearn數據處理常用操作:

# 連續特征規范化處理from sklearn.preprocessing import MinMaxScaler, Normalizer, StandardScalerscaler = StandardScaler() # 標準化:零均值,單位方差scaler = MinMaxScaler(feature_range=(0, 1)) # 變換到[0, 1]區間 (也可以是其它固定最大最小值的區間)scaler = Normalizer(norm="l2") # 正則化:'l1', 'l2', or 'max', optional ('l2' by default)# The norm to use to normalize each non zero sample.# l2_norm變換后每個樣本的各維特征的平方和為1。類似地,l1_norm變換后每個樣本的各維特征的絕對值和為1;max_norm變換將每個樣本的各維特征除以該樣本的最大值df["0108"] = StandardScaler().fit_transform(df["0108"].values.reshape(-1, 1))# 因為type(df["0108"])是一個pandas.core.series.Series,所以要用values把值取出來;# 因為df["0108"].values.shape是(57298,),所以需要用reshape使它變成行數不限,列數為1df["0108"] = df["0108"].rank() # 對數值進行排序,使得數據變成一種稠密的表達,使得模型對數值不敏感# 類別特征處理# 參考:https://blog.csdn.net/bryan__/article/details/79911768data = pd.get_dummies(df, columns=["label"], dummy_na=True) # 獲得稠密的表達,適合小數據量;這里dummy_na=True表示將空值也加進來 # 獲得啞變量from sklearn.preprocessing import LabelEncoder, OneHotEncoderfrom scipy import sparsedf["label"] = LabelEncoder().fit_transform(df["label"]) # 編碼data = sparse.hstack(df, OneHotEncoder().fit_transform(df["label"])) # 獲得稀疏的表達,適合大數據量 # 將原始數據和OneHot后的數據進行橫向拼接,再進行稀疏化# hstack表示橫向拼接;vstack表示縱向拼接# 這里注意的是,稀疏化后的數據不方便進行切分,所以,最好先切分好訓練集和測試集,再分別進行稀疏化# 文本向量化from sklearn.feature_extraction.text import CountVectorizerdf["xxx"] = df["xxx"].apply(lambda x: " ".join(x.split(";")))item_category_list = CountVectorizer().fit_transform(df["xxx"])df = sparse.hstack(item_category_list)"""例子:'a b d''a e'上面是兩個樣本在某個維度上的特征可以看到有四種取值(a b d e),我們可以通過上面的方法把這兩行變成下面這種形式:11101001這里其實就是對每種取值進行計數,提取向量化特征,類似于tfidf處理"""# 連續特征離散化 例如1.0, 2.0, 3.0, ..., 15.0pd.cut(df["xxx"], bins=[0, 5, 10, 15, 20]).head()df["bins"] = pd.cut(df["xxx"], bins=[0, 5, 10, 15, 20])df["bins"][0] # Interval(10, 15, closed='right']df["bins"] = df["bins"].astype("str") # 列類型轉換df["bins"][0] # '(10, 15]'df["pv_bins"] = pd.cut(df["xxx"], bins=[0, 5, 10, 15, 20]).astype("str")df["pv_bins_cate"] = LabelEncoder().fit_transform(df["pv_bins"])df[["xxx", "pv_bins", "pv_bins_cate"]].head() # 原始特征,離散化后的特征,離散化并LabelEncoder編碼后的特征(編碼后還可以進一步做一個OneHot)# 特征二值化 # TODOfrom sklearn.preprocessing import Binarizerdf["xxx"] = Binarizer(threshold=10).fit_transform(df["xxx"].values.reshape(-1, 1))# 評估函數from sklearn.metrics import accuracy_score, confusion_matrix, f1_score, log_loss, \mean_absolute_error, mean_squared_error, precision_score, roc_auc_score# 模型評估與參數搜索from sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import GridSearchCVtrain_x, train_y = [], []model = LogisticRegression()param_grid = {}grid_search = GridSearchCV(model, param_grid=param_grid, n_jobs=8, verbose=1, cv=5)grid_search.fit(train_x, train_y)best_parameters = grid_search.best_estimator_.get_params()for para, val in list(best_parameters.items()):print(para, val)model = LogisticRegression(max_iter=best_parameters["max_iter"], C=best_parameters["C"])model.fit(train_x, train_y)

?

待補充~

轉載于:https://www.cnblogs.com/bymo/p/9104282.html

總結

以上是生活随笔為你收集整理的文本处理常用操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 韩国日本在线观看 | 婷婷综合色 | 日日干影院 | 亚洲 欧美 另类 综合 偷拍 | 日日操天天操夜夜操 | 日本在线免费看 | 51精品国自产在线 | 实拍澡堂美女洗澡av | 日本欧美一区二区 | 天天操操操 | aise爱色av | 黄色片在线免费观看 | 黄色肉肉视频 | 福利在线免费 | 国产人人插 | 在线一级片 | 国产av电影一区 | 免费污污视频在线观看 | 黄网站色视频免费观看 | 中文字幕第12页 | 啪啪网站免费看 | 丰满少妇一区二区三区视频 | 涩涩国产 | 国产亚洲福利 | 欧洲美女与动交ccoo | 日本在线精品视频 | 亚洲免费观看视频 | 波多野结衣在线视频播放 | 午夜av免费观看 | 欧美黄色片 | 亚洲素人在线 | 亚洲国产精品狼友在线观看 | 亚洲综合射 | 日韩欧美高清一区 | 日韩亚洲欧美综合 | 黑鬼巨鞭白妞冒白浆 | 91免费视频入口 | 国产全是老熟女太爽了 | 天堂在线播放 | 免费黄色美女网站 | 强睡邻居人妻中文字幕 | 久久人精品 | 亲子乱aⅴ一区二区三区 | 乱lun合集小可的奶水 | 人妻大战黑人白浆狂泄 | 欧美国产免费 | 宅男av| 一区二区三区免费网站 | 成人午夜精品福利 | 麻豆短视频 | 一区二区三区免费观看视频 | 欧美久久久久久久久 | 人妻无码一区二区三区四区 | 欧美黄在线观看 | 久久亚洲一区 | 男人狂揉女人下部视频 | 国产精品久久久一区二区 | 在线观看黄色片 | 国产欧美日韩久久 | 亚洲自拍小视频 | 玖玖国产 | 欧美激情一区二区三区免费观看 | 黄色a∨ | 美女吞精视频 | 久久久久激情 | 国产高清视频在线 | 青青草国产精品 | 综合精品久久久 | 国产精品福利影院 | 久草视频国产 | 91禁外国网站 | 亚洲av毛片一区二二区三三区 | 波多野结衣欧美 | 亚洲精品aaaa| 日本少妇xxxxx | 欧美女优视频 | 国产精品亚洲AV色欲三区不卡 | 黄色三级小视频 | 91精品视频一区二区三区 | 国产福利在线观看 | 久久在线免费观看视频 | 欧美嫩交 | 97se综合| 国产又粗又长又大视频 | 亚洲综合婷婷久久 | 国产精品免费视频一区二区三区 | 色噜噜狠狠一区二区三区牛牛影视 | 天天操人人射 | 日韩av中文字幕在线播放 | 国产成人精品一区二区三区四区 | 吃奶摸下的激烈视频 | 免费三片在线播放 | 国产精品国产三级国产普通话蜜臀 | 亚洲www啪成人一区二区麻豆 | 国产一区视频免费观看 | 精品无码久久久久国产 | 强行挺进白丝老师里呻吟 | 男人天堂tv | 黄色精品一区二区 |