ナイーブベイズとは 多クラス分類用。スパムメールの分類とかに使われているのが有名。 ベイズの定理を使ったクラスに属する確率算出 yを目的変数、x($x_{1}$〜$x_{n}$)を説明変数とすると、ベイズの定理を使うと、与えられたサンプルがどのクラスに属するかの確率を以下で計算できる。 P(y | x_{1},・・・x_{n}) = \frac{P(y) * P(x_{1},・・・x_{n} | y)} {P(x_{1},・・・x_{n})}
約30万件、46MBのセミコロン区切りテキストをインポート CSV ファイルを元にモデルにレコードをセットしたかったのですが、思った以上に処理が遅くてあれこれ試行錯誤したので備忘録的に。 Rails のお作法とかはガン無視のSQLベタ打ち実行なので、ほんまにこれで良いのかはちょっと疑問。 ちなみに取り込み対象のテキストファイルは以下の様な仕様。 セミコロン区切り 文字コードはShift_JIS 約30万行 1行文字数151文字 ファイルサイズ約46MB レコードは全件洗い替えです。 あとバックエンドのRDBMSはMySQL5.6 で。*01PostgreSQL とかにもLOAD LOCAL DATA INFILE みたいなステートメントはあるんだろうか? ActiveRecord でnew してsave だと20分かかる まずは普通にActiveRecord のnew とsave で。 c
プログラムの開発を分業して行っていて気づいたことがある。新たに加わった人がメンテナンスしやすいモジュールと、そうでないモジュールとがあることだ。メンテナンスしやすいモジュールでは、加わったその日にコードの改善が可能である。そうでないモジュールでは、数ヶ月たっても、近寄りがたいものとして意識され続ける。手離れのいい外部仕様を作成して、自分の仕事を減らしていこう。 新たに加わった人がメンテナンスしやすいモジュールの特徴 外部仕様が明確である。 ドキュメンテーションコメントが充実していている。 引数のin, out, inoutの区別が明確である。 @param[in], @param[out] const 属性が可能な引数にはconst 属性がついている。 関数定義の際に、可能な場合には引数を参照渡しを用いている。 単体テストがされている。 include するヘッダファイルの数は抑制されてい
freee ではインフラチームに所属し、主に AWS 周りの構築や改善を担当しています(5 月に入社したばかりでキャッチアップするのに精一杯ですが)。 今回はインフラを改善するときに心がけている考え方をまとめてみました。これまでの仕事で経験したことがベースになっていますが、freee の開発文化とそんなに乖離していないと思います。 あえて 1 → 100 倍の改善を目指す インフラの仕事はミスしたときの影響範囲が大きいので、何事にも慎重で小さな改善になりがちです。プロダクトを安定稼働させるというミッションを背負っているので慎重になるのは当然といえば当然です。なので、ユーザーや開発者が「おっ!」と感じるような改善はなかなか難しいのです。 だからこそ 1 → 2 倍の改善ではなく 1 → 100 倍の改善を目指す ようにしています。実現できるかどうかは別にして、最初から 2 倍を目指すのと 1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く