数据集:https://archive.ics.uci.edu/ml/datasets/Adult
这个数据集是字符数据集,你需要自己进行清洗数据转换数据之类的,好在python的字符串操作特别简单,好处理。特征取了学位情况、工作职业性质、工作单位之类的。
朴素贝叶斯:https://www.bilibili.com/video/av36338359?from=search&seid=1177086802297258225
这个的数据集是预测一个人的年薪是否能超过50k美元/年。
具体的数据特征请看下网站的解释:
由于是2分类,所以思路非常简单。实际上只需要求出一类的概率即可。
下面代码中的ConvertFeature是来转换字符型的数据到数字类型的数据的,但是我在main函数里面直接用了数字型的,所以实际上没有用到。
注意要改一下数据集的路径。
import torch
import torch.nn.modules
import torch.nn
import numpy as np
from torch.autograd import Variable #torch的基本变量
import torch.nn.functional as F #里面有很多torch的函数
import matplotlib.pyplot as plt
class solution:
def __init__(self):
self.RawData=[]
self.Data=[]
self.GetClass={}
self.NUMOFFEATURE=0
self.NUMOFDATA=0
def LoadData(self,PATH):
with open(PATH,'r') as f:
for line in f:
self.RawData.append([thing.strip() for thing in line.split(',')])
self.RawData=self.RawData[:-1]
self.NUMOFDATA=len(self.RawData)
def ShowRawData(self):
for item in self.RawData:
print(item)
def WashData(self):
attribute=len(self.RawData[0])-1
#print("attribute: {}".format(attribute))
index=0
while index
P2: return 1#大于50k
elif P1