Python

2/3ページ

[Python] コマンドを実行して結果を取得する方法

Python から コマンドを実行する方法 Python から コマンドを実行する方法をまとめます。 subprocess で別のプロセスとして任意のコマンドを起動することが可能です。 subprocess — サブプロセス管理 — Python 3.7.4 ドキュメント 以下、Windows環境で試しているので mac, linux の人はコマンドをいい感じに変えて試してください。 […]

[Python] リストの複製、浅いコピーと深いコピー

Python のリストをコピーする方法 Python のリストをコピーする方法を調べました。浅いコピー、深いコピー(deepcopy)、それからリスト内包表記やスライスを使った浅いコピーについてまとめます。 リストのコピー Python でリストの中身をコピーしたい場合、単純に以下のように代入するだけでは参照のコピーとなりうまくいきません。 a = [0, 1, 2, 3, 4] b = a b[ […]

[Python] リストのソートまとめ(クラス、複数キー、降順、破壊的ソート)

Python のリストソートいろいろ Python3 でリストのソートを行う方法をまとめます。この記事でまとめるのは以下の方法です。 非破壊的ソート 破壊的ソート 降順にソート クラスの特定の値を使ってソート タプルをソート 複数キーを使ったソート 組み込み関数の sorted() Python の組み込み関数 sorted() を使ってリストをソートすることが可能です。sorted() は引数で […]

[scikit-learn] fetch_mldata(‘MNIST original’) がエラーになるのを対処する

Scikit-learnのMNISTデータをダウンロードできない O’Reilly Japan – scikit-learnとTensorFlowによる実践機械学習 この本を使って勉強中ですが、3章分類のところで MNIST のデータセットをダウンロードする箇所があるのですが、うまくいきませんでした。 # MNIST ダウンロード from sklearn.datasets […]

scikit-learnで国旗画像をクラスタリングして似ているものを探す

世界には同じような国旗が存在している 世界には多くの国があり、いろいろな国旗がります。ご存知の通り国旗のデザインが非常に似通った国があります。例えば次の例、2つの似た国旗ですがどの国のものかわかりますか? 片方はスーダン、もう片方はクェートです。 ほかにも似たような国旗の国はたくさんあります。一番わかりやすいのだとユニオンジャックが含まれる国旗でしょうか。 国旗を機械学習の力でクラスタリングする […]

Python文字列におけるシングルクォーテーションとダブルクォーテーションの違い

Pythonの文字列リテラルとクォート Pythonの文字列リテラルを扱う際には、'シングルクォーテーション' と "ダブルクォーテーション" のいずれも使えます。 # どちらも同じ文字列 str1 = "abc" str2 = 'xyz' Pythonの言語仕様上、上記2つの書き方は同一の意味を持ちます。したがって、コード内 […]

[Python] クイックソートの実装方法とアルゴリズム

Pythonとクイックソート Pythonでクイックソートを実装してみます。Python3.6を使います。 クイックソートは数あるソートアルゴリズムの中でも、実用上最速とされる誉れ高いアルゴリズムです。ただし条件次第で低速になってしまうので注意が必要です。 クイックソートは分割統治法と呼ばれる考え方を使ってソートを行います。まずソート対象のデータ(リスト)について、ピボット(基準値)を選び、その基 […]

[Python] ヒープソートの実装方法とアルゴリズム

ヒープソートの実装方法とアルゴリズム Pythonでヒープソートを実装してみます。Python3.6を使います。 常に最大値(最小値)を取り出すことができるデータ構造があれば、それを使ってソートアルゴリズムが実装できるという考えのもと、考案されたのがヒープソートです。ソートは2分ヒープと呼ばれる木構造を使います。 2分ヒープは2分木で、子ノードが常に親ノードより小さいことが保障される木構造です。し […]

[Python] バブルソート/選択ソート/挿入ソートの速度比較

バブルソート/選択ソート/挿入ソートの速度比較 Pythonで作成した上記ソートアルゴリズムの実装を、処理速度の面から比較してみます。使用するコードは以下のページのものです。 [Python] バブルソートの実装方法とアルゴリズム [Python] 選択ソートの実装方法とアルゴリズム [Python] 挿入ソートの実装方法とアルゴリズム ソートアルゴリズムにはデータによって最良の時間計算量が期待で […]

[Python] 挿入ソートの実装方法とアルゴリズム

Pythonと選択ソート Pythonで挿入ソートを実装してみます。Python3.6を使います。 挿入ソートは、時間計算量 O(n^2) でバブルソートや選択ソートと同じく高速なソートアルゴリズムとは言えません。ただし、挿入ソートについて言えばある面で有用なソートアルゴリズムです。 挿入ソートは要素数の少ないデータに対して、高速に動作する可能性があります。これはクイックソートなど高速なソートアル […]