제목이 "구현"이 아닌 "사용"인 이유를 반복합니다.
우선 전문가가 제공하는 알고리즘은 우리가 작성한 알고리즘보다 효율성과 정확성 측면에서 더 높습니다.
둘째, 수학을 잘 못하는 사람들에게는 알고리즘을 구현하기 위해 수많은 공식을 공부하는 것이 매우 고통스럽습니다.
다시 말하지만, 다른 사람이 제공한 알고리즘이 귀하의 요구를 충족시키지 못하는 한 "바퀴를 재발명"할 필요가 없습니다.
본격적으로 베이지안 알고리즘을 모른다면 관련 정보를 확인해 보세요.
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:속성
/feature가 정규 분포(아래 참조)를 따르고 주로 수치 특성에 사용된다고 가정합니다. 데이터는 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])여기에 관련된 질문: 방법 데이터가 배포된 정상적인 상황을 충족한다고 판단합니까? R 언어에는 관련 함수판단이 있거나 직접 그리면
볼 수 있지만 이는 좌표계에서 P(x,y)를 직접
그릴 수 있는 상황이다. 예제의 데이터를 어떻게 결정하는지는 아직 명확하지 않습니다. 이 부분은 나중에 추가하겠습니다. 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: 각 특성은 부울 유형이며 결과는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!