분류 전체보기136 캐글 Regression with an Abalone Dataset 도전 (3) #이상치 처리train_df.loc[train_df["Height"] > 0.7 , "Height"] = train_medtrain_df.loc[train_df["Height"] == 0 , "Height"] = train_medtest_df.loc[test_df["Height"] > 0.7 , "Height"] = test_medtest_df.loc[test_df["Height"] == 0 , "Height"] = test_med #XGBOOSTxgb_reg = XGBRegressor(n_estimators=100, learning_rate=0.05)xgb_reg.fit(mm_train_df, y)이전의 진행에서 이상치 처리를 drop이 아닌 중앙값으로 대체하고 MinMaxScaler를 통해 정규화 진.. 2024. 4. 26. 캐글 Regression with an Abalone Dataset 도전 (2)(클러스터링 실험) object type 컬럼만 인코딩 진행하고 모델을 돌려서 제출했더니 당연하게도 점수가 매우 낮게 나왔다. 전처리를 진행하는데 heigh, 키가 0인 레코드들이 있었다.날려야하나 채워야하나 고민하다가 최근 프로그래머스 데이터분석 데브코스 과정에서 배운 클러스터링을 한번 써봐야겠다는 생각이 들어서 클러스터링을 시도해 보았다. 우선은 K means 클러스터링을 진행하기 전에 적절한 K값을 찾기 위해 inertia값과 실루엣 계수를 구해보았다.inertia 가 완만하게 줄어들고 실루엣 계수도 상승하는, k=7을 주고 클러스터링을 진행했다.빨간 클러스터가 보이지 않는데 이유는 잘 모르겠다...다만 height가 0인건 일단 날리는게 맞아보이고, 0.4 이상도 이상치로 봐야하나 고민했었는데 1에 근접한 레코드들만.. 2024. 4. 25. 캐글 Regression with an Abalone Dataset 도전 (1) 그간 간단한 이진분류, 다중분류 문제들만 접하다가 처음으로 연속적인 값을 예측해야 하는 문제를 접했다. https://www.kaggle.com/competitions/playground-series-s4e4 Regression with an Abalone Dataset | Kaggle www.kaggle.com캐글 플레이그라운드 문제인데 기존 늘 하던것처럼 tfdf의 랜덤포레스트 모델부터 돌려봤다.손실함수 값도, 정확도도 잘 학습되었다고는 볼 수 없었고, 예측을 출력하는것도 잘 안되었다.예측 데이터의 차원때문에 계속해서 오류가 났는데 문제가 뭐일까 살펴보다가 로그가 기존 분류와는 다르게 위의 캡쳐 처럼 30개의 클래스별로 예측한 확률을 30개의 차원으로 출력을 해버려서 오류가.. 2024. 4. 24. SQL lv3 카테고리 별 도서 판매량 집계하기 SELECT B.CATEGORY AS CATEGORY, sum(B_S.SALES) AS TOTAL_SALESFROM BOOK BINNER JOIN BOOK_SALES B_S ON B.BOOK_ID = B_S.BOOK_ID where date_format(B_S.SALES_DATE, "%m") = 1GROUP BY 1ORDER BY 1 asc 1월의 판매량을 구하기 위해 where 절에서 date_format사용해서 필터링 진행했다.카테고리별 합계를 내기 위해 group by와 판매량에 sum 사용했다.카테고리 명 기준으로 오름차순 정렬했다. 2024. 4. 24. SQL lv4 식품분류별 가장 비싼 식품의 정보 조회하기 테이블이 하나여서 select category, max(price), product_namefrom food_productgroup by 1having category in ("과자", "국", "김치", "식용유")order by 2 desc 로 가볍게 group by 하고 조건 걸어서 필터링 했는데 가장 큰 값과 이름이 출력되지 않고왜인지 다른게 출력되어 고생했다. 데이터분석 데브코스 스터디 함께 하고있는 귀인분의 도움을 받아 with절 응용하여 풀었다.원인으로는 price에는 집계함수가 적용되었지만 product_name에는 적용되지 않아서 였다. with a as (SELECT MAX(PRICE) AS MAX_PRICE, CATEGORYFROM FOOD_PRODUC.. 2024. 4. 24. SQL lv2 상품 별 오프라인 매출 구하기 SELECT p.PRODUCT_CODE, (p.PRICE * sum(o.SALES_AMOUNT)) as SALESFROM PRODUCT pINNER JOIN OFFLINE_SALE o ON p.PRODUCT_ID = o.PRODUCT_IDgroup by 1order by 2 desc, 1 asc 상품의 판매 갯수를 구하기 위해 sum으로 묶고 가격을 곱했다.매출액 기준으로 내림차순 정렬 하고 코드 기준으로 오름차순 정렬 했다.더 깔끔한 쿼리가 있을 것 같다. 2024. 4. 24. SQL lv3 조건에 맞는 사용자와 총 거래금액 조회하기 SELECT u.USER_ID, u.NICKNAME, sum(b.PRICE) AS TOTAL_SALES FROM USED_GOODS_BOARD b JOIN USED_GOODS_USER u on b.WRITER_ID = u.USER_ID WHERE b.STATUS = "DONE" GROUP BY 1, 2 HAVING TOTAL_SALES >= 700000 ORDER BY TOTAL_SALES 총 거래금액을 조회하기 위해 sum 사용했다. 완료된 거래를 WHERE b.STATUS = "DONE" 사용하여 필터링 했다. 그룹화 된 user, nickname 의 총 거래금액이 70만원 이상이어야 하기 때문에 where절이 아닌 having 절에 조건문 사용했다. 2024. 4. 22. SQL lv3 대여 기록이 있는 자동차 리스트 구하기 SELECT distinct(c.CAR_ID) FROM CAR_RENTAL_COMPANY_CAR c JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY h on c.CAR_ID = h.CAR_ID WHERE date_format(h.START_DATE, '%m') = 10 AND c.CAR_TYPE = "세단" ORDER BY 1 DESC CAR_ID 조회 시 중복이 없게 하기 위해 distinct 사용했다. 10월에 대여를 시작한 자동차를 조회하기 위해 date_format으로 10월인 것을 필터링 하고 비교연산자로 세단만 필터링 하여 내림차순 정렬했다. 2024. 4. 22. SQL lv2 루시와 엘라 찾기 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME in ('Lucy','Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') where in 구문 사용해서 해결했다. 2024. 4. 22. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음