機器學習——樸素貝葉斯練習題

一、

使用鳶尾花數據訓練多項式樸素貝葉斯模型,并評估模型

代碼展示:?

from sklearn.datasets import load_iris
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNBiris = load_iris()x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.3,random_state=42)model = MultinomialNB()model.fit(x_train,y_train)y_pred = model.predict(x_test)
print("預測率:",accuracy_score(y_test,y_pred))

?結果展示:

預測率: 0.9555555555555556

二、

電影評論情感分析

?項目背景?:

你在一家電影評論網站工作,需要開發一個情感分析系統來自動分類用戶評論是正面還是負面。使用Kaggle上的"IMDB Dataset of 50K Movie Reviews"數據集。

?數據集鏈接?:

IMDB Dataset of 50K Movie Reviews | Kaggle

?練習題要求?:

  1. 使用Pandas加載并預處理數據
  2. 使用Numpy進行特征工程
  3. 比較不同樸素貝葉斯變體(高斯、多項式、伯努利)的性能
  4. 使用matplotlib繪制性能比較圖表

代碼展示:

import re
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB, MultinomialNB, BernoulliNB
import matplotlib.pyplot as pltdf = pd.read_csv("./data/IMDB Dataset.csv",encoding="utf-8")
print(df.head())
print(df.shape)df["sentiment"] = df["sentiment"].map({"positive":1,"negative":0})
# print(df.head())comment = df["review"]
# print(comment.head())comment_lists = []
for i in comment:# print(i)i = i.lower()i = re.sub(r'<.*?>', '', i)i = re.sub(r'[^a-zA-Z]', ' ', i)words = i.split()words = [word for word in words if len(word) > 2]comment_list = " ".join(words)comment_lists.append(comment_list)# print(comment_list)
df["clean_review"] = comment_liststransfer = TfidfVectorizer(max_features=5000,ngram_range=(1,2))
x = transfer.fit_transform(df["clean_review"])
y = df["sentiment"]x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=42)mu_model = MultinomialNB()
mu_model.fit(x_train,y_train)mu_y_pred = mu_model.predict(x_test)
mu_accuracy = accuracy_score(y_test,mu_y_pred)
print("多項式樸素貝葉斯:",mu_accuracy)be_model = BernoulliNB()
be_model.fit(x_train,y_train)be_y_pred = be_model.predict(x_test)
be_accuracy = accuracy_score(y_test,be_y_pred)
print("伯努利樸素貝葉斯:",be_accuracy)transfer = CountVectorizer(max_features=5000)
x = transfer.fit_transform(comment_lists)x_dense = x.toarray()x_train = x_dense[:4000, :]
good_or_bad = df["sentiment"].values
y_train = good_or_bad[:4000]
x_test = x_dense[4000:, :]
y_test = good_or_bad[4000:]ga_model = GaussianNB()
ga_model.fit(x_train,y_train)
ga_y_pred = ga_model.predict(x_test)
ga_accuracy = accuracy_score(y_test,ga_y_pred)
print("高斯樸素貝葉斯:",ga_accuracy)models = ['GaussianNB','MultinomialNB','BernoulliNB']
values = [ga_accuracy,mu_accuracy,be_accuracy]plt.bar(models,values,color=['blue','green','red']
)plt.title("Comparison of Naive Bayes Variants")
plt.ylabel("Accuracy")
plt.tight_layout()
plt.show()

結果展示:

多項式樸素貝葉斯: 0.8628666666666667
伯努利樸素貝葉斯: 0.8533333333333334
高斯樸素貝葉斯: 0.7214347826086956

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79948.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79948.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79948.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

氣胸復查重點提問清單 ,怎樣平衡檢查必要性和輻射影響?

氣胸復查重點提問清單&#xff08;打印版&#xff09; 以下是帶孩子復查氣胸時建議與醫生溝通的重點問題&#xff0c;分為不同方面&#xff0c;可打印后隨身攜帶&#xff0c;逐項確認。 術后康復情況相關 1. 肺目前復張情況如何&#xff1f;胸片顯示肺是否已經完全展開&…

