サポートページ
ダウンロード
P.140 連載「scikit-learnで学ぶ機械学習アルゴリズム」
記事で紹介した機械学習システムの構築における「データ加工」「モデリング」を試すためのサンプルコードを以下からダウンロードできます。ダウンロードファイル「iris.zip」は圧縮ファイルです。解凍したうえでご利用ください。
圧縮ファイル内の「iris.ipynb」をGoogle Colaboratoryにアップロードすることで機械学習を試せます。Google Colaboratoryへのアップロード方法は、圧縮ファイル内の「Readme.txt」を参照してください。
- ダウンロード
- サンプルコード(iris.zip)
免責:本サンプルを使用することによって、使用者が受けたあらゆる不利益に対して、原著者および技術評論社はその責任を負いません。
補足情報
P.162 連載「Unixコマンドライン探検隊」
manで空のページや文字化けしたページが表示される場合の対処方法
macOSに導入したコマンドは、空のページが表示されたり、場合によっては文字化けしたページが表示されるなど、日本語Localeのmanpageが表示できないことがあります。ここでは、そうした場合の対処方法を紹介します(manコマンドについては、連載の第1回で解説しました。必要に応じてこちらの記事も参照してください)。
【nmapのmanpageが表示できない】
macOSでは、本家からnmap-7.60.dmgからインストール、brewでnmapをインストールした場合など、man nmapで空のページが表示されることがあります。この状態は、manが呼び出しているgroffコマンドが指定のロケールに対応していないことに問題がある可能性が考えられます。
- manpageのソースの確認
/usr/share/man、/usr/local/share/manなどのmanpageのソースを確認ましょう。manpageのセクションごとにman1 …… man8などのように(日本語ロケールのものだとjaというディレクトリの中に同様にセクション別に)ソースが格納されています。対応ファイルが存在しなければ、manは表示できません。
まずは、日本語のmanpageの問題なのか、そもそもmanpage(が存在しないなど)の問題なのかを、POSIXロケールを明示的に指定して判別します。
C:POSIXロケールで、英語のページが正しく表示できるか確認する
|
これで、英語のmanpageが確認できて、
/usr/local/share/man/ja/man1/nmap.1も存在している(macOSのnmap-7.60、nmap-7.70などでは、
/usr/local/share/man/ja/man1/nmap.1が存在していて、内容も日本語のUTF-8です)なら、manが内部で呼び出しているgroffコマンドが日本語ロケールに対応していないのが原因と考えられます。続く、対応を試みてみましょう。
- 1. 日本語に対応したgroffの導入
|
- 2. 導入したgroffをmanが使うようにする
/etc/man.confを編集して、/usr/local/bin/groffを使うように変更します。編集するには、(sudoなどで)管理者権限が必要です。
/etc/man.confのJNROFFの記述部分
|
- 3. pagerの動作を制御する
同じく/etc/man.confの内容を編集して、groffがコントロールキャラクタを出力しますので、これをlessがうまく処理できるように-rオプションを追加してやります。
/etc/man.confのPAGERの記述部分
|
これで、man nmapで、日本語が表示できるはずです。
【manpageが文字化けして表示される場合】
筆者の環境では、nkf(文字コード変換コマンド)を導入しています。このmanpageは前節の対応をしても文字化けして表示されます。このケースでは、/usr/local/share/man/ja/man1/nkf.1の文字コードが、日本語UTF-8でないことが原因なので、ソースの文字コードをUTF-8に変換して解決します。
nkfで文字コードをUTF-8に変換する
|
【まとめ】
ここでは、manpageにあまり日本語ページがないmacOSにフォーカスして解説しましたが、ほかのUnix環境でも、ロケールがきちんと対応していないコマンドや、ロケールに合ったフォントや文字コードテーブルなどの情報が導入されていない場合に、同様の問題が生じることがあります。きちんとしたロケール対応をすることができない場合、まずはCのPOSIXロケールでの表示を試してみて、原因を絞り込み、解決していきましょう。
【今回の(追加)チェック】
man(1), groff(1), less(1)
(本誌に掲載しきれず)Linuxで確認するコマンド
ufw(8), systemctl(1), samba(7)