inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

밑바닥 부터 시작하는 머신러닝 입문

NB Classifier Implementation

Smoothing 과 Log 연산을 사용했을 때 다른 결과가 나옵니다.

204

감동기

작성한 질문수 7

0

안녕하세요.

강의 잘 듣고 있습니다.

2_german_credit_application 따라하다가 Smoothing과 log를 적용해 보았는데,

결과가 원래와 다르게 나옵니다.

아래 코드입니다. 혹시 제가 실수한 곳이 있나요.

몇 시간이나 이것 저것 바꾸어 보았지만 찾지 못해서 질문드립니다.

고맙습니다.

import pandas as pd

import numpy as np

df = pd.read_csv('./fraud.csv', sep=',')

del df['ID']

y_data = df['Fraud'].as_matrix()

x_df = pd.get_dummies(df[['History', 'CoApplicant', 'Accommodation']])

x_data = x_df.as_matrix()

ix_y_is_true = np.where(y_data == True)[0]

ix_y_is_false = np.where(y_data == False)[0]

p_y_is_true = len(ix_y_is_true) / len(y_data)

p_y_is_false = len(ix_y_is_false)/ len(y_data)

# Smoothing...

k = 2

p_x_when_y_is_true_sm = (np.sum(x_data[ix_y_is_true], axis=0) + k) / (len(ix_y_is_true) + k * 2)

p_x_when_y_is_false_sm = (np.sum(x_data[ix_y_is_false], axis=0) + k) / (len(ix_y_is_false) + k * 2)

# Test

x_test = [0,1,0,0,0,1,0, 0,1,0]

p_true = np.log(p_y_is_true) + np.dot(x_test, np.log(p_x_when_y_is_true_sm))

p_false = np.log(p_y_is_false) + np.dot(x_test, np.log(p_x_when_y_is_false_sm))

print('p_true > p_false :', p_true > p_false)

머신러닝 배워볼래요?

답변 2

0

감동기

강의하신 내용에서는 p_true < p_false가 됩니다만 제가 올려드린 코드에서는 p_true > p_false가 됩니다.
x_test에 대한 추정값이 다르게 나옵니다.
Smoothing Factor 조정하니 결과가 다르게 나오네요, k를 1로 주면 강의하신대로 p_true < p_false인 결과가 나옵니다.
좋은 강의 항상 감사드립니다.

0

TeamLab

원래 결과와 다르게 나왔다는게? 값이 변경된건가요? 아니면 class가 변경된건가요?

environment setup - windows 사용자는 어떻게

0

214

0

Chapter 10에 대한 강의안이 없는것 같습니다.

0

287

0

이게 이렇게 어려운 이유가 뭐죠?

0

232

0

Python 코드 실행을 위한 코드 다운로드 관련

0

252

1

matrix product문제 질문 드립니다.

0

222

0

강의자료중 코드는 다운로드 안 되나요?

0

192

0

scikit-learn preprocessing 할때 Data Frame object has no attribute 'as matrix'라는 오류가 뜹니다

0

352

1

pdf 강의자료 다운로드 관련

0

214

1

과제 제출 시 위 에러가 나옵니다. 어떻게 해야 하나요?

0

228

1

Gradient Boosting에서 Light GBM, XGBOOST

0

331

1

np.where 값 리턴

0

305

1

숙제 제출 오류

0

218

1

다른분들이 짠 코드를 볼수있을까요?

0

205

1

house data 전처리 코드 관련 질문

0

684

1

설치이후 Pandas import 문제

0

1629

2

import sklearn import preprocessing 부터 에러가 납니다.

0

389

2

엑셀 파일 생성이 안됩니다.

0

489

2

딥러닝 강좌 관련해서 질문올립니다.

0

214

1

ch11 강의 코드

0

216

0

코드를 볼수 가 없어요

0

272

0

소스코드

0

171

1

질문있습니다

0

149

1

deactivate 가 되지 않는 경우

0

254

1

kaggle_titanic_pclass one-hot encoding에 대해 질문드립니다.

0

161

0