Linux相關概念和易錯知識點(40)(HTML資源交互、網頁管理、搜索引擎)

目錄 1.HTML資源交互 &#xff08;1&#xff09;媒體加載 &#xff08;2&#xff09;靜態頁面跳轉 &#xff08;3&#xff09;動態頁面 &#xff08;4&#xff09;GET和POST傳參的區別 2.網頁管理 &#xff08;1&#xff09;網頁的權限管理 &#xff08;2&#xff09;臨…

使用 QGIS 插件 OpenTopography DEM Downloader 下載高程數據(申請key教程)

使用 QGIS 插件 OpenTopography DEM Downloader 下載高程數據 目錄 使用 QGIS 插件 OpenTopography DEM Downloader 下載高程數據&#x1f4cc; 簡介&#x1f6e0; 插件安裝方法&#x1f30d; 下載 DEM 數據步驟&#x1f511; 注冊 OpenTopography 賬號&#xff08;如使用 Cope…

【通知】2025元宇宙數字人設計大賽啟動,大賽線上報名階段開啟!

元宇宙數字人設計大賽火熱報名中&#xff01;歡迎大家踴躍報名參與&#xff01; 元宇宙數字人設計大賽報名活動正在如火如荼進行中&#xff0c;歡迎各位對元宇宙數字人感興趣的同學與老師踴躍參與報名&#xff01; 元宇宙數字人設計大賽承接原大中華區VR盟主選拔賽&#xff0c…

Kaamel隱私合規洞察:Temu在韓被罰事件分析

Kaamel隱私合規與數據安全團隊分析報告 韓國個人信息保護委員會&#xff08;PIPC&#xff09;對中國電子商務巨頭Temu處以巨額罰款&#xff0c;原因是其嚴重違反了用戶數據保護法律 。核心違規行為包括未經適當披露或用戶同意非法跨境傳輸數據、未能指定當地代表、賬戶注銷流程…

查詢公網IP地址的方法:查看自己是不是公網ip,附內網穿透外網域名訪問方案

本地搭建服務并提供互聯網連接時&#xff0c;較為傳統的方法是使用公網IP地址。因此&#xff0c;如何查詢本地自己是不是公網IP&#xff0c;是必須要掌握的一種技巧。當面對確實無公網IP時&#xff0c;則可以通過內網穿透方案&#xff0c;如nat123網絡映射工具&#xff0c;將本…

Redis特性與應用

1、分布式緩存與redis 2、redis數據結構和客戶端集成 3、緩存讀寫模式與數據一致性 本地緩存&#xff1a;Hash Map、Ehcache、Caffeine、Google Guava 分布式緩存&#xff1a;Memcached、redis、Hazelcast、Apache ignite redis&#xff1a;基于鍵值對內存數據庫&#xff0c;支…

Top-p采樣:解鎖語言模型的創意之門

Top - p采樣 是什么&#xff1a;核采樣&#xff1a;排序&#xff0c;累計到0.7&#xff0c;隨機選擇 在自然語言生成和大規模語言模型推理中&#xff0c;Top - p采樣&#xff08;又叫核采樣&#xff0c;Nucleus Sampling&#xff09;是一種基于累積概率的采樣策略。 Top - p介…

Gitee DevSecOps:軍工軟件研發的智能化變革引擎

在數字化戰爭時代背景下&#xff0c;軍工軟件的研發效率與質量直接關乎國防建設進程。傳統軍工軟件開發面臨依賴管理混亂、版本變更失控、團隊協作低效等系統性難題&#xff0c;嚴重制約著"軟件工廠"理念的落地。Gitee DevSecOps平臺以智能版本管理為突破口&#xff…

芋道項目,商城模塊數據表結構

一、需求 最近公司有新的業務需求&#xff0c;調研了一下&#xff0c;決定使用芋道&#xff08;yudao-cloud&#xff09;框架,于是從github&#xff08;https://github.com/YunaiV/yudao-cloud&#xff09;上克隆項目&#xff0c;選用的是jdk17版本的。根據項目啟動手冊&#…

ES常識9:如何實現同義詞映射(搜索)

