작업형 2유형 평가하기 관련 질문입니다. 작업형 2유형을 지속적으로 공부하고 있습니다. 헷갈리는 사항이 있는데요. 바로 평가하기 입니다. metrics 에서 해당 함수를 찾아서 응용하는것은 암기하여 가능하나 어떤문제에서는 train_test_split 에서 산출된 x_val 의 pred 값과 y_val 로 평가하기를 돌리는 경우가 있고, 또 어떠한 경우에는 주어진 test 엑셀파일과 y_test 엑섹파일 간에 평가하기를 돌려서 값을 산출하는 경우가 있는것 같습니다. 그래서 실제 기출문제를 풀 경우에 평가하기에서 어떤걸 평가하라고 주어지는 것인지, 아니면 평가하기는 test 파일로 진행해야하는지 헷갈려서 기준점이 있을까 하여 질문드려 봅니다. 결론 : 평가하기를 시행하라 하였을때 어떤값으로 평가하는게 정답일지 헷갈립니다. from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(random_state=2022) model.fit(x_tr, y_tr) pred = model.predict(x_val) real_pred = model.predict(test) from sklearn.metrics import recall_score recall_score(y_val, pred) #0.8282442748091603 recall_score(y_test, real_pred) #0.8211143695014663 from sklearn.metrics import precision_score print(precision_score(y_val, pred)) #0.9353448275862069 print(precision_score(y_test, real_pred)) #0.9333333333333333
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Class projection 중 class MemberClassProjections( private final String memberName; public MemberClassProjections (String memberName) { this.memberName = memberName; } public String getMemberName() { return memberName; } ) class로 projection을 하면 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'memberRepository' defined in jpaShop.shop.domain.member.repository.MemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract java.util.List jpaShop.shop.domain.member.repository.MemberRepository.findMemberClassProjectionByMemberName(java.lang.String); Reason: Failed to create query for method public abstract java.util.List jpaShop.shop.domain.member.repository.MemberRepository.findMemberClassProjectionByMemberName(java.lang.String); Source must not be null or empty 메서드 생성 오류가 표출되는데 public record MemberClassProjections(String memberName) { } record로 만들면 오류없이 잘 실행이 됩니다. 이유가 뭘까요..
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 왜 처음에 pd.read _csv하고 df.head()를 했을 때, 데이터 프레임 형태로 안 나오는 건가요? 매번 load 함수로 넣어야 되나요?
현재 generated가 생성된 곳이 두 곳입니다. build src/main 그리고 테스트를 실행했을 땐 정상으로 나옵니다. 근데 궁금한 것은 contextLoads() 안에 있는 QHello 클래스로 이동해서 해당 클래스 위치를 확인하면 build에 있는 QHello가 아닌 src/main에 있는 QHello를 가리키고 있습니다. 이것이 맞는것인지 궁금합니다..
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 데이터 프레임은 [[]] 시리즈는 [] 인건 이해했습니다. 다만, 스케일링을 할 때 앞에 2과목 강의에서는 [] 한번만 사용했는데 이는 cols라는 새로운 리스트를 만들어줘서 그런것으로 생각됩니다. 이 문제에서는 qsec라는 하나의 열에 스케일링을 적용하지만 qsec가 데이터 프레임 형태에 하나의 열로 들어가 있기 때문에 [[]]으로 생각하면 될까요?
디펜더시 선언하고 검증용 엔티티 생성하고 Gradle > Tasks > build > clean 하고 Gradle > Tasks > other에 compileQuerydsl 이 없습니다.. https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.iayahq64el0u 디펜더시 설정은 해당 url 참고 하였고 그 다음엔 프로젝트 환경설정.pdf 에서 검증용 Q타입 생성 부분을 참고하였습니다. other에서 compileJava를 누르면 된다는 글을 보았으나 경로가 상이한것 같습니다. 이게 맞는건가요? 영상에서는 build > generated에 생성되야 한다고 하는데요 ㅠㅠ build > generated
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요? 강의를 열심히 듣다가 궁금한 점이 생겨서 질문 드립니다! @ManyToMany 와 복합키에 관련된 부분에 대해서 궁금한 점이 있는데, 일반적으로 실무에서 @ManyToMany 관계를 사용하지 않는 이유로 단순히 연관 연결 뿐 아니라 그 외에 특정한 데이터들이 들어올 수 있기 때문에 새로운 Entity로 승격시켜 생성한다는 부분은 이해하였습니다. 또한, 이를 정의하면서 복합키를 사용하지 않고 새로운 대체키를 생성하는 부분 역시 이해하였습니다. 하지만, 만약 팔로잉 테이블을 구현한다고 가정한다면 제가 생각하기엔 팔로잉 하는 사람의 ID 값과 팔로우 하는 사람의 ID 값만 저장하면 된다고 생각하는데 이런 경우에는 1. ManyToMany 관계를 사용하는지? 2. 새로운 대체키를 사용하는지? 이 부분이 궁금합니다. 또한, 실무에서 팔로잉 기능을 개발한다고 가정하면 위에서 설명한 단순히 2개의 외래키만 사용하는 것이 아닌 생성일 같은 데이터를 추가하여 좀 더 자세하게 관리하는지 역시 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 스케일링 진행 시 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]]) 작성한 코드입니다.
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() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
public void minus(Product product, Integer minusQuantity) { Integer quantity1 = cartMap.get(product); int newQuantity = quantity1 - minusQuantity; if (newQuantity <= 0) { cartMap.remove(product); } else { cartMap.put(product, newQuantity); } } 정말 기본적인 질문인거같은데 이해가 안돼서 질문드립니다 저 else문을 안쓰고 그냥 put하면 수량은 0이 되는데 키가 지워지지 않더라구요 근데 else문을 사용하니까 키가 사라지는데 무슨 차이일까요 ㅠㅠ remove는 이미 if문에서 실행이 돼야되는거 아닌가요