タグ

ブックマーク / www.haya-programming.com (4)

  • ランダムフォレストを使うなら変数選択はしなくてもいいのか? - 静かなる名辞

    はじめに 表題の通りの話をたまに聞きます。「ランダムフォレストは内部で変数選択を行う。なので変数選択は必要ない」という主張です。 しかし個人的には、それはあくまでも 他の手法*1と比べれば変数選択しなかった場合の悪影響が少ない ということであって、ランダムフォレストであっても変数選択した方が良いんじゃ? ということを昔からずっと思っていました。 検証してみます。 思考実験 実際に検証する前に思考実験を行います。 まずパターンA(変数選択なし)とパターンB(変数選択あり)の2通りを考えます。 パターンA 有効な変数:10個 無効な変数:90個 パターンB 有効な変数:10個 のみ(無効な変数なし) ランダムフォレストの弱分類器では、元々の変数の数の平方根くらいの数の変数を使うのが一般的です。そうすると、 パターンAの場合 弱分類器で使う変数は10個。うち有効なもの(の期待値)は1個。 パター

    ランダムフォレストを使うなら変数選択はしなくてもいいのか? - 静かなる名辞
  • なぜpython使いは単純なfor文より醜悪なリスト内包表記を好むのか - 静かなる名辞

    煽りっぽいタイトルだが、この記事は真剣である。リスト内包表記にはpython哲学の質に関わる問題が潜んでいる。 python使いはリスト内包表記を好む。他の言語の使用者なら「for文で書きゃ良いのに」と思うような処理を、リスト内包表記で書くことを好む。 それはなぜなのか。 # 1~10の値を2乗して合算し、表示する # よくあるpythonコード print( sum([pow(x, 2) for x in range(1, 11)]) ) # こうきゃ良いのにと思う人が世間には多い(と思う) n = 0 for i in range(1, 11): n += pow(i, 2) print(n) # 他の言語の使用者が「ぎゅうぎゅうしててわかりづらいよ」と文句をいうと、python使いは不満げに改行して「これでいいだろ、上等だ」という表情を見せる print( sum([pow(x,

    なぜpython使いは単純なfor文より醜悪なリスト内包表記を好むのか - 静かなる名辞
  • 【python】scipyで階層型クラスタリングするときの知見まとめ - 静かなる名辞

    はじめに scipyの階層型クラスタリングを使う機会がありましたが、使い方がわかりづらいと思ったのでまとめておきます。 目次 はじめに 関数がいっぱいある 使い方 linkage fcluster cophenet dendrogram 実践編 データを作る 手法を選ぶ クラスタに分ける デンドログラムを描く 遊ぶ まとめ 関数がいっぱいある いっぱいあるんですよ。 Hierarchical clustering (scipy.cluster.hierarchy) — SciPy v1.3.0 Reference Guide 私の数え間違えがなければ31個。多いですね。 とはいえ、質的なもの(実際によく使うもの)は以下くらいです。 linkage 実際に階層型クラスタリングを行う。これがないと始まらない。 fcluster 任意の深さで木を切り、クラスタに分割する。 cophenet y

    【python】scipyで階層型クラスタリングするときの知見まとめ - 静かなる名辞
  • TechAcademy盗用事件 公式発表と深まる疑念 - 静かなる名辞

    これまでの経緯 TechAcademyマガジンで、teratailの質問・回答の盗用疑惑があり、前回の記事で取り上げました。 TechAcademyがteratailの質問・回答を盗用していた件 - 静かなる名辞 私が書いたその記事はTwitterやはてブ経由で拡散して多くの方に見ていただき、TechAcademyマガジンの運営上の問題が多くのインターネットユーザに共有されました。それを受けてか、昨日teratail運営、TechAcademy運営からそれぞれ公式のアナウンスがありました。 【ご報告】teratailのQ&Aと類似したコンテンツが他メディアに掲載されていた件に関して、先方よりリリースが出されました。https://t.co/wBe9wWjlpi— teratail【テラテイル】 (@teratail) 2019年3月25日 弊社運営のオウンドメディアへのご指摘について(20

    TechAcademy盗用事件 公式発表と深まる疑念 - 静かなる名辞
  • 1