modeling : RandomForestClassifier
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForestClassifier 모델링에서 max_depth와 n_estimators 를 설정해 주었는데, RandomForestRegressor 사용시에도 같은 옵션으로 tuning을 하는지요?
- python
- 머신러닝
- 빅데이터
- pandas
- 빅데이터분석기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForestClassifier 모델링에서 max_depth와 n_estimators 를 설정해 주었는데, RandomForestRegressor 사용시에도 같은 옵션으로 tuning을 하는지요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 data['qsec']가 시리즈인지, 데이터프레임인지 어떻게 알 수 있나요??
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 왜 처음에 pd.read _csv하고 df.head()를 했을 때, 데이터 프레임 형태로 안 나오는 건가요? 매번 load 함수로 넣어야 되나요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요. 강의 기간이 6월 12일까지인데 혹시 이번 실기시험까지 연장이 가능할까요?ㅜㅜ
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
LGBMclassifier, LGBMregressor, Randomforestregressor에 LabelEncoder를 사용해도 상관 없는건가여??
해결됨
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
https://drive.google.com/file/d/1DFSAROydq__CgrODCk-yzlCH8RCCpR_A/view?usp=sharing 콘솔창에 한글깨짐 현상이 일어나 https://www.inflearn.com/questions/1161232 위의 글의 답변대로 설정했습니다. 그 후 자바 버전을 Eclipse Terium version 17.0.9 에서 corretto-17 Amazon Corretto version 17로 변경했습니다. 그래도 해결되지 않아 제어판에서 국가또는지역-시스템 로캘변경에 들어가 utf-8 설정 후 윈도우 재부 팅 후 ServletApplication 파일의 서버를 재기동하니 아래 사진과 같은 오류가 뜹니다. 상단에 프로젝트 압축파일 첨부하였습니다. 답변 부탁드립니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 데이터 프레임은 [[]] 시리즈는 [] 인건 이해했습니다. 다만, 스케일링을 할 때 앞에 2과목 강의에서는 [] 한번만 사용했는데 이는 cols라는 새로운 리스트를 만들어줘서 그런것으로 생각됩니다. 이 문제에서는 qsec라는 하나의 열에 스케일링을 적용하지만 qsec가 데이터 프레임 형태에 하나의 열로 들어가 있기 때문에 [[]]으로 생각하면 될까요?
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
컨트롤러에서 데이터를 받을때 Map<String, Object> param으로 받으려면 에노테이션 @RequestParam으로 받은게 맞을까요? @RequestBody로 받으면 안되는거죠?
미해결
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
가상환경 bat실행이 안되어서 기존의 질문을 검색해서 해결했습니다. 그리고 가상환경까지 전부 설정이 끝나고 실행해 보려니 Kernel을 선택하라는 창이 뜹니다. 저는 강사님처럼 ch02가 안보이고 select Kernel만 보입니다. 어떻게 하면 될까요??
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 궁금한 점이 생겨서 남겨봅니다. 서블릿 예외 처리 - 필터 강의 기준으로 없는 리소스 ex) localhost:8080/dsdswdsdsdsd 요청을 해도 templates에 넣어둔 404.html view가 보이는 이유는 WebServerCustomizer에서 customize() ErrorPage errorPage404 = new ErrorPage(HttpStatus. NOT_FOUND , "/error-page/404"); 맞을까요? flow was -> 필터(try) -> 서블릿(디스패처 서블릿) -> 디스패처 서블릿에서 handler mapping 과정 해당 url에 맞는 컨트롤러(핸들러)가 없으니까 -> 어뎁터 호출 x -> 디스패처 서블릿이 내부에서 sendError(404)예상 (response status code 404 지정) 이유 - ErrorPageController log에 (ERROR_EXCEPTION_TYPE: null) -> 필터(finally) -> was -> 필터(try) -> 서블릿 -> 컨트롤러 -> view -> 필터(finally) -> was [질문 정리] 1)404.html view가 보이는 이유: WebServerCustomizer 2) flow 3)디스패처 서블릿 handlerMapping 예외 처리중에 내부에서 sendError(404)?
해결됨
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Controller @RequestMapping("/message/items") @RequiredArgsConstructor public class MessageItemController { private final ItemRepository itemRepository; @GetMapping public String items(Model model) { System.out.println("MessageItemController.items"); List<Item> items = itemRepository.findAll(); model.addAttribute("items", items); return "message/items"; } @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "message/item"; } ... } http://localhost:8080/message/items get 요청을 보내면 not found에러가 발생하는데 이유를 찾을수가 없네요. resources static 경로에 있는 index.html은 잘 찾아옵니다. http://localhost:8080 을 입력하면 브라우저에 페이지가 잘 나와요. templates 경로도 올바르게 되어있는 것 같은데 이유를 모르겠습니다 2024-06-07T00:51:34.677+09:00 DEBUG 20684 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/message/items", parameters={} 2024-06-07T00:51:34.724+09:00 DEBUG 20684 --- [nio-8080-exec-1] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found 2024-06-07T00:51:34.735+09:00 DEBUG 20684 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource message/items.] 2024-06-07T00:51:34.736+09:00 DEBUG 20684 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND debug 로그가 위와 같이 나옵니다. thymeleaf 의존성을 추가는 했는데 templates 경로에서 찾지 않는 것 같아서요. 맞나요? 의존성 추가는 되어있습니다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' }
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 스케일링 진행 시 train 에는 있지만 test 에 컬럼이 없는 경우 "None of [Index(['Attrition_Flag'], dtype='object')] are in the [columns]" 의 오류가 발생합니다. 컬럼 리스트의 기준을 train으로 잡지 않고 중복되는 컬럼만 존재하는 test의 기준으로 컬럼 리스트를 잡고 fit_transform 을 진행해주어도 상관이 없을까요? from sklearn.preprocessing import RobustScaler rols = test.select_dtypes(exclude='object').columns for rol in rols: rs = RobustScaler() train[rol] = rs.fit_transform(train[[rol]]) test[rol] =rs.transform(test[[rol]]) 작성한 코드입니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
https://www.kaggle.com/code/agileteam/mock-exam-t2-exam-template 이 문제를 풀고 있는데, 코랩과 캐글 모두 코드가 안돌아갑니다(RAM을 모두 사용했다고 실행이 멈춥니다) 코드가 잘못된 부분이 있어서 그럴까요?? # your code # 라이브러리 불러오기 import pandas as pd X_test = pd.read_csv("../input/hr-data/X_test.csv") X_train = pd.read_csv("../input/hr-data/X_train.csv") y_train = pd.read_csv("../input/hr-data/y_train.csv") # EDA # X_train.info() # y_train.info() # X_test.info() # X_train.shape, y_train.shape # 전처리(타겟, 결측치, 인코딩, 스케일링) # X_train.isnull().sum() # 결측치가 모두 범주형 컬럼이므로 특정값 "x"로 채워주기 # gender 4508 object # enrolled_university 386 object # education_level 460 object # major_discipline 2813 object # experience 65 object # company_size 5938 object # company_type 6140 object # last_new_job 423 object # X_test.isnull().sum() # 결측치가 모두 범주형 컬럼이므로 특정값 "x"로 채워주기 # gender 510 object # enrolled_university 31 object # education_level 52 object # major_discipline 310 object # experience 5 object # company_size 621 object # company_type 634 object # last_new_job 40 object # y_train.isnull().sum() X_train = X_train.fillna("x") X_test = X_test.fillna("x") # X_train.shape # (8955, 13) # 학습, 예측에 사용되는 데이터만 인코딩(정답지인 y_test는 인코딩x) X_train = pd.get_dummies(X_train) X_test = pd.get_dummies(X_test) # # X_train.shape, y_train.shape # ((19158, 187), (19158, 1)) # 모델링(학습, 예측, 평가) # 평가지표를 사용할거면 train_test_split 해야 함 from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score rf = RandomForestClassifier(random_state = 42) rf.fit(X_train, y_train) pred = rf.predict_proba(X_test)[:, 1] # predict_proba : 분류 문제에서 확률을 예측할 때 # roc_auc_score, accuracy, f1 : 분류에서만 사용 # error가 들어가는 지표 : 회귀에서 사용 # 제출 result = pd.DataFrame({ "pred" : pred }) result.to_csv("result.csv", index = False)
해결됨
실전! FastAPI 입문
orm.py 를 다음과 같이 작성했고 from sqlalchemy import Boolean, Column, Integer, String from sqlalchemy.orm import declarative_base Base = declarative_base() # base란 클래스로 db모델링 class ToDo(Base): __tablename__ = 'todo' # table이름 id = Column(Integer, primary_key=True, index=True) content = Column(String(256), nullable=False) is_done = Column(Boolean, nullable=False) # todo 객체의 출력을 쉽게 보기위해 repr def __repr__(self): return f'<ToDo(id={self.id}, content={self.content})>, is_done={self.is_done}' connection.py 도 다음과 같이 작성했으나 from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker DATABASE_URL = "mysql+pymysql://root:todos@127.0.0.1:3306/todos" engine = create_engine(DATABASE_URL, echo=True) # echo는 쿼리의 처리를 확인 SessionFactory = sessionmaker(autocommit=False, autoflush=False, bind=engine) 강의안에서 말씀하신대로 import까지 완료하고 명령어 session.scalars(select(ToDo)) 를 실행하는 과정에서 자꾸 이렇게 뜹니다 에러가 한두개가 아니라서 감도 안잡힙니다.. 도와주세요 2024-06-06 20:53:23,126 INFO sqlalchemy.engine.Engine SELECT todo.id , todo.content, todo.is _done FROM todo 2024-06-06 20:53:23,126 INFO sqlalchemy.engine.Engine [cached since 368.2s ago] {} Traceback (most recent call last): File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1967, in _exec_single_context self.dialect.do _execute( File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ default.py ", line 924, in do_execute cursor.execute(statement, parameters) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 322, in _query conn.query(q) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 825, in _read_query_result result.read () File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 775, in _read_packet packet.raise_for_error() File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ protocol.py ", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ err.py ", line 150, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (1054, "Unknown column 'todo.content' in 'field list'") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm 2024.1.2\plugins\python\helpers\pydev\ pydevconsole.py ", line 364, in runcode coro = func() ^^^^^^ File "<input>", line 1, in <module> File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\orm\ session.py ", line 2459, in scalars return self._execute_internal( ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\orm\ session.py ", line 2236, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\orm\ context.py ", line 293, in orm_execute_statement result = conn.execute( ^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1418, in execute return meth( ^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\sql\ elements.py ", line 515, in _execute_on_connection return connection._execute_clauseelement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1640, in _execute_clauseelement ret = self._execute_context( ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1846, in _execute_context return self._exec_single_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1986, in _exec_single_context self._handle_dbapi_exception( File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 2353, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ base.py ", line 1967, in _exec_single_context self.dialect.do _execute( File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\sqlalchemy\engine\ default.py ", line 924, in do_execute cursor.execute(statement, parameters) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ cursors.py ", line 322, in _query conn.query(q) File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 825, in _read_query_result result.read () File "C:\Users\yhkim\inflern_project\todos\Lib\site-packages\pymysql\ connections.py ", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
X_train['occupation'] = X_train['occupation'].fillna('X') X_train.isnull().sum() 안녕하세요 선생님, 좌측 x_train 에서 x_train[occ~]이 아닌 a = X_train['occupation'].fillna('X') 로 해서 진행해서 결측치로 채우는 방법은 어떻게 하는걸까요 ?? 좌측은 변수명인데 꼭 파일명['컬럼명']을 작성해야할까요 ?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 선생님, pandas로 코드를 처리하고 있는데, visual studio code 파이썬으로 입력해도 문장처리나 결과는 똑같나요 ??
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 선생님, 수업질문드립니다~ 7회 기출유형(작업형3) 12:54 부분에서 pred = model.predict(test) 하면 1일 확률값이 나오는데요! 지난 작업형2에서 배울때 predict가 아닌 predict_proba를 할때 확률값이 나왔던걸로 기억합니다. 뭐가 다른 것인가요? 로지스틱 회귀모델은 확률값이 나오는건가요?
해결됨
실전! FastAPI 입문
from fastapi import FastAPI, Body from pydantic import BaseModel # 쉽게 requestbody(입력받는 함수인자) 처리 app = FastAPI() # 앱이란 객체에 api연결해서 서버를 띄우면 HTTP요청 보낼 수 있다. @app.get("/") def health_check_handler(): return {"ping": "pong"} todo_data = { 1: { "id": 1, "contests": "실전! FastAPI 섹션 0 수강", "is_done": False, }, 2: { "id": 2, "contests": "실전! FastAPI 섹션 1 수강", "is_done": False, }, 3: { "id": 3, "contests": "실전! FastAPI 섹션 2 수강", "is_done": False, } } @app.get("/todos") def get_todos_handler(order: str | None = None): ret = list(todo_data.values()) if order and order == "DESC": return ret[::-1] return ret @app.get("/todos/{todo_id}") def get_todo_handler(todo_id: int): return todo_data.get(todo_id, {}) class CreateTodoRequest(BaseModel): id: int contests: str is_done: bool @app.post("/todos") def create_todo_handler(request: CreateTodoRequest): todo_data[request.id] = request.dict() return todo_data[request.id] @app.patch("/todos/{todo_id}") def update_todo_handler( todo_id: int, is_done: bool = Body(..., embed=True), ): todo = todo_data.get(todo_id) if todo: todo["is_done"] = is_done return todo return {} 해당 코드까지 진행했고, (todos) PS C:\Users\yhkim\inflern_project\todos\src> uvicorn main:app --reload로 실행했는데 어느순간부터 웹페이지가 수정사항이 적용되지 않습니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score # 정확도 print(accuracy_score(y_val, pred)) # 정밀도 print(precision_score(y_val, pred)) # 재현율 (민감도) print(recall_score(y_val, pred)) # F1 print(f1_score(y_val , pred)) 상기 사진의 평가지표(from~, 정확도, 정밀도 등) 식은 문제에서 주어지지 않는지 궁금합니다. 모두 암기해야 하나요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
만약에 라벨/원핫 인코딩시에 트레인에서 fit_transform할때 없었던 데이터가 테스트에 있어서 transform 처리가 안되면 어떤식으로 처리해야지 가장 간단하게 처리할수 있을까요? 데이터를 합쳐서 인코딩 하고 다시 나누는 방법밖에 없을까요?