사건 A가 발생했을 때, 사건 B가 발생할 확률
-> COVID-99의 발병률이 10%로 알려져있다. COVID-99에 실제로 걸렸을 때 검진될 확률은 99%, 실제로 걸리지 않았을 때 오검진될 확률이 1%라고 할 때,어떤 사람이 질병에 걸렸다고 검진결과가 나왔을때 정말로 COVID-99에 감염되었을 확률은?
조건부확률은 유용한 통계적해석을 제공하지만 인과관계(causality)를 추론할 때 함부로 사용해서는 안된다. 조건부확률만 가지고 인과관계를 추론하는 것은 불가능하다.
인과관계는 데이터 분포의 변화에 강건한 예측모형을 만들 때 필요하다.
단, 인과관계만으로 높은 예측 정확도를 담보하기는 어렵다.
인과관계를 알아내기 위해서는 중첩요인(confoundingfactor)의 효과를 제거하고 원인에 해당하는 변수만의 인과관계를 계산해야 한다.
ex) T : 키, R : 지능지수, Z : 연령
X = data['text'] #리뷰 텍스트
y = data['stars'] #별점
from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer()
cv.fit(X)
X = cv.transform(X)
CountVectorizer : 단어별 빈도를 계산하여 데이터 프레임으로 정리
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 100)
from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()
model.fit(X_train, y_train)
pred = model.predict(X_test)
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
accuracy_score(y_test, pred)
confusion_matrix(y_test, pred)
print(classification_report(y_test, pred))