2017-09-16 5 views
0
와 내가 파이썬에서 기계 학습에 대한 책을 다음있어

을 나이브 베이 즈 분류를 사용하고 난 그냥이 코드를 이해하지 못하는 방법 :하고 Scikit

import numpy as np 
import matplotlib.pyplot as plt 
from sklearn.naive_bayes import GaussianNB 
from sklearn import cross_validation 

from utilities import visualize_classifier 

# Input file containing data 
input_file = 'data_multivar_nb.txt' 

# Load data from input file 
data = np.loadtxt(input_file, delimiter=',') 
X, y = data[:, :-1], data[:, -1] 

# Create Naive Bayes classifier 
classifier = GaussianNB() 

# Train the classifier 
classifier.fit(X, y) 

# Predict the values for training data 
y_pred = classifier.predict(X) 

# Compute accuracy 
accuracy = 100.0 * (y == y_pred).sum()/X.shape[0] 
print("Accuracy of Naive Bayes classifier =", round(accuracy, 2), "%") 

난 그냥 몇 가지 질문이 있습니다

데이터 [:, : -1] 및 데이터 [:, -1]의 기능은 무엇입니까? 입력 파일의 형태 :

2.18,0.57,0 
4.13,5.12,1 
9.87,1.95,2 
4.02,-0.8,3 
1.18,1.03,0 
4.59,5.74,1 

어떻게 컴퓨팅 정확도 부품 작동합니까? X.shape [0]이란 무엇입니까? 마지막으로 분류 기준을 사용하여 y 값을 새로운 값으로 예측하려면 어떻게해야합니까?

답변

0

numpy 배열을 색인 할 때 대괄호는 목록과 비슷합니다.

my_list[-1]은 목록의 마지막 항목을 반환합니다.

예를 들면.

my_list = [1, 2, 3, 4] 
my_list[-1] 
4 

목록 색인 생성에 익숙하다면 조각이 무엇인지 알 수 있습니다.

my_list[:-1]은 처음부터 마지막까지 모든 항목을 반환합니다. 코드에서

my_list[:-1] 
[1, 2, 3] 

, data[:, :-1]은 단순히 2 차원 슬라이스로 인덱싱된다. 자세한 정보는 numpy 배열의 문서를 참조하십시오. 이해 ndarrays은 sklearn을 사용하기위한 필수 조건입니다.