亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python中的分層采樣,不使用任何機器學習

Python中的分層采樣,不使用任何機器學習

jeck貓 2022-08-02 16:13:09
我有一個包含:(“wordsList”和“classList”文件)的數據集。wordsList 文件包含 72 封預處理的電子郵件。每行都是從每封電子郵件中提取的單詞列表。classList 文件包含指示電子郵件是普通電子郵件還是廣告的類標簽(0 表示普通電子郵件,1 表示廣告)。我的任務是開發一個樸素貝葉斯分類器作為Python中的電子郵件過濾器。也就是說,分類器預測電子郵件是普通電子郵件還是廣告。為了開發這個,我需要使用分層采樣從72行中選擇66行進行訓練,其余6行用于測試。然后返回這 6 條記錄的分類概率。但對我來說壞消息是,我不能使用任何機器學習庫,只能使用NumPy和SciPy。有沒有辦法實現這一點?如果是這樣,是否有任何從頭開始實現此方法的示例代碼?提前感謝您!
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

最簡單的解決方案是使用 pandas 的方法,然后應用采樣,在你的情況下從 72 行中得到 66 行:groupbyfrac=0.91

cL2=cL.groupby(['classList']).apply(lambda x: x.sample(frac=0.91))

這將創建一個 MultiIndex 數據幀,該數據幀通過重置索引、刪除與該方法關聯的列'classList',并選擇性地刪除一個額外的數據幀(此處參照分組變量的數量命名):將其轉換為普通數據幀:groupbylevel_1

cL3=cL2.drop(columns=['classList']).reset_index().drop(columns=['level_1'])


查看完整回答
反對 回復 2022-08-02
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號