scikit-learn で始める機械学習 01

scikit-learnって何?

python機械学習を扱うライブラリ。

googleが開発を行なっていたものがオープン化された

機械学習はこれを使って学ぼうと思います

機械学習のフロー

大きく分けて2つ。学習と予測です。

学習

トレーニングするためのデータを入手し、学習できるような形に加工します。

予測

テストするためのデータを入手し、学習の手法を選択します。

機械学習の目的

大きく分けて二つに分類されます。分類と回帰です

分類 - Classification

与えられたクラスに分ける際に扱われる手法です

回帰 - Regression

連続するデータを予測する際に扱われる手法です

Dependency Injection

これなに?

上記の特性を持つデザインパターン

どうやるの?

  • class内で作成するのではなく使用するオブジェクトを外から渡す
  • 依存関係を葉に持たせないようにする

その他

  • 外から渡すのが多くなってきた時に使用するのがDIコンテナと呼ばれるもの

参考

https://qiita.com/ritukiii/items/de30b2d944109521298f

プログラミング言語の種類と特徴

それどんな言語?と聞かれても答えられるようにメモ。 間違ってるかもしれない

C

  • 実行速度が速い
  • OSや言語が作れる
  • ハードウェアを意識してプログラミングする必要がある
  • GCがないのでメモリの管理などが大変

C++

  • Cにいろいろついた版
  • メモリ管理は相変わらず自前
  • ハード寄りのものを作るならこれ
  • 他の言語で書いてたけどもっと早くしたいとか言うときに一部だけこれで書いたりすることがある
  • 学習コストが高い

Java

  • C、C++をめちゃくちゃ使いやすくした版
  • JREのインストールだけでいろいろな環境で動かせる
  • オブジェクト指向とかいうやつ
  • サーバもクライアントもがっつりかける
  • 簡単なことをやることに向かない

javascript

  • クライアント側のちょっとしたものからどんどん拡張されてサーバ側までかける
  • 型がなく、自由な言語
  • 案外実行速度がはやい。

PHP

  • WEBアプリ専門の言語。それ以外のライブラリはあんまりない
  • 学習コストがとても低い

python

  • コードが簡潔できっちりしてる。
  • そんなに実行速度は早くない。
  • 数学系のライブラリが充実している

技術ブログ

技術ブログとやらを始めてみます。

技術に関わる文章でふざけるのは良くない滑り方をしてしまうので真面目に文章を書きます。

プログラミング関係が主になります。いろいろ身につけれたらいいね。