最終目的

プログラミングを全くやったことがないという状態から,機械学習を行えるようになるまで,順に勉強する.

投稿目標 リチウムイオン電池の充電率予測

開発環境の準備

分かる人は,好きなように
分からない人は,下記リンクのように
作りたくない人は,作ってもらった環境で

第一回 目標と流れ

    • 目標 : Pythonを使って,CSVファイルをデータフレーム形式で読み込み,出力するプログラムを書く

 

    • 流れ :

サーバー環境をもらって最初にやること
機械学習とは
使用するアプリや言語の説明
Jupyter Notebookの起動
ipynbファイルの作成
プログラムを書くときに注意すること
Pythonライブラリのインポート
ファイルの読み込みと出力

サーバー環境をもらって最初にやること

秘密鍵,公開鍵の作成

秘密鍵,公開鍵を作成し,サーバーにアクセスできるようにする(リンク先参照)

パスワードの変更

初期パスワードを変更する.
ターミナルでログインして,初期パスワードを入力し,
新しいパスワードを二度入力する.

$ passwd 
Current password:
新しいパスワード:
新しいパスワードを再入力してください:

Jupyter notebookの設定ファイルを記述

jupyter notebookはデフォルトでは,localからしか接続できないので,
設定ファイルを作成し情報を追記.
※0.0.0.0はすべてアクセスを許可する設定のため,セキュリティには,注意が必要.使用していないときは,Jupyter notebookをシャットダウンするなど

$ jupyter notebook --generate-config
$ sed -i "$ a c.NotebookApp.ip = '0.0.0.0'" .jupyter/jupyter_notebook_config.py

Ctrl + Cでシャットダウンできる.

機械学習とは

thumbnail

使用するアプリや言語の説明

今回使用するのは
– Python3
– pandas
– Jupyter Notebook

Python3

インタプリタ型のプログラミング言語のひとつ.
※Python3とPython2は互換性がない.
インデントが構文規則として使用されており,書きやすく読みやすいという特徴がある.
使われる分野が広く機械学習でも使用される.

プログラミング言語 : コンピュータ言語の内コンピュータプログラムを記述するための言語.
インタプリタ型 : プログラムを実行する手段の一つ.ソースコードを1行ずつ読みこみ実行命令として,動作する.

pandas

Pythonライブラリの一つ.
データ解析を支援する機能を提供する.
データフレームという,データ操作のための高速で効率的な独自のデータ構造を備えており,
機械学習の前処理を効率的に行うことが可能.

Jupyter Notebook

Jupyter Notebookドキュメントを作成・共有するためのWebアプリケーション.
IPythonのREPLを提供している.
Jupyter Notebookドキュメントはプログラムコード、Markdownテキスト、数式、図式等を含むことができ,
下記のことがブラウザ上で可能.

    • 数値計算アルゴリズムとシミュレーション結果の表示

 

    • 統計解析コードとその実行結果グラフの表示

 

    • 機械学習モデルと推論出力

 

    プログラムとその結果を再実行可能

IPython : Pythonを対話的に実行するためのシェル.
REPL : 入力・評価・出力のループ.ユーザーとインタプリタが対話的にコード片を実行できる.

Jupyter Notebookの起動

SSHクライアントからターミナルを使い,Jupyter Notebookを起動.
(SSHクライアントが分からない場合は,Windowsのコマンドプロントから使用可能)

$ jupyter notebook

起動後に表示されるリンクをブラウザで起動し,
アップロードから学習用のデータを設置する.
ターミナルに戻り,データを解凍する.

$ unzip data.zip
$ cd data
$ unzip train.zip

ipynbファイルの作成

Pythonプログラムを書くために
まずは,ブラウザを開き,
新規作成ボタンから,Python3を選択する.
ipynbファイルが作成される.

img10.png

Pythonライブラリのインポート

今回使用するpandasライブラリをインポート
※ライブラリのインポートは,基本的にコードの最初に行う必要がある.理由はPythonはインタプリタ型であり,インポートとした行より下の行でしか反映されないため.

import pandas as pd
img11.png

CSVファイルの読み込みと出力

filename = "data/train/n10degC_Cycle_1_Pan18650PF.csv"
raw_dataset = pd.read_csv(filename)
df = raw_dataset.copy()
print(df)

1行目でCSVファイルパスを指定.
2行目でそのファイルをpandasのデータフレーム形式で呼び出す.この時,引数にファイルパス以外指定していないので,自動的にCSVファイルの1行目がカラム名として使用される.
3行目は呼び出したデータをコピーしている.
※ pandasのデータフレームは参照渡しを行うため,下記のようには書くときは注意が必要.複製を作る場合はcopy()を使用しなければならない.copy()を使わない場合,dfの中身を変更した時に,参照元であるraw_datasetの中身も変更される.

df = raw_dataset #この記述はダメ

4行目は,呼び出したデータフレームの内容を出力している.

img12.png
广告
将在 10 秒后关闭
bannerAds