【Python×データサイエンス入門⑧】機械学習モデル「決定木」で予測してみよう!

オススメ

【Python×データサイエンス入門⑧】機械学習モデル「決定木」で予測してみよう!
※現在、質問・相談コメントの返信は対応しておりません。ご承知おきくださいませ🙇🏻‍♂️

データサイエンス入門の第8回目になります!

バブル期の熱は冷めましたが、今でもデータサイエンティストを欲しがっている企業はたくさんあります。
DX時代に備えて、今からデータサイエンスを勉強しておきましょう!

≪この動画で学べる内容≫
①決定木モデルの実装方法が分かる
②機械学習における分類と回帰の違いが分かる
③予測結果の連結方法が分かる

▼この動画シリーズで使っているコード・データ

▽ソースコードのダウンロード(Github)
https://github.com/hayatasuuu/DataScienceBeginner

▽データのダウンロード(Kaggle)
https://www.kaggle.com/

■□■□■□■□■□■□■□■□■□■□

▼Pythonの学習が済んでいない方はこちら!

【Python入門①】Pythonの特徴とPythonでできることを徹底解説!【2020年版】

▼スクレイピングを学んでみるならこちら!

【Python × スクレイピング入門①】スクレイピングとは?注意点3つと必要なライブラリを紹介

▼Anacondaのインストール方法(Windows)
テキスト:https://tech-diary.net/anaconda-install-windows/

■□■□■□■□■□■□■□■□■□■□

▽Twitter

▽Blog
https://tech-diary.net/

▽stand.fm(ラジオ)
https://stand.fm/channels/5f812ac1f04555115d597948

▼経歴
現在:フリーランスエンジニア(Python, GCP)
過去:大手SIerで機械学習系エンジニア&プログラミングスクール講師→大手金融機関(連結3万人以上)でデータサイエンティスト(Python, AWS)→スタートアップでWebエンジニア(Golang, ReactJS)→現在に至る

コメント

  1. まっきー より:

    4:20 あたりの#決定木モデルの作成 がエラーになってしまいます。
    エラーメッセージの全文はもっと長いのですが、最後の一文は

    ValueError: could not convert string to float: ‘male’

    となっています。解決策などありましたら教えていただきたいです

  2. Harry HW より:

    はやたす先生

    データサイエンス入門、楽しみながら受講させていただきました。題材(タイタニックの生存予想)が、サスペンス風で、一気に視聴致しました(もちろん、自分でもコード入力しながら)。

    1件、ご質問事項が浮かびましてお伺いです。

    ①特徴量と正解をもとでに、Scikit-learnが、両者の関係を分析して、モデルを構築し、当該モデルに基づいて、予測が行われるものと理解しました。

    ②ご質問事項は、Scikit-learnが、どのような方法で、特徴量と正解のあいだの関係を分析し、モデル構築を行っているのか?という点になります。この点、Qiita等参考になる記事がありましたらご教示賜れますと幸甚です。
    (と、ここまで記したところで、掲載されているQiita記事を読み返しましたら、「決定の構築(イメージ)」に詳細説明がありました。
    (私の手持ちの消化酵素では)エントロピー、ジニ不純度は、読解しきれなかったものの、「データを分割する素性」に基づいて、データの分類を行っているサマをなんとなくイメージ致しました。掲載記事に解説がありましたので、ご質問は取り下げますm(_ _)m )

    Scikit-learnが、斯かる解析を行っていることに驚きです。

    先生のおかげで、データサイエンスのプロセスを概観し、学習意欲を深めることができました。重ね、深謝申し上げます。

  3. キリキリマイ より:

    6:00から詰んだ、エラーハンドリングできない(;^ω^)
    記録用にコメント残しておきます。お忙しいと思うので返信しなく大丈夫です。
    —————————————————————————
    ValueError Traceback (most recent call last)
    in ()
    1 # 作成した決定木モデルを使った
    —-> 2 y_pred = model.predict(test)

    3 frames
    /usr/local/lib/python3.6/dist-packages/sklearn/tree/_classes.py in predict(self, X, check_input)
    417 “””
    418 check_is_fitted(self)
    –> 419 X = self._validate_X_predict(X, check_input)
    420 proba = self.tree_.predict(X)
    421 n_samples = X.shape[0]

    /usr/local/lib/python3.6/dist-packages/sklearn/tree/_classes.py in _validate_X_predict(self, X, check_input)
    378 “””Validate X whenever one tries to predict, apply, predict_proba”””
    379 if check_input:
    –> 380 X = check_array(X, dtype=DTYPE, accept_sparse=”csr”)
    381 if issparse(X) and (X.indices.dtype != np.intc or
    382 X.indptr.dtype != np.intc):

    /usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    576 if force_all_finite:
    577 _assert_all_finite(array,
    –> 578 allow_nan=force_all_finite == ‘allow-nan’)
    579
    580 if ensure_min_samples > 0:

    /usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan, msg_dtype)
    58 msg_err.format
    59 (type_err,
    —> 60 msg_dtype if msg_dtype is not None else X.dtype)
    61 )
    62 # for object dtype data, we only check for NaNs (GH-13254)

    ValueError: Input contains NaN, infinity or a value too large for dtype(‘float32’).

タイトルとURLをコピーしました