이 글에서는 Python에서 Naive Bayes 알고리즘을 사용하는 방법에 대한 관련 지식을 주로 소개합니다. 매우 좋은 참조 값을 가지고 있습니다. 아래 에디터로 살펴보겠습니다
왜 제목이 '구현'이 아닌 '사용'인지 다시 한번 말씀드리겠습니다.
우선 전문가가 제공하는 알고리즘이 더 좋습니다 우리가 직접 작성하는 알고리즘보다 효율성과 정확성 모두 높습니다.
둘째, 수학을 잘 못하는 사람들에게는 알고리즘을 구현하기 위해 수많은 공식을 공부하는 것이 매우 고통스럽습니다.
다시 말하지만, 다른 사람이 제공한 알고리즘이 귀하의 요구를 충족시키지 못하는 한 "바퀴를 재발명"할 필요가 없습니다.
다시 본론으로 돌아가서 베이지안 알고리즘을 모른다면 관련 정보를 확인해 보세요.
1. 🎜>
P(A|B)=P(AB)/P(B)
2. 베이지안 추론:
P(A|B)=P(A)×P(B|A)/P(B)
사후 확률 = 사전 확률 × 유사성/정규화 상수
베이지안 알고리즘이 해결해야 할 문제는 유사성을 찾는 방법입니다. 즉, P(B|A)3의 값. 일반적으로 사용되는 세 가지 Naive Bayes 알고리즘이 scikit-learn 패키지에 제공되며, 이에 대한 설명은 다음과 같습니다.
1) Gaussian Naive Bayes: 속성/특성이 정규분포(아래 그림 참조)를 따른다고 가정하며 주로 수치 특성에 사용됩니다.
scikit-learn 패키지에 포함된 데이터를 사용합니다. 코드와 설명은 다음과 같습니다.>>>from sklearn import datasets ##导入包中的数据 >>> iris=datasets.load_iris() ##加载数据 >>> iris.feature_names ##显示特征名字 ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] >>> iris.data ##显示数据 array([[ 5.1, 3.5, 1.4, 0.2],[ 4.9, 3. , 1.4, 0.2],[ 4.7, 3.2, 1.3, 0.2]............ >>> iris.data.size ##数据大小 ---600个 >>> iris.target_names ##显示分类的名字 array(['setosa', 'versicolor', 'virginica'], dtype='<U10') >>> from sklearn.naive_bayes import GaussianNB ##导入高斯朴素贝叶斯算法 >>> clf = GaussianNB() ##给算法赋一个变量,主要是为了方便使用 >>> clf.fit(iris.data, iris.target) ##开始分类。对于量特别大的样本,可以使用函数partial_fit分类,避免一次加载过多数据到内存 >>> clf.predict(iris.data[0].reshape(1,-1)) ##验证分类。标红部分特别说明:因为predict的参数是数组,data[0]是列表,所以需要转换一下 array([0]) >>> data=np.array([6,4,6,2]) ##验证分类 >>> clf.predict(data.reshape(1,-1)) array([2])
2) 다항 분포 Naive Bayes: 텍스트 분류에 자주 사용되며 특징은 단어이고 값은 단어가 나타나는 횟수입니다.
##示例来在官方文档,详细说明见第一个例子 >>> import numpy as np >>> X = np.random.randint(5, size=(6, 100)) ##返回随机整数值:范围[0,5) 大小6*100 6行100列 >>> y = np.array([1, 2, 3, 4, 5, 6]) >>> from sklearn.naive_bayes import MultinomialNB >>> clf = MultinomialNB() >>> clf.fit(X, y) MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True) >>> print(clf.predict(X[2])) [3]
3) Bernoulli Naive Bayes: 각 특성은 Boolean 유형이며 결과는 0 또는 1, 즉 나타나지 않습니다.
##示例来在官方文档,详细说明见第一个例子 >>> import numpy as np >>> X = np.random.randint(2, size=(6, 100)) >>> Y = np.array([1, 2, 3, 4, 4, 5]) >>> from sklearn.naive_bayes import BernoulliNB >>> clf = BernoulliNB() >>> clf.fit(X, Y) BernoulliNB(alpha=1.0, binarize=0.0, class_prior=None, fit_prior=True) >>> print(clf.predict(X[2])) [3]
위 내용은 Python에서 Naive Bayes 알고리즘을 사용하는 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!