徳島大学図書館藏本分館の学生用ユーザーアカウントから外付けHDD内のPython環境を使用してみた。

 

最近大学図書館のWindowsPC(サーバー不明)がMacOSに移行したのでせっかくなのでいろいろ試行錯誤してみた。

まずはユーティリティからターミナルを起動。

echo $HOMEしてみる。

/home/c401…

各学生のユーザーアカウントがhomeディレクトリ直下に存在するようである。

環境変数はほぼ初期化状態のようで、exportコマンドすら使えなかった。

export: Command not found.

代わりにsetコマンドは使用できるみたいでしたが、ログインごとにalias設定、環境変数設定を行うのはやや(というかメチャクチャ)面倒なので、ここでvim ~/.bash_profile作成。

set PATH=’/Volumes/Macintosh\ HD/Users/yoshinobuhiroaki/anaconda/bin’:$PATH

のち、新しくwindowを開いたのだけど、echo $PATHしても

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

となり環境変数が反映されていない..

.bash_profileの仕組みに注目してもよかったのだが、今回は大学内のMac環境から外付けHDD内のPython環境を手っ取り早く使用することが目的だったので、デスクトップ内にHDD内のpythonにlinkを作成することにした。

ln 

/Volumes/Macintosh\ HD/Users/yoshinobuhiroaki/anaconda/bin/python2.7 /home/c40…/Desktop を実行。

すると「Cross-device link」という例外が発生した。

Oracleによると、別のファイルシステムなど、別のデバイス上のファイルに対してハードリンクしようとするとCross-device linkの例外が表示されるらしい。

参考

https://docs.oracle.com/cd/E19455-01/806-2720/msgs-203/index.html

ということなので -sを付加してsymlinkの作成。

さすが、柔らかいリンクといわれるだけあって、作成したエイリアスファイルをターミナルで開くよう設定を変更した上で開くと、HDD内のpythonが起動できた。スクリーンショット 2017-02-25 18.42.22.png

人生まだまだ勉強ですね…

Advertisements

超☆非効率的に線形回帰

 

今夜はクリスマスということなので、i-control(プレートリーダー)を使って得たデータの線形回帰分析用のpython スクリプトをアップしようと思う。

↓生データ

Screenshot 2016-12-24 14.05.36.png

↓スクリプト

Screenshot 2016-12-24 14.06.06.png

Santaclaus is coming to town(脅迫状)

工夫したらもっと良くなると思う。

あと、線形回帰程度ならtensorflow使わないほうが効率的。

ML using Tensorflow supported by keras(MNIST)

In [1]: import tensorflow as tf

In [2]: from keras.layers import Dropout
Using TensorFlow backend.

In [3]: from keras import backend as K

In [4]: from keras.layers import Dense

In [5]: from keras.objectives import categorical_crossentropy

In [6]: from tensorflow.examples.tutorials.mnist import input_data

まずは名前空間に必要なモジュールを例のごとくインポートしていく。

In [7]: sess = tf.Session()

In [8]: K.set_session(sess)

tensorflowのセッションスタート、さらにkerasにおいてもセッションを開始する。

In [9]: img = tf.placeholder(tf.float32,shape=(None,784))

In [10]: labels = tf.placeholder(tf.float32, shape=(None, 10))

続いて画像データ・ラベルを格納するためのプレースホルダを設定し

In [11]: x = Dense(128, activation=’relu’)(img)

In [12]: x = Dropout(0.5)(x)

In [13]: x = Dense(128, activation=’relu’)(x)

In [14]: x = Dropout(0.5)(x)

In [15]: preds = Dense(10, activation=’softmax’)(x)

kerasにより、中間層の活性化関数がrelu,出力層直前の活性化関数がsoftmax関数である多層CNNを構築する。

In [16]: loss = tf.reduce_mean(categorical_crossentropy(labels, preds))

トレーニングセットのラベルと、CNNが出力する判定結果との交差エントロピーの誤差関数を定義し、

