静かなる名辞

pythonとプログラミングのこと

2019/03/22:TechAcademyがteratailの質問・回答を盗用していた件
2019/03/26:TechAcademy盗用事件 公式発表と深まる疑念



【python】fromでimportしたときの対象モジュールの実行の流れ

ふと「あれ、どうなってるんだっけ」と思うことがあったので実験してみる。import_test.py import time print("aaa") def hoge(): print("hoge") print("bbb") def fuga(): print("fuga") for i in range(1, 4): print(i) time.sleep(1) 普通に実行すると、 …

【python】numbaを使ってライフゲームを書いてみた

概要 ライフゲームを書きました。 素のpythonだと何をやっても激遅だったので、numbaで高速化しました。 方針 まず実装の方針を決めます。主要な関数としては以下のものがあればできると思いました。 update_cell 1セルの状態を更新する update_field フィー…

【python】sklearnのOneClassSVMを使って外れ値検知してみる

はじめに OneClassSVMというものがあると知ったので使ってみます。 「1クラスSVM?」と思われると思いますが、要するに異常検知・外れ値検出などで使う手法です。信頼区間を出すのに似ていますが、複雑な分布だったりそもそも分布が想定できないようなデータ…

scipy.interpolate.griddataの内挿方法による違いを比較

はじめに 以前、3次元のサンプルデータを内挿してmatplotlibでうまくプロットする方法について記事にしました。www.haya-programming.com この記事では内挿のアルゴリズムをデフォルトのlinearにして使いましたが、他の方法ではどうなるのか気になったので実…

【python】rangeではin演算子が使える。速度は微妙かも

はじめに 今日コードを書いていて、rangeでもinが使えることに気づきました。 >>> 10 in range(20) True ドキュメントを見るとシーケンス型としての機能は一通り備えているようです。 range オブジェクトは collections.abc.Sequence ABC を実装し、包含判定…

xyzの点データを内挿してmeshgridにしmatplotlibでプロットする

はじめに pythonでmatplotlibを使って作図するとき、三次元のデータでpcolormeshとかcontourでやるような等高線プロットを作りたいんだけど、手持ちのデータはxyzが紐付いた点のバラバラな離散データだけ……ということがままあります。 散布図ならそれでも良…

【python】sklearnのFeatureAgglomerationを使ってみる

はじめに FeatureAgglomerationは階層的クラスタリングを用いた教師なし次元削減のモデルです。特徴量に対して階層的クラスタリングを行い(つまり通常のサンプルに対するクラスタリングと縦横の向きが入れ替わる)、似ている特徴量同士をマージします。マー…

【python】複数の条件を総なめするときの簡略化

たとえば、こういうものを書きたいとする。 def f(a, b): if a == "0" and b == "0": print("a:0, b:0") elif a == "0" and b == "1": print("a:0, b:1") elif a == "1" and b == "0": print("a:1, b:0") elif a == "1" and b == "1": print("a:1, b:1") 条…

ImportError: No module named 'sklearn.cross_validation'の対処

概要 sklearnで書籍やネットに掲載されているコードを実行した結果、表題のようなエラーが出ることがある。 一例をあげる。 >>> from sklearn.cross_validation import cross_val_score Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportErro</module></stdin>…

プログラミングのブログにアドセンスを貼る話

はじめに 一ヶ月ほど前から当ブログはGoogle Adsenseを導入しています*1。 このブログはいわゆる「技術ブログ」と呼ばれるようなプログラミングのブログですが、プログラミング関連のジャンルでアドセンスを貼った場合の収益性についてはネット上にもあまり…

【python】sklearnでのカテゴリ変数の取り扱いまとめ

カテゴリデータをone-hot表現として取り扱うという方法は、機械学習などでは一般的に行われます。しかし、sklearnでのサポートが微妙に悪いという問題が長年あり、やれpandasを使えだの、やれサードパーティ製ライブラリで凌げだのといった話題が乱立してい…

scipyで確率分布のサンプルと確率密度関数を生成する

乱数データと確率密度関数を一緒にplotしてみたかったので、メモ。 概要 scipy.statsでは様々な統計用のユーティリティが提供されています。大抵の分布はあるし、パラメータも好きに設定できます。Statistical functions (scipy.stats) — SciPy v0.16.1 Refe…

【python】実行スクリプトからの相対パスでファイルを開く

pythonのファイルオープンの際のカレントディレクトリは実行時のshellのカレントディレクトリを引き継ぐ仕様なので(たしか)、スクリプト基準の相対パスだと思っていると悲しい思いをします。 具体的にはこんな感じです。 $ tree hoge hoge ├── aaa.txt └──…

【python】sklearnのSparsePCAを使ってみる

はじめに SparsePCAというものがあることを知ったので、使ってみようと思います。 SparsePCAとは? その名の通り、スパースな主成分分析です。スパースな主成分ベクトルを推定します。Sparse PCA - Wikipedia 原理などは理解しないで、カジュアルに使えるか…

【python】sklearnのRFE(Recursive Feature Elimination)を使ってみる

はじめに RFE(Recursive Feature Elimination)というものがあることを知ったので試してみたいと思いました。 RFEは特徴選択の手法で、その名の通り再帰的にモデルを再構築しながら特徴を選択するという特色があります。sklearn.feature_selection.RFE — scik…