AI競馬で回収率100%越えを目指して

はなむけ競馬場

python プログラム

【1日目】How I made top 0.3% on a Kaggle competition 写経

投稿日:

How I made top 0.3% on a Kaggle competitionの写経をする一日目。体調が悪いので、少しで終わった。

めちゃくちゃ上位のやり方みたいなので、吸収したい。

とはいえ、今までやってきたことと大きくは変わらなさそうだ。

特徴量の処理の項目が多い印象。

 

EDA


# Read in the dataset as a dataframe
train = pd.read_csv('../input/house-prices-advanced-regression-techniques/train.csv')
test = pd.read_csv('../input/house-prices-advanced-regression-techniques/test.csv')


#目的変数の分布の確認

sns.set_style("white")

sns.set_color_codes(palette="deep")

f,ax = plt.subplots(figsize=(7,7))

<br data-mce-bogus="1">

sns.distplot(train["SalePrice"],color="b")

ax.xaxis.grid(False)

ax.set(ylabel="Frequency")

ax.set(xlabel="SalePrice")

sns.despine(trim=True,left=True)

plt.show()

 

目的変数が正規分布に従っていなさそう。

fit=normを追加すれば、正規分布が記載された図が出てくる。

数字データの特徴量と目的変数の関係を確認



# Finding numeric features
numeric_dtypes = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']
numeric = []

for i in train.columns:
    if train[i].dtype in numeric_dtypes:
        
        #作者が作る予定の特徴量
        if i in ['TotalSF', 'Total_Bathrooms','Total_porch_sf','haspool','hasgarage','hasbsmt','hasfireplace']:
            pass
        else:
            numeric.append(i)
            
#print(numeric)

# visualising some more outliers in the data values
fig, axs = plt.subplots(ncols=2, nrows=1, figsize=(12, 120))
plt.subplots_adjust(right=2)
plt.subplots_adjust(top=2)
sns.color_palette("husl",8)

for i, feature in enumerate(list(train[numeric]),1):
    
    #MiscValは色々混じっていてよく分からないから
    if (feature=="MiscVal"):
        break
        
    plt.subplot(len(list(numeric)),3,i)
    sns.scatterplot(x=feature,y="SalePrice",hue="SalePrice",palette="Blues",data=train)
    plt.xlabel('{}'.format(feature), size=15,labelpad=12.5)
    plt.ylabel('SalePrice', size=15, labelpad=12.5)
    
    for j in range(2):
        plt.tick_params(axis='x', labelsize=12)
        plt.tick_params(axis='y', labelsize=12)
    
    plt.legend(loc='best', prop={'size': 10})
        
plt.show()


コード自体の汎用性がとても素晴らしいように思える。
今後、このコードを活用すれば、特徴量の一覧が一発で出せるのではなかろうか。
体調悪いからここまで。

 

-python, プログラム
-,

Copyright© はなむけ競馬場 , 2021 All Rights Reserved Powered by AFFINGER5.