πλ‘μ§μ€ν± νκ·λ??
λ‘μ§μ€ν± νκ·(Logistic Regression)λ λ°μ΄ν°κ° μ΄λ€ λ²μ£Όμ μν νλ₯ μ 0~1 μ¬μ΄μ κ°μΌλ‘ μμΈ‘νκ³ κ·Έ νλ₯ μ λ°λΌ κ°λ₯μ±μ΄ λ λμ λ²μ£Όμ μνλ κ²μΌλ‘ λΆλ₯ν΄μ£Όλ μ§λ νμ΅ μκ³ λ¦¬μ¦μ΄λ€.
μ ν νκ·λ₯Ό μ΄ν΄νλ€λ©΄ κ°μ₯ μ΄ν΄νκΈ° μ¬μ΄ κ°λ μ΄λ€
μ ννκ· - λ‘μ§μ€ν±νκ· μμΌλ‘ νμ΅μ νλκ² ν¨μ¨μ μ΄λ€
2κ°μ κ·Έλ£Ή,λ²μ£Όμ€μ νλμ μνλ€κ³ κ²°μ μ§λκ²μ 2μ§λΆλ₯ λΌκ³ νλ€.
λνμ μΈ μμλ‘ μ±λ³, μ±κ³΅ μ¬λΆ, ν©κ²©/λΆν©κ²©, μμ±/μμ± λ±μ΄ μλ€.
https://kmbeach.tistory.com/36
μ 22μ₯πML_μ ννκ·(Linear Regression)π
π€ μ ν νκ·λ 무μμΈκ°? βΆ λ 립λ³μμ μ’ μλ³μ κ°μ μ§μ μμ ννκ° μμμ(μ νκ΄κ³λΌκ³ ν¨) κ°μ νμ¬ μ΅μ μ μ μ κ·Έμ΄ μμΈ‘μ νκΈ° μν λ°©λ² βΆ λ¨Έμ λ¬λμμλ Loss(μμ€) μ μ΅μνν
kmbeach.tistory.com
λν μ ννκ·μ λ‘μ§μ€ν± νκ·μ μ°¨μ΄μ μ λΈλ‘κΉ νμμ§λ§ λ€μ κ°μ‘°νλ€. λ§€μ° μ€μνλ€.
μ ν/λ‘μ§μ€ν± νκ·μ μ°¨μ΄μ
μ ν νκ· | νλ₯ κ°μ΄ -∞ ~ ∞λ‘ λ»μ΄λκ°λ μΌμ§μ μ΄λ€, μ κ·λΆν¬, μ°μκ°μ μμΈ‘μ μ¬μ© |
λ‘μ§μ€ν± νκ· | νλ₯ κ°μ΄ 0~1 μ¬μ΄μ 컀λΈννλ₯Ό κ·Έλ¦°λ€, μ΄νλΆν¬, μ€μ§μ μΌλ‘ λΆλ₯μ κ°κΉλ€, λΆμ°μκ°μ μμΈ‘νλλ° μ¬μ© |
μ ννκ·λ μ μΌλ‘ λ»μ΄λκ°κΈ° λλ¬Έμ κ·Έλλ‘ λ¬΄νμΌλ‘ μ΄μ΄μ Έ μ νν μμΈ‘μ μ΄λ ΅λ€.
κ·Έλμ 컀λΈννμ λ‘μ§μ€ν± νκ·λ₯Ό μ¬μ©νλ κ²μ΄λ€.
π―ν΅μ¬
ν΅κ³μμΈ‘μ’ λ₯
1) μμΉμμΈ‘ : νκ°λ°©λ² : MSE, MAE, RMSE
2) λΆλ₯μμΈ‘ : νκ°λ°©λ² : Accuracy(μ νλ), Precision(μ λ°λ), Recall(μ¬νμ¨, λ―Όκ°λ)
- λ‘μ§μ€ν± νκ·λ λΆλ₯μμΈ‘μ ν΄λΉνλ€.
λ§μ½μ μ’ μλ³μκ° λ κ°μ§ κ°λ§ κ°λ κ²½μ° μ ννκ·λͺ¨λΈμ μ μ©νλ©΄ λ¬Έμ λ°μ
1) μ μ ν©νμ§ μλ μ ννκ·μ μΆμ μμ΄ λμΆλλ€.
2) Y μΆμ κ°μ΄ 0λ³΄λ€ μκ±°λ 1λ³΄λ€ ν° κ°μ κ°μ§ μ μλ λ¬Έμ κ° μκΈ΄λ€.
μμΈ‘νλ₯ μ΄ μ€λͺ λ³μμ κ°μ μ¦κ°μ λ°λΌ μ¦κ°νκ³ , 0κ³Ό 1μ¬μ΄μ κ°μ κ°λ νλ₯ κ°μΌλ‘ μ νν΄μΌ νλ€.
μ’ μλ³μμ κ°μ 0 λλ 1 : μ΄λΆλ²μ μΈ μν©μ λͺ¨λΈλ§
μ’ μλ³μμ κ°μ 쑰건λΆνλ₯ λ₯Ό ν΅ν΄ κ³μ°νμ¬ μμΈ‘
πλΌμ΄λΈλ¬λ¦¬
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
νλ ¨μ
,ν
μ€νΈμ
λΆλ¦¬
from sklearn.model_selection import train_test_split
λ
립λ³μ μ§μ
X, y = (df_train2.drop(columns=['λ
립λ³μ']), df_train2.λ
립λ³μ)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 100)
model.fit(X_train, y_train)
λͺ¨λΈ νκ° (λ‘μ§μ€ν± νκ· -> λΆλ₯λ¬Έμ )
from sklearn.metrics import accuracy_score
accuracy_score(y_test, pred)
νκ·κ³μ
model.coef_
νκ·κ³μ μ리μ¦λ³ μκ°ν
pd.options.display.float_format = '{:.4f}'.format
pd.Series(model.coef_[0], index = X.columns)
ππ¨ μκ°ν
μ ννκ·μ νκ³λ‘μΈνμ¬ λ‘μ§μ€ν±μ μ μ©νλ λνμ μμμΈ
곡λΆμκ°κ³Ό ν©κ²©λ₯ μ κ΄ν νκ·λΆμ
μκ°νλplot = 1μ°¨μ μΌλ‘ λ¨Όμ νμΈ
sns.heatmap(df_train.corr(), cmap='coolwarm', vmin=-1, vmax=1, annot=True)
βͺ ννΈλ§΅μΌλ‘ 보면 보기 νΈνκ² λ€λ₯Έ μκ΄κ³μλ₯Ό λ³Όμμλ€
'ν루곡λΆ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ 26μ₯ πJAVAβ κΈ°μ΄ λ€λ£¨κΈ°π (2) | 2022.12.13 |
---|---|
μ 24μ₯πML_LightGBMπ (0) | 2022.11.30 |
μ 22μ₯πML_μ ννκ·(Linear Regression)π (0) | 2022.11.17 |
π©μ¬λ―Έλ‘ μ¬λ¦¬λ μμ΄λ³΄ Data Analysis(λ°μ΄ν° λΆμ) μ¬μ΄ μμ (0) | 2022.11.16 |
μ 21μ₯πML_RandomForestπ (0) | 2022.11.15 |