2019-11-27

3266 단어
Pandas의 DataFrame은 쉽게 NumPy 배열로 변환할 수 있기 때문에 일이 이렇다.
지금까지 Dell 코드:
import quandl, math
import numpy as np
import pandas as pd
from sklearn import preprocessing, cross_validation, svm
from sklearn.linear_model import LinearRegression

df = quandl.get("WIKI/GOOGL")

print(df.head())
#print(df.tail())

df = df[['Adj. Open',  'Adj. High',  'Adj. Low',  'Adj. Close', 'Adj. Volume']]

df['HL_PCT'] = (df['Adj. High'] - df['Adj. Low']) / df['Adj. Close'] * 100.0
df['PCT_change'] = (df['Adj. Close'] - df['Adj. Open']) / df['Adj. Open'] * 100.0

df = df[['Adj. Close', 'HL_PCT', 'PCT_change', 'Adj. Volume']]
print(df.head())

forecast_col = 'Adj. Close'
df.fillna(value=-99999, inplace=True)
forecast_out = int(math.ceil(0.01 * len(df)))

df['label'] = df[forecast_col].shift(-forecast_out)

우리 앞으로 남인 메시지 다 버려야 돼.
df.dropna(inplace=True)

기계 학습에 있어 일반적으로 X(대문자)을 특징으로 하고 y(소문자)을 특징에 대한 라벨로 정의한다.이렇게 하면 다음과 같이 피쳐와 레이블을 정의할 수 있습니다.
X = np.array(df.drop(['label'], 1))
y = np.array(df['label'])

위에서 우리가 한 것은 X(특징)을 정의하는 것이다. 이것은 우리 전체의 DataFrame이고 label열을 제외하고 NumPy 그룹으로 전환한다.DataFrame에서는 새로운 DataFrame을 반환하는 drop 메서드를 사용합니다.다음은 DataFrame의 태그 열일 뿐 아니라 NumPy 배열로 변환되는 y 변수를 정의합니다.
이제 우리는 일단락을 짓고 훈련과 테스트로 돌아갈 수 있지만, 우리는 약간의 예처리를 할 계획이다.보통 당신의 특징이 -1에서 1까지의 범위 내에 있기를 바랍니다.이것은 작용하지 않을 수도 있지만, 통상적으로 처리 과정을 가속화하고 정확성에 도움이 된다.모두가 이 범위를 사용하기 때문에, 그것은 Sklearn의 preprocessing 모듈에 포함되어 있다.그것을 사용하기 위해서는 X 변수를 preprocessing.scale으로 호출해야 합니다.
X = preprocessing.scale(X)

다음은 태그 y을 만듭니다.
y = np.array(df['label'])

이제 훈련하고 테스트할 때야.방식은 75퍼센트의 데이터를 골라 기계 학습 분류기를 훈련시키는 것이다.이후 나머지 25%의 데이터를 선택하여 분류기를 테스트합니다.이것은 당신의 예시 데이터이기 때문에, 당신은 특징과 항상 라벨을 가지고 있어야 합니다.따라서 만약 당신이 테스트 후 25%의 데이터를 얻게 된다면, 당신은 신뢰도라는 정확도와 신뢰성을 얻게 될 것이다.많은 방식으로 그것을 실현할 수 있지만, 가장 좋은 방법은 내장된 cross_validation을 사용하는 것이다. 왜냐하면 그것도 당신을 위해 데이터를 흐트러뜨릴 수 있기 때문이다.코드는 다음과 같습니다.
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.2)

이곳의 반환값은 특징적인 훈련 집합, 테스트 집합, 라벨의 훈련 집합과 테스트 집합이다.현재, 우리는 이미 분류기를 정의했다.Sklearn은 회귀에 사용할 수 있는 많은 일반적인 분류기를 제공합니다.우리는 이 예에서 몇 가지를 보여 드리지만, 지금은 svm 패키지의 지원 벡터 회귀를 사용합니다.
clf = svm.SVR()

우리는 일을 간단하게 하기 위해 기본 옵션만 사용하지만, 당신은 sklearn.svm.SVR의 문서에서 더 많은 것을 알 수 있습니다.
일단 분류기를 정의하면, 너는 그것을 훈련시킬 수 있다.Sklearn에서는 fit으로 훈련한다.
clf.fit(X_train, y_train)

이곳에서 우리는 우리의 훈련 특징과 훈련 라벨을 맞췄다.
우리의 분류기는 현재 훈련이 끝났다.이것은 매우 간단하다. 이제 우리는 테스트할 수 있다.
confidence = clf.score(X_test, y_test)

테스트 로드 후:
print(confidence)
# 0.960075071072

그래서 여기서 우리는 정확도가 거의 96퍼센트라는 것을 볼 수 있다.할 말이 없으니 다른 분류기를 시도해 봅시다. 이번에는 LinearRegression을 사용하겠습니다.
clf = LinearRegression()
# 0.963311624499

좋은 웹페이지 즐겨찾기