nprogram’s blog

気ままに、プログラミングのトピックについて書いていきます

2019-02-01から1ヶ月間の記事一覧

PyCharmのトラブルシューティングまとめ

はじめに PyCharmで、躓いたところをまとめておく記事です。 環境 Windows 10 (version : 1809) PyCharm 2018.3.4 (Professional Edition) No R interpreter defined 問題 PyCharm上で、機械学習をしようとしたら、以下のエラーメッセージが出る・・・。 No …

Python 仮想環境で楽々モジュール管理 [Windows]

はじめに pythonで、モジュール管理が大変だと思いませんか? 仮想環境を使用することで、他の環境に影響を与えずに、モジュールをインストールすることが可能です。 環境 OS : Windows 10 (version : 1809) 仮想環境の作成と実行 仮想環境は以下のコマンド…

Django学習 (Djangoサーバー作成とDjango上でアプリケーション実行)

はじめに Djangoの環境を構築するための学習内容を記載します。 環境 Windows 10 (version 1809) Python version : 3.7.1 Django version : (2, 1, 7, 'final', 0) 注意点 現在どのディレクトリ階層にいるか、コマンド実施前に必ず確認しましょう (コマンドc…

Python3の関数アノテーションの記載方法

はじめに C++やC#の異なり、Pythonのコードは、関数に引数や戻り値の型を書かなくても問題ありません。 ただし、あとのコード見やすさを考慮すると、関数アノテーションを書いたほうがいいと思います。 関数アノテーションの書き方 関数の引数の型の場合 関…

TeXで綺麗な数式を書きたい

はじめに ブログに数式を乗せたい場合があると思います。そのときは、TEXを使用すると、きれいに表示できます。 hatenaブログの場合 K-means法 <div align="center">[tex: \begin{align} min=\sum_{i=1}^n\sum_{x \in X_i}||x - \mu||^2 \end{align} ]</div> Qiitaの場合 Qiitaの場合で…

抽出・変換・統計をC++テンプレートメソッドで解く [C++]

C++

はじめに 抽出・変換・統計をC++テンプレートメソッドで解きたいと思います。 std::accumulateとラムダ式 C++テンプレートメソッド C++17畳み込み式、単項右畳み込みでコンパイル時に値を計算 #include <iostream> #include <algorithm> //copy_if, for_each, transform #include <vector></vector></algorithm></iostream>…

templateクラスを用いて、C++で抽出・変換・集計処理を行います

C++

はじめに templateクラスを用いて、C++で抽出・変換・集計処理を行います。 #include <iostream> #include <algorithm> //copy_if, for_each, transform #include <vector> #include <array> #include <numeric> //iota, accumulate #include <cassert> using namespace std; void print_num(int num){ std::cout<< </cassert></numeric></array></vector></algorithm></iostream>…

初期化構文 [C++17]

C++

初期化構文 #include <iostream> using namespace std; int main(void){ // Your code here! int test = 2; if (int x = 2; x > test) { std::cout << "xは変数testより大きい" << std::endl; } else if (x == test) { std::cout << "xは変数testと同じ値" << std::end</iostream>…

C++で抽出・変換・集計処理を行う

C++

はじめに JavaやC#の関数型プログラミングをC++で行ってみました。 数列から、奇数を抽出して、その結果に対して2倍し、統計します。 コード #include <iostream> #include <functional> #include <algorithm> #include <vector> #include <numeric> using namespace std; void print_num(int num){ std::cout<<</numeric></vector></algorithm></functional></iostream>…

std::functionについて [C++]

C++

はじめに functionクラステンプレートは、パラメータの型リストArgTypes...、戻り値の型Rに合致する、あらゆる関数ポインタ、関数オブジェクト、メンバ関数ポインタ、メンバ変数ポインタを保持できるクラスです。 使用例 #include <iostream> #include <functional> using namespac</functional></iostream>…

ラムダ式攻略 [C++]

C++

はじめに 「ラムダ式(lambda expressions)」は、簡易的な関数オブジェクトをその場で定義するための機能です。 この機能によって、「高階関数(関数を引数もしくは戻り値とする関数)」をより使いやすくできます。 仕様 構文 [キャプチャリスト](パラメータリ…

Pythonの勉強サイトまとめ

はじめに Pythonを勉強する上で役に立ちそうなサイトを紹介します。 機械学習 クラスタリングの様子を視覚的に見ることが出来るサイト。クラスタリングのイメージがつかみやすくなると思います。 K-means 法を D3.js でビジュアライズしてみた - てっく煮ブ…

コピーコンストラクタと代入演算子の禁止方法

C++

はじめに C++11の文法のdeleteを使うことで、クラスのインスタンスのコピーや代入を禁止することができます。 #include <iostream> class Person { public: // 参照 const std::string m_name; int m_age; Person(const std::string name, int age) : m_name(name), m_</iostream>…

const メンバ変数がいるときの代入演算子

C++

はじめに 自分で作成したクラスのメンバ変数が、constメンバ変数であった場合、デフォルトの代入演算子では正しく代入できません。 そのため、代入演算子を自分で実装します。 例えば、nameとageというメンバ変数があったとしまして、ageだけconstメンバ変数…

メンバイニシャライザ(初期化リスト)[C++]

C++

はじめに メンバイニシャライザ(初期化リスト)を使うと、クラスのメンバ変数を代入ではなく、初期化することができます。 コンストラクタの定義 X::X() : メンバ変数名A(初期化子A), メンバ変数名B(初期化子B), ... { } 厳密には、メンバ変数1つ1つの初…