最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python sklearn KFold 生成交叉驗(yàn)證數(shù)據(jù)集的方法

 更新時(shí)間:2018年12月11日 15:13:49   作者:Ichimaru_Gin_  
今天小編就為大家分享一篇Python sklearn KFold 生成交叉驗(yàn)證數(shù)據(jù)集的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

源起:

1.我要做交叉驗(yàn)證,需要每個(gè)訓(xùn)練集和測(cè)試集都保持相同的樣本分布比例,直接用sklearn提供的KFold并不能滿足這個(gè)需求。

2.將生成的交叉驗(yàn)證數(shù)據(jù)集保存成CSV文件,而不是直接用sklearn訓(xùn)練分類模型。

3.在編碼過(guò)程中有一的誤區(qū)需要注意:

這個(gè)sklearn官方給出的文檔

>>> import numpy as np
>>> from sklearn.model_selection import KFold
 
>>> X = ["a", "b", "c", "d"]
>>> kf = KFold(n_splits=2)
>>> for train, test in kf.split(X):
...  print("%s %s" % (train, test))
[2 3] [0 1]
[0 1] [2 3]

我之前犯的一個(gè)錯(cuò)誤是將train,test理解成原數(shù)據(jù)集分割成子數(shù)據(jù)集之后的子數(shù)據(jù)集索引。而實(shí)際上,它就是原始數(shù)據(jù)集本身的樣本索引。

源碼:

# -*- coding:utf-8 -*-
# 得到交叉驗(yàn)證數(shù)據(jù)集,保存成CSV文件
# 輸入是一個(gè)包含正常惡意標(biāo)簽的完整數(shù)據(jù)集,在讀數(shù)據(jù)的時(shí)候分開保存到datasetBenign,datasetMalicious
# 分別對(duì)兩個(gè)數(shù)據(jù)集進(jìn)行KFold,最后合并保存
 
from sklearn.model_selection import KFold
import csv
 
def writeInFile(benignKFTrain, benignKFTest, maliciousKFTrain, maliciousKFTest, i, datasetBenign, datasetMalicious):
 newTrainFilePath = "E:\\hadoopExperimentResult\\5KFold\\AllDataSetIIR10\\dataset\\ImbalancedAllTraffic-train-%s.csv" % i
 newTestFilePath = "E:\\hadoopExperimentResult\\5KFold\\AllDataSetIIR10\\dataset\\IImbalancedAllTraffic-test-%s.csv" % i
 newTrainFile = open(newTrainFilePath, "wb")# wb 為防止空行
 newTestFile = open(newTestFilePath, "wb")
 writerTrain = csv.writer(newTrainFile)
 writerTest = csv.writer(newTestFile)
 for index in benignKFTrain:
  writerTrain.writerow(datasetBenign[index])
 for index in benignKFTest:
  writerTest.writerow(datasetBenign[index])
 for index in maliciousKFTrain:
  writerTrain.writerow(datasetMalicious[index])
 for index in maliciousKFTest:
  writerTest.writerow(datasetMalicious[index])
 newTrainFile.close()
 newTestFile.close()
 
 
def getKFoldDataSet(datasetPath):
 # CSV讀取文件
 # 開始從文件中讀取全部的數(shù)據(jù)集
 datasetFile = file(datasetPath, 'rb')
 datasetBenign = []
 datasetMalicious = []
 readerDataset = csv.reader(datasetFile)
 for line in readerDataset:
  if len(line) > 1:
   curLine = []
   curLine.append(float(line[0]))
   curLine.append(float(line[1]))
   curLine.append(float(line[2]))
   curLine.append(float(line[3]))
   curLine.append(float(line[4]))
   curLine.append(float(line[5]))
   curLine.append(float(line[6]))
   curLine.append(line[7])
   if line[7] == "benign":
    datasetBenign.append(curLine)
   else:
    datasetMalicious.append(curLine)
 
 # 交叉驗(yàn)證分割數(shù)據(jù)集
 K = 5
 kf = KFold(n_splits=K)
 benignKFTrain = []; benignKFTest = []
 for train,test in kf.split(datasetBenign):
  benignKFTrain.append(train)
  benignKFTest.append(test)
 maliciousKFTrain=[]; maliciousKFTest=[]
 for train,test in kf.split(datasetMalicious):
  maliciousKFTrain.append(train)
  maliciousKFTest.append(test)
 for i in range(K):
  print "======================== "+ str(i)+ " ========================"
  print benignKFTrain[i], benignKFTest[i]
  print maliciousKFTrain[i],maliciousKFTest[i]
  writeInFile(benignKFTrain[i], benignKFTest[i], maliciousKFTrain[i], maliciousKFTest[i], i, datasetBenign,
     datasetMalicious)
 
 datasetFile.close()
 
 
if __name__ == "__main__":
 
 getKFoldDataSet(r"E:\hadoopExperimentResult\5KFold\AllDataSetIIR10\dataset\ImbalancedAllTraffic-10.csv")

