我正在使用 Lending Club 數據。我正在使用以下代碼。我有一個包含所有預測列的數據框 X 和包含輸出的 Y 是貸款是好還是壞#Here we change the good loans to 1 and bad loans to 0mask = (Y['loan_condition'] == 'Good Loan')Y['loan_condition'] = np.where(mask, 1, 0)#Train Test Split and performing SMOTEfrom sklearn.model_selection import train_test_splitfrom imblearn.over_sampling import SMOTEos = SMOTE(random_state=0)X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=0)columns = X_train.columnsos_data_X,os_data_Y=os.fit_sample(X_train, Y_train)os_data_X = pd.DataFrame(data=os_data_X,columns=columns )os_data_Y= pd.DataFrame(data=os_data_Y,columns=['loan_condition'])X=np.array(os_data_X)Y=np.array(os_data_Y)#Performing Logistic Regressionimport statsmodels.api as smlogit_model=sm.Logit(Y,X)result=logit_model.fit()print(result.summary2())錯誤/警告:警告:已超過最大迭代次數。當前函數值:inf 迭代次數:35LinAlgError:奇異矩陣有人可以在這里幫助我嗎?幫助將不勝感激
1 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
您有一個 LinAlgError: Singular matrix,這意味著您的 X 矩陣是線性相關的(<=> 判別式等于零)。換句話說,Xn = akXk + ...+amXm
因此,您必須更改 X 矩陣。如果你看看你的相關性指標,它可能會給你帶來一些想法。或者你可能會弄亂虛擬變量。例如,如果您有 3 個類別:貓、狗和魚,則只需要 2 個,而不是用 0 和 1 標記的 3 個。
添加回答
舉報
0/150
提交
取消