주요함수
1. Logit()
- endog, exog 인자에 각각 종속변수와 독립변수 할당
- 산출 모델 객체의 params 어트리뷰트에 모델의 계수 저장
- 산출 모델 객체의 predict() 메서드로 예측값을 생산하며 이는 종속변수가 1이 될 확률값
2. LogisticRegression()
- fit_intercept, solver 인자로 절편 적합 여부 및 최적화 알고리즘 설정 가능
- random_state 인자에 자연수를 할당하여 결과 고정 가능
- fit() 메서드에 독립변수 및 종속변수 할당
- 산출 모델 객체의 coef_ 어트리뷰트에 모델에 계수 저장
- 산출 모델 객체의 predict_proba() 메서드로 예측값을 생산하며 두 번째 열이 종속변수가 1이 될 확률값
3. roc_auc_score()
- Area Under Cuver를 산출
- y_true, y_score 인자에 각각 종속변수와 예측 확률값 할당
4. accuracy_score()
- 분류모델의 정확도 산출
- y_pred와 y_true에 각각 예측 분류 결과와 실제 값을 할당
5. f1_score()
- 분류모델의 f1 값을 산출
- y_pred와 y_true에 각각 예측 분류 결과와 실제 값을 할당
6. precision_score()
- 분류모델의 정밀도 산출
- y_pred와 y_true에 각각 예측 분류 결과와 실제 값을 할당
7. recall_score()
- 분류모델의 재현율 산출
- y_pred와 y_true에 각각 예측 분류 결과와 실제 값을 할당
df = pd.read_csv("diabetes.csv")
df_train, df_test = train_test_spli(df, train_size = 0.8, random_state = 123)
model = Logit(endog = df_train["Outcome"],
exog = df_train.loc[:, ["BooldPressure", "Glucose", "BMI", "Insulin"]]).fit()
pred = model.predcit(exog = df_test.loc[:, ["BooldPressure", "Glucose", "BMI", "Insulin"`]])
pred_class = (pred > 0.5) + 0
accuracy_score(y_pred = pred_class, y_true = df_test["Outcome"])
df = pd.read_csv("diabetes.cvs")
model = Logit(endog = df["Outcome"],
exog = df.loc[:, ["Glucose", "BMI", "Age"]]).fit()
model.params # 확인
np.exp(model.params)
df = pd.read_csv("diabetes.csv")
model = Logit(endog = df["Outcome"],
exog = df.loc[:, ["Glucose", "BMI", "Age"]]).fit()
model.predict(df.loc[:, ["Glucose", "BMI", "Age]])[:5] # 데이터 확인
roc_aut_score(y_true = df["Outcome"], y_score = model.predict(df.loc[:, ["Glucose", "BMI", "Age]]))
주요함수
1. DecisionTreeClassifier()
- 분류나무 수행할 때 사용
- max_depth와 random_state로 모델의 성장과 결과 고정 설정 가능
- fit() 메서드에 독립변수와 종속변수 할당
2. DecisionTreeRegressor()
- 회귀나무 수행할 때 사용
- max_depth와 random_state로 모델의 성장과 결과 고정 설정 가능
- fit() 메서드에 독립변수와 종속변수 할당
df = pd.read_csv("diabates.csv")
df_train, df_test = train_test_split(df, train_size = 0.8, random_state = 123)
model = DecisionTreeClassifier(
random_state = 123).fit(
X = df_train.loc[:, ["Glucose", "BooldPressure", "Pregnacies"]],
y = df_train["Outcome"])
pred = model.predict(df_test.loc[:, ["Glucose", "BloodPressure", "Pregnacies"]])
accuracy_score(y_pred = pred, y_true = df_test["Outcome"])
df = pd.read_csv("diabates.csv")
df_train, df_test = train_test_split(df, tran_size = 0.8, random_state = 123)
model = DecisionTreeRegressor(
random_state = 123).fit(
X = df_train.loc[:, ["Glucose", "BloodPressure", "SkinThickness"]],
y = df_train["BMI"])
pred = model.pedict(df_test.loc[:, ["Glucose", "BloodPressure", "SkinThckness"]])
mean_squared_error(y_pred, pred, y_true = df_test["BMI")) ** 0.5
df = pd.read_csv("diabates.csv")
df_train, df_test = train_test_split(df, tran_size = 0.7, random_state = 345)
cols = ["Glucose", "BloodPressure", "Pregnacies", "BMI", "Age"]
dpeth_list = [3,4,5,6]
acss = []
for depth in depth_list:
model = DecisionTreeClassifier(max_dpeth = depth, random_state = 345)
model.fit(X = df_train.loc[:, cols],
y = df_train["Outcome"])
pred = model.predict(df_test.loc[:, cols])
acss = acss + [accuracy_score(y_pred = pred,
y_true = df_test["Outcome"])]
df_score = pd.DataFrame({"depth":depth_list,
"acss": acss})
df_score["accs"] = df_score["accs"].round(2)
df_score