MacOSでPython3.6を使用して単純なKerasモデルを構築して、指定された範囲の住宅価格を予測しようとしていますが、マトリックス。私はKaggleからthis datasetを使用しています。KerasとSklearnを使用して文字列をカテゴリ行列に変換できない
私はモデル内の目標出力として役立つ異なる価格帯のデータフレームで新しい列を作成した後、keras.utilsとSklearn LabelEncoderを使用して出力バイナリ行列を作成しようとしていますが、エラー:ここ
ValueError: invalid literal for int() with base 10: '0 - 50000'
が私のコードです:私は次のピースを実行するまで
import pandas as pd
import numpy as np
from keras.layers import Dense
from keras.models import Sequential, load_model
from keras.callbacks import EarlyStopping
from keras.utils import to_categorical, np_utils
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
seed = 7
np.random.seed(seed)
data = pd.read_csv("Melbourne_housing_FULL.csv")
data.fillna(0, inplace=True)
price_range = 50000
bins = np.arange(0, 12000000, price_range)
labels = ['{} - {}'.format(i + 1, j) for i, j in zip(bins[:-1], bins[1:])]
#correct first value
labels[0] = '0 - 50000'
for item in labels:
str(item)
print (labels[:10])
['0 - 50000', '50001 - 100000', '100001 - 150000', '150001 - 200000',
'200001 - 250000', '250001 - 300000', '300001 - 350000', '350001 - 400000',
'400001 - 450000', '450001 - 500000']
data['PriceRange'] = pd.cut(data.Price,
bins=bins,
labels=labels,
right=True,
include_lowest=True)
#print(data.PriceRange.value_counts())
output_len = len(labels)
print(output_len)
すべてはここに正しいです:
predictors = data.drop(['Suburb', 'Address', 'SellerG', 'CouncilArea',
'Propertycount', 'Date', 'Type', 'Price', 'PriceRange'], axis=1).as_matrix()
target = data['PriceRange']
# encode class values as integers
encoder = LabelEncoder()
encoder.fit(target)
encoded_Y = encoder.transform(target)
target = np_utils.to_categorical(data.PriceRange)
n_cols = predictors.shape[1]
ValueError:基数10のint()の無効なリテラル: '0 - 50000'
ここで私を助けてください?私が間違っていることを本当に理解していない。
感謝
あなたは今投票に参加できますか? – Dark
こんにちは、私はここで新しいです、私は今投票しましたか?ありがとう!最初のアプローチ(インデックスの作成)を使用していますが、ターゲットが多次元配列かどうかはわかりません(はい、私は初心者です)。これは重要です。なぜなら、私がマルチ分類ネットを構築すべきかどうかを判断しようとしているからです。 また、戻ってくるのが遅れて申し訳ありません。私は旅行しており、数日でインターネットに接続されていません。再度、感謝します! –
'Target.shape'をチェックしてください。2つ以上の値のタプルが多次元である場合は – Dark