文系のIT遊記

「そもそもITって何?」と思っていた28歳♀のIT関係勉強記。

数学アレルギーだけどキカガクの「Python&機械学習入門」を受講してます〜単回帰分析の実装編〜

キカガク「Python&機械学習入門」〜単回帰分析の実装編〜

pythonのイメージ画像

Python速習が終わり、単回帰分析の実装まで辿り着きました!

やった!

 

前回学んだPythonを使いながら、サンプルデータを用いて単回帰分析を行なっていきます。

 

キカガク「Python&機械学習入門」の単回帰分析の実装、何をするのか

「単回帰分析の実装」では何をするのか?

最終的には、家の広さを入力すると、家賃の予測値が返ってくるようにします。

すごーい。

 

受講スタイルは引き続き、話を聞きつつ手を動かすタイプです。

 

単回帰分析に必要な手順を学びつつ、必要なライブラリの使い方も覚える。

 

という感じ。

 

動画の見出しは以下の通り。

  • NumPy 速習
  • Pandas / Matplotlib 速習
  • Numpy 実装

 

動画自体の時間は1本あたり10〜25分です。

 

しかし、実際の学習時間はもっっとかかります。

 

 

キカガク「Python&機械学習入門」の単回帰分析の実装、やってみてどうだった?

学習時間のイメージ画像

単回帰分析の実装の学習時間

先ほど述べた通り、動画自体の時間は10〜25分程度です。

 

でも。

 

話を聞きつつ、

メモとりつつ、

手を動かしつつ、

確認しつつ、

気になったことは調べつつ、

 

という進め方だと、3〜5倍の時間がかかりました。。

つまり、30分〜2時間くらいかかるということです。

 

私のやり方で時間がかかる要因は、以下の2つかと。

  1. 後で自分が見返した時に「?」とならないよう、説明の言葉も漏らさずメモしようとする
  2. 解説されていない内容も、気になったことは調べてやってみている

 

NamPyとかPandasとか、なんとなく基本は知っているよ〜という人は、ここまでの時間はかからないと思います。

 

その名称は聞いたことあるかも、、程度だと時間がかかります。

 

単回帰分析の実装の学習環境

学習に使う環境は、前回のPython速習でも使用したGoogle Colaboratoryです。

ほぼ何の準備も要らず、開けば使えるすごいやつです。

ありがとう。

 

単回帰分析の実装の内容

やはり、Python速習よりは難しくなったなあ、という感じです。

 

単回帰分析ってなんだっけ?

この式はどういう意味だっけ?

 

ということを思い出しながら、話を聞き、手を動かすので。

 

私は、数学の講座で使ったノートを傍に置きつつ受講しました。

 

数学を大学でも勉強していた人や、そうでなくとも数Ⅲ・Cをやっていた人などは、もう少し、スムーズに学べるのかもしれません。

 

とはいえ、難しい計算のところはプログラムがやってくれるので、単回帰分析で予測を導くまでの手順やどんな式を使うかが理解できれば大丈夫です。

 

まあ、それも初めてだとおぼつきませんが、、笑

 

ただ、実際にサンプルデータを使って予測できるのはちょっと楽しい!!

プロブラムを組んだことによって、表として可視化されたときは「おお〜!」と私がどよめきました。

 

数字の羅列だとつまらないけど、可視化されるとなんかすごい!ってなりました。笑

プログラミングによりデータが可視化された画像

データが可視化された!

 

キカガク「Python&機械学習入門」の単回帰分析の実装、まとめ

内容はPython速習よりレベルアップしています。

ただ、説明は相変わらずわかりやすいです。

知らない言葉の出てきますが、ググればすぐにわかる程度です。

 

サンプルデータとはいえ、実際に持っているデータが可視化されて、予測値のグラフができた時には結構感動しました。

 

なんか機械学習を学んでるっぽい!という気持ちになります。

(いや学んでいるんだけれども)

 

単回帰分析では、予測値をだすために使うデータは1種類のみなので、なんとか理解できたように思います。

 

以上が、キカガクの「Python&機械学習入門」単回帰分析の実装編の受講レポートでした。

 

