投稿

12月, 2014の投稿を表示しています

SVM (Support Vector Machine) Regression

イメージ
SVM (Support Vector Machine) Regression Just tried SVM to regress.
Code
import numpy as np import matplotlib.pyplot as plt # y = sin(x) + noise np.random.seed(1) x = np.random.uniform(0, 2*np.pi,200) y = np.sin(x) + np.random.normal(loc=0, scale=0.5, size=len(x)) # change the shape of x for scikit-learn x = x.reshape((len(x),1)) from sklearn import svm from sklearn import cross_validation # take 20% for test and use 70% as training data x_train, x_test, y_train, y_test = cross_validation.train_test_split(x, y, test_size=0.2) # sort x_test and y_test to plota line graph index = x_test.argsort(0).reshape(len(x_test)) x_test = x_test[index] y_test = y_test[index] # train a support vector machine reg = svm.SVR(kernel='rbf', C=1).fit(x_train, y_train) # the coefficient of determination R^2 of the prediction print('The coefficient of determination R^2 is {0}'.format(reg.score(x_test, y_test))) # plot fig, ax = plt.subplots(1) ax.plot(x_test, y_test, 'bo') ax.plot(x_…

Visualizing the Stock Market

イメージ
Visualizing the Stock Market
From 2010.1.1 to today.
Code
print(__doc__) # Author: Gael Varoquaux gael.varoquaux@normalesup.org # License: BSD 3 clause # Naoki Watanabe edited on Decmber 25, 2014 import datetime import numpy as np import matplotlib.pyplot as plt from matplotlib import finance from matplotlib.collections import LineCollection from sklearn import cluster, covariance, manifold ############################################################################### # Retrieve the data from Internet # Choose a time period reasonnably calm (not too long ago so that we get # high-tech firms, and before the 2008 crash) d1 = datetime.datetime(2010, 1, 1) d2 = datetime.datetime.today() # kraft symbol has now changed from KFT to MDLZ in yahoo symbol_dict = { 'TOT': 'Total', 'XOM': 'Exxon', 'CVX': 'Chevron', 'COP': 'ConocoPhillips', 'VLO': 'Valero Energy', 'MSFT': 'Mic…

Forecast Stocks by Logistic Regression, Linear Discriminant Analyser and Quadratic Discriminant Analyser

Forecast Stocks by Logistic Regression, Linear Discriminant Analyser and Quadratic Discriminant Analyser The below code is for python 3
import datetime import numpy as np import pandas as pd import sklearn from pandas.io.data import DataReader from sklearn.linear_model import LogisticRegression from sklearn.lda import LDA from sklearn.qda import QDA def create_lagged_series(symbol, start_date, end_date, lags=5): """This creates a pandas DataFrame that stores the percentage returns of the adjusted closing value of a stock obtained from Yahoo Finance, along with a number of lagged returns from the prior trading days (lags defaults to 5 days). Trading volume, as well as the Direction from the previous day, are also included.""" # Obtain stock information from Yahoo Finance ts = DataReader(symbol, "yahoo", start_date-datetime.timedelta(days=365), end_date) # Create the new lagged DataFrame tslag = pd.DataFrame(i…

Install Numpy, Schipy, Matplotlib and etc. on Amazon Linux AWS-ec2 for Python3

Installing NumPy, SciPy, Matplotlib, pandas, scikit-learn and pillow for Python 3.4 on Amazon Linux You must always specify full paths for python3, pip3 and easy_install-3.4. You can tell a full path by the command, which <file or directory>
常にpython3, pip3, easy_install-3,4はフルパスを指定してください。whichコマンドでフルパスがわかります。

Always use pip3 to install for python 3.
Python 3にライブラリをインストールするには常にpip3を使うこと
About my AWS and Python $ aws --version
aws-cli/1.6.6 Python/2.6.9 Linux/3.14.25-23.45.amzn1.x86_64

