尝试使用sklearn.preprocessing时发生Python语法错误

时间:2019-03-19 14:18:14

标签: python machine-learning scikit-learn

我一直在阅读senddex的python实用机器学习教程https://pythonprogramming.net/training-testing-machine-learning-tutorial/。我正在尝试使用model_selection而不是交叉验证来运行相同的代码,但是当我进入preprocessing.scale()时遇到语法错误。 这是我的代码:

import quandl

import pandas as pd

import numpy as np

import math

from sklearn import preprocessing, svm, model_selection

from sklearn.linear_model import LinearRegression

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

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

df['HL_PT'] =  (df['Adj. High'] - df['Adj. Low']) / df['Adj. Close'] * 100
df['PT_Change'] = (df['Adj. Close'] - df['Adj. Open']) / df['Adj. Open'] * 100

df = df[['Adj. Close', 'HL_PT', 'PT_Change', 'Adj. Volume']]

forecast_col = 'Adj. Close'
df.fillna(-99999, inplace=True)

forecast_out = int(math.ceil(0.01 * len(df)))
print(forecast_out)

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

X = np.array(df.drop(['Label'] ,1)) 

y = np.array(df.drop(['Label'])
X = preprocessing.scale(X)

y2 = np.array(df['label'])

print(forecast_out)

这是错误消息:

  

runfile('D:/课程材料/数据科学/mlpractice.py',   wdir ='D:/课程材料/数据科学')追溯(最近调用   最后):

     

文件   “ G:\ Anaconda3 \ lib \ site-packages \ IPython \ core \ interactiveshell.py”,   第2963行,在run_code中       exec(code_obj,self.user_global_ns,self.user_ns)

     

文件“”,第1行,在       runfile('D:/课程材料/数据科学/mlpractice.py',wdir ='D:/课程材料/数据科学')

     

文件   “ G:\ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,   运行文件中的第786行       execfile(文件名,命名空间)

     

文件   “ G:\ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,   第110行,在execfile中       exec(compile(f.read(),文件名,'exec'),命名空间)

     

文件“ D:/课程材料/数据科学/mlpractice.py”,第36行       X = preprocessing.scale(X)       ^ SyntaxError:语法无效

在不弄清楚为什么会发生的情况下,无法取得进一步的进展。 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您需要在此行上加上一个右括号:

y = np.array(df.drop(['Label'])

通常在语法错误所在的位置出现在错误消息上的前一行。