Привет, ребята. Я пытаюсь выполнить перекрестную проверку K-Fold для этого набора данных страхования, но я пытаюсь использовать для l oop, чтобы перебрать массив целых чисел. Вывод выдает мне следующую ошибку:
ValueError: The number of folds must be of Integral type. [3, 4, 5, 6, 7, 8, 9, 10, 11, 12] of type <class 'list'> was passed.
Может кто-нибудь объяснить, о чем эта ошибка и как ее устранить. Ниже приведен мой код для перекрестной проверки K.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import VarianceThreshold,mutual_info_classif,mutual_info_regression
from sklearn.feature_selection import SelectKBest, SelectPercentile
data_ = pd.read_csv("insurance.csv")
print(data_.head())
# Create dummies
data_dummies= pd.get_dummies(data_, columns = ['sex','region','smoker'])
print(data_dummies.head())
data_dummies = pd.DataFrame(data_dummies)
data_cleaned = data_dummies.drop(['sex_female','region_southwest','smoker_no'],axis = 'columns')
X= data_cleaned.drop(['charges'], axis = 'columns')
y = data_cleaned['charges']
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state = 0)
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
ind = [3,4,5,6,7,8,9,10,11,12]
for i in ind:
kfold = KFold(n_splits=ind,shuffle=True,random_state=0)
model = LinearRegression()
scores = cross_val_score(model,X,y,cv=kfold,scoring='neg_mean_squared_error')
print(scores)