紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

【Python】 confusion_matrtixの作り方

seabornのheatmapによって表現できる. import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # scikit-learnのconfusion_matrixクラスで b = np.array([[251, 22, 1, 3, 0, 1, 3, 16, 24], [ 8, 459, 0, 2, 0, 1,…

【データ分析】 特徴量の相関関係の図の見方

図[2][4]は正の相関関係があるとわかる. 図[1][1]は緑と赤の分布がほぼ同じであり, 分離が厳しいことがわかる. 図[0][1]でも混じっている. これを処理するためには, SepalWidthCm特徴量を削除したり工夫する必要がある.

【pandas】 DataFrameの操作について

Irisで試す # データCSVの読み込み iris = pd.read_csv("input.csv") # データのある特徴列を削除する iris.drop("Id", axis=1, inplace=True) # 同データのカウント # ”Species”という特徴列の名義特徴量の種類をそれぞれカウント iris["Species"].value_co…

【Python】 Jupyter notebookで実行に影響のない警告は無視する

warning.filterwarning("ignore")により警告を無視して進めることができる. import warnings warning.filterwarnings("ignore")

特徴量の削除

violinplotによって特徴量の分布が同じようなときjointplotによって, それらの特徴量の相関関係を調べる. 実際に相関係数の絶対値が1に近づいたらどちらかの特徴量を学習から削除することができるそう. 上図で2つの特徴量の分布が同じようなのでjointplotを…

【seaborn】 相関関係を可視化する

seaborn.jointplot(特徴量列1, 特徴量列2)で相関関係を見ることができる. 【参考】 ・http://blog.livedoor.jp/oyajieng_memo/archives/1524575.html

【seaborn】 plotについて