In [17]: mnist_data = input_data.read_data_sets(‘MNIST_data’, one_hot=True)

MNISTのデータセットをone hotベクトル形式でダウンロードする。

In [18]: train_step = tf.train.GradientDescentOptimizer(0.5).minimize(loss) 

ついで最急降下法によって定義した誤差関数を最適化し、

In [19]: with sess.as_default():
….: for i in range(100):
….: batch = mnist_data.train.next_batch(50)
….: train_step.run(feed_dict={img: batch[0],
….: labels: batch[1],
….: K.learning_phase(): 1})

セッションのデフォルト値を上のように定める。

batch[0]は画像データ(vector)、batch[1]はデータラベル(int)である。(多分)

K.learning_phaseを1として、CNNがトレーニング段階であることを指定する。

In [21]: from keras.metrics import categorical_accuracy as accuracy

In [22]: acc_value = accuracy(labels, preds)

kerasよりaccuracy()関数を呼び出し、未知データの真のデータラベルがpreds(predictions)と一致している比率を計算しうるオブジェクトを生成。

In [24]: with sess.as_default():
….: print acc_value.eval(feed_dict={img: mnist_data.test.images,
….: labels: mnist_data.test.labels,
….: K.learning_phase(): 0})

最後にテスティングセットをimg,labelsに設定してセッション開始。

結果

0.8526

プロネットサーファーへの道

# coding:utf-8
import google
import os
from time import sleep
from selenium import webdriver
from requests_oauthlib import OAuth1Session
import json
import settings

twitter = OAuth1Session(settings.CONSUMER_KEY, settings.CONSUMER_SECRET, settings.ACCESS_TOKEN, settings.ACCESS_TOKEN_SECRET)

params = {}
req = twitter.get(“https://api.twitter.com/1.1/statuses/home_timeline.json”, params = params)

timeline = json.loads(req.text)

for tweet in timeline:
term = str(tweet[“text”].encode(“utf-8”))[:10]
f = google.search(term, lang = ‘ja’,num = 2,stop = 1)
F = google.search(term, lang = ‘en’,num = 2,stop = 1)

#print(‘Quick search URL result bellow\n’)
list = [url for url in f]
list2 = [url for url in F]
# print(url)

driver = webdriver.Chrome()
driver.get(list[0])
driver.set_window_position(0,0)
driver.set_window_size(1000,500)

river = webdriver.Chrome()
river.get(list[1])
river.set_window_position(1000,510)
river.set_window_size(1000,500)

iver = webdriver.Chrome()
iver.get(list2[0])
iver.set_window_position(0,510)
iver.set_window_size(1000,500)

ver = webdriver.Chrome()
ver.get(list2[1])
ver.set_window_position(1000,0)
ver.set_window_size(1000,500)

sleep(30)
driver.quit()
river.quit()
iver.quit()
ver.quit()

相変わらず適当ですがスニペットをどうぞ

Kaplan-Meyer Survival analysis

#survival analysis

import pandas as pd

from lifelines.estimation import KaplanMeierFitter

import matplotlib.pyplot as plt

kmf = KaplanMeierFitter()

df = pd.read_csv(‘intervened.csv’)

T = df[‘time’]

N = df[‘delta’]

df2 = pd.read_csv(‘not_intervened.csv’)

T2 = df2[‘time’]

N2 = df2[‘delta’]

ax = plt.subplot(111)

kmf.fit(T, event_observed=N, label=[‘intervened’])
kmf.survival_function_.plot(ax=ax)
kmf.fit(T2, event_observed=N2, label=[‘control’])
kmf.survival_function_.plot(ax=ax)

plt.title(‘Lifespans’)

kmf2 = plt.gcf()

plt.show()

#Logrank test

from lifelines.statistics import logrank_test
summary_= logrank_test(T, T2, N, N2, alpha=.99)

print summary_

ref)

