美文网首页
sklearn学习2

sklearn学习2

作者: l_b_n | 来源:发表于2017-05-17 17:59 被阅读0次

    1.利用sklearn的数据

    (boston的房价)

    from sklearn import datasets
    from sklearn.linear_model import LinearRegression
    
    loaded_data = datasets.load_boston()
    #加载自带的数据
    data_X = loaded_data.data
    #为矩阵每一行为一个数据的不同属性值
    data_y = loaded_data.target
    #对应的不同的label表示的是每一行的label
    model = LinearRegression()
    #利用model 表示利用某种分析方法 (线性回归)
    model.fit(data_X,data_y)
    
    print(model.predict(data_X[:4,:]))
    #预测值利用前四行的属性值
    print(data_y[:4])
    #真实的值
    #[ 30.00821269  25.0298606   30.5702317   28.60814055]
    #[ 24.   21.6  34.7  33.4]
    
    

    2.创建训练数据

    make_regression
    n_samples:表示的是数量
    n_features:表示的是属性的个数
    n_targets:表示的是label的个数
    noise:越多则数据分散

    X,y = datasets.make_regression(n_samples = 100,n_features = 1,
              n_targets = 1,noise = 10)
    plt.scatter(X,y)
    #利用图来显示
    plt.show()
    

    3.model的各种属性

    print(model.coef_)
    #表示的是每一个属性前面的系数
    print(model.intercept_)
    #表示的是与y轴的交点
    print(model.get_params())
    #所取的model的里面有哪些参数可以更改
    print(model.score(data_X,data_y)
    #用data_X来预测的值的准确率百分制
    #R^2 coefficient of determination百度这个可以查出准确率
    

    4.数据的normalization(归一化)

    4.1 数据归一化的方法

    from sklearn import preprocessing
    a = np.array([[10,2.7,3.6],
                  [-100,5,-2],
                  [120,20,40]],dtype = np.float64)
    print(a)
    print(preprocessing.scale(a))
    

    4.2 数据的归一化的影响

    精度方面:
    得到结果可以发现为94%的正确率

    X,y = make_classification(n_samples = 300,n_features = 2,n_redundant = 0,
           n_informative = 2,random_state = 22,n_clusters_per_class = 1,scale = 100)
    X = preprocessing.scale(X)
    X_train,X_test,y_train,y_test = train_test_split(X,y,test_size =0.3)
    clf = SVC()
    clf.fit(X_train,y_train)
    print(clf.score(X_test,y_test))
    
    

    使用归一化也可以使得梯度下降的速度更快

    相关文章

      网友评论

          本文标题:sklearn学习2

          本文链接:https://www.haomeiwen.com/subject/vendxxtx.html