機械学習

House Priceの分析5

大まかな流れを把握 --> 提出まで 読み込み #import some necessary librairies import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) %matplotlib inline import matplotlib.pyplot as plt # Matl…

House Priceの分析5

前処理 import pandas as pd import numpy as np import seaborn as sns import matplotlib import matplotlib.pyplot as plt from scipy.stats import skew from scipy.stats.stats import pearsonr %config InlineBackend.figure_format = 'retina' #set '…

House Priceの分析4

XGBRegressorっていう、回帰モデルがあるので確認。 そもそも xgboost が結構界隈では有名らしい。 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import Imputer data = pd.read_csv('kaggle/kagg…

pyplot の 円グラフをいい感じに描く

f,a = plt.subplots(nrows=5, ncols=2, figsize=(14, 20)) a = a.ravel() for idx,ax in enumerate(a): v_list = km_center[idx] df_timeband_meanrate = pd.DataFrame( { 'timeband': name_list, 'rate': v_list }, ) print(idx, np.bincount(y_km)[idx]) d…

House Priceの分析2

前処理 %matplotlib inline import numpy as np import pandas as pd import matplotlib.pyplot as plt import scipy.stats as stats import sklearn.linear_model as linear_model import seaborn as sns import xgboost as xgb # <-- アンサンブル学習に使…

House Priceの分析1

kaggleのデータを使って、データの相関とか調べる #invite people for the Kaggle party import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import numpy as np from scipy.stats import norm from sklearn.preprocessing import …

pandasで円グラフ作成

pandasでpltは直接できて便利 defaulte_fig_size = plt.rcParams["figure.figsize"] plt.rcParams["figure.figsize"] = [12.0, 10.0] # plt.figure() # fig, axes = plt.subplots(nrows=4, ncols=1, ) fig = plt.figure() ax1 = fig.add_subplot(221) ax1.ti…

FFM の実装をtensorflowでもgitにあげている人いた。

そろそろ使えるようになりたいなと。 github.com github.com

tensflow で CNN を試す

CNN のチュートリアルをやってみた。 画像以外でも使いたい。 import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) train_data = mni…

tf の mnist をニューラルネットワークで分析

正解率が90%と低めに出た。。原因は今度調べよう import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) mnist.train.images.shape => (55000, 784) n_feat…

word2vecすごいぞ

