- 1. 「新型コロナ」で株価急落?Webスクレイピングで日経平均株価を取得してみた
- 2. Neural Collaborative Filtering (深層協調フィルタリング)を読んだ
- 3. Pythonで簡単な物理シミュレーションをして可視化してみる
- 4. Jupyter Notebookで!sudoマジックコマンドを実行する方法の備忘録メモ
- 5. VSCodeでPythonの補完が欲しいならMicrosoft Python Language Serverが最高な話
- 6. Django
- 7. WatsonAssistantのコンテントカタログ(Covid-19)をLanguage Translatorで翻訳してみた。
- 8. 【VueSlsApp】開発・運用ノウハウを詰め込んだサーバーレスアプリのサンプルを作りました
- 9. "X in list"(線形探索・二分探索)と"X in set"の計算時間について調べてみた
- 10. GCIデータサイエンティスト育成講座の演習問題を解く Chapter4
- 11. 【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第2回目))
- 12. 【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第1回目))
- 13. 【初心者向け】10行以内のスクリプト(8.foliumで地図のプロット【2】
- 14. 【Udemy Python3入門+応用】 57. デコレーター
- 15. Dockerで環境変数を設定してPythonに表示してみたよ
- 16. 【Python】listの使い方1
- 17. Azure DatabricksでPythonとword2vec(学習済)を使う
- 18. Ruby と Python で解く AtCoder ARC 059 C 最小二乗法
- 19. 【Udemy Python3入門+応用】まとめ
- 20. pythonで素数を判定
「新型コロナ」で株価急落?Webスクレイピングで日経平均株価を取得してみた
元記事:https://www.octoparse.jp/blog/scraping-stock-prices/
2020年1月に中国で感染が報告された新型コロナウィルス(COVID-19)は、世界に蔓延し、3月中旬には他国の感染者数が中国の感染者数を追い抜きました。各国で外出制限等が行われ、金融市場は大きく動き、実体経済も多くの国で大きく落ち込みました。新型コロナウイルスのパンデミックを受けて、株式市場の大幅な下落も生じています。
この記事では、1月から4月までの日経平均株価をスクレイピングしようと思います。今回はYahoo!ファイナンスのWebサイトの公開しているデータを利用します。以下URLで、日経平均株価データ過去4ヶ月分を参照できます。
https://info.finance.yahoo.co.jp/history/?code=998407.O&sy=2020&sm=1&sd=1&ey=2020&em=4&ed=30&tm=d
それでは、始めましょう!
#データ収集
PythonやAPIなどで株価データをスクレイピングすることがよくありますが、Pyt
Neural Collaborative Filtering (深層協調フィルタリング)を読んだ
# はじめに
[Neural Collaborative Filtering](https://arxiv.org/abs/1708.05031)という論文を見つけました。深層学習を協調フィルタリングに応用した論文です。協調フィルタリングの有名な手法にMatrix Factorization(MF)がありますが、MFはユーザーとアイテムの関係性を線形にしか表現できないという問題があります。この論文では非線形関数である深層学習を利用してユーザーとアイテム間の複雑な関係性を獲得しようと試みています。
論文が発表された当時は提案手法がSOTAだったらしいです。
# Matrix Factorization(MF)
下図のような評価値行列を考えます。$u$はユーザー、$i$はアイテム、行列の各要素$r_{ij}$はユーザーのアイテムに対する評価値です。Pythonで簡単な物理シミュレーションをして可視化してみる
# はじめに
先日いつものようにtwitterを徘徊していたら、高校における物理の履修率が20%ほどに低下している旨のツイート)を見かけました。物理屋だから言わせてもらうと、高校での物理履修率が90%からどんどん下がって20%とかになった時点で、モノ作りの国としては正直アウトなんですよね…日本病ですね。 https://t.co/JFrQXz5fbU
— 竹内薫 (@7takeuchi7) May 2, 2020
Jupyter Notebookで!sudoマジックコマンドを実行する方法の備忘録メモ
Jupyter NotebookはPythonの手軽な実行環境として大変便利であり、愛用しています。Python意外の言語が追加出来る上にノートブック上でLinuxコマンド(マジックコマンド)も実行可能です。
# 実行例
以下の様に`ls`コマンドや`cd`コマンドが実行出来ます。## lsコマンド
```bash
!ls
```## cdコマンド
```bash
%cd
```## pipコマンド
pipコマンドもマジックコマンドとして実行可能です。pandasをインストールする場合は以下のコマンドで実行可能です。Jupyter Notebookを使っている時に追加で必要なライブラリを追加する場合以下のコマンドを記載しておけばNotebookの共有時にも安心です。```bash
!pip install pandas
```# sudoが必要なコマンドも実行
ここから本題です。管理者権限(sudo)で実行が必要なコマンドを実行してみます。ここでは`apt`を実行してみます。Pythonのライブラリでは時々別途OSのパッケージマネージャーでアプリケーションをイ
VSCodeでPythonの補完が欲しいならMicrosoft Python Language Serverが最高な話
Pythonの補完には通常[Jedi](https://github.com/davidhalter/jedi)が使用されます。VSCodeでは通常、pipによりインストールできる[Python Language Server](https://github.com/palantir/python-language-server)を用いてJediを[LSP](https://microsoft.github.io/language-server-protocol/)に対応させることでPythonの補完を動作させています。
しかしながら、最近Microsoftの開発する[Microsoft Python Language Server](https://github.com/microsoft/python-language-server)なるものが存在することを知りました。こちらは、VSCodeのPython拡張機能を使っていれば簡単に導入することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazo
Django
#MTV(モデル・テンプレート・ビュー)概念
##モデル
モデルは、データベースと連携するためのファイル
Djangoでアプリを作ると自動で生成されるmodels.pyがこれに該当します。
一例ですが、models.py の記述の一例をあげてみます。
```python:models.py
from django.db import models# Create your models here.
CATEGORY_CHOICES = (
(1, '握り'),
(2, '軍艦'),
(3, '巻き'),
)class SushiModel(models.Model):
category = models.IntegerField(choices=CATEGORY_CHOICES)
name = models.CharField(max_length=50)
```
IDは自動生成されます。categoryやnameがデータベースでのカラム名になります。##ビュー
views.pyというファイルでDjangoが自動生成
WatsonAssistantのコンテントカタログ(Covid-19)をLanguage Translatorで翻訳してみた。
# 概要
- WatsonAsistantには、コンテントカタログという、インテントのサンプルデータが予め用意されています。
- この記事では、Language TranslatorとPython3を使用して、英語版のサンプルを日本語に変換する方法を説明します。
- また、実際に日本語コンテントカタログとして問題なく利用できるのか見解を共有します。---
# 前提
- Python3はインストール済
- IBM CloudとWatsonAssistantは既に利用している。
- PCはWindows10を使用している。---
# WatsonAssistantのコンテントカタログに「Covid-19」が追加されてた。
WatsonAssistantを利用することが少なくなっていたのですが、久しぶりに使ってみたら、コンテントカタログに、「Covid-19:Common questions about the Covid-19 virus.(コロナウィルスの一般的な質問)」が追加されていました。
いつ頃追加されたのか分からないですが、なんとなくコロナウィルスの問い合わせ対応に使
【VueSlsApp】開発・運用ノウハウを詰め込んだサーバーレスアプリのサンプルを作りました
注:本記事はnote記事の転載です。内容の更新があった場合noteのほうを更新します。qiita記事が古くなってきている場合、noteもご確認ください。
https://note.com/thiroyoshi/n/na16112b4ec1b
---
これまでの自分のサーバーレス開発のノウハウを詰め込んで、開発から運用までを見据えたアプリのベースとなるようなサンプルアプリを作りました。
デプロイしてあるので、以下から実際に触ってみてもらえます。
https://vueslsapp.thiroyoshi.com/ソースは以下で公開しています。
https://github.com/thiroyoshi/vueslsapp## 作った動機
**本番で使えるサーバーレスアーキテクチャのフレームワークを作りたかった**
一言でいうと、これに尽きます。
これまで仕事でサーバーレスアーキテクチャでアプリの開発をしてきて、自分の中にノウハウがいろいろ溜まっている実感はありました。
ハッカソンに出たり、自分でアプリ作るのも好きなんですが、時間が潤沢にあるわけではないので、もっと
"X in list"(線形探索・二分探索)と"X in set"の計算時間について調べてみた
#背景
先日のAtcoderでのABC167において、次の問題でTLEを連発しました。
・[ABC167D-Teleporter](https://atcoder.jp/contests/abc167/tasks/abc167_d)順番に町をテレポートして、ループになった時点でやめ、残り回数は
modを使って求めればいいということに気づいたのですが、ループになる ⇔ 再び同じ町にたどりつく ⇔ 訪れた町のリストの中にすでにある
と考えればいいと思い、Pythonで`X in list`を使って処理しようとして時間がかかっていました。
結局代わりに`X in set`を用いればいいことに気づき通しましたが
そんなに速度が変わるものなのか気になったので調べた結果をまとめました。#set型とは
Pythonの[公式ドキュメント](https://docs.python.org/ja/3/library/stdtypes.html#set-types-set-frozenset)より引用
>set オブジェクトは、固有の hashable オブジェクトの順序なしコレクションで
GCIデータサイエンティスト育成講座の演習問題を解く Chapter4
# GCIデータサイエンティスト育成講座
「[GCIデータサイエンティスト育成講座](http://weblab.t.u-tokyo.ac.jp/gci_contents/)」は、東京大学(松尾研究室)が開講している"*実践型のデータサイエンティスト育成講座およびDeep Learning講座*"で、演習パートのコンテンツがJupyterNoteBook形式で公開(CC-BY-NC-ND)されています。
Chapter4は「**確率と統計の基礎**」で、確率と統計の基礎知識を習得していきます。
日本語で学べる貴重で素晴らしい教材を公開いただいていることへの「いいね!」ボタンの代わりに、解いてみた解答を載せてみます。間違っているところがあったらご指摘ください。# Chapter4 確率と統計の基礎
## 4.1 確率・統計の基礎
### 4.1.1 確率
> #### <練習問題 1>
> コインの表裏をそれぞれ0と1に対応させるデータを作成してください。また、コイン投げの試行を1000回した時の、表裏のそれぞれの出る確率を実装してください。```py3
fr
【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第2回目))
### 【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第2回目))
ほぼ、備忘録**サンプルデータで止まっている人向け、statsmodels(OLS)入門**
statsmodelsで回帰のサンプルをやってみて、自分で作ったデータで止まっている人向けの入門記事です。
このスクリプトで想定しているケースは、架空の飲食店(バーやスカイラウンジーの想定)で、商品の大分類や客単価、来店人数等が記録された架空の売上データがあったとして、売上が多い日には何か傾向があるのだろうか?という設定です。
***
【環境】
Linux: debian10.3
python: 3.7.3
pandas: 1.0.3
statsmodels: 0.11.1
jupyter-lab: 2.1.0以下の様な、csvファイルがあったとして
Date,earnings,customer,earnings_customer,fortified_sweet,rum,brown_spirits,mojito_rebji
【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第1回目))
### 【初心者向け】回帰モデルの自前データで止まっている人向け(statsmodels(第1回目))
ほぼ、備忘録**サンプルデータで止まっている人向け、statsmodels(OLS)入門**
statsmodelsで回帰のサンプルをやってみて、自分で作ったデータで止まっている人向けの入門記事です。
最近、データの予測をはじめまして、時系列の分析としてfacebookのprophetは、やってみたところ、用意したデータも少なく、精度はまだ未知数ですが、ともかくひとまず動きました。基本だと思われるstatsmodelsやsklearnで回帰を始めたところ、自分でデータを作ったところで、エラー等が出て止まっておりました。
statsmodelsの公式サイトを見たり、色々なサイトを参考にして、少しずつ進めていったところ、なんとかほぼ想定どおり動いたようです。
モデル適用のところで、渡すデータで止まっていました。
自作のデータで、なんとか想定に近い動きになった為、投稿したいと思います。このスクリプトで想定しているケースは、架空
【初心者向け】10行以内のスクリプト(8.foliumで地図のプロット【2】
### 【初心者向け】10行以内のスクリプト(8.foliumで地図のプロット【2】)
pythonで色々なライブラリを使えば、「少ないコードでもちょっとした事が出来て、少なければ5行程でもちょっとしたスクリプトが作れ、便利だな。」と思ったので、pythonやその他、コマンドを羅列しただけのものも出てくるかも知れませんが、10行程のスクリプトを不定期で投稿してみようと思います。**第8回**として、以前、「foliumで銀座周辺の地図をマーカー付きで3ヶ所プロットするスクリプトを投稿したのですが、事前に場所と緯度・経度をcsvで用意してプロットする様にしてみました。
拠点が多い場合は、この方法が可読性・メンテナンス性が良さそうです。
このスクリプトでは、以下3ヶ所をプロットしました。
- 有楽町駅: 位置情報【35.6749187,139.7606366】
- 銀座コリドー街: 位置情報【35.6703699,139.7573871】
- Ginza-SIX: 位置情報【35.6695908,139.7618857】【環境】
【Udemy Python3入門+応用】 57. デコレーター
**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ "現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル")」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun "酒井潤")さんから許可をいただいた上で公開しています。**##■デコレーターの基本
#####◆デコレーターを使わずに書くと
```python:non_decorator
def add_num(a, b):
return a + bprint('start')
r = add_num(10, 20)
print('end')print(r)
```
```:result
start
end
30
```
`add_num()` を呼び出すだけでなく、その前後などでなにか追加で行いたいとき、「デコレー
Dockerで環境変数を設定してPythonに表示してみたよ
# 目標
docker runコマンドの際に設定した環境変数を、コンテナ内のシェルスクリプトで実行したPythonでprintする。# 想定
お仕事でAmazon ECSで環境変数(SMTPサーバー情報など)付きのdocker runコマンドを定時実行し、Pythonで環境変数を基に渡されたSMTPサーバー情報を基にメール定時送信システムを構築中。そのための自宅でのお試し環境変数いじり。# 環境
PC:windows 10 home
docker tool-box```
$ docker version
Client:
Version: 19.03.1
API version: 1.40
Go version: go1.12.7
Git commit: 74b1e89e8a
Built: Wed Jul 31 15:18:18 2019
OS/Arch: windows/amd64
Experimental: falseServer: Dock
【Python】listの使い方1
#はじめに
とみーさんのブログの[Python入門者のための学習ロードマップ](https://obgynai.com/python-roadmap/)に沿ってPython学習を進めています。
今回は[【Python入門】list(リスト)の使い方の総まとめ(前編)](https://obgynai.com/python-list-1/)の前半を扱います。#対象者
- とみーさんブログで学習中の方
- listの使い方の概要を知りたい方#環境
Google Colaboratory#学習内容
1. リストの作り方と参照方法
リストは**シーケンス型でミュータブル**2. タプル、rangeはイミュータブル。タプル変数をlist()で囲って、新しい変数にできる
3. listにlistも入れられる
#1
``list_num = [1,2,3,4]`` ←1,2,3,4でlist作って
``print(list_num)`` ←list_num表示で
[1, 2, 3, 4]``list_mix = [1,'dog',2,'cat']``
``print(lis
Azure DatabricksでPythonとword2vec(学習済)を使う
# 本記事の目的
Azure Databricksで学習済のword2vecを使った処理を実行したい。
これまでローカル環境でPythonからword2vecを使っていたが、コピペで動くかと思いきや意外とハマったので書き残しておく。先に結論を書くと、
**・学習済モデルをアップロードしたBLOBをdatabricksにマウントしてloadすればよい**
**・loadするときにwith openコマンドを使わないと「ファイルが見つからない」エラーが出るので注意**# word2vec概要
### word2vecで単語の類似度を数学的に扱える
その名の通り、単語をベクトルに変換する。自然言語処理をするのであれば必須の超重要技術。
単語というただの文字列を、数学的に扱えるようにするためにベクトルに置換する。「ごはん」「機械学習」「ディープラーニング」
↓ ↓ ↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596092/c16c88e8-c46b-f
Ruby と Python で解く AtCoder ARC 059 C 最小二乗法
# はじめに
*[AtCoder Problems](https://kenkoooo.com/atcoder/#/)* の Recommendation を利用して、過去の問題を解いています。
AtCoder さん、AtCoder Problems さん、ありがとうございます。
# 今回のお題
*[AtCoder Regular Contets C - いっしょ](https://atcoder.jp/contests/arc059/tasks/arc059_a)*
Difficulty: 656今回のテーマ、最小二乗法
# Ruby (全探索)
問題文を読んでもちょっと分かりづらいのですが、出力例の説明を読みますと、*[最小二乗法 -wikipedia](https://ja.wikipedia.org/wiki/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%97%E6%B3%95)* で傾きが`0`の1次関数をイメージすることが分かります。
まずは、`−100≦a[i]≦100`と計算量が少ないので率
【Udemy Python3入門+応用】まとめ
**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ "現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル")」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun "酒井潤")さんから許可をいただいた上で公開しています。**[8. 変数宣言](https://qiita.com/cyrus_qiita/items/bfe0c39b812de5b3dbf7)
[9. まずはprintで出力](https://qiita.com/cyrus_qiita/items/cfa484d2de1c9c216348)
[10. 数値](https://qiita.com/cyrus_qiita/items/4556bcacbc1c95bb7c50)
[11. 文字列](https://qiita
pythonで素数を判定
#Sympyの関数を使う(おすすめ)
```python
from sympy import isprime
isprime(11)
``````python:実行例
print(isprime(11))
print(isprime(12))
``````shell:実行結果
True
False
```ただし,(理由があるのかもしれないが)引数がfloat形式だと常にFalseを返すようになるので,intに変換する必要がある
```python:実行例
print(isprime(11))
print(isprime(11.0))#引数をint型に変換する
print(isprime(int(11.0)))
``````python:実行結果
True
False
True
```#関数を自作する場合
```python
import mathdef isprime(x):
if x == 1:
return False
if x == 2:
return True
for i in ran