尝试加载自定义数据以在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.
答案 0 :(得分:12)
以下内容应该让你开始,你需要大熊猫和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])