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

Python関連のことを調べてみた2021年09月17日
目次

Flat UI ColorsのWebサイトをスクレイピングしてRGB値を抽出してみよう

# はじめに

僕は普段アプリの配色を考えるときに[Flat UI Colors (https://flatuicolors.com/)](https://flatuicolors.com/)を参考にしています。このサイトの配色に従うことで、色の選択に悩むことが少なくなり、整った印象を持つアプリが作れるようになります。

Defo.png

このサイトはワンクリックでHEX値やRGB値などをコピーできるように作られていて便利なのですが、それでも毎回サイトからコピーするのはわりと面倒です。

*「エンジニアならもっと楽したい…。ならば、Flat UI ColorsをスクレイピングしてRGB値を抽出し、ソースコードファイルに変換してしまおう」*

という発想です。

元記事を表示

SPSS Modelerの決定木ノードをPythonで書き換える。信用リスクの判定

SPSS Modelerの決定木ノードのCARTをPythonで書き換えます。

#0.データ
以下のようなデータを用いて決定木モデルを作ります。

目的変数
Credit_rating:信用リスク

説明変数
Age:年齢
Income:収入ランク
Credit_cards:クレジットカード枚数
Education:学歴
Car_loans:車のローン数

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/1f0049e8-65ac-26c0-41d8-a670f9e1eb6e.png)

年齢や収入ランクから信用リスクを判定するモデルを作ります。

#1m.①説明変数、目的変数の定義 Modeler版

まず、データ型ノードで説明変数、目的変数の定義を行う必要があります。
「値の読み込み」ボタンをクリックし、Credit_ratingのロールを「対象」(目的変数の意味)を設定します。Age、Income、Credit_cards、Education、Car_loansは「

元記事を表示

[Python]FastAPIのチュートリアルをやってみた

タイトルの通りですが、[FastAPIの公式ドキュメント](https://fastapi.tiangolo.com/ja/)にチュートリアルがあったので、一通りやってみました。

私自身は最近プライベート([Pythonチュートリアルをやってみた](https://qiita.com/momonoki1990/items/b85b2b8d006084184449))や業務でPythonを触り始めたばかりで、Pythonのフレームワークを扱ったことはありません。

Pythonのフレームワークといえば、DjangoやFlaskというイメージでしたが、「自動ドキュメント生成機能がすごいらしい」と聞いて気になっていたので、FastAPIを触ってみることにしました。

## FastAPIとは

[Python 製 Web フレームワークを Flask から FastAPI に変えた話](https://note.com/navitime_tech/n/nc0381517d067)

[[FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する](http

元記事を表示

matplotlibの2DヒストグラムでX軸、Y軸、Z軸をログ表示する方法

# 使い所

matplotlib の 2Dヒストグラムで、全軸(X, Y, Z) をログ表示する方法を紹介する。 (横縦軸が log-log の 2dhist で zscale も log の図という意味です。)

## pcolormesh を使う方法

“` python:
# -*- coding: utf-8 -*-
“””2dhist_log_log_log.ipynb
Original file is located at https://colab.research.google.com/drive/1VGo0WdmmUfxqnLdrWVJ98ZO4rJj0oX58
xscale log, yscale log, zscale log, for 2dhist using pcolormesh
“””

import numpy as np
from matplotlib.colors import LogNorm
import matplotlib.cm as cm
import matplotlib.pyplot as plt

# create sample

元記事を表示

【機械学習】「橋本環奈ちゃん画像判別アプリ」を実装してみる

# はじめに
フリーランスとしてスマホ(iOS – Swift/Objective-C)アプリ/Webアプリ(Python2x/3x)開発を12年ほどやっていますJinanbouと申します。
昨今話題の「機械学習」に対し、アプリ開発経験者がどこまでモノに出来るのか挑戦したく始めてみました。

初めは独学でネット上の情報を元にPyTorchやTensorflowのサンプルコードを動かしたりしていましたが、基本的なことが理解できていないため、サンプルコードから発想をもって拡張していくことが全く出来ず、

**・Tensorflowやkeras、scikit-learnといったツールの使い方だけでなく、機械学習に必要な基礎知識やアプローチの仕方**

を学ぶべく、Aidemyのプレミアムプラン( https://aidemy.net/grit/premium/ )3ヶ月で学習を行いました。
本記事は、Aidemyの卒業時の提出用アプリケーションとして実装したものとなり、3ヶ月程度でこれくらいの知識が得られたことの軌跡として残したいと思いました。

# 本記事の概要
・この記事では、橋本環奈ち

元記事を表示

Python分析に便利なDockerfile

#初めに
 この記事は、自分用に作成したPython分析環境を共有するために書いています。Pythonで分析する際は、テーブルデータや画像、自然言語等が主な対象データになると思いますが、今回作成したDockerfileは、Conda、OpenCV、MeCabをインストールする構成にしたので、色々な分析のBaselineにすることが可能です。(自然言語処理をしない場合はMeCab部分のコードを消す等してください。)

 次の章から、作成した環境について説明をしていきますが、Docker等の単語の意味をここでは説明しません。Qiita には良質な解説記事が多くありますので、基本的な単語については、そちらを参考にしてください。

#環境
 検証した環境を以下に示します。仮想環境には WSL2 ではなく、VirtualBox を使いました。WSL2 は別のマシンで環境構築した際に苦戦した思い出があるので、今回は VirtualBox + PowerShell で実施しています。

・Windows 10 Pro 64bit
・Docker Desktop 4.0.0 (67817) ([Dow

元記事を表示

【Python Django】マイグレーション(DB)をロールバック、元に戻す

Djangoはマイグレーションファイルからテーブルの定義変更や追加する機能がDjango ORマッパーにあります。さらに「ロールバック」つまり、マイグレーションファイルをもとにデータベースを前の定義に戻すこともできます。

用途としては、

– チームで開発してて、migrateした後に「こっちに修正した方が良くない?」と言われたので修正必要
– migrateしたけど、定義抜けてたからロールバック(戻して)定義追加し直したい

などに使えます。
ある程度Djangoで開発していくなら必須の知識ですね!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/e01c93ce-0bc6-1984-da1d-354054ad3484.png)

DjangoのDB・モデルの基礎は以下のように書いてますので良ければ

https://qiita.com/Bashi50/items/280bc341eeec5d7f8797

今回以下の記事のmodel定義を使用して記事作成しました。

元記事を表示

cartopyでurllib.error.URLErrorが出た時の対処

私,初心者です.内容にはご注意.また,異なる理由で同じエラーの出る場合もあるかもしれないので,ひとつのケースとして参考までに.

# バージョン
確認できたものだけ(真面目に全バージョン検証したわけでない)
cartopy 0.19.0.post1

# 解決
… /miniconda3/lib/python3.9/site-packages/cartopy/io/shapereader.py
ないの300行くらいのところにある`_NE_URL_TEMPLATE`のアドレスを書き換える

修正前

“`python3
_NE_URL_TEMPLATE = (‘https://naciscdn.org/naturalearth/{resolution}’
‘/{category}/ne_{resolution}_{name}.zip’)
“`

修正後

“`python3
_NE_URL_TEMPLATE = (‘https://naturalearth.s3.amazonaws.com/’

元記事を表示

Classiのメッセージを日付で絞り込む

Classiは学校向けのSNS(?)で先生からの連絡、課題提出等さまざまなことができるアプリです。
とても便利なアプリですが、情報量が多くなってしまうという欠点があります。

今回は情報量を絞り込むために、メッセージを絞り込める様にしました。

使用したもの
・jupyter lab
・python

注意:初心者が作ったものなのでいわゆるクソコードになっております。ご了承ください。

“`python:auto_classi.ipynb

!pip install selenium
!brew install chromedriver

from selenium import webdriver
from time import sleep

# 関数
def spliter(): #メッセージごとに境界線を書く
print(“\n”+
“———————————————————————————————————-

元記事を表示

「自動化ツール」活用は、これからのデータ分析スキル向上の鍵だ!(と思う)

###~データを放り込むだけで、データ前加工 ⇒ 学習 ⇒ モデル選択 ⇒ モデル構築 ⇒ 予測 までほぼ自動って・・・どうなってんの?!~

>2021/09/17:(試行)5回目の結果を追加

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1275001/891481a5-2391-e990-85ac-fcf029fac264.png)

 
##はじめに
機械学習自動化ライブラリ「**PyCaret**」は、未来にワープしたかのような衝撃があります。

ご存じない方のために、
できるだけ専門用語はさけ、私なりに魅力をお伝えしつつ、あるデータセットで**PyCaret**を適用、奮闘した記録を報告させていただきたいと思います。

##PyCaretってなに?
 
**PyCaret**はPythonライブラリのひとつです。

ホームページでは以下のように謳われています。
>”PyCaret is an open source, low-code machine learning l

元記事を表示

【Python】importが必要なPythonをAWS Lambda へ移行してみた Lambda編

#はじめに
昨日の記事からの続きとなります。

https://qiita.com/hirockio2206/items/9129b5d541452c958bf8

◆事前準備編◆
 1.macOSのデスクトップにtempフォルダを作る
 2.tempフォルダにccxtをpip3でインストールする
 3.既に作ったpythonプログラムを lambda_function.py へリネームしてtempフォルダに入れる
 4.lambda_function.py の先頭に指定プログラムを追記する
 5.ターミナルでzipでまとめる

◆Lambda編◆
 6.AWSへログインし、5をアップロードする

◆EventBridge編◆
 7.EventBridge (CloudWatch Events)に定期実行ルールを登録する

####今回は6の説明をします。(次回7を説明します)

#手順
####6.AWSへログインし、5をアップロードする

6-1.AWSのマネジメントコンソールヘログインします。
https://aws.amazon.com/jp/console/

元記事を表示

VSCodeでdeclaration(関数などの定義をコードで見る)

udemyで受講しているPythonの講義がPycharmを使用していたが、私が使用しているのは
VSCode。いきなり、Go toを開きcapitalizeの定義のコードに飛んだ。
だが、VSCodeでも簡単にできた。選択してFn+F12

元記事を表示

Google Cloud Functionsで、GitHubのprivateリポジトリにある自作ライブラリを使う方法

Google Cloud Functions(以後、GCF)でアプリをデプロイするとき、Cloud Build環境でSSHキーにアクセスできません。そのため、GitHubのprivateリポジトリにアクセスできないので、アプリのソースコード上に自作ライブラリをあらかじめ組み込んでおく必要があります([公式リファレンス](https://cloud.google.com/functions/docs/writing/specifying-dependencies-python#using_private_dependencies))。

しかしながら、`pip install -t`でインストールした方法ではいくつか問題があります。

そこで本記事では、ライブラリをwhlに固めてから組み込む方法を紹介します。

## 自作ライブラリのソースコードをpip install -tで組み込む問題点

Pipfile, requirements.txtなどで依存ライブラリを一元管理できなくなります。また、自作ライブラリの依存ライブラリがアプリのソースコード下に組み込

元記事を表示

PythonistaのためのC++記法入門: それC++ではどう書くの6 ~関数定義1~

[PythonistaのためのC++記法入門: それC++ではどう書くの5](https://qiita.com/nctp/items/5088cd08354b4300bfc6)の続き。今回からは関数について。

# 関数関連

## 関数の基本

例として
1. **整数型の2値**を受け取ってその和(整数型)を返す関数
2. **整数型の2値**を受け取ってその平均(**整数型とは限らない**)を返す関数
を考える。

### Pythonではこう書いた

“`python
def sum(x, y):
ans = x + y
return ans

def average(x, y):
ans = sum(x, y) / 2.
return ans

def main():
a = 10
b = 20
print(sum(a, b)) # 30 が出力される
print(average(a, b)) # 15.0 が出力される

if __name__ == ‘__main__’:
main()
“`

元記事を表示

PythonistaのためのC++記法入門: それC++ではどう書くの5 ~条件文~

[PythonistaのためのC++記法入門: それC++ではどう書くの4](https://qiita.com/nctp/items/399d224bb4043edfbcc8)の続き。今回は短め。

# if文

### Pythonではこう書いた

“`python
if a == 10:
# 処理A
elif a == 100:
# 処理B
else:
# 処理C
“`

bool値に関しては以下のように書ける
Pythonでは`0`や空文字列`””`、空の`list`なども`False`として扱われる。

“`python
flag = True
if flag:
# 処理

flag = False
if not flag:
# 処理
“`

### C++ではこう書く

“`cpp
int a;
if (a == 10) {
// 処理A
}
else if (a == 100) {
// 処理B
}
else {
// 処理C
}
“`

bool値に関しては以下のように書ける。

“`cpp
bool f

元記事を表示

Fundamental Statistics for Data Science (Part 02)

continuation from [Fundamental Statistics for Data Science (Part 01)](https://qiita.com/qualitia_cdev/items/ad872ebbcd408e613218).

###### 5) Mean
Mean is also famous as average in mathematics, which can be obtained by summing all the observations and divided by the number of data points.

Let us think that a random variable has the following data. N is the number of data points.

X = { x1, x2, x3, . . . , xN }

We can calculate the mean using the fo

元記事を表示

pythonでブロックで実行時間をログに残る

# 背景
* pythonでDB query実行時間などを残りたい
* いつでもend – startで時間を計算することが面倒

## 普通のやり方

“`python
time_sta = time.perf_counter()
time.sleep(2)
time_end = time.perf_counter()
print(time_end – time_sta)
“`

# 対策
* rubyのブロックように実装して便利になると思う
* pythonではrubyのblockのような予約語がない

## 実装してみる

“`python
from contextlib import contextmanager
import time
import sys

@contextmanager
def time_count(function_name: str):
time_sta = time.perf_counter()
yield
time_end = time.perf_counter()

元記事を表示

犬と猫の分類をPytorchでファインチューニングをしてやってみた

# はじめに
[コチラ](https://book.mynavi.jp/ec/products/detail/id=104855)の書籍でPytorchの勉強をしているのですが、実際に使わないと理解できないと思ったので、Kaggleの[犬猫コンペ](https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition)をPytorchを使ってやってみた記録です。

モデルにはefficientnetB7を使ってファインチューニングを行いました。

# 環境
Google colabを使います。

Pytorch: 1.9.0+cu102
python: 3.7.11

# 実装の流れ
1.データの用意
2.データの前処理
3.データセットの作成
4.データローダーの作成
5.モデルの構築
6.損失関数、最適化アルゴリズムの定義
7.学習・検証
8.テストデータで推論

となります。1つずつ紹介します。

## 1. データの用意

今回の犬猫コンペの画像データは容量が重いのでGoogleDriveにアップロードするのもそこからデータ読み

元記事を表示

gremlin-server コンテナを立ち上げる② ー neo4j embeded

# はじめに

[gremlin-server コンテナを立ち上げる](https://qiita.com/tkosht/items/c10350592bdb3ec4a54b) の続編です。
neo4j のファイル群を使って、gremlin サーバ上のグラフデータを永続化する方法について整理します。

# TL; DR

– 勘違いしていた点
– BOLT 接続は、リモートNeo4jサーバ へプロキシすると思っていたが、そうではない
– Cypher を gremlin で使えるようにするらしい (試していないです・・)
– 設定ファイルの変更点
– gremlin-server.yml をベースに、gremlin-server-neo4j.yml を作成
– もちろん、サンプルの gremlin-server-neo4j.yaml も参考
– docker-compose.override.yml の entrypoint の設定ファイルパスを変更
– Python 経由で使っても、問題なく動作する
– コード一式(設定ファイ

元記事を表示

AWSでAIサービスを使ってみる〜第10回lex編その2〜

##前回ファイルの実行と今回
前回のlex_create_bot.pyファイルを実行していませんでした。
今回を前回ファイルを実行しbotを作成。botと文字で会話するプログラムを解説し、botを動かして行きます。

前回ファイル

“`lex_create_bot.py
import boto3
import time

iam = boto3.client(‘iam’)
iam.create_service_linked_role(AWSServiceName=’lex.amazonaws.com’)
lex = boto3.client(‘lex-models’, ‘us-east-1′)

#フレーバーのスロットタイプの作成
flavor_slot_type = lex.put_slot_type(
name=’FlavorSlotType’,
enumerationValues=[
{‘value’: ‘vanilla’},
{‘value’: ‘chocolate’, ‘synonyms’: [‘choc’]},
{‘value’: ‘s

元記事を表示

OTHERカテゴリの最新記事