我是ML的新手,我不了解sklearn部分

我们在第10行train,test = train_test_split(data,test_size=0.2)上做什么?

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB as gnb
from sklearn.metrics import accuracy_score
data = 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_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)," %")
daohaoa 回答:我是ML的新手,我不了解sklearn部分

train,test = train_test_split(data,test_size=0.2)

它将您的数据框分成两个较小的数据框,其中一个包含原始数据的80%(火车)和20%(测试)。

您可以检查形状并断言所有内容都可以

train.shape[0] + test.shape[0] == data.shape[0]

,

其背后的想法是将数据分为两组:

  • 训练集:我们用来训练模型以调整其参数值以调整数据的集合。
  • 验证集:我们用来测试模型调整数据性能的集,该数据以前从未见过。

模型在训练集中的表现仅表明该模型对这些数据是好是坏,但是如果我们想对模型进行泛化,则必须使用看不见的新数据进行测试。

本文链接:https://www.f2er.com/3158578.html

大家都在问