解决MATLAB一直初始化,加速MATLAB

之前,在做课设时,遇到MATLAB启动较慢,进入主界面后,一直停留在“正在初始化”的状态。浪费很多时间。逛了逛MATLAB中文社区,发现这种问题大多是因为MATLAB软件在启动时寻找本机的许可证或者是设置了 LM_LICENSE_FILE 的环境变量。这个变量告诉 MATLAB 或者其他应用程序去哪里查找许可证文件。如果我们有一个网络许可证,但是当前又没有联网,那么 MATLAB 就会一直停留在这个状态。

解决方案(1):

        1)右击“我的电脑”,然后选择“属性”。

        2)选择“高级”标签,点击“环境变量”。

        3)在窗口下方的系统变量中,查找变量 LM_LICENSE_FILE。

        4)如果有 LM_LICENSE_FILE 变量存在,请看第5步。如果没有,请创建一个 LM_LICENSE_FILE 变量:点击“新建”,然后在变量名框中输入 LM_LICENSE_FILE。

        5)把 LM_LICENSE_FILE 的值设为 MATLAB 许可证文件的绝对路径。如果有多个许可证文件,在第一个路径后加上分号(;),然后在写第二个路径。点击“确认”保存。

        6)重新启动 MATLAB。

解决方案2:MATLAB 快捷方式中指定许可证文件或在启动 MATLAB 时从命令行中指定许可证文件。

        1)右击 MATLAB 的快捷方式并选择“属性”。

        2)在“目标”字段中,输入以下内容:

"$MATLAB\bin\win32\MATLAB.exe" -c "<包括文件名的 MATLAB 许可证文件的完整路径>“

        其中 $MATLAB 是 MATLAB 根目录,<MATLAB 许可证文件的路径> 是我们的许可证文件的绝对路径。比如我的是这样

"D:\Program Files\MATLAB\R2019A\bin\matlab.exe" -c "D:\Program Files\MATLAB\R2019A\licenses\license_standalone.lic"

        3)点击“确定”。

        4)从快捷方式启动 MATLAB。

当然,如果想要MATLAB启动加速,有能力的朋友可以加内存条,要是有固态且固态容量较大还可以将MATLAB安装在固态盘中。

 

Traceback (most recent call last): File "F:\xuexixiaozuxunlian\yuanweihua.py", line 36, in <module> knn.fit(X_train, y_train) File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\base.py", line 1389, in wrapper return fit_method(estimator, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\neighbors\_classification.py", line 239, in fit return self._fit(X, y) ^^^^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\neighbors\_base.py", line 478, in _fit X, y = validate_data( ^^^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\utils\validation.py", line 2961, in validate_data X, y = check_X_y(X, y, **check_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\utils\validation.py", line 1370, in check_X_y X = check_array( ^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\utils\validation.py", line 1055, in check_array array = _asarray_with_order(array, order=order, dtype=dtype, xp=xp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\sklearn\utils\_array_api.py", line 839, in _asarray_with_order array = numpy.asarray(array, order=order, dtype=dtype) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\刘书忻\.conda\envs\xuexixiaozuxunlian\Lib\site-packages\pandas\core\generic.py", line 2153, in __array__ arr = np.asarray(values, dtype=dtype) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: could not convert string to float: 'setosa' 给出这些报错提示是为什么
03-12
根据您提供的错误信息,问题出在将数据传递给 `KNeighborsClassifier` 进行训练时,出现了字符串和浮点数之间的转换错误。具体来说,`'setosa'` 是一个字符串,而 KNN 分类器期望的是数值类型的输入。 从知识库的内容来看,在 Day 1 中,数据加载部分有如下代码: ```python df['target'] = iris.target # 添加类别标签(0:setosa, 1:versicolor, 2:virginica) ``` 这里正确地使用了 `iris.target`,它是一个整数数组(0, 1, 2 表示不同的类别)。但在后续的数据处理或保存过程中,可能存在某些地方误将类别名称(如 `'setosa'`)直接写入到了目标列中。 要解决这个问题,请检查您的数据处理过程,确保 `X_train` 和 `y_train` 都是正确的格式。以下是几个建议: 1. **确认数据分割前的目标变量是整数**: 在进行 `train_test_split` 前,再次确认 `y` 是整数形式: ```python y = df['target'].astype(int) # 强制转换为整型 ``` 2. **重新生成训练集和测试集**: 如果怀疑数据已经被污染,可以从头开始创建训练集和测试集: ```python X = df.drop('target', axis=1).values # 转换为numpy数组 y = df['target'].values # 同样转换为numpy数组 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` 3. **调试输出**: 在调用 `knn.fit()` 之前打印出 `X_train` 和 `y_train` 的部分内容,确认它们确实是数值而不是字符串: ```python print(type(X_train)) # 应该是numpy.ndarray 或 pandas.DataFrame print(X_train[:5]) # 查看前五行 print(y_train[:5]) # 查看前五个标签 ``` 4. **检查数据保存与读取环节**: 如果中途曾经保存过中间结果(例如 CSV 文件),那么需要保证读取回来的数据格式正确无误。特别是要注意不要把类别标签保存成文本格式再读取进来。 按照以上步骤排查后应该能够解决问题。如果还有其他疑问或者问题依旧存在,请提供更多上下文信息以便进一步诊断。
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值