pandas “[Int64Index,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,\n...... dtype='int64')]在[列]中”

rvpgvaaj  于 2023-08-01  发布在  其他
关注(0)|答案(4)|浏览(95)

我目前正在尝试对pandas Dataframe 执行KFold,从csv读取pandas文件。不幸的是,我得到了一个错误:
“[Int64Index,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,\n...... dtype='int64')]在[列]中”
下面是我的代码:

def getSlicesOfData(read_csv):
    slice_training_data = read_csv[["player", "0", "1", "2", "3", "4", "5", "6", "7", "8"]]
    slice_prediction_data = read_csv[["best_move"]]
    return (slice_training_data, slice_prediction_data)

def getKFold(data_sliced):
    kf = KFold(n_splits=10, random_state=None, shuffle=False)
    return kf.split(data_sliced[0],data_sliced[1])
    #return TimeSeriesSplit(n_splits=10, max_train_size=9)

if __name__ == "__main__":
    read_csv = pd.read_csv('100games.csv')
    data_slice = getSlicesOfData(read_csv)
    for train_index, test_index in getKFold(data_slice):
        x_train, x_test = data_slice[0][train_index], data_slice[0][test_index]
        y_train, y_test = data_slice[1][train_index],data_slice[1][test_index]

字符串
如果在尝试获取训练数据时我做错了什么:

x_train, x_test = data_slice[0][train_index], data_slice[0][test_index]
            y_train, y_test = data_slice[1][train_index],data_slice[1][test_index]

06odsfpq

06odsfpq1#

您正在尝试对pandas数据框执行K折叠,这就是问题所在。尝试将数据结构从pandas改为numpy,然后重新运行代码。最后,您可能希望将数据结构从numpy改回pandas。

5jvtdoz2

5jvtdoz22#

转换为numpy使用:第一个月
试试看:

if __name__ == "__main__":
    read_csv = pd.read_csv('100games.csv')
    data_slice = getSlicesOfData(read_csv)
    for train_index, test_index in getKFold(data_slice):
        x_train, x_test = data_slice[0].values[train_index], data_slice[0].values[test_index]
        y_train, y_test = data_slice[1].values[train_index], data_slice[1].values[test_index]

字符串
标签:https://stackoverflow.com/a/51091177/5025009

a8jjtwal

a8jjtwal3#

试试iloc

x_train, x_test = data_slice[0].iloc[train_index], data_slice[0].iloc[test_index]
y_train, y_test = data_slice[1].iloc[train_index], data_slice[1].iloc[test_index]

字符串

lstz6jyr

lstz6jyr4#

我的意思是...看起来你对你的目标有一个公平的想法但是...如最佳移动
也许从3个最佳移动中计算,并给予每一个被选择和执行的加权机会。
10次分裂没有随机没有 Shuffle ...
就像6个分割1.5随机和2个 Shuffle ,它可能会表现得更好,因为…如果你的对手也走了这些捷径,但成功地让她跑了。
在生活中和电路中,当你冒险稍微偏离路线时,你的对手希望你使用典型的策略。别说了
我不是编码Maven,但从我所知道的基本原理来看..这还不够。这是一台计算机,你必须非常明确地说明你的指令

相关问题