

技術評論社のデータサイエンティスト養成読本 機械学習入門編を読んでいます  
128ページからscikit-learn入門のページが始まるのですが  
そちらにあるコードを試したところ、scikit-learnのImportErrorが起きてしまいます

何が悪いのかわかりませんが・・・どなたかご存知の方はいらっしゃらないでしょうか？

Mac OSX 10.9  
python 3.4.3

を使用しています。

sklearn.pyというファイルをpythonで実行してみた結果です

コード(sklearn.py)

[code]

    # coding:utf-8
    
    import numpy as np 
    import matplotlib.pyplot as plt 
    from sklearn import linear_model, datasets
    
    # 乱数によるデータを生成
    np.random.seed(0)
    regdata = datasets.make_regression(100, 1, noise=20.0)
    
    # 学習を行いモデルのパラメータを表示
    lin = linear_model.LinearRegression()
    lin.fit(regdata[0], regdata[1])
    print("coef and intercept :", lin.coef_, lin.intercept_)
    print("score :", lin.score(regdata[0], regdata[1]))
    
    # グラフを描画
    xr = [-2.5, 2.5]
    plt.plot(xr, lin.coef_ * xr + lin.intercept_)
    plt.scatter(regdata[0], regdata[1])
    
    plt.show()
    
[/code]

エラー

[code]

    Traceback (most recent call last):
    File "sklearn.py", line 6, in <module>
    from sklearn import datasets
    File "/Users/hoge/programming/training/python/sklearn.py", line 6, in <module>
    from sklearn import datasets
    ImportError: cannot import name 'datasets'
    
[/code]


CC BY-SA 3.0
2015-09-26T07:23:43.997
16947
2015-09-26T09:22:48.093
7675
question
python 機械学習 scikit-learn
pythonでscikit-learnを用いたらImportErrorが起きてしまいます


このスクリプトは自分自身を `import` しようとしています。  
`sklearn` という外部のライブラリから `import` する意図で、`from sklearn` と書かれていますが、自分のファイル名も
`sklearn.py` なために自分を読み込んでしまうのです。

ファイル名を変更しましょう。  
  
追記: モジュールがどこのファイルから import されているか確認するには、例えば以下のようにします。

[code]

    import sklearn
    print(sklearn.__file__)
    
[/code]


CC BY-SA 3.0
2015-09-26T07:51:27.117
16948
2015-09-26T09:22:48.093
2015-09-26T09:22:48.093
3054
3054
16947
answer