采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
不断重复运行图中代码,大多数值都是趋近0.8,但是无论n_iters参数设置多大,都有可能出现负数,只是出现概率的问题,请问遇到这种情况有没有好的解决方法呢?
你的数据是?
如果前面的操作没有问题,这种情况大概率的说明,你的数据本身根本不是线性的,不适合用线性回归。和算法的参数没关系了。
解决方案:
1 从特征工程入手。特征工程可以参考这里:https://coding.imooc.com/learn/questiondetail/40722.html
2 使用其他模型,尤其是非线性模型。
继续加油!:)
我用的是sklearn模块中的boston数据,处理方法和老师上课时一样 from sklearn import datasets boston = datasets.load_boston() X = boston.data y = boston.target X = X[y < 50.0] y = y[y < 50.0] # 分隔原始数据集,得到训练数据集和测试数据集 %run D:/pycharm/project/playML/model_selection.py X_train, X_test, y_train, y_test = train_test_split(X, y, seed=666) # 对训练数据进行归一化处理 from sklearn.preprocessing import StandardScaler standarscaler = StandardScaler() standarscaler.fit(X_train) X_train_standard = standarscaler.transform(X_train) X_test_standard = standarscaler.transform(X_test)
我运行了一遍课程的代码,没有你说的问题。请尝试在你的环境下运行课程的代码,看是否有同样的问题?如果没有问题,请仔细比对调试,看看自己的代码哪里有问题?本小节课程官方代码传送门:https://git.imooc.com/coding-169/coding-169/src/master/06-Gradient-Descent/07-SGD-in-scikit-learn 加油!:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14