次の重回帰分析の実装が理解できるのか今からドキドキです。

頑張るぞ!

 

キカガクが気になった方はこちら!

www.kikagaku.co.jp

数学アレルギーだけどキカガクの「Python&機械学習入門」を受講してます〜Python速習編〜

キカガクの「Python&機械学習入門」、Python速習編に突入

ついに鬼門の数学を乗り越え、Python速習に辿り着きました!

やったー!!

 

何度も心が折れかけたけどやり切った自分を褒めることにします。

えらい!

 

Pythonはちょっぴりかじってるから、怖くない!!はず。

全くの未経験ではないけど、ガッツリ理解してます使えます!というわけではない私にとってのレベルはどうかなあ。。

キカガクの「Python&機械学習入門」のPython速習、何をするのか

まず、何をするかが気になりますよね。

 

受講スタイルとしては

 

Pythonの基礎について、話を聞きつつ、自分でも手を動かしながら、やってみる。

 

という感じでした。

実際にやってみるの大事。

 

話を聞いて分かったつもりでも、いざ自分でやろうと思ったら全然分からなくてフリーズという経験、あります。

 

動画の見出しは以下の通り

  • 環境構築
  • 変数
  • 基本構文
  • 制御構文
  • 関数
  • クラスの基礎

これらを、それぞれ10〜30分くらいの動画で解説してくれます。

 

必要な部分を最低限で教えてくれます。

これやれば何も悩まずコードかけるぜ!という感じではありません。

最低限の知識を教えてくれて、必要なら自分でもっと調べてねという感じ。

 

キカガクの「Python&機械学習入門」のPython速習、やってみてどうだった?

Python速習の学習時間

話を聞きつつ、一時停止しつつ、メモをとりつつ、やってみる。

というスタイルだったので、実際の学習時間は少なくとも1.5倍くらい

 

私の場合は、色々メモしながら、エラーが出てなんでだろ〜とちょっと悩んだりすることもあったので2〜3倍くらいかかることもありました。

 

Python速習の学習環境

GoogleのColaboratlyというものを使います。

恥ずかしながら、ここで初めてその存在を知りました、、

開いたらすぐに始められます。

始める前に、自分のPCに色々入ってるか確認して、足りなかったらインポートして、、、といった面倒なことは一切ありません。

環境構築で心が折れることがなくて素敵です。

 

ちなみに、物理的な面で言うと、2画面欲しいなと思いました。

ディスプレイが2つあるのが理想です。

 

片方で動画を再生しつつ、もう一つで実際にやってみる、みたいな。

 

ディスプレイが大きければ、2画面なくても大丈夫かも。

ノートPC1台でももちろんできますが、若干見づらいです。

こんな感じ

 

Python速習の内容

内容は、めっちゃよかったです。

わかりやすい。

本当に最低限の内容しか出てこないので、意味わからん!!とはなりません。

関数やクラスは理解が微妙だったので、ビクビクしていましたが、サラーっと終われました。

 

Pythonをちゃんと理解して使える人は倍速で見たり飛ばしてもいいレベルだと思います。

しかしながら、これを受講する人はおそらく私のような初心者なので、しっかり見て、分からないことは調べて、理解しましょう。

 

本当の本当にプログラミング自体が初めてなんです!

という場合には、出てくる言葉の概念みたいなものを理解するのに時間を要するかもしれません。

 

変数、引数、要素などなど、馴染みがない言葉がたくさん出てきます。

講義中でも特に詳しくは解説されていない(と私は思った)ので、言葉でつまづく方は、Google先生に聞きましょう。

わかりやすく概念を解説してくれるサイトがあるはず。

 

こんな感じでスクールとか個人のブログで解説してくれてます↓↓

web-camp.io

kitsune.blog

 

キカガクの「Python&機械学習入門」のPython速習、まとめ

一言で言えば、わかりやすい、ですね。

初心者に優しいです。

 

環境構築は特に難しくないし、文法とかも最低限。

心が折れるポイントがなく、動画の時間も絶妙で長くない。

 

一緒に手を動かすので理解が進みます。