seabornライブラリでデータを可視化したい場合, BoxplotとViolinplotなどがある. ラベルAとラベルBの正規化, 標準化済の特徴量3つをとってきて比較することに用いられる. Boxplotでは下図のような図をプロットでき, 中央値などがわかりやすい. (図引用: http…

【pandas】 DataFrame.locについて

グラフの列の値を読み取る >>> df.loc[:,"feature1"] 0 0.71190 1 0.24160 2 0.45040 3 0.68690 4 0.40000 5 0.53550 6 0.37840 7 0.26780 8 0.53900 9 1.10500 10 0.14590

【pandas】 DataFrameの結合

pandas.DataFrame型のオブジェクトdf1,df2に対して # 縦方向の連結 pandas.concat([df1,df2]) # 横方向の連結 pandas.concat([df1, df2],axis=1) 【参考】 ・http://sinhrks.hatenablog.com/entry/2015/01/28/073327

【pandas】 DataFrame.iloc

DataFrameに対して列番号を指定する. 【参考】 ・http://ailaby.com/lox_iloc_ix/

【pandas】 DataFrameに辞書形式で格納する

>>> pd.DataFrame({"feature1":[1,2,3],"feature2":[0.1,0.2,0.3]}) feature1 feature2 0 1 0.1 1 2 0.2 2 3 0.3 【参考】 ・【pandas】 CSVの読み込み - メモ的な何か ・https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.describe…

【pandas】 DataFrame.describe()について

DataFrame.describe()はDataFrameに格納されているそれぞれの特徴量(横軸)に対して 数値データならcount, mean, std, min, 25%, 50%, 75%, maxを計算, カテゴリデータならcount, unique(カテゴリの種類), top(先頭), freq(最頻値)を計算してくれる便利な機能…

【pandas】 CSVの読み込み

csvファイルをpandas.DataFrameに格納する方法 # 読み込み csv_path = "./data.csv" data = pd.read_csv(csv_path) # データの表示(Jupyter notebookなどで) # .head()メソッドを使えば,先頭から5行が表示される data.head() # 特徴量の名前をリストとして取…

【pandas】 DataFrameから削除する

pandas.DataFrameは横軸が特徴量, 縦軸がデータの番号とするのが慣習らしい. >>> df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D']) >>> df A B C D 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 # 特徴量BとCを削除する >>> df.drop(["B",…

【Haskell】 無限リストの生成

-- cycleはリストを受取, そのリストを無限に連結していく > take 10 (cycle [1,2,3]) [1,2,3,1,2,3,1,2,3,1] > take 11 (cycle "WTF ") "WTF WTF WTF" -- repeatは一つの要素を受取, それを無限に繰り返すリストをつくる > take 5 (repeat 1) [1,1,1,1,1] -…

【Haskell】 リスト生成

単純なリスト生成 -- 数値(ステップ=2) > [2,4..10] [2,4,6,8,10] -- 文字 > ['a'..'d'] "abcd" 無限リストを用いた遅延評価による生成 > take 10 [23,46..] Haskellは遅延評価なのでリスト全体をすぐに評価しない. 最初の10個までしか生成しない.

【Haskell】 リスト操作

> let a = [1,2,3,4] -- リストの先頭の要素を取得する > head a 1 -- リストの先頭を取り外したリストを取得する > tail a [2,3,4] -- リストの最後の要素を取得する > last a 4 -- リストの最後の要素を取り除いた残りの要素を取得する(⇔tail) > init a [1…

【Haskell】 リスト同士の比較

リスト同士の比較のアルゴリズムはリストAとリストBについて, 始めの要素から比較していき 始めて演算が評価される要素によってTrueかFalseが返される. -- 1番目, 2番目は同じ大きさ, 3番目の要素で評価される > [3,2,4] > [3,2,1] -- 3>2より左辺が大きい >…

【Haskell】 リストの要素へのアクセス

リストはC言語などと同様に添字0から数え, !! 演算子を用いる -- 文字列のn番目を抽出 > "ABCDEFG" !! 4 'E' -- 数字を要素としたリストのn番目を抽出 > [1,2,3,4,5,6] !! 3 4 -- リストの範囲外を抽出しようとした場合エラーとなる > [1,2,3,4,5] !! 10 ***…

【Haskell】 リストの連結

-- 名前の宣言 > let a = [1,2,3] > a ++ [3,4,5] [1,2,3,3,4,5] -- リストの連結は ++ 演算子を用いる > 1 : [2,3,4] [1,2,3,4] -- cons演算子を用いるとリストの先頭にリストの要素の型と同じ型のものを入れられる > ['h','e'] ++ ['l','l','o'] "helloo" …

【Linux】 gifファイルを圧縮

gifsicle -i < hoge.gif > fuga.gif

【Linux】 動画ファイルの形式変換

.ogvファイルから.gifファイルに変換する方法 ffmpeg -i hoge.ogv fuga.gif

【Linux】 スクリーンレコーダーの導入

gtk-recordmydesktopというフリーソフトを入れた. sudo apt-get install gtk-recordmydesktop ・http://hackerspace.kinja.com/screen-recording-in-linux-1686055808

【haskell】 関数の約束事

・Haskellの関数は大文字で始めなければならない. ・引数をひとつもとらない関数のことを定義, 名前と呼ぶ.

【haskell】 条件分岐を含んだ関数

doubleSmallNumber x = if x > 100 then x else x * 2 -- 条件分岐の構文はif 条件 then (Trueの場合の返り値) else (Falseの場合の返り値) schemeなどと同じくelse節が必須 haskellのプログラムは関数の集まりで全ての関数は何らかの値を返すという考え. if…

【haskell】 関数 例

-- 自身を2倍する関数 doubleMe x = x * 2 -- 2倍してから足し合わせる関数 doubleUs x y = x * 2 + y * 2

【haskell】 : の意味

schemeやLISPで言うところのconsの役割だそう >1 : [2] [1, 2] >1 : 2 : [3..5] [1, 2, 3, 4, 5]

【haskell】zipWith

【参考】 ・http://zvon.org/other/haskell/Outputprelude/zipWith_f.html

【haskell】 takeWhile

takeWhile (<=3) [1..10] -- [1,2,3] 【参考】 ・http://zvon.org/other/haskell/Outputprelude/takeWhile_f.html

【haskell】リストの生成

[x | x <- [1..100]] [1:100](100を含む)リストが生成される. [x | x <- [1..100], even x] , で条件をつけることができる.