SIGNATEの「レンタル自転車の利用予測」をやっみた。
環境を整える。
importpandasaspdimportnumpyasnpfrommatplotlibimportpyplotaspltfromsklearn.linear_modelimportLinearRegressionasLR
ファイル取得。
train=pd.read_csv("train.tsv",sep="\t")test=pd.read_csv("test.tsv",sep="\t")sample=pd.read_csv("sample_submit.csv",header=None)
cntとの相関を確認する。
train.corr()
trainX=train[["hr","temp","atemp"]]testX=test[["hr","temp","atemp"]]y=train["cnt"]model=LR()model.fit(trainX,y)pred=model.predict(testX)sample[1]=predsample.to_csv("submit.csv",index=None,header=None)
SIGNATEにアップする。
結果は、508人中、217位。
もう少し説明変数を加えてみる。
pred2 = model.predict(trainX)
train["res"] = train["cnt"] - train["pred2"]
train.sort_values(by="res")
weathersit(天気)も影響ありそうなので、説明変数に加えてみて再度分析
SIGNATEにアップすると、
結果は、508人中、214位と僅かに改善。
今後、もう少し学習して精度を上げていきたい。