ありがとうございます。

 

講座の内容とは関係ないですが、エラーが出た時に割とすぐ原因を見つけられたことに自分の成長を感じました。(すっごい些細なんですけどね。スペースが半角じゃなかったとか、単語のスペルが途中で変わってるとか)

 

以上が、キカガクの「Python&機械学習入門」Python速習編の受講レポートでした。

 

現在は単回帰分析の実装に取り組んでいます。

頑張るぞ!

 

キカガクが気になった方はこちら!

www.kikagaku.co.jp

数学アレルギーの私が、キカガクの「Python&機械学習入門」を受講し始めた話。

重度の数学アレルギー

うなだれる女性

「ああ、また今日もわからないことが増えていく、、、」

時間割に数学があるのを目にしては、女子高生の私は絶望していた記憶があります。笑

 

私は重度の数学アレルギーです。

小中学生の頃からなんとなく苦手だったけど、高校に入ってより悪化した気がします。

定期テストで他の教科が軒並み90点代を突破する中、数学だけが赤点でした。

 

なぜならば。

 

何を求めているかわからない。

なぜそれを求めようとしているのかわからない。

何に使うかわからない。

何から手をつければいいかわからない。

とりあえず覚えろと言われる公式が多い。

(しかも公式にはよくわからない記号が多い)

 

全体的によくわからんよ!!

覚えなきゃいけないの数学の公式だけじゃないんですよ!こちとら!!

意味もわからず覚えられるか!!

と、思っていました。

 

でもAIや機械学習に興味が湧いてしまった

全くの知識0からPythonを学習してみたり、Pythonが機械学習によく使われる言語であることを知ったりしたら好奇心は疼きます。

 

ただ、数学めっちゃ苦手。

 

でも、AIの入り口を覗くくらいはしてみたい。

初学者向けに、わかりやすく、しかもリーズナブルに、知識を提供してくれるところはないのかしら。

と、思っていたら出会いました。キカガクの無料講座に。

 

キカガクとは

重度に数学苦手な私でもやってみようと思えた講座を公開してくれている(しかも無料で!!)「キカガク」とはどんな会社かというと。

www.kikagaku.co.jp

 

一言で言えば教育の会社なのだそうです。

教育を起点に社会を変えていきたい、という志高き会社です。

 

今回私が受講している「Python&機械学習入門」の後に受講をお勧めされている講座(これも無料!!)をなぜ無料公開することにしたのかを書いている記事もあったので載せておます。

 

qiita.com

 

Python&機械学習入門で学べること

pythonのイメージ画像

「Python&機械学習入門」で学べる内容ざっくり言うと以下の通りです。

 

・機械学習を学ぶにあたって必要な数学の基礎知識

・学んだ数学とPythonを使った機械学習の基本の実装の仕方

 

機械学習に必要な数学というと、

・微分

・線形代数

・単回帰分析

・重回帰分析

 

などがあるようです。

もうこの単語が並んだだけで心が折れそうです。

 

でも大丈夫です。

今のところ私も学習を続けられています。

 

Pythonの基礎も教えてもらえるようですが、まだ私がそこまでたどり着いていないので、内容のご紹介ができません。すみません。

無事に学習が進められたら、ご紹介したいと思います。

 

Python&機械学習入門を学び始めた感想

現在の進捗は、まだ数学の基礎を学んでいるところですが。

 

正直に言うと、

すごくわかりやすいです。

 

数学アレルギーな私でも、今のところ心が折れることなく続いています。

 

要因はいろいろあるものの、主に3つかと。

 

1.説明しながら手書きで説明してくれる。

Python&機械学習入門の講座画面

一緒にノートを取りながら進められるのがありがたいです。

使う色は2色。文字も丁寧。手も清潔。

ごちゃつかず、シンプルでわかりやすいです。

 

 

2.心理的ハードルを下げてくれる

これ、地味かもしれないけど大事だと思うんです。

 

専門的な響きが聞こえてきた気がしただけで「う、無理かも、、」と思ってしまう人間からすると特に。

 

絶妙なタイミングで「そんなに難しくないので大丈夫です」と言われると、「あ、そうなんだ、よかった〜」と不安が軽減されます。

 

 

