Размер видео: 1280 X 720853 X 480640 X 360
Показать панель управления
Автовоспроизведение
Автоповтор
本動画で使用しているソースとファイルのダウンロードは下記URLからどうぞ。analysis-navi.com/?p=3868
df.columns が利用できないのですが、原因がなにかわかりますか?エラーコードKeyError: "None of [Index([''], dtype='object')] are in the [columns]"
データフレームの列名が認識されていないのですかね。ソースコードとcsvはダウンロードしたものをお使いでしょうか?
predictするときテストデータが少ないとエラーが出るんですが原因ってわかりますか?predictのときに教師データと同じもの入れたりするとそれは上手く予測してくれるんですけど。
エラーの内容が分からないので何とも言えない所ではございますが、テストデータが少なくてもpredictは実行できるはずです。まずは、説明変数の数は教師データと合っているか、Excelのデータは正しくPythonに読み込めているか、などを確認されると良いかなと思います。
予測するデータが入ったエクセルの行数を5から1にするとエラーが出ます。5ならエラーが出ません。shapes(1,16)and(17,)not aligned:16(dim 1)!=17(dim 0)って感じですおそらくデータ数が1だったりすると何故か切片にかかる1の要素が入れられてないみたいです。
調査した所、仰る通りデータ数が1件ですとsm.add_constantで「const」の列が追加されずエラーになるようです。(バグなのでしょうか。。。)なので、カッコ悪いですがcsvに同じデータを2件入れて実行する、もしくは下記のように手動で「const」の列を追記して実行するとテストデータが1件でも実行できるようです。result.predict(sm.add_constant(df_future[X_name]))↓result.predict(pd.concat([pd.DataFrame([1.0],columns=["const"]), df_future[X_name]], axis=1))無理やりな対処ですみませんが、こちらでいかがでしょうか。
@@nishimaki ありがとうございます!試してみたいと思います
このようなデータをどのように収集したらいいのでしょうか
今回扱っているデータは、私が適当に作成したデータとなります。実際は、例えば気象庁のページから天候情報などを取得して、そこに自社固有のデータをくっ付けるなどして作成することになるかと思われます。
@@nishimaki ご返信ありがとうございます。現在、データ採取に苦戦中です。いつも参考にさせていただいております。今後も動画投稿楽しみにしております。
モーションセンサーで機械学習を使いたいのですが、上下に動かすとある動作をさせるようなものを作りたいのですが。モーションセンサーで上下に振る動作のデータがx軸、y軸、z軸の加速度などの数値がそれぞれ20個以上あります。このような数値を機械学習をしたいときどのような学習方法をすればよいでしょうか?
20個以上ある変数がすべて説明変数で、「ある動作」が目的変数になりますね。例えば「x軸=0.5、y軸=0.1、z軸=-0.2、、、、だった場合、動作は〇〇」といった要因と結果のセットを大量に機械学習に学習させる事になるかと思われます。
散布図での表記もしてほしかった
いつも本当にわかりやすい講義感謝しています。気温、価格 の数値を標準化もしくは正規化する必要はこのようなケースの場合ありませんか?正規化して実装しようとしてみたんですが、価格がゼロになってしまいました。本質とは違う質問になってしまいますが、どうしてでしょうか?【コード】from sklearn.preprocessing import MinMaxScaler# 標準化したいカラムを用意scaling_columns = ["temperature", "price"]scaler = MinMaxScaler([0,100])# DataFrameにfitsc = scaler.fit(df_past[scaling_columns])scaled_df_past = pd.DataFrame(sc.transform(df_past[scaling_columns]), columns=scaling_columns, index=df_past.index)df_past.update(scaled_df_past)df_past_SC=df_past【out】 sales temperature price rainy0 401 0.462963 33.333333 11 345 0.000000 0.000000 12 480 21.296296 0.000000 13 590 40.740741 33.333333 04 928 71.296296 66.666667 0
こちらこそご視聴ありがとうございます!コードを拝見すると、処理は正しく出来ているように思えます。データを0〜100に正規化する処理を行われていますが、priceの最低値が180、最高値が240なのでこれらがそれぞれ0と100に変換されます。なので、元データが180の箇所はすべて0、元データが240の箇所はすべて100となります。ちなみに回帰分析の前に正規化する事自体は誤りでなく、ゼロになったからと言って間違いという訳ではありません。
@@nishimaki ご回答ありがとうございます。そうですよね、ボトムが0でも問題ではないんですね。よくわかりました。
本動画で使用しているソースとファイルのダウンロードは下記URLからどうぞ。
analysis-navi.com/?p=3868
df.columns が利用できないのですが、原因がなにかわかりますか?
エラーコード
KeyError: "None of [Index([''], dtype='object')] are in the [columns]"
データフレームの列名が認識されていないのですかね。
ソースコードとcsvはダウンロードしたものをお使いでしょうか?
predictするときテストデータが少ないとエラーが出るんですが原因ってわかりますか?
predictのときに教師データと同じもの入れたりするとそれは上手く予測してくれるんですけど。
エラーの内容が分からないので何とも言えない所ではございますが、テストデータが少なくてもpredictは実行できるはずです。
まずは、説明変数の数は教師データと合っているか、Excelのデータは正しくPythonに読み込めているか、などを確認されると良いかなと思います。
予測するデータが入ったエクセルの行数を5から1にするとエラーが出ます。5ならエラーが出ません。
shapes(1,16)and(17,)not aligned:16(dim 1)!=17(dim 0)って感じです
おそらくデータ数が1だったりすると何故か切片にかかる1の要素が入れられてないみたいです。
調査した所、仰る通りデータ数が1件ですとsm.add_constantで「const」の列が追加されずエラーになるようです。(バグなのでしょうか。。。)
なので、カッコ悪いですがcsvに同じデータを2件入れて実行する、もしくは下記のように手動で「const」の列を追記して実行するとテストデータが1件でも実行できるようです。
result.predict(sm.add_constant(df_future[X_name]))
↓
result.predict(pd.concat([pd.DataFrame([1.0],columns=["const"]), df_future[X_name]], axis=1))
無理やりな対処ですみませんが、こちらでいかがでしょうか。
@@nishimaki ありがとうございます!試してみたいと思います
このようなデータをどのように収集したらいいのでしょうか
今回扱っているデータは、私が適当に作成したデータとなります。
実際は、例えば気象庁のページから天候情報などを取得して、そこに自社固有のデータをくっ付けるなどして作成することになるかと思われます。
@@nishimaki ご返信ありがとうございます。現在、データ採取に苦戦中です。いつも参考にさせていただいております。今後も動画投稿楽しみにしております。
モーションセンサーで機械学習を使いたいのですが、上下に動かすとある動作をさせるようなものを作りたいのですが。
モーションセンサーで上下に振る動作のデータがx軸、y軸、z軸の加速度などの数値がそれぞれ20個以上あります。
このような数値を機械学習をしたいときどのような学習方法をすればよいでしょうか?
20個以上ある変数がすべて説明変数で、「ある動作」が目的変数になりますね。
例えば「x軸=0.5、y軸=0.1、z軸=-0.2、、、、だった場合、動作は〇〇」といった要因と結果のセットを大量に機械学習に学習させる事になるかと思われます。
散布図での表記もしてほしかった
いつも本当にわかりやすい講義感謝しています。
気温、価格 の数値を標準化もしくは正規化する必要はこのようなケースの場合ありませんか?正規化して実装しようとしてみたんですが、価格がゼロになってしまいました。本質とは違う質問になってしまいますが、どうしてでしょうか?
【コード】
from sklearn.preprocessing import MinMaxScaler
# 標準化したいカラムを用意
scaling_columns = ["temperature", "price"]
scaler = MinMaxScaler([0,100])
# DataFrameにfit
sc = scaler.fit(df_past[scaling_columns])
scaled_df_past = pd.DataFrame(sc.transform(df_past[scaling_columns]), columns=scaling_columns, index=df_past.index)
df_past.update(scaled_df_past)
df_past_SC=df_past
【out】
sales temperature price rainy
0 401 0.462963 33.333333 1
1 345 0.000000 0.000000 1
2 480 21.296296 0.000000 1
3 590 40.740741 33.333333 0
4 928 71.296296 66.666667 0
こちらこそご視聴ありがとうございます!
コードを拝見すると、処理は正しく出来ているように思えます。
データを0〜100に正規化する処理を行われていますが、priceの最低値が180、最高値が240なのでこれらがそれぞれ0と100に変換されます。
なので、元データが180の箇所はすべて0、元データが240の箇所はすべて100となります。
ちなみに回帰分析の前に正規化する事自体は誤りでなく、ゼロになったからと言って間違いという訳ではありません。
@@nishimaki ご回答ありがとうございます。そうですよね、ボトムが0でも問題ではないんですね。よくわかりました。