🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

1回答

535閲覧

機械学習で、結果を y_pred.astype(np.uint32)にする理由がわかりません。

nobita

総合スコア66

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2019/12/24 04:51

現在、 Python と JupyterNotebookを使用して、機械学習の学習を進めています。
下記のように、モデルを作成して、予測値を出したのですが、テキストですと unit32に変換をしています。
この意味がわかりません。。。
なぜ、 unit32に変換するのでしょうか? 変換する前ではNGなのでしょうか?

よろしくお願いします。

Python

1model1 = LinearRegression() 2model1.fit(X_train,y_train) 3y_pred = model1.predict(X_test) 4y_pred1 = y_pred1.astype(np.uint32) 5y_pred1
array([ 2976504, 2011342, 2011854, 7234625, 6247455, 13182582, 9095368, 2967043, 2003902, 2005009, 7248612, 6248144, 13219973, 9106668, 2954454, 1996155, 1998231, 7255390, 6231681, 13254834, 9116352, 2944770, 1990345, 1990484, 7267011, 6232650, 13325526, 9129909, 2935086, 1984534, 1983705, 7285410, 6240397, 13414617, 9148308, 2925379, 1978971, 1978006, 7304327, 6253631, 13527211, 9170788], dtype=uint32)

↑はテキスト通りです。

python

1model = LinearRegression() 2model.fit(X_train,y_train) 3y_pred = model1.predict(X_test) 4# y_pred1 = y_pred1.astype(np.uint32) 5y_pred
array([ 2976504.14057851, 2011342.56289519, 2011854.39154483, 7234625.09520132, 6247455.80231131, 13182582.0053275 , 9095368.35770289, 2967043.08465489, 2003902.51246928, 2005009.89376918, 7248612.3512669 , 6248144.31927771, 13219973.0279808 , 9106668.36400511, 2954454.16684455, 1996155.48612445, 1998231.24571746, 7255390.99931863, 6231681.88829495, 13254834.64653252, 9116352.14693614, 2944770.38391352, 1990345.21636583, 1990484.21937263, 7267011.53883587, 6232650.26658806, 13325526.26192905, 9129909.44303959, 2935086.60098249, 1984534.94660721, 1983705.57132091, 7285410.72640483, 6240397.29293288, 13414617.06489455, 9148308.63060855, 2925379.57697242, 1978971.61331333, 1978006.665066 , 7304327.0279823 , 6253631.15068643, 13527211.37741195, 9170788.56430465])

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

scikit-learnだと想定して回答しますが、結論から先に書いてしまうとそこまでシビアに型は問題にならないので、不要な処理です。リファレンスもそこまで細かく指定していません。

内部的にも型変換されて適切な型で取り扱われるはずなので、二度手間になる可能性が高いです。

sklearn.linear_model.LinearRegression — scikit-learn 0.22 documentation

投稿2019/12/24 05:14

hayataka2049

総合スコア30935

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nobita

2019/12/25 04:25

回答ありがとうございました。 つまり、`uint32`などと、型を指定しなくても、自動で変換してくれるといった感じでしょうか? テキストは型というものがあるから一応変換の指定をしているといった感じでしょうか?
hayataka2049

2019/12/25 08:14

よくコードを見たらそもそもsklearnのモデルに入力しないデータみたいですね。y_predか 小数点以下を切り捨てたかっただけなのでは? それ以外思い付きません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問