Python関連のことを調べてみた2020年05月17日

Python関連のことを調べてみた2020年05月17日

【初心者向け】結局、ゼロから作るDeepLearningにはなにが書いてあるのか?

#かなり売れてるらしい

オライリー・ジャパンから出版されている「ゼロから作るDeepLearning〜Pythonで学ぶディープラーニングの理論と実装〜」

かなり売れているらしいです。

今回はこの本に何が書いてあるのかをざっくりと紹介します。

買おうか悩んでいる方へ、指標の1つとなれれば幸いです。

![IMG_0569.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458623/7932b079-eba5-0ced-19ab-54502d078146.jpeg)

この本は、ディープラーニングを理解するために必要な知識を、初歩的なことから一つひとつ説明しているとてもやさしい本です。

ディープラーニングって結局何なの?どういう特徴があるの?どういう原理で動いているの?などが分かりやすく解説してあります。

この本には8つの章があります。

![IMG_0543.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0

元記事を表示

AtCoder Beginner Contest 105 過去問復習

#所要時間
スクリーンショット 2020-05-16 13.48.21.png

#感想

用事があり最後まで終わらすことができませんでしたが、冷静になれば時間がなくても速解きで終わらせることのできるセットだったと思います。
こういうセットの時はしっかり取り切れるといいですね。

#[A問題](https://atcoder.jp/contests/abc105/tasks/abc105_a)

煎餅の枚数の差を少なくする場合、その差は高々1枚になります(証明はしませんが、明らかだと思います。)。
したがって、その差が0枚になる場合を考えますが、この場合はnがkで割り切れます。これを出力すれば以下のようになります。

“`python:answerA.py
n,k=map(int,input().spl

元記事を表示

Twitterに投稿された新型コロナウィルスに関するツイートを分析してみた その2

# 概要
[前回](https://qiita.com/mazui_tapioka/items/27fa722788b642e8926f)の続きです。

前回構築したデータセットを拡張して、さらに分析を進めていきます。

この記事の目標は以下の2点です。

– 新型コロナウィルスに関して、Twitterではどのように話題が変化しているか把握する
– ツイートの内容を定量化しRT数を予測することで、ツイートの内容とユーザの関心について洞察を得る

上記の目標に関して、Twitterに投稿されたツイートデータを分析していきます。

# データの詳細
本記事で用いるツイートデータは,2020年1月1日~2020年**4月30日**までの間に投稿された,「コロナ」「COVID-19」「感染症」のいずれかを含むツイートです.
データセットに含まれるツイートは、いずれも100回以上RTされています。

(前回のデータセットから新たに29日分のツイートをデータセットに加えました。)

データセットのサイズは、前回: 47071 -> 今回: 79562 となりました。

駆け出しエンジニアの機械学習メモ その1

#はじめに
「ゼロから作るDeep-Learning」の学習メモその1です。

#忘れがちなスライス操作
* [start:step:stop]で表示する数値の操作を行える。

“`java:スライス
x=[1,2,3,4,5]
# 全表示
x[:]
# 1から2まで
x[0:2]
# 1、3、5の2個飛ばし
x[::2]
# 逆順、-2にすると逆から2個飛ばし
x[::-1]
“`
# Numpy 形状の一致
* これが分かっていないとデータ前処理ができない

“`java:numpy
# 3×2 の形
A = np.array([[1,2],
[3,4],
[5,6]])
# 2×1 の形
B = np.array([7,
8])
# 内積計算
np.dot(A,B)
>>>array([23,53,83])
“`

#ニューラルネットワークの実装(3章)
* Google Colaboratoryを使用しているためGoogleドライブのマウントが必要、これをしなければ別のPythonファ

元記事を表示

gitbashのpythonで対話モードに入れない状態からコマンドに戻る方法

#gitbashのpythonで対話モードに入れない状態からコマンドに戻る方法

gitbashでpythonの対話モードに入ろうとして`python`とうつと、対話モードにも入れず、コマンドにも戻れず、そこに居座る状態が続く。

`ctrl+c`、`esc`、`exit()`などでも抜けられず、適当にキーボードで入力してたりEnterを押してると抜けられる。

↓この状態

“`
$ python

o

ora

oraora

oraoraora

#抜けられない、、、
“`

##pythonから抜ける方法
`スペース+文字+Enter` 
これで抜けられる。

**↓「 a」を入力しEnter**

“`
$ python
a
File ““, line 1
a
^
IndentationError: unexpected indent

$
“`

エラーで抜けてるけど、正しい方法が他にあるのかな?

##(補足)gitbashでpython対話モードに入る方法
冒頭に`winpty`をつける。コレだけ。

“`
$

元記事を表示

gitbashでpythonの対話モードの使い方

#gitbashでpythonの対話モードの使い方

gitbashでpythonの対話モードに入る方法です。

Windowsのpowershellだとシンプルに`python`と入力すれば対話モードに入るもののgitbashでは入れない。

##winpty
コマンド冒頭に`winpyty`をつける。
 └ `winpty python`これだけでOK

“`
$ winpty python
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AM
D64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
“`

対話モードから抜けるときは`exit()`
 └ カッコ必須

“`
>>> exit()
“`

##ipython
pythonの対話モードで処理を実行するのであればipythonがおすすめ。
whileやfor文のインデン

元記事を表示

pythonでは代入演算子 ++, –が使えない(phpとの違い)

#pythonでは代入演算子 ++, –が使えない

phpやJacaScriptで使える、「++」と「–」がpythonでは使えない。
使おうとすると構文エラーになる。

##エラー

“`python:
i=0;
while i<5: print(i) i++ #出力 i++ ^ SyntaxError: invalid syntax ``` ##対処法 `i+=1`, `i-=1`を使う ```python: i=0; while i<5: print(i) i+=1 #出力 0 1 2 3 4 ``` | 処理 | python | php | JavaScript | |:-:|:-:|:-:|:-:| | i++ | - | ◯ | ◯ | | i+=1 | ◯ | ◯ | ◯ | | i=i+1 | ◯ | ◯ | ◯ | | i-- | - | ◯ | ◯ | | i-=1 | ◯ | ◯ | ◯ | | i=i-1 | ◯ | ◯ | ◯ |
for文でi++使えないのかと思ったら

元記事を表示

【python】while文の注意点(書き方と無限ループ)

#【python】while文の注意点(書き方と無限ループ)

pythonのwhile文の書き方メモ。

##基本構文

“`python:
初期値
while 条件:
処理
 ステップ
“`

– for文と異なり、初期値をwhile文の外で定義。
– while文の後ろに「:」をつける(「;」ではない)
– while文の中はインデント(TABキー)
– 処理やステップの後ろに「;」不要

▼初期値5から1まで5回処理を繰り返す

“`python:
i=5;
while i>0:
print(i)
 i -= 1

//出力
5
4
3
2
1

“`

##無限ループ
###ステップ(数値増減)の定義し忘れ
条件式がtrueになり処理が繰り返される。

“`python:
i=5;
while i>0:
print(i)
“`

###ステップをwhile文の外で定義
whileの中で数値が変化しないので、永遠に繰り返される。

“`python:
i=5;
while i>0:
print(i)
i-=1
“`

元記事を表示

herokuでselenium利用時にクラッシュする場合の解決方法

# herokuでselenium利用時にクラッシュする場合の解決方法
## はじめに
herokuでseleniumを利用する方へ向けた、クラッシュする場合の解決方法を記載しました。

## 発生事象
heroku上でseleniumを実行時に下記のようなエラーが発生しました。

“`
Running python manage.py task on ⬢ xxxxx… up, run.9999 (Hobby)
Message: unknown error: session deleted because of page crash
from unknown error: cannot determine loading status
from tab crashed
(Session info: headless chrome=81.0.4044.129)
“`

## 解決方法
調べてみると、メモリ不足によるクラッシュのようです。
そのため、メモリ不足にならないように、seleniumを省メモリ化する対策をとればよさそうです。

### 1. seleniumの引数に省

元記事を表示

tkinterを使ってpython GUIを作る

tkinterの使い方メモです

## パネルを表示する

オブジェクト作ってmainloop()すると表示しながら待機状態に入ってくれます。

“`python:python
import tkinter as tk
root = tk.Tk()
root.mainloop()
“`

## パネルの大きさを設定

“`python:python
root = tk.Tk()
root.geometry(“500×320”)
root.mainloop()
“`

元記事を表示

CythonによるPythonの高速化を検証・分析してみた

# はじめに

動的型付けに分類される言語「Python」には、PythonコードをC/C++ に変換しコンパイルを行う「Cython」やJITコンパイラを使ってPythonを高速化するモジュールである「Numba」等があります。
これらを研究やインターンで利用しているPythonコードに上手く組み込むことで効率化を図りたいと考え、理解を深めるために実際の簡単な処理に対する処理速度の比較検証をjupyter上で行ってみました。

本記事はCythonの入門記事ではありません。Cythonとは何か?基礎的な知識、利用法等を知りたい場合は以下の記事をお薦めします。

– [cython入門](https://qiita.com/en3/items/1f1a609c4d7c8f3066a7)
– [深入りしないCython入門](https://qiita.com/pashango2/items/45cb85390193d97523ca)

意見や誤りがありましたらご気軽にコメントください。
実験コードは[コチラ](https://colab.research.google.com/dr

元記事を表示

pythonで一から画像処理 (5)フーリエ変換

基本となる画像処理を一から勉強していくシリーズ (5)。

OpenCV-Pythonチュートリアルを参考に、
画像認識本 https://www.amazon.co.jp/dp/4061529129/
でやっている処理の理解を進める方針です。

# 目次

1.環境
2.フーリエ変換
3.ハイパスフィルタ
4.ローパスフィルタ

# 環境

Python 3.7.0
OpenCV 4.1.0
Jupyter Notebook

# フーリエ変換
グレイスケールのガイコツ画像に対して、2次元離散フーリエ変換 (DFT) を適用。
中心に白い領域が集中していて、低周波成分を多く含んでいる。

“`python:fourier.py

import cv2
import numpy as np
from matplotlib import pyplot as plt
from pylab import rcParams
%matplotlib inline
rcParams[‘figure.figsize’] = 25, 20

#grayscaleで読み込み
img = cv2.imr

元記事を表示

機械学習を用いた因果推論(因果推論手法の整理)

# 機械学習を用いた因果推論
> 近年盛んにおこなわれている機械学習の手法を用いた因果推論についていつ利用するかの大まかな理解とメモ(備忘録)
> 基本的には現在の因果推論手法のフローチャート的まとめ

## はじめに
因果推論とは、結果に対する原因を答えることを目的とした一連の統計的手法である。一般に回帰分析などの統計的アプローチでは、Xの変化がYの変化とどのように関連しているかを定量化することに重きをおいている。一方で統計的因果推論は、Xの変化がYの変化を引き起こすかどうかを判断し、この因果関係を定量化することに重きをおいている。近年盛んである機械学習と因果推論の融合分野は、このうち特定の条件下における因果効果の推定に用いられる。今回は既存の因果推論の手法と機械学習を用いた手法の使い分けを大まかに整理した。

> 当然だが有するデータに対して「何を、なぜ知りたいか?」を明確にしてから分析していく。
> でないと、取るべき戦術が見えてこない。

## 因果推論の一般的戦術
因果推論は様々な方針が取られている。そのため自身が有するデータから因果推論をおこなうには様々な方法が考えら

元記事を表示

Python: 自然言語処理

# 自然言語処理の基本

## 自然言語処理の概要

“`
自然言語(NL, Natural Language)
“`
とは、日本語や英語のような 自然発生的に生まれた言語 のことを指し
プログラミング言語のような

“`
人工言語(Artificial Language)とは対比の存在です。
“`

“`
自然言語処理(NLP, Natural Language Processing)とは
“`
人間が日常的に使っている 自然言語をコンピュータに処理させる技術 のことです。
自然言語処理を用いたタスクには、文書分類・機械翻訳・文書要約・質疑応答・対話などがあります。

自然言語処理でよく使われるワードとして、以下のようなものがあげられます。

“`
トークン:自然言語を解析する際、文章の最小単位として扱われる文字や文字列のこと。

タイプ:単語の種類を表す用語。

文章:まとまった内容を表す文のこと。自然言語処理では一文を指すことが多い。

文書:複数の文章から成るデータ一件分を指すことが多い。

コーパス:文書または音声データにある種の情報を与えたデータ。

シソー

元記事を表示

QTableWidget の指定列をReadOnly にするStyledItemDelegate

備忘録かつ添削をお願いしたく投稿します。
C++の例を書き換えたStyledItemDelegateを書いてみました。
ReadOnlyStyledItemDelegateです。

“`python:ReadOnlyStyledItemDelegate.py
from PySide2.QtWidgets import QStyledItemDelegate

class ReadOnlyStyledItemDelegate(QStyledItemDelegate):
def __init__(self, parent=None):
super().__init__(parent)

def createEditor(self, parent, option, index):
return None
“`
特定列更新不可は実務的には必要な機能だろうと思います。
C++の例がnull返しなのだから、Noneで良いのでは?という程度の理解で書いてます。
createできないのだからdelegateが実装すべき後の機能は親任せで良いだろうとい

元記事を表示

ゼロから始めるLeetCode Day27「101. Symmetric Tree」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day26「94. Binary Tree Inorder Traversal」](https://qiita.com/KueharX/items/13b85b716d185698d077)

基本的にeasyのacceptanceが高い順から解

元記事を表示

pythonでシステム環境変数を読み込む-その1

# 概要・目的
`os.environ`を使ってシステム環境変数を取得する。
アプリケーション内で使用する設定情報は設定ファイル等に書いてDIできるようになっているが、
設定ファイルの数が多い、または開発状況(develop-staging-release)が複雑な場合は
メンテナンスコストが増大し、ミスする可能性がアップする。
システム環境変数に設定情報を保持することで、設定ファイルのメンテナンスコストを下げることはできないかと考え、
システム環境変数を利用するプログラムを調べてみた。

## os.environについて深掘り

`os.environ`はシステム環境変数を辞書型で保持している。
pythonが実行されるまでのシステム環境変数を参照できる。
[osライブラリ](https://docs.python.org/ja/3/library/os.html)

## システム環境変数を取得するには

システム環境変数を取得するには、`os.environ`にシステム環境変数名を指定する。
コマンドプロンプト上で実行した`SET %システム環境変数名%`と同じ結果となる。

元記事を表示

算数教具「ジャマイカ」を再現しよう❗️ vol.03 「ジャマイカの解探索を目指して 〜第1戦目〜」

# はじめに

このシリーズは、とある**算数教具「ジャマイカ」**について、
以下の目的を達成するべく奮闘する記録です。

**✔︎ 1.** ***「ジャマイカ」のゲームを画像表示などを用いたプログラムで動かせるようになる。***
**▶︎ 2.** ***「ジャマイカ」におけるサイコロの任意の組み合わせについて、解の存在とその内容を探索・提示するプログラムを作る。***

# 前回までのおさらい

前回までは、以下の内容を扱いました。

***§1. 「ジャマイカ」を再現する***
 ***Task.001 「サイコロの出目」を画像で表示する***
 ***Task.002 「ランダムな数字に合わせてサイコロ出目画像を表示する」***
 ***Task.003 「サイコロ出目画像表示のための関数を作る」***

これにより、

– サイコロをランダムに振る
– 振っ

元記事を表示

Pythonで脳波解析:Python MNEのチュートリアル

[Python MNE](https://mne.tools/stable/index.html)はオープンソースの脳磁図(MEG),脳波(EEG)の解析や可視化のツールです.多くのデバイスのデータフォーマットに適用できるため,汎用性が高いと言えるでしょう.この記事では,[最もベーシックなチュートリアル](https://mne.tools/stable/auto_tutorials/intro/plot_10_overview.html#sphx-glr-auto-tutorials-intro-plot-10-overview-py)に沿って,MEGとEEGのMNEによる解析手順を説明します.

# 実行環境
* Mac OS 10.15.3
* Python 3.6.5
* mne 0.20.4

# インストール
[Anaconda](https://anaconda.org/conda-forge/mne)でも[pip](https://pypi.org/project/mne/)でもインストールできます.[公式ページ](https://mne.tools/stable/i

元記事を表示

基底クラスのgetterプロパティに派生クラスでsetterとdeleterを追加する場合の注意点

次の例は、基底クラス`Foo`のgetterプロパティ`x`に派生クラスでsetterを追加する方法です。

“`python

class Foo:

def __init__(self):
self._x = “I’m Foo.x”

@property
def x(self):
return self._x

class Bar(Foo):

@Foo.x.setter
def x(self, value):
self._x = value
“`

実行すると、次のようになります。

“`
>>> b = Bar()

>>> b.x
“I’m Foo.x”

>>> b.x = “I’m Bar.x”

>>> b.x
“I’m Bar.x”
“`

さらに、deleterを追加する場合は、次のように書きます。

“`python
class Foo:

def __init__(self):
self._x = “I

元記事を表示

OTHERカテゴリの最新記事