본문 바로가기

데이터 분석26

Logistic_regression ◆ 데이터 준비 ● 테스트 셋 나누기 & 정규화 ◆ k-최근접 이웃 분류기의 확률 예측 ◆ 로지스틱 회귀(Logistic regression) - 분류의 확률을 구할때 자주 사용 - y=ax+b 선형회귀식을 이용해서 확률을 구함 - 문제는 음수가 나올 수 있음 - 시그모이드 함수로 이를 0~1값으로 변경 ● 시그모이드 함수 - 회귀모델을 통해 나오는 값을 확률로 만들어 줌 ▶ 로지스틱 회귀 모델 & 예측(이진분류) from sklearn.linear_model import LogisticRegression lr = LogisticRegression() lr.fit() lr.predict() lr.predict_proba() ● 타깃 클래스, 기울기, 절편 확인 lr.classes_ lr.coef_ lr... 2023. 12. 12.
Feature_engineering ◆ 데이터 준비 ◆ 사이킷런 변환기 - 특성의 제곱, 특성끼리의 곱 등을 통해 특성 생성 from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(include_bias=False) # include_bias=False : 절편제거 / True일시 절편도 같이 출력 train_poly = poly.fit_transform(훈련셋) ● poly 계산식 poly.get_feature_names_out() ● 테스트셋에 적용 poly.transform(테스트셋) ◆ 다중회귀 모델 ● 특성을 5제곱까지 추가한 후 점수 poly = PolynomialFeatures(degree=5, include_bias=False) ◆ 기울기 .. 2023. 12. 12.
LinearRegression ◆ 데이터 준비 ◆ KNeighborsRegresssor의 한계 ● 문제 : 50cm 물고기를 예측해보면 실제값이 1500이지만 예측값은 1033이 나옴(50이상 어떤 물고기도 1033으로나옴) ● 원인 : KNeighbors의 경우 가장 가까운 값으로 예측하는데 예측할 데이터가 훈련데이터의 범주에서 벗어난 값이고 가장 가까운 값이 말단값들이라 부정확한 결과가 나옴 ◆ 선형 회귀 ● 임포트 from sklearn.linear_model import LinearRegression ● 훈련 lr = LinearRegression() lr.fit(train_input, train_target) ● 예측 lr.predict([[예측할값]]) ● 기울기, 절편 lr.coef_ # 기울기 lr.intercept_ .. 2023. 11. 17.
Regressor(KNeighborsRegressor) ◆ 데이터 준비 ※ reshape arr.reshape(행,열) ● 데이터에 reshape 적용 * -1로 하면 알아서 해당 개수대로 들어감 ◆ KNeighborsRegressor from sklearn.neighbors import KNeighorsRegressor knr = KNeighborsRegressor() knr.fit(독립변수, 종속변수) knr.score(독립변수, 종속변수) ● 회귀 정확도 - 수치형 결과는 정답과 똑같은 결과가 나오기 힘들고 얼만큼 가깝게 맞췄는지에 대해서도 확인해야함 - MAE, MSE, RMSE 등 from sklearn.metrics import mean_absolute_error mean_absolute_error(실제값(정답), 예측값) ◆ 과대적합 VS 과소적.. 2023. 11. 16.