[php machine learing] 회귀 분석 phpml
2020.02.06 20:47
[php machine learing] 회귀 분석 phpml
PHP-ML
을 이용한 분류에서 우리는 새로운 관측에 레이블을 할당했다. 회귀는 출력 값이 클래스 레이블이 아니라 연속 값이라는 차이점과 거의 동일합니다. 예측 및 예측에 널리 사용됩니다. PHP-ML은 다음 회귀 알고리즘을 지원합니다.
- 지원 벡터 회귀
- 최소 선형 회귀 분석
회귀 분석은 분류에 사용 된 것과 동일한 train
및 predict
방법을 사용합니다.
지원 벡터 회귀
이것은 SVM (Support Vector Machine)에 대한 회귀 버전입니다. 분류와 같은 첫 번째 단계는 모델을 학습하는 것입니다.
// Import library
use Phpml\Regression\SVR;
use Phpml\SupportVectorMachine\Kernel;
// Training data
$samples = [[60], [61], [62], [63], [65]];
$targets = [3.1, 3.6, 3.8, 4, 4.1];
// Initialize regression engine
$regression = new SVR(Kernel::LINEAR);
// Train regression engine
$regression->train($samples, $targets);
회귀 분석에서 $targets
은 분류와 반대로 등급 $targets
가 아닙니다. 이것은 둘의 차별화 요소 중 하나입니다. 우리 모델을 데이터로 훈련 한 후에 실제 예측으로 시작할 수 있습니다.
$regression->predict([64]) // return 4.03
예측은 대상 외부의 값을 반환합니다.
최소 선형 회귀 분석
이 알고리즘은 솔루션을 근사하기 위해 least squares method
을 사용합니다. 다음은 간단한 훈련 및 예측 코드를 보여줍니다.
// Training data
$samples = [[60], [61], [62], [63], [65]];
$targets = [3.1, 3.6, 3.8, 4, 4.1];
// Initialize regression engine
$regression = new LeastSquares();
// Train engine
$regression->train($samples, $targets);
// Predict using trained engine
$regression->predict([64]); // return 4.06
PHP-ML은 Multiple Linear Regression
옵션도 제공합니다. 같은 코드의 샘플 코드는 다음과 같습니다.
$samples = [[73676, 1996], [77006, 1998], [10565, 2000], [146088, 1995], [15000, 2001], [65940, 2000], [9300, 2000], [93739, 1996], [153260, 1994], [17764, 2002], [57000, 1998], [15000, 2000]];
$targets = [2000, 2750, 15500, 960, 4400, 8800, 7100, 2550, 1025, 5900, 4600, 4400];
$regression = new LeastSquares();
$regression->train($samples, $targets);
$regression->predict([60000, 1996]) // return 4094.82
Multiple Linear Regression
는 여러 요인 또는 특성이 결과를 식별 할 때 특히 유용합니다.
이제 실생활 시나리오에서 회귀 분석을 적용 해 보겠습니다.
매우 인기있는 웹 사이트를 운영한다고 가정 해 보겠습니다. 그러나 트래픽은 지속적으로 변화합니다. 특정 시간대에 배포해야하는 서버 수를 예측할 수있는 솔루션이 필요합니다. 당신의 호스팅 제공 업체가 서버를 만들 수있는 API를 제공한다고 가정하면 각 서버는 부팅하는데 15 분이 걸립니다. 이전 트래픽 데이터 및 회귀를 기반으로 언제든지 애플리케이션에 부딪 힐 트래픽을 예측할 수 있습니다. 이 지식을 사용하면 서지 15 분 전에 서버를 시작하여 응용 프로그램이 오프라인이되는 것을 방지 할 수 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.