Python関連のことを調べてみた2019年12月25日

Python関連のことを調べてみた2019年12月25日

ヘルプデスクから人材コンサルタントになりました

#自己紹介
僭越ながら、ランスタッドアドベントカレンダー最終日に出稿をさせて頂くことになりました。昨年のアドベントカレンダーから拝読してくださった方は大変ご無沙汰しております。
昨年の記事をレビューしたい方は、こちらからお願いします!
・[IT未経験者がサーバーOSの違いを調べたお話](https://qiita.com/Okachan-Honpo/items/1e92c16299a0ce7ff3df “IT未経験者がサーバーOSの違いを調べたお話”)
・[IT未経験なのに2万のキーボードを買ってイシキがタカイタカイになった話](https://qiita.com/Okachan-Honpo/items/1d52a338bad35657baf0)

#ヘルプデスクで学んだ1年
社内のN/W周りの整備から社内のPC周りのトラブルシューティングを中心にヘルプデスク業務に携わりました。緊急性の高いN/W不調やPCの故障など多くの課題を迅速に対応するSkillとコミュニケーション能力のレベルがあがりましたね。(自画自賛)

~~だから俺だってなにかしなくちゃあな・・・かっこ悪くてコンサルタント

元記事を表示

Python 種々の最適化ライブラリ

# はじめに
線形計画の簡単な例を種々の最適化ライブラリを使用して解いてみます。

## 使用するライブラリ
Pulp
Scipy
Google Ortools

# コード例
[Github](https://github.com/MassSkt/optimization_comparison)

## 問題設定
最大化する目的関数 100x + 100 y

制約条件
x + 2y <=16 3x + y <= 18 x >0
y>0

## Pulp
“`python
import pulp
# Problem 1

# Numerical model
m = pulp.LpProblem(sense=pulp.LpMaximize)

# valiables to optimize
x = pulp.LpVariable(‘x’, lowBound=0)
y = pulp.LpVariable(‘y’, lowBound=0)

# Objective function to optimize ( maximize)
m += 100 * x + 100 * y

#

元記事を表示

Siemens#Modbus TCP serverとして使う

今回はSiemensのPLCでModbus TCP serverを使うときの手順を説明します。
ここにも文章が乗っています↓。

Siemens#Modbus TCP serverとして使う

# TIAバージョン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/ce119728-ea7b-6001-101e-7aeb254352f2.png)
# 実機バージョン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/39222b49-e65d-4def-8f2d-c0cec08cf404.png)

# Function Block
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/c090bd22-bc8a-c6e1-f816-6b657

元記事を表示

ネットワークエディタにスクリプトショートカットメニューを表示する

この記事は[Houdini Advent Calender 2019](https://qiita.com/advent-calendar/2019/houdini)の25日目の記事です。最終日!!

# 初めに
ネットワークエディタ上でShift+Tab(変更可)で独自メニューを表示します。
![houdini_network_editor.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223831/ec2d0d74-e3bc-bd58-cb4a-6842c03c50cb.gif)
キャラ画像はただの趣味です。出さなくてOKです。

Houdini自体にHDA, シェルフ, プリセットと便利ツールが充実しているのでこのような改造をする必要はあんまりないのですが、改造することが好きという方にHoudiniはいじりがいのある楽しいソフトだと思います。

一応作ってみて良いと感じた点を挙げるとすると

* シェルフに登録するよりもマウスの動きが少ない。
* スクリプトからノードを作成する際にマウスの位置

元記事を表示

エンジニア市場をデータ分析して見えたもの

# はじめに
Python Advent Calendar 2019 25日目:christmas_tree:です。

去年のPython Advent Calendar 2018 の同じ25日目に、[Pythonで学ぶ統計学&おうちで作るデータ分析環境](https://qiita.com/Brutus/items/0d1767749804b36357e8)という記事を書きました。記事の中では[転職ドラフト](https://job-draft.jp/)の第15回ドラフト参加ユーザーランキングより、提示年収最高額のデータを取得して簡単なデータ分析を行いました。

本記事では、第22回ドラフト参加ユーザーランキングのデータを使用し、エンジニア市場についてデータ分析を行った結果についてまとめています。

年の瀬を感じる今日この頃ですが、2020年に向けてエンジニア市場の今を見て見ましょう。
## スクレイピング
去年書いたコードは最高額しか取得していなかったため、ユーザーランキングのデータから全てのデータをスクレイピングして取得する様に修正しました。

まずは以下のプログラムを実行し、デ

元記事を表示

クリボッチなのでえっちなイラストをニ●エで無限に収集する

**[IPFactory Advent Calender2019](https://qiita.com/advent-calendar/2019/ipfactory)**の最終日になってしまってます。

さぁクリボッチの皆!えっちなイラストで性の6時間を乗り切ろうぜ!!
あ、もう終わってるわ

#仕様
Webスクレイピングを利用して●ジエに投稿された画像を自動で収集する。ちょろっと変えればP●x●vとかも。
#中身
GitHubにも入れときます~~(後で)~~

“`python
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exception

元記事を表示

Djangoの個人的Tips

この記事は[Django Advent Calendar 2019](https://qiita.com/advent-calendar/2019/django) の最終日の記事です。

# はじめに
はじめまして。よろしくお願いします。

普段からDjnagoを使用してWebアプリを開発しています。

– [シルトレンド](https://siru-trend.com)

今年の[Django Advent Calendar 2019](https://qiita.com/advent-calendar/2019/django) も毎日、楽しく拝見させて頂きました。
興味深く、勉強になる記事ばかりでした。
そこで本カレンダーの最終日であるこの記事ではDjangoのいくつかの基本的な、そして個人的なTipsを整理したいと思います。
この記事がDjangoのより一層の普及に少しでも貢献できれば幸いです。

# 目次
– [フォームのバリデーション](#フォームのバリデーション)
– [Http404 を送出する](#http404を送出する)
– [インスタンス取得を実行し、

元記事を表示

言語処理100本ノック-74(scikit-learn使用):予測

[言語処理100本ノック 2015](http://www.cl.ecei.tohoku.ac.jp/nlp100/)の74本目「予測」の記録です。
前回の学習(訓練)したモデルを使用して極性(ネガポジ)を予測(推論)し予測確率も出します。
今までは基本的に[「素人の言語処理100本ノック」](https://qiita.com/segavvy/items/fb50ba8097d59475f760)とほぼ同じ内容にしていたのでブロクに投稿していなかったのですが、[「第8章: 機械学習」](http://www.cl.ecei.tohoku.ac.jp/nlp100/#ch8)については、真剣に時間をかけて取り組んでいてある程度変えているので投稿します。[scikit-learn](https://scikit-learn.org/)をメインに使用します。

# 参考リンク

|リンク|備考|
|:–|:–|
|[074.予測.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/08.%E6%A9%9F%E6%A2%B

元記事を表示

ぼっちでもプレゼント交換がしたい!【クリスマスハッカソン】

## はじめに
チーム名:正の6時間
このプロダクトは[クリスマスワンナイトハッカソン](https://connpass.com/event/158943/)の成果物です。

## ところで
クリスマスですね。クリスマスといえばプレゼント交換ですが、生憎ぼっちなのでできません。
そこで、ネット上でプレゼント交換をできるようにしました。
プレゼントと言っても、交換するのは**本の情報**です。
良本の情報がプレゼントされると 気持ちがいいですよね。

## 作ったもの
### システム
ユーザーがニックネームとISBNを入力すると、
それを`Google Books API`で検索し、出た情報のうちタイトルを取得して、
それらの情報をまとめてデータベースに保管します。
その後、プレゼント交換がなされ、データベースからランダムに本の情報が受け取れます。

### 使用しているもの
– Python
– Flask
– Heroku
– etc…(GitHubにあります)

### 改善したいところ
– デザイン
– 素のHTMLなので
– ISBN以外でも検索したい

元記事を表示

サンタが来た時間を通知してくれる装置つくった

#はじめに
クリスマスワンナイトハッカソン チーム わくと です。
サンタがドアを開けた時間を記録し、メールで送信する装置を作りました。

#デモ


#仕組み
![構成図.png](https://qiita-image-store.s3.ap-no

元記事を表示

BERTを用いたネガポジ分類機の作成

この投稿は 「自然言語処理 Advent Calendar 2019 – Qiita」 の25日目の記事です。

[siny](https://twitter.com/shinya_hd)です。

この記事では、2019年時点の自然言語処理において大きな役割を果たしているBERTを使ったネガポジ分類機の作成についてまとめました。

#はじめに
書籍、ブログやQiitaなどでBERTに関するナレッジはだいぶ出回って来たと思います。
しかし、自然言語処理に活用できるデータセットの多くが英語をベースとしており、日本語のデータセットがあまりない状況のため、なかなか日本語のテキストを使ってBERTを活用するという事例、情報が少ないと感じました。

現状、無料で使える日本語データセットとしては以下がメジャーかと思います。

– [青空文庫](https://twitter.com/shinya_hd)
– [Twitter日本語評判分析データセット](https://twitter.com/shinya_hd)
– [SNOW D18 日本語感情表現辞書](https://twitte

元記事を表示

3.6 テキストの正規化 3.7 テキストをトークン化するための正規表現

# 3.6 Normalizing Text テキストの正規化

以前のプログラムの例では、単語で何かを行う前に、テキストを小文字に変換することがよくありました。

“`
set(w.lower()for w for text)
“`
“`
lower()
“`
上記のコマンドをを使用して、テキストを小文字に***正規化***して、Theとtheを同じものとしてとらえるようにしました。 多くの場合、これよりも先に進み、接尾辞として知られるタスクである接尾辞を取り除きます。
さらなるステップは、結果のフォームが辞書の既知の単語であることを確認することです。これは、***見出し語化***と呼ばれるタスクです。 これらについて順に説明します。 まず、このセクションで使用するデータを定義する必要があります。

“`
>>> raw = “””DENNIS: Listen, strange women lying in ponds distributing swords
… is no basis for a system of government. Supreme ex

元記事を表示

機械学習によるメルカリの適正価格推定

#はじめに

何が本当に価値があるのか​​を知るのは難しい場合があります。詳細が少ないと、価格に大きな違いが生じることがあります。たとえば、これらのセーターの1つは335ドル、もう1つは9.99ドルです。どっちがどれなのか推測できますか?

![スクリーンショット 2019-12-25 1.52.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485870/32da0580-7f23-d373-89fa-461ea4a017a5.png)

オンラインで販売されている製品の数を考慮すると、製品の価格設定はさらに難しくなります。衣料品は季節ごとの価格動向が強く、ブランド名の影響を強く受けますが、電子機器は製品の仕様に基づいて価格が変動します。

日本最大のコミュニティ駆動のショッピングアプリは、この問題を深く知っています。売り手はメルカリのマーケットプレイスに何でも、またはあらゆるものを置くことができるので、売り手に適切な価格提案を提供するのは難しいです。

#Mercari Price Sugges

元記事を表示

Pythonにおけるデバッガ: pdb, ipdb

この記事は[Tech Train](https://qiita.com/organizations/techtrain)の主催する[【User Ver.】TechTrain Advent Calendar 2019](https://qiita.com/advent-calendar/2019/techtrain)の25日目、最後の記事です!

大阪工業大学の[小林](https://twitter.com/asuha_prog)が担当します。

Pythonでのデバッガの記事です。
プログラミングを始めた当初は、デバッグといえばprintデバッグでしたが、デバッグツールの使い方を覚えればより快適なデバッグができるようになりました。

紹介するのはpdb、ipdbです。
ipdbは絶望的なまでに日本語資料がありません。
というか英語資料もなかなかありません。
頑張って調べてまとめました。

#pdb
##pdbとは?
pdbはデバッガの1つです。
デバッガとはエラーの原因を突き止めて修正するというデバッグをスムーズに簡単に行うことができるようにするツールです。
ドキュメントは[こちら

元記事を表示

SeleniumとBeautiful Soupのよく使うメソッド

SeleniumとBeautiful Soupのコーディングでいつも迷うので自分用にメモ。
jQueryも載せておく。

# 環境
– Python 3.7.4
– selenium 3.141.0
– beautifulsoup4 4.8.0
– requests 2.22.0

# Selenium (Python)
“`python
# 初期化
from selenium import webdriver
driver = webdriver.Chrome()
url = ‘https://qiita.com/users’
driver.get(url)

# 一つのエレメント取得(css selector)
element1 = driver.find_element_by_css_selector(‘.UsersPage__header’)
# テキストの取得
print(element1.text)

# 複数のエレメント取得(css selector)
elements = driver.find_elements_by_css_selector(‘.UsersPage

元記事を表示

クリスマスハッカソン参加記&制作物紹介

## これはクリスマスワンナイトハッカソン参加記および作品紹介です

# 眼鏡っ娘と写真旅行
僕は眼鏡っ娘と写真旅行にいきたいです。勇気が出ないので一人で行っています。来年はいけるといいね
そんな願いも込めて、チーム名は「眼鏡っ娘と写真旅行」にしました。


## メンバー
Lock – [Twitter](https://twitter.com/LockDef)
nanigasi_san – [Twitter](https://twitter.com/nanigasi_san), [いいえ](https://twitter.com/nanigasi_3)

## 制作物紹介
さっきまでカラオケで大熱唱していたので、何も話し合っていませんでした。帰りの電車で「眼鏡っ娘がクリスマスイベント教えてくれる奴作りたい」とLockが言い出したので、それを作ることにしました。

内容としては日本でやっているクリスマスイベントをランダムに選んで、それを眼鏡っ娘におススメされるので断らざるを得ないという天才Webアプリです。

仕組みはめちゃくちゃ簡単で、拡張性のためにAPIサーバーとページ

元記事を表示

WindowsにAnaconda3のインストールする際のメモ

##概要
Windows10にAnaconda3のインストールを簡単にまとめました。
*(個人的な備忘録です)*

##目次
1. Anacondaとは?
2. 構築環境と今回インストールするライブラリ達
3. インストールとバージョン確認
4. condaとpipのアップデート
5. 各種パッケージのインストール

##1. Anacondaとは?
Pythonにはたくさんの便利なライブラリが用意されており、高度な数値計算やデータ分析、機械学習などが簡単にできるようになっています。
しかしそれらのライブラリの多くはPythonに標準で付属しておらず、別途自分でインストールし、環境を整えなければいけません。

Pythonに慣れている人やすでに利用している人にとっては簡単ですが、初めての人にとって環境構築は意外と面倒くさいです。
これに対して、AnacondaはPython本体と、Pythonでよく利用されるライブラリをセットにしたPythonパッケージです。
AnacondaをインストールするだけでPython本体とライブラリがインストールされるため、環境構築がかなり楽になります。

元記事を表示

VScodeで「Unable to import」と出たときに対処した方法。(WindowsのAnaconda仮想環境(baseなど)において、pylintインタプリタを使用したい場合)

#エラーの内容
Tensorflowのライブラリをインポートする際に、以下のようなエラーが出ました。
「Unable to import ‘tensorflow.python.keras’pylint(import-error)」
今回は、この問題を対処します。

#前提
Anaconda Navigatorで作成した仮想環境(baseなど)を、VScodeで使用していましたが、VScodeの設定等を行っていなかったため、今回のようなエラーが発生しました。

Anaconda Navigatorを用いた仮想環境の作成方法をご存じでない方は、まず他のサイトを参照して、是非作ってみてください。

仮想環境baseは最初からありますので、それでも大丈夫です。

仮想環境と聞くと、難しいイメージをされるかもしれませんが、使用するだけなら簡単です。

#対処方法
Anaconda Navigatorの仮想環境(baseなど)における、
・pylintパッケージの有無の確認、
と、
VScodeにおける、
・Python Pythの確認、設定
・Pylint Pythの確認、設定
を行います。

元記事を表示

マイクロバイオームとメタボロームの「相関」を検出する確率モデルmmvec

メタゲノムアドベントカレンダー、最終日の記事。ぎりぎりの登録&投稿ですみません…

マイクロバイオームとメタボロームの相関を検出する手法、microbe–metabolite vectors、略して**mmvec**の使い方の紹介。
[(Morton, et al. “Learning representations of microbe–metabolite interactions.” Nature Methods 16, 1306–1314 (2019))](https://www.nature.com/articles/s41592-019-0616-3)
word2vecと語感をそろえてきてる(?)ことからわかるように、マイクロバイオームとメタボロームのペアデータセットから、それらの関係性を表現した潜在ベクトルを学習する手法。

## 問題設定

マイクロバイオーム解析において、相関はすごく難しい。相関は因果を意味しない、とかって話ではなく、そもそもそれ以前の問題として、マイクロバイオームデータを別のメタデータやオミックスデータと相関分析して出てきた相関関係は信

元記事を表示

ボロノイ図の面積の求め方

#はじめに
 ボロノイ図の面積を求めたかったのですが、面積まで求めている記事が見つからず苦労したのでメモ程度に書き残したいと思います。
# コード
 早速コードを載せます。

“`python

def voronoi_area(points):
v = Voronoi(points)
vol = np.zeros(v.npoints)
for i, reg_num in enumerate(v.point_region):
indices = v.regions[reg_num]
if -1 in indices:
vol[i] = np.inf
else:
vol[i] = ConvexHull(v.vertices[indices]).volume
return vol

sample_points = [[-2, 6], [ 3, -8], [ 5, 9], [ 4, 5], [-7, 2], [ 3, 4]]
voronoi_area(sampl

元記事を表示

OTHERカテゴリの最新記事