花粉飛散量予測

Ridgelinezとの共同開催第二弾!花粉予報にチャレンジ!

賞金: 200,000 参加ユーザー数: 285 終了まで: 36日
スポンサー
Ridgelinez株式会社

降水量ゼロの期間を特徴量にする

私のモデルで、効果のあった特徴量を紹介します。
降水量のカラムに対し以下の関数を使用し特徴量生成しました。

降水量ゼロカウンター

def zero_count(df,alpha=0.005):
  df_count = []
  n_count = 0
  for i in range(len(df)):
    if df[i] < 0.5:
      n_count += 1
    else:
      n_count = 0
    df_count.append(n_count)
  df_count = np.tanh(np.array(df_count)*alpha)
  return df_count

Icon18
tanuking0

面白いシェアありがとうございます。とても勉強になりました。

お返しと言うには、あんまり寄与が安定しない&当たり前の変換ですが、こういう風力変換しています。45度ずらしても面白いかなぁとも思います。

def wind_vecs():
level = [0, #関係ない角度
math.cos(math.radians(67.5)), #北にとって東北東など
math.cos(math.radians(45)), #北にとって北東など
math.cos(math.radians(22.5)), #北にとって北北東など
1, #北にとって北
]
vecs = [
[0,level[0],level[0],level[0],level[0],],#0:静穏
[1,level[3],level[1],level[0],level[0]],#1:北北東
[2,level[2],level[2],level[0],level[0]],#2:北東
[3,level[1],level[3],level[0],level[0]],#3:東北東
[4,level[0],level[4],level[0],level[0]],#4:東
[5,level[0],level[3],level[1],level[0]],#5:東南東
[6,level[0],level[2],level[2],level[0]],#6:南東
[7,level[0],level[1],level[3],level[0]],#7:南南東
[8,level[0],level[0],level[4],level[0]],#8:南
[9,level[0],level[0],level[3],level[1]],#9:南南西
[10,level[0],level[0],level[2],level[2]],#10:南西
[11,level[0],level[0],level[1],level[3]],#11:西南西
[12,level[0],level[0],level[0],level[4]],#12:西
[13,level[1],level[0],level[0],level[3]],#13:西北西
[14,level[2],level[0],level[0],level[2]],#14:北西
[15,level[3],level[0],level[0],level[1]],#15:北北西
[16,level[4],level[0],level[0],level[0]],#16:北
]
vecs = pd.DataFrame(vecs)
vecs.columns = ["w_direc", "vec_n","vec_e","vec_s","vec_w",]
return vecs

X = pd.merge(X, wind_vecs(), on="w_direc", how="left")#onのカラムは適当に書き換える
for vecs in ["vec_n", "vec_e", "vec_s", "vec_w",]:
X[vecs] *= X["w_speed"]

Aws4 request&x amz signedheaders=host&x amz signature=7b77a2c9928acb9feb67311299c644ddb9bc82f4e99bd1f22941006bc569e81f
saru_da_mon

ありがとうございます。試させていただきます。
風に関しては、普通に、風速と風向を使ってベクトル化していました。
ベクトル化しただけで良いようには思えず、どうするべきか悩んでたところです。

Favicon
new user
コメントするには 新規登録 もしくは ログイン が必要です。