以上這篇Python sklearn KFold 生成交叉驗(yàn)證數(shù)據(jù)集的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判颉⒆址ヅ渌惴ê妥钚∩蓸鋵?shí)例

    Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判?、字符串匹配算法和最小生成樹?shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)經(jīng)典算法拓?fù)渑判?、字符串匹配算法和最小生成樹?shí)例,拓?fù)渑判?、字符串匹配算法和最小生成樹是?jì)算機(jī)科學(xué)中常用的數(shù)據(jù)結(jié)構(gòu)和算法,它們?cè)诮鉀Q各種實(shí)際問(wèn)題中具有重要的應(yīng)用價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 解決pymysql cursor.fetchall() 獲取不到數(shù)據(jù)的問(wèn)題

    解決pymysql cursor.fetchall() 獲取不到數(shù)據(jù)的問(wèn)題

    這篇文章主要介紹了解決pymysql cursor.fetchall() 獲取不到數(shù)據(jù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Python如何獲取模塊中類以及類的屬性方法信息

    Python如何獲取模塊中類以及類的屬性方法信息

    python對(duì)屬性權(quán)限的控制是通過(guò)屬性名來(lái)實(shí)現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于Python如何獲取模塊中類以及類的屬性方法信息的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • Python Tornado之跨域請(qǐng)求與Options請(qǐng)求方式

    Python Tornado之跨域請(qǐng)求與Options請(qǐng)求方式

    這篇文章主要介紹了Python Tornado之跨域請(qǐng)求與Options請(qǐng)求方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python基于回溯法子集樹模板解決取物搭配問(wèn)題實(shí)例

    Python基于回溯法子集樹模板解決取物搭配問(wèn)題實(shí)例

    這篇文章主要介紹了Python基于回溯法子集樹模板解決取物搭配問(wèn)題,簡(jiǎn)單描述了搭配問(wèn)題并結(jié)合實(shí)例形式分析了Python使用回溯法子集樹模板解決取物搭配問(wèn)題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Python中的列表生成式與生成器學(xué)習(xí)教程

    Python中的列表生成式與生成器學(xué)習(xí)教程

    這篇文章主要介紹了Python中的列表生成式與生成器學(xué)習(xí)教程,Python中的Generator生成器比列表生成式功能更為強(qiáng)大,需要的朋友可以參考下
    2016-03-03
  • python中argparse模塊及action='store_true'詳解

    python中argparse模塊及action='store_true'詳解

    argparse?是一個(gè)用來(lái)解析命令行參數(shù)的?Python?庫(kù),它是?Python?標(biāo)準(zhǔn)庫(kù)的一部分,這篇文章主要介紹了python中argparse模塊及action=‘store_true‘詳解,需要的朋友可以參考下
    2023-02-02
  • Python使用WebSocket和SSE實(shí)現(xiàn)HTTP服務(wù)器消息推送方式

    Python使用WebSocket和SSE實(shí)現(xiàn)HTTP服務(wù)器消息推送方式

    本文介紹了兩種實(shí)時(shí)數(shù)據(jù)獲取的技術(shù):WebSocket和SSE,WebSocket是全雙工通信協(xié)議,支持雙向通信,但需要專門定義數(shù)據(jù)協(xié)議,SSE是一種單工通信技術(shù),基于HTTP的流式數(shù)據(jù)傳輸,客戶端開發(fā)簡(jiǎn)單,但只能單工通信
    2024-11-11
  • Python學(xué)習(xí)之列表和元組的使用詳解

    Python學(xué)習(xí)之列表和元組的使用詳解

    如果說(shuō)在Python語(yǔ)言中找一個(gè)最優(yōu)秀的數(shù)據(jù)類型,那無(wú)疑是列表,如果要在推薦一個(gè),那我選擇元組。本篇文章我們的重心會(huì)放在列表上,元組可以看成不能被修改的列表,感興趣的可以了解一下
    2022-10-10
  • Python使用自帶的base64庫(kù)進(jìn)行base64編碼和解碼

    Python使用自帶的base64庫(kù)進(jìn)行base64編碼和解碼

    在Python中,處理數(shù)據(jù)的編碼和解碼是數(shù)據(jù)傳輸和存儲(chǔ)中非常普遍的需求,其中,Base64是一種常用的編碼方案,本文我將詳細(xì)介紹如何使用Python的base64庫(kù)進(jìn)行Base64編碼和解碼,需要的朋友可以參考下
    2025-04-04

最新評(píng)論

栾城县| 德江县| 扬州市| 唐海县| 安福县| 庐江县| 资中县| 体育| 通州市| 普安县| 泰兴市| 溧阳市| 宝山区| 呼伦贝尔市| 通江县| 德钦县| 古田县| 深泽县| 和静县| 从化市| 龙南县| 绥化市| 壶关县| 昭苏县| 黎城县| 大厂| 石阡县| 洪雅县| 潞城市| 黄骅市| 家居| 和龙市| 沙河市| 霍山县| 梧州市| 长丰县| 女性| 无为县| 荔浦县| 乡宁县| 兴安县|