drop table multi_hg;
create table multi_hg
(shape number(20, 10), -- 외관
convenience number(20, 10), -- 편의성
useful number(20, 10), -- 유용성
satisfaction number(20, 10) ); -- 만족감
select * from multi_hg;
create table smartphone
as
select rownum as m_id, m.*
from multi_hg m;
select * from smartphone;
-- 3. 머신러닝 모델의 환경 구성 테이블을 생성합니다. ----------
drop table settings_ch;
create table settings_ch
as
select *
from table (dbms_data_mining.get_default_settings)
where setting_name like '%GLM%';
-- 회귀 모델로 만들기
begin
insert into settings_ch
values (dbms_data_mining.algo_name,'ALGO_GENERALIZED_LINEAR_MODEL');
insert into settings_ch
values (dbms_data_mining.prep_auto, 'ON');
commit;
end;
/
select * from settings_ch;
-- 4. 머신러닝 모델을 생성합니다.
-- 기존에 모델이 있다면 모델을 drop 하기
begin
dbms_data_mining.drop_model('MD_REG_MODEL2');
end;
/
-- 모델 생성
begin
dbms_data_mining.create_model(
model_name => 'MD_REG_MODEL2',
mining_function => dbms_data_mining.regression,
data_table_name => 'smartphone',
case_id_column_name => 'm_id', -- primary key
target_column_name => 'satisfaction', -- 타겟 컬럼 (= 정답 컬럼)
settings_table_name => 'SETTINGS_ch');
end;
/
-- 실습 5. 생성된 머신러닝 모델을 확인합니다.
select model_name,
algorithm,
mining_function
from all_mining_models -- 여기에 방금 만든 모델이 있는지 확인
where model_name = 'MD_REG_MODEL2';
-- 실습 6. 머신러닝 모델 구성 정보를 확인합니다.
select setting_name, setting_value
from all_mining_model_settings
where model_name = 'MD_REG_MODEL2';
-- 실습 7. 회귀분석 모델의 회귀계수를 확인합니다.
select attribute_name, coefficient -- coefficient = 영향력(기울기)
from table (dbms_data_mining.get_model_details_glm ('MD_REG_MODEL2')) ;
결과 : 외관의 숫자가 가장 높기 때문에 스마트폰의 만족도에 가장 큰 영향을 미치는 요인은 외관이다. 외관이 좋을 수록 만족도가 더 높아진다.