回答
Y = df[[‘欠陥数’]] の部分が二重カッコになっている事が原因です。Y = df[‘欠陥数’] としてあげてください。
補足ですが、Pythonビッグデータ内で出てきたように、説明変数Xは複数の変数が来る想定のため二重カッコ(実際にはdf[ ]にリストとして複数の列名を与えているため、結果として二重になっている)としますが、目的変数Yは1つしか取れないため初めから1列しか来ない構え(=一重カッコ)になっています。