在 Elasticsearch&#xff08;ES&#xff09;中實現同義詞映射&#xff08;如“美麗”和“漂亮”&#xff09;&#xff0c;核心是通過 同義詞過濾器&#xff08;Synonym Token Filter&#xff09; 在分詞階段將同義詞擴展或替換為統一詞項&#xff0c;從而讓搜索時輸入任意一個…

Web安全滲透測試基礎知識之SQL注入篇

一、SQL注入基礎理論 1.1 什么是SQL注入 SQL注入是一種常見的Web安全問題&#xff0c;攻擊者通過在Web應用程序的輸入字段中插入惡意的SQL語句&#xff0c;改變原本SQL查詢的邏輯&#xff0c;實現非法獲取數據、篡改數據、執行系統命令等操作。這種情況產生的根本原因在于應…

JVM方法區核心技術解析:從方法區到執行引擎

方法區 方法區的內部結構 在經典方法區設計中&#xff0c;主要存儲以下核心數據內容&#xff1a; 一、類型信息 方法區維護的類型信息包含以下要素&#xff1a; 類全稱標識 類名稱&#xff08;含完整包路徑&#xff09;直接父類的完全限定名&#xff08;包含完整包路徑&am…

【MyBatis插件】PageHelper 分頁

前言 在開發 Web 應用時&#xff0c;我們經常需要處理海量數據的展示問題。例如&#xff0c;在一個電商平臺上&#xff0c;商品列表可能有成千上萬條數據。如果我們一次性將所有數據返回給前端&#xff0c;不僅會導致頁面加載緩慢&#xff0c;還會對數據庫造成巨大壓力。為了解…

springboot+vue實現在線書店(圖書商城)系統

今天教大家如何設計一個圖書商城 , 基于目前主流的技術&#xff1a;前端vue&#xff0c;后端springboot。 同時還帶來的項目的部署教程。 視頻演示 在線書城 圖片演示 一. 系統概述 商城是一款比較龐大的系統&#xff0c;需要有商品中心&#xff0c;庫存中心&#xff0c;訂單…

OPC UA + ABP vNext 企業級實戰:高可用數據采集框架指南

&#x1f680;&#x1f4ca; OPC UA ABP vNext 企業級實戰&#xff1a;高可用數據采集框架指南 &#x1f680; &#x1f4d1; 目錄 &#x1f680;&#x1f4ca; OPC UA ABP vNext 企業級實戰&#xff1a;高可用數據采集框架指南 &#x1f680;一、前言 &#x1f3af;二、系統…

Oracle統計信息收集時的鎖持有階段

Oracle統計信息收集時的鎖持有階段 1 準備階段&#xff08;共享模式鎖&#xff09; 鎖類型&#xff1a;對象級共享鎖&#xff08;S鎖&#xff09; 持續時間&#xff1a;通常1-5秒 主要操作&#xff1a; 驗證對象存在性和權限檢查統計信息首選項設置確定采樣方法和并行度 監…

shell常用語法

一、shell變量 定義變量語法&#xff1a; 變量名值 # 等號兩邊不能有空格 示例&#xff1a; #!/bin/bash name"Alice" echo "Hello, $name!" # 使用變量使用變量-語法&#xff1a; 兩種方式&#xff1a; 第一種&#xff1a;${變量名} 第二種&#x…

《教育退費那些事兒:從困境到破局》

《教育退費那些事兒&#xff1a;從困境到破局》 教育退費&#xff1a;不容忽視的熱點問題 在當今社會&#xff0c;教育消費已成為家庭支出的重要組成部分。無論是 K12 階段的學科輔導、藝術特長培訓&#xff0c;還是成人的職業技能提升、學歷繼續教育&#xff0c;家長和學生們…

老字號煥新案例:天貓代運營如何讓傳統品牌年輕化破圈

老字號煥新案例&#xff1a;天貓代運營如何讓傳統品牌年輕化破圈 在消費升級與年輕化浪潮的沖擊下&#xff0c;傳統老字號品牌常面臨“有歷史無活力、有產品無流量”的困境。如何借助電商平臺實現品牌煥新&#xff0c;成為其破局的關鍵。品融&#xff08;PINKROON&#xff09…