{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# Any results you write to the current directory are saved as output.","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"MRSDR_DF=pd.read_csv('/kaggle/input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MDataFiles_Stage1/MRegularSeasonDetailedResults.csv')\nclms_teams=['Season', 'DayNum', 'TeamID', 'Score', 'vsTeamID', 'vxScore', 'Loc','NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA', 'OR', 'DR','Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3', 'vsFGA3','vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl', 'vsBlk', 'vsPF']\nclms_teams_looser=['Season', 'DayNum', 'vsTeamID', 'vxScore','TeamID', 'Score',  'Loc','NumOT', 'vsFGM', 'vsFGA', 'vsFGM3', 'vsFGA3','vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl', 'vsBlk', 'vsPF' , 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA', 'OR', 'DR','Ast', 'TO', 'Stl', 'Blk', 'PF']\nlen(MRSDR_DF)\nDF_SeasonResult=pd.DataFrame(columns=clms_teams)\nLooser=pd.DataFrame(columns=clms_teams_looser)\n\ndata_len=len(MRSDR_DF)\n\n#winner\nDF_SeasonResult=MRSDR_DF.copy()\n\n#Looser\nLooser=MRSDR_DF.copy()\nLooser=Looser.replace(\"H\",\"Z\")\nLooser=Looser.replace(\"A\",\"H\")\nLooser=Looser.replace(\"Z\",\"A\")\n\nDF_SeasonResult.columns=clms_teams\nLooser.columns=clms_teams_looser\n\nDF_SeasonResult=DF_SeasonResult.append(Looser)\n\nDF_SeasonResult=DF_SeasonResult[clms_teams]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Bool=DF_SeasonResult['Season']==2003\nDF_2003=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2004\nDF_2004=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2005\nDF_2005=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2006\nDF_2006=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2007\nDF_2007=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2008\nDF_2008=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2009\nDF_2009=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2010\nDF_2010=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2011\nDF_2011=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2012\nDF_2012=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2013\nDF_2013=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2014\nDF_2014=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2015\nDF_2015=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2016\nDF_2016=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2017\nDF_2017=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2018\nDF_2018=DF_SeasonResult[Bool]\n\nBool=DF_SeasonResult['Season']==2019\nDF_2019=DF_SeasonResult[Bool]\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"DF_2003=DF_2003.reset_index(drop=True)\nDF_2004=DF_2004.reset_index(drop=True)\nDF_2005=DF_2005.reset_index(drop=True)\nDF_2006=DF_2006.reset_index(drop=True)\nDF_2007=DF_2007.reset_index(drop=True)\nDF_2008=DF_2008.reset_index(drop=True)\nDF_2009=DF_2009.reset_index(drop=True)\nDF_2010=DF_2010.reset_index(drop=True)\nDF_2011=DF_2011.reset_index(drop=True)\nDF_2012=DF_2012.reset_index(drop=True)\nDF_2013=DF_2013.reset_index(drop=True)\nDF_2014=DF_2014.reset_index(drop=True)\nDF_2015=DF_2015.reset_index(drop=True)\nDF_2016=DF_2016.reset_index(drop=True)\nDF_2017=DF_2017.reset_index(drop=True)\nDF_2018=DF_2018.reset_index(drop=True)\nDF_2019=DF_2019.reset_index(drop=True)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"DF_2003.to_csv(\"DF_2003.csv\",sep=\",\",index=False)\nDF_2004.to_csv(\"DF_2004.csv\",sep=\",\",index=False)\nDF_2005.to_csv(\"DF_2005.csv\",sep=\",\",index=False)\nDF_2006.to_csv(\"DF_2006.csv\",sep=\",\",index=False)\nDF_2007.to_csv(\"DF_2007.csv\",sep=\",\",index=False)\nDF_2008.to_csv(\"DF_2008.csv\",sep=\",\",index=False)\nDF_2009.to_csv(\"DF_2009.csv\",sep=\",\",index=False)\nDF_2010.to_csv(\"DF_2010.csv\",sep=\",\",index=False)\nDF_2011.to_csv(\"DF_2011.csv\",sep=\",\",index=False)\nDF_2012.to_csv(\"DF_2012.csv\",sep=\",\",index=False)\nDF_2013.to_csv(\"DF_2013.csv\",sep=\",\",index=False)\nDF_2014.to_csv(\"DF_2014.csv\",sep=\",\",index=False)\nDF_2015.to_csv(\"DF_2015.csv\",sep=\",\",index=False)\nDF_2016.to_csv(\"DF_2016.csv\",sep=\",\",index=False)\nDF_2017.to_csv(\"DF_2017.csv\",sep=\",\",index=False)\nDF_2018.to_csv(\"DF_2018.csv\",sep=\",\",index=False)\nDF_2019.to_csv(\"DF_2019.csv\",sep=\",\",index=False)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Tourny"},{"metadata":{"trusted":true},"cell_type":"code","source":"MTDR_DF=pd.read_csv('/kaggle/input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MDataFiles_Stage1/MNCAATourneyDetailedResults.csv')\nclms_teams=['Season', 'DayNum', 'TeamID', 'Score', 'vsTeamID', 'vxScore', 'Loc','NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA', 'OR', 'DR','Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3', 'vsFGA3','vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl', 'vsBlk', 'vsPF']\nclms_teams_looser=['Season', 'DayNum', 'vsTeamID', 'vxScore','TeamID', 'Score',  'Loc','NumOT', 'vsFGM', 'vsFGA', 'vsFGM3', 'vsFGA3','vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl', 'vsBlk', 'vsPF' , 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA', 'OR', 'DR','Ast', 'TO', 'Stl', 'Blk', 'PF']\nlen(MTDR_DF)\nDF_TourneyResult=pd.DataFrame(columns=clms_teams)\nLooser=pd.DataFrame(columns=clms_teams_looser)\n\ndata_len=len(MTDR_DF)\n\n#winner\nDF_TourneyResult=MTDR_DF.copy()\n\n#Looser\nLooser=MTDR_DF.copy()\nLooser=Looser.replace(\"H\",\"Z\")\nLooser=Looser.replace(\"A\",\"H\")\nLooser=Looser.replace(\"Z\",\"A\")\n\nDF_TourneyResult.columns=clms_teams\nLooser.columns=clms_teams_looser\n\nDF_TourneyResult=DF_TourneyResult.append(Looser)\n\nDF_TourneyResult=DF_TourneyResult[clms_teams]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"DF_TourneyResult.reset_index()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Bool=DF_TourneyResult['Season']==2003\nDF_2003TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2004\nDF_2004TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2005\nDF_2005TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2006\nDF_2006TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2007\nDF_2007TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2008\nDF_2008TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2009\nDF_2009TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2010\nDF_2010TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2011\nDF_2011TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2012\nDF_2012TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2013\nDF_2013TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2014\nDF_2014TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2015\nDF_2015TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2016\nDF_2016TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2017\nDF_2017TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2018\nDF_2018TR=DF_TourneyResult[Bool]\n\nBool=DF_TourneyResult['Season']==2019\nDF_2019TR=DF_TourneyResult[Bool]\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"DF_2003TR=DF_2003TR.reset_index(drop=True)\nDF_2004TR=DF_2004TR.reset_index(drop=True)\nDF_2005TR=DF_2005TR.reset_index(drop=True)\nDF_2006TR=DF_2006TR.reset_index(drop=True)\nDF_2007TR=DF_2007TR.reset_index(drop=True)\nDF_2008TR=DF_2008TR.reset_index(drop=True)\nDF_2009TR=DF_2009TR.reset_index(drop=True)\nDF_2010TR=DF_2010TR.reset_index(drop=True)\nDF_2011TR=DF_2011TR.reset_index(drop=True)\nDF_2012TR=DF_2012TR.reset_index(drop=True)\nDF_2013TR=DF_2013TR.reset_index(drop=True)\nDF_2014TR=DF_2014TR.reset_index(drop=True)\nDF_2015TR=DF_2015TR.reset_index(drop=True)\nDF_2016TR=DF_2016TR.reset_index(drop=True)\nDF_2017TR=DF_2017TR.reset_index(drop=True)\nDF_2018TR=DF_2018TR.reset_index(drop=True)\nDF_2019TR=DF_2019TR.reset_index(drop=True)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"DF_2003TR.to_csv(\"DF_2003TR.csv\",sep=\",\",index=False)\nDF_2004TR.to_csv(\"DF_2004TR.csv\",sep=\",\",index=False)\nDF_2005TR.to_csv(\"DF_2005TR.csv\",sep=\",\",index=False)\nDF_2006TR.to_csv(\"DF_2006TR.csv\",sep=\",\",index=False)\nDF_2007TR.to_csv(\"DF_2007TR.csv\",sep=\",\",index=False)\nDF_2008TR.to_csv(\"DF_2008TR.csv\",sep=\",\",index=False)\nDF_2009TR.to_csv(\"DF_2009TR.csv\",sep=\",\",index=False)\nDF_2010TR.to_csv(\"DF_2010TR.csv\",sep=\",\",index=False)\nDF_2011TR.to_csv(\"DF_2011TR.csv\",sep=\",\",index=False)\nDF_2012TR.to_csv(\"DF_2012TR.csv\",sep=\",\",index=False)\nDF_2013TR.to_csv(\"DF_2013TR.csv\",sep=\",\",index=False)\nDF_2014TR.to_csv(\"DF_2014TR.csv\",sep=\",\",index=False)\nDF_2015TR.to_csv(\"DF_2015TR.csv\",sep=\",\",index=False)\nDF_2016TR.to_csv(\"DF_2016TR.csv\",sep=\",\",index=False)\nDF_2017TR.to_csv(\"DF_2017TR.csv\",sep=\",\",index=False)\nDF_2018TR.to_csv(\"DF_2018TR.csv\",sep=\",\",index=False)\nDF_2019TR.to_csv(\"DF_2019TR.csv\",sep=\",\",index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nplt.figure(figsize=(16,16)) #heatmap size\nsns.heatmap(DF_2003.corr(), annot=True, cmap='plasma', linewidths=.5) ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"TeamData"},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nDF=pd.read_csv(\"DF_2003.csv\")\nclms=['Season', 'DayNum', 'TeamID', 'Score', 'vsTeamID', 'vsScore', 'Loc',\n       'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA', 'OR', 'DR', 'Ast',\n       'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3', 'vsFGA3', 'vsFTM',\n       'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl', 'vsBlk', 'vsPF']\nclms_tm=['Season', 'Games','Win','Lose','TeamID', 'Score', 'vsScore', \n       'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA', 'OR', 'DR', 'Ast',\n       'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3', 'vsFGA3', 'vsFTM',\n       'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl', 'vsBlk', 'vsPF']\n\ntemp=pd.DataFrame(columns=clms)\ntdtemp=pd.DataFrame(np.zeros(34).reshape(1,34))\ntdtemp.columns=clms_tm\nTeamDATA=pd.DataFrame(columns=clms_tm)\n\nfor Year in range(2003,2020):\n    filename=(\"DF_%d.csv\" %  Year)\n    filenameTR=(\"DF_%dTR.csv\" %  Year)\n    DF=pd.read_csv(filename)\n    TR=pd.read_csv(filenameTR)\n    TeamDATA=pd.DataFrame(columns=clms_tm)\n    \n    DB=DF.append(TR)\n    DB=DB.reset_index()\n    Team_list=DB['TeamID'].unique().tolist()\n    for num in range(len(Team_list)):\n        TeamID=int(Team_list[num])\n\n        temp=DF[DF['TeamID']==Team_list[num]]\n        temp=temp.reset_index()\n        Season=temp['Season'][0]\n        Games=len(temp)\n        Win=temp[temp['Score']>temp['vxScore']]['index'].count()\n        Lose=temp[temp['Score']<temp['vxScore']]['index'].count()\n        TeamID=temp['TeamID'][0]\n        Score=temp['Score'].sum()/Games\n        vsScore=temp['vxScore'].sum()/Games\n        NumOT=temp['NumOT'].sum()/Games\n        FGM=temp['FGM'].sum()/Games\n        FGA=temp['FGA'].sum()/Games\n        FGM3=temp['FGM3'].sum()/Games\n        FGA3=temp['FGA3'].sum()/Games\n        FTM=temp['FTM'].sum()/Games\n        FTA=temp['FTA'].sum()/Games\n        OR=temp['OR'].sum()/Games\n        DR=temp['DR'].sum()/Games\n        Ast=temp['Ast'].sum()/Games\n        TO=temp['TO'].sum()/Games\n        Stl=temp['Stl'].sum()/Games\n        Blk=temp['Blk'].sum()/Games\n        PF=temp['PF'].sum()/Games\n        vsFGM=temp['vsFGM'].sum()/Games\n        vsFGA=temp['vsFGA'].sum()/Games\n        vsFGM3=temp['vsFGM3'].sum()/Games\n        vsFGA3=temp['vsFGA3'].sum()/Games\n        vsFTM=temp['vsFTM'].sum()/Games\n        vsFTA=temp['vsFTA'].sum()/Games\n        vsOR=temp['vsOR'].sum()/Games\n        vsDR=temp['vsDR'].sum()/Games\n        vsAst=temp['vsAst'].sum()/Games\n        vsTO=temp['vsTO'].sum()/Games\n        vsStl=temp['vsStl'].sum()/Games\n        vsBlk=temp['vsBlk'].sum()/Games\n        vsPF=temp['vsPF'].sum()/Games\n\n        tdtemp['Season'][0]=Season\n        tdtemp['Games'][0]=Games\n        tdtemp['Win'][0]=Win\n        tdtemp['Lose'][0]=Lose\n        tdtemp['TeamID'][0]=TeamID\n        tdtemp['Score'][0]=Score\n        tdtemp['vsScore'][0]=vsScore\n        tdtemp['NumOT'][0]=NumOT\n        tdtemp['FGM'][0]=FGM\n        tdtemp['FGA'][0]=FGA\n        tdtemp['FGM3'][0]=FGM3\n        tdtemp['FGA3'][0]=FGA3\n        tdtemp['FTM'][0]=FTM\n        tdtemp['FTA'][0]=FTA\n        tdtemp['OR'][0]=OR\n        tdtemp['DR'][0]=DR\n        tdtemp['Ast'][0]=Ast\n        tdtemp['TO'][0]=TO\n        tdtemp['Stl'][0]=Stl\n        tdtemp['Blk'][0]=Blk\n        tdtemp['PF'][0]=PF\n        tdtemp['vsFGM'][0]=vsFGM\n        tdtemp['vsFGA'][0]=vsFGA\n        tdtemp['vsFGM3'][0]=vsFGM3\n        tdtemp['vsFGA3'][0]=vsFGA3\n        tdtemp['vsFTM'][0]=vsFTM\n        tdtemp['vsFTA'][0]=vsFTA\n        tdtemp['vsOR'][0]=vsOR\n        tdtemp['vsDR'][0]=vsDR\n        tdtemp['vsAst'][0]=vsAst\n        tdtemp['vsTO'][0]=vsTO\n        tdtemp['vsStl'][0]=vsStl\n        tdtemp['vsBlk'][0]=vsBlk\n        tdtemp['vsPF'][0]=vsPF\n        TeamDATA=TeamDATA.append(tdtemp)\n    filename3=(\"TeamData%d.csv\"% Year)\n    TeamDATA.to_csv(filename3,index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nfor Year in range(2003,2020):\n    filename=(\"/kaggle/input/0318data4/TeamData%d.csv\" % Year)\n    Tdata=pd.read_csv(filename)\n    Tdata=Tdata.assign(Winpct=0)\n    Tdata['Winpct']=Tdata['Win']/(Tdata['Games'])\n    filename2=(\"TeamData%d.csv\" % Year)\n    Tdata.to_csv(filename2,index=False)\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"チームスコア"},{"metadata":{"trusted":true},"cell_type":"code","source":"#TeamScore\nyear=2003\nfilename=(\"/kaggle/input/0318data4/TeamData%d.csv\" % year)\ndf=pd.read_csv(filename)\nclms=df.columns\n\nTeamScore=pd.DataFrame(columns=clms)\n\nfor year in range(2003,2020):\n    filename=(\"/kaggle/input/0318data4/TeamData%d.csv\" % year)\n    df=pd.read_csv(filename)\n   \n    TeamScore=TeamScore.append(df)\n\nTeamScore=TeamScore.replace('',np.nan,)\nTeamScore=TeamScore.dropna()\nTeamScore.reset_index()\nTeamScore.to_csv(\"TeamScore.csv\",sep=\",\",index=False)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"分析データ元作成"},{"metadata":{"trusted":true},"cell_type":"code","source":"Train=pd.DataFrame(columns=['Season','TeamID','Score','vsTeamID','vsScore','LastSeason'])\nTeamScore=pd.read_csv(\"TeamScore.csv\")\n\nfor Year in range(2004,2020):\n    filename=(\"DF_%d.csv\" % Year)\n    df=pd.read_csv(filename)\n    \n    Season=df['Season']\n    TeamID=df['TeamID']\n    Score=df['Score']\n    vsTeamID=df['vsTeamID']\n    vsScore=df['vxScore']\n    LastSeason=df['Season']-1\n    \n    DF=pd.DataFrame(np.zeros(len(df)*6).reshape(len(df),6))\n    DF.columns=['Season','TeamID','Score','vsTeamID','vsScore','LastSeason']\n\n    DF['Season']=Season\n    DF['TeamID']=TeamID\n    DF['Score']=Score\n    DF['vsTeamID']=vsTeamID\n    DF['vsScore']=vsScore\n    DF['LastSeason']=LastSeason\n\n    Train=Train.append(DF)\n\n#TR\n    filename=(\"DF_%dTR.csv\" % Year)\n    df=pd.read_csv(filename)\n    \n    Season=df['Season']\n    TeamID=df['TeamID']\n    Score=df['Score']\n    vsTeamID=df['vsTeamID']\n    vsScore=df['vxScore']\n    LastSeason=df['Season']-1\n    \n    DF=pd.DataFrame(np.zeros(len(df)*6).reshape(len(df),6))\n    DF.columns=['Season','TeamID','Score','vsTeamID','vsScore','LastSeason']\n\n    DF['Season']=Season\n    DF['TeamID']=TeamID\n    DF['Score']=Score\n    DF['vsTeamID']=vsTeamID\n    DF['vsScore']=vsScore\n    DF['LastSeason']=LastSeason\n\n    Train=Train.append(DF)\n\n    \n    \nTrain=Train.reset_index()\n\n\nTrain=Train.assign(result=1)\nfor num in range(len(Train)):\n    if Train['Score'][num] < Train['vsScore'][num]:\n        Train['result'][num]=0\n\n\nTrain.to_csv(\"Train.csv\",sep=\",\",index=False)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Train","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"","_uuid":"","trusted":true},"cell_type":"code","source":"trial=pd.read_csv(\"/kaggle/input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MSampleSubmissionStage1_2020.csv\")\ntrial_cp=pd.DataFrame(columns=['Season','TeamID','vsTeamID','LastSeason'])\n\nfor data in trial.iterrows():\n    ID_string=trial[\"ID\"][data[0]]\n    putdata=([ID_string.split(\"_\")])\n    put_df=pd.DataFrame(putdata,columns=[\"Season\",\"TeamID\",\"vsTeamID\"])\n    trial_cp=trial_cp.append(put_df,ignore_index=True)\n\ntrial_cp['Season']=trial_cp['Season'].astype(np.int64)\ntrial_cp['TeamID']=trial_cp['TeamID'].astype(np.int64)\ntrial_cp['vsTeamID']=trial_cp['vsTeamID'].astype(np.int64)\n\ntrial_cp['LastSeason']=trial_cp['Season']-1\n\ntrial_cp.to_csv(\"testdata.csv\",sep=\",\",index=False)\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"トレーニングデータ作成"},{"metadata":{"trusted":true},"cell_type":"code","source":"TS","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\n\n#Train=pd.read_csv(\"/kaggle/input/0301data1/Train.csv\")\n#del Train['index']\n#TS=pd.read_csv(\"/kaggle/input/0301data1/TeamScore.csv\")\nTS=TeamScore\n\nMyTrain=pd.merge(Train,TS,left_on=['LastSeason','TeamID'],right_on=['Season','TeamID'],how=\"left\")\ndel MyTrain['Season_y']\nMyTrain.columns=['Season', 'TeamID','MyScore', 'vsTeamID','MyvsScore', 'LastSeason', 'result', 'Games','Win','Lose',\n       'Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']\nMyTr=MyTrain[['Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']]\n\nrvlTrain=pd.merge(Train,TS,left_on=['LastSeason','vsTeamID'],right_on=['Season','TeamID'],how=\"left\")\ndel rvlTrain['Season_y']\ndel rvlTrain['TeamID_y']\nrvlTrain.columns=['Season', 'TeamID','MyScore', 'vsTeamID','MyvsScore', 'LastSeason', 'result', 'Games','Win','Lose',\n       'Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']\nrvlTr=rvlTrain[['Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']]\nTr2=MyTr-rvlTr\n\nTr2.assign(result=0)\nTr2['result']=MyTrain['result']\nTr2.assign(Season=0)\nTr2['Season']=MyTrain['Season']\nTr2.assign(TeamID=0)\nTr2['TeamID']=MyTrain['TeamID']\nTr2.assign(vsTeamID=0)\nTr2['vsTeamID']=MyTrain['vsTeamID']\nTr2.assign(MyWinpct=0)\nTr2['MyWinpct']=MyTrain['Winpct']\nTr2.assign(MyScore=0)\nTr2['MyScore']=MyTrain['Score']\nTr2.assign(MyFGM=0)\nTr2['MyFGM']=MyTrain['FGM']\n\nTr2=Tr2[[ 'result','Season', 'TeamID','vsTeamID','MyWinpct', 'MyScore','MyFGM', 'Winpct',\n             'Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF' ]]\n\n#Tr2=Tr2[Tr2['Season']>2009]\n\nTr2.to_csv(\"Train_data.csv\",sep=\",\",index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Tr2","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"テストデータ作成"},{"metadata":{"trusted":true},"cell_type":"code","source":"trial=pd.read_csv(\"/kaggle/input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MSampleSubmissionStage1_2020.csv\")\ntrial_cp=pd.DataFrame(columns=[\"Season\",\"TeamID\",\"vsTeamID\"])\n\nfor data in trial.iterrows():\n    ID_string=trial[\"ID\"][data[0]]\n    putdata=([ID_string.split(\"_\")])\n    put_df=pd.DataFrame(putdata,columns=[\"Season\",\"TeamID\",\"vsTeamID\"])\n    trial_cp=trial_cp.append(put_df,ignore_index=True)\n#    print(trial_cp)  \n\ntrial_cp=trial_cp.assign(LastSeason=0)\nfor data in trial_cp.iterrows():\n    trial_cp['LastSeason'][data[0]]=int(data[1]['Season'])-1\n    \n\n    \ntrial_cp['Season']=trial_cp['Season'].astype(np.int64)\ntrial_cp['TeamID']=trial_cp['TeamID'].astype(np.int64)\ntrial_cp['vsTeamID']=trial_cp['vsTeamID'].astype(np.int64)\n\n#TS=pd.read_csv(\"/kaggle/input/0301data1/TeamScore.csv\")\n\n\n#\nMyTest=pd.merge(trial_cp,TS,left_on=['LastSeason','TeamID'],right_on=['Season','TeamID'],how=\"left\")\ndel MyTest['Season_y']\nMyTest.columns=['Season', 'TeamID', 'vsTeamID', 'LastSeason', 'Games','Win','Lose',\n       'Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']\nMyTst=MyTest[['Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']]\n\nrvlTest=pd.merge(trial_cp,TS,left_on=['LastSeason','vsTeamID'],right_on=['Season','TeamID'],how=\"left\")\ndel rvlTest['Season_y']\ndel rvlTest['TeamID_y']\nrvlTest.columns=['Season', 'TeamID', 'vsTeamID', 'LastSeason', 'Games','Win','Lose',\n       'Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']\nrvlTst=rvlTest[['Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF','Winpct']]\n\n\nTst2=MyTst-rvlTst\nTst2.assign(Season=0)\nTst2['Season']=MyTest['Season']\nTst2.assign(TeamID=0)\nTst2['TeamID']=MyTest['TeamID']\nTst2.assign(vsTeamID=0)\nTst2['vsTeamID']=MyTest['vsTeamID']\nTst2.assign(MyWinpct=0)\nTst2['MyWinpct']=MyTest['Winpct']\nTst2.assign(MyScore=0)\nTst2['MyScore']=MyTest['Score']\nTst2.assign(MyFGM=0)\nTst2['MyFGM']=MyTest['FGM']\n\nTst2=Tst2[[ 'Season', 'TeamID','vsTeamID','MyWinpct', 'MyScore','MyFGM', 'Winpct',\n             'Score', 'vsScore', 'NumOT', 'FGM', 'FGA', 'FGM3', 'FGA3', 'FTM', 'FTA',\n       'OR', 'DR', 'Ast', 'TO', 'Stl', 'Blk', 'PF', 'vsFGM', 'vsFGA', 'vsFGM3',\n       'vsFGA3', 'vsFTM', 'vsFTA', 'vsOR', 'vsDR', 'vsAst', 'vsTO', 'vsStl',\n       'vsBlk', 'vsPF' ]]\n\n\nTst2.to_csv(\"Test_data.csv\",sep=\",\",index=False)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"xgboost"},{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd\nimport numpy as np\n#Tr2=pd.read_csv(\"/kaggle/input/0301data2/Train_data.csv\")\nTr2=Tr2.fillna(9999)\n\n\ny=Tr2['result']\n#x=Tr2[['MyScore','MyFGM','MyWinpct','Winpct']]\nx=Tr2.copy()\ndel x['result']\n#x=Tr2[['AdvScore', 'vsAdvScore','Advantage']]\n\n\nfrom sklearn.model_selection import train_test_split\nx_train,x_test,y_train,y_test=train_test_split(x.values,y.values,test_size=0.2)\nx_train.shape,x_test.shape,y_train.shape,y_test.shape\n\n\n\n\nfrom sklearn.preprocessing import StandardScaler\n#sc=StandardScaler()\n#x_train_std=sc.fit_transform(x_train)\n#x_test_std=sc.transform(x_test)\n\n#x_train.shape,x_test.shape \n\n\nimport pandas as pd\nimport numpy as np\n#Tst2=pd.read_csv(\"/kaggle/input/0301data2/Test_data.csv\")\nTst2=Tst2.fillna(9999)\n#X=Tst2[['MyScore','MyFGM','MyWinpct','Winpct']].values.tolist()\n#X=Tst2[['AdvScore', 'vsAdvScore', 'Advantage']]\n#X=Tst2.values.tolist()\nX=Tst2.values\n\n#X_std=sc.transform(X)\n\n    ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Tr2","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Tst2","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import xgboost as xgb\nfrom sklearn.metrics import log_loss\nfrom sklearn.metrics import accuracy_score\ndtrain=xgb.DMatrix(x_train, label=y_train)\ndvalid=xgb.DMatrix(x_test, label=y_test)\ndtest=xgb.DMatrix(X)\n\n#params={'objective':'binary:logistic','eval_metric': 'logloss','silent':1,'random_state':71}\nparams={'objective':'binary:logistic','eval_metric': 'rmse','silent':1,'random_state':71}\nnum_round=20000\n\nwatchlist=[(dtrain,'train'),(dvalid,'eval')]\nmodel=xgb.train(params,dtrain,num_round,evals=watchlist,early_stopping_rounds=5000 )\n\nva_pred=model.predict(dvalid)\n#score=log_loss(y_test,va_pred)\n#print(f'logloss: {score:.4f}')\n\nva_pred_a = np.where(va_pred > 0.5, 1, 0)\n# 精度 (Accuracy) を検証する\nacc = accuracy_score(y_test, va_pred_a)\nprint('Accuracy:', acc)\n\n\nimport numpy as np\npred=model.predict(dtest)\noutput=np.zeros(len(pred)*2).reshape(len(pred),2)\nfor num in range(len(pred)):\n    output[num,0]=num+1\n    output[num,1]=pred[num]\n    \n\n    \nsub=pd.read_csv(\"/kaggle/input/google-cloud-ncaa-march-madness-2020-division-1-mens-tournament/MSampleSubmissionStage1_2020.csv\")\n\nsub['Pred']=pred\nsub.to_csv(\"out_xgboost.csv\",sep=\",\",index=False)","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}