6

Scikit で NB 分類を実行するためにカスタム データを読み込もうとしています。サンプル データを Scikit にロードしてから NB を実行する際に助けが必要です。ターゲットのカテゴリ値を読み込む方法。

トレーニングとテストに同じデータを使用するか、テスト専用の完全なセットを使用します。

Sl No,Member ID,Member Name,Location,DOB,Gender,Marital Status,Children,Ethnicity,Insurance Plan ID,Annual Income ($),Twitter User ID
1,70000001,Fly Dorami,New York,39786,M,Single,,Asian,2002,0,548900028
2,70000002,Bennie Ariana,Pennsylvania,6/24/1940,F,Single,,Caucasian,2002,66313,
3,70000003,Brad Farley,Pennsylvania,12001,F,Married,4,African American,2002,98444,
4,70000004,Daggoo Cece,Indiana,14032,F,Married,2,Hispanic,2001,41896,113481472.
4

1 に答える 1

13

以下は、パンダとnumpyが必要な開始方法です。.csv をデータ フレームに読み込み、それを使用してモデルに入力できます。分離しようとしているものに応じて、ターゲットを定義する必要があります (バイナリ分類を想定すると、ネガティブの場合は 0、ポジティブの場合は 1)。

from sklearn.naive_bayes import GaussianNB
import pandas as pd
import numpy as np

# create data frame containing your data, each column can be accessed # by df['column   name']
df = pd.read_csv('/your/path/yourFile.csv')

target_names = np.array(['Positives','Negatives'])

# add columns to your data frame
df['is_train'] = np.random.uniform(0, 1, len(df)) <= 0.75
df['Type'] = pd.Factor(targets, target_names)
df['Targets'] = targets

# define training and test sets
train = df[df['is_train']==True]
test = df[df['is_train']==False]

trainTargets = np.array(train['Targets']).astype(int)
testTargets = np.array(test['Targets']).astype(int)

# columns you want to model
features = df.columns[0:7]

# call Gaussian Naive Bayesian class with default parameters
gnb = GaussianNB()

# train model
y_gnb = gnb.fit(train[features], trainTargets).predict(train[features])
于 2013-08-23T17:50:14.310 に答える