私は住宅価格予測データセットを持っています。データセットをtrain
とtest
に分割する必要があります。
numpy
またはscipy
を使用してこれを行うことが可能かどうかを知りたいですか?
私は使用することができませんscikit
現時点では、scikitを使用せずにテストを分割するlearn
答えて
import numpy as np
import pandas as pd
X_data = pd.read_csv('house.csv')
Y_data = X_data["prices"]
X_data.drop(["offers", "brick", "bathrooms", "prices"],
axis=1, inplace=True) # important to drop prices as well
# create random train/test split
indices = range(X_data.shape[0])
num_training_instances = int(0.8 * X_data.shape[0])
np.random.shuffle(indices)
train_indices = indices[:num_training_indices]
test_indices = indices[num_training_indices:]
# split the actual data
X_data_train, X_data_test = X_data.iloc[train_indices], X_data.iloc[test_indices]
Y_data_train, Y_data_test = Y_data.iloc[train_indices], Y_data.iloc[test_indices]
ランダム分割が必要であることを前提としています。何が起こるかは、データポイントの数、つまりX_data(またはY_data)の最初の軸である限り、インデックスのリストを作成しているということです。私たちはランダムな順序でそれらを入れ、ちょうどそれらのランダムなインデックスの最初の80%を訓練データとして、残りをテストのために取る。 [:num_training_indices]
はリストから最初のnum_training_indicesを選択するだけです。その後、ランダムインデックスのリストを使用してデータから行を抽出し、データを分割します。スプリットを再現可能にする場合は、X_dataから価格を落としてシードを設定することを忘れないでください(最初はnp.random.seed(some_integer)
)。
(X_dataと仮定するとパンダのデータフレームである):
import numpy as np
print (X_data.shape) #Take the first number from X_data.shape and store it in num_of_rows
num_of_rows = (enter your number here) * 0.8
np.random_shuffle(X_data) #shuffles data to make it random
train_data = X_data.iloc[:num_of_rows] #indexes rows for training data
test_data = X_data.iloc[num_of_rows:] #indexes rows for test data
train_data.sort() # sorts data
test_data.sort()
は、この情報がお役に立てば幸い!
ありがとうございます。もう1つ質問です。一番上の行には、列ラベルがあります。私はそれらを取り除く必要があると思う。右 ? –
@CODE_DIYはい、列ラベルを削除する必要があります。列ラベルを保存し、df.columns = [(ここに列ラベルを挿入する)]と言うことをお勧めします。 – jaguar
- 1. Scikit-learnマルチラベル分類
- 2. scikit-learnでImputerを使用
- 3. scikit-learn:カスタムラベルを使用してテキストを分類する
- 4. scikit-learn DPGMMを使用する前提
- 5. インストールせずにscikit-learnライブラリをロードする
- 6. scikit-learn DBSCANメモリの使用
- 7. Python Scikit learn - train_test_splitを使ってランダムな分割をしたくない
- 8. Scikit-learnでBaseEstimatorを使用したGradientBoostingClassifier?
- 9. Scikit learn:フィット感の良さ、データセットの分割、またはそのすべてを使用するか?
- 10. correclty pyprindをscikit-learnで使うには?
- 11. 類似度測定scikit-learnドキュメント分類
- 12. Scikit-learn、KMeans:max_iterの使い方
- 13. scikit-learnを使い始める例
- 14. scikit-learnのマルチレイヤパーセプトク
- 15. scikit-learn normalizer.fit()メモリエラー
- 16. Scikit-learn confusion matrix
- 17. Scikit learn-Classification
- 18. doc2vec表現を使ったscikit-learn分類
- 19. ** kwargs(Scikit Learn)を使用してn_estimators引数を設定する
- 20. PMMLモデルをPythonにインポートする(Scikit-learn)
- 21. nltk、マルチクラスのケースでscikit-learnクラシファイアを使用する
- 22. SciKit-Learn:ランダムフォレストを使用するときのJoblibException
- 23. scikit-learnでソフトラベルを使ったGradientBoostingTreeトレーニング?
- 24. scikit-learn(python)のバランスランダムフォレスト
- 25. Feature importances - bagging、scikit-learn
- 26. 編集scikit-learn decisionTree
- 27. Scikit Learnパイプラインのカスタムトランス
- 28. scikit-learn intersphinxリンク/インベントリオブジェクト?
- 29. scikit-learn RandomForestClassifierのサブサンプルサイズ
- 30. Python scikit-learn Imputerインポートエラー
80%のトレーニングで20%のテストに分割したいと思います。その後、コードはどのようになりますか? –
80%から20%に分割したい場合は、num_train_examples変数の値をデータセットの行数の80%にします。 100行の場合は80に設定します。 – jaguar
@jaguar 'all_data [:num_train_examples]'について説明できますか?私たちはそれをスライスしていますか?私が読むことができる他の情報源はありますか? –