3.ホーム画面の使い心地が良い

学習の進捗管理画面1

学習の進捗管理画面2



講座の内容はもちろん、ホーム画面の使い心地も良いです。

よし、始めるぞ、という気持ちになるホーム画面です。

 

・日々の学習量がわかるカレンダー

・学習した日数

・コースの終了までの目安日数

 

などなど。

 

週の学習時間を設定すれば、いつまでにどのチャプターを終わらせれば良いのかの目安を表示してくれるのが便利です。

 

 

まとめ

キカガクの「Python&機械学習入門」は、数学が苦手でも大丈夫!(なはず。たぶん。信じてる。)

 

まだコースを初めはばかりなので大まかなことしかお話しできませんでしたが、機械学習やAIについて、初めて学ぶ人にもおすすめの講座です!

 

一緒に頑張りましょう!

 

 

講座はこちら

www.kikagaku.co.jp

成長に必須の【4要素】〜仕事と勉強のやり方は似ているよという話〜

勉強は難しくない。でも仕事は難しい。

悩む女性

学校の勉強や資格のための勉強はどちらかというと得意。

でも、仕事に関しては毎度同じような注意をされる。

そんな悩みを抱える私が、勉強も仕事もやり方は同じだよ、と言われて「ほほう」となったお話。

勉強が苦手な人にも、仕事で注意されがちな人にも、参考になったら幸いです。

 

成長のためにやることの基本【4つ】

ポイント

1.教わったことはノートにとる

仕事だとメモを取る、と言われることの方が多いかも。

とにかく、記録がなければ見返すこともできません。

書かなければ忘れてしまいます。

だから、教わったことはなるべくその場で書き留めましょう。

漏れていないか教えてくれた人に確認できるとなお良いかと。

2.忘れないように復習する

勉強するときに口すっぱく言われた記憶のある「復習」。

その日のノートを夜に見返したり。

あるいは、授業が始まる前に前回の分のノートを見直しておいたり。

お仕事も同じです。

メモを見返したり、似たような仕事を始める前にもう一度メモを見ておいたり。

 

有名なエビングハウスの忘却曲線を見てもわかるとおり、人間は忘れる生き物です。20分後でも約40%、1日経つと約75%を忘れてしまうと言われています。

だから、何度も思い出すことが必要です。

日々覚えるべきことは増えていきますが、何度も思い出す、復習することを続けていくと、記憶は定着します。

未来の自分が楽をするために、5分だけでも復習の時間を持ちたいですね。

3.練習問題をやってみる

授業で例題を解いたなら、自分で似たような問題を解いてみましょう!

仕事で教わった考え方や物事の進め方は、別の例に当てはめて自分で取り組んでみます。

復習ともやや重なるところではありますが、ノートを見返すことに加えて、練習問題をやってみたなら、あなたの実力はきっとすごく上がることでしょう。

問題なく解ければ、あなたはその解き方をしっかりと理解しているということ。

嬉しいですね!

しかし、授業中になんとなくわかったつもりだった問題の解き方が、自分でやってみたら意外とわからない、、という事態は起こりがちです。

でも、どこがわからないかがわかればこっちのものです!

4.やってみてわからなかったら聞く、調べる

そう、わからなかったら聞けばいいのです。

どこがわからないのかもわからない状態の人に何かを教えるというのは難しいことです。

しかし、何がわからないのかがわかっている人には教える側も教えやすい。

「ここまではわかったけど、ここから先が理解できていないみたい」

「ここまで考えてみたけど、この部分がどうしてもしっくりこない」

「これがわからなくて調べてみたけど、こういう理解で合ってるのかな?」

などなど。

わからないことは聞きましょう。

教えてくれた人に聞いてもよし、詳しそうな人に聞いてもよし。

 

聞くことは、恥ずかしいことではありません。

むしろ、自分なりに勉強をして、さらに質問をしてくれる人なんて、すごく印象いいですよね。

まとめ

まとめ

勉強にしろ、仕事にしろ、教わったことを身につけるために必要なものは基本的にこの4つ。

 

