私は機械学習をPythonで実践しています。私は障害に立ち往生していますが、私は困難を抱えています。私が使用しているデータセットはtitanic.csvです。私は、線形回帰を使用してAgeカラムの欠損値を計算しようとしています。私はNaN値が存在しないことを示すない値を持つ列を取得し、上記のコードを使用して、私は手動で行うことにより、エラーを修正しようとしていValueError:LinearRegressionを使用して、入力にNaN、無限大またはdtype( 'float64')には大きすぎる値が含まれています
training = dftrain[['Age','SibSp','Parch','Fare','Pclass','Sex_female',
'Sex_male','Embarked_C','Embarked_Q','Embarked_S']]
testing = dftest[['Age','SibSp','Parch','Fare','Pclass','Sex_female',
'Sex_male','Embarked_C','Embarked_Q','Embarked_S']]
unify = pd.concat([training, testing])
train = unify[unify['Age'].notnull()]
clf = LinearRegression()
#clf.fit(train.drop(['Age'],axis = 1), train['Age'])
pd.set_option('display.max_rows',None)
train
、
train[train['Age'].isnull()]
。私はすべての列にこれをしました。また、私は把握することはできません助けてください
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
を
、
train.notnull().count()
Age 1046
SibSp 1046
Parch 1046
Fare 1046
Pclass 1046
Sex_female 1046
Sex_male 1046
Embarked_C 1046
Embarked_Q 1046
Embarked_S 1046
dtype: int64
を使用しますが、私はすべてが行ってもいいと思い、私はclf.fit()関数のコメントを解除するたびに、私はエラーを取得するにチェック私のコードで何が間違っていますか。
を。私はそれをやろうとした。私はそれをさらに説明します。 train.isnull.sum()を実行した後、NaNでFare列に1つの値があったとします。その行が同じ索引を持つ2つの行を持っていることがわかりました。運賃にナル値がありました。だから私はNaNの値を平均で満たし、後で同じインデックスを持つ2つの行が消えました。どういうわけか...しかしそれはうまくいったので私は推測する – Pseudo