亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python樸素貝葉斯怎么實現

發布時間:2022-01-12 17:28:21 來源:億速云 閱讀:179 作者:iii 欄目:大數據

這篇文章主要介紹了python樸素貝葉斯怎么實現的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python樸素貝葉斯怎么實現文章都會有所收獲,下面我們一起來看看吧。

背景介紹

這是一種基于貝葉斯定理的分類技術,假設預測變量之間具有獨立性。簡而言之,樸素貝葉斯分類器假定類中某個特定特征的存在與任何其他特征的存在無關。例如,如果水果是紅色,圓形且直徑約3英寸,則可以將其視為蘋果。即使這些特征相互依賴或依賴于其他特征的存在,樸素的貝葉斯分類器也會考慮所有這些特征,以獨立地促成該果實是蘋果的可能性。

python樸素貝葉斯怎么實現

樸素貝葉斯模型易于構建,對于非常大的數據集特別有用。 除了簡單之外,樸素貝葉斯(Naive Bayes)還勝過非常復雜的分類方法。

貝葉斯定理提供了一種從P(c),P(x)和P(x | c)計算后驗概率P(c | x)的方法。 

這里,

  • P(c | x)是給定預測變量(屬性)的類(目標)的后驗概率。

  • P(c)是分類的先驗概率。

  • P(x | c)是似然度,它是預測變量給定類別的概率。

  • P(x)是預測變量的先驗概率。


例子:讓我們通過一個例子來理解它。下面是天氣的訓練數據集和相應的目標變量“玩耍”。現在,我們需要根據天氣情況對玩家是否參加比賽進行分類。讓我們按照以下步驟進行操作。


步驟1:將資料集轉換為頻率表


步驟2:通過找到概率(如陰天概率= 0.29和游戲概率為0.64)來創建似然度表。

python樸素貝葉斯怎么實現

步驟3:現在,使用樸素貝葉斯方程來計算每個類別的后驗概率。后驗概率最高的類別是預測的結果。


問題:如果天氣晴朗,玩家將出去玩,這個說法正確嗎?


我們可以使用上面討論的方法來解決它,所以 P(Yes | Sunny) = P( Sunny | Yes) * P(Yes) / P (Sunny)

這里我們有 P (Sunny |Yes) = 3/9 = 0.33, P(Sunny) = 5/14 = 0.36, P( Yes)= 9/14 = 0.64

現在,P (Yes | Sunny) = 0.33 * 0.64 / 0.36 = 0.60,這更有可能。


樸素貝葉斯(Naive Bayes)使用類似的方法根據各種屬性來預測不同類別的概率。該算法主要用于文本分類,并且存在多個類的問題。

用Python編寫一個樸素貝葉斯分類模型:

'''The following code is for Naive BayesCreated by - ANALYTICS VIDHYA'''
# importing required librariesimport pandas as pdfrom sklearn.naive_bayes import GaussianNBfrom sklearn.metrics import accuracy_score
# read the train and test datasettrain_data = pd.read_csv('train-data.csv')test_data = pd.read_csv('test-data.csv')
# shape of the datasetprint('Shape of training data :',train_data.shape)print('Shape of testing data :',test_data.shape)
# Now, we need to predict the missing target # variable in the test data# target variable - Survived
# seperate the independent and target variable on training datatrain_x = train_data.drop(columns=['Survived'],axis=1)train_y = train_data['Survived']
# seperate the independent and target variable on testing datatest_x = test_data.drop(columns=['Survived'],axis=1)test_y = test_data['Survived']
'''Create the object of the Naive Bayes modelYou can also add other parameters and test your code hereSome parameters are : var_smoothingDocumentation of sklearn GaussianNB:
https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html
'''model = GaussianNB()
# fit the model with the training datamodel.fit(train_x,train_y)
# predict the target on the train datasetpredict_train = model.predict(train_x)print('Target on train data',predict_train)
# Accuray Score on train datasetaccuracy_train = accuracy_score(train_y,predict_train)print('accuracy_score on train dataset : ', accuracy_train)
# predict the target on the test datasetpredict_test = model.predict(test_x)print('Target on test data',predict_test)
# Accuracy Score on test datasetaccuracy_test = accuracy_score(test_y,predict_test)print('accuracy_score on test dataset : ', accuracy_test)

運行結果:

Shape of training data : (712, 25)Shape of testing data : (179, 25)Target on train data [1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]accuracy_score on train dataset :  0.44803370786516855Target on test data [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]accuracy_score on test dataset :  0.35195530726256985

關于“python樸素貝葉斯怎么實現”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python樸素貝葉斯怎么實現”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄱阳县| 中江县| 贵溪市| 高淳县| 库车县| 上虞市| 梁河县| 柏乡县| 仙桃市| 珲春市| 泗洪县| 稷山县| 华蓥市| 和林格尔县| 岑溪市| 垦利县| 亚东县| 威海市| 娄底市| 皋兰县| 肥东县| 漳州市| 遂平县| 洪雅县| 凉城县| 溆浦县| 南召县| 绥滨县| 赣州市| 四会市| 崇明县| 阳城县| 裕民县| 江川县| 平果县| 无锡市| 北辰区| 天水市| 竹山县| 永济市| 苍山县|