https://en.wikipedia.org/wiki/Aneuploidy

http://c4s.blog72.fc2.com/blog-entry-84.html

https://plot.ly/ipython-notebooks/survival-analysis-r-vs-python/

http://dr-urashima.jp/pdf/how-kapuran.pdf

文献紹介 一回目(2016/12/6)

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3411354/

 

%e6%96%b0%e8%a6%8f%e3%83%88%e3%82%99%e3%82%ad%e3%83%a5%e3%83%a1%e3%83%b3%e3%83%88-320161123150216215

 

 

%e6%96%87%e7%8c%ae%e7%b4%b9%e4%bb%8b%e5%ae%8c%e5%85%a8%e7%89%88

references

https://en.wiktionary.org/wiki/postfixation

https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AA%E3%82%B3%E3%83%BC%E3%83%AB%E3%82%A8%E3%83%BC%E3%83%86%E3%83%AB%E3%82%B8%E3%82%A2%E3%83%9F%E3%83%B3%E5%9B%9B%E9%85%A2%E9%85%B8

http://www.wako-chem.co.jp/siyaku/info/life/article/4_PFA.htm

http://www.lintoninst.co.uk/Products/tabid/63/ProdID/584/Language/en-US/AM548__AM524_IR_Locomotor_Activity_Monitors.aspx

https://www.researchgate.net/post/Is_it_possible_to_freeze_fixed_tissues_embedded_in_OCT_at-80_C_freezer

https://www.researchgate.net/post/Rearing_in_rats_what_does_it_mean

https://en.wikipedia.org/wiki/Optimal_cutting_temperature_compound

http://www.funakoshi.co.jp/contents/566

https://ja.wikipedia.org/wiki/LacZ

https://ja.wikipedia.org/wiki/%E7%B5%8C%E5%8F%A3%E8%A3%9C%E6%B0%B4%E6%B6%B2

https://en.wiktionary.org/wiki/permeabilize#English

http://www.thefreedictionary.com/rinse

https://en.wikipedia.org/wiki/NP-40

https://en.wikipedia.org/wiki/X-gal

https://en.wikipedia.org/wiki/High-performance_liquid_chromatography

https://www.researchgate.net/figure/8499980_fig2_Fig-2-Altered-endocytic-sorting-in-a-GSL-storage-disease-cell-model-Defective

https://ja.wikipedia.org/wiki/%E3%83%8D%E3%82%B9%E3%83%81%E3%83%B3

http://www.iwt.akita-pu.ac.jp/Template/24.E.asp?Lang=English&isSlide=&isAutoSlideShow=&Root=/Template/18.E.asp&RootItem=Electron+and+Light+Microscopy+Facilities

http://acif.ucr.edu/nmr/inova500.html

https://en.wikipedia.org/wiki/Immunomodulation

http://www.kenkyuu2.net/cgi-biotech2012/biotechforum.cgi?mode=view;Code=2373

http://www.dictionary.com/browse/nonsterile?s=t

http://www.dictionary.com/browse/housed

https://ja.wikipedia.org/wiki/PAS%E6%9F%93%E8%89%B2

https://www.qiagen.com/us/shop/sample-technologies/rna/rneasy-protect-mini-kit/#orderinginformation

https://en.wikipedia.org/wiki/Magnocellular_cell

https://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%BC%E3%83%9E%E3%83%B3%E3%83%BB%E3%83%94%E3%83%83%E3%82%AF%E7%97%85

http://eow.alc.co.jp/search?q=rectify

http://eow.alc.co.jp/search?q=milieu

http://ejje.weblio.jp/content/in+utero

http://www.dictionary.com/browse/unilateral

https://www.infovisual.info/en/human-body/skull-upper-view

http://www.dictionary.com/browse/juxtaposed?s=t

https://en.wikipedia.org/wiki/Bregma

https://en.wiktionary.org/wiki/inplane

