묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
LinearRegression() 에러입니다^^
안녕하세요. 교수님 너무 좋은 강의 잘 듣고 있습니다.바쁘실텐데 바로바로 답변해주셔서 너무 감사드려요^^Bike Sharing Demend 예제소스 에러 질문이 있어서요..최근에 설치했는데.. 에러가 많이나서 사이킷런 1.0.2 파이썬 3.9.18으로 다운그레이했습니다. 넘파이는 몇버전으로 해야 할까요?아래는 에러내용입니다.[ 로그 변환, 피처 인코딩, 모델 학습/예측/평가 ] from sklearn.model_selection import train_test_split , GridSearchCV from sklearn.linear_model import LinearRegression , Ridge , Lasso y_target = bike_df['count'] X_features = bike_df.drop(['count'],axis=1,inplace=False) X_train, X_test, y_train, y_test = train_test_split(X_features, y_target, test_size=0.3, random_state=0) lr_reg = LinearRegression() lr_reg.fit(X_train, y_train) pred = lr_reg.predict(X_test) evaluate_regr(y_test ,pred)에러 --------------------------------------------------------------------------- DTypePromotionError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_19124\3974685920.py in <module> 11 lr_reg = LinearRegression() 12 ---> 13 lr_reg.fit(X_train, y_train) 14 pred = lr_reg.predict(X_test) 15 D:\dev03\anaconda\lib\site-packages\sklearn\linear_model\_base.py in fit(self, X, y, sample_weight) 660 accept_sparse = False if self.positive else ["csr", "csc", "coo"] 661 --> 662 X, y = self._validate_data( 663 X, y, accept_sparse=accept_sparse, y_numeric=True, multi_output=True 664 ) D:\dev03\anaconda\lib\site-packages\sklearn\base.py in _validate_data(self, X, y, reset, validate_separately, **check_params) 579 y = check_array(y, **check_y_params) 580 else: --> 581 X, y = check_X_y(X, y, **check_params) 582 out = X, y 583 D:\dev03\anaconda\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, estimator) 962 raise ValueError("y cannot be None") 963 --> 964 X = check_array( 965 X, 966 accept_sparse=accept_sparse, D:\dev03\anaconda\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator) 663 664 if all(isinstance(dtype, np.dtype) for dtype in dtypes_orig): --> 665 dtype_orig = np.result_type(*dtypes_orig) 666 667 if dtype_numeric: DTypePromotionError: The DType <class 'numpy.dtypes.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
LinearRegression() 에러
안녕하세요. 너무 좋은 강의 잘 듣고 있습니다.Bike Sharing Demend 예제소스 에러 질문이 있어서요..[ 로그 변환, 피처 인코딩, 모델 학습/예측/평가 ]from sklearn.model_selection import train_test_split , GridSearchCVfrom sklearn.linear_model import LinearRegression , Ridge , Lassoy_target = bike_df['count']X_features = bike_df.drop(['count'],axis=1,inplace=False)X_train, X_test, y_train, y_test = train_test_split(X_features, y_target, test_size=0.3, random_state=0)lr_reg = LinearRegression()lr_reg.fit(X_train, y_train)pred = lr_reg.predict(X_test)evaluate_regr(y_test ,pred)에러--------------------------------------------------------------------------- DTypePromotionError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_19124\3974685920.py in <module> 11 lr_reg = LinearRegression() 12 ---> 13 lr_reg.fit(X_train, y_train) 14 pred = lr_reg.predict(X_test) 15 D:\dev03\anaconda\lib\site-packages\sklearn\linear_model\_base.py in fit(self, X, y, sample_weight) 660 accept_sparse = False if self.positive else ["csr", "csc", "coo"] 661 --> 662 X, y = self._validate_data( 663 X, y, accept_sparse=accept_sparse, y_numeric=True, multi_output=True 664 ) D:\dev03\anaconda\lib\site-packages\sklearn\base.py in _validate_data(self, X, y, reset, validate_separately, **check_params) 579 y = check_array(y, **check_y_params) 580 else: --> 581 X, y = check_X_y(X, y, **check_params) 582 out = X, y 583 D:\dev03\anaconda\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, estimator) 962 raise ValueError("y cannot be None") 963 --> 964 X = check_array( 965 X, 966 accept_sparse=accept_sparse, D:\dev03\anaconda\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator) 663 664 if all(isinstance(dtype, np.dtype) for dtype in dtypes_orig): --> 665 dtype_orig = np.result_type(*dtypes_orig) 666 667 if dtype_numeric: DTypePromotionError: The DType <class 'numpy.dtypes.
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요(머린이 질문)
안녕하세요 선생님다름이 아니라, 머신러닝 수강중 궁금한게 있어 질문드립니다X1, X2 ,X3 ,X4 ~... Y가 있을 때 회귀예측을 진행한다고 하면만약 타겟 Y값 목표가 100이라고 가정 했을 때X1,X2,X3,X4들이 어느정도 값에 있는걸 추천한다 ? , 권장한다 ? 라는 분석기법도 있을까요 ? Q1) Y가 목표값이 있을 때, 각 X1~X4 범위 , 그에 따른 Y값의 신뢰구간 ㅠ 그냥 이 질문은 ML이 아니고 회귀분석 일까요 ??
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
안녕하세요. 9장 질문입니다. 아래와 같은 에러가 발생했어요..
소스코드:movies_df['genres_literal'] = movies_df['genres'].apply(lambda x : (' ').join(x))count_vect = CountVectorizer(min_df=0, ngram_range=(1,2))genre_mat = count_vect.fit_transform(movies_df['genres_literal'])print(genre_mat.shape)에러 코드:InvalidParameterError Traceback (most recent call last) Cell In[99], line 10 8 count_vect = CountVectorizer(min_df=0, ngram_range=(1,2)) 9 # print(movies_df['genres_literal']) ---> 10 genre_mat = count_vect.fit_transform(movies_df['genres_literal']) File D:\dev03\anaconda\Lib\site-packages\sklearn\base.py:1467, in _fit_context.<locals>.decorator.<locals>.wrapper(estimator, *args, **kwargs) 1462 partial_fit_and_fitted = ( 1463 fit_method.__name__ == "partial_fit" and _is_fitted(estimator) 1464 ) 1466 if not global_skip_validation and not partial_fit_and_fitted: -> 1467 estimator._validate_params() 1469 with config_context( 1470 skip_parameter_validation=( 1471 prefer_skip_nested_validation or global_skip_validation 1472 ) 1473 ): 1474 return fit_method(estimator, *args, **kwargs) File D:\dev03\anaconda\Lib\site-packages\sklearn\base.py:666, in BaseEstimator._validate_params(self) 658 def _validate_params(self): 659 """Validate types and values of constructor parameters 660 661 The expected type and values must be defined in the `_parameter_constraints` (...) 664 accepted constraints. 665 """ --> 666 validate_parameter_constraints( 667 self._parameter_constraints, 668 self.get_params(deep=False), 669 caller_name=self.__class__.__name__, 670 ) File D:\dev03\anaconda\Lib\site-packages\sklearn\utils\_param_validation.py:95, in validate_parameter_constraints(parameter_constraints, params, caller_name) 89 else: 90 constraints_str = ( 91 f"{', '.join([str(c) for c in constraints[:-1]])} or" 92 f" {constraints[-1]}" 93 ) ---> 95 raise InvalidParameterError( 96 f"The {param_name!r} parameter of {caller_name} must be" 97 f" {constraints_str}. Got {param_val!r} instead." 98 ) InvalidParameterError: The 'min_df' parameter of CountVectorizer must be a float in the range [0.0, 1.0] or an int in the range [1, inf). Got 0 instea
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
머린이 (k-fold) 질문
안녕하세요 선생님 머린이 질문드립니다 ㅠk-fold 검증하는거에 대해 궁금한게 있습니다X_train, X_val, y_train, y_test = train_test_split(x,y,test_size= 0.3) 으로 햇을 때만약 100개 데이터가 있으면 30개 데이터를 가지고 질문1) fit -> x_train, y_train : 30개 데이터를 가지고훈련한다. )70개 데이터에 대해 pred : x_val 후 -> accuracy (y_val, pred) 맞춰본다(모의고사를 푼다)-> 이제 fit한 데이터를 가지고 실제 수능을 푼다 (real test data)가 맞을까요 ??질문2) 이게 맞다면 k-폴드 교차검증은 (k=5일떄)fit 활동 -> 30개 데이터 셋 fit을 5번 수행 실시 후70개의 pred : x_val 활동을 한다 가 맞을까요 ? '^',,
-
해결됨[개정판] 파이썬 머신러닝 완벽 가이드
머린이(머신러닝 어린이) 질문
안녕하세요 선생님 ㅎ ㅠ 강의중2.4 model selection 모듈소개에서 from sklearn.datasets import load_iris 내장된데이터셋을 불러온 후 head()랑 shape을 바로 파악하고싶은데예를들어 df = pd.read_csv("~~.csv")df.head() 하면 x1, x2 , x3, target (물론 본인이 x,y 파악) 데이터 셋을바로 파악할 수 있는데 내장 데이터는iris_df = pd.DataFrame(iris_data.data, columns=iris_data.feature_names)iris_df['target']=iris_data.target이런 작업이 필요한걸까요 ㅠㅠ?..
-
해결됨통계 분석 마스터 클래스
다중 선형회귀 분석 등
안녕하세요 해당 관련 강의를 듣고 있는 수강생입니다.수업을 듣고 있는 중에.. 엑셀로 회귀 분석을 진행하는데매크로를 사용해서 진행하는 것만 나오네요?각각의 분석값을 어떻게 계산하는지는 설명이 없는 거 같아서요.. 예를 들면 2차회귀에서의 결정계수, 상관계수, P값(분산분석)아니면 중회귀에서의 P값 등... 구하는 공식 등을 그냥 엑셀에서의 매크로를 통해 보여주기만 하네요.. 혹 이런 값들의 계산식들을 알 수가 있을까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
색션2 강의 재생 문제
안녕하세요. 섹션2 강의 재생이 안됩니다. 섹션1 강의는 제대로 재생되어 테스트도 해보았는데 섹션2 강의가 재생이 안되네요. 확인 부탁드려요
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
early_stopping_rounds,eval_metric 오류 관련 질문있습니다.
분류 강의 위스콘신 유방암 예측 실습강의 코드입니다.from xgboost import XGBClassifierxgb_wrapper = XGBClassifier(n_estimators=400, learning_rate=0.05, max_depth=3)evals = [(X_tr, y_tr), (X_val, y_val)]xgb_wrapper.fit(X_tr, y_tr, early_stopping_rounds=50, eval_metric="logloss", eval_set=evals, verbose=True)ws50_preds = xgb_wrapper.predict(X_test)ws50_pred_proba = xgb_wrapper.predict_proba(X_test)[:, 1] --------------------------------------------------------------------------- TypeError Traceback (most recent call last) Cell In[36], line 5 3 xgb_wrapper = XGBClassifier(n_estimators=400, learning_rate=0.05, max_depth=3) 4 evals = [(X_tr, y_tr), (X_val, y_val)] ----> 5 xgb_wrapper.fit(X_tr, y_tr, early_stopping_rounds=50, eval_metric="logloss", 6 eval_set=evals, verbose=True) 8 ws50_preds = xgb_wrapper.predict(X_test) 9 ws50_pred_proba = xgb_wrapper.predict_proba(X_test)[:, 1] File ~\anaconda3\Lib\site-packages\xgboost\core.py:726, in require_keyword_args.<locals>.throw_if.<locals>.inner_f(*args, **kwargs) 724 for k, arg in zip(sig.parameters, args): 725 kwargs[k] = arg --> 726 return func(**kwargs) TypeError: XGBClassifier.fit() got an unexpected keyword argument 'early_stopping_rounds'위 코드를 입력하였을때 이러한 오류가 뜨는데 무엇이 원인인지 잘모르겠습니다. Xgboost 버전은 2.1.0이고 파이썬버전같은경우는 3.1.1입니다. 아래는 인터넷에 검색하여 찾아낸 방법으로 입력한 코드입니다from xgboost import XGBClassifierxgb_wrapper=XGBClassifier(n_estimators=400,learning_rate=0.05,max_depth=3,early_stopping_rounds=50,eval_metric="logloss")evals=[(X_tr,y_tr),(X_val,y_val)]xgb_wrapper.fit(X_tr,y_tr, eval_set=evals,verbose=True)ws50_preds=xgb_wrapper.predict(X_test)ws50_pred_proba=xgb_wrapper.predict_proba(X_test)[:,1] 아래는 위 코드에 대한 결과값입니다.오차 행렬 [[35 2] [ 2 75]] 정확도: 0.9649, 정밀도: 0.9740, 재현율: 0.9740, F1: 0.9740, AUC:0.9961 아래는 책에 있는 코드를 입력하였을때의 결과값입니다.오차 행렬 [[35 3] [ 2 75]] 정확도: 0.9561, 정밀도: 0.9615, 재현율: 0.9740, F1: 0.9677, AUC:0.9933 제 생각에는 버전차이에 따른 문제같은데 수정된 코드를 사용하였을때 결과값은 도출되지만 기존 강의에서 사용하신 코드의 결과값과는 다릅니다. 수정된 코드를 그대로 사용하는게 맞을지 아니면 다른 방법이 있는지 궁금합니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
GridSearchCV 관련 질문
grid_dtree = GridSearchCV(dtree, param_grid=parameters, cv=3, refit=True, return_train_score=True)grid_dtree.fit(X_train, y_train) 강의에서는 지금까지 정확도를 도출할때 이미 훈련 데이터로 학습된 모델을 통해 X_test 데이터의 예측값을 구하고 이를 실제 y_test 값과 비교하여 일치도를 구하는 방식으로 하였습니다. 하지만 위의 코드에서는 test 데이터 없이 train 데이터만 grid_dtree에 넣었는데 어떻게 파라미터별 정확도를 평가할 수 있는건지 이해가 안갑니다!! GridSearchCV를 통한 파라미터별 정확도는 어떻게 도출되는것인가요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
원-핫 인코딩 get_dummies()질문
안녕하세요 ! import pandas as pd df = pd.DataFrame({'item':['TV','냉장고','전자렌지','컴퓨터','선풍기','선풍기','믹서','믹서']}) pd.get_dummies(df) 이렇게 실행하니 0,1값대신 True/False값이 결과로 출력되는데 문제점이 뭔지 모르겠습니다 ㅜ실행결과 사진입니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
섹션2 Grid Search 예제에서 Test data분리시 계층 적용 여부
섹션2의 Grid Search 예제에서 학습/테스트 데이터 분리시 train_test_split()함수에서 stratify옵션없이 사용되었는데요, 계층 분할을 위해 stratify=iris_data.target 옵션을 넣어야 하는거 아닌가요?stratify옵션 넣고 테스트해보니 학습데이터 score는 강의동영상의 점수보다 낮았는데, test data에 대한 스코어는 강의 동영상과 동일하게 나왔습니다.
-
해결됨AB 테스트 실무자 완벽 가이드
여기서 유의수준은 p-value와 동일한가요?
5% 라 나와서 p-value라고 생각했는데 계속 듣고 있으면 그것도 아닌 것 같고, 유의수준은 어떻게 결정되는지도 궁금합니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
섹션 1 넘파이 ndarray 인덱싱
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.마지막 2차원 ndarray 인덱싱 자료화면(11분 경)에서마지막 6번째 인덱싱 결과가 1차원이라고 하셨는데Index 1이 1개, index 0이 2개인 (2,1) 의 2차원으로 봐야 하는 것 아닌지 질문 드립니다
-
해결됨AB 테스트 실무자 완벽 가이드
Pdf자료가 어딨죠
첫 수업만 자료가 있네요
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
xgboost의 n_estimators
xgboost의 모델은 decision tree의 형식을 따르는 걸까요? n_estimators값 만큼의 반복 수행을 하며 decision tree의 가중치를 수정해나가는 방식으로 이해하였는데 맞는지 궁금합니다. 그리고 xgb가 왜 앙상블 기법인지에 대해서도 약간 이해가 잘 안되서 설명 부탁드립니다!
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
섹션3
from sklearn.metrics import precision_recall_curve# 실제값 데이터 셋과 레이블 값이 1일 때의 예측 확률을 precision_recall_curve 인자로 입력 precisions, recalls, thresholds = precision_recall_curve(y_test, pred_proba_class1 )print('반환된 분류 결정 임곗값 배열의 Shape:', thresholds.shape)print('반환된 precisions 배열의 Shape:', precisions.shape)print('반환된 recalls 배열의 Shape:', recalls.shape)print('thresholds 5 sample:', thresholds[:5])print('precisions 5 sample:', precisions[:5])print('recalls 5 sample:', recalls[:5]) precision_recall_curve 함수를 이용해 precisions, recalls, thresholds 값을 반환받는 과정입니다.여기서 thresholds의 개수가 precisions, recalls보다 1개 더 적게 나오는 이유가 궁금합니다.위에서 개수 차이로 인해 thresholds값에 따른 precisions, recalls값들이 대응되지 않는 위치에 존재하지 않나요?print('thresholds 5 sample:', thresholds[:5])print('precisions 5 sample:', precisions[1:6])print('recalls 5 sample:', recalls[1:6])이렇게 하는게 옳다 생각했는데 제 생각이 잘못되었는지 궁금합니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
강의자료
안녕하세요좋은 강의 열심히 듣고 있습니다.설명해주시는 PPT 자료는 받아볼 수 있는지요 ?
-
미해결데이터 사이언스 입문자를 위한 파이썬 및 통계
공지
강좌 운영이나 강의 내용에 관해 궁금한 점이 있으면 자유롭게 나누어주세요.교수자, 수강생 누구나 글쓰기와 댓글 쓰기가 가능합니다.
-
해결됨(2024년) 파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 되는 이유
안녕하세요 수업 너무 잘 듣고 있습니다.수업중에 "변동성이 너무 크면, 통계적으로 접근하기 어려운 데이터가 된다"는 말씀을 주셨는데 왜 그런지 직관적으로 이해가 되지 않아서 질문드립니다.변동성이 너무 큰 상황에서도 많은 반복을 하면 예상하는 margin을 기대할 수 있는 것이 아닌가 싶은 생각이 들기도 합니다.설명 기다리겠습니다. 감사합니다.