前提・実現したいこと
test train splitを使ってテストデータを分割
前提となるX,Yのデータセットの作成
発生している問題・エラーメッセージ
前提となるX,Yのデータセットの作成
(今回ベースとなるデータは顧客データ(エクセル)でして
データによって異なると思いますが、一般的なコードを教えて頂ければ幸いです)
該当のソースコード
jupyter
試したこと
下記のように別コードを参考に入力したが、上手く出力されない
~reading the file into Python
chef = pd.read_csv(file)
X = chef[target_column]
y = chef[feature_num_columns]
~Create training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state=219)
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
> 下記のように別コードを参考に入力したが、上手く出力されない
「上手く出力されない」とはどういうことでしょうか?
下記のエラーメッセージが出てしまう状況です。よろしくお願い致します。
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
2890 try:
-> 2891 return self._engine.get_loc(casted_key)
2892 except KeyError as err:
pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'X'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
<ipython-input-43-128784b57006> in <module>
----> 1 X = chef[target_column]
2 y = chef[feature_num_columns]
3
4 # preparing training and testing sets (all letters are lowercase)
5 X_train, X_test, y_train, y_test = train_test_split(
~\anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
2900 if self.columns.nlevels > 1:
2901 return self._getitem_multilevel(key)
-> 2902 indexer = self.columns.get_loc(key)
2903 if is_integer(indexer):
2904 indexer = [indexer]
~\anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
2891 return self._engine.get_loc(casted_key)
2892 except KeyError as err:
-> 2893 raise KeyError(key) from err
2894
2895 if tolerance is not None:
KeyError: 'X'
他の回答者にも伝わるように情報は質問に追記しましょう。
エラー発生箇所は「X = chef[target_column]」でしょうか? データフレーム chefにtarget_columnという列は存在していますか?
meg_さま
ご確認ありがとうございます。エラー発生箇所は、ご指摘の通り「X = chef[target_column]」で、データフレーム chefにtarget_columnという列は設定していませんでした。
X,yについては特定のカラムを指定するのが一般的でしょうか?
改めて見直してみたいと思います。
推測するに機械学習用のデータを指しているかと思いますが、何を特徴量とするかはそれぞれですし、そのデータの生成方法もそれぞれだと思います。
ありがとうございます!
あなたの回答
tips
プレビュー