소개
상호 작용 항은 종속 변수에서 둘 이상의 독립 변수의 효과를 캡처하기 위해 회귀 모델링에 통합됩니다. 때로는 제어 변수와 조사중인 대상 변수 간의 간단한 관계 일뿐 만 아니라 상호 작용 용어 가이 순간에 상당히 도움이 될 수 있습니다. 이들은 하나의 독립 변수와 종속 변수 사이의 관계가 다른 독립 변수의 수준에서 조건부 일 때마다 유용합니다.
물론 이것은 응답 변수에 대한 예측 변수의 효과가 다른 예측 변수의 수준에 달려 있음을 의미합니다. 이 블로그에서는 시뮬레이션 된 시나리오를 통해 상호 작용 용어의 아이디어를 검토합니다. 시간과 시간 예측 사용자가 과거의 행동을 사용하여 전자 상거래 채널에 소비하는 시간의 양을 예측합니다.
학습 목표
- 상호 작용 용어가 회귀 모델의 예측력을 향상시키는 방법을 이해하십시오.
- 회귀 분석에서 상호 작용 용어를 작성하고 통합하는 법을 배우십시오.
- 실용적인 예를 통해 상호 작용 용어가 모델 정확도에 미치는 영향을 분석하십시오.
- 상호 작용 용어가 예측 된 결과에 미치는 영향을 시각화하고 해석합니다.
- 실제 시나리오에서 상호 작용 용어를 언제 그리고 왜 적용 해야하는지에 대한 통찰력을 얻으십시오.
이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .
목차
- 소개
- 상호 작용 용어의 기본 사항을 이해합니다
- 상호 작용 용어가 회귀 계수에 어떤 영향을 미칩니 까?
- 시뮬레이션 시나리오 : 전자 상거래 플랫폼의 사용자 동작
- 상호 작용 용어가없는 모델
- 상호 작용 용어가있는 모델
- 모델 성능 비교
- 결론
- 자주 묻는 질문
상호 작용 용어의 기본 사항을 이해합니다
실제로, 우리는 변동이 다른 사람들과 분리되어 작동한다는 것을 알지 못하므로 실제 모델은 수업에서 공부하는 모델보다 훨씬 더 복잡합니다. 예를 들어, 전자 상거래 플랫폼에 소요되는 시간에 항목을 카트에 추가하는 것과 같은 최종 사용자 탐색 작업의 효과는 사용자가 항목을 카트에 추가하고 구매할 때 다릅니다. 따라서 회귀 모델에 변수로 상호 작용 항을 추가하면 이러한 교차로를 인식하고 관찰 된 데이터의 기본 패턴을 설명하거나 종속 변수의 미래 값을 예측하는 데있어서 목적을위한 모델의 적합성을 향상시킬 수 있습니다.
수학적 표현
두 개의 독립적 인 변수 X1과 X2의 선형 회귀 모델을 고려해 봅시다.
y = β0 β1 x1 β2 x2 ϵ,
여기서 y는 종속 변수이고, β0은 인터셉트이고, β1 및 β2는 각각 독립 변수 x1 및 x2의 계수이며, 오차 항입니다.
상호 작용 용어 추가
X1과 X2 사이의 상호 작용 항을 포함시키기 위해 새로운 변수 X1⋅X2를 소개합니다.
y = β0 β1x1 β2x2 β3 (x1⋅x2) ϵ,
여기서 β3은 X1과 X2 사이의 상호 작용 효과를 표현합니다. 용어 x1⋅x2는 두 개의 독립 변수의 곱입니다.
상호 작용 용어가 회귀 계수에 어떤 영향을 미칩니 까?
- β0 : 모든 독립 변수가 0 일 때 y의 예상 값을 나타내는 절편.
- β1 : x2가 0 일 때 y에 대한 x1의 효과.
- β2 : x1이 0 일 때 y에 대한 x2의 효과.
- β3 : X2의 1 단위 변화에 대한 1 단위 변화에 대한 X1의 효과의 변화 또는 X1의 1 단위 변화에 대한 x2의 효과 변화.
예 : 사용자 활동 및 소비 시간
먼저 온라인 상점에서 사용자 동작을 나타내는 시뮬레이션 된 데이터 세트를 만들어 봅시다. 데이터는 다음으로 구성됩니다.
- Adde_in_Cart : 사용자가 카트에 제품을 추가했는지 여부를 나타냅니다 (추가 된 경우 1, 추가되지 않음).
- 구매 : 사용자가 구매를 완료했는지 여부 (완료의 경우 1 또는 완성되지 않은 경우 0).
- Time_Spent : 사용자가 전자 상거래 플랫폼에서 소비 한 시간. 우리의 목표는 장바구니에 제품을 추가하고 거래를 완료하는지 분석하여 온라인 상점에서 사용자 방문 기간을 예측하는 것입니다.
# 도서관 가져 오기 팬더를 PD로 가져옵니다 Numpy를 NP로 가져옵니다 # 합성 데이터를 생성합니다 def generate_synthetic_data (n_samples = 2000) : np.random.seed (42) adds_in_cart = np.random.randint (0, 2, n_samples) 구매 = np.random.randint (0, 2, n_samples) time_spent = 3 2*구매 2.5*adde_in_cart 4*구매*adds_in_cart np.random.normal (0, 1, n_samples) pd.dataframe을 반환합니다 ({ '구매': 구매, 'adds_in_cart': adds_in_cart, 'time_spent': time_spent}) df = generate_synthetic_data () df.head ()
산출:
시뮬레이션 시나리오 : 전자 상거래 플랫폼의 사용자 동작
다음 단계로서 먼저 시장의 이러한 행동을 고려하여 상호 작용 효과에 대한 적용 범위없이 일반 최소 제곱 회귀 모델을 구축 할 것입니다. 우리의 가설은 다음과 같습니다. (가설 1) 각 조치가 별도로 취하는 웹 사이트에 소비 된 시간의 효과가 있습니다. 이제 우리는 카트에 제품을 추가하는 것과 구매 사이에 존재하는 상호 작용 용어를 포함하는 두 번째 모델을 구성합니다.
이를 통해 웹 사이트에 소요 된 시간에 따라 이러한 조치의 영향을 별도로 또는 결합하는 데 도움이됩니다. 이는 카트에 제품을 추가하는 사용자가 카트에 제품을 추가하고 구매를하는 사용자가 각 동작을 개별적으로 고려할 때 소비 된 시간보다 사이트에서 더 많은 시간을 보내는 지 확인하고자합니다.
상호 작용 용어가없는 모델
모델의 구성에 따라 다음과 같은 결과가 주목되었습니다.
- 평균 제곱 오차 (MSE)가 2.11 인 상호 작용 용어가없는 모델은 Time_Spent의 분산의 대략 80% (테스트 R- 제곱) 및 82% (트레인 R- 제곱)를 차지합니다. 이는 Time_Spent 예측이 실제 Time_Spent에서 평균 2.11 제곱 단위임을 나타냅니다. 이 모델은 개선 될 수 있지만 합리적으로 정확합니다.
- 또한 아래 플롯은 모델이 상당히 잘 작동한다는 것을 그래픽으로 나타냅니다. 특히 Time_spent의 높은 값을 캡처하는 측면에서 개선의 여지가 여전히 많습니다.
# 도서관 가져 오기 sklearn.model_selection import train_test_split sklearn.linear_model 가져 오기 LinearRegression sklearn.metrics import mean_squared_error, r2_score sm으로 statsmodels.api를 가져옵니다 sklearn.model_selection import train_test_split matplotlib.pyplot을 plt로 가져옵니다 # 상호 작용 용어가없는 모델 x = df [[ '구매', 'added_in_cart']]]] y = df [ 'time_spent'] x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.3, random_state = 42) # 절편에 상수를 추가하십시오 x_train_const = sm.add_constant (x_train) x_test_const = sm.add_constant (x_test) model = sm.ols (y_train, x_train_const) .fit () y_pred = model.predict (x_test_const) # 상호 작용 용어없이 모델의 메트릭을 계산합니다 Train_R2 = model.rsquared test_r2 = r2_score (y_test, y_pred) mse = mean_squared_error (y_test, y_pred) print ( "상호 작용이없는 모델 :") print ( '훈련 r-squared score (%) :', 라운드 (Train_R2 * 100, 4)) print ( 'test r-squared score (%) :', 라운드 (test_r2 * 100, 4)) print ( "MSE :", Round (MSE, 4)) print (model.summary ()) # 실제 대 예측을 플로팅하는 기능 def plot_actual_vs_predicted (y_test, y_pred, title) : plt.figure (figsize = (8, 4)) plt.scatter (y_test, y_pred, edgecolors = (0, 0, 0)) plt.plot ([y_test.min (), y_test.max ()], [y_test.min (), y_test.max ()], 'k-', lw = 2) plt.xlabel ( '실제') plt.ylabel ( '예측') plt.title (제목) plt.show () # 상호 작용 용어없이 플롯 plot_actual_vs_predicted (y_test, y_pred, '실제 대 예측 된 시간 (상호 작용 용어없이)')
산출:
상호 작용 용어가있는 모델
- 상호 작용 항에 대한 모델에 더 잘 맞는 상호 작용 항으로 산점도로 표시되며, 이는 예측 된 값이 실제 값에 실질적으로 더 가깝게 표시됩니다.
- 이 모델은 높은 테스트 R- 제곱 값 (80.36% ~ 90.46%)으로 표시된 것처럼 상호 작용 항에 대한 Time_spent의 차이를 훨씬 더 많이 설명합니다.
- 상호 작용 항에 대한 모델의 예측은 더 낮은 MSE (2.11 ~ 1.02)에 의해 입증 된 바와 같이 더 정확합니다.
- 지점을 대각선으로, 특히 Time_Spent의 높은 값에 대해 점을 더 밀접하게 정렬하면 개선 된 적합성을 나타냅니다. 상호 작용 용어는 사용자 행동이 소비 된 시간의 양에 어떻게 영향을 미치는지 표현하는 데 도움이됩니다.
# 상호 작용 용어 추가 df [ '구매 _added_in_cart'] = df [ '구매'] * df [ 'adds_in_cart'] x = df [[ '구매', 'added_in_cart', 'buyased_added_in_cart']]]]] y = df [ 'time_spent'] x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.3, random_state = 42) # 절편에 상수를 추가하십시오 x_train_const = sm.add_constant (x_train) x_test_const = sm.add_constant (x_test) model_with_interaction = sm.ols (y_train, x_train_const) .fit () y_pred_with_interaction = model_with_interaction.predict (x_test_const) # 상호 작용 항으로 모델의 메트릭을 계산합니다 Train_R2_With_Interaction = model_with_interaction.rsquared test_r2_with_interaction = r2_score (y_test, y_pred_with_interaction) mse_with_interaction = mean_squared_error (y_test, y_pred_with_interaction) print ( "\ n model with intercation term :") print ( '훈련 r-squared score (%) :', Round (Train_R2_With_Interaction * 100, 4)) print ( 'test r-squared score (%) :', 라운드 (test_r2_with_interaction * 100, 4)) print ( "MSE :", Round (MSE_WITH_INteraction, 4)) print (model_with_interaction.summary ()) # 상호 작용 용어와 함께 플롯 plot_actual_vs_predicted (y_test, y_pred_with_interaction, '실제 대 예측 된 시간 (상호 작용 용어와 함께)') # 인쇄 비교 print ( "\ n Comparison of Models :") print ( "상호 작용 용어없는 r-squared :", Round (r2_score (y_test, y_pred)*100,4)) print ( "상호 작용 용어와 함께 R- 제곱 :", 라운드 (r2_score (y_test, y_pred_with_interaction)*100,4)) print ( "상호 작용이없는 MSE :", 라운드 (평균 _squared_error (y_test, y_pred), 4)) print ( "상호 작용이 포함 된 MSE :", Round (평균 _squared_error (y_test, y_pred_with_interaction), 4))
산출:
모델 성능 비교
- 상호 작용 항이없는 모델 예측은 파란색 점으로 표시됩니다. 실제 소비 값이 더 높으면이 점은 대각선에서 더 분산됩니다.
- 상호 작용 항에 대한 모델 예측은 빨간색으로 표시됩니다. 상호 작용 항이있는 모델은보다 정확한 예측을 생성합니다. 특히 실제 소비 된 값이 더 높은 경우,이 지점은 대각선에 더 가깝기 때문입니다.
# 상호 작용 용어가 있거나없는 모델을 비교하십시오 def plot_actual_vs_predicted_combined (y_test, y_pred1, y_pred2, title1, title2) : plt.figure (figsize = (10, 6)) plt.scatter (y_test, y_pred1, edgecolors = 'blue', label = title1, alpha = 0.6) plt.scatter (y_test, y_pred2, edgecolors = 'red', label = title2, alpha = 0.6) plt.plot ([y_test.min (), y_test.max ()], [y_test.min (), y_test.max ()], 'k-', lw = 2) plt.xlabel ( '실제') plt.ylabel ( '예측') plt.title ( '실제 대 예측 된 사용자 시간 소비') plt.legend () plt.show () plot_actual_vs_predicted_combined (y_test, y_pred, y_pred_with_interaction, '상호 작용 용어없는 모델', '상호 작용 용어와 모델')
산출:
결론
상호 작용 항에 대한 모델 성능의 개선은 때때로 모델에 상호 작용 항을 추가하면 중요성을 향상시킬 수 있음을 보여줍니다. 이 예는 상호 작용 용어가 주요 효과만으로는 명백하지 않은 추가 정보를 어떻게 캡처 할 수 있는지를 강조합니다. 실제로 회귀 모델에서 상호 작용 용어를 고려하면 더 정확하고 통찰력있는 예측으로 이어질 수 있습니다.
이 블로그에서는 먼저 전자 상거래 플랫폼에서 사용자 동작을 시뮬레이션하기 위해 합성 데이터 세트를 생성했습니다. 그런 다음 두 개의 회귀 모델을 구성했습니다. 하나는 상호 작용 용어가없고 하나는 상호 작용 용어가 있습니다. 성능을 비교함으로써 우리는 상호 작용 용어가 모델의 정확도에 미치는 영향을 입증했습니다.
Github의 전체 코드 및 리소스를 확인하십시오.
주요 테이크 아웃
- 상호 작용 용어가있는 회귀 모델은 결합 된 효과를 캡처하여 둘 이상의 변수와 대상 변수 간의 관계를 더 잘 이해하는 데 도움이 될 수 있습니다.
- 상호 작용 용어를 포함하면이 안내서에서 더 높은 R- 제곱 값과 더 낮은 MSE에 의해 입증 된 바와 같이, 모델 성능을 크게 향상시킬 수 있습니다.
- 상호 작용 용어는 이론적 개념 일뿐 만 아니라 실제 시나리오에 적용될 수 있습니다.
자주 묻는 질문
Q1. 회귀 분석에서 상호 작용 항은 무엇입니까?A. 둘 이상의 독립 변수를 곱하여 생성 된 변수입니다. 이들은 종속 변수에 대한 이러한 변수의 결합 효과를 캡처하는 데 사용됩니다. 이것은 데이터의 관계에 대한 미묘한 이해를 제공 할 수 있습니다.
Q2. 내 모델에서 상호 작용 용어를 언제 사용하는 것을 고려해야합니까?A. 종속 변수에 대한 하나의 독립 변수의 영향이 다른 독립 변수의 수준에 따라 다르다고 의심 할 때이를 사용하는 것을 고려해야합니다. 예를 들어, 전자 상거래 플랫폼에 소요되는 시간에 항목을 카트에 추가하는 데 영향을 미치는 것은 사용자가 구매하는지 여부에 따라 다릅니다. 이 변수 사이에 상호 작용 항을 포함해야합니다.
Q3. 상호 작용 용어의 계수를 어떻게 해석합니까?A. 상호 작용 항의 계수는 다른 독립 변수의 1 단위 변화에 대한 종속 변수에 대한 하나의 독립 변수의 효과의 변화를 나타냅니다. 예를 들어, 위의 예에서는 구매와 추가 _in_cart 사이의 상호 작용 용어가 있습니다. 계수는 구매가 이루어질 때 소요 된 시간에 카트에 항목을 추가하는 효과가 어떻게 변경 될 때, 우리에게 알려줍니다.
이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.
위 내용은 상호 작용 용어 이해를위한 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Hugging Face의 올림픽 코더 -7b : 강력한 오픈 소스 코드 추론 모델 우수한 코드 중심 언어 모델을 개발하기위한 경쟁은 강화되고 있으며, Hugging Face는 엄청난 경쟁자 인 OlympicCoder-7B와 경쟁에 참여했습니다.