https://www.ole.bris.ac.uk/bbcswebdav/institution/Faculty%20of%20Health%20Sciences/MB%20ChB%20Medicine/Radiology/MRI%20e-tutorial/page_04.htm

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B3%E3%83%81%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E6%A4%9C%E5%87%BA%E5%99%A8

https://pdbj.org/mom/198

http://www.saibou.jp/service/kensaku/detail.php?catalogno=EC07062902-F0

https://www.thermofisher.com/jp/ja/home/life-science/protein-biology/protein-biology-learning-center/protein-biology-resource-library/pierce-protein-methods/ihc-counterstains.html

https://www.nibib.nih.gov/science-education/science-topics/magnetic-resonance-imaging-mri

http://biochem2.umin.jp/contents/Manuals/manual42.html

http://www.ema.europa.eu/ema/index.jsp?curl=pages/medicines/human/medicines/000801/wapp/Initial_authorisation/human_wapp_000064.jsp

http://www.eisai.jp/medical/region/radiology/rt/pdf/003/L/18.pdf

https://www.ncbi.nlm.nih.gov/pubmed/17545069

https://ja.wikipedia.org/wiki/%E9%AA%A8%E9%AB%84%E7%95%B0%E5%BD%A2%E6%88%90%E7%97%87%E5%80%99%E7%BE%A4

http://www.chiringi.or.jp/camt/wp-content/uploads/2014/04/ad8a0dba3b034c1d53ed85fe5099fb80.pdf

https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%83%E3%83%95%E5%A1%A9%E5%9F%BA

https://ocw.kyoto-u.ac.jp/ja/faculty-of-agriculture-jp/5195000/pdf/01/112.pdf

http://www.siyaku.com/uh/Shs.do?dspWkfcode=193-08445

http://www.anatomy.med.keio.ac.jp/funatoka/anatomy/Textbook/anatomy16b-3-2-1.html

http://ejje.weblio.jp/content/mediodorsal+thalamic+nucleus

https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=late+entorhinal+cortex%E6%84%8F%E5%91%B3

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1110647536

http://www.businessdictionary.com/definition/schematic-diagram.html

http://www.medicinenet.com/script/main/art.asp?articlekey=4041

http://mrifan.net/lecture/792

http://www.jsdi.or.jp/~fumipon/mri/K-space.htm

http://radiology.nobody.jp/

http://www2.kanazawa-it.ac.jp/higuael/nmr_basic.html

http://rad-base.com/?p=1412

http://kanri.nkdesk.com/hifuka/men11.php

 

 

networkx

cd /Users/yoshinobuhiroaki/Desktop/community/taynaud-python-louvain-1f09b889de46

python setup.py install

running install

running bdist_egg

running egg_info

creating python_louvain.egg-info

writing requirements to python_louvain.egg-info/requires.txt

writing python_louvain.egg-info/PKG-INFO

writing top-level names to python_louvain.egg-info/top_level.txt

writing dependency_links to python_louvain.egg-info/dependency_links.txt

writing manifest file ‘python_louvain.egg-info/SOURCES.txt’

reading manifest file ‘python_louvain.egg-info/SOURCES.txt’

writing manifest file ‘python_louvain.egg-info/SOURCES.txt’

installing library code to build/bdist.macosx-10.6-x86_64/egg

running install_lib

running build_py

creating build

creating build/lib

creating build/lib/community

copying community/__init__.py -> build/lib/community

copying community/community_louvain.py -> build/lib/community

copying community/community_status.py -> build/lib/community

creating build/bdist.macosx-10.6-x86_64

creating build/bdist.macosx-10.6-x86_64/egg

creating build/bdist.macosx-10.6-x86_64/egg/community

copying build/lib/community/__init__.py -> build/bdist.macosx-10.6-x86_64/egg/community

copying build/lib/community/community_louvain.py -> build/bdist.macosx-10.6-x86_64/egg/community

