我们在第10行train, test = train_test_split(data, test_size=0.2)
做了什么?
import pandas as pdimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.naive_bayes import GaussianNB as gnbfrom sklearn.metrics import accuracy_scoredata = pd.read_csv(r'C:\Users\avina\OneDrive\Desktop\New folder\program2_diabetes-20191105T144141Z-001\program2_diabetes\die.csv')print (data.describe())features = ['Pregnancies', 'Glucose', 'BloodPressure', 'SkinThickness', 'BMI', 'Age', 'Insulin', 'DiabetesPedigreeFunction']target = 'Class'train, test = train_test_split(data, test_size=0.2)clf = gnb().fit(train[features], train[target]) y_predicted = clf.predict(test[features])print ("Accuracy ",round(accuracy_score(test[target], y_predicted)*100,2)," %")
回答:
train, test = train_test_split(data, test_size=0.2)
它将你的数据框分成了两个较小的数据框,一个包含原始数据的80%(训练集),另一个包含20%(测试集)。
你可以通过检查形状并使用以下代码确认所有数据都在:
train.shape[0] + test.shape[0] == data.shape[0]