inflearn logo
강의

Course

Instructor

Introduction to Machine Learning from Scratch

NB Classifier Implementation

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

225

dkkahm2450

7 asked

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)

머신러닝 배워볼래요?

Answer 2

0

dkkahm2450

강의하신 내용에서는 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

236

0

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

0

309

0

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

0

255

0

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

0

307

1

matrix product문제 질문 드립니다.

0

256

0

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

0

233

0

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

0

392

1

pdf 강의자료 다운로드 관련

0

241

1

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

0

261

1

Gradient Boosting에서 Light GBM, XGBOOST

0

386

1

np.where 값 리턴

0

359

1

숙제 제출 오류

0

255

1

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

0

243

1

house data 전처리 코드 관련 질문

0

716

1

설치이후 Pandas import 문제

0

1687

2

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

0

456

2

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

0

552

2

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

0

251

1

ch11 강의 코드

0

247

0

코드를 볼수 가 없어요

0

308

0

소스코드

0

205

1

질문있습니다

0

181

1

deactivate 가 되지 않는 경우

0

287

1

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

0

183

0