並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 234件

新着順 人気順

DeepCopyの検索結果81 - 120 件 / 234件

  • PythonによるRapidly-Exploring Random Trees (RRT)パスプランニングサンプルプログラム - MyEnigma

    目次 目次 はじめに Rapidly exploring random tree:RRTとは? RRTの利点と欠点 利点 欠点 RRTによるパスプランニングPythonサンプルプログラム シンプルなRRTパスプランニング (Goal biased sampling) パスのスムージング後処理付きRRTプランニング 車両ロボット用RRTプランニング RRTのパス収束の高速化の手法 Goal Bias Sampling Goal Zone Sampling RRTの問題点 参考資料 MyEnigma Supporters はじめに 以前、A*やダイクストラ法、Dynamic Window Approachによる パスプランニングシステムのサンプルプログラムを公開しましたが、 myenigma.hatenablog.com myenigma.hatenablog.com myenigma.hat

      PythonによるRapidly-Exploring Random Trees (RRT)パスプランニングサンプルプログラム - MyEnigma
    • Pythonにおける値渡しと参照渡し - sushi.py

      はじめに 本記事では値渡しと参照渡しについて整理したあと、Pythonにおいてそれらがどのように行われているのかをまとめています。 Pythonでは、関数へ引数を渡すときや変数へ代入をするとき基本的にすべて参照渡しで行われます。 これを知らずにコードを書くと意図した挙動とは異なる動きをしてしまうことがあります。 2つの引数について知る 値渡しと参照渡しを理解するには、引数について理解しておく必要があります。 関数の引数には2種類あります。1つが仮引数。もう1つが実引数です。 仮引数(parameter, formal parameter)は、関数を定義するときに変数で指定する引数です。 たとえば下の関数f(a, b)では、aとbが仮引数です。 def f(a, b): return a + b 一方、実引数(pargument, actual parameter)は、関数を実行するときに関

        Pythonにおける値渡しと参照渡し - sushi.py
      • pythonで遺伝的アルゴリズム - Qiita

        必要にせまられて,pythonでgenetic algorithmを作成した.実際にはこれをスパコンでの特殊用途のために変更するから,汎用的でなくなる... アルゴリズムは以下: 特徴として: numpyやscipyなどが必要. ある目的のために,multiprocessingを利用して並列に関数値評価を行っている. 適応度を計算するルーチンも評価関数とは別にGAに外から与えなければいけない. ベストな値は保存して,ルーレット選択を行う. 終了判定は世代の上限のみ. ソースコードはここに載せるものなのかどうか悩ましいが... 使い方は面倒だから載せない.mainルーチンを見れば分かっちゃうかな. 以前のソースコードでは,multiprocessingを使った並列処理が間違っていて,並列処理になっていなかった. このバージョンでは,一応並列処理ができているはず... u""" Genetic

          pythonで遺伝的アルゴリズム - Qiita
        • ES6のObject.assignがシャローコピーなのでディープコピーする方法を考える

          ES6(ES2015)で実装されたObject.assignでディープコピーできると思っていた時期が私にもあった。 Object.assignでディープコピーして(した気になって)、プロパティの値を変更したとき、元のオブジェクトにも影響していることに気づいた。 // Object.assign.js const obj1 = { hoge: 'hoge', fuga: { foo: 'foo' } }; // ディープコピーのつもり const obj2 = Object.assign({}, obj1); obj2.hoge = 'hogehoge'; // obj1.hoge: 'hoge' obj2.hoge: 'hogehoge' ← ディープコピーされてる? console.log('obj1.hoge:', obj1.hoge, 'obj2.hoge:', obj2.hoge)

            ES6のObject.assignがシャローコピーなのでディープコピーする方法を考える
          • のんびりしているエンジニアの日記

            皆さんこんにちは お元気でしょうか?忘年会シーズンで疲れ果てていたら、1日遅刻しました。 qiita.com この1年、生成AIのブームが来ており、Kagglerの皆様もChatGPTを使っている方が多いのではないかと推測しています。 ということで、本日は私の使い方を簡単に紹介しようと思います。 コンペの使い方 ChatGPTをうまく利用すると生産性の向上が見込めます。 反面、ハルシネーションも生み出すので、使い方を誤ると致命的です。 そのため、出力を信じず、基本はチェックができるものにしておくのが良いでしょう。 具体的な利用内容 コンペ理解 説明文の理解 専門や馴染みのないものに関しては、正直、説明文を理解するのも大変です。 その時にはChatGPTに説明してもらう事が可能です。 www.kaggle.com データの理解 データの内容も専門分野であれば正直わからないことが多いです。 そ

              のんびりしているエンジニアの日記
            • Floating Windowの変態的な使い方 - ハイパーマッスルエンジニア

              これはVim Advent Calendar 2021の14日目の記事です。 NeovimにFloating Windowが実装されて以来、様々なプラグインが開発、リプレイスされてきました。 有名所でいうとgit-messenger.vimでしょうか。Floating Windowの良い使い方だなあと感動した覚えがあります。 今日は僕が今まで開発してきたプラグインの中で、Floating Windowを変態的に使ったものを紹介したいと思います。 はじめに 矩形選択&ペーストを可視化して直感化 テトリスペースト ボタンを作って発射する 行飛ばしで選択してコピー Vimでビートマニア(@skanehiraさん作) 最後に はじめに 記事内に折りたたまれているコードはダブルクリックでコピーが可能で、 test.vimとして保存 ->:source % -> Shift+T で実行できるようになっ

                Floating Windowの変態的な使い方 - ハイパーマッスルエンジニア
              • 「セクハラ」に関わる問題三つ - うっくつさん本を読む。

                http://d.hatena.ne.jp/kilrey/20090214#p1に繋がる話。 現状の手続き型言語でマルチスレッド対応する場合にはセマフォなどの排他・同期条件を利用する。その排他・同期条件を利用する文法としてはJavaのsynchronizedがもっとも洗練されているだろう。単純な条件ではthisを用いて、複雑な条件では同期オブジェクトを用いてロックを行う。ロック解除を自動化するなど、間違える可能性の高い箇所を減らしている。 トランザクションの戦略次第ではまったく同期と同じ振る舞いを保つことも可能だろう。例えば、 synchronized { this.update(); } をソフトウェアトランザクションに変換して while (true) { synchronized { clone = this.deepCopy(); } clone.update(); synchro

                  「セクハラ」に関わる問題三つ - うっくつさん本を読む。
                • neue cc - LINQの仕組みと遅延評価の基礎知識

                  新年明けましておめでとうございます。その第一弾の記事は実践 F# 関数型プログラミング入門の書評にしようと思っていたのですが、もう少し時間がかかりそうなので、せっかくの年始は基礎から考えようということで、LINQと遅延評価について最初から解説します。まあ、何をもって最初だとか基礎だとか言うのも難しいので私的な適当な基準で。つまり役に立たな(ry。なお、ここではLinq to Objects、IEnumerable<T>の連鎖についてのみ扱いますので、IQueryableについてはまた後日というか実のところ私はQueryableは全然分かってなくてやるやる詐欺が今も続いているといううがががが。 メソッドチェーン != return this 例によって単純なコードで。 var query = Enumerable.Range(1, 10).Select(i => i * i).Take(5)

                  • MIME::Entity - class for parsed-and-decoded MIME message - metacpan.org

                    NAME MIME::Entity - class for parsed-and-decoded MIME message SYNOPSIS Before reading further, you should see MIME::Tools to make sure that you understand where this module fits into the grand scheme of things. Go on, do it now. I'll wait. Ready? Ok... ### Create an entity: $top = MIME::Entity->build(From => 'me@myhost.com', To => 'you@yourhost.com', Subject => "Hello, nurse!", Data => \@my_messag

                    • Pythonでリストのコピー

                      Pythonにおいてリストの代入はいわゆる参照渡しです。具体的には >>> list1 = [1, 2, 3, 4, 5] >>> list2 = list1 のようにしたケース。ここでlist2の内容に変更を加えたとします。 >>> list2.remove(3) >>> list2 [1, 2, 4, 5] さて, ここでlist1の内容はどうなっているでしょうか...? >>> list1 [1, 2, 4, 5] list2と同じ内容になっていますね。お分かりかと思いますが, >>> list2 = list1 と言うのは"list2に, list1と同じ参照先のアドレスを格納する"ということを意味します。 イメージ的には下のような感じ。 なのでlist2を変更すると, list1を呼び出した時の内容も当然変わっているわけです。 ここまでは知識として知っておけばいいのですが, たと

                        Pythonでリストのコピー
                      • AS3 Utility classes available for Flex 2 - Eric Feminella

                        AS3 Utility classes available for Flex 2 December 8, 2006 I have compiled some common AS3 utility APIs for public use as specified under the MIT license. The utilities APIs are comprised of the following: DeepCopy: Creates a Deep Copy of an object reference to a new memory address and returns the cloned object HashMap: Creates a HashMap of object key / values as well as provides a standard API for

                          AS3 Utility classes available for Flex 2 - Eric Feminella
                        • Surround.vimからvim-operator-surroundに移行した - TODESKING

                          プリセットされた設定を使うぶんには問題なかったんだけど、textobj-userで定義したテキストオブジェクトを surroundでも使おうとしたら不可能なことが発覚(削除処理決め打ちでカスタマイズの余地がない)。 どうしたものかと思って調査してたらvim-operator-surroundが良さそうだったので乗り換えた。 基本設定 " surround.vimはアンインストールしておきましょう NeoBundle 'kana/vim-operator-user' NeoBundle 'rhysd/vim-operator-surround' " 公式サンプルだとsa/sd/srだがsurround.vimに合わせた nmap ys <Plug>(operator-surround-append) nmap ds <Plug>(operator-surround-delete) nmap

                          • Anima2Dのセットアップを自動化しよう!編 - SEGA TECH Blog

                            こんにちは。 セガゲームス 開発統括部 アート&デザイン部 TAセクション 廣田です。 おかげさまで、コトダマンはサービス開始1ヶ月で500万ダウンロードを越え、たくさんの方に楽しんでいただいております! 今回も引き続き、コトダマンを題材にAnima2Dの紹介をしていきたいと思います。 前回はAnima2Dでセットアップを行い、アニメーションを作るところまで紹介しました。 セットアップがとても大変だったと思いますが、他の2Dアニメーションツールで用意されている、 ・Photoshpからのエクスポート ・Unityへのインポート がありませんでした。 今回はこの面倒な部分の自動化と描画最適化を行っていきましょう。 ■Photoshopからのエクスポート まずはPhotoshopからパーツ画像と位置情報を出力するスクリプトを作成していきます。 Photoshopデータの作り方 スクリプトで処理

                              Anima2Dのセットアップを自動化しよう!編 - SEGA TECH Blog
                            • 【python】スタッキング(stacking)分類器を実装して理解する - 静かなる名辞

                              最終更新:2018-04-02 はじめに スタッキング(stacking)といえば、複数の分類器を組み合わせて強い分類器を作る系の手法である。単なるvotingやsoft votingより強い。 誤解を恐れずにざっくり言ってしまうと、分類器の出力(複数)と真の出力の関係を機械学習する手法である。どうしてそれが強いのかというと、きっと分類器のクセや、出力の相関を機械学習していることが有効なのだろう、という気がする。 「この分類器は基本的にイケてねーんだけど、このラベルだけは正しく分類するんだよな」 「この分類器がこう言ってるときは、こっちのこいつの結果もそれなりに当てになるんだよな」 こういうシチュエーションは色々考えられるので、そういったものに対して効いているのだろう。 とはいえ、具体的にどんな実装になってるのかは割とよくわかってなかったので、実装してみることにした。実装にあたってはこちら

                                【python】スタッキング(stacking)分類器を実装して理解する - 静かなる名辞
                              • VB6からVB.NETへの変換について - Qiita

                                目的 Windows 10においてもランタイムがサポートされている、十分な改修費用が出せない、特殊なOCXで当時は.NETでは代替できなかったなど、諸事情により残っているVB6の案件はあると思う。 ここでは、そのような案件を.NETに変換する際の注意点、最低限やっておいたほうが良いことについて記載する。 簡単にいうと、そのままコンバートしただけでは、VB6のままでも変わらないのでは、と思うからだ ここでは、細かいロジックの良否については記載しない。 そもそも、言語により保守しやすいプログラムの成否が決まるのではなく、構成の考慮、リファクタリングを考えているか、が問題と考えるからである。 もちろん、VB6の特性(簡単さとあいまいさ、クラス仕様の機能不足(Implimentsはあるが。Inheritsはないことによる)、テストプロジェクトが公式では存在しない)が、雑然となりがちなことを招いてい

                                  VB6からVB.NETへの変換について - Qiita
                                • Praise for the First Edition “I sure wish I had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.” —James Gosling, fellow and vice president, Sun Microsystems, Inc., and inventor of the Java programm

                                  Praise for the First Edition “I sure wish I had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.” —James Gosling, fellow and vice president, Sun Microsystems, Inc., and inventor of the Java programming language “An excellent book, crammed with good advice on using the Java program- ming language and object-oriented programming in general.” —Gilad Br

                                  • pythonで競技プログラミングをする際に便利なほかの関数とか5選 - roiti46's blog

                                    この記事はCompetitive Programming (その2) Advent Calendar 2015の21日目の記事です(遅れてすみません) 20日目はMさんの高速なビット行列乗算、 22日目はir5さんのtopcoder ボツ問供養です。 なにを書くのか? Competitive Programming Advent Calendar 2015で11日目のn_knuu6さんがpythonで競技プログラミングをする際に便利な関数とか5選を紹介されてました。 今回はその記事では紹介されていなかった競プロに便利な関数・データ構造をいくつか紹介したいと思います。 sys.recursionlimit pythonで競プロを使い始めた人がよくハマる落とし穴として再帰関数の再帰深さ制限があります。 >>> def mysum(n): ... if n == 1: return 1 ...

                                      pythonで競技プログラミングをする際に便利なほかの関数とか5選 - roiti46's blog
                                    • 入門 Python 3 第2版

                                      データサイエンスやウェブ開発、セキュリティなど、さまざまな分野で人気を獲得してきているPython。本書は、ベストセラー『入門 Python 3』の6年ぶりの改訂版で、プログラミング初級者を対象としたPythonの入門書です。プログラミングおよびPythonの基礎から、ウェブ、データベース、ネットワーク、並行処理といった応用まで、実践を見据えたPythonプログラミングをわかりやすく丁寧に説明します。Python 3.9に対応し、f文字列などの新機能も追加され大幅にボリュームアップしました。Pythonの機能をひと通り網羅し、リファレンスとしても便利です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ペ

                                        入門 Python 3 第2版
                                      • 競技プログラミング用Python最速マスター - くじらにっき++

                                        LLを使ってプログラミングするときに普段はRubyを使っているのですが,いろいろあってPythonも使い始めました。 何問かAOJでも提出してみたので、手元のメモ書きをリファレンス的に残しておこうと思います。 基本演算 -3 / 2 #=> -2 -4 % 3 #=> 2 入力 raw_input() で1行読み込み string#split( [separator] ) で分割できる。半角スペースで分割したいときは、separatorを明示的に渡さずに 'hoge fuga piyo'.split() としておけばよい "1 2 3"のような整数列を受け取りたいときは、次の2つが使える map(int, raw_input().split()) [int(s) for s in raw_input().split()] 出力 Python 3系だとprint()関数、Python 2系で

                                          競技プログラミング用Python最速マスター - くじらにっき++
                                        • BeInteractive! [ArtisticCoding: オブジェクトの基本操作の実現]

                                          ※このエントリは BEFoundation について書かれたものです。詳しくはこちら。 早速ですが、今回はオブジェクトの基本操作についてです。ここでいうオブジェクトの基本操作とは、以下のものを指します。 比較 - 二つのオブジェクトが等価か比較する 複製 - あるオブジェクトと等価な新しいオブジェクトを作成する コピー - あるオブジェクトと等価になるように値を設定する 大体イマドキな言語だったら言語レベルでこの辺のサポートがあったりするんですが、AS3 ではほとんどありません。しかしながら、仕事をしてると、一案件で数回はこういうことがしたくなります。特にモデルクラス (アプリケーション固有のデータを表現するクラス) に対してそういう操作が多いでしょう。 そこで、BEFoundation ではこの辺何も考えずに出来ちゃう仕組みを作りました。作るにあたって、「オブジェクト指向入門」の著者であ

                                          • 変数選択(Feature Selection)の実装と改善の確認 - 学習する天然ニューラルネット

                                            はじめに 実験設定 目的 用いるデータ 用いる変数選択手法 用いる判別器 評価指標 行わないこと データを少し見てみる すべての特徴を用いた場合 Filter Method 目視により選択 sklearn.feature_selection.SelectKBestによる選択 Wrapper Method sklearn.feature_selection.RFECVによる選択 Borutaによる変数選択 実験結果 まとめ クリックでコードを表示 ##import import pandas as pd import numpy as np from IPython.core.display import display from tqdm import tqdm_notebook as tqdm from copy import deepcopy as cp ##Visualization

                                              変数選択(Feature Selection)の実装と改善の確認 - 学習する天然ニューラルネット
                                            • PytorchのTransformersのT5を使って要約モデルを作る - 見習いデータサイエンティストの隠れ家

                                              インターネットの世界にニュースが溢れる昨今、満足度が高いものを的確に読みたいという方も多いかと思います。そのためには、見るニュースをどれにするか判断することが必要になります。そこで、ニュース全体の主旨を短い文章で表す要約の価値が高まっています。 自然言語処理における要約は、大きく2つに分けられます。それは、抽出型と抽象型です。抽出型は、文章の中から重要な文を抜き出すことで要約を作ります。要約として選ばれた文は元の文章にあるものなので、方向性が大きく異ることや誤字脱字がうまれる可能性は低いです。しかし、要約として選ばれた文のそれぞれは関係があるわけではないので、流暢な要約にならないことも多いです。それに対して、抽象型は人間が作るように要約としての文章の流暢さを考慮しながら作ります。本来人間がほしい要約はこちらになりますが、抽出型に比べると難易度が上がり、全く意味がわからない文章になる可能性も

                                                PytorchのTransformersのT5を使って要約モデルを作る - 見習いデータサイエンティストの隠れ家
                                              • マルチテナントSaaSにおけるGoのテスト高速化 - LayerX エンジニアブログ

                                                この記事はLayerX Tech Advent Calendar 2022 の14日目の記事です。 LayerXのバクラク事業部でエンジニアをしている @upamune です。現在はバクラク申請・経費精算チームの開発に携わっています。 今回の記事では、Goで書かれているバックエンドアプリケーションのテストが遅かったのを、どのようにして改善したかについてご紹介します。 背景 LayerXでのサービスのバックエンドはGo言語で記述されています。マルチテナント構成で一つのDBに複数のテナント(会社)のデータが入っている状態です。 入社してバックエンド開発をしていると、テストを走らせてみると結構時間がかかることに気づきました。その時のテストケースの数を考えても遅いと感じ、今後テストを拡充していくことを考慮すると今のうちに対処しておかないとテストの時間の増加に繋がってしまうため、この問題を解消するべ

                                                  マルチテナントSaaSにおけるGoのテスト高速化 - LayerX エンジニアブログ
                                                • 複数の分類を出力するディープラーニング - Qiita

                                                  第4のラベルは画像のRGB値の平均値を算出し、分類します。 - RGB平均値が128より小さい:ラベル0(暗い画像) - RGB平均値が128以上:ラベル1(明るい画像) 飛行機には初期ラベルとして0、第2のラベルとして1、第3のラベルとして2がつきます。飛行機は飛行機で、人工物で、飛ぶものという分類です。 また、その画像が暗ければ第4のラベルとして0、明るければ第4のラベルとして1を付与します。 (第2、第3、第4のラベル付けはプログラミングしやすかったために作った恣意的なものです。 人間の手でがんばればもっと色々なラベルを付けられるでしょうが、私には画像60,000枚のラベル付けをする根性がありませんでした) データのロードとラベル付けのプログラムは以下のとおりです。 # load dataset (x_train, y_train), (x_test, y_test) = cifar

                                                    複数の分類を出力するディープラーニング - Qiita
                                                  • Vim documentation: eval

                                                    main help file *eval.txt*      For Vim バージョン 7.1.  Last change: 2007 May 11 VIMリファレンスマニュアル    by Bram Moolenaar Vimスクリプト                              *expression* *expr* *E15* *eval* Vimスクリプトの利用についてはユーザマニュアルの41章|usr_41.txt|でも解説されて いる。 注意:Vimスクリプトはコンパイル時に無効化できる。もしそうなっているとこのドキュ メントに書かれている事は有効ではない。|+eval|と|no-eval-feature|を参照。 1.  変数              |variables| 1.1 変数の型 1.2 関数への参照              

                                                    • Python+Flask+Herokuで麻雀アプリを作りたい(作った) - Qiita

                                                      これまで作っていた麻雀ゲームをステートレスになるように 改良できたので早速Web上にアップしたいな〜と思っていろいろやりました。 一応公開まで出来たのでURLも置いときます。 良ければ触ってみてください!! https://lonlymahjong.herokuapp.com/ ↓こんな感じのを作りました〜。 アプリケーションプラットフォーム(サーバー)はHerokuを利用しました。 AWSなら現職でも使う機会があっていいかなーとも思ったんですが、 お金かかるから辞めました。(そのくらい払えよって話ですが…) せっかくなのでALL0円でやります! 使用技術 一旦開発にあたり使用した技術を整理します。 ◇開発言語 Python3 ◇サーバーサイドフレームワーク Flask ◇フロントエンドフレームワーク なし ◇開発OS mac ◇IDE pycharm ◇ソース管理 GitHub ◇アプリ

                                                        Python+Flask+Herokuで麻雀アプリを作りたい(作った) - Qiita
                                                      • Kawasaq Blog

                                                        「熊野古道」とは 熊野古道とは、 シェルみたいに処理を組み合わせることができて、 マルチスレッドで計算してて、 複数台のマシンに処理を分散できて、 見た目がどことなく Plagger っぽい のが特徴のフレームワークです。熊野古道フレームワークを使ったスクリプトは、たとえばこんな感じになります。 #!/usr/bin/python # -*- coding: utf-8 -*- from kumanokodo import run import re params = {"url": "http://www.nikkei.co.jp"} tasks = [{"name": "urlread", "config": {}}, {"name": "extractRegex", "config": {"title": [u'<title>([^<]+)<',re.DOTALL]}}, {"nam

                                                        • 超簡単 Reactjs もうflux、store、reduxで悩まなくても良い。onChangeのhandlerも記述不要。 - Qiita

                                                          超簡単 Reactjs もうflux、store、reduxで悩まなくても良い。onChangeのhandlerも記述不要。JavaScriptfluxReact GitHub simplereactjs https://github.com/mikeshimura/simplereactjs Reactjsは、本来 Viewのみの部分で、それを補完するために、fluxやreduxが必要と考えられています。 しかし、下記の原則にそって記述すれば、簡単に少ないコードで作成できます。 状態を管理する stateは、一番 TOPのコンポーネントにのみ定義する。 一番 TOPのコンポーネントの参照が容易になるよう、Global変数(今回の例では $w.app)に設定する。 上記のGlobal変数から、どこからでも stateが参照できる。(今回の例では $w.app.state) stateの変更

                                                            超簡単 Reactjs もうflux、store、reduxで悩まなくても良い。onChangeのhandlerも記述不要。 - Qiita
                                                          • 乱択アルゴリズムって何?「モンテカルロ法」をPythonで学ぼう - paiza times

                                                            Gerd AltmannによるPixabayからの画像 秋山です。Python好きのエンジニアです。 プログラミングにおけるアルゴリズムというと「正確に計算し、正しい結果を得るための効率のよい方法」といったイメージがありますよね。 このブログでもアルゴリズムに関する記事はいくつか書いてきましたが、単純ループだと時間がかかる処理をアルゴリズムを用いて計算量を減らそうとか、目的の値を効率よく探索しようとかそういった話が多かったと思います。 今回はこれまでとは少し違ったタイプの「乱択アルゴリズム」(ランダム・アルゴリズム、確率的アルゴリズムとも)というものを紹介したいと思います。 乱択アルゴリズムとは大雑把に言うと、乱数を使って平均するとよい結果を出せることを狙ったアルゴリズムを指します。 といってもこれだけでは分かりづらいので、数学や情報の授業などでもよく取り上げられる「モンテカルロ法」で具体

                                                              乱択アルゴリズムって何?「モンテカルロ法」をPythonで学ぼう - paiza times
                                                            • はじめての自然言語処理 spaCy/GiNZA を用いた自然言語処理 | オブジェクトの広場

                                                              前回は BERT についてその概要と使い方を紹介しました。今回は自然言語処理ライブラリである spaCy と spaCy をフロントエンドとする日本語NLPライブラリの GiNZA について紹介します。 1. 始めに 本記事では欧米で有名な自然言語処理ライブラリである spaCy とリクルートと国立国語研究所の共同研究成果である日本語NLPライブラリ GiNZA について紹介します。記事の前半では、spaCy と GiNZA の概要と日本語を処理する際の基本的な機能/操作について説明します。後半では、spaCy で提供される文章分類機能について、前回までに紹介した手法も含めて精度を比較してみます。 2. spaCy と GiNZA の概要 spaCy は Explosion AI 社の開発する Python/Cython で実装されたオープンソースの自然言語処理ライブラリで MIT ライセ

                                                                はじめての自然言語処理 spaCy/GiNZA を用いた自然言語処理 | オブジェクトの広場
                                                              • シャローコピー と ディープコピー

                                                                低学歴の IT エンジニア兼管理職です。ずっとリモートワーク中。 駆け出しはブラック企業で低年収でしたが、転職を繰り返して年収は 5 倍以上になりました。 年収はこれ以上増えても幸せ指数は増えませんので、趣味の時間を増やすため早期の半リタイアを考えています。 最高の配偶者、可愛い娘、ハンサムな息子と幸せな日々を送っています。 息子の将来の夢はゲーム実況者らしい。がんばれー^^。 前回の ICloneable と MemberwiseClone からの続きです。 シャローコピー (Shallow Copy) と、ディープコピー (Deep Copy) について書きます。 前回の記事で、System.Object.MemberwiseClone メソッドでクローン コピーする場合、 参照型のメンバについては、参照先のインスタンスそのものがコピーされるのではなく、 参照先を示すアドレスがコピーさ

                                                                • [Java] 直列化を利用したディープコピーとその注意点 : 小野和俊のブログ

                                                                  Java でディープコピー(DeepCopy)を行うには clone() メソッドをオーバーライドしてディープコピーの動作を自分で記述しけばよいが、他にも直列化(シリアライズ)の機構を利用してディープコピーを行う方法もある。 import java.util.Date; public class File { private String name; private String description; private Date createdDate; private Date updatedDate; private Date lastAccessedDate; ... } このクラスを通常の方法でディープコピーに対応させる場合、次のようになる。 import java.util.Date; public class File implements Cloneable { priva

                                                                    [Java] 直列化を利用したディープコピーとその注意点 : 小野和俊のブログ
                                                                  • SQL::Translator

                                                                    NAME SQL::Translator - manipulate structured data definitions (SQL and more) SYNOPSIS use SQL::Translator; my $translator = SQL::Translator->new( # Print debug info debug => 1, # Print Parse::RecDescent trace trace => 0, # Don't include comments in output no_comments => 0, # Print name mutations, conflicts show_warnings => 0, # Add "drop table" statements add_drop_table => 1, # to quote or not to

                                                                      SQL::Translator
                                                                    • 3.18 copy -- 浅いコピーおよび深いコピー操作

                                                                      このモジュールでは汎用の (浅い/深い) コピー操作を提供しています。 以下にインタフェースをまとめます: import copy x = copy.copy(y) # make a shallow copy of y x = copy.deepcopy(y) # make a deep copy of y このモジュール固有のエラーに対しては、copy.error が送出されます。 浅い (shallow) コピーと深い (deep) コピーの違いが関係するのは、 複合オブジェクト (リストやクラスインスタンスのような他のオブジェクトを 含むオブジェクト) だけです: 浅いコピー (shallow copy) は新たな複合オブジェクトを作成し、 その後 (可能な限り) 元のオブジェクト中に見つかったオブジェクトに対する 参照 を挿入します。 深いコピー (deep copy) は新たな

                                                                      • Pythonでの引数の取り扱いの罠等

                                                                        B! 7 0 0 0 Pythonでのリストのコピーとか、 関数に引数を渡す時に 未だにハマる事になるのでその辺のメモ。 Pythonは参照渡し、だが。。。 通常のコピー時 デフォルト引数の罠 Pythonは参照渡し、だが。。。 Pythonでは関数に値を渡す時にその参照が渡されます。 ですが、渡された関数内で変更されるとき、 渡した値自体が変更されるかどうかは 渡されたオブジェクトのタイプによります。 オブジェクトのタイプはImmutable(変更不可)とMutable(変更可能)に分けられます。 Immutable: int, float, str, tuple 等 Mutable: list, set, dict 等 このうち、Mutableな値が関数に渡された場合、 中で変更すると値の変更が外にも反映されますが、 Immutableなものに関しては変更されません。 ただ、これもちょ

                                                                          Pythonでの引数の取り扱いの罠等
                                                                        • DEAP - Pythonと機械学習

                                                                          目次 目次 はじめに 使い方の解説 creator.create()関数 適応度の定義 個体の定義 base.Toolbox.register()関数 遺伝子を作成する関数 個体を作成する関数 世代を作成する関数 目的関数 交叉関数 突然変異関数 選択関数 注意点 main関数内の処理 個体にnumpyのndarrayを使う場合 遺伝子が連続値の場合 変更点 実行結果 はじめに Pythonで遺伝的アルゴリズムのライブラリーが無いか検索してみたところ、どうもDEAPというライブラリーが良いらしいので使い方を調べてみることにしました。 ソースコードはGitHub上にあげられています。 PyPIにも登録されているので、pipでインストールできます。 pip install -U deap DEAPは遺伝的アルゴリズムだけでなく、他にも色々な進化的計算のアルゴリズムが実装されているみたいです。

                                                                            DEAP - Pythonと機械学習
                                                                          • How do I merge two dictionaries in a single expression in Python?

                                                                            How can I merge two Python dictionaries in a single expression? For dictionaries x and y, their shallowly-merged dictionary z takes values from y, replacing those from x. In Python 3.9.0 or greater (released 17 October 2020, PEP-584, discussed here): z = x | y In Python 3.5 or greater: z = {**x, **y} In Python 2, (or 3.4 or lower) write a function: def merge_two_dicts(x, y): z = x.copy() # start w

                                                                              How do I merge two dictionaries in a single expression in Python?
                                                                            • Solving Every Sudoku Puzzle

                                                                              by Peter Norvig Note: This page is the original 2006 essay; an updated Python 3 Jupyter notebook is available here and should probably be read instead of this page. In this essay I tackle the problem of solving every Sudoku puzzle. It turns out to be quite easy (about one page of code for the main idea and two pages for embellishments) using two ideas: constraint propagation and search. Sudoku Not

                                                                              • 3行数独ソルバーと同じアルゴリズムをJavaScriptで書いてみる - ラシウラ

                                                                                id:bellbind:20060712:1152692054 入れ替えで、ただしdataは81個のフラットな配列で var solver = function (data) { for (var i = 0; i < 81; i += 1) { if (data[i] != 0) continue; var t = [false,false,false,false,false,false,false,false,false,false]; var iDivOs = div(i, 9); var iModOs = i % 9; var iDivOsIs = div(i, 27); var iModOsDivIs = div(i % 9, 3); for (var j = 0; j < 81; j += 1) { if (div(j, 9) == iDivOs || j % 9 == iMo

                                                                                  3行数独ソルバーと同じアルゴリズムをJavaScriptで書いてみる - ラシウラ
                                                                                • [解決!Python]Excelワークシートに株価チャートを作成するには(OpenPyXL)

                                                                                  [解決!Python]Excelワークシートに株価チャートを作成するには(OpenPyXL):解決!Python OpenPyXLが提供するStockChartクラスとBarChartクラスを使って、各種の株価チャート(ローソク足など、と棒グラフの組み合わせ)を作成する方法を紹介する。 from openpyxl import Workbook wb = Workbook() ws = wb.active values = [ ['日付', '出来高', '始値', '高値', '安値', '終値'], ['2022年4月1日', 100300, 2289, 2289, 2212, 2263], ['2022年4月4日', 146700, 2299, 2375, 2265, 2375], ['2022年4月5日', 119400, 2398, 2434, 2376, 2390], ['20

                                                                                    [解決!Python]Excelワークシートに株価チャートを作成するには(OpenPyXL)