1.教わったことはノート(メモ)をとる 

2.忘れないように復習する 

3.練習問題をやってみる 

4.やってみてわからなかったら聞く、調べる

 

私も、後回しにしないように、教わったことはその日のうちに5分でも見返すようにします!

がんばりましょう!

【初めてのJavaScript】Progateで基本を学習〜出力、変数・定数の定義等〜

ProgateでJavaScriptの基本を学習!

Progateを使って、初めてJavaScriptの学習をしました!

復習のためのアウトプットです。

Progateは、初めてプログラミング学習をする方に、とってもおすすめです!

JavaScriptの画像

console.log();

()内の文字列や数値をコンソールに出力する。

(例)

console.log("文系のIT遊記");

出力結果

文系のIT遊記

let 変数名 = 代入する値;

新しく変数を定義する。変数を更新する時には let はいらない。

(例)

let animal = "ねこ";

console.log(animal);

出力結果

ねこ

ちなみに値を更新するときは、letをつけずに下記のように書く。

animal ="鳥";

console.log(animal);

出力結果

先ほどと同じコードを書いても、出力結果は更新後の値になる。

 

const 定数名 = 代入する値;

定数を定義する。値の更新はできない。constとはconstantのこと。

(例)

const animal = "ねこ";

console.log(animal);

出力結果

ねこ

constで定義した定数をletの時のように更新しようとするとエラーになる。

`文字列${定数や変数}文字列`

文字列に定数や変数を含めるときは「``(バッククォート)」で全体を囲み、「${}」内に変数や定数を書く。

(例)

const animal = "ねこ";

console.log(私の好きな動物は${animal}です);

出力結果

私の好きな動物はねこです

 

ちなみにバッククォートの入力方法はJISキーボードとUSキーボードで位置が違うようです。

私はJISキーボードなので「shift」+「@」で入力できました。

USキーボードだと、「1」の左隣にあるそうです。

JavaScriptの基本(出力、変数・定数の定義)まとめ

ノートと時計の写真

「console.log();」 で()内を出力。

「let 変数名 = 代入する値;」で変数を定義。

「const 定数名 = 代入する値;」で変数を定義。

文字列${定数や変数}文字列」で文字列に定数を含められる。

 

今日のところは超初歩の初歩なので、次回以降も頑張ります!

 

bunkei_it
プログラミングって何?という人でも大丈夫! Progateで一緒に学びましょう♪

抽象的な課題に取り組むときの方法

抽象的な課題に取り組む方法

「〇〇しておいて〜」

「〇〇についてまとめてみて」

「〇〇についてどう思う?」

などなど、抽象的な課題を与えられたとき、どのような型で考えたり手を動かしたりすればいいのかをまとめます。

抽象的な課題に取り組む3ステップ

ステップ1 目的を明確にする

課題に取り組む女性

何かに取り組むとき、それに取り組むための目的を明確にする必要があります。

なぜなら、目的が明確でないと、その後のゴールや取り組むべきことが、本来あるべき方向とずれてしまうからです。

 

例えば。

「ポートフォリオを作る」という課題があったとします。

私の場合、ここで「じゃあ、ポートフォリオにはどんな要素があるか調べてみよう!」

と、すぐに行動を起こしたくなります。

しかし、「ポートフォリオ」と名がつくものはこの世の中に数多く存在します。

指針がなければ、「ポートフォリオ」と名がつく物を手当たり次第に見てみることになってしまい、時間がいくらあっても足りません。

自己紹介なのか、フリーランスで仕事をもらうためなのか、転職するためなのか、デザイナーなのか、エンジニアなのか、などなど、作品例は無限にあります。

だから、まずは「何のために、ポートフォリオを作るのか」を決めたり、確認したりする必要があります。

 

ポートフォリオに限らず、何に取り組むにおいても、最初にその課題に取り組む本来のを明確に言語化しましょう。

ステップ2 ゴールを設定する

目的が決まったら、次はゴールの設定です。

目的そのままだと大きすぎてまだ抽象的なので、より細かく「つまりどのような状態になっていること?」というところを設定していきます。

