- 投稿日:2019-03-27T22:58:09+09:00
Kerasを使った画像判定AI
概要
画像処理をする AI を作ってみたかったので、とりあえず動物の種類を見分けるためのニューラルネットワークを作った。
開発環境
python 3.5
keras 2.2.2
使用したライブラリ
# ニューラルネットワークの定義用のモジュール from keras.models import Sequential # 畳み込みやプーリングの処理用モジュール from keras.layers import Conv2D, MaxPooling2D # 活性化関数、ドロップアウト処理、データを一次元に返還する、全結合層のていぎ from keras.layers import Activation, Dropout, Flatten, Dense # numpyデータを扱うモジュール from keras.utils import np_utils import keras import numpy as np識別する画像のラベル
# ラベルの設定 classes = ["monkey", "boar", "crow"] # 0をmonkey,1をboar,2をcrowとする NumClasses = len(classes) # 画像の大きさを50ピクセルとする ImageSize = 50学習モデル
基本的に活性化関数には
relu,def model_train(X, y): # モデルの作成 model = Sequential() # 第一層の定義 # 32個の3*3のフィルター # 畳み込み結果が同じサイズになるように畳み込む # 入力の形を50*50*3(0番目は枚数なので不要) model.add(Conv2D(32, (3, 3), padding='same', input_shape=X.shape[1:])) model.add(Activation('relu')) # 2層目 model.add(Conv2D(32, (3, 3))) model.add(Activation('relu')) # プーリングの大きさを2*2(最大値を取り出す) model.add(MaxPooling2D(pool_size=(2, 2))) # 25%のデータを捨ててデータの偏りをなくす model.add(Dropout(0.25)) model.add(Conv2D(64, (3, 3), padding='same')) model.add(Activation('relu')) model.add(Conv2D(64, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) # データを一次元に変換する model.add(Flatten()) # 全結合する model.add(Dense(512)) model.add(Activation('relu')) # データを半分にする model.add(Dropout(0.5)) # 出力は3つ(画像が3パターンなので) model.add(Dense(3)) # softmaxを使って確率を計算する model.add(Activation('softmax')) # 最適化の手法の定義 opt = keras.optimizers.RMSprop(lr=0.0001, decay=1e-6) # モデルの最適化の宣言 # 損失関数を正解と推定値との誤差を指標にする model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy']) # 一回の学習で32枚、100回学習を行う model.fit(X, y, batch_size=32, epochs=100) # 結果の保存 model.save('./animalCNN.h5') return model評価関数
def model_eval(model, X, y): # 学習したモデルを評価する scores = model.evaluate(X, y, verbose=1) # 結果の表示 print('Test Loss', scores[0]) print('test Accuracy', scores[1])main 関数
学習データは事前に
animal.npyという形で事前に作っておいた numpy 配列を使っています。def main(): # 生成したnumpy配列を読み込む X_train, X_test, Y_train, Y_test = np.load("./animal.npy") # データの正規化(0~1に収める) # 整数を浮動小数点に変換して255で割る X_train = X_train.astype("float")/256 X_test = X_test.astype("float")/256 # one-hot-vectorに変換する # 正解は1,それ以外は0にする # [0,1,2]を[1.0.0][0.1.0][0.0.1]に変換する Y_train = np_utils.to_categorical(Y_train, NumClasses) Y_test = np_utils.to_categorical(Y_test, NumClasses) # モデルの学習 # 学習データとラベルを引数として渡す model = model_train(X_train, Y_train) # モデルのトレーニング # テストデータと学習データを渡す model_eval(model, X_test, Y_test) plot_model(model, to_file="model.png")実行結果
Test Loss 0.9219977560344043 test Accuracy 0.7207207207207207できた!!!
最後に
- 投稿日:2019-03-27T22:46:36+09:00
ディープラーニングで競馬予想
競馬に機械学習を使う試みはありますが、ディープラーニング(畳み込みニューラルネットワーク)を使った事例はあまり見かけません。
本稿では、畳み込みニューラルネットワーク(CNN)を使った競馬予想チャレンジをしてみます。
競馬×機械学習
機械学習で競馬をガチで予想すると、70%くらいの的中率が出るようです。
こちらのリンクは大変参考になりますので、興味ある方はご覧ください。
https://exploratory.io/note/6412637879363595/2756560754330101/note_content/note.htmlこちらの方は的中率80%くらいで、この前テレビにも出ていました。
https://logmi.jp/tech/articles/313650
https://www.youtube.com/watch?v=I1eSN6mPANs条件設定
今回競馬データを分析するに当たり、以下の条件を設定しました。
1着の馬を当てる
単勝のみで勝負します。簡単で分かりやすいです。
人気データは使わない
実際に運用することを考えると、当日の人気やオッズを調べる時間がない場合もあります。
常にパドックやPCの前に張り込んでいるわけにはいきませんので。従って、レース前の人気は入力データとして使わないことにしました。
この場合、前日までに情報収集(スクレイピング)と機械学習で予想をして
余裕をもって馬券を購入することができます。ただ、後述するように回収率を上げるためにはやはり、人気データは必須で
簡単な式を作ることで、人気データを使うことも検討してみました。血統データは使わない
血統データを入れるとデータが膨大になってしまうので、今回は割愛しました。
ただ、以前に血統データのみを使って機械学習で予想してみたことがあり、結構
良いところまで予想できたので、これを入れると的中率は上がると思われます。騎手データは使わない
血統データと同様に、騎手データも入れるとデータが膨大になってしまうので、今回は割愛しました。
対象レースは東京の春のレース(未勝利及び500万以下)
東京の春のレース(未勝利及び500万以下)は比較的当てやすいと聞きます。
そこで、今回はこの時期のレースに絞って予想します。データの準備
情報収集
情報収集は、以下に記事を参考にスクレイピングで集めました。
https://qiita.com/ishizakiiii/items/3b894b6e987fdf87093e集めたデータの内訳は以下のとおりです。
データ数 用途 1998年~2017年 911 学習データ及びバリデーションデータ 2018年 65 回収率シミュレーション用 1行目にはその日のレース情報が入っています。ただし、「馬場」以降の列は0で埋めています。
2行目以降は各馬番の実績が入っています。上から1レース前、2レース前、3レース前と
なっています。そして、全部の行数は18頭分×3+「その日のレース情報」となっており、
全部で55行になっています。列数は年月日を除くと11列あります。
まとめると、一レースにつき$55\times11$のデータ形式となっています。各列の情報は以下のとおりです。
年月日
CNNに投げるときに消しています。ダート
ダートであれば「1」、芝であれば「0」です。馬場
良であれば「0」、それ以外なら「1」です。タイム
秒単位に変換しています。欠損値の扱い
実績がないレースは「各列」の平均値で埋めています。
また、18頭に満たないレースも18頭になるように平均値で埋めています。データの前処理
CNNに入れる入力は0~1の間にあるとうまくいくため、各列の値は最小値0、最大値1に
なるように変換しています。特徴量エンジニアリング
今のところ、生データの特徴量は「605」となっています。
不要な特徴量を減らすと、精度が上がることが報告されており、
今回はBorutaというパッケージを使って特徴量を減らしてみました。Borutaについては、以下のリンクを参照ください。
https://qiita.com/KROYO/items/5ecabf99254f19818d8e
https://aotamasaki.hatenablog.com/entry/2019/01/05/195813前述したようにデータのサイズは$55\times11$となっています。
下の図はこのデータサイズに対し、Borutaで重要だと認められたものを色付けしたヒートマップです。
ヒートマップより「その日のレース情報」(1行目)は重要ではないということが分かりました。
そして、各列について「人気」「着」「タイム」「着差」「馬体重」が重要な要素といえそうです。だいぶすっきりしました。当初、$55\times11$だったデータが$54\times5$まで圧縮できました。
本稿では、このデータを画像としてとらえてCNNで処理することにより一着になる馬を予想します。一番意外だったのが「過去のレースの人気」が重要だということです。
過去のレースの人気は、潜在的な馬の能力(血統)を示唆しているのでしょうか。ちなみに今回Borutaで特徴量を削減すると、精度が2%向上しました。
Boruta凄い!CNNで予想
ディープラーニングに興味のない方はここを読み飛ばして、回収率シミュレーションをご覧ください。
ここからはCNNを使っており、全て同一のものを使っています。
CNNのコードは付録に記載しています。CNNの比較対象として、一番人気の馬券を買うことが挙げられるでしょうか。
一番人気の馬券は約30%の的中率が出ます。単純に予想してみる
まずは、CNNで一着になる馬を予想してみます。
Epoch 133/400 729/729 [==============================] - 0s 335us/step - loss: 2.0631 - acc: 0.3128 - val_loss: 2.6475 - val_acc: 0.2198 Epoch 00133: val_acc improved from 0.20879 to 0.21978, saving model to weights.h5精度は21.98%となりました。
残念ながら、一番人気の的中率には届きませんでした。ちなみにXGBoostなどでも同程度の精度となりました。
CNNが過学習しているため、L2正則化などを盛り込んでみましたが、あまり効果はありませんでした。
また、CNNのフィルター(カーネル)サイズを横長や縦長に変えてみましたが、精度は悪化してしまいました。一番人気を予想してみる
単純に一着の馬を予想しても、一番人気の的中率に届きませんでした。
考え方を少し変えてみます。一番人気の的中率が高いのであれば、一番人気をCNNに
予想させてその馬券を買えば、的中率が上がるのではないでしょうか。ということで、一番人気を予想してみます。
Epoch 00127: val_acc did not improve from 0.44505 Epoch 128/400 729/729 [==============================] - 0s 318us/step - loss: 1.3221 - acc: 0.5693 - val_loss: 1.8868 - val_acc: 0.4505 Epoch 00128: val_acc improved from 0.44505 to 0.45055, saving model to model/weights_pop.h5「一番人気」の的中精度は45.06%となりました。
そして、一番人気だと予想した馬券を購入すると
test accuracy 0.24175824175824176「一着」の的中精度は24.18%となりました。
単純に一着を予想するよりも、一番人気を予想させて馬券を購入した方が
的中率が高くなるとは...何とも不思議な現象です。割ってみる
今度はデータをいじってみます。
「人気」を「着」で割ると、人気通りであれば1に近くなり、人気から外れると
1より大きいあるいは、小さいものになります。何となく役立ちそうなデータです。そこで、全ての列に対し総当たりで割り算を行いました。
ただし、データは0~1に変換しているため、分母に0.1を加算して演算します。$X$を新たに作る特徴量、$x$を既存の特徴量とすると、以下の式になります。
X_{ij}=\frac{x_{ik}}{0.1+x_{il}}ただし、$i$=1~54は行の番号、$j$は新たに作るデータの列の番号とします。
また、$k$と$l$($k\neq l$)には「人気」「着」「タイム」「着差」「馬体重」が入ります。そして、割り算したデータ$(54\times10)$を元データ$(54\times5)$に連結し、
$(54\times15)$のデータとしてCNNで判定させます。Epoch 104/400 729/729 [==============================] - 0s 351us/step - loss: 1.8688 - acc: 0.3992 - val_loss: 2.7059 - val_acc: 0.2143 Epoch 00104: val_acc improved from 0.21429 to 0.21429, saving model to model/weights_divide.h5この時の精度は21.43%となりました。
単純に一着を予想させるのと、ほとんど変わらない精度になりました。
掛けてみる
今度は掛け算を行ってみます。
さきほどと同じように、全ての列に対し総当たりで掛け算をしました。
$X$を新たに作る特徴量、$x$を既存の特徴量とすると、以下の式になります。X_{ij}=x_{ik}x_{il}ただし、$i$=1~54は行の番号、$j$は新たに作るデータの列の番号とします。
また、$k$と$l$($k\neq l$)には「人気」「着」「タイム」「着差」「馬体重」が入ります。そして、掛け算したデータ$(54\times10)$を元データ$(54\times5)$に連結し、
$(54\times15)$のデータとしてCNNで判定させます。
Epoch 156/400 729/729 [==============================] - 0s 345us/step - loss: 1.3909 - acc: 0.5144 - val_loss: 2.8907 - val_acc: 0.2198 Epoch 00156: val_acc improved from 0.19780 to 0.21978, saving model to model/weights_times.h5この時の精度は21.98%となりました。
結果の比較
ここまでの結果をまとめておきます。
通常予想 人気予想 除算(divide) 積(times) 一番人気 21.98% 24.18% 21.43% 21.98% 30%くらい 残念ながら、CNNの予想は一番人気の的中率には届きませんでした。
次に、これらをアンサンブル学習してどこまで伸びるのか見てみます。ボツになった案
アンサンブル学習に行く前に、ボツになった案をご紹介します。
DataAugmentation
一着の馬のデータだけを他のレースデータとトレードしたり、ノイズを付与したり
mixupしたりしてデータを水増ししましたが、精度は上がりませんでした。metric learning
今回は学習データが1000以下と少なく、少ないデータ量でうまくいくと言われる
metric learningを試しました。しかし、精度は上がりませんでした。他の機械学習手法とアンサンブル
XGBoostやCATBoost、ロジスティクス回帰やSVMとのアンサンブル学習を試みましたが、
精度はほとんど変わりませんでした。二段回学習
CNNを特徴抽出器として利用し、抽出した特徴量をSVMやロジスティクス回帰で分類しましたが、
精度は上がりませんでした。アンサンブル学習
もう少し悪あがきをしてみます。
運良く「一番人気」が分かったとして、CNNに何とか組み込めないか考えてみます。
そこで、一番人気とCNNでアンサンブル学習(Voting)してみます。Votingについては、以下の記事をご覧ください。
https://qiita.com/shinmura0/items/bcc8c4a06b9a49c943d6#voting%E3%81%A8%E3%81%AF式は独断で以下のとおりとしました。
Argmax(10\times popularity + CNN_{normal} + CNN_{times} + CNN_{divide} + CNN_{popularity})(1)ただし、popularityは次式のようなone-hot表現になった18次元のベクトルです。
popularity = [0, 1, 0, ..., 0]$CNN_{***}$は18頭の馬がそれぞれ一着になる確率が入った18次元のベクトルとなっています。
CNN_{***} = [0.1, 0.8, 0.1, ..., 0](1)式で最大のスコアになった馬を単勝予想馬とします。
お気づきのとおり、一番人気の係数が「10」になっており、一番人気を買うしか
選択肢はありません。従って、CNNの投票は全く関係ないようにみえますが
回収率を上げるときに大きな役割を果たします。馬券の買い方
回収率を上げる馬券の買い方について考察します。
一番人気が既知の場合
(1)式の単勝予想馬について、その馬のスコアが高いとしたら信頼度は高いかもしれません。
スコアに閾値を設け、その値以上であれば、馬券を買う戦略をとってみます。まずは、テストデータを使って、スコアの閾値と精度の関係を見てみます。
ご覧のとおり、スコアの閾値が高いほど精度も上がる傾向にあります。
ただ、閾値が高すぎると対象となるレース数が少なくなります(緑の棒グラフ)。そこで、今回は閾値を「11」に定め(赤の点線)、ある程度レース数を確保することにしました。
テストデータだと50%くらいの精度が出ています。一番人気が未知の場合
一番人気が未知の場合、(1)式でpopularityの項がなくなります。
その場合も同じ戦略をとってみます。テストデータを使って、スコアの閾値と精度の関係を見てみます。
さきほどと同じく、レース数を確保するために閾値を「1.8」に定めました(赤の点線)。
テストデータだと30%くらいの精度が出ています。回収率シミュレーション
最後に2018年のデータを使って、回収率シミュレーションをしてみます。
一番人気が既知の場合
ここでは(1)式がそのまま使えます。そして、閾値を「11」にして
スコアがそれ以上であれば、馬券を買う戦略をとります。上の図は上記の戦略で単勝の馬券を買った場合の利益です。¥100で馬券を買ったとして、
当たれば「¥100×倍率」、負ければ「-¥100」としています。一番人気の馬券を
買っているため、的中しても倍率が非常に低いです。
全レース 対象レース 的中 的中率 回収率 一番人気 65 65 20/65 30.8% 74.2% アンサンブル学習 65 21 9/21 42.9% 102% 一番人気と比較した場合、アンサンブル学習の方が的中率も回収率も高いのですが、
回収率が102%なので、やる価値はあまりないです。
銀行に預金するより若干良いくらい!?一番人気が未知の場合
ここでは(1)式のpopularityがなくなっています。そして、閾値を「1.8」にして
スコアがそれ以上であれば、馬券を買う戦略をとります。上の図は、上記の戦略で単勝の馬券を買った場合の利益を示しています。
2レース目の倍率は高いのですが、その他のレースは当たったとしても
一番人気っぽいので、利益が低くなっています。
全レース 対象レース 的中 的中率 回収率 一番人気 65 65 20/65 30.8% 74.2% アンサンブル学習 65 18 5/18 27.8% 71.0% 一番人気が未知の場合は回収率が100%を下回ってしまうので、買わない方が良いですね。
一番人気の情報は絶対必要です!まとめ
- ディープラーニングによる競馬データの予測は、的中率43%、回収率102%になりました。
- 今回のチャレンジでは、機械学習のモデルやハイパーパラメータをいじるより、特徴量をいじった方が精度が上がりやすかったです。やはり特徴量エンジニアリングが肝といえそうです。
- 1番人気のデータの重要性が良く分かりました。
付録
最後にCNNのコードを示します。
import keras from keras.models import Model from keras.layers import Input, Dense, Activation, Dropout from keras.layers import Conv2D, GlobalAveragePooling2D from keras.layers import BatchNormalization, Add from keras.callbacks import ModelCheckpoint from keras.utils import to_categorical from keras.initializers import he_normal import keras.backend as K # redefine target data into one hot vector classes = 19 Y_train = to_categorical(y_train, classes) Y_test = to_categorical(y_test, classes) def cba(inputs, filters, kernel_size, strides): x = Conv2D(filters, kernel_size=kernel_size, strides=strides, padding='same', kernel_initializer=he_normal())(inputs) #x = BatchNormalization()(x) #バッチノーマライゼーションは入れない方が精度が出る x = Activation("relu")(x) return x # define CNN inputs = Input(shape=(X_train_.shape[1:])) x = cba(inputs, filters=32, kernel_size=(3,3), strides=(2,2),) x = Dropout(0.2)(x) x = cba(x, filters=64, kernel_size=(3,3), strides=(2,2)) x = Dropout(0.2)(x) x = cba(x, filters=128, kernel_size=(3,3), strides=(2,2)) x = Dropout(0.2)(x) x = cba(x, filters=128, kernel_size=(3,3), strides=(2,2)) x = Dropout(0.2)(x) x = cba(x, filters=256, kernel_size=(3,3), strides=(2,2)) x = Dropout(0.2)(x) x = cba(x, filters=256, kernel_size=(3,3), strides=(2,2)) x = Dropout(0.2)(x) x = GlobalAveragePooling2D()(x) #x = keras.layers.Lambda(lambda xx: alpha*(xx)/K.sqrt(K.sum(xx**2)))(x) #metrics learning x = Dense(classes)(x) x = Activation("softmax")(x) model = Model(inputs, x) #model.summary() # initiate Adam optimizer opt = keras.optimizers.adam(lr=0.0001, decay=1e-6, amsgrad=True) # Let's train the model using Adam with amsgrad model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy']) hist = model.fit(X_train_,Y_train, validation_data=(X_test_,Y_test), epochs=400, callbacks=[ ModelCheckpoint(path + 'weights.h5', monitor='val_acc', verbose=1, mode='auto', save_best_only='true')], verbose=1, batch_size=50) model_json = model.to_json() open(path + 'model.json', 'w').write(model_json) #結果描画 plt.figure() plt.title("loss") plt.plot(hist.history['loss'],label="train_loss") plt.plot(hist.history['val_loss'],label="val_loss") plt.legend() plt.show() plt.figure() plt.title("accuracy") plt.plot(hist.history['acc'],label="train_acc") plt.plot(hist.history['val_acc'],label="val_acc") plt.legend(loc="lower right") plt.show()
- 投稿日:2019-03-27T22:35:34+09:00
統計的機械翻訳(ibm-model1と2-gramで実装してみた)
統計的機械翻訳をibm-model1と2-gramで実装してみた
過去に、自然言語処理習いたてのころに、実装してみたものです。
ソースコードの汚さは半端ないので、動かしてみたいという人だけやってみてください。途中途中、不要なコメントがありますが、気になさらないでください…
翻訳モデルとして、ibm-model1
言語モデルとして、2-gramを採用して、実装しました。Python3.6.5で動かしてます。
必要なモジュールはMeCabです。使用方法
python machine.py
とコマンドから入力つぎに、日本語の文章を入力すると、
結果が英文で出力されます。ちなみに、学習データに存在する日本語の単語でしか入力できません。
学習データに存在する単語であれば、自由に文章を入力してください。
高性能なマシンをお持ちの人は、10万文規模で試されても面白いかもしれません。ファイル
machine.pyimport MeCab import copy import itertools def wakati(text): t = MeCab.Tagger("-Owakati"); m = t.parse(text); return m.rstrip().split(" "); #英語だけの全文と日本語だけの全文をそれぞれでリスト化する def jatoen(filename): src=open(filename, "r", encoding="utf-8_sig"); line=src.readline();#最初の一行読み込む i=0;#ファイルの今から読み込む行番号 wordlist_j=wakati(line) i=i+1; wordlist_e=['NULL']#英単語リスト初期化 while line: if(i%2==0):#日本語のリスト化 line=src.readline(); wordlist_j.extend(wakati(line)); i=i+1; else:#英語のリスト化 line=src.readline(); wordlist_e.extend(line.rstrip().split(" ")); i=i+1; wordlist_j.pop(); src.close(); return list(set(wordlist_j)), list(set(wordlist_e)); def makejaen_3(wordlist_j, wordlist_e): dic_p={} len_j=len(wordlist_j); for i in wordlist_j: dic_p[i]={}; for j in wordlist_e: dic_p[i][j]=1/len_j; return dic_p; #リストの中身を表示する def print_str(max_gram, input_data): str=""; for i in max_gram: str+=i+" "; print("原文:"+input_data); print("目標文:"+str); #辞書型一個一個にアクセス filename="内山コーパス.txt" src=open(filename, "r", encoding="utf-8_sig") dic={}#日本語単語と英単語の対応辞書型 i=0#カウント変数 #ファイルを一行ずつ読み込む line=src.readline() wordlist=wakati(line)#一行目は、日本文なので、分かち書き wordlist_p=[]#日本語と重みを要素としたリスト型 for k in range(len(wordlist)):#最初の日本語リストに単語と重みを初期化 wordlist_p.append([wordlist[k], 0.0]); i=i+1 key=1#辞書型のキー初期化 #英単語と日本語対応の辞書型作成(初期化)重みは0.0で初期化 while line: if(i%2 == 0):#偶数のとき、その行は日本文 line=src.readline(); wordlist=wakati(line); wordlist_p=[]#wordlist_p初期化 for k in range(len(wordlist)): wordlist_p.append([wordlist[k], 0.0]); i=i+1; else:#奇数のとき、その行は英文 line=src.readline(); list_english=['NULL']#英単語のリスト型最初の要素はNULLとする list_english.extend(line.rstrip().split(" ")); dic[key]={};#キーの要素を辞書型で初期化 for j in range(len(list_english)): if(key==0): print(id(wordlist_p[0])); dic[key][list_english[j]]=copy.deepcopy(wordlist_p);#wordlist_pを直接代入すると、同じIDが入るため、copyを用いる。 i=i+1; key=key+1; wordlist_j, wordlist_e=jatoen(filename) dic_p={} #dic_p=makejaen(wordlist_j, wordlist_e) dic_p=makejaen_3(wordlist_j, wordlist_e) #ibm-model1実装 #print(dic_p); kkkk=0; #ibm-model1実装 for i in range(0, 5, +1): for j in dic: for k in dic[j]:#j番目の英単語kの重み設定 for l in dic[j][k]:#j番目の英単語kのリストの要素にアクセス要素lの0番目は日本語単語 1番目は重み deno=0;#分母 bunshi=0;#分子 japa=l[0]; bunshi=dic_p[japa][k]; for m in dic_p[japa]: if(m in dic[j]): deno+=dic_p[japa][m]; l[1]=bunshi/deno; for i in dic_p: for j in dic_p[i]: deno=0; bunshi=0; japa=i; for k in dic:#dicのキーは0,1,2,.... if(j in dic[k]): for l in dic[k][j]: deno+=l[1]; if(l[0]==japa): bunshi+=l[1]; dic_p[i][j]=bunshi/deno; kkkk=kkkk+1 print(kkkk) print(" -----") for i in dic_p: print(i) for j in dic_p[i]: print(j) print(dic_p[i][j]) print(dic_p); print("------") #print(dic_p) #n-gram実装 #ngram初期化 ngram={} filename="内山_test.txt" #filename="英語コーパス_test_s.txt" src=open(filename, "r", encoding="utf-8_sig") #ファイルを一行読み込む line=src.readline() line_e=line.rstrip() #英語コーパスのすべてに対して、ngram while line: line=src.readline(); line_e+=" "+line.rstrip(); wordlist=line_e.rstrip().split(" "); #辞書型ngramにwordlistの要素をどんどん追加 #2-gram実装 #2-gramの表作り<s>:文頭 </s>:文末 for i in range(len(wordlist)): if(not(wordlist[i] in ngram)): ngram[wordlist[i]]={}; if(wordlist[i] == "</s>"): ngram[wordlist[i]]={"NULL" : -1}; else: for j in range(i+1, len(wordlist), +1): #任意の文字の後の<s>は0 if(wordlist[j] == "<s>"): break; #iのキーの中にjという単語存在しないとき登録 elif((i+1==j) and not(wordlist[j] in ngram[wordlist[i]]) ): ngram[wordlist[i]][wordlist[j]]=1; elif(i+1==j): ngram[wordlist[i]][wordlist[j]]+=1; elif(not(wordlist[j] in ngram[wordlist[i]])): ngram[wordlist[i]][wordlist[j]]=0; wordlist_num=list(set(wordlist)); print("よう"); print(wordlist_num); wordlist_num.remove("<s>"); wordlist_num.remove("</s>"); print(wordlist_num); #英単語の異なり語数 len_english=len(wordlist_num) #加算スムージング for i in ngram: for j in wordlist_num: if(not(j in ngram[i])): ngram[i][j]=0; print(ngram) alpha=0.1; #2gramの確率実装 ngram_p={} for i in ngram: ngram_p[i]={} count_self=0; for j in ngram[i]: count_self+=ngram[i][j]; for k in ngram[i]: ngram_p[i][k]=(ngram[i][k]+alpha)/(alpha*len_english+count_self); print("加算スムージング後の") print(ngram_p); #print(dic_p); #for i in dic_p: # print(i+",",max([(v, k) for k, v in dic_p[i].items()])[1]); input_data="" input_data=input(">>"); input_list=wakati(input_data); #input_listの要素をそれぞれ対応する英単語に変換 for i in range(len(input_list)): input_list[i]=max([(v, k) for k, v in dic_p[input_list[i]].items()])[1]; for i in input_list: if(i=='NULL'): input_list.remove('NULL'); wordlist_english=copy.copy(input_list); print(wordlist_english); wordlist_list=[] for i in itertools.permutations(wordlist_english): wordlist_list.append(list(i)); print(wordlist_list) for i in wordlist_list: i.insert(0, '<s>'); i.append('</s>'); print(wordlist_list) input_list.insert(0, '<s>'); input_list.append('</s>'); gram=copy.copy(input_list); #<s>に続く確率の高い単語を求める #ngramによる確率最大となる文生成 max_p=0; max_p_temp=1; max_gram=[]; for gram in wordlist_list: max_p_temp=1; for i in range(0, len(gram)-1, +1): max_p_temp*=ngram_p[gram[i]][gram[i+1]]; if(max_p < max_p_temp): max_p = max_p_temp; max_gram = copy.copy(gram); print(max_gram); max_gram.remove("<s>"); max_gram.remove("</s>"); #リストの中身を表示する print_str(max_gram, input_data);以下は、学習用データファイルです。
内山_test.txt<s> his painting </s> <s> his collection </s> <s> painting collection </s> <s> painting and collection </s> <s> his collection and painting </s>内山コーパス.txt彼の絵 his painting 彼のコレクション his collection 絵のコレクション painting collection 絵とコレクション painting and collection 彼のコレクションと絵 his collection and painting参考文献
- 投稿日:2019-03-27T22:32:31+09:00
【IBM Watson】気象観測データをPandasでCSV読み込みする
環境
Watson Studio
Python3.5Pandasとは
- Numpyと同様に行列を加工しやすくするライブラリです。
- 数表や時系列データを操作しやすくする為の機能が提供されています。
- BSDライセンス
気象観測データ
- 気象庁で公開されている気象観測データファイルをDLします。
- 今回は、1時間の降水量データをDLします。
IBM WatsonのNotebook 側の処理
- 今回は、IBM Watson のWatson Studioを使用して、気象観測データを読み込んでみたいと思います。
- アカウントをお持ちでない方は、こちらにてアカウントを作成してください。ライトアカウントが用意されています。ライトアカウントですと、クレジットカード不要で無期限・無料で利用できます。(2019年3月27日時点)
- 有料アカウントと比較すると、利用できるサービスが限定されていますが、AIの取っ掛かりとしては十分すぎるほど利用できます。利用できるサービスを以下にリストアップしました。
- Watson Knowledge Studio
- IBM API Connect™
- Cloud Foundryのアプリ
- IoTプラットフォーム
- Watson Discovery
- Cloudant®
- Watson Personality Insights
- プッシュ通知
- 音声からテキストへの変換
上記で、アカウントが用意できたら、処理を進めていきましょう。
カタログ画面が表示されたら、サイドメニューから「AI」リンクをクリック。詳細画面から「Watson Studio」をクリックし、Watson Studio を起動します。
- New Project ボタンを押下
- Standard を選択
- 任意のプロジェクト名などを入力、ストレージを選択。ここでは、ストレージの箇所はマスクをかけていますが、任意のストレージを作成して選択してください。その後、create ボタンを押下してください。
- Add project ボタンを押下、展開されたメニューから Notebookを選択します。
- 任意のNotebook の名前を入力し、Create Notebook ボタンをクリックします。
- Notebook が作成されたら、メニュー上部の「データ」アイコンをクリックし、先ほど気象庁のサイトからダウンロードしたCSVファイルをアップロードします。
- CSVファイルのアップロードが終わると、CSVファイル名の下に、[Insert to code]リンクが現れるので、クリック。展開されたメニューから[Insert pandas DataFrame]リンクが現れるのでクリックします。
- PandasCSVファイルを読み込みするコードが自動生成されます。便利ですね。
- 簡単に中身を見てみます。import pandas as pd でPandasライブラリをインポートしています。その後、pd.read_csv(body)でCSVファイルを読み込み、df_data_1変数に格納し、df_data_1.head()で規定のヘッダ行を出力しています。
import types import pandas as pd from botocore.client import Config import ibm_boto3 def __iter__(self): return 0 # @hidden_cell # The following code accesses a file in your IBM Cloud Object Storage. It includes your credentials. # You might want to remove those credentials before you share your notebook. client_xxxxxxxxxxxxxxxxxxxxxxxxxxx = ibm_boto3.client(service_name='s3', ibm_api_key_id='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', ibm_auth_endpoint="https://iam.bluemix.net/oidc/token", config=Config(signature_version='oauth'), endpoint_url='https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com') body = client_xxxxxxxxxxxxxxxxxxxxxxxxxxxx.get_object(Bucket='xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxx-pr-xxxxxxxxxxxxxxxxxxxxxxx',Key='pre1h00_rct.csv')['Body'] # add missing __iter__ method, so pandas accepts body as file-like object if not hasattr(body, "__iter__"): body.__iter__ = types.MethodType( __iter__, body ) df_data_1 = pd.read_csv(body) df_data_1.head()
- Run ボタンをクリックして、実行してみます。
- 成功と思いきや、エラーです。
--------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) <ipython-input-1-72cf346b6559> in <module>() 20 if not hasattr(body, "__iter__"): body.__iter__ = types.MethodType( __iter__, body ) 21 ---> 22 df_data_1 = pd.read_csv(body) 23 df_data_1.head() 24 (中略) pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.__cinit__() pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._get_header() UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8a in position 0: invalid start byte
- どうも、気象庁からダウンロードしたファイルはSJISですが、Unicodeで読み込みをしようとして、UnicodeDecodeErrorが発生しているようです。
- では、自動生成されたコードを以下のように修正して、SJISで読み込むように直しましょう。
#df_data_1 = pd.read_csv(body) df_data_1 = pd.read_csv(body,encoding="SHIFT-JIS")
- 成功しました。
- ちなみに、df_data_1.head()は先頭5行のみ読み込みます。df_data_1.tail()で末尾5行の読み込みを行います。
- Pandasの詳しい使用方法は10 Minutes to pandasを参照してください。
- 投稿日:2019-03-27T22:30:18+09:00
VAEで取得した潜在変数をクラスタリングしてみた
概要
- はじめに
- 手順
- VAEとはなにか
- k-Means法とはなにか
- VAEの実装
- k-Means法の実装
- k-Means法の学習
- Testデータでの予測結果
- 他の手法との比較
- おわりに
- 参考
はじめに
VAEで取得した潜在変数に対してクラスタリングすることで、MNISTを精度0.5087で分類することができました。
手順
- VAEを学習させる
- VAEのEncoderにデータを渡し、潜在変数を取得する
- 取得した潜在変数をk-Means法でクラスタリング
クラスタリングをする潜在変数として、Encoderの出力である正規分布の平均(正規分布なので、ランダムサンプリングした際に、平均の場所にマッピングされる可能性が一番高い)を使用します。
k-Means法でクラスタリングする際、最初の重心をラベル付きのデータにします。そして、各点が属するクラスタを求めます。つまり半教師あり学習を行います。なぜならMNISTの分類精度を求めるために、単なる分類ではなく、ラベル付きの分類を行いたいからです。
VAEとはなにか
Encoderで正規分布の平均と共分散行列を出力させ、潜在変数zはその正規分布からサンプリングしたものになります。潜在変数zは同じクラスラベルのデータは近いところに集まることが期待できるそうです。
記事[1][2]でより詳しく学べます。
k-Means法とはなにか
重心を使って、データをk個の点のかたまりに分類します。
本来は各点に対して、ランダムにクラスタを割り振り、その後に最初の重心を計算する教師なし学習なのですが、ここでは上にも書いたように半教師あり学習を行います。
機械学習のエッセンス[3]でより詳しく学べます。VAEの実装
記事[1]の実装をそのまま使用しました。
k-Means法の実装
k-Means法でクラスタリングする際に、最初の重心をラベル付きのデータにしたいので、scikit-learnにあるk-Means法を利用するのではなく、スクラッチ実装をしなければなりません。記事[4]のコードに少し変更を加えることで、スクラッチ実装をしました。具体的には二つの変更を行いました。
一つ目はRepInitメソッドの変更です。最初の重心をラベル付きのデータにします。
まずRepInitメソッドの変更する際に使用するメソッドを示します。クラスタ代表点にするラベル付きのデータのインデックスを求めます。最初の重心の位置は重要なのでランダム性を持たせました。import random def returnOneLabelIndexList(labels): count = 0 #クラスタ代表点にするラベル付きのデータのインデックスを格納 firstLabelIndex = [-1]*10 booleanIndex = [False]*10 randomIndex = random.randint(0, 600) #randomIndex番目以降の要素を取得 labels = labels[randomIndex:] #firstLabelIndexに格納する各ラベルは最初に現れたラベルにする for label in labels: for i in range(10): if label == i: if firstLabelIndex[i] != -1: break firstLabelIndex[i] = count+randomIndex booleanIndex[i] = True count += 1 #すべてがtrueだったら終了 if all(booleanIndex): break return firstLabelIndexそして、メソッドRepInitを以下のように変更しました。重心を表すアトリビュートrepsにラベル付きのデータを格納します
def RepInit(self, c_datas, k,firstLabelIndex): for i in range(k): self.reps[i] = c_datas[firstLabelIndex[i]] self.dists = [[-1 for j in range(len(self.reps))] for i in range(len(c_datas))] self.clusters=[-1 for i in range(len(c_datas))]二つ目はpredictメソッドの追加です。学習データにない点群を与えた時に、どのクラスタに属するかを求めるメソッドです。これは単に2点間の距離を求め、最も近いクラスタはどれかを求めるだけです。
def predict(self,dataListX): predictLabels = [] for x in dataListX: dists = [] for i in range(self.k): dists.append(np.linalg.norm(np.array(x) - np.array(self.reps[i]))) predictLabels.append(np.argmin(dists)) return predictLabelsk-Means法の学習
VAEの学習をした後、k-Means法の学習を行います。最初の重心の位置が精度に大きく影響すると思われるので、K-分割交差検証を利用して、モデルの探索を行いました。正解率はそれぞれ[0.4335, 0.5265, 0.472, 0.4945, 0.4495]となりました。
train_dataset = datasets.MNIST('./data', download=True, train=True, transform=transforms.ToTensor()) train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=10000, shuffle=False) #trainデータの数は10000になる train_images, train_labels = iter(train_loader).next() #[10000, 1, 28, 28] -> [10000, 784] train_images = train_images.view(10000, -1) #Encoderの出力である平均を取得する。 with torch.no_grad(): z = model.encode(train_images.to(device)) train_mu, train_logvar = z train_mu = train_mu.cpu() #TensorをNumpy化 train_mu = train_mu.detach().numpy() #5分割 kf = KFold(n_splits=5) modelList = [] accuracyList = [] for train_index, test_index in kf.split(train_mu, train_labels): kmeans_model =KMEANS() #最初の重心を求める firstLabelIndex = returnOneLabelIndexList(train_labels[train_index]) #学習 kmeans_model.Clustering(train_mu[train_index],10,firstLabelIndex) #予測 predict_labels = kmeans_model.predict(train_mu[test_index]) #精度を求める accuracy = accuracy_score(train_labels[test_index],predict_labels) accuracyList.append(accuracy) #モデルをリストに格納 modelList.append(kmeans_model) i = accuracyList.index(max(accuracyList)) #最も精度が良いモデルをkmeans_model格納する。 kmeans_model = modelList[i] print("正解率=",accuracyList)Testデータでの予測結果
プログラムは以下の通りです
test_dataset = datasets.MNIST('./data', download=True, train=False, transform=transforms.ToTensor()) test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=10000, shuffle=False) test_images, test_labels = iter(test_loader).next() test_images = test_images.view(10000, -1) with torch.no_grad(): #batch_size=10000 z = model.encode(test_images.to(device)) test_mu, test_logvar = z test_mu = test_mu.to(device) test_mu = test_mu.cpu() test_mu = test_mu.detach().numpy() import pylab import matplotlib.pyplot as plt %matplotlib inline #VAEの潜在変数にラベルをつけてプロット plt.figure(figsize=(10, 10)) plt.scatter(test_mu[:, 0], test_mu[:, 1], marker='.', c=test_labels, cmap=pylab.cm.jet) plt.colorbar() plt.xlim((-6, 6)) plt.ylim((-6, 6)) plt.title("VAE") #k-Means法の潜在変数に対する予測結果をプロット predict_labels = kmeans_model.predict(test_mu) plt.figure(figsize=(10, 10)) plt.scatter(test_mu[:, 0], test_mu[:, 1], marker='.', c=predict_labels, cmap=pylab.cm.jet) plt.colorbar() plt.xlim((-6, 6)) plt.ylim((-6, 6)) plt.title("kmeans") print("正解率",accuracy_score(test_labels,predict_labels))予測精度は0.5087になりました。下の画像はVAEの潜在変数にラベルをつけてプロットしたものになります。つまりこれが目指す予測結果になります。
そして、下の画像が冒頭でもお見せしたk-Means法の潜在変数に対する予測結果になります。それなりの精度だと思います。
他の手法との比較
他の手法は二つあります。
- PCAで784次元のデータを2次元の空間に射影し、その射影後のデータに対してk-Means法でクラスタリング
- 784次元のデータをそのままk-Means法でクラスタリング
PCA(主成分分析)とはデータを低次元に圧縮するもので、次元圧縮後のデータの分散は最大になります。機械学習のエッセンス[3]でより詳しく学べます。
1の手法のプログラムはPCAを使用する以外は上で示した手法のプログラムと同じです。
正解率は[0.3075, 0.273, 0.336, 0.3315, 0.3205]となりました。#PCAで次元圧縮 pca = PCA(n_components=2) pca.fit(train_images) pca_train_images = pca.transform(train_images)下の画像はPCAによって、2次元に圧縮されたTestデータにラベルをつけてプロットしたものになります。VAEで取得した潜在変数に比べて、重なっている部分が多いです。
そして、下の画像がPCAによって、2次元に圧縮されたTestデータに対して、k-Means法(上で示した手法と同じように半教師あり学習)でクラスタリングしたものです。精度は0.3238でした。上で示した手法の精度は0.5087でしたので、上で示した手法の方がより良い精度となってます。
2の手法のプログラムはMNISTの784次元ベクトルをそのままk-Means法(上で示した手法と同じように半教師あり学習)でクラスタリングします。精度は0.5524で一番良かったです。しかし784次元ベクトルをそのままk-Means法を行う計算コストは結構大きかったです。
おわりに
個人的には、PCAで取得した圧縮データと比べて、VAEで取得した潜在変数がよりよく、データの特徴を入れ込むことができていて、面白かったです。
今後の自分の課題としては、K-分割交差検証を利用したモデルの評価や他の手法との比較がちゃんとした評価になっているかの確証が得られませんでした。そういったところを勉強したいです。記事に間違いがあれば、コメントなどで指摘してくださると幸いです。
参考
[1]Variational Autoencoder徹底解説
https://qiita.com/kenmatsu4/items/b029d697e9995d93aa24[2]PyTorch (11) Variational Autoencoder
http://aidiary.hatenablog.com/entry/20180228/1519828344[3]機械学習のエッセンス
https://www.amazon.co.jp/dp/4797393963/ref=cm_sw_r_tw_dp_U_x_ZMXMCbXTFPW4Z[4]Pythonでk-means法をやってみる
https://qiita.com/tatsuya-miyamoto/items/018ea59f3746be81ca16
- 投稿日:2019-03-27T22:11:34+09:00
NumPyに入門 その1
NumPyとは
Python用の行列計算ライブラリです。
大量のデータを効率的に計算できるような機能が充実している。
ディープラーニングをするにはほぼ必須のライブラリです。
Windows / macOS / Linux 同じように使えます。
NumPyの使い方
pip install numpy / pip3 install numpy python3 >>> import numpy as np以降 np.* で使用します。
データの初期化
1次元の場合
>>> a = np.array([0, 1, 2]) >>> a array([0, 1, 2])2次元の場合
>>> b = np.array(([0, 1, 2] , [3, 4, 5])) >>> b array([[0, 1, 2], [3, 4, 5]])
データ同士の加減乗除
>>> a = np.array(([5, 3, 8])) >>> b = np.array(([2, 1, 3])) >>> a + b array([ 7, 4, 11]) >>> a - b array([3, 2, 5]) >>> a * b array([10, 3, 24]) >>> a / b array([2.5 , 3. , 2.66666667])
初期値
標準分布に従う乱数を生成
>>> np.random.randn() 0.6971069597047708 >>> np.random.randn(2, 5) array([[ 0.06724173, 0.81443565, -1.40231797, -1.03814878, 1.52165979], [-0.53434462, -0.08328142, 0.20409356, 2.44858899, -1.92150623]])
スカラへの変換
>>> c = np.random.randn(2, 5) >>> c array([[ 1.26717607, -0.53133061, 0.3109047 , 0.12309104, -0.53160679], [ 0.93251521, 0.79879362, 1.80839388, 0.05681128, 0.3855707 ]]) >>> c.sum() 4.620319089229713
動画で説明を作りました。よかったらご覧ください。
https://youtu.be/TTx2E_6MQwE
- 投稿日:2019-03-27T20:37:34+09:00
【Selenium】何故GeckoDriverだと半角カタカナが入力できるのか知りたい。
Teratailで質問している内容なのですが、こちらにも投稿しておきます。
どなたか知ってる方いらっしゃいましたら、教えてください、、、
知りたい事
タイトル通りです。
Teratailに記載しているため、お手数おかけして申し訳ありませんが、以下を参照してください。
【Selenium】何故GeckoDriverだと半角カタカナが入力できるのか知りたい。
結論
comming soon.....
(自己解決または回答が来たら記載します。)
- 投稿日:2019-03-27T20:24:12+09:00
誰でもプログラムを書けるようになる方法が発見される!なんだこれは?
プログラムを書けるようになる方法を見つけた!なんだこれは?
眼鏡のフレーム端を耳の横に掛けたらなぜか書けるようになった。なんだこれは?
このやり方をやれば誰でもプログラムが書けるようになると思います。頭も良くなった!と思うプログラムを挫折した経験がある方一度お試しあれ!
このように耳の横にフレーム端を掛けてやる自己責任で
メガネのフレームを少し曲げる必要があります。破損しても自己責任で
個人差があると思います。人によってできない人もいると思います。
以上自己責任で試してみてください。用意するもの
必須
メガネ (耳の横にかけれるもの フレームの横幅が広いものがいいです)
紫外線防止コーティング (眼鏡屋さんで3千円くらいでやってもらえます)お好み
片方は非球体の方がいい (目が疲れない)
黒縁じゃないほうがいい。(縁が太いと視野が狭くなる)やり方
フレームの端を耳の横に掛ける
目をつぶり、頭の周りに衛星が回転するイメージをするメガネをかけていない時 20回ぐらいの回転が限度 疲れてしまう
メガネをかけている時 10回ぐらいの回転が限度 スムーズに回らない うまく回らない
メガネの端を耳の横にかけている時 スムーズに回る 無限に回ることを確認するメガネを耳の横にかけてイメージの衛星が無限に回ったら、プログラムが書けるようになっていると思います。
個人差があるため、できない人もいるかもしれません。またある程度この掛け方で生活していく必要があります。普段からイメージトレーニングをやってください。
プログラムが書けるようになったかを確かめてみる。
メガネのこの掛け方をしてプログラムの学習サイトで授業を受けてみましょう
初心者はJavaScriptをお勧めします。https://dotinstall.com/lessons
途中、掛け方を元に戻してみる。反応を比べてみる
プログラム書けるようになりましたか?理解できるようになりましたか?
プログラムが書けるようになっていた、理解できるようになっていたら、
あなたは今日からプログラマーです。おめでとう!
近眼じゃない人は?メガネがないとできないの?
近眼じゃなくてもできると思います。近眼になる必要はないです。
今はメガネは必須だと思いますが、近い将来メガネがなくてもできる発明品が出てくるかもしれません。眼鏡屋さんでメガネのフレームを買う。横幅の広いフレームを選ぶこと
最初についているプラスチックの度の入ってないレンズ
このレンズの上に紫外線防止コーティングを追加してもらう。
3千円くらいでやってもらえます。これでできると思いますが。個人差もあるので自己責任で
眼鏡を買う前に、眼鏡屋さんで耳の横に掛けて衛星が無限に回るイメージになるか試してみましょう。無限に回るイメージができたらプログラムは書けていると思います。
まずは安いメガネで試すとよいでしょう。初心者はどのプログラム言語から始めたらいいのか?
C# .NetCore WindowsFormをお勧めします。(画像参照)
GUIなのでわかりやすい。書籍もたくさん出ています。(Visual C# 2018逆引き大全 555の極意はお勧めです)C#は動画学習サイトUdemyで学習できます
https://www.udemy.com/jp/(iOSやアンドロイドをやりたい人はその言語を最初に初めてもいいと思います)
そのあと
ゲーム Unity C#
Web Asp.net MVC C#
機械学習 Tensorflow for C#
Iot Windows 10 IoT Core C#
iOS SwiftかObjective-C
Android KotlinかJava便利ツール
タスク管理ソフト
https://trello.com/jaオンラインチャット Slack
https://slack.com/intl/ja/
- 投稿日:2019-03-27T18:07:45+09:00
TVMに量子化がやってきた
TVM v0.5で8bit整数型へのpost-training量子化がサポートされました。
現時点(2019-3-27)ではAPIドキュメント・チュートリアルが公開されていないため、簡単に使い方をまとめておきます。ソースコードはこちら
手順
Keras公式のResNet50モデルを例に進めていきます。
import keras model = keras.applications.resnet50.ResNet50(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)モデル変換
まずはこのモデルをRelayIRの関数に変換しましょう。v0.5で正式サポートされたRelayIRですが、既にKerasを含め多くのDLフレームワークからのモデル変換機能が用意されています。
import tvm.relay as relay input_name = 'input_1' image_shape = (1, 3 , 224, 224) # NCWH func, params = relay.frontend.from_keras(model, image_shape)量子化
早速この関数を量子化してみましょう。
import tvm import tvm.relay as relay with relay.quantize.qconfig(global_scale=8.0): func_quant = relay.quantize.quantize(func, params) print(str(func_quant))... %9 = round(%8) %10 = clip(%9, a_min=-127, a_max=127) %11 = cast(%10, dtype="int8") %12 = nn.conv2d(%11, meta[relay.Constant][4], channels=64, kernel_size=[1, 1], out_dtype="int32") %13 = add(%12, meta[relay.Constant][5]) %14 = add(%13, meta[relay.Constant][6]) %15 = nn.relu(%14) %16 = add(%15, 64) %17 = right_shift(%16, 7) %18 = clip(%17, a_min=-127, a_max=127) %19 = cast(%18, dtype="int8") ...conv2dへの入力値が8bit整数化されていることが分かります。量子化アルゴリズムの詳細はこの機能のコミッタであるZiheng JiangさんのLT資料がシンプルかつ直観的にまとまっています。
コンパイル
生成されたRelay関数をコンパイルします。ターゲットはLLVM(x86 CPU)としましょう。比較のため量子化前の関数も併せてコンパイルしておきます。
target = 'llvm' # 量子化有無による差異のみチェックするため,グラフ最適化は無効に with relay.build_config(opt_level=0): modules = relay.build_module.build(func, target, params=params) modules_quant = relay.build_module.build(func_quant, target, params=params)推論
一般にpost-training量子化を施したモデルは、元のモデルに比べ多少精度が低下する傾向にあります。TVMの量子化はどうでしょうか。
おなじみImageNetは tabby cat の画像でテストしてみます。def predict_tvm(modules, data): # create module graph, lib, params = modules module = tvm.contrib.graph_runtime.create(graph, lib, tvm.cpu()) # set input and parameters module.set_input(input_name, tvm.nd.array(data.astype(np.float32))) module.set_input(**params) # get output module.run() return module.get_output(0, tvm.nd.empty((1, 1000))).asnumpy() def show_top5_accuracy(y_pred, synset): top5_ids = y_pred.flatten().argsort()[::-1][:5] for i, c in enumerate(top5_ids): print(f'{i+1} : {c} {synset[c]}') y_pred_tvm = predict_tvm(modules, data) y_pred_tvm_quant = predict_tvm(modules_quant, data) print('\nw/o quantization') show_top5_accuracy(y_pred_tvm, synset) print('\nwith quantization') show_top5_accuracy(y_pred_tvm_quant, synset)w/o quantization 1 : 278 kit fox, Vulpes macrotis 2 : 277 red fox, Vulpes vulpes 3 : 282 tiger cat 4 : 285 Egyptian cat 5 : 356 weasel with quantization 1 : 263 Pembroke, Pembroke Welsh corgi 2 : 282 tiger cat 3 : 285 Egyptian cat 4 : 281 tabby, tabby cat 5 : 722 ping-pong ball量子化の影響か両者の推論結果が若干変わっているものの、傾向としては似たようなクラスが出力されているようです。コーギーと子狐、どちらがよりこの茶トラの子猫に近しいかは議論の別れるところですが...
その他、いくつか別クラスの画像でも試してみましたが、概ね量子化前後で同等の推論結果が得られました。
ファイルサイズ
最後に重みファイルのサイズも比較してみましょう。
# save weight model.save_weights('weight_keras.h5') params = modules[2] with open("deploy_param.params", "wb") as f: f.write(relay.save_param_dict(params)) params_quant = modules_quant[2] with open("deploy_param_quant.params", "wb") as f: f.write(relay.save_param_dict(params_quant))
Keras(weights) TVM(未量子化) TVM(量子化) 99MB 98MB 31MB ばっちり軽量化できました!実質コードに2行追加しただけで、重みのサイズが約1/3になったのは中々インパクトがあるのではないでしょうか。
推論速度
最後に推論速度を計っておきましょう。注意点として、
今回のモデルはTVMのキモであるグラフ最適化を行っておらず、ターゲットデバイス向けのチューニングも施していません。絶対的な推論速度は参考程度にとどめてください。print('w/o quantization') %timeit -n10 module.run() print('\nwith quantization') %timeit -n10 module_quant.run()w/o quantization 141 ms ± 447 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) with quantization 192 ms ± 77.4 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)量子化後の方が僅かに遅くなっていることが分かります。今回ターゲットとしたx86-64 CPUのようにFPU性能やキャッシュ容量が十分大きいデバイスでは、サイズの縮小による高速化よりも、量子化時のキャストやクリッピング処理による負荷の方が大きいようです。ARM CPUやFPGAでも改めて検証してみたいところですね。
終わりに
今回はTVM v0.5の新機能、post-training量子化を試してみました。既存コードに数行追加するだけで量子化にトライできる手軽さには驚かされるばかりです。既にエッジ向け推論フレームワークとして関心が高まりつつあるTVMですが、量子化の実装で今後ますます注目を集めそうです。
環境
- Ubuntu 16.04 LTS
- AMD Ryzen 7 1700
- TVM master a7c90ee579e0e830e349f372f3783a0bd31ac605 (0.6.dev)
- Python 3.6.8
- Keras 2.2.4
- tensorflow-gpu 1.12.0
参考資料
TVM Conference 2018, Automatic Quantization for TVM
https://sampl.cs.washington.edu/tvmconf/slides/11-Ziheng-Jiang.pdfTVM tutorials, Compile Keras Models
https://docs.tvm.ai/tutorials/frontend/from_keras.html#compile-keras-models
- 投稿日:2019-03-27T18:07:45+09:00
TVMとKerasで試す量子化ニューラルネットワーク
TVM v0.5で8bit整数型へのpost-training量子化がサポートされました。
現時点(2019-3-27)ではAPIドキュメント・チュートリアルが公開されていないため、簡単に使い方をまとめておきます。ソースコードはこちら
手順
Keras公式のResNet50モデルを例に進めていきます。
import keras model = keras.applications.resnet50.ResNet50(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)モデル変換
まずはこのモデルをRelayIRの関数に変換しましょう。v0.5で正式サポートされたRelayIRですが、既にKerasを含め多くのDLフレームワークからのモデル変換機能が用意されています。
import tvm.relay as relay input_name = 'input_1' image_shape = (1, 3 , 224, 224) # NCWH func, params = relay.frontend.from_keras(model, image_shape)量子化
早速この関数を量子化してみましょう。
import tvm import tvm.relay as relay with relay.quantize.qconfig(global_scale=8.0): func_quant = relay.quantize.quantize(func, params) print(str(func_quant))... %9 = round(%8) %10 = clip(%9, a_min=-127, a_max=127) %11 = cast(%10, dtype="int8") %12 = nn.conv2d(%11, meta[relay.Constant][4], channels=64, kernel_size=[1, 1], out_dtype="int32") %13 = add(%12, meta[relay.Constant][5]) %14 = add(%13, meta[relay.Constant][6]) %15 = nn.relu(%14) %16 = add(%15, 64) %17 = right_shift(%16, 7) %18 = clip(%17, a_min=-127, a_max=127) %19 = cast(%18, dtype="int8") ...conv2dへの入力値が8bit整数化されていることが分かります。量子化アルゴリズムの詳細はこの機能のコミッタであるZiheng JiangさんのLT資料がシンプルかつ直観的にまとまっています。
コンパイル
生成されたRelay関数をコンパイルします。ターゲットはLLVM(x86 CPU)としましょう。比較のため量子化前の関数も併せてコンパイルしておきます。
target = 'llvm' # 量子化有無による差異のみチェックするため,グラフ最適化は無効に with relay.build_config(opt_level=0): modules = relay.build_module.build(func, target, params=params) modules_quant = relay.build_module.build(func_quant, target, params=params)推論
一般にpost-training量子化を施したモデルは、元のモデルに比べ多少精度が低下する傾向にあります。TVMの量子化はどうでしょうか。
おなじみImageNetは tabby cat の画像でテストしてみます。def predict_tvm(modules, data): # create module graph, lib, params = modules module = tvm.contrib.graph_runtime.create(graph, lib, tvm.cpu()) # set input and parameters module.set_input(input_name, tvm.nd.array(data.astype(np.float32))) module.set_input(**params) # get output module.run() return module.get_output(0, tvm.nd.empty((1, 1000))).asnumpy() def show_top5_accuracy(y_pred, synset): top5_ids = y_pred.flatten().argsort()[::-1][:5] for i, c in enumerate(top5_ids): print(f'{i+1} : {c} {synset[c]}') y_pred_tvm = predict_tvm(modules, data) y_pred_tvm_quant = predict_tvm(modules_quant, data) print('\nw/o quantization') show_top5_accuracy(y_pred_tvm, synset) print('\nwith quantization') show_top5_accuracy(y_pred_tvm_quant, synset)w/o quantization 1 : 278 kit fox, Vulpes macrotis 2 : 277 red fox, Vulpes vulpes 3 : 282 tiger cat 4 : 285 Egyptian cat 5 : 356 weasel with quantization 1 : 263 Pembroke, Pembroke Welsh corgi 2 : 282 tiger cat 3 : 285 Egyptian cat 4 : 281 tabby, tabby cat 5 : 722 ping-pong ball量子化の影響か両者の推論結果が若干変わっているものの、傾向としては似たようなクラスが出力されているようです。コーギーと子狐、どちらがよりこの茶トラの子猫に近しいかは議論の別れるところですが...
その他、いくつか別クラスの画像でも試してみましたが、概ね量子化前後で同等の推論結果が得られました。
ファイルサイズ
最後に重みファイルのサイズも比較してみましょう。
# save weight model.save_weights('weight_keras.h5') params = modules[2] with open("deploy_param.params", "wb") as f: f.write(relay.save_param_dict(params)) params_quant = modules_quant[2] with open("deploy_param_quant.params", "wb") as f: f.write(relay.save_param_dict(params_quant))
Keras(weights) TVM(未量子化) TVM(量子化) 99MB 98MB 31MB ばっちり軽量化できました!実質コードに2行追加しただけで、重みのサイズが約1/3になったのは中々インパクトがあるのではないでしょうか。
推論速度
最後に推論速度を計っておきましょう。注意点として、
今回のモデルはTVMのキモであるグラフ最適化を行っておらず、ターゲットデバイス向けのチューニングも施していません。絶対的な推論速度は参考程度にとどめてください。print('w/o quantization') %timeit -n10 module.run() print('\nwith quantization') %timeit -n10 module_quant.run()w/o quantization 141 ms ± 447 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) with quantization 192 ms ± 77.4 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)量子化後の方が僅かに遅くなっていることが分かります。今回ターゲットとしたx86-64 CPUのようにFPU性能やキャッシュ容量が十分大きいデバイスでは、サイズの縮小による高速化よりも、量子化時のキャストやクリッピング処理による負荷の方が大きいようです。ARM CPUやFPGAでも改めて検証してみたいところですね。
終わりに
今回はTVM v0.5の新機能、post-training量子化を試してみました。既存コードに数行追加するだけで量子化にトライできる手軽さには驚かされるばかりです。既にエッジ向け推論フレームワークとして関心が高まりつつあるTVMですが、量子化の実装で今後ますます注目を集めそうです。
環境
- Ubuntu 16.04 LTS
- AMD Ryzen 7 1700
- TVM master a7c90ee579e0e830e349f372f3783a0bd31ac605 (0.6.dev)
- Python 3.6.8
- Keras 2.2.4
- tensorflow-gpu 1.11.0
参考資料
TVM Conference 2018, Automatic Quantization for TVM
https://sampl.cs.washington.edu/tvmconf/slides/11-Ziheng-Jiang.pdfTVM tutorials, Compile Keras Models
https://docs.tvm.ai/tutorials/frontend/from_keras.html#compile-keras-models
- 投稿日:2019-03-27T17:34:48+09:00
【学習記録①】機械学習エンジニアになりたい
機械学習エンジニアになるために
機械学習を極めたいと思い至ったので(理由は追々)学習記録を残していきます
暫くは独学とインターン(実装未経験でもお世話していただける、使用言語Python・機械学習を用いた研究をしている企業様を絶賛探し中)で学習を進めていくつもりなので、学習方法等についてアドバイスいただけますと幸いです。
自分の気持ちにあやふやなところ(特にこれからの研究対象や進路)もあり、正直何となくやりたいから、面白そうだからやってみよう状態です。
生半可な覚悟で極められるものではないことは分かっていますし、腰を据えて学習するためにも早く決めたい気持ちもあるのですが、あまり焦りすぎても仕方ないので。
最低限必要なことからしっかり身に付けたいと思っています。
(と言いつつ、今まで2年間遊び呆けていたのでかなり焦っています)
どんな機械学習エンジニアになりたいのかもインターンで実務経験重ねながら見つけていけたらなと思います。
自己紹介
- 春から学部3年、人工知能/脳神経科学を扱う研究室に所属
- 研究テーマ未定
- プログラミングは授業で学んだ程度、ちゃんとした実装経験なし (何も無さすぎて書いてて虚しくなってきた)
- 理系(ゆる~い情報科学科)
- 数学/英語には特段苦手意識なし
- 他大の大学院に行きたいが、まだ何となくなのでこれから見極める
- 留学もしたいが、これまた何となくなので
現段階で身に付けたい知識・スキルと学習予定リスト
(✔️は読了、⭕は進行中、➕は予定)
人工知能・機械学習
✔️人工知能は人間を超えるか
⭕️人工知能の基礎
➕Coursera スタンフォード 機械学習コースPython
✔️Progate Pythonコース
⭕独学プログラマー
➕ゼロから作るDeepLearning数学
⭕人工知能プログラミングのための数学がわかる本
➕微分積分30講
➕線形代数30講英語(4月にTOEIC受験予定)
⭕TED聴いてる
⭕TOEIC金のフレーズ
➕公式TOEIC L&R問題集その他人工知能学会やWBA若手等のセミナーに参加していますが、対等にお話しできるだけの知識がないのが現状…
使える時間はたっぷりあるので、しっかり食らいついて行きたいと思います
春は今後の学習に役立ちそうな履修計画にしたので!今から楽しみです
- 投稿日:2019-03-27T16:54:49+09:00
3D 散布図を回転 GIF アニメーションにする
Python にて 3D 散布図を描画して回転する GIF アニメーションとして出力したい、ということをやって少しハマったので、最終的にできた方法をまとめる。
GIF アニメに変換する方法としては ImageMagick や FFmpeg を使う方法などがあるが、今回は Pillow を使った。
データ
今回はサンプルデータとして、ランダムな3次元データを生成したものをプロットすることにする。
import numpy as np data = np.random.multivariate_normal(np.zeros(3), np.eye(3), 2**10).transpose() data.shape # => (3, 1024)3D 散布図を描画する
Matplotlib で 3D 散布図を描画して、それを PIL Image に変換する。
from io import BytesIO from PIL import Image import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d def render_frame(angle): """data の 3D 散布図を PIL Image に変換して返す""" global data fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.scatter(*data) ax.view_init(30, angle) plt.close() # 軸の設定 ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') ax.set_xlim(-3, 3) ax.set_ylim(-3, 3) ax.set_zlim(-3, 3) # PIL Image に変換 buf = BytesIO() fig.savefig(buf, bbox_inches='tight', pad_inches=0.0) return Image.open(buf)render_frame(30)GIF アニメを生成する
角度を変えながら全フレーム分の画像を生成して、GIF アニメとして保存すれば完成。
images = [render_frame(angle) for angle in range(360)] images[0].save('output.gif', save_all=True, append_images=images[1:], duration=100, loop=0)※
range(360)だと出力された画像が重すぎて Qiita にアップロードできなかったので、上記画像はrange(180)で出力した
- 投稿日:2019-03-27T15:42:49+09:00
Pythonの学習メモメモ
ProgateやPythonチュートリアルで、あらかた勉強したのですが、HackerRankで解けない・理解できない問題がいくつかありました。
そのため、基礎をこの本で固めます。文字列・リスト・タプル・辞書
文字列
複数行の文字列を作る
クォート文字を3つ連続して書けば、複数行の文字を書けます。
エスケープもできて便利。>>> string = ''' He said, "I want to learn python very hard." ... However, he gave up studying it for only 2 months. ''' >>> print(string) He said, "I want to learn python very hard." However, he gave up studying it for only 2 months.エスケープはこちらでも可能。
>>> escape_string = "He said, \"I don\'t have time to study.\" " >>> print(escape_string) He said, "I don't have time to study."上の方が分かりやすいですかね。
データを文字列に埋め込む
こうやって書くことが多いと思いますが、
>>> myscore = 100 >>> message = "Your score is" >>> print(message + str(myscore)) Your score is100こんな風にも書けます。
>>> myscore = 100 >>> message = "Your score is %i." >>> print(message % myscore) Your score is 100. >>> spaces = ' ' * 25 >>> print("%s March 19th ,2019" % spaces) March 19th ,2019ここで、
iはint,sはstringです。引数が複数あったらこんな感じ。
>>> m = "%s like %s." >>> print(m % ("John", "Alis")) John likes Alis.リスト
リストをいじる
>>> colors = ["red","green","blue"] >>> colors.append("black") #append:添える,付加する >>> print(colors) ['red', 'green', 'blue', 'black'] >>> del colors[1] >>> print(colors) ['red', 'blue', 'black'] >>> favorite_colors = ["emerald", "silver"] >>> print(colors + favorite_colors) #リスト同士しか繋げないので注意 ['red', 'blue', 'black', 'emerald', 'silver'] >>> print(colors * 3) ['red', 'blue', 'black', 'red', 'blue', 'black', 'red', 'blue', 'black']ちなみに、リストの割り算や引き算はエラーになります。
分割する場所によって、複数の解釈が生まれるからです。
プログラミングの世界では、命令はいつも同じように解釈なければいけないわけですね。タプル
タプルは、別名「定数リスト」と呼ばれており、基本的には要素を追加削除できません。
また、()でくくります。>>> numbers = (1,2,3) >>> numbers[1] = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignmentこんな風にエラーが出ます。
タプルは、
要素の順番を変えられたくない時
データ型が固定の場合
などに有効です。辞書
辞書は検索機能を持ったものではなく、「探しやすくデータをしまっておくもの」というイメージですかね。
キーと値のペアでデータを格納します。>>> club_activities = {"naruto" : "Baseball", ... "sasuke" : "Soccer", ... "sakura" : "karate", ... "itachi" : "tennis"} >>> print(club_activities["sasuke"]) Soccerキーから値を引っ張ってきます。
リストと同じく、書き換えや追加、削除は可能です。
しかし、辞書を足し合わせることはできません。まとめ
文字列は
"",リストは[],タプルは(),辞書は{}でくくります。関数とモジュールを使って月面体重計算プログラムを作る
自分で関数を定義する・モジュールをimportする・オブジェクトを使いこなす・うまく条件分岐させる...など、大事なことはたくさんです。
そんな大事なことを詰め込んだプログラムがこちら。
「年が経過するごとに、月面での体重はどうなるか」を計算します。import sys #I want to use "sys.stdin.readline()" >>>def moon_weight(): print("Please your current weight.") weight = float(sys.stdin.readline()) print("Please enter the amount your weight might increase each year.") increase = float(sys.stdin.readline()) print("Please enter the number of years.") year = int(sys.stdin.readline()) for y in range(0,year+1): mw = round(weight * 0.165, 3) print("Year %s is %s" % (y, mw)) weight += increase >>> moon_weight() Please your current weight. 76 Please enter the amount your weight might increase each year. 1.1 Please enter the number of years. 9 Year 0 is 12.54 Year 1 is 12.721 Year 2 is 12.903 Year 3 is 13.084 Year 4 is 13.266 Year 5 is 13.447 Year 6 is 13.629 Year 7 is 13.81 Year 8 is 13.992 Year 9 is 14.173クラスとオブジェクトの概念
Python初心者で最初に難しいのはクラスとオブジェクト(インスタンスとも呼ぶ)ではないでしょうか。
なんとなーくで使っていると、まじで訳わからんくなります(自分もその1人)。ここでは、「キリン」で例えて分かりやすくします。
図を書くWindowsペイント
まず、キリンは基をたどると「物体」です。
この「物体」がすべてのものの親クラスとなります。
そして、親クラスから子クラスにたどっていって、「キリン」クラスまでたどり着きます。
その「キリン」クラスの中に「jackson」という名前のキリンがいたとします。
ここに来て初めて、名前がついたので、jacksonは「オブジェクト」となるのです。つまり、
・クラスは「もの(オブジェクト)」をまとめる分類
・オブジェクトは名前がついたもの
となります。さらに、それぞれのクラス(分類)には、機能があります。
例えば、「動物」クラスなら、
・呼吸する
・食べる
といった機能があり、
「哺乳類」なら、
・赤ちゃんをお腹の中で育てる
といった機能があり、
「キリン」なら、
・長い首を使って木から葉っぱを食べる
といった機能があります。この機能は「関数(Method)」で表します。
コード例はこんな感じ。
>>> class Things: ... pass #今は関数を定義しない ... >>> class Animate(Things): #子クラス(親クラス) ... pass ... >>> class Animals(Animate): ... def breathe(self): #selfには自分自身、つまり決めたキリンの名前(オブジェクト)が入る。 ... print("bufooooo") ... >>> class Mammals(Animals): ... def bring_up_babies(self): ... print("ogyaaaa") ... >>> class Giraffes(Mammals): ... def eat_leaves(self): ... print("mosyamosyamosya") ... >>> jackson = Giraffes() #キリンの名前を決める >>> jackson.breathe() bufooooo >>> jackson.bring_up_babies() ogyaaaa >>> jackson.eat_leaves() mosyamosyamosya親クラスから子クラスに機能は継承されていくので、Giraffesクラスのjackson君はThings〜Goraffesクラスまでの機能をすべて持っています。
便利な
__init__関数この関数にはこんなメリットがあります。
①オブジェクト(もの)を定義すると同時に関数を実行できる
②コードがシンプルになるどういうことかと言うと、、、
動物園のキリンに名前をつける&体重を測る&背を測る 例で見ていきます。#__init__無しの場合 giraffes1 = Giraffes() giraffes.name = jackson giraffes.weight = 350 giraffes.height = 6.8 giraffes2 = Giraffes() giraffes.name = malia giraffes.weight = 290 giraffes.height = 5.6#__init__ありの場合 #Giraffesクラスを編集 class Giraffes(Mammals): def __init__(self,name,weight,height): self.name = name self.weight = weight self.height = height def eat_leaves(self): print("mosyamosyamosya") giraffes1 = Giraffes("jackson",350,6.8) giraffes2 = Giraffes("malia",290,5.6)1度定義してしまえばOKなので、楽チンですね。
キリンの数が増えるほど、効果を発揮します。Giraffesクラスが呼び出されるごとに、オブジェクトを「初期化」して、新しいキリンの名前・体重・背を決められます。
- 投稿日:2019-03-27T15:19:05+09:00
pipenv環境でPyrightを利用する設定
@ITの記事Microsoft、Pythonの静的型チェック機能を提供する「VS Code」プラグイン「Pyright」を公開によると、mypyなどよりも5倍以上も高速な型チェッカのVisual Source Codeのプラグインが先週から公開されているそうです。
GitHubのリポジトリもあります。
Pyrightをpipenv環境で利用する場合には環境設定ファイルに指定しないと、サードパーティーのライブラリのimportに問題があると表示するようです。環境設定ファイルは、デフォルトではプロジェクトのルート・ディレクトリにあるpyrightconfig.jsonです。
設定にはpipenv --venvの出力結果が必要です。たとえばpipenv --venvの出力が/home/user1/.virtualenvs/test1-4AdBOHeoの場合には、以下の通りです。
pyrightconfig.json{ "venvPath": "/home/user1/.virtualenvs/test1-4AdBOHeo" }軽く試した限りでは、細かい制御の設定が見当たらなかったり、表示されている問題をクリックしてもソースコードが表示されないことがあったりして、これからに期待という感じです。
- 投稿日:2019-03-27T15:01:06+09:00
SeleniumでHeadless Chromeを使ってみよう(winodows編)
鬱陶しい画面にはHeadless Chrome
業務でSeleniumを使うことがありますが、使い始めて一か月ほど画面を開かずに使える方法を全く知りませんでした。
お恥ずかしい話ですが、webdriverのスクリーンサイズを最小にして使っていました。optionsを使って設定
Seleniumはモジュールが結構多いので、ほかにも色々試せそうです。
from selenium import webdriver from selenium.webdriver.chrome.options import Options url = "https://www.google.com/" options = Options() options.add_argument("--headless") driver = webdriver.Chrome("exeファイルのあるディレクトリ",chrome_options=options) driver.get(url) driver.save_screenshot("google.png") driver.close()
- 投稿日:2019-03-27T13:36:49+09:00
python-twitter で BASE64 形式の画像をツイートする
- クライアントサイドで Canvas API - Web API | MDN 等を使って画像を処理する
canvas.toDataURL()で BASE64 形式の画像データを取得- このデータをサーバー側にPOSTして、サーバーで Twitter API を叩いて画像を添付したツイートをする
というようなシステムを作ろうとして、3の画像添付ツイートを行う部分で少し詰まったので、解決方法をまとめておきます。
なお、 Twitter の API key などを取得する部分は割愛させていただきます。環境
- Python 3.7
- python-twitter 3.5
昔は
tweepyをよく使っていたんですが、今回使おうとしたらドキュメントが古くて実態に即していない気がしたので、今回はpython-twitterを使ってみました。bear/python-twitter: A Python wrapper around the Twitter API.
ドキュメントを確認してみる
python-twitterのドキュメントはこちらにあります。import twitter api = twitter.Api(consumer_key=[consumer key], consumer_secret=[consumer secret], access_token_key=[access token], access_token_secret=[access token secret])というようにしてインスタンスを取得してから、PostUpdateを参考にして
api.PostUpdate(status=[ツイート文面], media=[添付したい画像])とすれば、画像を添付したツイートができそうな気がします。
ドキュメントによれば、
PostUpdateのパラメータmediaはmedia (int, str, fp, optional)
A URL, a local file, or a file-like object (something with a read() method), or a list of any combination of the above.とあります。
通常の用途であれば画像ファイルへのパスを指定することが多いと思いますが、今回はクライアント側から BASE64 形式の画像データが送られてきた、というケースなので、画像ファイルパスを指定する方法ではダメです。
そこで、 file-like object (something with a read() method) に着目してみます。file-like object って何?
Python の公式ドキュメントをあたってみます。
io --- ストリームを扱うコアツール — Python 3.7.3 ドキュメント
によれば、
I/O には主に3つの種類があります; テキスト I/O, バイナリ I/O, raw I/O です。(中略)これらのいずれかのカテゴリに属する具象オブジェクトは全て file object と呼ばれます。他によく使われる用語として ストリーム と file-like オブジェクト があります。
ということなので、この3つが file-like object と呼ばれているもののようです。
身近な例でいうとf = open('hoge.txt', 'r')としたときの
fが file-like object ということですね。どうすれば BASE64 データから file-like object を作れるの?
結論から説明すると
- BASE64 文字列をバイナリに変換する
- BASE64 バイナリをデコードする
- io.BytesIO() する
というような手順を踏みます。
1. BASE64 文字列をバイナリに変換する
クライアント側からは
canvas.toDataURL()で出力されたdata:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD(以下略)という文字列が渡されていて、変数
imageに入っているとします。
先頭についているdata:image/jpeg;base64,は識別子のようなものでデータの内容には関係しないので、ここを取り除いた文字列をバイナリに変換します。b64_encoded_binary = image.split(',')[1].encode()2. BASE64 バイナリをデコードする
import base64 decoded_binary = base64.b64decode(b64_encoded_binary)3. io.BytesIO() する
import io f = io.BytesIO(decoded_binary)これで
fが画像データの file-like object となります。まとめると
import base64 import io b64_encoded_binary = image.split(',')[1].encode() decoded_binary = base64.b64decode(b64_encoded_binary) f = io.BytesIO(decoded_binary)この
fをapi.PostUpdateに渡せばOK!!!!
…………ではありません。もう一山ありました。
PostUpdateのmediaパラメータに渡される file-like object はopen()で開かれたものを前提としているっぽいここまでで作成した
fを使ってapi.PostUpdate(status=[ツイート文面], media=f)として試してみると、エラーが出ると思います。ファイルモード(バイナリモード?テキストモード?)が無いよ〜とかのエラーです。
PostUpdate source で
PostUpdateのソースを確認したところ、どうやらPostUpdateのmediaパラメータに渡される file-like object には
- f.mode
- f.name
の2つの属性がなければならないようです。
しかし、io.BytesIO()で作成したものにはこれらの属性がない、ということでエラーになっているらしい。ないなら無理矢理つけちゃおうということで、
f.mode = 'rb' # 読み込み専用のバイナリモードであるというように擬態する f.name = 'hoge.jpg' # 拡張子さえ合っていれば問題ないと思いますとしてみました。これで画像添付ツイートができるようになりました!
結論
こう書けば動きます。
import twitter import base64 import io # image が BASE64 形式の画像データ b64_encoded_binary = image.split(',')[1].encode() decoded_binary = base64.b64decode(b64_encoded_binary) f = io.BytesIO(decoded_binary) f.mode = 'rb' # 読み込み専用のバイナリモードであるというように擬態する f.name = 'hoge.jpg' # 拡張子さえ合っていれば問題ないと思います api = twitter.Api(consumer_key=[consumer key], consumer_secret=[consumer secret], access_token_key=[access token], access_token_secret=[access token secret]) api.PostUpdate(status=[ツイート文面], media=f)軽く宣伝
このエントリで書いた内容は、一人開発RTAで僕が作った
出演者ヅラ - あなたも某サマーライブ2019の出演者として発表されてみませんか?
に使われています。クライアント側で Canvas を使用してフレームの画像を合成し、それを AWS Lambda に送ってツイートするという感じになっています。
もしよろしければ使って遊んでみてください。
元ネタ
【アニサマ2019出演アーティスト】
— AnimeloSummerLive (@anisama) 2019年3月23日
9/1(日)出演 : 内田真礼#anisama pic.twitter.com/mPRbXNiSH6「出演者ヅラ」を使ってみるとこうなります
【仮サマ2019出演アーティスト】
— 婚活元年 (@maguro_lovelive) 2019年3月26日
8/30(金) : 婚活元年#karisamahttps://t.co/0e3tBMtWsX pic.twitter.com/eZxNSiiiwB
- 投稿日:2019-03-27T13:22:39+09:00
【Python】楽天商品検索APIで楽天市場の商品情報を取得
編集中
内容
楽天が提供する「楽天市場商品検索API」を利用して各種情報を取得する
参考
コード
1.ショップIDを入力に,ショップ内の商品情報を取得
ショップIDは,楽天市場における各ショップページのURLの以下の位置に記載されている
例えば,楽天市場に出店する「DVD-OUTLET」というショップのショップIDは
の位置,dvdoutletであるrakuten.py#coding:utf-8 PURPLE = '\033[35m' RED = '\033[31m' CYAN = '\033[36m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' import csv import sys import codecs import math import random import requests from time import sleep import re args = sys.argv shopName = args[1] url = 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706' payload = { 'applicationId': ここにapplication_IDを入れます, 'hits': 30, 'shopCode':shopName, 'page':30, 'postageFlag':1, } r = requests.get(url, params=payload) resp = r.json() total = int(resp['count']) Max = total/30 + 1 print "【num of item】",total print "【num of page】",Max print "===================================" counter = 0 for i in resp['Items']: counter = counter + 1 print '【No.】'+ PURPLE + str(counter) + ENDC item = i['Item'] name = item['itemName'] print '【Name】' + OKGREEN + str(name[:30].encode('utf-8')) + '...' + ENDC print '【Price】' + CYAN + '¥' +str(item['itemPrice']) + ENDC print '【URL】',item['itemUrl'] URL = item['itemUrl'] print '【shop】',item['shopName'] text = item['itemCaption'] print text実行結果【num of item】 4052 【num of page】 136 =================================== 【No.】1 【Name】B〉3D&2D レディ・プレイヤー1 セット【Blu-ray... 【Price】¥6794 【URL】 https://item.rakuten.co.jp/dvdoutlet/4548967394702-1/ 【shop】 DVD-outlet タイトル B〉3D&2D レディ・プレイヤー1 セット 出演・監督 タイ・シェリダン 発売日 2018年08月22日 メーカー品番 - JANコード 4548967394702 ※こちらの商品は未開封 新古品になります。 【No.】2 【Name】May J./May J. W BEST-Original&... 【Price】¥4536 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064597710-1/ 【shop】 DVD-outlet [1]〈Original Best〉(1)So Beautiful(2)Sunshine Baby!(3)本当の恋(4)レット・イット・ゴー〜ありのままで〜(エンドソング)(5)Lovin’you(6)TSUBASA(7)RAINBOW(8)Shiny Sky(9)ONE MORE KISS(May J.×Zeebra×難波章浩)(10)Beautiful Days(11)Be mine〜君が好きだよ〜(12)旅立つ君に(13)Dear...(14)HERE WE GO(feat.VERBAL(m-flo))(15)ありがとう(2015 ver.)(16)My Sweet Dreams[2]〈Cover Best〉(1)366日(2)ハナミズキ(3)キラキラ(4)LIFE(5)風になりたい(feat.CHRIS&BUZZER BEATS)(6)Garden(feat.DJ KAORI Diggy-MO’ クレンチ&ブリスタ)(7)A Whole New World(with クリス・ハート)(8)涙そうそう(9)生きてこそ(10)Precious(11)手紙〜拝啓 十五の君へ〜(12)元気を出して(13)First Love(14)永遠(とわ)に(15)I DREAMED A DREAM(16)Believe[3]〈Blu-ray〉〈Music Video〉(1)So Beautiful(2)本当の恋(3)Sunshine Baby!(4)つかのまの虹でも(5)Let It Go(劇中歌/英語歌)(6)元気を出して(7)Believe(8)生きてこそ(9)I Believe(Japanese Version)(feat.V.I(from BIGBANG))(10)Lovin’you(11)きみの唄(12)誓いのキス(13)Precious(14)ハナミズキ(15)白い雲のように(with クリス・ハート)(16)First Love(17)LIFE(18)Garden(2BEDROOM PROGRESSIVE ANTHEM)(May J.×2BEDROOM))(19)TSUBASA(20)Eternally(21)Back To Your Heart(Story Edition)(feat.Daniel Powter)(22)Rewind(23)私がカバーガール(24)OUR FUTURE(25)I’m proud(26)夜空の雪(27)ONE MORE KISS(May J.×Zeebra×難波章浩)(28)あの日があるから(feat.RYO the SKYWALKER)(29)Shiny Sky(30)Sing for you(May J.×MAY’S)(31)Be mine〜君が好きだよ〜(32)旅立つ君に(33)もし君と...(with キマグレン)(34)Garden(feat.DJ KAORI Diggy-MO’.クレンチ&ブリスタ)(35)DO tha’DO tha’(36)Dear...(37)HERE WE GO(feat.VERBAL(m-flo))[4]〈Blu-ray〉〈Live Best〉〈May J.TOUR 2010〜LIVE for you〜〉(1)Garden(feat.DJ KAORI Diggy-MO’ クレンチ&ブリスタ)〈May J.LIVE 2011 タイトル May J./May J. W BEST-Original&Covers- アーティスト May J. 発売日 - メーカー品番 RZCD-59771 JANコード 4988064597710 ※こちらの商品は未開封 新古品になります。 【No.】3 【Name】ラストレシピ〜麒麟の舌の記憶〜 豪華版(’17「ラストレシピ... 【Price】¥5848 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988104116802-1/ 【shop】 DVD-outlet 田中経一のデビュー小説を、二宮和也主演、『おくりびと』の滝田洋二郎監督のメガフォンで映画化。“麒麟の舌“と呼ばれる究極の味覚を持つ料理人が、戦時下の混乱の中で消失した伝説の“料理全席“を追い求めるうちに、約70年前のある謎に迫る姿を描く。 [1]本編[2][3]特典ディスク タイトル ラストレシピ〜麒麟の舌の記憶〜 豪華版(’17「ラストレシピ〜麒麟の舌の記憶〜」製作委員会)〈3枚組〉 出演・監督 秋元康|菅野祐悟|二宮和也|滝田洋二郎|竹野内豊|西島秀俊|林民夫|大地康雄|広澤草|綾野剛|宮崎あおい|伊川東吾|兼松若人|竹嶋康成|笈田ヨシ|グレッグ・デール|西畑大吾|ボブ・ワーリー|田中経一 発売日 2018年05月30日 メーカー品番 TDV-28180D JANコード 4988104116802 ※こちらの商品は未開封 新古品になります。 【No.】4 【Name】赤西仁/Blessed【CD/邦楽ポップス】初回出荷限定盤(... 【Price】¥3197 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031258521-1/ 【shop】 DVD-outlet 自身が立ち上げたレーベル「Go Good Records」第1弾リリースとなるアルバム。プロデュースは、ジャスティン・ビーバー、ダニティ・ケインらを手がけるステレオタイプが担当。 [1](1)Blessed(2)Fill Me Up(3)One Addiction(4)I Want You(5)Feel(6)Good or Bad(7)Sun Kiss(8)All About You(9)Shine(10)Yesterday[2]〈DVD〉(1)Fill Me Up(Music Video)(2)Fill Me Up(Making Of Music Video) タイトル 赤西仁/Blessed アーティスト 赤西仁 発売日 2017年12月12日 メーカー品番 UPCH-29275 JANコード 4988031258521 ※こちらの商品は未開封 新古品になります。 【No.】5 【Name】THE RAMPAGE from EXILE TRIBE/T... 【Price】¥4855 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064866786-1/ 【shop】 DVD-outlet 2018年9月12日リリースの1stアルバム。〈MTV VMAJ 2017〉で“最優秀邦楽新人アーティストビデオ賞“を獲得したデビュー曲「Lightning」から6th「HARD HIT」までのシングル表題曲およびカップリング曲などを収録。 [1]〈Downtown Side〉(1)Lightning(2)LA FIESTA(3)Fandango(4)HARD HIT(5)100degrees(6)Knocking Knocking(7)New Jack Swing(8)SWAG IT OUT(9)FRONTIERS(10)GO ON THE RAMPAGE[2]〈Uptown Side〉(1)Dirty Disco(2)DREAM YELL(3)Can’t Say Goodbye(4)Over(5)ELEVATION(6)The Typhoon Eye(7)Dream On(8)BREAKING THE ICE(9)Shangri-La(10)Only One[3]〈Blu-ray〉〈MUSIC VIDEO〉(1)Lightning(2)FRONTIERS(3)Dirty Disco(4)100degrees(5)Fandango(6)HARD HIT(7)LA FIESTA〈DOCUMENTARY〉(8)SOUL SURVIVOR〜4年間の軌跡〜 タイトル THE RAMPAGE from EXILE TRIBE/THE RAMPAGE アーティスト RAMPAGE from EXILE TRIBE 発売日 2018年09月12日 メーカー品番 RZCD-86678 JANコード 4988064866786 ※こちらの商品は未開封 新古品になります。 【No.】6 【Name】【アウトレット品】BTS (防弾少年団)/FACE YOUR... 【Price】¥3835 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031271056-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 韓国出身の男性ヒップホップ・グループ、BTS(防弾少年団)の日本3rdアルバム。ヒット・シングル曲「血、汗、涙」「Not Today」などのほか、The Chainsmokersとの共作「Best Of Me」や新曲も楽しめる。 [1](1)INTRO:Ringwanderung(2)Best Of Me(Japanese ver.)(3)血 汗 涙(Japanese ver.)(4)DNA(Japanese ver.)(5)Not Today(Japanese ver.)(6)MIC Drop(Japanese ver.)(7)Don’t Leave Me(8)Go Go(Japanese ver.)(9)Crystal Snow(10)Spring Day(Japanese ver.)(11)Let Go(12)OUTRO:Crack[2]〈Blu-ray〉(1)Blood Sweat&Tears(Music Video)(2)血 汗 涙(Music Video)(3)MIC Drop(Japanese ver.)(Music Video)(4)MIC Drop(Japanese ver.)(Dance Music Video)(5)Japan Documentary 5 Days(6)DNA(Live@Yokohama Arena Event)(7)MIC Drop(Live@Yokohama Arena Event)(8)Making of Album Jacket Photos タイトル BTS (防弾少年団)/FACE YOURSELF アーティスト BTS (防弾少年団) 発売日 2018年04月04日 メーカー品番 UICV-9277 JANコード 4988031271056 【No.】7 【Name】クレイジーケンバンド/GOING TO A GO-GO (通... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031291023-0/ 【shop】 DVD-outlet 今年デビュー20周年を迎える東洋一のサウンド・マシーン、 クレイジーケンバンドが約3年ぶりとなる待望のオリジナル・アルバムをリリースすることが決定しました! ブランニュー・アルバムのテーマは「支離滅裂」。 「だって作曲中毒の僕が3年もオリジナル・アルバム出すの我慢してたんだから! 」と横山が言うように、 ソウル、ファンク、ジャズ、ボッサ、レゲエ、ガレーヂ、和モノ、亜モノ、モンド、あらゆる音楽が爆発している。 水を得た魚のように作りまくった作品全20曲がここに光臨! ! ! “そうるとれいん"(日本テレビ「ぶらり途中下車の旅」エンディングテーマ曲)、 “山鳩ワルツ"(NHK「みんなのうた」6月~7月)、 “GARDEN"(デルモンテリコピンリッチトマトケチャップCMソング)、 "オハヨウゴザイマス“(NHK「あさイチ」金曜エンタメテーマ曲)など、 ここ最近のタイアップ曲も漏れなく収録!!! ●CD(通常盤/初回限定盤) 01:GOING TO A GO-GO 02:eye catch*出發 Departure 03:そうるとれいん (日本テレビ「ぶらり途中下車の旅」エンディングテーマ曲) 04:棕櫚 05:ZZ 06:GARDEN (デルモンテリコピンリッチトマトケチャップCMソング) 07:883 08:LOCOMOCO 09:山鳩ワルツ (NHK「みんなのうた」6月~7月) 10:せつ子 11:eye catch*過境 Transit 12:SOUL 痛 SOUL 13:夜のドドンパ 14:パランタガヤン 15:ぽんこつ 16:MIDNIGHT BLACK CADILLAC 17:Honmoku Garage 18:オハヨウゴザイマス (NHK「あさイチ」金曜エンタメテーマ曲) 19:eye catch *到來 Arrival 20:のっぺらぼう ※曲順&タイトル及びタイトル表記は予期無く変更の可能性がございます。 タイトル GOING TO A GO-GO (通常盤) アーティスト クレイジーケンバンド 発売日 2018年08月01日 メーカー品番 UMCK-1603 JANコード 4988031291023 【No.】8 【Name】THE RAMPAGE from EXILE TRIBE/T... 【Price】¥5918 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064866786-0/ 【shop】 DVD-outlet 結成から4年、ついにファーストアルバムが完成! デビューシングル「Lightning」から 最新シングル「HARD HIT」までの6枚のシングル曲に加え新曲も多数収録。 DVD・Blu-rayにはミュージックビデオ・ドキュメンタリー映像を収録。 ■収録内容 ※5形態共通 Disc1[Downtown Side] 1. Lightning 2. LA FIESTA 3. Fandango 4. HARD HIT 5. 100degrees 6. Knocking Knocking 7. New Jack Swing 8. SWAG IT OUT 9. FRONTIERS 10. GO ON THE RAMPAGE Disc2[Uptown Side] 1. Dirty Disco 2. DREAM YELL 3. Can't Say Goodbye 4. Over 5. ELEVATION 6. The Typhoon Eye 7. Dream On 8. BREAKING THE ICE 9. Shangri-La 10. Only One Disc3 ※映像付4形態共通 MUSIC VIDEO 1. Lightning 2. FRONTIERS 3. Dirty Disco 4. 100degrees 5. Fandango 6. HARD HIT 7. LA FIESTA DOCUMENTARY SOUL SURVIVOR ~4年間の軌跡~ タイトル THE RAMPAGE(AL2枚組+Blu-ray Disc) アーティスト THE RAMPAGE from EXILE TRIBE 発売日 2018年09月12日 メーカー品番 RZCD-86678/9 JANコード 4988064866786 【No.】9 【Name】WS-SQB804(BS) スマホスティック 自分撮り fo... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4562322760148-1/ 【shop】 DVD-outlet 商品名 WS-SQB804(BS) スマホスティック 自分撮り for Android 発売日 - メーカー品番 WS-SQB804-BS JANコード 4562322760148 ※こちらの商品は未開封 新古品になります。 【No.】10 【Name】東方神起/TOMORROW (CD+スマプラ)【CD・K-P... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064795000-0/ 【shop】 DVD-outlet 2014年12月以来、約3年9ヵ月ぶりとなる今作「TOMORROW」は再始動シングル「Reboot」、 最新シングル「Road」他、全13曲を収録! 【収録内容】 [CD]※ AVCK-79498/B ・AVCK-79499/B ・ AVCK-79500共通 01.Make A Change 02.Yippie Ki Yay 03.Showtime 04.運命(The Chance Of Love) 05.明日は来るから ~TOMORROW Version~ 06.Get going 07.Jungle 08.Reboot -Long Version- 09.Trigger 10.Electric Love 11.This is my love 12.Road 13.Begin ~Again Version~ 全13曲収録 タイトル TOMORROW (CD+スマプラ) アーティスト 東方神起 発売日 2018年09月19日 メーカー品番 AVCK-79500 JANコード 4988064795000 【No.】11 【Name】和楽器バンド 大新年会2018横浜アリーナ 〜明日への航海〜... 【Price】¥6804 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064926978-0/ 【shop】 DVD-outlet 今年1月に開催された「和楽器バンド 大新年会2018横浜アリーナ ~明日への航海~」を映像化。 壮大な演出と迫力ある演奏はもちろんのこと、総勢44名に及ぶ剣舞隊や和太鼓隊、 そして三味線隊やダン サーの迫力のあるパフォーマンスを臨場感溢れる映像でご覧頂けます! サプライズゲストで一青窈さんが登場! 「東風破」で共演。 ■収録内容 ※(1)DVD&(2)Blu-rayともに共通 01.雨のち感情論 02.起死回生 03.星月夜 04.天樂 05.風雅麗々 06.吉原ラメント 07.反撃の刃 08.雪影ぼうし 09.東風破 feat.一青窈 10.郷愁の空 11.シンクロニシティ 12.花一匁 13.オキノタユウ 14.海戦乱打 15.戦-ikusa- 16.拍手喝采 17.律動遊戯・炎 18.華振舞 19.流星 20.千本桜 EN1.六兆年と一夜物語 EN2.暁ノ糸 EN3.花になれ! タイトル 和楽器バンド 大新年会2018横浜アリーナ 〜明日への航海〜(DVD)(スマプラ対応) 出演 和楽器バンド 監督 - 発売日 2018年08月08日 メーカー品番 AVBD-92697 JANコード 4988064926978 【No.】12 【Name】【アウトレット品】THE ALFEE/ONE-Venus o... 【Price】¥3050 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988006209138-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 2006年11月発表のアルバム。 [1](1)愛を惜しみなく(2)天河の舟(3)春の嵐(4)Innocent Love(Album Mix)(5)ONE LOVE(6)夢のチカラ ’06(7)Change(8)Shout(9)100億のLove Story(Album Mix)(10)ONE(Album Mix)[2]〈DVD〉〈Acoustic Studio Live〉(1)Innocent Love(2)Flower Revolution 2006 タイトル THE ALFEE/ONE-Venus of Rock- アーティスト ALFEE 発売日 2006年11月22日 メーカー品番 TOCT-26146 JANコード 4988006209138 【No.】13 【Name】ワールド・ウォーZ 3D&2DアルティメットZ・エディション... 【Price】¥3758 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988111145383-1/ 【shop】 DVD-outlet マックス・ブルックスの世界的ベストセラーをマーク・フォスター監督、ブラッド・ピット主演で映画化したパニック・アクション大作。全世界で爆発的に拡大する謎のウィルス。迫りくる脅威から家族を守るべく奮闘する男の姿を描く。 [1]3D 劇場版本編[2]2D エクステンデッド・エディション本編[3]2D 劇場版本編[4]特典ディスク タイトル ワールド・ウォーZ 3D&2DアルティメットZ・エディション(’13米)〈4枚組〉 出演・監督 ブラッド・ピット|デヴィッド・モース|マーク・フォースター|マシュー・フォックス|デイナ・ゴールドバーグ|マシュー・マイケル・カーナハン|デヴィッド・エリソン|マックス・ブルックス|ミレイユ・イーノス 発売日 2013年12月20日 メーカー品番 DAXA-4538 JANコード 4988111145383 ※こちらの商品は未開封 新古品になります。 【No.】14 【Name】access/Heart Mining【CD/邦楽ポップス】... 【Price】¥3655 【URL】 https://item.rakuten.co.jp/dvdoutlet/4547366333305-1/ 【shop】 DVD-outlet 浅倉大介と貴水博之によるaccessの5年ぶり、通算8枚目のオリジナル・アルバム。デビュー25周年のアニバーサリーイヤーを経て、成熟と進化をみせる彼らの今の姿が詰まった作品に仕上がっている。 [1](1)Cassini(Instrumental)(2)Crack Boy(3)Vertical Innocence(Heart Mining Ver.)(4)Inside me Inside you(5)Tragedy(6)Discover Borderless(7)Knock beautiful smile(Heart Mining Ver.)(8)Friend Mining(9)Heart Mining(10)Voyager(Instrumental)(11)永遠dive(Heart Mining Ver.)(12)Inside me Inside you 20170916[2]〈DVD〉(1)Toy Box In The Morning(2)Hung Me For The Distance〜絆された愛の果てに〜 タイトル access/Heart Mining アーティスト access 発売日 2017年12月20日 メーカー品番 AICL-3459 JANコード 4547366333305 ※こちらの商品は未開封 新古品になります。 【No.】15 【Name】もののけ姫(’97徳間書店/日本テレビ放送網/電通/スタジオ... 【Price】¥5596 【URL】 https://item.rakuten.co.jp/dvdoutlet/4959241749796-1/ 【shop】 DVD-outlet 日本映画の興行記録を塗り替えたことで話題になった大ヒット長編アニメがBlu-ray化。『風の谷のナウシカ』の宮崎駿監督による、壮大なファンタジー・アドベンチャー。 タイトル もののけ姫(’97徳間書店/日本テレビ放送網/電通/スタジオジブリ) 出演・監督 久石譲|宮崎駿|小林薫|上條恒彦|森光子|森繁久彌|西村雅彦|石田ゆり子|田中裕子|島本須美|美輪明宏|近藤喜文|松田洋治|佐藤允|徳間康快|名古屋章|渡辺哲|山本二三|田中直哉|男鹿和雄|高坂希太郎|安藤雅司|氏家斎一郎|武重洋二|黒田聡|保田道世|成田豊|鈴木敏夫 発売日 2013年12月04日 メーカー品番 VWBS-1490 JANコード 4959241749796 ※こちらの商品は未開封 新古品になります。 【No.】16 【Name】さだまさし/惠百福 たくさんのしあわせ【CD・J−POP】【... 【Price】¥3400 【URL】 https://item.rakuten.co.jp/dvdoutlet/4511760003027-6/ 【shop】 DVD-outlet ※お取寄せ商品について、ご注文から発送まで1週間前後かかります。※発送予定日が異なる商品を複数ご購入いただいた場合、 全ての商品が揃ってからの発送となります。話題沸騰の“ワーストアルバム”『御乱心〜オールタイム・ワースト』、そして永六輔作品14曲を歌い上げた『永縁』がロングセラーを続けるさだまさしが2年ぶりに待望のオリジナル・アルバムをリリース。<Disc1>1.約束の町 (5:26) 2.つばめよつばめ (4:02) 3.ガラパゴス携帯電話の歌 (5:54) 4.GENAH! (2:26) 5.詩島唄 (5:03) 6.たくさんのしあわせ (4:03) 7.秋蘭香 (5:38) 8.避難所の少年 (5:31) 9.いにしへ (3:05) 10.潮騒 (4:48)タイトル惠百福 たくさんのしあわせアーティストさだまさし発売日2017年9月6日メーカー品番FRCA-1276JANコード4511760003027 【No.】17 【Name】SEKAI NO OWARI/Tarkus【Blu-ray/... 【Price】¥5992 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988061781570-4/ 【shop】 DVD-outlet 2017年1月より行なわれたツアー〈タルカス〉の模様を映像化。ある国に住む青年・タルカスと王様を、それぞれの視点から語る物語をベースに展開していく。MCに代わって森の動物ナレーションが物語を案内するなど、音楽ライヴとしては異例の構成も魅力。 (1)炎と森のカーニバル(2)Death Disco(3)スターライトパレード(4)死の魔法(5)スノーマジックファンタジー(6)青い太陽(7)Never Ending World(8)マーメイドラブソディー(9)Monsoon Night(10)眠り姫(11)Love the warz(rearranged)(12)Error(13)天使と悪魔(14)SOS(15)Hey Ho(16)Dragon Night〈ENCORE〉(17)RPG(18)インスタントラジオ タイトル SEKAI NO OWARI/Tarkus 出演・監督 SEKAI NO OWARI 発売日 2018年03月07日 メーカー品番 TFXQ-78157 JANコード 4988061781570 【No.】18 【Name】機動戦士ガンダム サンダーボルト BANDIT【DVD・オリ... 【Price】¥4800 【URL】 https://item.rakuten.co.jp/dvdoutlet/4934569648389-1/ 【shop】 DVD-outlet タイトル 機動戦士ガンダム サンダーボルト BANDIT 出演・監督 矢立肇/富野由悠季 発売日 2017年12月08日 メーカー品番 BCBA4838 JANコード 4934569648389 ※こちらの商品は未開封 新古品になります。 【No.】19 【Name】【アウトレット品】Last Note./ミカグラ学園組曲【C... 【Price】¥3311 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988009102108-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 2015年2月25日リリースのCDアルバム。ノベル化やコミカライズもされた、Last Note.がネットに投稿するひとつの世界観を共有した楽曲シリーズの集大成といえる一枚。書き下ろし曲を含む、全11曲を収録。 [1](1)overture(2)我楽多イノセンス(3)有頂天ビバーチェ(4)絵空事スパイラル(5)花吹雪リフレクト(6)無気力クーデター(7)赤裸々キャンディ(8)十六夜シーイング(9)不条理ルーレット(10)革新的ヒロイズム(11)放課後ストライド[2]〈DVD〉〈Music Video〉(1)放課後ストライド(2)無気力クーデター(3)有頂天ビバーチェ(4)我楽多イノセンス(5)十六夜シーイング タイトル Last Note./ミカグラ学園組曲 アーティスト Last Note. 発売日 2015年02月25日 メーカー品番 SRCL-8741 JANコード 4988009102108 【No.】20 【Name】アイドリング!!!/アイドリング!!!Music Video... 【Price】¥3934 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988013678323-1/ 【shop】 DVD-outlet アイドル・グループ、アイドリング!!!のシングルMV集。7thシングル「baby blue」から15thシングル「やらかいはぁと」まで、全9曲のミュージック・クリップを収録する。彼女たちの成長の軌跡が見れるのも嬉しい。 (1)baby blue(2)無条件☆幸福(3)手のひらの勇気(4)ラブマジック フィーバー(5)S.O.W.センスオブワンダー(6)目には青葉 山ホトトギス 初恋(7)プールサイド大作戦(8)eve(9)やらかいはぁと タイトル アイドリング!!!/アイドリング!!!Music Video Collection2 2009-2011 アーティスト アイドリング!!! 発売日 2011年09月21日 メーカー品番 PCBP-52077 JANコード 4988013678323 ※こちらの商品は未開封 新古品になります。 【No.】21 【Name】【アウトレット品】アン・ジェウク/アン・ジェウク 1st C... 【Price】¥4924 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988013119444-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 アジアの韓流スター、アン・ジェウクの日本での初コンサートに加え、韓国で行なわれたコンサートも収録した2枚組DVD。まさにアン・ジェウクの魅力を独り占めできる、ファン必携のアイテムだ。 [1]〈日本版コンサート〉(1)ひとりごと(2)思い出にできない(3)いつも君のそばで(4)大切なのは(5)君のいない世界(6)罠(7)Yesterday(8)ただひとりの君(9)ケンカの後に〜大丈夫〜自由(10)せつなくて(11)君に似ていたから(12)トゥルル(13)指輪(14)tell me(15)別れの言葉(16)Baddest(17)僕が生きる理由(18)守護天使(19)心のままに(20)君に伝えたい言葉(21)わかってください(22)悲しい気持ち(23)シーズン・イン・ザ・サン(24)友よ(25)Don’t go baby(26)Forever[2]〈韓国版コンサート〉(1)Opening(2)ひとりごと(3)思い出にできない(4)いつも君のそばで(5)大切なのは(6)君のいない世界(7)罠(8)Yesterday(9)ただひとりの君(10)ケンカの後に〜大丈夫〜自由(11)せつなくて(12)君に似ていたから(13)トゥルル(14)指輪(15)tell me(16)別れの言葉(17)Baddest(18)僕が生きる理由(19)守護天使(20)心のままに(21)君に伝えたい言葉(22)友よ(23)Don’t go baby(24)Forever タイトル アン・ジェウク/アン・ジェウク 1st Concert〈2枚組〉 出演・監督 アン・ジェウク 発売日 2006年07月19日 メーカー品番 PCBP-51726 JANコード 4988013119444 【No.】22 【Name】スキップ・トレース【DVD・洋画アクション】... 【Price】¥3040 【URL】 https://item.rakuten.co.jp/dvdoutlet/4532612131859-1/ 【shop】 DVD-outlet タイトル スキップ・トレース 出演・監督 ジャッキー・チェン 発売日 2018年01月26日 メーカー品番 - JANコード 4532612131859 ※こちらの商品は未開封 新古品になります。 【No.】23 【Name】【アウトレット品】ザ・ドアーズ/L.A.ウーマンの真実:ザ・... 【Price】¥5965 【URL】 https://item.rakuten.co.jp/dvdoutlet/4580142349725-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 ジム・モリソンにとって人生最後のアルバムとなったドアーズ『L.A.ウーマン』の発売40周年記念メモリアル・ドキュメンタリー。レイ・マンザレクらへのインタビューや貴重映像を満載した、密度の濃い内容となっている。 ドキュメンタリー タイトル ザ・ドアーズ/L.A.ウーマンの真実:ザ・ストーリー・オブ L.A.ウーマン アーティスト ジョン・デンスモア|ドアーズ|レイ・マンザレク|ロビー・クリーガー|ジャック・ホルツマン|ブルース・ボトニック|ビル・シドンズ 発売日 2012年01月25日 メーカー品番 VQXD-10024 JANコード 4580142349725 【No.】24 【Name】【アウトレット品】狂った夜【洋画ドラマ】... 【Price】¥4104 【URL】 https://item.rakuten.co.jp/dvdoutlet/4589609940307-5/ 【shop】 DVD-outlet 放埓!無軌道!空前の豪華キャストが享楽の都ローマにくりひろげる青春狂乱の一夜! ローマの街角で、アンナ(エルサ・マルティネリ)とスプリツィア(アンナ・ルアルディ)という娼婦が昨夜の客をめぐって罵りあう。ケンカを仲裁し、ふたりの女を車に乗せたシンティッローネ(ジャン=クロード・ブリアリ)とルッジェーロ(ローラン・テルズィエフ)は、盗品のライフルを売り払おうとしていた。警察の目をそらすために、女たちと一緒にいた方がいいと考えていたのだった。 しかし、故売人とは話がまとまらず、甥のベッラベッラ(フランコ・インテルレンギ)がブツをさばくと申し出る。聾唖の男に10万リラで銃を売り、そこにいた娼婦のニコレッタ(アンナ・マリア・フェレーロ)も入れた六人で湿地へ向かうが、男たちは女たちをその場に置き去りにして車で出発する。道中、10万リラがないことに気付いたシンティッローネは、慌てて引き返すが、既に女たちの姿は消えていた。 街の女たちが客を引く場所に向かった三人は、そこで停めてある車からカメラを盗もうとするが、持ち主と仲間とケンカになる。警官が駆けつけたため、車に乗ってその場を逃れた男たちだったが、決着はつけずに和解、夜のローマで大暴れした後、車の持ち主で金持ちのアキッレの屋敷に落ち着いた。そこでルッジェーロは美しい女、ラウラ(ミレーヌ・ドモンジョ)と出会い、一目で心を奪われる・・・ 若者たちの破天荒な生を愛したパゾリーニの短編を自身が脚本化、ローマでしたたかに生き抜く貧しい若者たちの無軌道で刹那的な一夜を描く。 タイトル 狂った夜 スタッフキャスト 監督:マウロ・ボロニーニ 脚本:ピエル・パオロ・パゾリーニ 撮影:アルマンド・ナンヌッツィ 音楽:ピエロ・ピッチオーニ 出演:エルサ・マルティネリ、アントネッラ・ルアルディ、ローラン・テルジェフ、ジャン=クロード・ブリアリ、フランコ・インテルレンギ、アンナ・マリア・フェレーロ、ミレーヌ・ドモンジョ、ロザンナ・スキャフィーノ 制作年 1959 制作国 イタリア 音声 イタリア語(2ch.ステレオ) 字幕内容 日本語 発売日 2017/07/10 メーカー品番 DLDM030 JANコード 4589609940307 ※こちらの商品はアウトレット(中古)品になります。 ・シャープ社製のDVD再生機器(ブルーレイ再生専用機、ブルーレイ録画機含む)は、 ほとんどの機種で本商品の視聴ができません。 ・2007年以前に製造された一部のDVD再生機器におってはDVD-Rの再生に対応しておらず、 本商品が視聴できない可能性がございます。 ・パソコンでの視聴に関しては動作を保証いたしかねます。 ※こちらの商品は、発送までに1週間前後お時間をいただく場合がございます。 予めご了承ください。 【No.】25 【Name】今井美樹/Sky【CD・J-POP】【新品】... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031273036-0/ 【shop】 DVD-outlet 今井美樹、通算20枚目、3年ぶりとなるオリジナル・アルバム 『Sky』 発売決定。 豪華な楽曲提供陣が集結。 2018年6月9日(土)公開、映画『終わった人』の主題歌「あなたはあなたのままでいい」(作詞・作曲:布袋寅泰)収録。 亀田誠治をアルバム・プロデューサーに初めて迎えて東京とロンドンでレコーディングが行われ、 豪華な楽曲提供陣が集結した通算20枚目となる待望のオリジナル・アルバム。 今井美樹の今までの楽曲を手掛けてきた布袋寅泰、岩里祐穂、川江美奈子、いしわたり淳治、川口大輔。 そして、今井美樹への楽曲提供が初となる大橋トリオ、蔦谷好位置、土岐麻子、BONNIE PINK、 ジェイミー・カラムなど豪華な顔ぶれによるアルバムが完成。 更には2018年6月9日(土)に公開される、主演:舘ひろし・黒木瞳の映画『終わった人』 (監督:中田秀夫、原作:内館牧子、配給:東映)の主題歌に決定した「あなたはあなたのままでいい」 (作詞・作曲:布袋寅泰)も収録。 上質な大人のアルバムとして幅広い世代の音楽好きが楽しめるタイムリーでタイムレスな傑作誕生。 【曲目タイトル】 01 同じ空 (作詞:いしわたり淳治 作曲:蔦谷好位置) 02 あなたはあなたのままでいい (作詞・作曲:布袋寅泰) 03 雨上がり光る花のように (作詞・作曲:川江美奈子) 04 Misty (作詞:土岐麻子 作曲:川口大輔) 05 Free to Fly (作詞・作曲:BONNIE PINK) 06 Little Tiny Song (作詞・作曲:川江美奈子) 07 Greatest Moments (作詞:岩里祐穂 作曲:亀田誠治) 08 私へ (作詞・作曲:布袋寅泰) 09 Beyond the World (作詞:今井美樹 作曲:Jamie Cullum and more) 10 Blue Rain (作詞:micca 作曲:Yoshinori Ohashi) タイトル Sky アーティスト 今井美樹 発売日 2018年06月06日 メーカー品番 TYCT-60116 JANコード 4988031273036 【No.】26 【Name】【アウトレット品】X-ファイル シーズン6 SEASONS ... 【Price】¥4049 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988142256713-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 人気海外ドラマ・シリーズ『X-ファイル』のシーズン6の全22エピソードを収録したDVD-BOX。本シーズンの真実を伝えるドキュメンタリーや未公開シーンなどの豪華特典にも注目だ。 [1]ビギニング/迷走/トライアングル/ドリームランド Part1[2]ドリームランド Part2/クリスマス・イブの過ごし方/愛児/レイン・キング[3]S.R.819/ティトノス/ファイト・ザ・フューチャー Part1/ファイト・ザ・フューチャー Part2[4]アグア・マラ/月曜の朝/スイート・ホーム/絶滅種[5]電界/ミラグロ/アンナチュラル[6]荒野の三人/トリップ/創世紀 タイトル X-ファイル シーズン6 SEASONS ブルーレイ・ボックス〈6枚組〉 出演・監督 デヴィッド・ドゥカヴニー|クリス・カーター|ジリアン・アンダーソン 発売日 2017年04月05日 メーカー品番 FXXS-23563 JANコード 4988142256713 【No.】27 【Name】HAN-KUN/HAN-KUN TOUR 2017 LEGE... 【Price】¥5184 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988061182025-4/ 【shop】 DVD-outlet 湘南乃風でも活躍するHAN-KUNのライヴDVD。アルバム『VOICE MAGICIAN V 〜DEEP IMPACT〜』のツアーファイナル、2017年12月2日の豊洲PITを中心にドキュメントも楽しめる。CDはスペシャル音源と新曲を収録。 (1)INTRO〜TEPPEN!!(2)HOTTER THAN HOT(3)FIRE BURNING(4)KEEP IT BLAZING(5)REGGAE MAN(6)PULL UP(7)NEXT TO YOU(8)WANNA BE FREE(9)RUN THE WORLD(10)ETERNAL FIRE(11)ハンパねぇ!!(12)無問題(13)I&I(14)MELODY OF LOVE(15)With me(16)♯IROIRO(17)RESPECT(18)MedleyI:Revolution〜TONIGHT〜RIDE ON NOW〜SUN DANCER〜Island Vibes〜FOREVER...〜JOYFUL DAYS〜JAMAICA〜One Big Tree〜Roots&Future〜TOUCH THE SKY(19)MedleyII:Under The Moonlight〜Love It...〜サンクチュアリ〜友達(20)I Say...(21)希望の空(22)DEEP IMPACT〈CD〉(1)One Song(2)New Era(3)DEEP IMPACT LIVE MIX(mixed by DELTA FORCE) タイトル HAN-KUN/HAN-KUN TOUR 2017 LEGEND〜DEEP IMPACT〜 出演・監督 HAN-KUN 発売日 2018年04月11日 メーカー品番 TFBQ-18202 JANコード 4988061182025 【No.】28 【Name】【アウトレット品】ランボルギーニ【ドキュメント/その他】... 【Price】¥3066 【URL】 https://item.rakuten.co.jp/dvdoutlet/4582294641481-5/ 【shop】 DVD-outlet 最強モデル・ムルシエラゴSVの製造工場にカメラが潜入。ボディ、ペイント、組み立て…ほとんどが職人の手作業で行われる、その工程が明らかに。ミウラやカウンタックなど往年の名車も登場する、ファン必見の映像! タイトル ランボルギーニ 出演者 - 監督 - 発売日 2011/07/26 メーカー品番 NNGD8070 JANコード 4582294641481 ※こちらの商品はアウトレット(中古)品になります。 ・シャープ社製のDVD再生機器(ブルーレイ再生専用機、ブルーレイ録画機含む)は、 ほとんどの機種で本商品の視聴ができません。 ・2007年以前に製造された一部のDVD再生機器におってはDVD-Rの再生に対応しておらず、 本商品が視聴できない可能性がございます。 ・パソコンでの視聴に関しては動作を保証いたしかねます。 ※こちらの商品は、発送までに1週間前後お時間をいただく場合がございます。 予めご了承ください。 【No.】29 【Name】【アウトレット品】Case−Mate iPad (第3世代)... 【Price】¥3488 【URL】 https://item.rakuten.co.jp/dvdoutlet/846127073677-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 商品名 Case−Mate iPad (第3世代) / 発売日 - メーカー品番 CM020401 JANコード 846127073677 【No.】30 【Name】多田くんは恋をしない 2【Blu-ray/アニメ】... 【Price】¥6804 【URL】 https://item.rakuten.co.jp/dvdoutlet/4935228174621-4/ 【shop】 DVD-outlet
num of item リクエスト時の条件にマッチした商品数 num of page num of itemの商品全ての情報を取得するのに必要となるリクエスト回数(ページ数.ちなみに一回のリクエストで返してもらえる最大数は30個まで)
- 投稿日:2019-03-27T13:22:39+09:00
【Python】楽天商品検索APIで楽天市場の商品情報を取得してみよう!
編集中
内容
楽天が提供する「楽天市場商品検索API」を利用して各種情報を取得する
参考
事前準備
こちらで楽天のAPIを利用するのに必要となるapplication IDを取得してください
コード
1.ショップIDを入力に,ショップ内の商品情報(1ページ目・30商品)を取得
ショップIDは,楽天市場における各ショップページのURLの以下の位置に記載されている
例えば,楽天市場に出店する「DVD-OUTLET」というショップのショップIDは
の位置,dvdoutletであるとりあえずこれを実行してみてください
rakuten.py#coding:utf-8 import csv import sys import codecs import math import random import requests from time import sleep import re args = sys.argv shopName = args[1] url = 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706' payload = { 'applicationId': ここにapplication_IDを入れます, 'hits': 30,#一度のリクエストで返してもらう最大個数(MAX30) 'shopCode':shopName,#ショップID 'page':1,#何ページ目か 'postageFlag':1,#送料込みの商品に限定 } r = requests.get(url, params=payload) resp = r.json() total = int(resp['count']) Max = total/30 + 1 print "【num of item】",total print "【num of page】",Max print "===================================" counter = 0 for i in resp['Items']: counter = counter + 1 item = i['Item'] name = item['itemName'] print '【No.】'+ str(counter) print '【Name】' + str(name[:30].encode('utf-8')) + '...' print '【Price】' + '¥' +str(item['itemPrice']) print '【URL】',item['itemUrl'] print '【shop】',item['shopName'] print '【text】', item['itemCaption']実行方法python rakuten.py [ショップID]今回はショップIDを上の例に従いdvdoutletとした
実行すると以下のように30件ほど商品情報が返ってくる
楽天APIにおいて一回のリクエストでゲットできる最大数は30件
今回のリクエストの内容は簡単にいうと
「dvdoutletが扱う全商品のうち最初の1ページ目の30商品の情報をちょうだい!」
ということになります.
さらに欲をかく場合は,このリクエスト時のパラメータに条件を追加することになります
実行結果【num of item】 4052 【num of page】 136 =================================== 【No.】1 【Name】B〉3D&2D レディ・プレイヤー1 セット【Blu-ray... 【Price】¥6794 【URL】 https://item.rakuten.co.jp/dvdoutlet/4548967394702-1/ 【shop】 DVD-outlet タイトル B〉3D&2D レディ・プレイヤー1 セット 出演・監督 タイ・シェリダン 発売日 2018年08月22日 メーカー品番 - JANコード 4548967394702 ※こちらの商品は未開封 新古品になります。 【No.】2 【Name】May J./May J. W BEST-Original&... 【Price】¥4536 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064597710-1/ 【shop】 DVD-outlet [1]〈Original Best〉(1)So Beautiful(2)Sunshine Baby!(3)本当の恋(4)レット・イット・ゴー〜ありのままで〜(エンドソング)(5)Lovin’you(6)TSUBASA(7)RAINBOW(8)Shiny Sky(9)ONE MORE KISS(May J.×Zeebra×難波章浩)(10)Beautiful Days(11)Be mine〜君が好きだよ〜(12)旅立つ君に(13)Dear...(14)HERE WE GO(feat.VERBAL(m-flo))(15)ありがとう(2015 ver.)(16)My Sweet Dreams[2]〈Cover Best〉(1)366日(2)ハナミズキ(3)キラキラ(4)LIFE(5)風になりたい(feat.CHRIS&BUZZER BEATS)(6)Garden(feat.DJ KAORI Diggy-MO’ クレンチ&ブリスタ)(7)A Whole New World(with クリス・ハート)(8)涙そうそう(9)生きてこそ(10)Precious(11)手紙〜拝啓 十五の君へ〜(12)元気を出して(13)First Love(14)永遠(とわ)に(15)I DREAMED A DREAM(16)Believe[3]〈Blu-ray〉〈Music Video〉(1)So Beautiful(2)本当の恋(3)Sunshine Baby!(4)つかのまの虹でも(5)Let It Go(劇中歌/英語歌)(6)元気を出して(7)Believe(8)生きてこそ(9)I Believe(Japanese Version)(feat.V.I(from BIGBANG))(10)Lovin’you(11)きみの唄(12)誓いのキス(13)Precious(14)ハナミズキ(15)白い雲のように(with クリス・ハート)(16)First Love(17)LIFE(18)Garden(2BEDROOM PROGRESSIVE ANTHEM)(May J.×2BEDROOM))(19)TSUBASA(20)Eternally(21)Back To Your Heart(Story Edition)(feat.Daniel Powter)(22)Rewind(23)私がカバーガール(24)OUR FUTURE(25)I’m proud(26)夜空の雪(27)ONE MORE KISS(May J.×Zeebra×難波章浩)(28)あの日があるから(feat.RYO the SKYWALKER)(29)Shiny Sky(30)Sing for you(May J.×MAY’S)(31)Be mine〜君が好きだよ〜(32)旅立つ君に(33)もし君と...(with キマグレン)(34)Garden(feat.DJ KAORI Diggy-MO’.クレンチ&ブリスタ)(35)DO tha’DO tha’(36)Dear...(37)HERE WE GO(feat.VERBAL(m-flo))[4]〈Blu-ray〉〈Live Best〉〈May J.TOUR 2010〜LIVE for you〜〉(1)Garden(feat.DJ KAORI Diggy-MO’ クレンチ&ブリスタ)〈May J.LIVE 2011 タイトル May J./May J. W BEST-Original&Covers- アーティスト May J. 発売日 - メーカー品番 RZCD-59771 JANコード 4988064597710 ※こちらの商品は未開封 新古品になります。 【No.】3 【Name】ラストレシピ〜麒麟の舌の記憶〜 豪華版(’17「ラストレシピ... 【Price】¥5848 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988104116802-1/ 【shop】 DVD-outlet 田中経一のデビュー小説を、二宮和也主演、『おくりびと』の滝田洋二郎監督のメガフォンで映画化。“麒麟の舌“と呼ばれる究極の味覚を持つ料理人が、戦時下の混乱の中で消失した伝説の“料理全席“を追い求めるうちに、約70年前のある謎に迫る姿を描く。 [1]本編[2][3]特典ディスク タイトル ラストレシピ〜麒麟の舌の記憶〜 豪華版(’17「ラストレシピ〜麒麟の舌の記憶〜」製作委員会)〈3枚組〉 出演・監督 秋元康|菅野祐悟|二宮和也|滝田洋二郎|竹野内豊|西島秀俊|林民夫|大地康雄|広澤草|綾野剛|宮崎あおい|伊川東吾|兼松若人|竹嶋康成|笈田ヨシ|グレッグ・デール|西畑大吾|ボブ・ワーリー|田中経一 発売日 2018年05月30日 メーカー品番 TDV-28180D JANコード 4988104116802 ※こちらの商品は未開封 新古品になります。 【No.】4 【Name】赤西仁/Blessed【CD/邦楽ポップス】初回出荷限定盤(... 【Price】¥3197 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031258521-1/ 【shop】 DVD-outlet 自身が立ち上げたレーベル「Go Good Records」第1弾リリースとなるアルバム。プロデュースは、ジャスティン・ビーバー、ダニティ・ケインらを手がけるステレオタイプが担当。 [1](1)Blessed(2)Fill Me Up(3)One Addiction(4)I Want You(5)Feel(6)Good or Bad(7)Sun Kiss(8)All About You(9)Shine(10)Yesterday[2]〈DVD〉(1)Fill Me Up(Music Video)(2)Fill Me Up(Making Of Music Video) タイトル 赤西仁/Blessed アーティスト 赤西仁 発売日 2017年12月12日 メーカー品番 UPCH-29275 JANコード 4988031258521 ※こちらの商品は未開封 新古品になります。 【No.】5 【Name】THE RAMPAGE from EXILE TRIBE/T... 【Price】¥4855 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064866786-1/ 【shop】 DVD-outlet 2018年9月12日リリースの1stアルバム。〈MTV VMAJ 2017〉で“最優秀邦楽新人アーティストビデオ賞“を獲得したデビュー曲「Lightning」から6th「HARD HIT」までのシングル表題曲およびカップリング曲などを収録。 [1]〈Downtown Side〉(1)Lightning(2)LA FIESTA(3)Fandango(4)HARD HIT(5)100degrees(6)Knocking Knocking(7)New Jack Swing(8)SWAG IT OUT(9)FRONTIERS(10)GO ON THE RAMPAGE[2]〈Uptown Side〉(1)Dirty Disco(2)DREAM YELL(3)Can’t Say Goodbye(4)Over(5)ELEVATION(6)The Typhoon Eye(7)Dream On(8)BREAKING THE ICE(9)Shangri-La(10)Only One[3]〈Blu-ray〉〈MUSIC VIDEO〉(1)Lightning(2)FRONTIERS(3)Dirty Disco(4)100degrees(5)Fandango(6)HARD HIT(7)LA FIESTA〈DOCUMENTARY〉(8)SOUL SURVIVOR〜4年間の軌跡〜 タイトル THE RAMPAGE from EXILE TRIBE/THE RAMPAGE アーティスト RAMPAGE from EXILE TRIBE 発売日 2018年09月12日 メーカー品番 RZCD-86678 JANコード 4988064866786 ※こちらの商品は未開封 新古品になります。 【No.】6 【Name】【アウトレット品】BTS (防弾少年団)/FACE YOUR... 【Price】¥3835 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031271056-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 韓国出身の男性ヒップホップ・グループ、BTS(防弾少年団)の日本3rdアルバム。ヒット・シングル曲「血、汗、涙」「Not Today」などのほか、The Chainsmokersとの共作「Best Of Me」や新曲も楽しめる。 [1](1)INTRO:Ringwanderung(2)Best Of Me(Japanese ver.)(3)血 汗 涙(Japanese ver.)(4)DNA(Japanese ver.)(5)Not Today(Japanese ver.)(6)MIC Drop(Japanese ver.)(7)Don’t Leave Me(8)Go Go(Japanese ver.)(9)Crystal Snow(10)Spring Day(Japanese ver.)(11)Let Go(12)OUTRO:Crack[2]〈Blu-ray〉(1)Blood Sweat&Tears(Music Video)(2)血 汗 涙(Music Video)(3)MIC Drop(Japanese ver.)(Music Video)(4)MIC Drop(Japanese ver.)(Dance Music Video)(5)Japan Documentary 5 Days(6)DNA(Live@Yokohama Arena Event)(7)MIC Drop(Live@Yokohama Arena Event)(8)Making of Album Jacket Photos タイトル BTS (防弾少年団)/FACE YOURSELF アーティスト BTS (防弾少年団) 発売日 2018年04月04日 メーカー品番 UICV-9277 JANコード 4988031271056 【No.】7 【Name】クレイジーケンバンド/GOING TO A GO-GO (通... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031291023-0/ 【shop】 DVD-outlet 今年デビュー20周年を迎える東洋一のサウンド・マシーン、 クレイジーケンバンドが約3年ぶりとなる待望のオリジナル・アルバムをリリースすることが決定しました! ブランニュー・アルバムのテーマは「支離滅裂」。 「だって作曲中毒の僕が3年もオリジナル・アルバム出すの我慢してたんだから! 」と横山が言うように、 ソウル、ファンク、ジャズ、ボッサ、レゲエ、ガレーヂ、和モノ、亜モノ、モンド、あらゆる音楽が爆発している。 水を得た魚のように作りまくった作品全20曲がここに光臨! ! ! “そうるとれいん"(日本テレビ「ぶらり途中下車の旅」エンディングテーマ曲)、 “山鳩ワルツ"(NHK「みんなのうた」6月~7月)、 “GARDEN"(デルモンテリコピンリッチトマトケチャップCMソング)、 "オハヨウゴザイマス“(NHK「あさイチ」金曜エンタメテーマ曲)など、 ここ最近のタイアップ曲も漏れなく収録!!! ●CD(通常盤/初回限定盤) 01:GOING TO A GO-GO 02:eye catch*出發 Departure 03:そうるとれいん (日本テレビ「ぶらり途中下車の旅」エンディングテーマ曲) 04:棕櫚 05:ZZ 06:GARDEN (デルモンテリコピンリッチトマトケチャップCMソング) 07:883 08:LOCOMOCO 09:山鳩ワルツ (NHK「みんなのうた」6月~7月) 10:せつ子 11:eye catch*過境 Transit 12:SOUL 痛 SOUL 13:夜のドドンパ 14:パランタガヤン 15:ぽんこつ 16:MIDNIGHT BLACK CADILLAC 17:Honmoku Garage 18:オハヨウゴザイマス (NHK「あさイチ」金曜エンタメテーマ曲) 19:eye catch *到來 Arrival 20:のっぺらぼう ※曲順&タイトル及びタイトル表記は予期無く変更の可能性がございます。 タイトル GOING TO A GO-GO (通常盤) アーティスト クレイジーケンバンド 発売日 2018年08月01日 メーカー品番 UMCK-1603 JANコード 4988031291023 【No.】8 【Name】THE RAMPAGE from EXILE TRIBE/T... 【Price】¥5918 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064866786-0/ 【shop】 DVD-outlet 結成から4年、ついにファーストアルバムが完成! デビューシングル「Lightning」から 最新シングル「HARD HIT」までの6枚のシングル曲に加え新曲も多数収録。 DVD・Blu-rayにはミュージックビデオ・ドキュメンタリー映像を収録。 ■収録内容 ※5形態共通 Disc1[Downtown Side] 1. Lightning 2. LA FIESTA 3. Fandango 4. HARD HIT 5. 100degrees 6. Knocking Knocking 7. New Jack Swing 8. SWAG IT OUT 9. FRONTIERS 10. GO ON THE RAMPAGE Disc2[Uptown Side] 1. Dirty Disco 2. DREAM YELL 3. Can't Say Goodbye 4. Over 5. ELEVATION 6. The Typhoon Eye 7. Dream On 8. BREAKING THE ICE 9. Shangri-La 10. Only One Disc3 ※映像付4形態共通 MUSIC VIDEO 1. Lightning 2. FRONTIERS 3. Dirty Disco 4. 100degrees 5. Fandango 6. HARD HIT 7. LA FIESTA DOCUMENTARY SOUL SURVIVOR ~4年間の軌跡~ タイトル THE RAMPAGE(AL2枚組+Blu-ray Disc) アーティスト THE RAMPAGE from EXILE TRIBE 発売日 2018年09月12日 メーカー品番 RZCD-86678/9 JANコード 4988064866786 【No.】9 【Name】WS-SQB804(BS) スマホスティック 自分撮り fo... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4562322760148-1/ 【shop】 DVD-outlet 商品名 WS-SQB804(BS) スマホスティック 自分撮り for Android 発売日 - メーカー品番 WS-SQB804-BS JANコード 4562322760148 ※こちらの商品は未開封 新古品になります。 【No.】10 【Name】東方神起/TOMORROW (CD+スマプラ)【CD・K-P... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064795000-0/ 【shop】 DVD-outlet 2014年12月以来、約3年9ヵ月ぶりとなる今作「TOMORROW」は再始動シングル「Reboot」、 最新シングル「Road」他、全13曲を収録! 【収録内容】 [CD]※ AVCK-79498/B ・AVCK-79499/B ・ AVCK-79500共通 01.Make A Change 02.Yippie Ki Yay 03.Showtime 04.運命(The Chance Of Love) 05.明日は来るから ~TOMORROW Version~ 06.Get going 07.Jungle 08.Reboot -Long Version- 09.Trigger 10.Electric Love 11.This is my love 12.Road 13.Begin ~Again Version~ 全13曲収録 タイトル TOMORROW (CD+スマプラ) アーティスト 東方神起 発売日 2018年09月19日 メーカー品番 AVCK-79500 JANコード 4988064795000 【No.】11 【Name】和楽器バンド 大新年会2018横浜アリーナ 〜明日への航海〜... 【Price】¥6804 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064926978-0/ 【shop】 DVD-outlet 今年1月に開催された「和楽器バンド 大新年会2018横浜アリーナ ~明日への航海~」を映像化。 壮大な演出と迫力ある演奏はもちろんのこと、総勢44名に及ぶ剣舞隊や和太鼓隊、 そして三味線隊やダン サーの迫力のあるパフォーマンスを臨場感溢れる映像でご覧頂けます! サプライズゲストで一青窈さんが登場! 「東風破」で共演。 ■収録内容 ※(1)DVD&(2)Blu-rayともに共通 01.雨のち感情論 02.起死回生 03.星月夜 04.天樂 05.風雅麗々 06.吉原ラメント 07.反撃の刃 08.雪影ぼうし 09.東風破 feat.一青窈 10.郷愁の空 11.シンクロニシティ 12.花一匁 13.オキノタユウ 14.海戦乱打 15.戦-ikusa- 16.拍手喝采 17.律動遊戯・炎 18.華振舞 19.流星 20.千本桜 EN1.六兆年と一夜物語 EN2.暁ノ糸 EN3.花になれ! タイトル 和楽器バンド 大新年会2018横浜アリーナ 〜明日への航海〜(DVD)(スマプラ対応) 出演 和楽器バンド 監督 - 発売日 2018年08月08日 メーカー品番 AVBD-92697 JANコード 4988064926978 【No.】12 【Name】【アウトレット品】THE ALFEE/ONE-Venus o... 【Price】¥3050 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988006209138-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 2006年11月発表のアルバム。 [1](1)愛を惜しみなく(2)天河の舟(3)春の嵐(4)Innocent Love(Album Mix)(5)ONE LOVE(6)夢のチカラ ’06(7)Change(8)Shout(9)100億のLove Story(Album Mix)(10)ONE(Album Mix)[2]〈DVD〉〈Acoustic Studio Live〉(1)Innocent Love(2)Flower Revolution 2006 タイトル THE ALFEE/ONE-Venus of Rock- アーティスト ALFEE 発売日 2006年11月22日 メーカー品番 TOCT-26146 JANコード 4988006209138 【No.】13 【Name】ワールド・ウォーZ 3D&2DアルティメットZ・エディション... 【Price】¥3758 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988111145383-1/ 【shop】 DVD-outlet マックス・ブルックスの世界的ベストセラーをマーク・フォスター監督、ブラッド・ピット主演で映画化したパニック・アクション大作。全世界で爆発的に拡大する謎のウィルス。迫りくる脅威から家族を守るべく奮闘する男の姿を描く。 [1]3D 劇場版本編[2]2D エクステンデッド・エディション本編[3]2D 劇場版本編[4]特典ディスク タイトル ワールド・ウォーZ 3D&2DアルティメットZ・エディション(’13米)〈4枚組〉 出演・監督 ブラッド・ピット|デヴィッド・モース|マーク・フォースター|マシュー・フォックス|デイナ・ゴールドバーグ|マシュー・マイケル・カーナハン|デヴィッド・エリソン|マックス・ブルックス|ミレイユ・イーノス 発売日 2013年12月20日 メーカー品番 DAXA-4538 JANコード 4988111145383 ※こちらの商品は未開封 新古品になります。 【No.】14 【Name】access/Heart Mining【CD/邦楽ポップス】... 【Price】¥3655 【URL】 https://item.rakuten.co.jp/dvdoutlet/4547366333305-1/ 【shop】 DVD-outlet 浅倉大介と貴水博之によるaccessの5年ぶり、通算8枚目のオリジナル・アルバム。デビュー25周年のアニバーサリーイヤーを経て、成熟と進化をみせる彼らの今の姿が詰まった作品に仕上がっている。 [1](1)Cassini(Instrumental)(2)Crack Boy(3)Vertical Innocence(Heart Mining Ver.)(4)Inside me Inside you(5)Tragedy(6)Discover Borderless(7)Knock beautiful smile(Heart Mining Ver.)(8)Friend Mining(9)Heart Mining(10)Voyager(Instrumental)(11)永遠dive(Heart Mining Ver.)(12)Inside me Inside you 20170916[2]〈DVD〉(1)Toy Box In The Morning(2)Hung Me For The Distance〜絆された愛の果てに〜 タイトル access/Heart Mining アーティスト access 発売日 2017年12月20日 メーカー品番 AICL-3459 JANコード 4547366333305 ※こちらの商品は未開封 新古品になります。 【No.】15 【Name】もののけ姫(’97徳間書店/日本テレビ放送網/電通/スタジオ... 【Price】¥5596 【URL】 https://item.rakuten.co.jp/dvdoutlet/4959241749796-1/ 【shop】 DVD-outlet 日本映画の興行記録を塗り替えたことで話題になった大ヒット長編アニメがBlu-ray化。『風の谷のナウシカ』の宮崎駿監督による、壮大なファンタジー・アドベンチャー。 タイトル もののけ姫(’97徳間書店/日本テレビ放送網/電通/スタジオジブリ) 出演・監督 久石譲|宮崎駿|小林薫|上條恒彦|森光子|森繁久彌|西村雅彦|石田ゆり子|田中裕子|島本須美|美輪明宏|近藤喜文|松田洋治|佐藤允|徳間康快|名古屋章|渡辺哲|山本二三|田中直哉|男鹿和雄|高坂希太郎|安藤雅司|氏家斎一郎|武重洋二|黒田聡|保田道世|成田豊|鈴木敏夫 発売日 2013年12月04日 メーカー品番 VWBS-1490 JANコード 4959241749796 ※こちらの商品は未開封 新古品になります。 【No.】16 【Name】さだまさし/惠百福 たくさんのしあわせ【CD・J−POP】【... 【Price】¥3400 【URL】 https://item.rakuten.co.jp/dvdoutlet/4511760003027-6/ 【shop】 DVD-outlet ※お取寄せ商品について、ご注文から発送まで1週間前後かかります。※発送予定日が異なる商品を複数ご購入いただいた場合、 全ての商品が揃ってからの発送となります。話題沸騰の“ワーストアルバム”『御乱心〜オールタイム・ワースト』、そして永六輔作品14曲を歌い上げた『永縁』がロングセラーを続けるさだまさしが2年ぶりに待望のオリジナル・アルバムをリリース。<Disc1>1.約束の町 (5:26) 2.つばめよつばめ (4:02) 3.ガラパゴス携帯電話の歌 (5:54) 4.GENAH! (2:26) 5.詩島唄 (5:03) 6.たくさんのしあわせ (4:03) 7.秋蘭香 (5:38) 8.避難所の少年 (5:31) 9.いにしへ (3:05) 10.潮騒 (4:48)タイトル惠百福 たくさんのしあわせアーティストさだまさし発売日2017年9月6日メーカー品番FRCA-1276JANコード4511760003027 【No.】17 【Name】SEKAI NO OWARI/Tarkus【Blu-ray/... 【Price】¥5992 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988061781570-4/ 【shop】 DVD-outlet 2017年1月より行なわれたツアー〈タルカス〉の模様を映像化。ある国に住む青年・タルカスと王様を、それぞれの視点から語る物語をベースに展開していく。MCに代わって森の動物ナレーションが物語を案内するなど、音楽ライヴとしては異例の構成も魅力。 (1)炎と森のカーニバル(2)Death Disco(3)スターライトパレード(4)死の魔法(5)スノーマジックファンタジー(6)青い太陽(7)Never Ending World(8)マーメイドラブソディー(9)Monsoon Night(10)眠り姫(11)Love the warz(rearranged)(12)Error(13)天使と悪魔(14)SOS(15)Hey Ho(16)Dragon Night〈ENCORE〉(17)RPG(18)インスタントラジオ タイトル SEKAI NO OWARI/Tarkus 出演・監督 SEKAI NO OWARI 発売日 2018年03月07日 メーカー品番 TFXQ-78157 JANコード 4988061781570 【No.】18 【Name】機動戦士ガンダム サンダーボルト BANDIT【DVD・オリ... 【Price】¥4800 【URL】 https://item.rakuten.co.jp/dvdoutlet/4934569648389-1/ 【shop】 DVD-outlet タイトル 機動戦士ガンダム サンダーボルト BANDIT 出演・監督 矢立肇/富野由悠季 発売日 2017年12月08日 メーカー品番 BCBA4838 JANコード 4934569648389 ※こちらの商品は未開封 新古品になります。 【No.】19 【Name】【アウトレット品】Last Note./ミカグラ学園組曲【C... 【Price】¥3311 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988009102108-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 2015年2月25日リリースのCDアルバム。ノベル化やコミカライズもされた、Last Note.がネットに投稿するひとつの世界観を共有した楽曲シリーズの集大成といえる一枚。書き下ろし曲を含む、全11曲を収録。 [1](1)overture(2)我楽多イノセンス(3)有頂天ビバーチェ(4)絵空事スパイラル(5)花吹雪リフレクト(6)無気力クーデター(7)赤裸々キャンディ(8)十六夜シーイング(9)不条理ルーレット(10)革新的ヒロイズム(11)放課後ストライド[2]〈DVD〉〈Music Video〉(1)放課後ストライド(2)無気力クーデター(3)有頂天ビバーチェ(4)我楽多イノセンス(5)十六夜シーイング タイトル Last Note./ミカグラ学園組曲 アーティスト Last Note. 発売日 2015年02月25日 メーカー品番 SRCL-8741 JANコード 4988009102108 【No.】20 【Name】アイドリング!!!/アイドリング!!!Music Video... 【Price】¥3934 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988013678323-1/ 【shop】 DVD-outlet アイドル・グループ、アイドリング!!!のシングルMV集。7thシングル「baby blue」から15thシングル「やらかいはぁと」まで、全9曲のミュージック・クリップを収録する。彼女たちの成長の軌跡が見れるのも嬉しい。 (1)baby blue(2)無条件☆幸福(3)手のひらの勇気(4)ラブマジック フィーバー(5)S.O.W.センスオブワンダー(6)目には青葉 山ホトトギス 初恋(7)プールサイド大作戦(8)eve(9)やらかいはぁと タイトル アイドリング!!!/アイドリング!!!Music Video Collection2 2009-2011 アーティスト アイドリング!!! 発売日 2011年09月21日 メーカー品番 PCBP-52077 JANコード 4988013678323 ※こちらの商品は未開封 新古品になります。 【No.】21 【Name】【アウトレット品】アン・ジェウク/アン・ジェウク 1st C... 【Price】¥4924 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988013119444-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 アジアの韓流スター、アン・ジェウクの日本での初コンサートに加え、韓国で行なわれたコンサートも収録した2枚組DVD。まさにアン・ジェウクの魅力を独り占めできる、ファン必携のアイテムだ。 [1]〈日本版コンサート〉(1)ひとりごと(2)思い出にできない(3)いつも君のそばで(4)大切なのは(5)君のいない世界(6)罠(7)Yesterday(8)ただひとりの君(9)ケンカの後に〜大丈夫〜自由(10)せつなくて(11)君に似ていたから(12)トゥルル(13)指輪(14)tell me(15)別れの言葉(16)Baddest(17)僕が生きる理由(18)守護天使(19)心のままに(20)君に伝えたい言葉(21)わかってください(22)悲しい気持ち(23)シーズン・イン・ザ・サン(24)友よ(25)Don’t go baby(26)Forever[2]〈韓国版コンサート〉(1)Opening(2)ひとりごと(3)思い出にできない(4)いつも君のそばで(5)大切なのは(6)君のいない世界(7)罠(8)Yesterday(9)ただひとりの君(10)ケンカの後に〜大丈夫〜自由(11)せつなくて(12)君に似ていたから(13)トゥルル(14)指輪(15)tell me(16)別れの言葉(17)Baddest(18)僕が生きる理由(19)守護天使(20)心のままに(21)君に伝えたい言葉(22)友よ(23)Don’t go baby(24)Forever タイトル アン・ジェウク/アン・ジェウク 1st Concert〈2枚組〉 出演・監督 アン・ジェウク 発売日 2006年07月19日 メーカー品番 PCBP-51726 JANコード 4988013119444 【No.】22 【Name】スキップ・トレース【DVD・洋画アクション】... 【Price】¥3040 【URL】 https://item.rakuten.co.jp/dvdoutlet/4532612131859-1/ 【shop】 DVD-outlet タイトル スキップ・トレース 出演・監督 ジャッキー・チェン 発売日 2018年01月26日 メーカー品番 - JANコード 4532612131859 ※こちらの商品は未開封 新古品になります。 【No.】23 【Name】【アウトレット品】ザ・ドアーズ/L.A.ウーマンの真実:ザ・... 【Price】¥5965 【URL】 https://item.rakuten.co.jp/dvdoutlet/4580142349725-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 ジム・モリソンにとって人生最後のアルバムとなったドアーズ『L.A.ウーマン』の発売40周年記念メモリアル・ドキュメンタリー。レイ・マンザレクらへのインタビューや貴重映像を満載した、密度の濃い内容となっている。 ドキュメンタリー タイトル ザ・ドアーズ/L.A.ウーマンの真実:ザ・ストーリー・オブ L.A.ウーマン アーティスト ジョン・デンスモア|ドアーズ|レイ・マンザレク|ロビー・クリーガー|ジャック・ホルツマン|ブルース・ボトニック|ビル・シドンズ 発売日 2012年01月25日 メーカー品番 VQXD-10024 JANコード 4580142349725 【No.】24 【Name】【アウトレット品】狂った夜【洋画ドラマ】... 【Price】¥4104 【URL】 https://item.rakuten.co.jp/dvdoutlet/4589609940307-5/ 【shop】 DVD-outlet 放埓!無軌道!空前の豪華キャストが享楽の都ローマにくりひろげる青春狂乱の一夜! ローマの街角で、アンナ(エルサ・マルティネリ)とスプリツィア(アンナ・ルアルディ)という娼婦が昨夜の客をめぐって罵りあう。ケンカを仲裁し、ふたりの女を車に乗せたシンティッローネ(ジャン=クロード・ブリアリ)とルッジェーロ(ローラン・テルズィエフ)は、盗品のライフルを売り払おうとしていた。警察の目をそらすために、女たちと一緒にいた方がいいと考えていたのだった。 しかし、故売人とは話がまとまらず、甥のベッラベッラ(フランコ・インテルレンギ)がブツをさばくと申し出る。聾唖の男に10万リラで銃を売り、そこにいた娼婦のニコレッタ(アンナ・マリア・フェレーロ)も入れた六人で湿地へ向かうが、男たちは女たちをその場に置き去りにして車で出発する。道中、10万リラがないことに気付いたシンティッローネは、慌てて引き返すが、既に女たちの姿は消えていた。 街の女たちが客を引く場所に向かった三人は、そこで停めてある車からカメラを盗もうとするが、持ち主と仲間とケンカになる。警官が駆けつけたため、車に乗ってその場を逃れた男たちだったが、決着はつけずに和解、夜のローマで大暴れした後、車の持ち主で金持ちのアキッレの屋敷に落ち着いた。そこでルッジェーロは美しい女、ラウラ(ミレーヌ・ドモンジョ)と出会い、一目で心を奪われる・・・ 若者たちの破天荒な生を愛したパゾリーニの短編を自身が脚本化、ローマでしたたかに生き抜く貧しい若者たちの無軌道で刹那的な一夜を描く。 タイトル 狂った夜 スタッフキャスト 監督:マウロ・ボロニーニ 脚本:ピエル・パオロ・パゾリーニ 撮影:アルマンド・ナンヌッツィ 音楽:ピエロ・ピッチオーニ 出演:エルサ・マルティネリ、アントネッラ・ルアルディ、ローラン・テルジェフ、ジャン=クロード・ブリアリ、フランコ・インテルレンギ、アンナ・マリア・フェレーロ、ミレーヌ・ドモンジョ、ロザンナ・スキャフィーノ 制作年 1959 制作国 イタリア 音声 イタリア語(2ch.ステレオ) 字幕内容 日本語 発売日 2017/07/10 メーカー品番 DLDM030 JANコード 4589609940307 ※こちらの商品はアウトレット(中古)品になります。 ・シャープ社製のDVD再生機器(ブルーレイ再生専用機、ブルーレイ録画機含む)は、 ほとんどの機種で本商品の視聴ができません。 ・2007年以前に製造された一部のDVD再生機器におってはDVD-Rの再生に対応しておらず、 本商品が視聴できない可能性がございます。 ・パソコンでの視聴に関しては動作を保証いたしかねます。 ※こちらの商品は、発送までに1週間前後お時間をいただく場合がございます。 予めご了承ください。 【No.】25 【Name】今井美樹/Sky【CD・J-POP】【新品】... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031273036-0/ 【shop】 DVD-outlet 今井美樹、通算20枚目、3年ぶりとなるオリジナル・アルバム 『Sky』 発売決定。 豪華な楽曲提供陣が集結。 2018年6月9日(土)公開、映画『終わった人』の主題歌「あなたはあなたのままでいい」(作詞・作曲:布袋寅泰)収録。 亀田誠治をアルバム・プロデューサーに初めて迎えて東京とロンドンでレコーディングが行われ、 豪華な楽曲提供陣が集結した通算20枚目となる待望のオリジナル・アルバム。 今井美樹の今までの楽曲を手掛けてきた布袋寅泰、岩里祐穂、川江美奈子、いしわたり淳治、川口大輔。 そして、今井美樹への楽曲提供が初となる大橋トリオ、蔦谷好位置、土岐麻子、BONNIE PINK、 ジェイミー・カラムなど豪華な顔ぶれによるアルバムが完成。 更には2018年6月9日(土)に公開される、主演:舘ひろし・黒木瞳の映画『終わった人』 (監督:中田秀夫、原作:内館牧子、配給:東映)の主題歌に決定した「あなたはあなたのままでいい」 (作詞・作曲:布袋寅泰)も収録。 上質な大人のアルバムとして幅広い世代の音楽好きが楽しめるタイムリーでタイムレスな傑作誕生。 【曲目タイトル】 01 同じ空 (作詞:いしわたり淳治 作曲:蔦谷好位置) 02 あなたはあなたのままでいい (作詞・作曲:布袋寅泰) 03 雨上がり光る花のように (作詞・作曲:川江美奈子) 04 Misty (作詞:土岐麻子 作曲:川口大輔) 05 Free to Fly (作詞・作曲:BONNIE PINK) 06 Little Tiny Song (作詞・作曲:川江美奈子) 07 Greatest Moments (作詞:岩里祐穂 作曲:亀田誠治) 08 私へ (作詞・作曲:布袋寅泰) 09 Beyond the World (作詞:今井美樹 作曲:Jamie Cullum and more) 10 Blue Rain (作詞:micca 作曲:Yoshinori Ohashi) タイトル Sky アーティスト 今井美樹 発売日 2018年06月06日 メーカー品番 TYCT-60116 JANコード 4988031273036 【No.】26 【Name】【アウトレット品】X-ファイル シーズン6 SEASONS ... 【Price】¥4049 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988142256713-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 人気海外ドラマ・シリーズ『X-ファイル』のシーズン6の全22エピソードを収録したDVD-BOX。本シーズンの真実を伝えるドキュメンタリーや未公開シーンなどの豪華特典にも注目だ。 [1]ビギニング/迷走/トライアングル/ドリームランド Part1[2]ドリームランド Part2/クリスマス・イブの過ごし方/愛児/レイン・キング[3]S.R.819/ティトノス/ファイト・ザ・フューチャー Part1/ファイト・ザ・フューチャー Part2[4]アグア・マラ/月曜の朝/スイート・ホーム/絶滅種[5]電界/ミラグロ/アンナチュラル[6]荒野の三人/トリップ/創世紀 タイトル X-ファイル シーズン6 SEASONS ブルーレイ・ボックス〈6枚組〉 出演・監督 デヴィッド・ドゥカヴニー|クリス・カーター|ジリアン・アンダーソン 発売日 2017年04月05日 メーカー品番 FXXS-23563 JANコード 4988142256713 【No.】27 【Name】HAN-KUN/HAN-KUN TOUR 2017 LEGE... 【Price】¥5184 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988061182025-4/ 【shop】 DVD-outlet 湘南乃風でも活躍するHAN-KUNのライヴDVD。アルバム『VOICE MAGICIAN V 〜DEEP IMPACT〜』のツアーファイナル、2017年12月2日の豊洲PITを中心にドキュメントも楽しめる。CDはスペシャル音源と新曲を収録。 (1)INTRO〜TEPPEN!!(2)HOTTER THAN HOT(3)FIRE BURNING(4)KEEP IT BLAZING(5)REGGAE MAN(6)PULL UP(7)NEXT TO YOU(8)WANNA BE FREE(9)RUN THE WORLD(10)ETERNAL FIRE(11)ハンパねぇ!!(12)無問題(13)I&I(14)MELODY OF LOVE(15)With me(16)♯IROIRO(17)RESPECT(18)MedleyI:Revolution〜TONIGHT〜RIDE ON NOW〜SUN DANCER〜Island Vibes〜FOREVER...〜JOYFUL DAYS〜JAMAICA〜One Big Tree〜Roots&Future〜TOUCH THE SKY(19)MedleyII:Under The Moonlight〜Love It...〜サンクチュアリ〜友達(20)I Say...(21)希望の空(22)DEEP IMPACT〈CD〉(1)One Song(2)New Era(3)DEEP IMPACT LIVE MIX(mixed by DELTA FORCE) タイトル HAN-KUN/HAN-KUN TOUR 2017 LEGEND〜DEEP IMPACT〜 出演・監督 HAN-KUN 発売日 2018年04月11日 メーカー品番 TFBQ-18202 JANコード 4988061182025 【No.】28 【Name】【アウトレット品】ランボルギーニ【ドキュメント/その他】... 【Price】¥3066 【URL】 https://item.rakuten.co.jp/dvdoutlet/4582294641481-5/ 【shop】 DVD-outlet 最強モデル・ムルシエラゴSVの製造工場にカメラが潜入。ボディ、ペイント、組み立て…ほとんどが職人の手作業で行われる、その工程が明らかに。ミウラやカウンタックなど往年の名車も登場する、ファン必見の映像! タイトル ランボルギーニ 出演者 - 監督 - 発売日 2011/07/26 メーカー品番 NNGD8070 JANコード 4582294641481 ※こちらの商品はアウトレット(中古)品になります。 ・シャープ社製のDVD再生機器(ブルーレイ再生専用機、ブルーレイ録画機含む)は、 ほとんどの機種で本商品の視聴ができません。 ・2007年以前に製造された一部のDVD再生機器におってはDVD-Rの再生に対応しておらず、 本商品が視聴できない可能性がございます。 ・パソコンでの視聴に関しては動作を保証いたしかねます。 ※こちらの商品は、発送までに1週間前後お時間をいただく場合がございます。 予めご了承ください。 【No.】29 【Name】【アウトレット品】Case−Mate iPad (第3世代)... 【Price】¥3488 【URL】 https://item.rakuten.co.jp/dvdoutlet/846127073677-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 商品名 Case−Mate iPad (第3世代) / 発売日 - メーカー品番 CM020401 JANコード 846127073677 【No.】30 【Name】多田くんは恋をしない 2【Blu-ray/アニメ】... 【Price】¥6804 【URL】 https://item.rakuten.co.jp/dvdoutlet/4935228174621-4/ 【shop】 DVD-outlet
num of item リクエスト時の条件にマッチした商品数 num of page num of itemの商品全ての情報を取得するのに必要となるリクエスト回数(ページ数) --- --- No. 現在取得できている商品数(商品の数をカウントして紐づけてるだけ) Name 商品タイトル(30文字以上の場合は「...」となるように組んであります) Price 商品の価格 URL 商品の個別ページへのリンク shop ショップ名(IDではない) text 商品の説明文 2.1に加えて全商品(全ページ)情報を取得.さらに,JANコードを抽出
リクエスト時のページ番号を動的に変化させることで
条件にマッチする商品全ての情報の取得が可能になります
さらに,URLまたは商品説明文のどちらかにJANコードが埋め込まれている場合には
そのJANコードを抽出するコードを追加しました.
JANコードは,4から始まる13桁の数字でパターンマッチさせています.
また,リクエストできるページの最大数は100です
そのため,
今回のプログラムで取得できる最大商品数=30(一回のリクエストで取得できる最大数)×100(リクエストできる最大のページ番号) = 3000
となります.3000商品以上の情報を取得したい場合には後ほど(セクション3で)示す通り,
リクエスト時にさらに条件(ジャンルで絞る等)を追加し,
ページ番号とジャンルIDの両方を動的に変化させることでショップ内の全ての商品情報を取得することができます
- 投稿日:2019-03-27T13:22:39+09:00
【Python】Rakuten 商品検索APIで楽天市場の商品情報を取得
編集中
内容
楽天が提供する「楽天市場商品検索API」を利用して各種情報を取得する
参考
コード
1.ショップIDを入力に,ショップ内の商品情報を取得
ショップIDは,楽天市場における各ショップページのURLの以下の位置に記載されている
例えば,楽天市場に出店する「DVD-OUTLET」というショップのショップIDは
の位置,dvdoutletであるrakuten.py#coding:utf-8 PURPLE = '\033[35m' RED = '\033[31m' CYAN = '\033[36m' OKBLUE = '\033[94m' OKGREEN = '\033[92m' WARNING = '\033[93m' FAIL = '\033[91m' ENDC = '\033[0m' import csv import sys import codecs import math import random import requests from time import sleep import re args = sys.argv shopName = args[1] url = 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706' payload = { 'applicationId': ここにapplication_IDを入れます, 'hits': 30, 'shopCode':shopName, 'page':30, 'postageFlag':1, } r = requests.get(url, params=payload) resp = r.json() total = int(resp['count']) Max = total/30 + 1 print "【num of item】",total print "【num of page】",Max print "===================================" for i in resp['Items']: counter = counter + 1 print '【No.】'+ PURPLE + str(counter) + ENDC item = i['Item'] name = item['itemName'] print '【Name】' + OKGREEN + str(name[:30].encode('utf-8')) + '...' + ENDC print '【Price】' + CYAN + '¥' +str(item['itemPrice']) + ENDC print '【URL】',item['itemUrl'] URL = item['itemUrl'] print '【shop】',item['shopName'] text = item['itemCaption'] print text実行結果【num of item】 4052 【num of page】 136 =================================== 【No.】1 【Name】B〉3D&2D レディ・プレイヤー1 セット【Blu-ray... 【Price】¥6794 【URL】 https://item.rakuten.co.jp/dvdoutlet/4548967394702-1/ 【shop】 DVD-outlet タイトル B〉3D&2D レディ・プレイヤー1 セット 出演・監督 タイ・シェリダン 発売日 2018年08月22日 メーカー品番 - JANコード 4548967394702 ※こちらの商品は未開封 新古品になります。 【No.】2 【Name】May J./May J. W BEST-Original&... 【Price】¥4536 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064597710-1/ 【shop】 DVD-outlet [1]〈Original Best〉(1)So Beautiful(2)Sunshine Baby!(3)本当の恋(4)レット・イット・ゴー〜ありのままで〜(エンドソング)(5)Lovin’you(6)TSUBASA(7)RAINBOW(8)Shiny Sky(9)ONE MORE KISS(May J.×Zeebra×難波章浩)(10)Beautiful Days(11)Be mine〜君が好きだよ〜(12)旅立つ君に(13)Dear...(14)HERE WE GO(feat.VERBAL(m-flo))(15)ありがとう(2015 ver.)(16)My Sweet Dreams[2]〈Cover Best〉(1)366日(2)ハナミズキ(3)キラキラ(4)LIFE(5)風になりたい(feat.CHRIS&BUZZER BEATS)(6)Garden(feat.DJ KAORI Diggy-MO’ クレンチ&ブリスタ)(7)A Whole New World(with クリス・ハート)(8)涙そうそう(9)生きてこそ(10)Precious(11)手紙〜拝啓 十五の君へ〜(12)元気を出して(13)First Love(14)永遠(とわ)に(15)I DREAMED A DREAM(16)Believe[3]〈Blu-ray〉〈Music Video〉(1)So Beautiful(2)本当の恋(3)Sunshine Baby!(4)つかのまの虹でも(5)Let It Go(劇中歌/英語歌)(6)元気を出して(7)Believe(8)生きてこそ(9)I Believe(Japanese Version)(feat.V.I(from BIGBANG))(10)Lovin’you(11)きみの唄(12)誓いのキス(13)Precious(14)ハナミズキ(15)白い雲のように(with クリス・ハート)(16)First Love(17)LIFE(18)Garden(2BEDROOM PROGRESSIVE ANTHEM)(May J.×2BEDROOM))(19)TSUBASA(20)Eternally(21)Back To Your Heart(Story Edition)(feat.Daniel Powter)(22)Rewind(23)私がカバーガール(24)OUR FUTURE(25)I’m proud(26)夜空の雪(27)ONE MORE KISS(May J.×Zeebra×難波章浩)(28)あの日があるから(feat.RYO the SKYWALKER)(29)Shiny Sky(30)Sing for you(May J.×MAY’S)(31)Be mine〜君が好きだよ〜(32)旅立つ君に(33)もし君と...(with キマグレン)(34)Garden(feat.DJ KAORI Diggy-MO’.クレンチ&ブリスタ)(35)DO tha’DO tha’(36)Dear...(37)HERE WE GO(feat.VERBAL(m-flo))[4]〈Blu-ray〉〈Live Best〉〈May J.TOUR 2010〜LIVE for you〜〉(1)Garden(feat.DJ KAORI Diggy-MO’ クレンチ&ブリスタ)〈May J.LIVE 2011 タイトル May J./May J. W BEST-Original&Covers- アーティスト May J. 発売日 - メーカー品番 RZCD-59771 JANコード 4988064597710 ※こちらの商品は未開封 新古品になります。 【No.】3 【Name】ラストレシピ〜麒麟の舌の記憶〜 豪華版(’17「ラストレシピ... 【Price】¥5848 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988104116802-1/ 【shop】 DVD-outlet 田中経一のデビュー小説を、二宮和也主演、『おくりびと』の滝田洋二郎監督のメガフォンで映画化。“麒麟の舌“と呼ばれる究極の味覚を持つ料理人が、戦時下の混乱の中で消失した伝説の“料理全席“を追い求めるうちに、約70年前のある謎に迫る姿を描く。 [1]本編[2][3]特典ディスク タイトル ラストレシピ〜麒麟の舌の記憶〜 豪華版(’17「ラストレシピ〜麒麟の舌の記憶〜」製作委員会)〈3枚組〉 出演・監督 秋元康|菅野祐悟|二宮和也|滝田洋二郎|竹野内豊|西島秀俊|林民夫|大地康雄|広澤草|綾野剛|宮崎あおい|伊川東吾|兼松若人|竹嶋康成|笈田ヨシ|グレッグ・デール|西畑大吾|ボブ・ワーリー|田中経一 発売日 2018年05月30日 メーカー品番 TDV-28180D JANコード 4988104116802 ※こちらの商品は未開封 新古品になります。 【No.】4 【Name】赤西仁/Blessed【CD/邦楽ポップス】初回出荷限定盤(... 【Price】¥3197 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031258521-1/ 【shop】 DVD-outlet 自身が立ち上げたレーベル「Go Good Records」第1弾リリースとなるアルバム。プロデュースは、ジャスティン・ビーバー、ダニティ・ケインらを手がけるステレオタイプが担当。 [1](1)Blessed(2)Fill Me Up(3)One Addiction(4)I Want You(5)Feel(6)Good or Bad(7)Sun Kiss(8)All About You(9)Shine(10)Yesterday[2]〈DVD〉(1)Fill Me Up(Music Video)(2)Fill Me Up(Making Of Music Video) タイトル 赤西仁/Blessed アーティスト 赤西仁 発売日 2017年12月12日 メーカー品番 UPCH-29275 JANコード 4988031258521 ※こちらの商品は未開封 新古品になります。 【No.】5 【Name】THE RAMPAGE from EXILE TRIBE/T... 【Price】¥4855 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064866786-1/ 【shop】 DVD-outlet 2018年9月12日リリースの1stアルバム。〈MTV VMAJ 2017〉で“最優秀邦楽新人アーティストビデオ賞“を獲得したデビュー曲「Lightning」から6th「HARD HIT」までのシングル表題曲およびカップリング曲などを収録。 [1]〈Downtown Side〉(1)Lightning(2)LA FIESTA(3)Fandango(4)HARD HIT(5)100degrees(6)Knocking Knocking(7)New Jack Swing(8)SWAG IT OUT(9)FRONTIERS(10)GO ON THE RAMPAGE[2]〈Uptown Side〉(1)Dirty Disco(2)DREAM YELL(3)Can’t Say Goodbye(4)Over(5)ELEVATION(6)The Typhoon Eye(7)Dream On(8)BREAKING THE ICE(9)Shangri-La(10)Only One[3]〈Blu-ray〉〈MUSIC VIDEO〉(1)Lightning(2)FRONTIERS(3)Dirty Disco(4)100degrees(5)Fandango(6)HARD HIT(7)LA FIESTA〈DOCUMENTARY〉(8)SOUL SURVIVOR〜4年間の軌跡〜 タイトル THE RAMPAGE from EXILE TRIBE/THE RAMPAGE アーティスト RAMPAGE from EXILE TRIBE 発売日 2018年09月12日 メーカー品番 RZCD-86678 JANコード 4988064866786 ※こちらの商品は未開封 新古品になります。 【No.】6 【Name】【アウトレット品】BTS (防弾少年団)/FACE YOUR... 【Price】¥3835 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031271056-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 韓国出身の男性ヒップホップ・グループ、BTS(防弾少年団)の日本3rdアルバム。ヒット・シングル曲「血、汗、涙」「Not Today」などのほか、The Chainsmokersとの共作「Best Of Me」や新曲も楽しめる。 [1](1)INTRO:Ringwanderung(2)Best Of Me(Japanese ver.)(3)血 汗 涙(Japanese ver.)(4)DNA(Japanese ver.)(5)Not Today(Japanese ver.)(6)MIC Drop(Japanese ver.)(7)Don’t Leave Me(8)Go Go(Japanese ver.)(9)Crystal Snow(10)Spring Day(Japanese ver.)(11)Let Go(12)OUTRO:Crack[2]〈Blu-ray〉(1)Blood Sweat&Tears(Music Video)(2)血 汗 涙(Music Video)(3)MIC Drop(Japanese ver.)(Music Video)(4)MIC Drop(Japanese ver.)(Dance Music Video)(5)Japan Documentary 5 Days(6)DNA(Live@Yokohama Arena Event)(7)MIC Drop(Live@Yokohama Arena Event)(8)Making of Album Jacket Photos タイトル BTS (防弾少年団)/FACE YOURSELF アーティスト BTS (防弾少年団) 発売日 2018年04月04日 メーカー品番 UICV-9277 JANコード 4988031271056 【No.】7 【Name】クレイジーケンバンド/GOING TO A GO-GO (通... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031291023-0/ 【shop】 DVD-outlet 今年デビュー20周年を迎える東洋一のサウンド・マシーン、 クレイジーケンバンドが約3年ぶりとなる待望のオリジナル・アルバムをリリースすることが決定しました! ブランニュー・アルバムのテーマは「支離滅裂」。 「だって作曲中毒の僕が3年もオリジナル・アルバム出すの我慢してたんだから! 」と横山が言うように、 ソウル、ファンク、ジャズ、ボッサ、レゲエ、ガレーヂ、和モノ、亜モノ、モンド、あらゆる音楽が爆発している。 水を得た魚のように作りまくった作品全20曲がここに光臨! ! ! “そうるとれいん"(日本テレビ「ぶらり途中下車の旅」エンディングテーマ曲)、 “山鳩ワルツ"(NHK「みんなのうた」6月~7月)、 “GARDEN"(デルモンテリコピンリッチトマトケチャップCMソング)、 "オハヨウゴザイマス“(NHK「あさイチ」金曜エンタメテーマ曲)など、 ここ最近のタイアップ曲も漏れなく収録!!! ●CD(通常盤/初回限定盤) 01:GOING TO A GO-GO 02:eye catch*出發 Departure 03:そうるとれいん (日本テレビ「ぶらり途中下車の旅」エンディングテーマ曲) 04:棕櫚 05:ZZ 06:GARDEN (デルモンテリコピンリッチトマトケチャップCMソング) 07:883 08:LOCOMOCO 09:山鳩ワルツ (NHK「みんなのうた」6月~7月) 10:せつ子 11:eye catch*過境 Transit 12:SOUL 痛 SOUL 13:夜のドドンパ 14:パランタガヤン 15:ぽんこつ 16:MIDNIGHT BLACK CADILLAC 17:Honmoku Garage 18:オハヨウゴザイマス (NHK「あさイチ」金曜エンタメテーマ曲) 19:eye catch *到來 Arrival 20:のっぺらぼう ※曲順&タイトル及びタイトル表記は予期無く変更の可能性がございます。 タイトル GOING TO A GO-GO (通常盤) アーティスト クレイジーケンバンド 発売日 2018年08月01日 メーカー品番 UMCK-1603 JANコード 4988031291023 【No.】8 【Name】THE RAMPAGE from EXILE TRIBE/T... 【Price】¥5918 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064866786-0/ 【shop】 DVD-outlet 結成から4年、ついにファーストアルバムが完成! デビューシングル「Lightning」から 最新シングル「HARD HIT」までの6枚のシングル曲に加え新曲も多数収録。 DVD・Blu-rayにはミュージックビデオ・ドキュメンタリー映像を収録。 ■収録内容 ※5形態共通 Disc1[Downtown Side] 1. Lightning 2. LA FIESTA 3. Fandango 4. HARD HIT 5. 100degrees 6. Knocking Knocking 7. New Jack Swing 8. SWAG IT OUT 9. FRONTIERS 10. GO ON THE RAMPAGE Disc2[Uptown Side] 1. Dirty Disco 2. DREAM YELL 3. Can't Say Goodbye 4. Over 5. ELEVATION 6. The Typhoon Eye 7. Dream On 8. BREAKING THE ICE 9. Shangri-La 10. Only One Disc3 ※映像付4形態共通 MUSIC VIDEO 1. Lightning 2. FRONTIERS 3. Dirty Disco 4. 100degrees 5. Fandango 6. HARD HIT 7. LA FIESTA DOCUMENTARY SOUL SURVIVOR ~4年間の軌跡~ タイトル THE RAMPAGE(AL2枚組+Blu-ray Disc) アーティスト THE RAMPAGE from EXILE TRIBE 発売日 2018年09月12日 メーカー品番 RZCD-86678/9 JANコード 4988064866786 【No.】9 【Name】WS-SQB804(BS) スマホスティック 自分撮り fo... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4562322760148-1/ 【shop】 DVD-outlet 商品名 WS-SQB804(BS) スマホスティック 自分撮り for Android 発売日 - メーカー品番 WS-SQB804-BS JANコード 4562322760148 ※こちらの商品は未開封 新古品になります。 【No.】10 【Name】東方神起/TOMORROW (CD+スマプラ)【CD・K-P... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064795000-0/ 【shop】 DVD-outlet 2014年12月以来、約3年9ヵ月ぶりとなる今作「TOMORROW」は再始動シングル「Reboot」、 最新シングル「Road」他、全13曲を収録! 【収録内容】 [CD]※ AVCK-79498/B ・AVCK-79499/B ・ AVCK-79500共通 01.Make A Change 02.Yippie Ki Yay 03.Showtime 04.運命(The Chance Of Love) 05.明日は来るから ~TOMORROW Version~ 06.Get going 07.Jungle 08.Reboot -Long Version- 09.Trigger 10.Electric Love 11.This is my love 12.Road 13.Begin ~Again Version~ 全13曲収録 タイトル TOMORROW (CD+スマプラ) アーティスト 東方神起 発売日 2018年09月19日 メーカー品番 AVCK-79500 JANコード 4988064795000 【No.】11 【Name】和楽器バンド 大新年会2018横浜アリーナ 〜明日への航海〜... 【Price】¥6804 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988064926978-0/ 【shop】 DVD-outlet 今年1月に開催された「和楽器バンド 大新年会2018横浜アリーナ ~明日への航海~」を映像化。 壮大な演出と迫力ある演奏はもちろんのこと、総勢44名に及ぶ剣舞隊や和太鼓隊、 そして三味線隊やダン サーの迫力のあるパフォーマンスを臨場感溢れる映像でご覧頂けます! サプライズゲストで一青窈さんが登場! 「東風破」で共演。 ■収録内容 ※(1)DVD&(2)Blu-rayともに共通 01.雨のち感情論 02.起死回生 03.星月夜 04.天樂 05.風雅麗々 06.吉原ラメント 07.反撃の刃 08.雪影ぼうし 09.東風破 feat.一青窈 10.郷愁の空 11.シンクロニシティ 12.花一匁 13.オキノタユウ 14.海戦乱打 15.戦-ikusa- 16.拍手喝采 17.律動遊戯・炎 18.華振舞 19.流星 20.千本桜 EN1.六兆年と一夜物語 EN2.暁ノ糸 EN3.花になれ! タイトル 和楽器バンド 大新年会2018横浜アリーナ 〜明日への航海〜(DVD)(スマプラ対応) 出演 和楽器バンド 監督 - 発売日 2018年08月08日 メーカー品番 AVBD-92697 JANコード 4988064926978 【No.】12 【Name】【アウトレット品】THE ALFEE/ONE-Venus o... 【Price】¥3050 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988006209138-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 2006年11月発表のアルバム。 [1](1)愛を惜しみなく(2)天河の舟(3)春の嵐(4)Innocent Love(Album Mix)(5)ONE LOVE(6)夢のチカラ ’06(7)Change(8)Shout(9)100億のLove Story(Album Mix)(10)ONE(Album Mix)[2]〈DVD〉〈Acoustic Studio Live〉(1)Innocent Love(2)Flower Revolution 2006 タイトル THE ALFEE/ONE-Venus of Rock- アーティスト ALFEE 発売日 2006年11月22日 メーカー品番 TOCT-26146 JANコード 4988006209138 【No.】13 【Name】ワールド・ウォーZ 3D&2DアルティメットZ・エディション... 【Price】¥3758 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988111145383-1/ 【shop】 DVD-outlet マックス・ブルックスの世界的ベストセラーをマーク・フォスター監督、ブラッド・ピット主演で映画化したパニック・アクション大作。全世界で爆発的に拡大する謎のウィルス。迫りくる脅威から家族を守るべく奮闘する男の姿を描く。 [1]3D 劇場版本編[2]2D エクステンデッド・エディション本編[3]2D 劇場版本編[4]特典ディスク タイトル ワールド・ウォーZ 3D&2DアルティメットZ・エディション(’13米)〈4枚組〉 出演・監督 ブラッド・ピット|デヴィッド・モース|マーク・フォースター|マシュー・フォックス|デイナ・ゴールドバーグ|マシュー・マイケル・カーナハン|デヴィッド・エリソン|マックス・ブルックス|ミレイユ・イーノス 発売日 2013年12月20日 メーカー品番 DAXA-4538 JANコード 4988111145383 ※こちらの商品は未開封 新古品になります。 【No.】14 【Name】access/Heart Mining【CD/邦楽ポップス】... 【Price】¥3655 【URL】 https://item.rakuten.co.jp/dvdoutlet/4547366333305-1/ 【shop】 DVD-outlet 浅倉大介と貴水博之によるaccessの5年ぶり、通算8枚目のオリジナル・アルバム。デビュー25周年のアニバーサリーイヤーを経て、成熟と進化をみせる彼らの今の姿が詰まった作品に仕上がっている。 [1](1)Cassini(Instrumental)(2)Crack Boy(3)Vertical Innocence(Heart Mining Ver.)(4)Inside me Inside you(5)Tragedy(6)Discover Borderless(7)Knock beautiful smile(Heart Mining Ver.)(8)Friend Mining(9)Heart Mining(10)Voyager(Instrumental)(11)永遠dive(Heart Mining Ver.)(12)Inside me Inside you 20170916[2]〈DVD〉(1)Toy Box In The Morning(2)Hung Me For The Distance〜絆された愛の果てに〜 タイトル access/Heart Mining アーティスト access 発売日 2017年12月20日 メーカー品番 AICL-3459 JANコード 4547366333305 ※こちらの商品は未開封 新古品になります。 【No.】15 【Name】もののけ姫(’97徳間書店/日本テレビ放送網/電通/スタジオ... 【Price】¥5596 【URL】 https://item.rakuten.co.jp/dvdoutlet/4959241749796-1/ 【shop】 DVD-outlet 日本映画の興行記録を塗り替えたことで話題になった大ヒット長編アニメがBlu-ray化。『風の谷のナウシカ』の宮崎駿監督による、壮大なファンタジー・アドベンチャー。 タイトル もののけ姫(’97徳間書店/日本テレビ放送網/電通/スタジオジブリ) 出演・監督 久石譲|宮崎駿|小林薫|上條恒彦|森光子|森繁久彌|西村雅彦|石田ゆり子|田中裕子|島本須美|美輪明宏|近藤喜文|松田洋治|佐藤允|徳間康快|名古屋章|渡辺哲|山本二三|田中直哉|男鹿和雄|高坂希太郎|安藤雅司|氏家斎一郎|武重洋二|黒田聡|保田道世|成田豊|鈴木敏夫 発売日 2013年12月04日 メーカー品番 VWBS-1490 JANコード 4959241749796 ※こちらの商品は未開封 新古品になります。 【No.】16 【Name】さだまさし/惠百福 たくさんのしあわせ【CD・J−POP】【... 【Price】¥3400 【URL】 https://item.rakuten.co.jp/dvdoutlet/4511760003027-6/ 【shop】 DVD-outlet ※お取寄せ商品について、ご注文から発送まで1週間前後かかります。※発送予定日が異なる商品を複数ご購入いただいた場合、 全ての商品が揃ってからの発送となります。話題沸騰の“ワーストアルバム”『御乱心〜オールタイム・ワースト』、そして永六輔作品14曲を歌い上げた『永縁』がロングセラーを続けるさだまさしが2年ぶりに待望のオリジナル・アルバムをリリース。<Disc1>1.約束の町 (5:26) 2.つばめよつばめ (4:02) 3.ガラパゴス携帯電話の歌 (5:54) 4.GENAH! (2:26) 5.詩島唄 (5:03) 6.たくさんのしあわせ (4:03) 7.秋蘭香 (5:38) 8.避難所の少年 (5:31) 9.いにしへ (3:05) 10.潮騒 (4:48)タイトル惠百福 たくさんのしあわせアーティストさだまさし発売日2017年9月6日メーカー品番FRCA-1276JANコード4511760003027 【No.】17 【Name】SEKAI NO OWARI/Tarkus【Blu-ray/... 【Price】¥5992 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988061781570-4/ 【shop】 DVD-outlet 2017年1月より行なわれたツアー〈タルカス〉の模様を映像化。ある国に住む青年・タルカスと王様を、それぞれの視点から語る物語をベースに展開していく。MCに代わって森の動物ナレーションが物語を案内するなど、音楽ライヴとしては異例の構成も魅力。 (1)炎と森のカーニバル(2)Death Disco(3)スターライトパレード(4)死の魔法(5)スノーマジックファンタジー(6)青い太陽(7)Never Ending World(8)マーメイドラブソディー(9)Monsoon Night(10)眠り姫(11)Love the warz(rearranged)(12)Error(13)天使と悪魔(14)SOS(15)Hey Ho(16)Dragon Night〈ENCORE〉(17)RPG(18)インスタントラジオ タイトル SEKAI NO OWARI/Tarkus 出演・監督 SEKAI NO OWARI 発売日 2018年03月07日 メーカー品番 TFXQ-78157 JANコード 4988061781570 【No.】18 【Name】機動戦士ガンダム サンダーボルト BANDIT【DVD・オリ... 【Price】¥4800 【URL】 https://item.rakuten.co.jp/dvdoutlet/4934569648389-1/ 【shop】 DVD-outlet タイトル 機動戦士ガンダム サンダーボルト BANDIT 出演・監督 矢立肇/富野由悠季 発売日 2017年12月08日 メーカー品番 BCBA4838 JANコード 4934569648389 ※こちらの商品は未開封 新古品になります。 【No.】19 【Name】【アウトレット品】Last Note./ミカグラ学園組曲【C... 【Price】¥3311 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988009102108-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 2015年2月25日リリースのCDアルバム。ノベル化やコミカライズもされた、Last Note.がネットに投稿するひとつの世界観を共有した楽曲シリーズの集大成といえる一枚。書き下ろし曲を含む、全11曲を収録。 [1](1)overture(2)我楽多イノセンス(3)有頂天ビバーチェ(4)絵空事スパイラル(5)花吹雪リフレクト(6)無気力クーデター(7)赤裸々キャンディ(8)十六夜シーイング(9)不条理ルーレット(10)革新的ヒロイズム(11)放課後ストライド[2]〈DVD〉〈Music Video〉(1)放課後ストライド(2)無気力クーデター(3)有頂天ビバーチェ(4)我楽多イノセンス(5)十六夜シーイング タイトル Last Note./ミカグラ学園組曲 アーティスト Last Note. 発売日 2015年02月25日 メーカー品番 SRCL-8741 JANコード 4988009102108 【No.】20 【Name】アイドリング!!!/アイドリング!!!Music Video... 【Price】¥3934 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988013678323-1/ 【shop】 DVD-outlet アイドル・グループ、アイドリング!!!のシングルMV集。7thシングル「baby blue」から15thシングル「やらかいはぁと」まで、全9曲のミュージック・クリップを収録する。彼女たちの成長の軌跡が見れるのも嬉しい。 (1)baby blue(2)無条件☆幸福(3)手のひらの勇気(4)ラブマジック フィーバー(5)S.O.W.センスオブワンダー(6)目には青葉 山ホトトギス 初恋(7)プールサイド大作戦(8)eve(9)やらかいはぁと タイトル アイドリング!!!/アイドリング!!!Music Video Collection2 2009-2011 アーティスト アイドリング!!! 発売日 2011年09月21日 メーカー品番 PCBP-52077 JANコード 4988013678323 ※こちらの商品は未開封 新古品になります。 【No.】21 【Name】【アウトレット品】アン・ジェウク/アン・ジェウク 1st C... 【Price】¥4924 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988013119444-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 アジアの韓流スター、アン・ジェウクの日本での初コンサートに加え、韓国で行なわれたコンサートも収録した2枚組DVD。まさにアン・ジェウクの魅力を独り占めできる、ファン必携のアイテムだ。 [1]〈日本版コンサート〉(1)ひとりごと(2)思い出にできない(3)いつも君のそばで(4)大切なのは(5)君のいない世界(6)罠(7)Yesterday(8)ただひとりの君(9)ケンカの後に〜大丈夫〜自由(10)せつなくて(11)君に似ていたから(12)トゥルル(13)指輪(14)tell me(15)別れの言葉(16)Baddest(17)僕が生きる理由(18)守護天使(19)心のままに(20)君に伝えたい言葉(21)わかってください(22)悲しい気持ち(23)シーズン・イン・ザ・サン(24)友よ(25)Don’t go baby(26)Forever[2]〈韓国版コンサート〉(1)Opening(2)ひとりごと(3)思い出にできない(4)いつも君のそばで(5)大切なのは(6)君のいない世界(7)罠(8)Yesterday(9)ただひとりの君(10)ケンカの後に〜大丈夫〜自由(11)せつなくて(12)君に似ていたから(13)トゥルル(14)指輪(15)tell me(16)別れの言葉(17)Baddest(18)僕が生きる理由(19)守護天使(20)心のままに(21)君に伝えたい言葉(22)友よ(23)Don’t go baby(24)Forever タイトル アン・ジェウク/アン・ジェウク 1st Concert〈2枚組〉 出演・監督 アン・ジェウク 発売日 2006年07月19日 メーカー品番 PCBP-51726 JANコード 4988013119444 【No.】22 【Name】スキップ・トレース【DVD・洋画アクション】... 【Price】¥3040 【URL】 https://item.rakuten.co.jp/dvdoutlet/4532612131859-1/ 【shop】 DVD-outlet タイトル スキップ・トレース 出演・監督 ジャッキー・チェン 発売日 2018年01月26日 メーカー品番 - JANコード 4532612131859 ※こちらの商品は未開封 新古品になります。 【No.】23 【Name】【アウトレット品】ザ・ドアーズ/L.A.ウーマンの真実:ザ・... 【Price】¥5965 【URL】 https://item.rakuten.co.jp/dvdoutlet/4580142349725-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 ジム・モリソンにとって人生最後のアルバムとなったドアーズ『L.A.ウーマン』の発売40周年記念メモリアル・ドキュメンタリー。レイ・マンザレクらへのインタビューや貴重映像を満載した、密度の濃い内容となっている。 ドキュメンタリー タイトル ザ・ドアーズ/L.A.ウーマンの真実:ザ・ストーリー・オブ L.A.ウーマン アーティスト ジョン・デンスモア|ドアーズ|レイ・マンザレク|ロビー・クリーガー|ジャック・ホルツマン|ブルース・ボトニック|ビル・シドンズ 発売日 2012年01月25日 メーカー品番 VQXD-10024 JANコード 4580142349725 【No.】24 【Name】【アウトレット品】狂った夜【洋画ドラマ】... 【Price】¥4104 【URL】 https://item.rakuten.co.jp/dvdoutlet/4589609940307-5/ 【shop】 DVD-outlet 放埓!無軌道!空前の豪華キャストが享楽の都ローマにくりひろげる青春狂乱の一夜! ローマの街角で、アンナ(エルサ・マルティネリ)とスプリツィア(アンナ・ルアルディ)という娼婦が昨夜の客をめぐって罵りあう。ケンカを仲裁し、ふたりの女を車に乗せたシンティッローネ(ジャン=クロード・ブリアリ)とルッジェーロ(ローラン・テルズィエフ)は、盗品のライフルを売り払おうとしていた。警察の目をそらすために、女たちと一緒にいた方がいいと考えていたのだった。 しかし、故売人とは話がまとまらず、甥のベッラベッラ(フランコ・インテルレンギ)がブツをさばくと申し出る。聾唖の男に10万リラで銃を売り、そこにいた娼婦のニコレッタ(アンナ・マリア・フェレーロ)も入れた六人で湿地へ向かうが、男たちは女たちをその場に置き去りにして車で出発する。道中、10万リラがないことに気付いたシンティッローネは、慌てて引き返すが、既に女たちの姿は消えていた。 街の女たちが客を引く場所に向かった三人は、そこで停めてある車からカメラを盗もうとするが、持ち主と仲間とケンカになる。警官が駆けつけたため、車に乗ってその場を逃れた男たちだったが、決着はつけずに和解、夜のローマで大暴れした後、車の持ち主で金持ちのアキッレの屋敷に落ち着いた。そこでルッジェーロは美しい女、ラウラ(ミレーヌ・ドモンジョ)と出会い、一目で心を奪われる・・・ 若者たちの破天荒な生を愛したパゾリーニの短編を自身が脚本化、ローマでしたたかに生き抜く貧しい若者たちの無軌道で刹那的な一夜を描く。 タイトル 狂った夜 スタッフキャスト 監督:マウロ・ボロニーニ 脚本:ピエル・パオロ・パゾリーニ 撮影:アルマンド・ナンヌッツィ 音楽:ピエロ・ピッチオーニ 出演:エルサ・マルティネリ、アントネッラ・ルアルディ、ローラン・テルジェフ、ジャン=クロード・ブリアリ、フランコ・インテルレンギ、アンナ・マリア・フェレーロ、ミレーヌ・ドモンジョ、ロザンナ・スキャフィーノ 制作年 1959 制作国 イタリア 音声 イタリア語(2ch.ステレオ) 字幕内容 日本語 発売日 2017/07/10 メーカー品番 DLDM030 JANコード 4589609940307 ※こちらの商品はアウトレット(中古)品になります。 ・シャープ社製のDVD再生機器(ブルーレイ再生専用機、ブルーレイ録画機含む)は、 ほとんどの機種で本商品の視聴ができません。 ・2007年以前に製造された一部のDVD再生機器におってはDVD-Rの再生に対応しておらず、 本商品が視聴できない可能性がございます。 ・パソコンでの視聴に関しては動作を保証いたしかねます。 ※こちらの商品は、発送までに1週間前後お時間をいただく場合がございます。 予めご了承ください。 【No.】25 【Name】今井美樹/Sky【CD・J-POP】【新品】... 【Price】¥3240 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988031273036-0/ 【shop】 DVD-outlet 今井美樹、通算20枚目、3年ぶりとなるオリジナル・アルバム 『Sky』 発売決定。 豪華な楽曲提供陣が集結。 2018年6月9日(土)公開、映画『終わった人』の主題歌「あなたはあなたのままでいい」(作詞・作曲:布袋寅泰)収録。 亀田誠治をアルバム・プロデューサーに初めて迎えて東京とロンドンでレコーディングが行われ、 豪華な楽曲提供陣が集結した通算20枚目となる待望のオリジナル・アルバム。 今井美樹の今までの楽曲を手掛けてきた布袋寅泰、岩里祐穂、川江美奈子、いしわたり淳治、川口大輔。 そして、今井美樹への楽曲提供が初となる大橋トリオ、蔦谷好位置、土岐麻子、BONNIE PINK、 ジェイミー・カラムなど豪華な顔ぶれによるアルバムが完成。 更には2018年6月9日(土)に公開される、主演:舘ひろし・黒木瞳の映画『終わった人』 (監督:中田秀夫、原作:内館牧子、配給:東映)の主題歌に決定した「あなたはあなたのままでいい」 (作詞・作曲:布袋寅泰)も収録。 上質な大人のアルバムとして幅広い世代の音楽好きが楽しめるタイムリーでタイムレスな傑作誕生。 【曲目タイトル】 01 同じ空 (作詞:いしわたり淳治 作曲:蔦谷好位置) 02 あなたはあなたのままでいい (作詞・作曲:布袋寅泰) 03 雨上がり光る花のように (作詞・作曲:川江美奈子) 04 Misty (作詞:土岐麻子 作曲:川口大輔) 05 Free to Fly (作詞・作曲:BONNIE PINK) 06 Little Tiny Song (作詞・作曲:川江美奈子) 07 Greatest Moments (作詞:岩里祐穂 作曲:亀田誠治) 08 私へ (作詞・作曲:布袋寅泰) 09 Beyond the World (作詞:今井美樹 作曲:Jamie Cullum and more) 10 Blue Rain (作詞:micca 作曲:Yoshinori Ohashi) タイトル Sky アーティスト 今井美樹 発売日 2018年06月06日 メーカー品番 TYCT-60116 JANコード 4988031273036 【No.】26 【Name】【アウトレット品】X-ファイル シーズン6 SEASONS ... 【Price】¥4049 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988142256713-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 人気海外ドラマ・シリーズ『X-ファイル』のシーズン6の全22エピソードを収録したDVD-BOX。本シーズンの真実を伝えるドキュメンタリーや未公開シーンなどの豪華特典にも注目だ。 [1]ビギニング/迷走/トライアングル/ドリームランド Part1[2]ドリームランド Part2/クリスマス・イブの過ごし方/愛児/レイン・キング[3]S.R.819/ティトノス/ファイト・ザ・フューチャー Part1/ファイト・ザ・フューチャー Part2[4]アグア・マラ/月曜の朝/スイート・ホーム/絶滅種[5]電界/ミラグロ/アンナチュラル[6]荒野の三人/トリップ/創世紀 タイトル X-ファイル シーズン6 SEASONS ブルーレイ・ボックス〈6枚組〉 出演・監督 デヴィッド・ドゥカヴニー|クリス・カーター|ジリアン・アンダーソン 発売日 2017年04月05日 メーカー品番 FXXS-23563 JANコード 4988142256713 【No.】27 【Name】HAN-KUN/HAN-KUN TOUR 2017 LEGE... 【Price】¥5184 【URL】 https://item.rakuten.co.jp/dvdoutlet/4988061182025-4/ 【shop】 DVD-outlet 湘南乃風でも活躍するHAN-KUNのライヴDVD。アルバム『VOICE MAGICIAN V 〜DEEP IMPACT〜』のツアーファイナル、2017年12月2日の豊洲PITを中心にドキュメントも楽しめる。CDはスペシャル音源と新曲を収録。 (1)INTRO〜TEPPEN!!(2)HOTTER THAN HOT(3)FIRE BURNING(4)KEEP IT BLAZING(5)REGGAE MAN(6)PULL UP(7)NEXT TO YOU(8)WANNA BE FREE(9)RUN THE WORLD(10)ETERNAL FIRE(11)ハンパねぇ!!(12)無問題(13)I&I(14)MELODY OF LOVE(15)With me(16)♯IROIRO(17)RESPECT(18)MedleyI:Revolution〜TONIGHT〜RIDE ON NOW〜SUN DANCER〜Island Vibes〜FOREVER...〜JOYFUL DAYS〜JAMAICA〜One Big Tree〜Roots&Future〜TOUCH THE SKY(19)MedleyII:Under The Moonlight〜Love It...〜サンクチュアリ〜友達(20)I Say...(21)希望の空(22)DEEP IMPACT〈CD〉(1)One Song(2)New Era(3)DEEP IMPACT LIVE MIX(mixed by DELTA FORCE) タイトル HAN-KUN/HAN-KUN TOUR 2017 LEGEND〜DEEP IMPACT〜 出演・監督 HAN-KUN 発売日 2018年04月11日 メーカー品番 TFBQ-18202 JANコード 4988061182025 【No.】28 【Name】【アウトレット品】ランボルギーニ【ドキュメント/その他】... 【Price】¥3066 【URL】 https://item.rakuten.co.jp/dvdoutlet/4582294641481-5/ 【shop】 DVD-outlet 最強モデル・ムルシエラゴSVの製造工場にカメラが潜入。ボディ、ペイント、組み立て…ほとんどが職人の手作業で行われる、その工程が明らかに。ミウラやカウンタックなど往年の名車も登場する、ファン必見の映像! タイトル ランボルギーニ 出演者 - 監督 - 発売日 2011/07/26 メーカー品番 NNGD8070 JANコード 4582294641481 ※こちらの商品はアウトレット(中古)品になります。 ・シャープ社製のDVD再生機器(ブルーレイ再生専用機、ブルーレイ録画機含む)は、 ほとんどの機種で本商品の視聴ができません。 ・2007年以前に製造された一部のDVD再生機器におってはDVD-Rの再生に対応しておらず、 本商品が視聴できない可能性がございます。 ・パソコンでの視聴に関しては動作を保証いたしかねます。 ※こちらの商品は、発送までに1週間前後お時間をいただく場合がございます。 予めご了承ください。 【No.】29 【Name】【アウトレット品】Case−Mate iPad (第3世代)... 【Price】¥3488 【URL】 https://item.rakuten.co.jp/dvdoutlet/846127073677-3/ 【shop】 DVD-outlet ※こちらの商品はアウトレット品になります。色あせやシュリンク破れ、ケース破損などがある場合があります。 商品名 Case−Mate iPad (第3世代) / 発売日 - メーカー品番 CM020401 JANコード 846127073677 【No.】30 【Name】多田くんは恋をしない 2【Blu-ray/アニメ】... 【Price】¥6804 【URL】 https://item.rakuten.co.jp/dvdoutlet/4935228174621-4/ 【shop】 DVD-outlet
- 投稿日:2019-03-27T12:35:54+09:00
【備忘録】Pythonで日次で四半期決算を取得してSqliteに投げる
はじめに
初記事です。テスト用。
kessan.pyimport pandas as pd import datetime import sqlite3 def Get_DataF(data): #決算プロ【http://ke.kabupro.jp】の全上場企業・短信XBRL一括ダウンロードページより取得 yyyymmdd = data.strftime("%Y%m%d") yyyy_mm_dd = data.strftime("%Y/%m/%d") df = pd.read_excel(r'http://ke.kabupro.jp/down/{}f.xls'.format(yyyymmdd))\ .query('連結個別 == "連結" ') CashFlow = df.drop(['企業名', '決算期間', '期首', '会計基準', '連結個別', '決算期', '名寄前勘定科目(売上高欄に掲載)', '売上高', '営業利益', '経常利益', '純利益', '一株当り純利益', '希薄化後一株当り純利益', '純資産又は株主資本', '総資産', '一株当り純資産'], axis=1).dropna(subset=['営業キャッシュフロー', '投資キャッシュフロー', '財務キャッシュフロー'])\ .drop_duplicates(subset=['証券コード', '期末'], keep='last') QtlyRslt = df.drop(['企業名', '期首', '会計基準', '連結個別', '決算期', '名寄前勘定科目(売上高欄に掲載)', '営業キャッシュフロー', '投資キャッシュフロー', '財務キャッシュフロー'], axis=1).drop_duplicates(subset=['証券コード', '決算期間', '期末'], keep='last') return QtlyRslt.values.tolist(), CashFlow.values.tolist() def Row_data_Qtly(row): code = row[0] name = row[1] term = row[2].strftime("%Y-%m-%d") amount_sales = row[3] ope_income = row[4] ord_income = row[5] net_income = row[6] net_income_per_share = row[7] diluted_net_income_per_share = row[8] net_assets = row[9] total_assets = row[10] net_assets_per_share = row[11] presendate = row[12].strftime("%Y-%m-%d") return code, name, term, amount_sales, ope_income, ord_income, net_income, net_income_per_share, \ diluted_net_income_per_share, net_assets, total_assets, net_assets_per_share, presendate def Row_data_CashData(row): code = row[0] term = row[1].strftime("%Y-%m-%d") sales_cash = row[2] invest_cash = row[3] financial_cash = row[4] presendate = row[5].strftime("%Y-%m-%d") return code, term, sales_cash, invest_cash, financial_cash, presendate def QtlyData_Generator(data): for index in range(len(data )): d = Row_data_Qtly(data[index]) yield d def CashData_Generator(data): for index in range(len(data )): h = Row_data_CashData(data[index]) yield h def insert_data_to_db(db_file_name): conn = sqlite3.connect(db_file_name) now = datetime.datetime.now() data = Get_DataF(now) #更新が無ければ終了 if len(data[0]) == 0 and len(data[1]) == 0: print("更新無し") return None with conn: conn.execute('BEGIN TRANSACTION') sql1 = "INSERT OR REPLACE INTO Corp_QuarterlyResults_R(BrandCode, TermName, Term, Amount_Sales, Ope_Income," \ "Ord_Income,Net_Income,Net_Income_Per_Share,Diluted_Net_Income_Per_Share,Net_Assets,Total_Assets,"\ "Net_Assets_Per_Share,PresenDate,RegTime, UpdTime)" \ "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,datetime('now', 'localtime'),datetime('now', 'localtime'))" conn.executemany(sql1, QtlyData_Generator(data[0])) sql2 = "INSERT OR REPLACE INTO Corp_CashFlow_R(BrandCode, Term, Sales_Cash, Invest_Cash, Financial_Cash, PresenDate, RegTime, UpdTime)" \ "VALUES(?,?,?,?,?,?,datetime('now', 'localtime'),datetime('now', 'localtime'))" conn.executemany(sql2, CashData_Generator(data[1])) conn.commit() #現在の日時をyyyymmdd形式で取得 insert_data_to_db(r"filepath")filepathにはSqlite3のdbファイルのフルパスを入れればできる。
ddlはこんな感じ。
create.sqlCREATE TABLE `Corp_QuarterlyResults_R` ( `BrandCode` TEXT, `TermName` TEXT, `Term` TEXT, `Amount_Sales` REAL, `Ope_Income` REAL, `Ord_Income` REAL, `Net_Income` REAL, `Net_Income_Per_Share` REAL, `Diluted_Net_Income_Per_Share` REAL, `Net_Assets` REAL, `Total_Assets` REAL, `Net_Assets_Per_Share` REAL, `PresenDate` TEXT, `RegTime` TEXT, `UpdTime` TEXT, PRIMARY KEY(`BrandCode`,`TermName`,`Term`) ); CREATE TABLE `Corp_CashFlow_R` ( `BrandCode` TEXT, `Term` TEXT, `Sales_Cash` REAL, `Invest_Cash` REAL, `Financial_Cash` REAL, `PresenDate` TEXT, `RegTime` TEXT, `UpdTime` TEXT, PRIMARY KEY(`BrandCode`,`Term`) );差分抽出ではないので、なんか、こう、駄目ですね。
いい感じになんかできたらいいですね。完
- 投稿日:2019-03-27T11:39:59+09:00
python-ブラウザに出力する際に注意すること
未来電子テクノロジーでインターンをしているtakosです。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。pythonでcgiスクリプトを書く際は、以下のことを記述しなければ、ブラウザ上で文字化けや出力されないということがあるようです。
print('Content-type: text/html; charset=UTF-8')
print()cgiスクリプトは2つの部分からなっており、前半部分は後半部分のデータがどのようなものかをクライアントに教えています。
後半部分は、ブラウザ上に表示する情報を記入するHTMLです。
よって、pythonでブラウザ上に出力しようとする際には、前半部分を忘れずに記入する必要があるようです。
- 投稿日:2019-03-27T10:24:29+09:00
kaggleを用いた機械学習の自己学習(備忘録) -Mercedes-Benz Greener Manufacturing-
Competitions
- タイトル: Mercedes-Benz Greener Manufacturing
- URL: https://www.kaggle.com/c/mercedes-benz-greener-manufacturing
- 内容: テストベンチの時間削減のため、多次元の特徴量から最も影響のある特徴量を特定する。
参考カーネル①: Simple Exploration Notebook - Mercedes
- URL: https://www.kaggle.com/sudalairajkumar/simple-exploration-notebook-mercedes
- 所感: 一部の特徴量のデータ型がオブジェクト型で与えられている。これらの特徴量を扱いやすくするため、文字列要素を数値コードに変換している。
このような前処理を行うためのライブラリが、sklearnに組み込まれており、「Sklearnのpreprocessingの全メソッドを解説」が非常に参考になった。
- 投稿日:2019-03-27T09:37:47+09:00
jupyternotebookで重回帰分析をした時に自分でデータを収集すると苦労しそうなところ
自分でデータを収集してjupyternotebook上で重回帰分析をしたのですが教科書や講座で用意された資料ではないため様々な苦労がありました。
まずはコマンドプロンプトで以下のコマンドを打つとブラウザが起動します。jupyter notebook僕はchrome使っているのでchromeが起動しました。
分析に必要なpandasをインポートして略称をpdに、numpyはnpに。matplotlibはpltにします。import pandas as pd import numpy as np from matplotlib import pyplot as plt %matplotlib inline from sklearn.linear_model import LinearRegression as LR
独自に作ったcsvを出力します。最初encodingを書かないで出力したら文字化けしました。train = pd.read_csv("ベルマーレ観客動員数(2010-2017).csv", encoding="shift-jis") test = pd.read_csv("ベルマーレ観客動員数(2018).csv", encoding="shift-jis") sample = pd.read_csv("sample.csv", encoding="shift-jis")
encodingをutf-8にしたところ、こんなエラーが出ました。UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 0: invalid start byte最終的にはutf-8で使いたいんですけど仕方がないのでencoding="shift-jis"に。
ここら辺の文字形式の変換は今後大いに学ぶ必要性があると感じています。
以下のように書くことでtrainに代入されたベルマーレ観客動員数(2010-2017).csvのカラムである観客動員数を導き出したいというように定義します。
y = train["観客動員数"]
質的データは重回帰分析では使えないのでダミー変数を使うことで量的なデータに置き換えます。pd.get_dummies(train[["home","away","stadium","weather"]])
もしも欠損値があった場合0に置き換えます。欠損値があると重回帰分析は出来ません。
trainX = trainX.fillna(0)
回帰モデルの箱を用意します。model = LR()
重回帰モデルを作ります。
model.fit(trainX, y)trainXには分析で使用する説明変数が、yには目的変数が代入されています。
trainXのデータを使用して、yである観客動員数を予測するモデルを作る。
という言い方がよいですかね。
続いてtestの方もこんな感じで書き換えます。testX = pd.get_dummies(test[["相手チーム","曜日","天気","降水量","スター", "開幕戦", "産能大スペシャルデー"]]) testX = testX.fillna(0)testは実際に分析したい年度のデータ。
それより前の年度を利用して以下のようにモデルは作ってあるのでmodel.fit(trainX, y)
変数 = model.predict(実際に分析したい年度のデータ)のように書くと実際に分析したいデータで重回帰分析を行ってくれます。
なので以下のように書く。pred = model.predict(testX)
えらーーーーーーーーーーーーーーーーーー!!!
ValueError: shapes (313,40) and (43,) not aligned: 40 (dim 1) != 43 (dim 0)なんでこのようなエラーが出るのかというと。結論から言うとmodelで使うデータと実際に分析したいデータのカラム数が違うとこんな風にエラーが出るんですよ。
僕の場合分析に対戦チームの名前や試合をする曜日を使っていたんですが、昇格降格の影響でmodelで使ったデータにはいなかったチームが実際に分析するデータには存在していたり、modelでは水曜日に開催した日があったのに実際に分析するデータには存在しなかったり。
そんな理由でエラーが出たのです。
自分でデータを収集するとそういうエラーが出るんですね。
ちなみに僕は手作業でデータを消しましたが多分jupyter notebook上で削除したり別のデータを便利に結合することができると思います。
そこら辺は今後学んでいきたいですね。
エラーが出なくなったら以下でcsv出力できます。sample[1] = pred sample.to_csv("出力したい名前.csv",index=None, header=None)
以下余談。
どうやって分析するための説明変数を決めるのかというと、modelで使用した「ベルマーレ観客動員数(2010-2017).csv」を今回と同じ手順で分析しました。
その際に説明変数は色々変更を加えて。
それでいい値が出たものを実際に説明変数として使用するのです。
でも、ほかにもいろんな方法があるんだと思うのでそこも勉強したいですね。
- 投稿日:2019-03-27T07:34:35+09:00
Lesson7: Regression まとめ Intro to Machine learning@Udacity
概要
今までのレッスンで学んできたのは、すべてアウトプットが離散的(2値)だったが、数値を推定するものを回帰という。例えば、年齢から、年収を予測するようなもの。
下記の図の、赤い丸から直線を引くこと。
Slope:直線の傾き
Intercept:切片Coding it up!
上記のage-net worth問題を回帰で解く。
このプログラミングはUdacityに埋め込んであるpythonで、ブラウザで行う。ちなみにpython2系です。studentMain.pyimport numpy import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt from studentRegression import studentReg from class_vis import prettyPicture, output_image from ages_net_worths import ageNetWorthData ages_train, ages_test, net_worths_train, net_worths_test = ageNetWorthData() reg = studentReg(ages_train, net_worths_train)#studentReg()にてregression plt.clf() plt.scatter(ages_train, net_worths_train, color="b", label="train data") plt.scatter(ages_test, net_worths_test, color="r", label="test data") plt.plot(ages_test, reg.predict(ages_test), color="black") plt.legend(loc=2) plt.xlabel("ages") plt.ylabel("net worths") plt.savefig("test.png") output_image("test.png", "png", open("test.png", "rb").read())studentRegression.pydef studentReg(ages_train, net_worths_train): ### import the sklearn regression module, create, and train your regression ### name your regression reg ### your code goes here! from sklearn import datasets, linear_model reg = linear_model.LinearRegression() reg.fit(ages_train, net_worths_train) return reg青い点がトレーニングデータで、赤い点がテストデータ。linear regression(線形回帰)が引いた線が、直線。いい感じにひけてますねー。テストデータはトレーニングデータで引いた回帰式が、どのくらい正しいか評価するのに使う(reg.score())。テストデータでスコアが低いと、過学習しているということ。
よく使うAttributesとmethodsの紹介
.coef_ : 回帰式の係数出力
.intercept_ : 切片を出力
.score(ages_test, Net_worths_tests) : テストデータでの精度出す。
.score(ages_train, net_worths_train) : トレーニングデータでの精度出して、テストデータと比べ、過学習か判定する。回帰式の評価の仕方
どうやって回帰式:y = ax + b のa,bを決めているかというと、
\sum_{全トレーニングデータ} (トレーニングポイント-推定値)を最小化しているみたい。
最小化する方法はいくつかあって、有名なのは
・Ordinary Least Squares(OLS):最小二乗回帰
・Gradient descent:最急降下法最小二乗法:Ordinary Least Squares(OLS)
最小二乗法の場合、実際にどうやって回帰式を求めているのかは
最小二乗法の意味と計算方法 - 回帰直線の求め方がわかりやすかった。下記引用(数式かくの面倒だったので、スクリーンショト画像です)
詳しくは上記リンク先参照。なぜ誤差の計算の仕方が「絶対値の引き算」ではなく「二乗の引き算」なのかは、下記図参照。二乗しないと収束しないんですね。
r sqeared:決定係数
学習して得られた回帰線をどうやって評価するか?すぐ思いつくのは評価方法に、SSE(Sum of Squared Error)を使うことだが、これだと、データ数が多ければ、それだけSSEも大きくなってしまう。そこで出てくるのは決定係数。
入力特徴量と出力の関係をどの程度よく表しているかを表現する。1に近いほどよく表している。
学習した予測器の評価に使う値。なのでclf.score(X,y)のメソッドで使える。ここがすごくわかりやすかったです。
27-4. 決定係数と重相関係数
簡潔に言うと、R^2 = \frac{\sum_{i=1}^{n}{(データのyの平均から推定値がどれだけ差があるか)^2}}{\sum_{i=1}^{n}{(データのy平均値と各データのyがどれだけ差があるか)^2}}ポイントは、各データに対する推定値の平均からの差分(回帰変動)を各データの生のyの平均からの差分(全変動)で割っているので、データ数と比例して大きくならない点ですね。二乗しているのはおそらく、そうしないと二乗誤差の時と同じように収束しないからでしょう。
Multi-variate regression:多変量回帰
今までは入力-出力の関係が1vs1の場合を話ししてきたが、複数vs1の場合もある。
Mini-project
Enronデータセットを使って、さまざまな特徴量から、ボーナスの額を推定する回帰を行う。
後半には、outlier(外れ値)が、回帰に与える影響を見ていく。参考はsklearn正式ドキュメントsklearn.linear_model.LinearRegression
### list the features you want to look at--first item in the ### list will be the "target" feature features_list = ["bonus","salary",] data = featureFormat( dictionary, features_list, remove_any_zeroes=True) target, features = targetFeatureSplit( data ) ### training-testing split needed in regression, just like classification from sklearn.cross_validation import train_test_split feature_train, feature_test, target_train, target_test = train_test_split(features, target, test_size=0.5, random_state=42) train_color = "b" test_color = "r" ### Your regression goes here! ### Please name it reg, so that the plotting code below picks it up and ### plots it correctly. Don't forget to change the test_color above from "b" to ### "r" to differentiate training points from test points. #print(dictionary.items()) from sklearn import linear_model reg = linear_model.LinearRegression() print("**feature_train**\n"+str(feature_train)) print("**target_train**\n"+str(target_train)) reg.fit(feature_train,target_train) print("slope:"+str(reg.coef_)) print("intercept:"+str(reg.intercept_)) score_tr = reg.score(feature_train,target_train) print("score_train:"+str(score_tr)) score_te = reg.score(feature_test,target_test) print("score_test:"+str(score_te))Your regression goes here!以下を書いた。
<出力>
**feature_train**
[array([415189.]), array([243293.]), array([213625.]), array([184899.]), array([248546.]), array([221003.]), array([197091.]), array([261516.]), array([309946.]), array([248146.]), array([213999.]), array([278601.]), array([304110.]), array([269076.]), array([262663.]), array([272880.]), array([240189.]), array([339288.]), array([278601.]), array([265214.]), array([201955.]), array([251654.]), array([365038.]), array([330546.]), array([76399.]), array([229284.]), array([261879.]), array([329078.]), array([211844.]), array([267102.]), array([239502.]), array([211788.]), array([170941.]), array([273746.]), array([182245.]), array([262788.]), array([304588.]), array([271442.]), array([314288.])]
**target_train**
[1000000.0, 1500000.0, 1000000.0, 325000.0, 850000.0, 70000.0, 400000.0, 750000.0, 700000.0, 600000.0, 5249999.0, 800000.0, 2000000.0, 650000.0, 700000.0, 750000.0, 1250000.0, 8000000.0, 1350000.0, 600000.0, 4175000.0, 1100000.0, 1100000.0, 900000.0, 100000.0, 400000.0, 1000000.0, 750000.0, 200000.0, 1200000.0, 500000.0, 1700000.0, 350000.0, 1000000.0, 200000.0, 1000000.0, 2500000.0, 3100000.0, 800000.0]
slope:[5.44814029]
intercept:-102360.5432938796
score_train:0.04550919269952436
score_test:-1.48499241736851
トレーニングデータで学習して傾きと切片出して、テストデータで直線引いてる。Video44
3行目の
features_list = ["bonus","salary",]
を
features_list = ["bonus",“long_term_incentive”,]
に書き換えればよい。コードは上記。<出力>
feature_train
[array([200000.]), array([100000.]), array([69223.]), array([1586055.]), array([1617011.]), array([300000.]), array([974293.]), array([156250.]), array([1617011.]), array([1294981.]), array([694862.]), array([300000.]), array([422158.]), array([323466.]), array([175000.]), array([125000.]), array([2234774.]), array([554422.]), array([335349.]), array([71023.]), array([554422.]), array([554422.]), array([75000.]), array([2035380.]), array([983346.]), array([275000.]), array([304805.])]
target_train
[325000.0, 750000.0, 1700000.0, 1200000.0, 2000000.0, 1000000.0, 1350000.0, 100000.0, 1500000.0, 3000000.0, 2600000.0, 700000.0, 600000.0, 400000.0, 200000.0, 400000.0, 200000.0, 100000.0, 600000.0, 600000.0, 1100000.0, 2000000.0, 300000.0, 8000000.0, 1150000.0, 300000.0, 4175000.0]
slope:[1.19214699]
intercept:554478.7562150093
score_train:0.21708597125777662
score_test:-0.5927128999498639
トレーニングデータへのスコアは下がったが、テストデータに対しては上がっている。スコアだけを見ると特徴量としてはlong_term_incentiveのほうが優れていることがわかる。
Video46:外れ値
外れ値(Outliner)の影響を見てみるために、トレーニングデータに外れ値があると、どの程度回帰線が変化するのか見てみる。
外れ値があるテストデータ(赤)でトレーニングして(テストデータとトレーニングデータデータを入れ替えている)、プロットする為に、下記コードを足すよう指示あり。
reg.fit(feature_test, target_test)
plt.plot(feature_train, reg.predict(feature_train), color="b")
print("slope_new:"+str(reg.coef_))
を下のほうに足した。### draw the scatterplot, with color-coded training and testing points import matplotlib.pyplot as plt for feature, target in zip(feature_test, target_test): plt.scatter( feature, target, color=test_color ) for feature, target in zip(feature_train, target_train): plt.scatter( feature, target, color=train_color ) ### labels for the legend plt.scatter(feature_test[0], target_test[0], color=test_color, label="test") plt.scatter(feature_test[0], target_test[0], color=train_color, label="train") ### draw the regression line, once it's coded try: plt.plot( feature_test, reg.predict(feature_test) ) except NameError: pass ###Video46で足すように指示されたコード### reg.fit(feature_test, target_test) plt.plot(feature_train, reg.predict(feature_train), color="b") print("slope_new:"+str(reg.coef_)) ###### plt.xlabel(features_list[1]) plt.ylabel(features_list[0]) plt.legend() plt.show()左下に、短い回帰線が追加されている。トレーニングデータに対して、プロットしているので、回帰線の長さが、短いのはご愛敬。
確かに一番右の外れ値に影響されて、回帰線がかなり寝ているのがわかる。感想
今回復習と記録のために2回目受けてみた。
最小二乗法で誤差計算しないと、回帰線が一意に決まらないことが直観的に示せたのは良かった!
決定係数は完全に忘れていたので、復習してよかった。調べた英単語
constraint・・・n, 強制、圧 迫、束縛、制約
arbitrary・・・n, 任意の、恣意(しい)的な、勝手な
discrete・・・n, 分離した、不連続の(continuous vs discrete)
coefficient・・・n, 係数
shortcoming・・・n, 短所、欠点
hefty・・・adj, かなりの、重い、屈強な
ex)hefty bonus
- 投稿日:2019-03-27T05:03:30+09:00
【Python】if 変数: の真偽値
- 投稿日:2019-03-27T02:13:29+09:00
[Python]文字の色を当てるゲームを作った
動機
raspberrypiが余っていたので,祖父母が暇を潰せるようにとraspberrypiに適当なゲームを入れて贈りました.
最近はフリーセルばかりやっているようで,ボケないかと心配になりました.
少しは脳を使うことをやってほしく,またpythonで何か作ろうかなと考えていたので,文字の色を当てるゲームを作りました.できたもの
実装
pythonでのguiに関する日本語の資料はtkinterが最も充実していたのでtkinterにしました.
環境
Ubuntu 18.04.2 LTS
Python 3.6.7
tkinter 8.6感想
OOPは座学ではやったことあるけど,実際にプログラミングするのは初めてなのでいろいろと戸惑いました.
コードが少し長くなったのでgithubに上げました.
はじめてgithubを触りましたが,便利そうなのでこれから勉強したいです.
あとREADMEもまともなのがかけるようにしたいです.ソースコード
- 投稿日:2019-03-27T02:02:34+09:00
Pythonのリスト内包表記(リスト平坦化)
今日、Pythonをいじっているとリスト内包表記でハマったので、その経験をメモしておこうと思う。
問題
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for y in x for x in a] print(b)(意味ありげな1行目は置いておいて)この実行結果はどうなるだろうか。僕は、
[1, 2, 3, 4, 5, 6, 7, 8, 9]となることを期待していた。というのも、リスト内包表記ではforの順序は関係ないと思っていたので、
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for x in a for y in x] print(b) # [1, 2, 3, 4, 5, 6, 7, 8, 9]からの類推でそうなるものだと思っていた。しかし実際には、
['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']となった。
理由
リスト内包表記は一種の糖皮構文で、それをforで書き下せばわかりやすくなる。
問題の、
b = [y for y in x for x in a]は、
b = [] for y in x: for x in a: b += [y]と同じことだ。
ここで、
for y in xのxは、この行が読み込まれた時の状態で固定されることに注意する。例えば、x = [1, 2, 3] for y in x: x = ['a', 'b', 'c'] print(y) # 1 # 2 # 3となる。
これをもう少し分かり易く書けば、
for y in [1, 2, 3]: x = ['a', 'b', 'c'] print(y)という感じで実行されるので、for文内で
xに別の値を代入しても、for文の実行には影響しない。以上のことに注意して、
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for y in x for x in a] print(b)をfor文で書き直せば、
b = [] for y in ['a', 'b', 'c']: for x in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: b += [y] print(b)となる。これの実行結果が、
['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']となることに疑問はないだろう。
リストの平坦化
二重リストを平坦化(一重リスト化)する方法として、
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for x in a for y in x] print(b) # [1, 2, 3, 4, 5, 6, 7, 8, 9]を紹介したが、これもfor文で書き下して見る。
b = [] for x in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: for y in x: b += [y] print(b)となるので、二重リストを平坦化できるのである。
- 投稿日:2019-03-27T02:02:34+09:00
Pythonのリスト内包表記(forの順番)
今日、Pythonをいじっているとリスト内包表記でハマったので、その経験をメモしておこうと思う。
問題
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for y in x for x in a] print(b)(意味ありげな1行目は置いておいて)この実行結果は、
['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']となった。
僕は、
[1, 2, 3, 4, 5, 6, 7, 8, 9]となることを期待していた。というのも、リスト内包表記ではforの順序は関係ないと思っていたので、リスト平坦化のイディオムである、
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for x in a for y in x] print(b) # [1, 2, 3, 4, 5, 6, 7, 8, 9]からの類推でそうなるものだと思っていた。
理由
リスト内包表記は一種の糖皮構文で、それをforで書き下せばわかりやすくなる。
問題の、
b = [y for y in x for x in a]は、
b = [] for y in x: for x in a: b += [y]と同じことだ。
ここで、
for y in xのxは、この行が読み込まれた時の状態で固定されることに注意する。例えば、x = [1, 2, 3] for y in x: x = ['a', 'b', 'c'] print(y) # 1 # 2 # 3となる。
これをもう少し分かり易く書けば、
for y in [1, 2, 3]: x = ['a', 'b', 'c'] print(y)という感じで実行されるので、for文内で
xに別の値を代入しても、for文の実行には影響しない。以上のことに注意して、
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for y in x for x in a] print(b)をfor文で書き直せば、
b = [] for y in ['a', 'b', 'c']: for x in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: b += [y] print(b)となる。これの実行結果が、
['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']となることに疑問はないだろう。
リストの平坦化
二重リストを平坦化(一重リスト化)する方法として、
x = ['a', 'b', 'c'] a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] b = [y for x in a for y in x] print(b) # [1, 2, 3, 4, 5, 6, 7, 8, 9]を紹介したが、これもfor文で書き下して見る。
b = [] for x in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]: for y in x: b += [y] print(b)となるので、二重リストを平坦化できるのである。
- 投稿日:2019-03-27T01:11:16+09:00
How to use twinx()
How to use twinx()
import modules
import numpy as np import matplotlib.pyplot as plt %matplotlib inline plt.style.use('bmh')prepare dummy datas
X = np.linspace(1, 10, 100) y1 = X * 2.0 y2 = -4.0 * X + 25.0prepare plotting twinx()
fig, ax = plt.subplots(1, 1) ax2 = ax.twinx()plot left bar
ax.plot(X, y1) ax.set_ylim(0, 30) ax.set_ylabel('y1 for left_bar [Kg]')plot right bar
ax2.plot(X, y2 ,ls=':', lw=0.5, c='r', alpha=0.3) ax2.set_ylim(0, 30) ax2.set_ylabel('y2 for left_bar [m]')show
ax.set_title('twin_X') fig plt.show()
- 投稿日:2019-03-27T00:38:21+09:00
ざっくりROSデバッグ方法
概要
ROSのデバッグ方法を通じて、開発の効率を上げる。
何をやりたいか
実際の開発時においてどのような流れでrosのデバッグコマンドを叩くかを知っていくのが目的。
1. ノードの停止
2. rqt_graphで変更の確認
3. rotopic pubでpublishしてみる
4. 再度ノードを復活させる
5. 復活したノードが動いていることを確認準備
以下のファイルを
catkin_ws/src/以下に入れて
catkin_makeしてくコンパイルしてください。
https://github.com/Keisuke08aw/robot-lecturecontrol_robotノードの停止
rosnode kill /control_robotを実行します。
これで/control_robotが死にます。
rqt_graphでnodeが消えたことを確認
rosrun rqt_graph rqt_graphを実行することでcontrolノードが消えたことが確認できます。
削除前
[Bad Request]()rotopic pubで/move_speedを0.1でpublishしてみる
rostopic pub -1 /move_speed std_msgs/Float32 "data: 0.1"を実行することで
3秒間この情報を/move_speedというtopic名でpublishします。コマンド実行前のロボット
コマンド実行後のロボット
コマンド実行前では、0.5m/secで動かしていたロボットを0.1m/secで動かしているため
動きがゆっくりになっているのがわかります。再度control_robotを復活させる
rosrun robot-car control_robot
rorunは1つのノードしか立ち上げられない。robot-carパッケージにあるcontrol_robotを立ち上げる。rosnode listでcontrol_robotが復活していることを確認
robotnode listでrosnodeのリストを閲覧することができるので確認しましょう。
デバッグコマンド
Nodeのグラフ可視化
rqt_graphすべてのNodeのリストを表示
rosnode listあるnodeの情報を取得
rosnode info /node名あるnodeを止める
rosnode kill /node名あるnodeを再開
rosrun パッケージ名 node名すべてのtopicのリストを表示
rostopic listあるtopicの情報を取得
rostopic info /topic名あるtopicの値についてpublish
`rostopic pub -1 /トピック名 パッケージ名/型 "data:値"まとめ
基本的によく使うコマンドはrosnode infoです。
あるnodeがどんな値を受け取ってどんな値を投げているかを確認するためです。
ここまで分かればあとは大体いけます。





















