$ python3 --version Python 3.4.2
Download and instal easy_install $ cd /usr/local/src
$ sudo wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py $ which python3 # check the full path to python3 /usr/local/bin/python3 $ sudo /usr/local/bin/python3 ez_setup.py
Check easy_install for Python 3.4 installed Insatall pip for python 3 $ which easy_install-3.4 # check the full path to easy_install 3.4 /usr/local/bin/easy_install-3.4
$ sudo /usr/local/bin/easy_install-3.4 pip
$ which pip3 /usr…

Cygwin on Windows8 でchmodが効かずssh鍵認証ができない

次のようなエラーが出てsshの鍵認証がうまくいかないとき

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for 'keyname.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: key_aws.pem
Permission denied (publickey).

鍵のpermissionが広すぎるので、自分のみ読み書きできる600に変更する必要がある
cygiwnのバグによって、ファイルやフォルダにグループが設定されていないと、パーミッションを変更できないので、

chgrp -R Users <file or directory>
chmod 600 <file or directory>
として、まずグループをUsersに変更してからパーミッションを変える。 ls -l でパーミッションが変更されたか確認し、 ssh -i <key.pem> user@domain で認証すると、今回はec2にログインできた。

       __|  __|_  )        _|  (     /   Amazon Linux AMI       ___|\___|___|

SSH の自動ログインメモFixing “WARNING: UNPROTECTED PRIVATE KEY FILE!” on Linuxつーさのくーかんのようなところ最底辺プログラマ雑記 windows8でcygwinのchmod 600がうまくいかない

December 13-14, 2014 ドイツ ベルリン旅行

イメージ
December 13-14, 2014

ジュネーヴ Café du Soleil のチーズフォンデュ

イメージ
本場ジュネーヴで食べるチーズフォンデュ CERN出張最終日にはジュネーヴ郊外のチーズフォンデュを食べに行きました。ジュネーヴで食べるチーズフォンデュは二回目 (前回記事: ジュネーヴ Auberge de Savièse チーズ・フォンデュ)

今回は、調べた中で好評のCafé du Soleilへ行った。
Geneva駅からは10分ぐらいバスに乗る。街の中心部からは外れている。

Fondue au Fromage (チーズフォンデュ)を注文。飲み物はなし。まずバゲットが運ばれた。

割りと混むので予約した方がいいと聞いていたが、平日の昼下がりはスムーズに座れた。

国際会議に来ているらしき人たちが英語で話していた。カフェなので、お茶だけ飲んで帰る人も散見された。
10分ほど待つとチーズフォンデュが運ばれてきた。27.30CHF。
前回と違い、ワインやアルコールの香りは特にしなかった。

チーズがとてもとても柔らかかった。かき混ぜたら泡が立つかと思うほどだった。 溶けたチーズは弾力を失い、バゲットも容易に鍋底に沈んだ。

胡椒も合う。 バゲットは一度お代わりしたところで、チーズがなくなった。満腹になり、夕飯は要らなかった。

Bal-air駅から望むレマン湖にオブジェがあった。
Café du Soleil
カフェ 住所: Place du Petit-Saconnex 6, 1209 Genève 電話:022 733 34 17 営業時間:
月曜日7時00分~0時00分火曜日7時00分~0時00分水曜日7時00分~0時00分木曜日7時00分~0時00分金曜日7時00分~0時00分土曜日10時00分~23時45分日曜日10時00分~23時00分 サイトTripAdvisor
Café du Soleilの行き方
Cornavin駅/Geneva駅前のバス停4番ホームからGardiolに乗り、Petit-Saconn

孫正義という人

かっこいいね。ビジョンに向かって自分の人生を全うしようとしていて。なかなかそんな生き方できない。覚悟が座らない。自分がやるべきことだと思ってやれず、何となく就いた仕事や紹介されたものに乗っかって生きてたら時間が過ぎていくのだよな。

「下位10パーセントは自動で退学」 孫正義氏の後継者を争うサバイバルレース、ソフトバンクアカデミアの苛酷さ

December 6-7, 2014 ハンガリー ブダペスト旅行, Budapest, Hungry

イメージ
December 6-7, 2014 in ブダペスト セーチェーニ温泉でチェスをする人々

Amazon Linux (AWS) ec2にPython3をインストール

イメージ
Aamazon Web Service ec2 に Python3 をインストールする
何度もインストールが不完全に終わりましたが、やっとできた。
ec2にはデフォルトで 2.6.9 がインストールされています。
LINUXは初心者。
AWS (LINUX Server) にsshでログインした後の話です (WindowsOS使ってるのでcygwinで入りました)。
現在、最新のversionであるpython3.4.2をインストールしました。
今後のために覚書しておきます。
sudo は管理者権限でも実行コマンドです。これがないと Permission deniedが返ってきました。

コマンド sudo wget http://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
sudo tar zxvf Python-3.4.2.tgz
cd Python-3.4.2
sudo ./configure
sudo yum install gcc
sudo make
sudo make install
export PATH=$PATH:/usr/local/bin/python3

できた $ python3
Python 3.4.2 (default, Dec  9 2014, 18:54:09)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Windows7(64bit) C++コンパイラーを入れる

Pythonのモジュール、Cython, numba, MeCabなどのためにC++コンパイラーが必要だったのだが、難しすぎた。先週いっぱい使ったが不可能なのか。Pythonを64bitから32bitにインストールし直したが、うまくいかなかった。

Pythonコミュニティでも議論して様々に話されているが、結論が出ていなかったりする。
Visual Studio ExpressやSDKやService Pack1や、SP1の拡張版など、適切な順番と設定でインストールしなければならないらしく、またパスも設定しなければならないらしい。というのも、新たにインストールしたものが、既存の大事なファイルを消してしまったりするからだ。いくつかのページに書いてある通りに試したが、うまくいかない。やるたびに新しいエラーに出会う。

くっそー。諦めモード。

マンデルブルブロ集合を少し変えた / a little change of the Mandelbrot set

イメージ
マンデルブロ集合 コードは下のURLからそのまま。 http://nbviewer.ipython.org/gist/harrism/f5707335f40af9463c43 マンデルブロ集合は次の数列が収束するような複素数 \c = x+yi\の集合 \[z_{n+1} = z_n^2 + c\]

フランスでチーズ・フォンデュ作った

イメージ
チーズ・フォンデュを料理した

せっかくフランスにいるのだから、チーズ・フォンデュを作ってみることにした。チーズ溶かすだけだし、外で食べるより安いだろうし、ノウハウ身につけようということで。

November 30, 2014 ベルギー ブリュッセル半日旅行記 (日帰りアムステルダムの後) brussels belgium

イメージ
November 30, 2014
29日の早朝にジュネーヴを出て、朝7時頃にブリュッセル着いたが、すぐにアムステルダムに向かった。そして、夜中11時にアムステルダムから戻った。およそ無計画な旅行で、ホテルは取ってなかった。野宿するつもりだった。しかし、予想外の寒さだった。
ブリュッセル中央駅で泊まろうとしたら、0時45分にはゲート締めると駅員に言われた。駅付近のホテルは安くて1900EURO (2.8万円)もする。それでも凍え死ぬよりはマシかと思ったが、全て満室だった。
駅で19歳のシンガポール出身の女性バレリーナと話した。かっこよい人だった。16歳でロンドンにバレエ留学。飛び級して、周囲が大学に入る頃に大学を卒業。現在はコンテンポラリー・バレエをやっていると話していた。「バレエ学校というのは世界各地から生徒が来ている。だから私にはヨーロッパ各地に友達がいる。だからホテル泊まらなくても行く先々で友人の家に泊まれる。」と話していたが、よくわからなかった。バレエ学校の人はバレエ学校の近辺に住んでいるんじゃないのか。卒業生の友人のことだろうか。それにしても、国際感覚が豊かだ。すばらしい。彼女の生き様はバレエで世界のどこでも生きていけることを証明しているようだった。
夜中のブリュッセル。中央駅から歩いて5分ほどのBouse駅付近。

November 29, 2024 オランダ アムステルダム六時間旅行記 Amsterdam, Holland

イメージ
November 29, 2024 ブリュッセル二日間の予定を変更して、一日目はブリュッセルから日帰りでアムステルダム来ることにした。
高速列車タリスだと1'53、70EUROでブリュッセルとアムステルダムを結ぶ。ブリュッセル空港のおばさんに安くしたいと話したら、タリスではないが片道2'30、往復50EUROほどで切符を手配してくれた。40分ぐらい列車時間がのびても構わなかった。
アムステルダム中央駅の隅っこでジャズ弾いてる青年がいた。
中央駅。 オランダは歩いて回れると聞いてたので、路面電車トラムにも乗らずに過ごした。街なかを散策するのも楽しい。

CERNレストラン2

イメージ
最近は曇り空の元気のない天気が続く。CERNの食堂は夏にも書いた気がする: http://naokiwatanabe.blogspot.com/2014/09/cern_55.html
レストランは2つあり、いずれも今日の料理コーナーや、ベジタリアンメニュー、パスタ、ピザなども用意されてるが、8-12CHFもする。肉料理は15CHFなど。なので、行くときはビュッフェコーナーで安く済ませるよう努めてる。スイスフラン (CHF) は2014年12月1日現在で122円だ。

今日は、朝ごはんを食べそこねたので、来てみた。ちなみに、レストランは1と2の二箇所があるので、今日の昼に来たのはレストラン2。なので、タイトルが若干紛らわしい。レストラン記事2枚目なのか、レストラン2の記事なのか。前回の記事もレストラン2だったので。。


食堂の二階。一階にもパスタやピザなどある。写真の右側がビュッフェコーナー。


フランスの家庭料理っぽいものが並ぶ


サーモンとハムを多めにとった。グラム計算なのだが、これでだいたい8CHFだった。

[Python] scikit-learn 機械学習入門

イメージ
scikit-learnの超入門 チュートリアルの最初を理解するのに時間かかったので、覚書のためにも書いておく。

sklearnには既にサンプルとして、数字の認識のテスト問題と答えが入っている。
サンプルのSVM (Support Vector Machine) で学習させ、ペイントで雑に描いた下の数字を判断させる。

上の画像は9のつもりで描いた。最初は横長だったので、サイズを8x8 pixelsの正方形に変形した。歪になった。機械学習はこれをちゃんと9として判断してくれるだろうか。
コードfrom sklearn import datasets from sklearn improt svm from PIL import Image digits = datasets.load_digits() clf = svm.SVC(gamma=0.001, C=100.) clf.fit(digits.data, digits.target) img = Image.open(r'Path\to\Image.png') rgb = list(img.getdata()) len(rgb) # 64 lum = [0.299*i[0]+0.587*i[1]+0.114*i[2] for i in rgb] len(lum) # 64 clf.predict(lum) # array([1]) import numpy as np import matplotlib.pyplot as plt lum = np.array(lum) lum.shape = 8,8 plt.imshow(lum) plt.colorbar() plt.show()
SVMの学習と予想 1-3行目はライブラリのimport。
4行目はscikit-learnにもとから入ってる数字群を呼び出した。
64の配列と、それに対応した数字が1797セット入っている。
もともと、上のような荒っぽい上のような画像と対応する数字(target)が1797セットある。画像の方は、8x8ピクセルあり、白黒なので、64ピクセルそれぞれの輝度0-16を一列に並べた、長さ64の配列が1797あることで1797枚の画像を表現している。
5行目はSVMを呼び出し。こんなのが出てくる。

 SVC(C…