結構すごい。。表記ゆれとかも吸収できそう。 from gensim.models import word2vec ls = [] for row in df_id['review_comment'].values[:100000]: ls.append(_split_to_rawwords(row)) model = word2vec.Word2Vec(ls, size=500, window=5, min_count=5, wor…

LDA(Latent Dirichlet Allocation) でのトピック抽出 でレビュー分析

レビューの分析方法をまとめる。 import os import glob import sys from datetime import (datetime, date, timedelta) import logging import re import shutil import tempfile import pandas as pd import numpy as np from scipy.sparse.csc import csc…

GCPでのレコメンド実装について

Building a Recommendation System in TensorFlow: Overview | Solutions | Google Cloud

行列の固有値の話

まとまっている pdf を貼る 実対称行列についてのまとめも記載 http://www.cs.shinshu-u.ac.jp/~maruyama/lin/pdf/lin09.pdf dora.bk.tsukuba.ac.jp

FMとかFFMとかの論文

レコメンドエンジンで使えそうな論文。 FM https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf FFM https://www.andrew.cmu.edu/user/yongzhua/conferences/ffm.pdf 参考までに。FM の実装 github.com "SLIM: Sparse Linear Methods for Top-N Rec…

レコメンドシステムで、Explicit と Implicit とは(レコメンド例のSlide)

レビューとかでユーザが明示的に評価したら、Explicit。 PVとかCVとかのlogで評価を判断するのがImplicit。らしい。 There are two ways to gather the data. The first method is to ask for explicit ratings from a user, typically on a concrete rating…

行動履歴をDjangoのcommandsで処理

行動履歴から、相関とクラスタリングを行う # -*- coding: utf-8 -*- # vim:tabstop=4:shiftwidth=4:expandtab import os import sys from datetime import (datetime, date,) import logging import re import shutil import tempfile import pandas as pd …

レコメンドで参考にしたサイト

dsnotes.com ebaytech.berlin netflix https://beta.vu.nl/nl/Images/werkstuk-fernandez_tcm235-874624.pdf 協調フィルタリング http://yifanhu.net/PUB/cf.pdf

クラスタリング : DBSCAN の実装

クラスタリングアルゴリズムの中で、クラスタが球状という前提を持たずに、 クラスタラベルを割り当てる。 from sklearn.datasets import make_moons X, y = make_moons( n_samples=200, noise=0.05, random_state=0 ) plt.scatter(X[:, 0 ], X[:, 1]) plt.t…

ボトムアップ式のクラスタリングのグループ化

データ作成 shape: (5, 3) のランダム行列を作成 import pandas as pd import numpy as np np.random.seed(123) variables = ['X', 'Y', 'Z'] labels = ['ID_0', 'ID_1', 'ID_2', 'ID_3', 'ID_4'] X = np.random.random_sample([5, 3])*10 ## pandas のデー…

教師なしデータのクラスタ分析の検証

## クラスタリングのサンプルを作成 from sklearn.datasets import make_blobs X, y = make_blobs( n_samples=150, n_features=2, centers=3, cluster_std=0.5, shuffle=True, random_state=True ) ## クラスタリングを描画 plt.scatter(X[:, 0], X[:, 1], c…

機械学習の勉強コード+サイト

ここのコードを再利用することで、実装も簡単かも。 github.com Python Data Science Handbook | Python Data Science Handbook sebastianraschka.com https://sebastianraschka.com/pdf/books/dlb/appendix_d_calculus.pdf

アンサンブル分類器の実装

一般的に、アンサンブル分類器の方が、個別の分類器より性能が高い from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import ( StandardScaler, LabelEncoder, ) iris = datasets.load_iris(…

sklearn にて、適合率と再現率

以下の投稿で load したX_train, y_train,... を利用。 kidnohr.hatenadiary.com 適合率と再現率と F1 スコア 適合率(PRE)と再現率(REC)について、F1 スコアという性能指標が存在する。 PRE = TP / ( TP + FP ) REC = TP / ( TP + FN ) f1 = 2 * ( PRE *…

グリッドサーチを使ったチューニング

サポートベクトルマシンのパイプラインのトレーニング from sklearn.preprocessing import LabelEncoder from sklearn.preprocessing import StandardScaler from sklearn.pipeline import make_pipeline from sklearn.model_selection import GridSearchCV …

sklearnのpipelineの使い方

make_pipelineを通して、(入力)=>(変換器(複数))=>(推定器)=>(出力) のwrapperを利用できる。 変換器は fit & transform 推定器は fit import pandas as pd from sklearn.cross_validation import train_test_split from sklearn.preprocessing import Label…

ランダムフォレストで特徴選択する方法

次元削減で特徴抽出する方法を本から抜粋 df_wine = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None) from sklearn.ensemble import RandomForestClassifier feat_labels = df_wine.columns[1:] fore…

二次元の分類結果を plot

機械学習の結果、2 個の特徴の座標と分類結果をわかりやすく図で出力している import numpy as np import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap def plot_dicision_regions(X, y, classifier, test_idx=None, resolusions…

テンソルの勉強について

以下のサイトで、テンソル積やその他諸々の解説をしてた。 http://www.mm.civil.tohoku.ac.jp/renzokutai/0_suugaku.pdf

LDA(Latent Dirichlet Allocation) でのトピック抽出

以下の形式のsample.csvからデータを取得し、sklean の LDA でトピック抽出する。 id text 1 今日は晴れ。明日は雨 2 今日はカープが優勝した。 ... ... text2topic.py #!/usr/bin/env python # coding:utf-8 from __future__ import print_function from ti…