AI가 단순한 질문에 대답하는 것 이상을 할 수 있기를 바라는 여러분 중 몇 명이 있습니까? 나는 내가 가지고 있다는 것을 알고 있으며, 늦게 그것이 어떻게 변화하고 있는지에 놀랐습니다. AI 챗봇은 더 이상 채팅에 관한 것이 아니라 창작에 관한 것입니다.

Smart AI가 모든 수준의 엔터프라이즈 소프트웨어 플랫폼 및 애플리케이션에 통합되기 시작함에 따라 (강력한 핵심 도구와 덜 안정적인 시뮬레이션 도구가 있음을 강조해야 함) 이러한 에이전트를 관리하려면 새로운 인프라 기능 세트가 필요합니다. 독일 베를린에 본사를 둔 프로세스 오케스트레이션 회사 인 Camunda는 Smart AI가 적절한 역할을 수행하고 새로운 디지털 작업장에서 정확한 비즈니스 목표 및 규칙에 맞게 조정하는 데 도움이 될 수 있다고 생각합니다. 이 회사는 현재 조직이 AI 에이전트를 모델링, 배포 및 관리하도록 돕기 위해 설계된 지능형 오케스트레이션 기능을 제공합니다. 실용적인 소프트웨어 엔지니어링 관점에서, 이것이 무엇을 의미합니까? 확실성과 비 결정적 프로세스의 통합 이 회사는 핵심은 사용자 (일반적으로 데이터 과학자, 소프트웨어)를 허용하는 것이라고 말했다.