例えば、以下のような目的があった場合。

【目的】「未経験者エンジニアとして転職する為のポートフォリオを作成する」

 

この目的が達成されるために必要なゴールを設定していきます。

使っている言葉について、細かくみていくイメージです。

 

・未経験者の場合のポートフォリオに必要な要素が入っている状態にする。

・エンジニアのポートフォリオに必要な要素が入っている状態にする。

・転職するために必要な要素が入っている状態にする。

・第三者が見て上記の要素が入っているとわかる状態にする。

 

上記だとまだ漠然としているので、もう少し詳しく設定できると尚良いですね。

ステップ3 やることを設定する

さて、ゴールの設定までできたら、あとはそのゴールを達成する為にやることを設定するだけです。

ゴールの設定まで終われば、やるべき事はかなり明確になってきているはずです。

 

例えば、先ほど設定したゴールについて、やることことを考えてみます

・未経験者の場合のポートフォリオに必要な要素が入っている状態にする。

→スキル、学習意欲がわかるようなもの?

→未経験者のポートフォリオに必要な要素を調べよう

 

・エンジニアのポートフォリオに必要な要素が入っている状態にする。

→成果物と、使用した技術や言語がわかるようなもの?

→エンジニアのポートフォリオに必要な要素を調べてみよう

 

・転職するために必要な要素が入っている状態にする。

→スキル、学習意欲、なぜ転職したいのか、これから挑戦したいことなどがわかるもの?

→転職事にどんな観点でポートフォリオが見られるのか調べよう

 

ではどう調べるのか?誰かに聞くのか?調べて必要な要素がわかったらどうするか?

 

など、目的とゴールが明確になっているため、やることが次々に明確になっていきます。

抽象的な課題に取り組む方法のまとめ

ここまで、抽象的な課題に取り組む方法を書いてきました。

 

1.目的を設定する

2.ゴールを設定する

3.やることを設定する

 

この3ステップを活用して、難しいなと思う課題にもチャレンジしていきます!

頑張ろう。

基本のコマンドラインの種類

よく使用される基本のコマンドラインの種類を学習

PCで学習する様子

コマンドラインについて、よくわからないまま使用していたためProgateの「Command Line」コースで学習しました。

ここでは、よく使われるコマンドラインとその意味を、復習のためにアウトプットしていきます。

すごく簡単だけど、きちんと学習するのはやっぱり大切。

ではスタート!

touch ファイル名

新しいファイルを作成する。

cat ファイル名

concatenate。

ファイルの中身を表示する。

mkdir ファイル名

make directory。

ディレクトリ(フォルダ)を作成する。

cd ディレクトリ名

change directory。

ディレクトリを子の方向に1つ移動する。

cd ..

ディレクトリを親の方向に1つ移動する。

cd

ホームディレクトリに移動する。

pwd

print working directory。

現在作業中のディレクトリを確認する。

ls

list。

ディレクトリの中のディレクトリやファイルの一覧を表示する。

※1つ「子」の階層のみ。

mv ファイル名 ディレクトリ名

move。

ディレクトリにファイルを移動する。

mv ディレクトリ名 移動先のディレクトリ名

ディレクトリにディレクトリを移動する。

ディレクトリ以下にあるファイルも一緒に移動する。

mv ファイル名 新しいファイル名

ファイル名を、新しいファイル名に変更する。

cp コピーするファイル名 新しいファイル名

copy。

既存のファイルの中身をコピーし、作成したコピーのファイルに新しいファイル名をつける。

cp -r コピーするディレクトリ名 新しいディレクトリ名

既存にディレクトリの中身をコピーし、作成したコピーのディレクトリに新ファイル名をつける。

rm 削除するファイル名

remove。

ファイルを削除する。

rm -r 削除するディレクトリ名

ディレクトリを削除する。

よく使う基本のコマンドラインの復習、おわり。

mkdirとかcdとかlsとか、元の単語の意味がわかっていると理解しやすいなと思いました。

闇雲に覚えるのではなく、納得して覚えると忘れにくい気もします!

次回はGitの復習をする予定です。

頑張ろう!