copying build/lib/community/community_status.py -> build/bdist.macosx-10.6-x86_64/egg/community

byte-compiling build/bdist.macosx-10.6-x86_64/egg/community/__init__.py to __init__.pyc

byte-compiling build/bdist.macosx-10.6-x86_64/egg/community/community_louvain.py to community_louvain.pyc

byte-compiling build/bdist.macosx-10.6-x86_64/egg/community/community_status.py to community_status.pyc

creating build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

installing scripts to build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts

running install_scripts

running build_scripts

creating build/scripts-2.7

copying and adjusting bin/community -> build/scripts-2.7

changing mode of build/scripts-2.7/community from 644 to 755

creating build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts

copying build/scripts-2.7/community -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts

changing mode of build/bdist.macosx-10.6-x86_64/egg/EGG-INFO/scripts/community to 755

copying python_louvain.egg-info/PKG-INFO -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/SOURCES.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/dependency_links.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/requires.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

copying python_louvain.egg-info/top_level.txt -> build/bdist.macosx-10.6-x86_64/egg/EGG-INFO

zip_safe flag not set; analyzing archive contents…

creating dist

creating ‘dist/python_louvain-0.4-py2.7.egg’ and adding ‘build/bdist.macosx-10.6-x86_64/egg’ to it

removing ‘build/bdist.macosx-10.6-x86_64/egg’ (and everything under it)

Processing python_louvain-0.4-py2.7.egg

Copying python_louvain-0.4-py2.7.egg to /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages

Adding python-louvain 0.4 to easy-install.pth file

Installing community script to /Users/yoshinobuhiroaki/anaconda/bin

Installed /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages/python_louvain-0.4-py2.7.egg

Processing dependencies for python-louvain==0.4

Searching for networkx==1.11

Best match: networkx 1.11

Adding networkx 1.11 to easy-install.pth file

Using /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages

Searching for decorator==4.0.10

Best match: decorator 4.0.10

Adding decorator 4.0.10 to easy-install.pth file

Using /Users/yoshinobuhiroaki/anaconda/lib/python2.7/site-packages

Finished processing dependencies for python-louvain==0.4

export PATH=$PATH:’/Users/yoshinobuhiroaki/Desktop/community/taynaud-python-louvain-1f09b889de46/build/lib/community’

import community
import networkx as nx
import matplotlib.pyplot as plt
G = nx.karate_club_graph()
partition = community.best_partition(G)
size = float(len(set(partition.values())))
pos = nx.spring_layout(G)
count = 0.
for com in set(partition.values()):
    count += 1.
    list_nodes = [nodes for nodes in partition.keys() if partition[nodes] == com]
    nx.draw_networkx_nodes(G, pos, list_nodes, node_size=20, node_color = str(count/size) )
plt.show()


Screenshot 2016-11-20 18.56.51.png

参考

http://qiita.com/ysekky/items/985cf01d21c742be92e3

Basics of webscraping using selenium

Firstly,you have to install selenium from PythonPackageIndex using pip command.

Ran the bellow code but an exception has occured.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# pyvirtualdisplayを用いる場合
from pyvirtualdisplay import Display
display = Display(visible=0, size=(1024, 768))
display.start()
driver = webdriver.Firefox()
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

Seemed like there was not any ‘geckodriver’ in PATH..

In the first place,you must get geckodriver installed if you don’t have it.

you can download it following the instruction  in the page bellow.

http://d.hatena.ne.jp/rougeref/20161014

Then,run the code bellow after ‘mkdir’ for geckodriver executable file.

export PATH=$PATH:’/Users/yoshinobuhiroaki/Desktop/geckodriverdir’

Screenshot 2016-11-14 17.09.05.png

Now,you can get the result like above if you successfully finished.

[Reference]

http://qiita.com/hiroseabook/items/c161462844aef87e0f0d

http://qiita.com/yasunori/items/7463b3ab3191d2fbbf1d