다음 '25 년 Google Cloud에 참석하면서 Google이 AI 제품을 구별하는 방법을보고 싶어했습니다. 에이전트 공간 (여기서 논의 된)과 고객 경험 제품군 (여기서 논의)에 관한 최근의 발표는 유망한 비즈니스 valu를 강조했습니다.

검색 증강 생성 (RAG) 시스템을위한 최적의 다국적 임베딩 모델 선택 오늘날의 상호 연결된 세계에서 효과적인 다국어 AI 시스템을 구축하는 것이 가장 중요합니다. 강력한 다국어 임베딩 모델은 RE에 중요합니다

Tesla의 Austin Robotaxi 런칭 : Musk의 주장에 대한 자세한 내용 Elon Musk는 최근 텍사스 오스틴에서 Tesla의 다가오는 Robotaxi 런칭을 발표하여 안전상의 이유로 소규모 10-20 대의 차량을 배치하여 빠른 확장 계획을 세웠습니다. 시간

인공 지능이 적용되는 방식은 예상치 못한 일 수 있습니다. 처음에 우리 중 많은 사람들이 주로 코드 작성 및 컨텐츠 작성과 같은 창의적이고 기술적 인 작업에 주로 사용되었다고 생각할 수도 있습니다. 그러나 하버드 비즈니스 리뷰 (Harvard Business Review)가 최근 조사한 결과는 그렇지 않습니다. 대부분의 사용자는 일뿐만 아니라 지원, 조직, 심지어 우정을 위해 인공 지능을 추구합니다! 이 보고서는 AI 신청 사례의 첫 번째는 치료 및 동반자라고 밝혔다. 이것은 24/7 가용성과 익명의 정직한 조언과 피드백을 제공하는 능력이 큰 가치가 있음을 보여줍니다. 반면에, 마케팅 작업 (예 : 블로그 작성, 소셜 미디어 게시물 만들기 또는 광고 사본)은 인기있는 사용 목록에서 훨씬 낮습니다. 이게 왜? 연구 결과와 그것이 어떻게 계속되는지 보자.

AI 요원의 부상은 비즈니스 환경을 변화시키고 있습니다. 클라우드 혁명과 비교하여, AI 에이전트의 영향은 지식 작업에 혁명을 일으킬 것으로 예상되며, 기하 급수적으로 더 크다. 인간의 의사 결정 마키를 시뮬레이션하는 능력


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
